TIPTOP ERP - Write a CR report - 簡略說明

Jimmy的筆隨記憶 - <跳躍式>

4gl程式要傳資料到CR報表上,在4gl裡必要寫入的位置提醒


A.)在第一段 MAIN 中要先設好要傳到 CR 裡的資料欄位,數量一定要相同,這裡要傳去的資料欄位名稱,可與在 CR上的不同,如圖一的(1)所畫,要插入的 Values 以 "?" 做接收 4gl 要傳的資料,位置就寫在如圖一的(2)所畫的位置。


B.)上圖(2)的下一行 PREPARE insert_prep FROM g_sql 是要傳出的資料用的,傳資料至CR用的指令是EXECUTE,以下範例:
        EXECUTE insert_prep USING sr.*
      此段通常會放在 Foreach 段中,輸出每一行資料到CR去。
      如果有 SUB 段資料要傳過去,如法炮製,但不同的是 PREPARE  insert_prep1 FROM  g_sql
      但 g_sql為什麼可以不換呢? 換名稱最好,如與前段相同,則會抓取此段PREPARE的上一個g_sql來用,這也是常把PREPARE放在g_sql的下方來使用。
      有些設計者會將之放在同一段,這時的g_sql可就不可以都相同了,得要各個都不同名稱,如:g_sql1, g_sql2, g_sql3, ... 當然這名稱在 Define中要先定義好大小,這裡才可以用。
       在EXECUTE的最後 sr.*  這個數量要與上圖 (2) 的 "?" 數量要相同,要與 g_sql 的數量相同,否則會有錯誤發生,有時候不會出現錯誤,但無法正常執行。