1、TIPTOP TIPTOP T100T100程式程式设计单档设计单档 姓名:王鴻傑姓名:王鴻傑 部門:技術中心部門:技術中心 T平台部平台部 職稱:副理職稱:副理 自我介紹:自我介紹:T100架構組架構組PMTIPTOP GP產品中心產品中心SDTIPTOP 6.5程式設計師程式設計師 T100開發環境介紹及簡易系統管理 T100程式樣板介紹 各類型項目及規格需求 Master(單檔) Pattern內容 單檔畫面Pattern需求介紹 單檔程式流程 單檔逐項功能流程介紹 課程大綱第一天 Master-Detail(雙檔) Pattern內容 雙檔畫面Pattern需求介紹 雙檔程式流程 雙檔
2、逐項功能流程介紹 各類型差異比對 單雙檔之外的程式類型差異 除錯器操作與功能 課程大綱第二天 註冊程式編號azzi900/azzi901進入設計器開發T100 Designer設定表格呼叫 r.t設定畫面及規格Spec designer程式開發及調整Code designer設定開窗或校驗功能呼叫 r.q / r.v畫面說明更新azzi902功能說明更新azzi903註冊為作業azzi910權限給予azzi850掛載MENUazzi880額外作業畫面調整azzi910設定完成本章說明單檔維護標準程式。所謂單檔:是指使用單一檔案來記錄某一主檔資料,或是參考值資料等之檔案。學習完本章後,你將可以了
3、解以下部分: 控制流程及各個函數間之關係。 如何使用共用 lib 函式及相關應用時機。 與程式內容相關的維護程式說明。單檔主表(Head 1)單檔副表(Head 2)單檔副表(Head 3)1對11對1單檔樣板pattern只能支援單一的主表,另外可支援多個副表,但是主表與副表間的關聯必須是1對1的連結# Descriptions.: 人員通訊聯絡下拉選單# Memo.: # Usage.: CALL cl_user_contact(ps_prog,ps_table,ps_idcode,ps_key,ps_value)# Input parameter: ps_prog 串查作業編號# .:
4、ps_table 人員基本檔# .: ps_idcode 基本檔內的聯絡對象識別碼欄位# .: ps_key 基本檔key(複合key用逗號分隔)# .: ps_value 人員編碼/聯絡對象識別碼(前三個未傳時)# Return code.: NoneMAINinit()ui_dialog()browser_fill()fetch()insert()modify()reproduce()query()delete()input()本段應瞭解重點本段應瞭解重點GLOBALS “././cfg/top_global.inc”若非所有T100程式均會用到的全域變數,則應該於每支程式中自行指定。 使
5、用azzi908開發的 inc 檔,務必記得過單。本段應瞭解重點本段應瞭解重點 外部引數使用 g_argv 取得 WHENEVER ERROR CALL cl_err_msg_log lock cursor寫法本段應瞭解重點本段應瞭解重點主選單沒有查詢方案時利用 MENU-ON ACTION 結構有查詢方案時利用 DIALOG-DISPLAY ARRAY-ON ACTION 結構權限判斷,利用call cl_auth_act_chk()各Action內容MAINinit()ui_dialog()browser_fill()fetch()insert()modify()reproduce()qu
6、ery()delete()input()本段應瞭解重點本段應瞭解重點做查詢開始前的準備變數初始化用CLEAR FORM清除畫面資料預設上下筆Button狀態分配工作給後續其他函式資料總筆數:g_row_count;指標:g_curs_indexquery()construct()browser_fill()fetch()本段應瞭解重點本段應瞭解重點CONSTRUCT 查詢資料開窗查詢程式g_qryparam變數說明Count使用g_row_count變數本段應瞭解重點分別傳入N、P、F、L、/,以供下筆、上筆、第一筆、末一筆、跳筆功能使用在跳筆功能的地方,以變數區隔是否要開視窗給使用者輸入筆數
7、Fetch無誤後,以目前所在筆數及總筆數控制上下筆button是否顯現本段應瞭解重點本段應瞭解重點_show()顯示資料MAINinit()ui_dialog()browser_fill()fetch()insert()modify()reproduce()query()delete()input()insert()input()本段應瞭解重點新增前將資料清空;設定預設值本段應瞭解重點本段應瞭解重點欄位控制的function要加在BEFORE INPUT內,及條件欄位的BEFORE FIELD跟AFTER FIELD欄位控制寫法及邏輯各AFTER FIELD:欄位非空白才檢查欄位正確性本段應瞭
8、解重點本段應瞭解重點CONTROLO:回復舊值CONTROLP:開窗查詢CONTROLZ:必要輸入欄位CONTROLF:開啟欄位說明ON IDLE:其他地方(construct段、input段、display段、prompt段)CONTROLG:執行外部指令本段應瞭解重點本段應瞭解重點_set_entry( ) 使用 cl_set_comp_entry(.,TRUE) 將欄位開啟_set_no_entry( ) 使用 cl_set_comp_entry(.,FALSE)將欄位關閉程式內容寫法某欄位值外部參數條件 被影響欄位INPUT【B】 某欄位值【A】BEFORE INPUT_set_ent
9、ry()_set_no_entry()設定B欄位ENTRY及NOENTRYBEFORE FIELD A_set_entry()設定B欄位ENTRYAFTER FIELD A_set_no_entry()設定B欄位NOENTRYMAINinit()ui_dialog()browser_fill()fetch()insert()modify()reproduce()query()delete()input()本段應瞭解重點確認資料是否可進行修改修改功能與新增功能共用_i()modify()show()input()MAINinit()ui_dialog()browser_fill()fetch()
10、insert()modify()reproduce()query()delete()input()本段應瞭解重點確認資料是否可刪除刪除完畢後將資料指標重新定位,畫面呈現下一筆資料delete()show()delh()MAINinit()ui_dialog()browser_fill()fetch()insert()modify()reproduce()query()delete()input()本段應瞭解重點確認資料是否可被複製若此程式有key的欄位控制,要在INPUT前將key欄位設為可輸入MAINinit()ui_dialog()browser_fill()fetch()insert()
11、modify()reproduce()query()delete()input()#主程式部分# i01: O 含查詢計畫的單檔# i10: O 單檔 # i02: O 單檔多欄# i04: O 樹狀雙檔 (主從表)# i05: O 樹狀單檔# i07: O 含查詢計畫的假雙檔# i08: O 樹狀單檔+單身# i09: O 雙檔 (單身凍結)# i12: O 不含查詢計畫的假雙檔# i13: O 六階樹狀# t01: O 含查詢計畫的雙檔# t02: O 單檔多欄 分單頭單身# q01: O 列表查詢與瀏覽# q02: O QBE查詢與列表瀏覽# q03: O 列表查詢與樹狀瀏覽# q04: O 列表查詢與單頭單身瀏覽鼎捷集團鼎捷集團研發處研發處技術中心技術中心