在具有看起來有點像這樣的打印機文件:誰能告訴我這個RPGLE陣列有什麼問題?
Customer-data Units01 Units02 ....... Units11
-------------------------------------------------------------
Name/address/zip/.... Count01 Count02 ....... Count11
Name/address/zip/.... Count01 Count02 ....... Count11
: : : : : : : :
Name/address/zip/.... Count01 Count02 ....... Count11
------- ------- ------- -------
Totals Total01 Total02 ....... Total11
單位,計數和總計字段被映射到與陣列定義像這樣的疊加的數據結構:
0014.00 D UNITSDS DS
0015.00 D UNITS01
0016.00 D UNITS02
: : :
0024.00 D UNITS10
0025.00 D UNITS11
0026.00 D UNITSAR LIKE(UNITS) DIM(11)
0026.00 D OVERLAY(UNITSDS)
: D*-------------------------------------------------------
0034.00 D COUNTDS DS
0035.00 D COUNT01
0036.00 D COUNT02
: : :
0044.00 D COUNT10
0045.00 D COUNT11
0046.00 D COUNTAR LIKE(COUNT) DIM(11)
0046.00 D OVERLAY(COUNTDS)
: D*-------------------------------------------------------
0054.00 D TOTALDS DS
0055.00 D TOTAL01
0056.00 D TOTAL02
: : :
0064.00 D TOTAL10
0065.00 D TOTAL11
0066.00 D TOTALAR LIKE(TOTAL) DIM(11)
0066.00 D OVERLAY(TOTALDS)
當我處理經過一些處理之後,在打印機文件的詳細信息行上進行了寫入,出現「十進制數據錯誤」。
我很驚訝,雖然所有先前定義的變量COUNT,COUNTnn,TOTAL和TOTALnn都是「分區的」,而數據結構COUNTDS和TOTALDS是「Char」,但COUNTAR和TOTALAR數組看起來數據類型爲「Packed」 」。
將打包數據映射到打印機文件的輸出緩衝區中,導致「十進制數據錯誤」。
爲什麼這些數組突然處於「Packed」數據格式?
我想這個代碼。我敢打賭,總數和數量的定義與您所說的不同。 like(units01)dim(11) like(counts01)dim(11) like(total01)dim(11) – danny117