簡體   English   中英

批處理 - RPGLE

[英]batch processing - RPGLE

我試圖理解使用 RPGLE 和 DSPF 成員的簡單批處理是兩者的代碼,但結果看起來像這樣(列打印而不是數據)我做錯了什么: 在此處輸入圖像描述

KDCSTPGM.RPGLE這是具有邏輯的 rpgle 成員

Dcl-f Customers Disk KEYED Usage(*Input);
Dcl-f Custlist Printer Usage(*Output) Oflind(Endofpage);


//Standalone variable declarations
Dcl-s Endofpage Ind Inz(*on);
dcl-s count packed(2:0);


// Main Procedure
Read Customers;

  
Dow Not %eof(Customers);
  If Endofpage;
    write Header;
    Endofpage = *off;
  Endif;

  count += 1;
  write Detail;
  Read Customers;

Enddo;

If Endofpage;
    write Header;
Endif;

write total;    

*inlr = *On;
Return;  

CUSTLIST.PRTF這是打印機文件

A          R HEADER
 A                                  2 55'Customer List'
 A                                  2 97DATE
 A                                  2117PAGNBR
 A                                  3  3'Customer:'
 A          R DETAIL                    SPACEB(1)
 A                                     3'Customer Number'
 A                                      SPACEB(3)
 A                                    25'Last Name '
 A                                    43'First Name'
 A                                    63'Phone'
 A                                    82'Email'
 A          R TOTAL                     SPACEB(1)
 A            CUSTONO   R              2SPACEB(4)
 A                                      REFFLD(CUSTSREC/CUSTONO MyLib/CUS-
 A                                      TOMERS)
 A            CLNAME    R             14REFFLD(CUSTSREC/CLNAME MyLib/CUST-
 A                                      OMERS)
 A            CFNAME    R             36REFFLD(CUSTSREC/CFNAME MyLib/CUST-
 A                                      OMERS)
 A            CPHONE    R             54REFFLD(CUSTSREC/CPHONE MyLib/CUST-
 A                                      OMERS)
 A            CEMAIL    R             66REFFLD(CUSTSREC/CEMAIL MyLib/CUST-
 A                                      OMERS)

 A*%%RS+<record-sequences>
 A*%%RS+ <sequence name="Custlist">
 A*%%RS+  <device type="printer" width="132" height="66" />
 A*%%RS+  <record-write record-format="HEADER" />
 A*%%RS+  <record-write record-format="DETAIL" />
 A*%%RS+  <record-write record-format="TOTAL" />
 A*%%RS+ </sequence>
 A*%%RS </record-sequences> 

您的 DETAIL 記錄中沒有任何數據字段,而是在 TOTAL 記錄中...

您的 PRTF 應該看起來更像這樣

 A          R HEADER                     
 A                                  2 55'Customer List'
 A                                  2 97DATE
 A                                  2117PAGNBR
 A                                  4  3'Customer Number'
 A                                  4 25'Last Name '
 A                                  4 43'First Name'
 A                                  4 63'Phone'
 A                                  4 82'Email'
 A          R DETAIL                    SPACEB(1)
 A            CUSTONO   R              2
 A                                      REFFLD(CUSTSREC/CUSTONO MyLib/CUS-
 A                                      TOMERS)
 A            CLNAME    R             14REFFLD(CUSTSREC/CLNAME MyLib/CUST-
 A                                      OMERS)
 A            CFNAME    R             36REFFLD(CUSTSREC/CFNAME MyLib/CUST-
 A                                      OMERS)
 A            CPHONE    R             54REFFLD(CUSTSREC/CPHONE MyLib/CUST-
 A                                      OMERS)
 A            CEMAIL    R             66REFFLD(CUSTSREC/CEMAIL MyLib/CUST-
 A                                      OMERS)
 A          R TOTAL                     SPACEB(2)
 A                                    10'Total Count:'
 A            COUNT            2 0    +2                          

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM