起因 :  2012/05 發現 2012/03 傳票金額有小數點,因傳票與分錄底稿均有錯誤,故需要分二個部份來處理 :
1. 分錄底稿部份

Genero 發表在 痞客邦 留言(0) 人氣()

   # 要找到HAC7單別最近一次入庫日期和數量 
     # SELECT MAX(tlf026) INTO l_1no FROM tlf_file 
     #     
WHERE tlf01 = sr.imn03 AND tlf902= 'HS24' AND tlf904 = sr.imn17 
     #           AND tlf026 LIKE 'HAC7%'
     # 上面的寫法只會找到最大的號碼,並不是最近一次的入庫
     # 用 FETCH FIRST 來找,CURSOR 需要先 OPEN ,並且需要設為 SCROLL CURSOR
     # 先找出那張入庫單 
       DECLARE r512_x_cur SCROLL CURSOR FOR
       SELECT tlf026  FROM tlf_file
          
WHERE tlf01 = sr.imn03 AND tlf902= 'HS24' AND tlf904 = sr.imn17
                 AND tlf026 LIKE 'HAC7%'  ORDER BY tlf06 DESC
      
       OPEN r512_x_cur
       FETCH FIRST r512_x_cur INTO l_1no             
      
       IF NOT cl_null(l_1no) THEN
          SELECT tlf06, tlf10  INTO l_1d, l_1q  FROM tlf_file WHERE tlf026 = l_1no
       END 
       # tlf026為單據編號 

       # tlf06  為入庫日期
       # tlf10  為入庫數量

Genero 發表在 痞客邦 留言(0) 人氣()

INPUT g_file,g_disk,g_check,g_date,g_vender,g_meno,g_currency
          WITHOUT DEFAULTS FROM FORMONLY.n1,FORMONLY.b,FORMONLY.c,FORMONLY.d1,FORMONLY.v1,FORMONLY.m1,FORMONLY.c1

 AFTER FIELD v1       
             SELECT pmc22 INTO l_pmc22 FROM pmc_file WHERE pmcacti = 'Y' and pmc05 = '1' and pmc01 = g_vender
             IF SQLCA.sqlcode = 100 THEN
                CALL cl_err('','aap-000',1)
                NEXT FIELD v1
             ELSE
                LET g_currency = l_pmc22
             #  DISPLAY BY NAME g_currency
             #  使用 DISPLAY BY NAME 變數 g_currency 需與畫面檔欄位名稱 FORMONLY.c1 相同
                DISPLAY g_currency TO FORMONLY.c1          
             END IF

END INPUT 

Genero 發表在 痞客邦 留言(0) 人氣()

IF STATUS THEN
     CALL cl_err("Show Errot Message",status,1)
     LET g_success = 'N'
     RETURN
END IF

IF SQLCA.sqlcode  != 0 THEN
     CALL cl_err("Show Errot Message",SQLCA.sqlcode,1)
     LET g_success = 'N'
     RETURN
END IF

-----------------------------------------------------------------------------------
STATUS 與 SQLCA.sqlcode 二者差別在於,

Genero 發表在 痞客邦 留言(1) 人氣()

INSERT INTO pmi_file (pmi01,pmi02,pmi03,pmi04,pmi05,pmi06,pmi07,pmiconf,pmiacti,pmiuser,pmigrup,pmimodu,pmidate,pmi08,pmi081,pmi09)
 VALUES(g_pmi01,g_date,'U06','','N','1','N','Y','Y',g_user,'UAI','',g_date,'I043','0',g_user)

# INSERT 之後,放一個執行成功與否的檢核。
# 如果 STATUS = 0 表示執行成功 ,則不會進入下方 IF 錯誤程式
IF STATUS THEN
    CALL cl_err("insert_prep:",status,1)
     LET g_success = 'N'
     RETURN 
END IF

 

Genero 發表在 痞客邦 留言(0) 人氣()

« 1 2 3
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。