An Alchemist request invoking a PCL TRANSFER command has errors but request goes to COMPLETE status.

Document ID : KB000053661
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

PCL TRANSFER has errors but request goes to COMPLETE status.

ALCHEMIST 5.3.1. Change Request Index. ---------------------------- Row 1 of
Command ===>                                                  Scroll ===> CSR
 
S Current Run      Request       Target  Reference Admin.  Change
  Status  Prty  Date and Time     Zone    Number   User    Provider
  MASK===>    09*                QA       XFER     *       *
  COMPLETE 5  09/06/05 10:12:15  QA       XFER     SMITH99 SMITH99
******************************* Bottom of data ******************************
 
 
-------------------------------------------------------------------------------
Function:       | Entity Name:     | Completed:         | Error code:
   UPDATE       |    JOBCARD       |    09/06/05 10:12  |
CC Ref:         | Replaced CC:     | Last Phase:        |
   @0028416     |    @0028414      |    PURGE           |
-------------------------------------------------------------------------------
Message Log:
ZDE0801I: LAST VERSION FOR THIS ENTITY WAS @0028414
ZDE2822I: IMPLEMENTATION COMPLETED FOR VER. @0028416 OF ENTITY JOBCARD
ZDE3000I: *PIPCL: COMMAND; // EXEC TRANSFER
ZDE3000I: 1/TRANSFER: DISPLAY; PLATFORM: MVS
ZDE3000I: 1/TRANSFER: DISPLAY; INPUTUFL=ZONE://LOCALHOST/JOBCARD/TRANSFER/@0027
          387
ZDE3000I: 1/TRANSFER: DISPLAY; OUTPUTUFL=MVS:///MY/PDS/LIBRARY/MEMBER=PO
ZDE3000I: 1/TRANSFER: DISPLAY; PREPARING TO TRANSFER
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER COMPLETE. PCLLSTCC=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.ERROR=0004
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.RECORDS=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.REASON=17080002.??NN
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.BYTES=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.MAXLRECL=80
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.DATAFORMAT=S
******************************* Bottom of data ********************************
 
PCL:
//TRANSFER PROC
//*
//* OUTUFL NOT DEFINED SO TRANSFER COMMAND WILL FAIL
//*
//  DISPLAY 'PLATFORM: &ASRRED.IS.PLATFORM'
//*
//*
//* THE ZONE SCHEME'S FORMAT IS
//*   ZONE://ZONE/ENTITYNAME/ENTITYTYPE/ENTITYVERSION
//* THE MVS SCHEME'S FORMAT IS
//*   MVS:///VOLUME:/DOMAIN/DSORG/DSNAME/MEMBER;TYPE=METHOD
//*
//  SET INPUTUFL='ZONE://LOCALHOST/JOBCARD/TRANSFER/@0027387'
//  SET OUTPUTUFL='MVS:///MY/PDS/LIBRARY/MEMBER=PO'
//  DISPLAY 'INPUTUFL=&INPUTUFL'
//  DISPLAY 'OUTPUTUFL=&OUTPUTUFL'
//  DISPLAY 'PREPARING TO TRANSFER'
//*
//WSDLTMP TRANSFER INPUT='&INPUTUFL',
//                 OUTPUT='&OUTPUTUFL',
//                 REPLACE
//*
//  DISPLAY 'TRANSFER COMPLETE. PCLLSTCC=&PCLLSTCC'
//  DISPLAY 'TRANSFER_CONTROL.ERROR=&TRANSFER_CONTROL.ERROR'
//  DISPLAY 'TRANSFER_CONTROL.RECORDS=&TRANSFER_CONTROL.RECORDS'
//  DISPLAY 'TRANSFER_CONTROL.REASON=&TRANSFER_CONTROL.REASON'
//  DISPLAY 'TRANSFER_CONTROL.BYTES=&TRANSFER_CONTROL.BYTES'
//  DISPLAY 'TRANSFER_CONTROL.MAXLRECL=&TRANSFER_CONTROL.MAXLRECL'
//  DISPLAY 'TRANSFER_CONTROL.DATAFORMAT=&TRANSFER_CONTROL.DATAFORMAT'
//*
//*     ** ERROR CHECKING
//         IF PCLLSTCC NE 0
//         ERROR 6,'TRANSFER FAILED (SEE PRECEDING STEPS)'
//         ENDIF
// EXIT

Solution:

If TRANSFER_CONTROL.ERROR is non-zero, then use the PCL ERROR statement to fail the change request.

According to the Process Control Language Guide under the TRANSFER command:

  • PCL procedures must check either TRANSFER_CONTROL.ERROR or PCLLSTCC to ensure that a transfer completed successfully.

The documentation is incorrect. PCLLSTCC may be left as zero even though TRANSFER_CONTROL.ERROR is non-zero.

Set up your PCL so that after the TRANSFER you check that TRANSFER_CONTROL.ERROR is non-zero, rather than checking PCLLSTCC. For example:

//*     ** ERROR CHECKING
//         IF TRANSFER_CONTROL.ERROR NE 0
//         ERROR 6,'TRANSFER FAILED (SEE PRECEDING STEPS)'
//         ENDIF
 
 
 
S Current Run      Request       Target  Reference Admin.  Change
  Status  Prty  Date and Time     Zone    Number   User    Provider
  MASK===>    *                  QA       XFER     *       *
  FAIL     5  09/06/05 10:16:48  QA       XFER     SMITH99 SMITH99
 
 
ALCHEMIST 5.3.1. Entity Details (Part 3). ------------------------ Row 1 of 17
Command ===>                                                  Scroll ===> CSR
-------------------------------------------------------------------------------
Function:       | Entity Name:     | Completed:         | Error code:
   UPDATE       |    JOBCARD       |    09/06/05 10:17  |    3706
CC Ref:         | Replaced CC:     | Last Phase:        |
   @0028417     |    @0028416      |    NONE            |
-------------------------------------------------------------------------------
Message Log:
ZDE0801I: LAST VERSION FOR THIS ENTITY WAS @0028416
ZDE2822I: IMPLEMENTATION COMPLETED FOR VER. @0028417 OF ENTITY JOBCARD
ZDE3000I: *PIPCL: COMMAND; // EXEC TRANSFER
ZDE3000I: 1/TRANSFER: DISPLAY; PLATFORM: MVS
ZDE3000I: 1/TRANSFER: DISPLAY; INPUTUFL=ZONE://LOCALHOST/JOBCARD/TRANSFER/@0027
          387
ZDE3000I: 1/TRANSFER: DISPLAY; OUTPUTUFL=MVS:///MY/PDS/LIBRARY/MEMBER=PO
ZDE3000I: 1/TRANSFER: DISPLAY; PREPARING TO TRANSFER
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER COMPLETE. PCLLSTCC=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.ERROR=0004 
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.RECORDS=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.REASON=17080002.??NN
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.BYTES=0
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.MAXLRECL=80
ZDE3000I: 1/TRANSFER: DISPLAY; TRANSFER_CONTROL.DATAFORMAT=S
ZDE3706E: 1/TRANSFER; TRANSFER FAILED (SEE PRECEDING STEPS)
ZDE5800I: IMPLEMENTATION BACKOUT INITIATED
******************************* Bottom of data ********************************