Using local package ship and there is no swap to the Endevor alternate id for the remote card

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

When shipping information to a remote location using a local protocol (shared DASD) I cannot swap the userid to the altid (alternate id).  This is causing authorization errors and the ship is never completed.  

What can I do to fix this problem?

Answer:

There is a exit that can be run to allow you to change the userid on the remote jobcard to what ever
id that would do what you want.  The altid can be used and would require the the correct authority
to update the output.  Here is an example of the exit C1BMXJCG:

 

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID.                 C1BMXJCG.
000300 AUTHOR.                     DAVE BERRY.
000400 DATE-WRITTEN.               01-23-95.
000500 ENVIRONMENT DIVISION.
000600 INPUT-OUTPUT SECTION.
000700 FILE-CONTROL.
000800 DATA DIVISION. 
000900 FILE SECTION.
001000*****************************************************************
001100*   FROM WHAT I CAN SURMISE HAVING THIS PROGRAM/LOAD MODULE IN       *
001200*   STEPLIB, JOBLIB OR LINK PACK AREAS INVOKES AN UNDOCUMENTED          *
001300*   EXIT.  THIS PACKAGE SHIPMENT EXIT ALLOWS USER MODIFICATION  *
001400*   TO BE MADE TO THE JOB CARD THAT EXECUES AT THE REMOTE         *
001500*   SITES (THE IEBCOPY JOB IN THE PRODUCTION DATACENTERS).      *
001700*                                                                                                     *
001800*   THE EXIT IS CALLED PRIOR TO WRITING THE REMOTE JOB CARD     *
001900*   TO THE "AHJOB" JCL DATASET AND PRIOR TO WRITING IT TO THE   * 
002000*   OPTIONAL "CHJOB" JCL DATASET.  THESE DATASETS ARE BUILT TO  *
002100*   CONTAIN THE JCL NEEDED TO COPY PACKAGE MEMBERS INTO THE     *
002200*   DESTINATION DEFINITION OF THE REMOTE SITE.                  *
002300*                                                               *    
002400*   BASICALLY THIS PROGRAM CHANGES THE JOB CARD FROM WHAT THE   *
002500*   DESTINATION PANEL JOB CARD SAYS TO WHAT THE EQUIVALENT OF   * 
002600*   WHAT THE PACKAGE EXECUTION JOB CARD SHOULD HAVE BEEN.  IT   *
002700*   ALSO ADDS ,USER=EV0001 TO THE JOB STATEMENTS. - DJB         *
002800*                                                               *
002900*****************************************************************
003000*                                                                          *
003100 WORKING-STORAGE SECTION.
003200*
003300 01 WS-PACKAGE-ID.
003400     05  WS-PACKAGE-SYS-ID       PIC X(02).
003500     05  WS-PACKAGE-NUMBER.
003600           10  WS-PACKAGE-SERIES   PIC X(01).
003700         10  WS-PACKAGE-TRAILER  PIC X(03).
003800     05  FILLER                  PIC X(10).
003900* 
004000 01  WS-JOB-NAME.
004100     05  WS-PROD-JOBNAME.
004200         10  WS-PROD-JOB-EV      PIC X(02).
004300         10  WS-PROD-SYS-ID      PIC X(02).
004400         10  WS-PROD-TRAILER     PIC X(03).
004500         10  WS-PROD-POUND       PIC X(01).
004600     05  WS-NON-PROD-JOBNAME REDEFINES WS-PROD-JOBNAME.
004700         10  WS-JOB-USER-ID      PIC X(06).
004800         10  WS-JOB-POUND        PIC X(01).
004900         10  WS-JOB-SPACE        PIC X(01).
005000*
005100 01  WS-USER-EQ.
005200     05  FILLER                  PIC X(12) VALUE ',USER=EV0001'.
005300*
005400 LINKAGE SECTION.
005500*
005600 01  LS-PACKAGE-ID               PIC X(16).
005700*
005800 01  LS-USER-ID                PIC X(08).
005900*
006000 01  LS-JOB-STATEMENT.
006100     05  LS-JOB-LINE-1.
006200         10  LS-JL1-SLASH-SLASH  PIC X(02).
006300         10  LS-JL1-JOBNAME      PIC X(08).
006400         10  FILLER              PIC X(70).
006500     05  LS-JOB-LINE-2.
006600         10  FILLER              PIC X(26).
006700         10  LS-JL2-USER-EQ      PIC X(12).
006800         10  FILLER              PIC X(42).
006900* 
007100 PROCEDURE DIVISION USING
007110     LS-PACKAGE-ID
007130     LS-USER-ID
007140     LS-JOB-STATEMENT. 
007150*
007160 1000-MAIN-PROCESS.
007170********************************************************************
007180* PUT DIFFERENT "USER=" ON JOB STATEMENT SO JOB HAS AUTHORIZATION
007190*  TO COPY INTO REMOTE DATASETS .
007191********************************************************************
007192*
007193     MOVE WS-USER-EQ           TO LS-JL2-USER-EQ.
007194     MOVE SPACES               TO WS-JOBNAME.
007195     MOVE LS-PACKAGE-ID        TO WS-PACKAGE-ID.
007196     IF WS-PACKAGE-NUMBER > '3999' 
007197       PERFORM 2000-PROD-PKG THRU 2000-EXIT
007198     ELSE 
007199       PERFROM 3000-NON-PROD-PKG THRU 3000-EXIT.
007200*
007210 1000-EXIT.
007300     GOBACK.
007400*
007500 2000-PROD-PKG.
007600     MOVE 'EV'                 TO WS-PROD-JOB-EV. 
007700     MOVE WS-PACKAGE-SYS-ID    TO WS-PROD-SYS-ID.
007800     MOVE WS-PACKAGE-TRAILER   TO WS-PROD-TRAILER.
007900     MOVE '#'                  TO WS-PROD-POUND.
008000     MOVE WS-PROD-JOBNAME      TO LS-JL1-JOBNAME. 
008100*
008200 2000-EXIT.
008300     EXIT.
008400*
008500 3000-NON-PROD-PKG.
008600     MOVE LS-USER-ID         TO WS-JOB-USER-ID.
008700     MOVE SPACES             TO WS-JOB-SPACE.
008900     MOVE '#'                  TO WS-PROD-POUND.
009000     MOVE WS-NON-PROD-JOBNAME  TO LS-JL1-JOBNAME.
009100 *
009200 3000-EXIT.
009300     EXIT.
009400*