2012年6月14日 星期四

TIPTOP程式開發--CR樣版語言別異常

TIPTOP ERP在開發CR報表的過程中,除了需要在Crystal Report把樣版設計好之外,也需要在CR報表格式設定作業(p_zaw)裡把樣版的資料設定進去,但有時仍會發現,為什麼明明有設樣版,系統卻一樣跑出錯誤訊息呢?

下面是範例的一種:
執行程式時發現:
但查過p_zaw的設定的確有設定繁體的語言別:

查詢之後發現,問題出在4GL程式裡,在cl_prt_cs3的function裡有玄機,這段程式碼在傳遞第二個參數時給定的是axmr360,但實際上在p_zaw裡設定的是cxmr004,所以當然會造成找不到語言別的問題。
cl_prt_cs3總共有四個參數:

1. 程式代號:對應的是p_zaw的程式代號欄位(zaw01)
2. 樣版代號:對應的是p_zaw的樣板代號欄位(zaw02)
3. 程式產出的報表temp table的資料:如下圖,
    系統會依這串SQL指令到CR的temp DB去取資料傳遞到CR主機中。

4. 傳遞到CR報表的參數
這邊的參數順序就是對應到CR樣板裡的參數欄位,如下圖:
所以你在CR樣板裡看到有p1~p20的參數欄位,就是TIPTOP已經設定好的參數接收欄位。同樣的意思,在CR裡只設了20個參數,所以在4GL裡不能傳遞超過20個參數,否則,從第21個開始,CR是接收不到的。



2 則留言:

土豆的家 提到...

請問4gl可以直接點一個列印按鈕就直接由印表機印出,不要再跑出cr報表的列印屬性頁嗎?

Sean Shih 提到...

回樓上, 可以用p_zv