RPGLE程序例子---SO038

这是一个RPGLE程序示例,主要功能是创建和处理服务订单月度报告。程序包括三个部分:CSO038C、SO038D和TMSO03801,涉及文件操作、程序调用、屏幕设计和数据处理。通过该程序,可以生成和下载基于特定条件的数据报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 ****CSO038C.txt****

 START:      PGM        PARM(&FROMLIB &TOLIB)
/**/
             DCL        VAR(&FROMLIB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&TOLIB) TYPE(*CHAR) LEN(10)
             DCL        VAR(&TYPE) TYPE(*CHAR) LEN(1)
/**/
             MONMSG     MSGID(CPF0000 RPG0000)
/**/
 ERROR:      IF         COND(&FROMLIB = ' ') THEN(GOTO CMDLBL(END))
             IF         COND(&TOLIB = ' ') THEN(GOTO CMDLBL(END))
/**/
             RTVJOBA    TYPE(&TYPE)
/**/
/*   If user run this program in interactive mode, turn it into batch mode.   */
/**/
 CHECK:      IF         COND(&TYPE = '1') THEN(DO)
             SBMJOB     CMD(SBMJOB CMD(CALL PGM(&TOLIB/CSO038C) +
                          PARM(&FROMLIB &TOLIB)))
             GOTO       CMDLBL(END)
             ENDDO
/**/
             ADDLIBLE   LIB(&FROMLIB) POSITION(*FIRST)
             ADDLIBLE   LIB(&TOLIB) POSITION(*FIRST)
/**/
             CRTBNDCL   PGM(&TOLIB/SO038C) SRCFILE(&FROMLIB/QCLSRC) +
                          OUTPUT(*NONE) OPTIMIZE(*FULL) DBGVIEW(*NONE)
/**/
/*           CRTPRTF    FILE(*CURLIB/SO038RT) SRCFILE(*LIBL/QDDSSRC) + 
                          SRCFILE(&FROMLIB/QDDSSRC) OPTION(*NOSRC +
                          *NOLIST) PAGESIZE(50 176) CPI(15) +
                          OVRFLW(45) PRTQLTY(*NLQ) PAGRTT(90) +
                          OUTQ(*DEV) FORMTYPE(*STD) MAXRCDS(*NOMAX) +
                          LVLCHK(*NO)                                      */
/**/
             CRTDSPF    FILE(&TOLIB/SO038D) +
                          SRCFILE(&FROMLIB/QDDSSRC) SRCMBR(*FILE) +
                          OPTION(*NOSRC *NOLIST)
/**/
             CRTPF      FILE(QTEMP/TMSO03801) SRCFILE(*LIBL/QPLFSRC) +
                          OPTION(*NOSRC *NOLIST) SIZE(*NOMAX) +
                          LVLCHK(*NO)
             RCVMSG     MSGTYPE(*EXCP) RMV(*YES)
             RCVMSG     MSGTYPE(*DIAG) RMV(*YES)
/**/
             CRTBNDRPG  PGM(&TOLIB/SO038R) +
                          SRCFILE(&FROMLIB/QRPGLESRC) OUTPUT(*NONE) +
                          OPTIMIZE(*FULL)
/**/
             CHGPGM     PGM(&TOLIB/SO038C) OPTIMIZE(*YES) RMVOBS(*ALL)
             CHGPGM     PGM(&TOLIB/SO038R) OPTIMIZE(*YES) RMVOBS(*ALL)
/**/
             RMVLIBLE   LIB(&FROMLIB)
             RMVLIBLE   LIB(&TOLIB)
/**/

 END:        ENDPGM  

 

****SO038C****

/******************************************************************************/
/*  Program ID.: SO038C                                                       */
/*  Author.....: David Zhao                                                   */
/*  Function...: Service Order Month-End Report                               */
/*  Input......: --                                                           */
/*  Output.....: --                                                           */
/*  Remark.....: --                                                           */
/*  Updated....: 16-Oct-2008                                                  */
/******************************************************************************/
 START:      PGM
/**/
             DCL        VAR(&P01) TYPE(*CHAR) LEN(10)
             DCL        VAR(&P02) TYPE(*CHAR) LEN(10)
             DCL        VAR(&P03) TYPE(*CHAR) LEN(10)
/**/
             MONMSG     MSGID(CPF0000 RPG0000)
/**/
             RTVJOBA    USER(&P01) CURLIB(&P03)
             RTVUSRPRF  USRPRF(&P01) CURLIB(&P02)
             CHGCURLIB  CURLIB(&P02)
/**/
             CRTPF      FILE(*CURLIB/TMSO03801) SRCFILE(QPLFSRC) +
                          OPTION(*NOSRC *NOLIST) SIZE(*NOMAX) +
                          LVLCHK(*NO)
             RCVMSG     MSGTYPE(*EXCP) RMV(*YES)
             RCVMSG     MSGTYPE(*DIAG) RMV(*YES)
/**/
             CHGPF      FILE(*CURLIB/TMSO03811) CCSID(65535)
/**/
             CLRPFM     FILE(*CURLIB/TMSO03801)
/**/
/*           CRTPRTF    FILE(*CURLIB/SO038RT) SRCFILE(*LIBL/QDDSSRC) + 
                          OPTION(*NOSRC *NOLIST) PAGESIZE(50 176) +
                          CPI(15) OVRFLW(45) PRTQLTY(*NLQ) +
                          PAGRTT(90) FORMTYPE(*STD) MAXRCDS(*NOMAX) +
                          HOLD(*YES) SAVE(*YES) USRDTA(SO038) +
                          LVLCHK(*NO)                                         */
             CALL       PGM(*LIBL/SO038R)
/**/
             CHGCURLIB  CURLIB(&P03)
/**/

 END:        ENDPGM  

****SO038D****

     A*=========================================================================
     A*  File ID..: SO038D
     A*  Author...: David Zhao
     A*  Function.: Screen for SO038.
     A*  Input....: --
     A*  Output...: --
     A*  Remark...: --
     A*  Updated..: 09-May-2008
     A*=========================================================================
     A                                      DSPSIZ(27 132 *DS4)
     A                                      CHGINPDFT
     A                                      ALTHELP(CA01)
     A                                      CA24(24)
     A                                      ENTFLDATR((*DSPATR RI))
     A                                      HELP
     A                                      MOUBTN(*URP CA12)
     A                                      PRINT
     A*=========================================================================
     A          R MSGSFL                    SFL
     A                                      SFLMSGRCD(27)
     A            MSGKEY                    SFLMSGKEY
     A            PSPGM                     SFLPGMQ
     A*=========================================================================
     A          R MSGCTL                    SFLCTL(MSGSFL)
     A                                      OVERLAY
     A N29                                  SFLDSP SFLDSPCTL SFLINZ SFLEND
     A                                      SFLSIZ(2) SFLPAG(1)
     A            PSPGM                     SFLPGMQ
     A*=========================================================================
     A          R SCR01
     A                                      CF04(04 'LOOKUP')
     A                                      CA12(12 'Cancel')
     A                                      CSRINPONLY
     A                                      OVERLAY
     A*
     A                                      RTNCSRLOC(&R1 &F1)
     A                                      RTNCSRLOC(*WINDOW &ROW1 &COL1)
     A  28                                  CSRLOC(ROW1 COL1)
     A            ROW1           3S 0H
     A            COL1           3S 0H
     A            R1            10A  H
     A  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值