1、TIPTOP GP登入及執行作業登入及執行作業TIPTOP GP系統架構系統架構系統模組架構及命名原則系統模組架構及命名原則作業、函式、變數命名原則作業、函式、變數命名原則客製模組架構及命名原則客製模組架構及命名原則標準模組架構及命名原則標準模組架構及命名原則客製標準模組原則客製標準模組原則表格欄位命名原則表格欄位命名原則基本環境變數、基本執行基本環境變數、基本執行SHELL程式編寫流程程式編寫流程權限設定流程權限設定流程TIPTOP GP 登入及執行作業登入及執行作業TIPTOP GP 有程式執行方式程式執行方式TELNET或 SSH 模式 建議使用 VTCP 連線工具 需自行安裝 GDC
2、連線時藉由設定VTCP可自動帶出GDCWeb模式 附掛於 apache web server 使用者端不需先行安裝 GDC 啟動時會自動安裝 Active X 版GDC 連線前不需開啟 local 端 GDC ActiveX 會自動安裝或會自動安裝或啟動所需的啟動所需的 GDCActiveX 元件元件ActiveX連線連線TIPTOP GP 系統帳號建立帳號建立對策帳號建立對策TELNET或 SSH 模式 需在 TIPTOP p_zx 中建立使用者帳號 需在 UNIX 主機上建立對應帳號 需檢視是否已賦予 profileWeb模式 只需在 TIPTOP p_zx 中建立使用者帳號r.r2 程式
3、代碼【Ex:r.r2 axmt410】exe2 程式代碼【Ex:exe2 axmt410】執行程式的方法執行程式的方法執行程式的方法執行程式的方法執行程式的方法執行程式的方法TIPTOP GP 系統架構系統架構正式區及測試區的畫分正式區及測試區的畫分安裝目錄安裝目錄正式區正式區topprod測試區測試區toptest客製目錄客製目錄topcust標準目錄標準目錄tiptop客製目錄客製目錄topcust標準目錄標準目錄tiptop系統架構圖系統架構圖工作目錄工作目錄demodocsetupbinds4gl2tmplogp_cron系統系統(共用共用)模組模組4gl42m4fd42fpersdd
4、標準模組標準模組4gl42msdd4fd42rsch42fperrepCONFIG4ad4tm4st4tb4smtop.globalTIPTOP標準模組架構及命名原則標準模組架構及命名原則標準模組架構圖標準模組架構圖指 aim,apy,aoo 等 ERP 標準模組系統目錄($TOP)下以模組別作為目錄區分模組下以副檔名(型態)不同作目錄之區分大陸地區因法令制度與台灣區不同,故區分不同模組存放作業(agl,ggl)標準模組標準模組4gl42msdd4fd42rsch42fperrepTIPTOP 模組代碼須為三三四碼英文四碼英文組成 a為系統基本模組 Example:agl、apy、axr、az
5、z g為大陸版修改模組 Example:ggl、gpy、gxrlib、sub、qry三組系統函式除外建立模組:模組代號維護作業(p_zmd)Package目錄模組名稱定義目錄模組名稱定義標準模組下的目錄標準模組下的目錄 程式程式4gl :程式原碼置放目錄42m:程式原碼經編譯後 的結果置放處各程式單獨存在,未經連結前的程序不一定可獨立執行。42r :編譯連結完成後的 執行檔置放處 連結採動態聯結,此目 錄下僅存連結資料,於 執行時會往 42m 目錄讀 取實際程式。標準模組標準模組4gl42msdd4fd42rsch42fperrepTIPTOP標準模組下的目錄標準模組下的目錄 畫面畫面4fd:
6、Genero Studio 產生的畫面檔原碼42f:編譯完成的畫面檔 資料per:由4fd檔匯出的 文字型態畫面檔sdd:畫面規格說明檔 標準模組標準模組4gl42msdd4fd42rsch42fperrepTIPTOP標準模組下的目錄標準模組下的目錄 其他其他sch:由資料庫匯出的 資料結構檔rep:存放報表範例格式 標準模組標準模組4gl42msdd4fd42rsch42fperrepTIPTOP作業、函式、變數命名原則作業、函式、變數命名原則 作業名稱須為模組名稱模組名稱+一碼程式類別一碼程式類別+三碼流水號三碼流水號程式類別 以下為常用 I:建檔:建檔(維護作業維護作業)T:處理:處理
7、(交易處理交易處理)P:批次處理:批次處理Q:查詢作業:查詢作業 S:參數設定:參數設定 R:報表作業:報表作業 以下很少用 M:選單:選單(目錄選單目錄選單)O:其他:其他(輔助工具輔助工具)U:更新:更新流水號(概略區分概略區分,同一模組下不可有同一流水號即可)000-400 系統參數、採購系統參數、採購 401-700 生產作業生產作業 701-999 銷退及後端處理,系統參數銷退及後端處理,系統參數作業名稱定義作業名稱定義作業名稱為 aimi100 aim模組名 i類作業:建檔(維護作業)流水號:100作業名稱為 aimi1001或 aimi100_a 應為 aimi100 的子作業作
8、業名稱為 saimi100 應為 aimi100 的副程式作業名稱範例作業名稱範例函式名稱須為程式名稱程式名稱(扣除模組名扣除模組名)+此函式功用此函式功用 作業中通常有下列函式l _a()資料新增處理l _i()資料輸入處理l _b()單身資料處理(含輸入)l _cs()或 _curs()處理畫面上 QBE資料條件l _fetch()單身或單頭的資料抓取l _copy()複製功能處理l _out()報表列印功能處理l _show()單檔或單頭資料呈現於畫面l _menu()功能選單l _set_entry()及 _set_no_entry()處理欄位可否輸入變換函式函式(function)名
9、稱定義名稱定義函式名稱為 i100_out()i100作業名稱(去除模組代碼)_out功能名稱同一主作業下不可使用相同的函式名稱函式名稱範例函式名稱範例全域變數(Global Variable)或模組變數(Module Variable)以以 g_ 開頭命名開頭命名,後方跟上功能用途 區域變數(Local Variable)以以 l_ 開頭命名開頭命名,後方跟上功能用途傳遞用的變數(Passive Variable)以以 p_ 開頭命名開頭命名,後方跟上功能用途以上用於以上用於 4gl,以下定義於以下定義於 per螢幕陣列變數(Screen Array Variable)以以 s_ 開頭命名開
10、頭命名,後方跟上主要 table名稱變數名稱定義變數名稱定義客製模組架構及命名原則客製模組架構及命名原則模組代碼須為三至四碼英文三至四碼英文組成a為系統基本模組 Example:agl、apy、axr、azz g為大陸版修改模組 Example:ggl、gpy、gxrc為客製模組 Example:cgl、cggl、cpy、cgpy、clib客製目錄模組名稱定義客製目錄模組名稱定義客製作業命名原則客製作業命名原則有需要進行客製化程式碼調整程式碼調整,請勿在package目錄下進行,請將要客製的作業複製到客製目錄對應模組下再修改客製原來就有的作業:保持原來的作業名稱保持原來的作業名稱新增加入的客製
11、作業:請遵循命名原則請遵循命名原則例:aimi100 需要客製需要客製 將此作業由將此作業由$AIM 下複製到下複製到$CIM 下下新增一支新增一支 aim 作業作業 檢查確認原來系統沒有此作業後,在檢查確認原來系統沒有此作業後,在$CIM 下新增,依規定命名,如下新增,依規定命名,如 cimt345當當 4gl 需客製時,對應的需客製時,對應的 per 也需要複製到客製目錄也需要複製到客製目錄客製函式及變數命名原則客製函式及變數命名原則依照 package 原則即可系統模組架構及命名原則系統模組架構及命名原則系統模組架構圖系統模組架構圖僅指 lib,sub,qry 等系統模組lib :標準公
12、用函式如 :cl_xxxsub:標準公用副函式 如 :s_xxxqry:標準查詢函式如 :q_xxx打包為打包為 42x 檔,放入檔,放入42m中中系統系統(共用共用)模組模組4gl42m4fd42fpersddTIPTOP42r由於系統模組是以函式為主體,故4gl名稱不重要,可擇一具代表性的函式名稱作為 4gl 名稱即可lib 函式名稱須為 cl_+此函式功用此函式功用 sub 函式名稱須為 s_ +此函式功用此函式功用qry 函式名稱須為 q_ +此函式查詢的主要此函式查詢的主要 table 名稱名稱函式名稱必需清楚易辨,可用_ 連結字串 qry 目錄下置放查詢副程式(目錄下置放查詢副程式
13、(hard-code)系統模組函式名稱定義系統模組函式名稱定義lib 函式名稱如:cl_create_qry()動態建立 QUERY 函式 cl_user()抓取 user 資料至全域變數內sub 函式名稱如:s_auto_assign_no()自動編號副程式 s_chkinvoice()檢查發票資料用副程式qry 函式名稱如:q_ala()為查詢 ala_file 資料用副程式 q_pms()為查詢 pms_file 資料用副程式qry 若遇到有一個 table 需要數支目的不同的查詢副程式,可在後方加上流水號以資識別可在後方加上流水號以資識別如:q_apa、q_apa2、q_apa3、q_
14、apa4等,都是以查詢 apa_file 的資料為主的查詢用副程式系統模組函式名稱範例系統模組函式名稱範例客製系統模組架構及命名原則客製系統模組架構及命名原則客製全新共用函式命名原則客製全新共用函式命名原則必須在客製目錄(clib、csub、cqry)下新建共用函式新函式程式名稱及內含的函式名稱,不可與標準系統模組名稱相同 如:$CLIB下,函式名稱為 ccl_+函式功用函式功用$CSUB下,函式名稱為 cs_+函式功用函式功用$CQRY下,函式名稱為 cq_+函式功用函式功用透過程式鏈結記錄維護作業(p_link)登錄新函式客製原有共用函式命名原則客製原有共用函式命名原則將原有函式複製到客製
15、目錄(clib、csub、cqry)下修改函式程式名稱及內含的函式名稱,不需修改,維持原名 透過程式鏈結記錄維護作業(p_link),修改原來登錄的資料,將模組代碼替換成CLIB、CSUB或CQRY修改過的共用模組必須重新製作42x;有用到的程式也要重新link表格欄位命名原則表格欄位命名原則表格檔案命名原則表格檔案命名原則表格檔案(table)名稱須為二碼到四碼英文流水號二碼到四碼英文流水號(一般為三碼)(一般為三碼)(可含數字)(可含數字)+_file(固定用法)(固定用法)例如:ima_file 記錄料件資料用gay_file 記錄系統可用語言別資料zz_file 記錄每支作業基本資料用
16、r140_file 報表用暫存記錄檔取用時應由該模組特定區段優先選用如如 im*_file 區段屬區段屬 aim 模組模組表格檔案可利用檔案架構記錄修整維護作業檔案架構記錄修整維護作業(p_zta)進行開啟或毀棄工作欄位命名原則欄位命名原則欄位(field)名稱須為表格名稱表格名稱(去除(去除 _file)+兩碼到三碼流水號兩碼到三碼流水號 例如:ima01 記錄料件代碼用 ima02 記錄料件名稱gay01 記錄語言別代碼 gay02 記錄語言別名稱若有特定用途欄位,則定義尾端用字以資統一若有特定用途欄位,則定義尾端用字以資統一acti 資料有效碼 post 資料過帳否 mksg 資料簽核否
17、conf 資料結案否 prsw 資料列印次數 prnt 立即列印否slip 單別 desc 單據名稱 type 單據性質myno已用單號 sign 簽核等級 conf 自動確認否 user 資料建立人 modu 資料修改人 grup 建立/修改人部門date 資料維護日索引命名原則索引命名原則索引(index)名稱須為表格名稱表格名稱(去除(去除 _file)+_+兩碼流水號兩碼流水號 例如:ima_01gay_01欄位、索引也可利用檔案架構記錄修整維護作業檔案架構記錄修整維護作業(p_zta)進行開啟或毀棄工作檔案命名原則檔案命名原則客製表格欄位命名原則客製表格欄位命名原則客製全新表格檔案命
18、名原則客製全新表格檔案命名原則客製一個不存在的表格檔案(table)名稱,須為tc_(固定用法)(固定用法)+三碼英文三碼英文(可含數字)(可含數字)流水號流水號+_file(固定用法)(固定用法)例如(範例):tc_ima_file 輔助 ima_file 用tc_gae_file 輔助 gae_file 用取用時應由該模組特定區段優先選用如如 im*_file 區段屬區段屬 aim 模組,模組,客製客製 aim 模組時,可先以模組時,可先以 tc_ima_file 編起編起客製新表格的欄位命名原則客製新表格的欄位命名原則欄位(field)名稱須為表格名稱表格名稱(去除(去除 _file)+
19、三碼流水號三碼流水號 例如:tc_ima001 或 tc_ima020 tc_gay010 或 tc_gay002 若有特定用途欄位,比照若有特定用途欄位,比照 package 使用標準尾端用字使用標準尾端用字在原有的表格加客製欄位命名原則在原有的表格加客製欄位命名原則欄位(field)名稱須為 ta_+表格名稱表格名稱(去除(去除 _file)+三碼流水號三碼流水號 例如:ta_ima001 或 ta_ima020 ta_gay010 或 ta_gay002 若有特定用途欄位,比照若有特定用途欄位,比照 package 使用標準尾端用字使用標準尾端用字欄位須循序新增欄位須循序新增,不得有插在
20、原欄位中間的情形發生。,不得有插在原欄位中間的情形發生。客製索引命名原則客製索引命名原則欄位(field)名稱須為 tic_+表格名稱表格名稱(去除(去除 _file)+三碼流水號三碼流水號 例如:tic_ima_001 或 tic_ima_002 tic_gay_001 或 tic_gay_002 不管是修改已存在不管是修改已存在 table 的索引或是新的索引或是新 table 的索引的索引,只要是,只要是客製修正客製修正/新增的索引,一律使用此規則新增的索引,一律使用此規則其他重要客製欄位規則其他重要客製欄位規則不允許修改現有不允許修改現有 table 的的 data type(儲存資料
21、型態儲存資料型態)欄寬儘可能不要更動,若有也只能放大欄寬,不得縮減欄寬欄寬儘可能不要更動,若有也只能放大欄寬,不得縮減欄寬不允許更改欄位用途不允許更改欄位用途不允許使用目前標示為不允許使用目前標示為 No Use(或(或 Not in use)的欄位。)的欄位。包含行業別欄位。包含行業別欄位。CONFIG目錄目錄 ($TOPCONFIG)4ad與與4tm4ad:Action Default 代碼對應的 顯示資料,含語言、顯示 圖片4ad/語言別語言別/系統系統/程式代碼程式代碼.4ad4tm:Top Menu的內容檔案,各程式可令部份Action由 Ring Menu處移到 TopMenu4t
22、m/系統系統/程式代碼程式代碼.4tm以上此二項均由 程式Action相關資料維護作業(p_base_act)作業設定,並參考程式資料建立作業(p_zz)模組別定義,決定存放或抓取路徑。CONFIG4ad4tm4st4tb4smtop.globalTIPTOP4ad與與4tm 設定設定4st與與4tb4st:Style Prsentation 顯示 樣示表存放,所有樣示 表存於tiptop.4st 檔內4st/tiptop.4st4tb:Tool Bar 的內容檔案,依程式屬性分類 (i、t、r類)4tb/toolbar_分類碼分類碼.4tb以上此二項均由 程式資料建立作業(p_zz)作業,設
23、定各支作業使用的資料。CONFIG4ad4tm4st4tb4smtop.globalTIPTOP4st與與4tb 設定設定4sm4sm:使用者自定目錄樹狀選 單(Start Menu)4sm/語言語言/menu_id.4sm此項由 系統目錄資料建立作業(p_zm)作業設定CONFIG4ad4tm4st4tb4smtop.globalTIPTOP4sm 設定設定top.global將分散於各程式或各模組下的系統參數合併為一個檔案,易於修改、管理定義在top.global的變數,可在連結到的4gl內共用。$CUST/config 下不可有此檔下不可有此檔若有需要,則在若有需要,則在$CUST/co
24、nfig下新增一命名下新增一命名為為cust.global 的全域變數檔,的全域變數檔,但變數名稱不可與但變數名稱不可與 top.global重複重複CONFIG4ad4tm4st4tb4smtop.globalTIPTOP$TOP 下其他工作目錄下其他工作目錄demo、doc、ds4gl2demo:置放參考用標準程式的目錄。本手冊中提到的各範例程式均可於此處找到。doc:放置圖片、說明文件、流程文件ds4gl2/bin:置放程式執行時所必需的執行程序稿。log:程式錯誤訊息紀錄檔。是否記錄在程式資料建立作業(p_zz)作業中設定,並搭配程式中,呼叫記錄的共用函式。工作目錄工作目錄demodo
25、csetupbinds4gl2tmplogp_cronTIPTOPlog 檔檔系統架構圖系統架構圖p_cron:置放個人需定 時 執行用的相關檔案此目錄內所有資料不可任意移除,若移除會影響使用者背景執行的作業使用者可透過使用者自訂 Background Job 作業(p_cron)設定以使用者帳號執行的背景作業工作目錄工作目錄demodocsetupbinds4gl2tmplogp_cronTIPTOPp_cron系統架構圖系統架構圖setup:存放系統安裝時,TIPTOP建議的系統 參數設定檔 或使用者 profile 檔tmp:存放資料庫備份檔及 其他暫存資料。工作目錄工作目錄demodo
26、csetupbinds4gl2tmplogp_cronTIPTOP基本環境變數基本環境變數$TOP指向安裝 TIPTOP的路徑$TOPCONFIG指向TIPTOP下的config$CUST指向客製模組的路徑$XXX/$XXXi分別為指向系統模組/系統模組下的42r每個模組都有各自對應的環境變數$TEMPDIR指向報表產出的存放路徑$FGLASIP記錄Web開啟時的前置路徑字串$DBDATE記錄日期格式顯示的樣式$ORALE_SID存放ORACLE instance名稱$INFORMIXSERVER存放INFORMIX online名稱基本環境變數基本環境變數topstatus基本執行基本執行
27、SHELLr.c2/r.cs編譯程式 r.l2/r.gx打包可執行檔或共用程式檔(42r、42x)r.f2編譯畫面r.gf檢視 per,並將畫面資料更新到 p_perlang,p_per exe2 執行作業(任意路徑下)r.r2執行作業(該模組/4gl 下)r.r2d執行作業後,若SQL錯誤則會留下 log檔r.d2/r.d2+Debug工具(文字/GUI圖形介面)r.s2產生檔案 SCHEMA 的工具rebuild系統新編譯基本執行基本執行 Shellrebuild1.1.要編譯的路徑要編譯的路徑2.2.要執行的動作要執行的動作 (參考上方參考上方)3.3.要編的模組要編的模組 (all(a
28、ll 表示全模組表示全模組)4.4.是否開始執行是否開始執行 (1 (1 開始開始,0,0 離開離開 )程式編寫流程程式編寫流程1.per 編寫流程編寫流程4gl 編寫流程編寫流程per 編寫流程編寫流程 per 編寫流程編寫流程撰寫畫面檔撰寫畫面檔編譯編譯 r.f2預覽預覽 r.gf修改顯示值修改顯示值exe2 p_perlang修改元件設定修改元件設定exe2 p_per完成完成 per 編寫流程編寫流程撰寫畫面檔撰寫畫面檔編譯編譯 r.f2預覽預覽 r.gf修改欄位的說明修改欄位的說明exe2 p_perlang修改元件設定修改元件設定exe2 p_per完成完成 per 編寫流程編寫流
29、程撰寫畫面檔撰寫畫面檔編譯編譯 r.f2預覽預覽 r.gf修改欄位的說明修改欄位的說明exe2 p_perlang修改元件設定修改元件設定exe2 p_per完成完成 per 編寫流程編寫流程撰寫畫面檔撰寫畫面檔編譯編譯 r.f2預覽預覽 r.gf修改欄位的說明修改欄位的說明exe2 p_perlang修改元件設定修改元件設定exe2 p_per完成完成per 編寫流程編寫流程撰寫畫面檔撰寫畫面檔編譯編譯 r.f2預覽預覽 r.gf修改欄位的說明修改欄位的說明exe2 p_perlang修改元件設定修改元件設定exe2 p_per完成完成4gl 編寫流程編寫流程4gl 編寫流程編寫流程撰寫程式
30、碼撰寫程式碼建立建立 link 資料資料(維護連結檔資料維護連結檔資料)編譯編譯 r.c2 連結成功後連結成功後 增加增加ActionAction(維護維護Action資料資料)增加權限增加權限建立建立p_zz基本基本資料資料 完成可執行完成可執行4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執行4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護
31、維護Action資料資料增加權限增加權限完成可執行完成可執行空的空的$FGLRUN$CZZi/czzi0104gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執行4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執行4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_z
32、z 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執行此時才會填入本作業所有的權限項目此時才會填入本作業所有的權限項目4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執行4gl 編寫流程編寫流程撰寫程式碼撰寫程式碼編譯編譯 r.c2 建立建立 p_zz 資料資料維護連結檔資料維護連結檔資料連結成功後連結成功後 維護維護Action資料資料增加權限增加權限完成可執行完成可執
33、行將新作業掛上將新作業掛上 Menu將新作業掛上將新作業掛上 Menu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統將新作業掛上將新作業掛上 Menu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統將新作業掛上將新作業掛上 Menu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統將新作業掛上將新作業掛上 Me
34、nu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統將新作業掛上將新作業掛上 Menu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統將新作業掛上將新作業掛上 Menu選定要掛的位置選定要掛的位置建立建立 p_zz 資料資料執行執行 p_zm重新產生重新產生 menu指定使用者指定使用者重新登入系統重新登入系統權限設定流程權限設定流程系統管理模組系統管理模組 AZZ 系統入口:udm7 GP程式管理入口:p_zz 簡易資料庫管理入口:p_zta 使用人員及權限管理:p_zw、p_zx、p_zy、p_zxw、p_zxy等詳細的權限設定說明,請參照詳細的權限設定說明,請參照TIPTOPTIPTOP整體系統管理整體系統管理 課程之課程之、程式權限設定、程式權限設定練習時間練習時間 Thanks for Your Join.鼎新電腦鼎新電腦產品處產品處