创建满足以下要的PF文件
Please refer below statement and complete the Credit/Debit RPGLE program.
Input: There are four paramieters as input entry.
Output: Input random entries when calling program.
Hint:
请参阅以下声明并完成贷记/借记 RPGLE 程序。
输入:有四个参数作为输入入口。
输出:调用程序时输入随机条目。
提示:
变量及数据类型:
变量 | 类型 |
---|---|
CREDIT | 10A |
DEBIT | 10A |
TAMOUNT | 11A |
TTYPE | 1A |
程序流程图:
完整程序:
0000.01 H********************************************************
0000.02 H* WRITER : BANNY
0000.03 H* HOMEWORK : HT011
0000.04 H* DATE : 2022-01-01
0000.05 H********************************************************
0000.06 H********************************************************
0000.07 H* DEBUG
0000.08 H********************************************************
0000.09 H*
0001.00 HDEBUG(*YES)
0002.00 HDATFMT(*MDY)
0003.00 HTIMFMT(*HMS)
0004.00 H*
0005.00 D********************************************************
0006.00 D* DEFIND VARIATE
0007.00 D********************************************************
0008.00 D*
0009.00 DCREDIT S 10A
0010.00 DDEBIT S 10A
0011.00 DW1 S 52A
0012.00 DTAMOUNT S 11A
0013.00 DTTYPE S 1A
0014.00 D*
0015.00 C********************************************************
0016.00 C* MAIN FUNCTION
0017.00 C********************************************************
0018.00 C*
0019.00 C EXSR SR999
0020.00 C EXSR SR100
0021.00 C MOVE *ON *INLR
0022.00 C RETURN
0023.00 C*
0024.00 C********************************************************
0025.00 C* SR100 FUNCTION
0026.00 C********************************************************
0027.00 C SR100 BEGSR
0028.00 C*
0029.00 C IF (%SUBST(TAMOUNT:1:1) = '-')
0030.00 C EXSR SR404
0031.00 C*
0032.00 C ELSE
0033.00 C SELECT
0034.00 C WHEN TTYPE = '1'
0035.00 C EXSR SR200
0036.00 C WHEN TTYPE = '2'
0037.00 C EXSR SR300
0038.00 C OTHER
0039.00 C EXSR SR900
0040.00 C ENDSL
0041.00 C ENDIF
0042.00 C*
0043.00 C SR100E ENDSR
0044.00 C********************************************************
0045.00 C* SR200 FUNCTION TTYPE = '1'
0046.00 C********************************************************
0047.00 C SR200 BEGSR
0048.00 C*
0049.00 C EVAL W1 = CREDIT+'DEBIT'+DEBIT+TAMOUNT+'yuan!'
0050.00 C W1 DSPLY
0051.00 C*
0052.00 C SR200E ENDSR
0053.00 C********************************************************
0054.00 C* SR300 FUNCTION TTYPE = '2'
0055.00 C********************************************************
0056.00 C SR300 BEGSR
0057.00 C*
0058.00 C EVAL W1 = CREDIT+'CREDIT'+DEBIT+TAMOUNT+'yuan!'
0059.00 C W1 DSPLY
0060.00 C*
0061.00 C SR300E ENDSR
0062.00 C********************************************************
0063.00 C* SR404 FUNCTION TAMOUNT < 0
0064.00 C********************************************************
0065.00 C SR404 BEGSR
0066.00 C*
0067.00 C EVAL W1 = 'Invali transaction amount!'
0068.00 C W1 DSPLY
0069.00 C*
0070.00 C SR404E ENDSR
0071.00 C********************************************************
0072.00 C* SR900 FUNCTION TTYPE IS OTHER
0073.00 C********************************************************
0074.00 C SR900 BEGSR
0075.00 C*
0076.00 C EVAL W1 = 'Wrong transaction type!'
0077.00 C W1 DSPLY
0078.00 C*
0079.00 C SR900E ENDSR
0080.00 C********************************************************
0081.00 C* SR999 FUNCTION INIT
0082.00 C********************************************************
0083.00 C SR999 BEGSR
0084.00 C*
0085.00 C *ENTRY PLIST
0086.00 C PARM CREDIT
0087.00 C PARM DEBIT
0088.00 C PARM TAMOUNT
0089.00 C PARM TTYPE
0090.00 C*
0091.00 C SR999E ENDSR
变量定义:
变量名 | 说明 |
CREATE | 贷方名字 |
DEBIT | 借方名字 |
TAMOUNT | 交易金额 |
TTYPE | 交易类型 |
W1 | 打工仔,用于显示 |
0005.00 D********************************************************
0006.00 D* DEFIND VARIATE
0007.00 D********************************************************
0008.00 D*
0009.00 DCREDIT S 10A
0010.00 DDEBIT S 10A
0011.00 DW1 S 52A
0012.00 DTAMOUNT S 11A
0013.00 DTTYPE S 1A
0014.00 D*
变量初始化:
0080.00 C********************************************************
0081.00 C* SR999 FUNCTION INIT
0082.00 C********************************************************
0083.00 C SR999 BEGSR
0084.00 C*
0085.00 C *ENTRY PLIST
0086.00 C PARM CREDIT
0087.00 C PARM DEBIT
0088.00 C PARM TAMOUNT
0089.00 C PARM TTYPE
0090.00 C*
0091.00 C SR999E ENDSR
主函数:
0015.00 C********************************************************
0016.00 C* MAIN FUNCTION
0017.00 C********************************************************
0018.00 C*
0019.00 C EXSR SR999
0020.00 C EXSR SR100
0021.00 C MOVE *ON *INLR
0022.00 C RETURN
0023.00 C*
SR100函数:判断交易金额是否为正
交易金额为负数 | 进入SR404 |
交易金额为正数,交易类型为 ‘1’ | 进入SR200 |
交易金额为正数,交易类型为 ‘2’ | 进入SR300 |
交易金额为正数,交易类型为其他 | 进入SR900 |
0024.00 C********************************************************
0025.00 C* SR100 FUNCTION
0026.00 C********************************************************
0027.00 C SR100 BEGSR
0028.00 C*
0029.00 C IF (%SUBST(TAMOUNT:1:1) = '-')
0030.00 C EXSR SR404
0031.00 C*
0032.00 C ELSE
0033.00 C SELECT
0034.00 C WHEN TTYPE = '1'
0035.00 C EXSR SR200
0036.00 C WHEN TTYPE = '2'
0037.00 C EXSR SR300
0038.00 C OTHER
0039.00 C EXSR SR900
0040.00 C ENDSL
0041.00 C ENDIF
0042.00 C*
0043.00 C SR100E ENDSR
SR200函数:
交易类型为 '1' | 显示“xxx debit xxx n 元!” 在屏幕中。 |
0044.00 C********************************************************
0045.00 C* SR200 FUNCTION TTYPE = '1'
0046.00 C********************************************************
0047.00 C SR200 BEGSR
0048.00 C*
0049.00 C EVAL W1 = CREDIT+'DEBIT'+DEBIT+TAMOUNT+'yuan!'
0050.00 C W1 DSPLY
0051.00 C*
0052.00 C SR200E ENDSR
SR300函数:
交易类型为 '2' | 显示“xxx credit xxx n 元!” 在屏幕中。 |
0053.00 C********************************************************
0054.00 C* SR300 FUNCTION TTYPE = '2'
0055.00 C********************************************************
0056.00 C SR300 BEGSR
0057.00 C*
0058.00 C EVAL W1 = CREDIT+'CREDIT'+DEBIT+TAMOUNT+'yuan!'
0059.00 C W1 DSPLY
0060.00 C*
0061.00 C SR300E ENDSR
SR900函数:
交易类型为其他 | 显示“Wrong transaction type!”在屏幕中。 |
0071.00 C********************************************************
0072.00 C* SR900 FUNCTION TTYPE IS OTHER
0073.00 C********************************************************
0074.00 C SR900 BEGSR
0075.00 C*
0076.00 C EVAL W1 = 'Wrong transaction type!'
0077.00 C W1 DSPLY
0078.00 C*
0079.00 C SR900E ENDSR
SR404函数:
交易金额为负数 | 显示“'Invalid transaction amount!”在屏幕中。 |
0062.00 C********************************************************
0063.00 C* SR404 FUNCTION TAMOUNT < 0
0064.00 C********************************************************
0065.00 C SR404 BEGSR
0066.00 C*
0067.00 C EVAL W1 = 'Invali transaction amount!'
0068.00 C W1 DSPLY
0069.00 C*
0070.00 C SR404E ENDSR
本文发布于:2024-02-05 06:41:53,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170726516563974.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |