引用:
|
作者ccx1103
我不太會cobol, 但是單看程式碼, 問題未必出在這段程式.
這段程式只是在檢查日期後,傳回日期
10 DATE-CHK-YY PIC 99.
改成
10 DATE-CHK-YY PIC 999. 即可
其餘並沒有什麼重要的...
大概就是 100年+1911=2011年,
2011/4 整除就是閏年,閏年的2月=29天。
但是 2011/400 整除不是潤年
其他大概是檢視月份between 1 to 12,
日期 between 1~30 or 1~31
感覺出錯的機會並不大
|
只把DATE-CHK-YY改成PIC 999是不行地。
DATE-CHK-YY、DATE-CHK-MM與DATE-CHK-DD(各兩位數字)是對應到DATE-CHK-1,而DATE-CHK-1只有六位數字。DATE-CHK-1要能改成七位數字才行,這牽涉到程式其他部分怎麼用DATE-CHK-1。
或許用ETL(Extract, Transform and Load)工具把舊資料轉進DB是比較可行的作法。