&PL      PROC  &P,1                                                     CAN00010
CANCEL   NAME                                                           CAN00020
.*       CANCEL MACRO CALL                                              CAN00030
.*       CANCEL    'ERRCODE'./(0)                                       CAN00040
         LCL   &X                                                       CAN00050
&X       SET   '&PL.        '(1,8)                                      CAN00060
&X           DS    0H                                                   CAN00070
.*       IF NO ERROR CODE IS SPECIFIED, SET R0 = 0.                     CAN00080
         DO    '&P(1)'=''                                               CAN00090
                   SR    0,0                NO ERROR CODE. CLEAR 0      CAN00100
         GOTO  .CANCSVC                                                 CAN00110
         ENDO                                                           CAN00120
.*       CHECK FOR ERROR CODE PRE-LOADED INTO R0                        CAN00130
         DO    ('&P(1)'='(0)')++('&P(1)'='0')                           CAN00140
         GOTO  .CANCSVC                                                 CAN00150
         ENDO                                                           CAN00160
.*       CHECK FOR ERROR CODE SPECIFIED AS 'ERCD'                       CAN00170
         DO    (('&P(1)'='')=0)                                         CAN00180
                   CNOP  0,4                                            CAN00190
                   L     0,*+8              4 BYTE ERR CODE TO REG 0    CAN00200
                   B     *+8                                            CAN00210
                   DC    XL4'&P(1)'                                     CAN00220
         ENDO                                                           CAN00230
.CANCSVC LABEL                                                          CAN00240
                   SVC   28                 CANCEL SVC                  CAN00250
         END                                                            CAN00260
