You can dynamically add one or more approver groups with an exit. Here are some pointers:
During setup, be sure to set the mid-cast value to 'Y'.
MOVE 'Y' TO PECB-MID-CAST
Then, during Mid-Cast you can update the PECB and PAPP fields, as in this example:
MOVE 'Y' TO PECB-USENDING-APP-GRPS
MOVE 'PROD ' TO PAPP-ENVIRONMENT
MOVE ALAGR-RS-AGRNAME
TO PAPP-GROUP-NAME
MOVE ALAGR-RS-QUORM
TO PAPP-QUORUM-COUNT
MOVE 1 TO PAPP-CURRENT-VERSION
MOVE 'PAPP' TO PAPP-BLOCK-ID
MOVE 56 TO PAPP-LENGTH
MOVE 1 TO PAPP-SEQUENCE-NUMBER
MOVE SPACES TO PAPP-APPROVAL-DATA(16)
MOVE 1 TO PAPP-APPROVER-NUMBER
PERFORM UNTIL PAPP-APPROVER-NUMBER > 16
OR ALAGR-RS-AUSER(PAPP-APPROVER-NUMBER) = SPACES
MOVE SPACES
TO PAPP-APPROVAL-DATA(PAPP-APPROVER-NUMBER)
MOVE ALAGR-RS-AUSER(PAPP-APPROVER-NUMBER)
TO PAPP-APPROVAL-ID(PAPP-APPROVER-NUMBER)
MOVE ALAGR-RS-AUREQ(PAPP-APPROVER-NUMBER)
TO PAPP-APPR-REQUIRED(PAPP-APPROVER-NUMBER)
ADD 36 TO PAPP-LENGTH
DISPLAY 'ADDING USERID '
PAPP-APPROVAL-ID(PAPP-APPROVER-NUMBER)
' ALAGR-RS-AGRNAME=' ALAGR-RS-AGRNAME
ADD 1 TO PAPP-APPROVER-NUMBER
END-PERFORM
SUBTRACT 1 FROM PAPP-APPROVER-NUMBER
MOVE 1 TO PECB-NBR-APPR-GRPS-SENT
You can use your own literals, or other datanames rather than the ALAGR-RS datanames in the example.
If you are adding an "External" group, you can leave spaces in the PAPP-APRROVAL-DATA fields.
-------------------------------------------