Better accounting error messages

Example: afgwocre.ccp calling tigckacp.csm and how errors are bubbled up.

Paragraph 4020-WOACCOUNTING-EDITS after the return from CKACP.


Note:

Allowing MSG-CODE-CKACP to bubble up to the message response is very valuable.


 EVALUATE TRUE
  WHEN RETCODE-EDIT-ERROR-CKACP
*custom Begin
* MOVE ERROR-ON-FIELD-APICV
* TO FACILITY-ERR OF WOTASKHEADER-SEG
* COST-CENTER-CHARGE-ERR
* ACTIVITY-ID-ERR
* USER-DEF-ERR
* GROUP-ID-ERR
* ACCOUNT-NBR-ERR
* SUB-ACCOUNT-NBR-ERR
* MOVE INVALID-ACCT-DIST-MSG TO MESSAGE-CODE-APIMS

   IF MSG-COST-CNTR-CHRG-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO COST-CENTER-CHARGE-ERR
   END-IF
   IF MSG-ACTIVITY-ID-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO ACTIVITY-ID-ERR
   END-IF
   IF MSG-USER-DEF-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO USER-DEF-ERR
   END-IF
   IF MSG-GROUP-ID-CHRG-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO GROUP-ID-ERR
   END-IF
   IF MSG-ACCOUNT-NBR-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO ACCOUNT-NBR-ERR
   END-IF
   IF MSG-SUB-ACCOUNT-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO SUB-ACCOUNT-NBR-ERR
   END-IF
   IF MSG-COST-CNTR-SRCE-E-CKACP
   AND (NOT MSG-COST-CNTR-CHRG-E-CKACP)
    MOVE ERROR-ON-FIELD-APICV TO FACILITY-ERR OF WOTASKHEADER-SEG
   END-IF
   IF MSG-PROJECT-NBR-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO PROJECT-NBR-ERR OF WOACCOUNTING-SEG
   END-IF
   IF MSG-WORK-ORDER-TSK-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO REFERENCE-SUB-NBR-ERR OF WOTASKHEADER-SEG
   END-IF
   IF MSG-FACILITY-CHRG-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO FACILITY-CHARGE-ERR
   END-IF
   IF MSG-REFERENCE-NBR-E-CKACP
    MOVE ERROR-ON-FIELD-APICV TO REFERENCE-NBR-ERR OF WOACCOUNTING-SEG
   END-IF


   IF MSG-CODE-CKACP > SPACE
    MOVE MSG-CODE-CKACP TO MESSAGE-CODE-APIMS
   ELSE
    MOVE INVALID-ACCT-DIST-MSG TO MESSAGE-CODE-APIMS
   END-IF


*custom end


   MOVE WOACCOUNTING-LITERAL TO MESSAGE-PARMS-APIMS(1)
    PERFORM M000-MSG-REPLY-AREA THRU M000-EXIT
    SET ACDST-ERROR TO TRUE
    SET UPDATE-SEGMENT TO TRUE
   END-EVALUATE.