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?
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. JOE AUTHOR.
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*