Whylode
Memoir

Program

ORDENT.rpgle

No notes on this program yet.

ORDENT.rpgleScroll sideways for full lines
1H DFTACTGRP(*NO) ACTGRP(*CALLER)
2H OPTION(*SRCSTMT)
3 *
4 * ORDENT - Order Entry
5 * Reads customer master and validates order header before writing
6 * the order record to ORDHDR and line items to ORDDTL.
7 *
8FCUSTMST IF E K DISK
9FORDHDR O E K DISK
10FORDDTL O E K DISK
11 *
12D CustNo S 7P 0
13D CustName S 40A
14D CustType S 2A
15D OrderNo S 8P 0
16D LineNo S 3P 0
17D ItemNo S 10A
18D Qty S 5P 0
19D UnitPrice S 9P 2
20D LineAmt S 11P 2
21D OrderAmt S 11P 2
22D TaxAmt S 11P 2
23D ShipDate S D
24D ErrFlag S 1A
25 *
26C EVAL ErrFlag = *BLANK
27 *
28 * Read customer master
29C CustNo CHAIN CUSTMST
30C IF %FOUND
31C EVAL CustName = CMNAME
32C EVAL CustType = CMTYPE
33C ELSE
34C EVAL ErrFlag = 'Y'
35C ENDIF
36 *
37 * Accumulate order lines
38C EVAL OrderAmt = *ZERO
39C READ ORDDTL
40C DOW NOT %EOF(ORDDTL)
41C EVAL LineAmt = Qty * UnitPrice
42C EVAL OrderAmt = OrderAmt + LineAmt
43C READ ORDDTL
44C ENDDO
45 *
46 * Pass to invoice calculation
47C CALL 'INVCALC'
48C PARM CustNo
49C PARM CustType
50C PARM OrderAmt
51C PARM TaxAmt
52C PARM ErrFlag
53 *
54C EVAL *INLR = *ON