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.