Program
INVCALC.rpgle
3 notes. Lines with a note are marked in brass.
1H DFTACTGRP(*NO) ACTGRP(*CALLER)2H OPTION(*SRCSTMT)3 *4 * INVCALC - Invoice Tax Calculation5 * Receives order amount and customer type, returns tax amount.6 *7 * Maintenance log:8 * 2019-03 RLT Initial version9 * 2021-11 RLT Chg per sales ops req10 *11FTAXTBL IF E K DISK12 *13D CustNo S 7P 014D CustType S 2A15D OrderAmt S 11P 216D TaxAmt S 11P 217D ErrFlag S 1A18 *19D TaxRate S 7P 420D CalcBase S 11P 221 *22C *ENTRY PLIST23C PARM CustNo24C PARM CustType25C PARM OrderAmt26C PARM TaxAmt27C PARM ErrFlag28 *29 * Set rate30C EVAL TaxRate = 0.072531 *32 * Check override33C CustType CHAIN TAXTBL34C IF %FOUND35C EVAL TaxRate = TBTAXRT36C ENDIF37 *38 *39C IF CustType = 'C2'40C SETON 4241C ENDIF42 *43C IF *IN42 = *ON44C EVAL TaxRate = 0.052545C ENDIF46 *47 * Calc tax48C EVAL CalcBase = OrderAmt49C EVAL TaxAmt = CalcBase * TaxRate50 *51 *52C EVAL(H) TaxAmt = TaxAmt53 *54C EVAL *INLR = *ON