Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 153 additions & 0 deletions endevor/Field-Developed-Programs/API-Assembler-Examples/APIALAPP.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
APIALAPP TITLE 'ENDEVOR - API LIST PACKAGE Approvers '
* THESE ROUTINES ARE DISTRIBUTED BY THE CA TECHNOLOGIES STAFF
* "AS IS". NO WARRANTY, EITHER EXPRESSED OR IMPLIED, IS MADE
* FOR THEM. CA TECHNOLOGIES CANNOT GUARANTEE THAT THE ROUTINES
* ARE ERROR FREE, OR THAT IF ERRORS ARE FOUND, THEY WILL BE
* CORRECTED.
***********************************************************************
* DESCRIPTION: THIS SAMPLE PROGRAM ISSUES REQUESTS TO THE
* ENDEVOR API TO EXTRACT ENDEVOR PACKAGE Approver info.
*
* HOW TO USE: PASS THE PACKAGE NAME IN THE PARM WITH THE PROGRAM
* CALL.
* EXAMPLE:
* EXEC PGM=NDVRC1,
* PARM='CONCALL,DDN:STEPLIB,APIALAPP,PR#BACKOUT#TEST1'
*
* REGISTER USAGE:
* R2 -> SAVE RETURN CODE
* R3 -> SAVE REASON CODE
* R12 -> BASE PROGRAM
* R13 -> STANDARD USAGE........
* R15 -> RETURN CODE FROM CALL
* ==> -> WE USE STANDARD STACK SAVEAREA USAGE
*
***********************************************************************
* WORKAREA
***********************************************************************
WORKAREA DSECT
SAVEAREA DS 18F
WPARMLST DS 4F PARAMETER LIST
WCNT DS H ACTION COUNTER
DS 0D
***********************************************************************
* API CONTROL BLOCK
** your CSIQOPTN(ENHALAPP)
***********************************************************************
ENHAACTL DSECT=NO
***********************************************************************
* API ACTION REQUEST BLOCKS
***********************************************************************
ENHALAPP DSECT=NO
WORKLN EQU *-WORKAREA
***********************************************************************
* REQISTER EQUATES
***********************************************************************
R0 EQU 0
R1 EQU 1
R2 EQU 2
R3 EQU 3
R4 EQU 4
R5 EQU 5
R6 EQU 6
R7 EQU 7
R8 EQU 8
R9 EQU 9
R10 EQU 10
R11 EQU 11
R12 EQU 12
R13 EQU 13
R14 EQU 14
R15 EQU 15
APIALAPP CSECT
APIALAPP AMODE 31
APIALAPP RMODE ANY
***********************************************************************
* HOUSEKEEPING
***********************************************************************
SAVE (14,12) SAVE CALLERS REG 12(13)
LR R12,R15 POINT TO THIS PROGRAM
USING APIALAPP,R12
***********************************************************************
* VALIDATE PARM LEN
***********************************************************************
*
L R6,0(,R1)
LA R6,2(,R6) POINT TO package id in parm
*
***********************************************************************
* GET STORAGE FOR WORKAREA
***********************************************************************
L R0,=A(WORKLN) GET SIZE OF W.A
GETMAIN R,LV=(0) GET WORKING STORAGE
ST R1,8(R13) STORE NEW STACK +8(OLD)
ST R13,4(R1) STORE OLD STACK +4(NEW)
LR R13,R1 POINT R13 TO OUR STACK
USING SAVEAREA,R13 ESTABLISH ADDRESSIBILIY
SPACE ,
************************************************************
* INITIALIZE AND POPULATE THE CONTROL STRUCTURE
* NOTE: IF ANY INVENTORY MANAGEMENT MESSAGES ARE ISSUED, THEY
* ARE WRITTEN TO THE MSG DATA SET. THE OUTPUT FROM THIS REQUEST
* IS WRITTEN TO THE LIST DATA SET.
************************************************************
*
XAPP000 DS 0H
************************************************************
* INITIALIZE AND POPULATE THE REQUEST STRUCTURE
************************************************************
*
API$INIT STG=AACTL,BLOCK=AACTL
API$INIT STG=ALAPP_RQ,BLOCK=ALAPP_RQ
API$INIT STG=ALAPP_RS,BLOCK=ALAPP_RS
*
MVC AACTL_MSG_DDN(8),=C'APIMSGS '
MVC AACTL_LIST_DDN(8),=C'APILIST '
*
MVC ALAPP_RQ_PKGID(16),0(R6) Move package id to request
*
************************************************************
* BUILD PARMLIST
************************************************************
LA R1,WPARMLST
LA R14,AACTL
ST R14,0(0,R1)
LA R14,ALAPP_RQ
ST R14,4(0,R1)
LA R14,ALAPP_RS
ST R14,8(0,R1)
OI 8(R1),X'80'
************************************************************
*
* CALL THE ENDEVOR API INTERFACE PROGRAM
************************************************************
XCALLAPI DS 0H
L R15,=V(ENA$NDVR)
BALR R14,R15
LR R2,R15 HOLD ONTO THE RETURN CODE
LR R3,R0 HOLD ONTO THE REASON CODE
************************************************************
* SHUTDOWN THE API SERVER. ONLY THE AACTL BLOCK IS REQUIRED.
************************************************************
XSHUTDWN DS 0H
API$INIT STG=AACTL,BLOCK=AACTL
MVI AACTL_SHUTDOWN,C'Y'
LA R1,WPARMLST
LA R14,AACTL
ST R14,0(0,R1)
OI 0(R1),X'80'
L R15,=V(ENA$NDVR)
BALR R14,R15
***********************************************************************
* PROGRAM EXIT
***********************************************************************
LR R5,R13 SAVE SAVEAREA ADDRESS
L R13,4(R13) POINT TO PREVIOUS SAVEAREA
* CLEAN UP THIS PROGRAM'S STORAGE
L R0,=A(WORKLN) GET SIZE
FREEMAIN R,A=(R5),LV=(R0) FREE STORAGE
LR R15,R2 SET RETURN CODE
L R14,12(R13)
LM R0,R12,20(R13)
BSM 0,R14 RETURN
END
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
//IBMUSERT JOB (0000),
// CLASS=A,MSGCLASS=X,REGION=4M,
// NOTIFY=&SYSUID
//*==================================================================*
// JCLLIB ORDER=(YOURSITE.NDVR.TEAM.JCL)
// SET PACKAGE=CONT#ZAXJ1908178
// SET PACKAGE=FINA#YECQ4226795
//*==================================================================*
//*-------------------------------------------------------------------*
//LSTBKOUT EXEC PGM=NDVRC1,
// PARM='CONCALL,DDN:STEPLIB,APIALAPP,&PACKAGE'
//* PARM='APIALAPP,FINA#YECQ4226795'
// INCLUDE MEMBER=STEPLIB <- Endevor STEPLIB +
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//BSTERR DD SYSOUT=*
//BSTAPI DD SYSOUT=*
//APIAPP DD SYSOUT=*
//APIMSGS DD DSN=&&MSG3FILE,DISP=(NEW,PASS),
// UNIT=SYSDA,SPACE=(TRK,(5,5)),
// DCB=(RECFM=FB,LRECL=133,BLKSIZE=13300)
//APILIST DD DSN=&&APIALAPP,DISP=(NEW,PASS),
// UNIT=SYSDA,SPACE=(TRK,(5,5)),
// DCB=(RECFM=VB,LRECL=2048,BLKSIZE=20480)
//*
//* PRINT ANY MESSAGES
//STEP2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=&&MSG3FILE,DISP=(OLD,DELETE)
//SYSUT2 DD SYSOUT=*
//*
//* PRINT EXTRACTED ELEMENT
//STEP3 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT1 DD DSN=&&APIALAPP,DISP=(OLD,DELETE)
//SYSUT2 DD SYSOUT=*
//* DD DISP=SHR,DSN=YOUR.SIQ126S1.CONLIB
63 changes: 63 additions & 0 deletions endevor/Field-Developed-Programs/API-Assembler.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
REM In Windows, execute this command file to collect all Package
@ECHO OFF
ECHO ./ ADD NAME=@README > API-Assembler.moveout
ECHO These items come from the Endevor GitHub at >> API-Assembler.moveout
ECHO https://github.com/BroadcomMFD/broadcom-product-scripts >> API-Assembler.moveout
ECHO ------------------------------------------------------- >> API-Assembler.moveout
ECHO These are asm : APIAEADD APIAERET APIAESCL APIALAPP APIALBKO APIALDIR APIALDST APIALELM APIALPKG APIALSUM APIAPBKO >> API-Assembler.moveout
ECHO These are jcl : JCLAEADD JCLAEELM JCLAERET JCLALAPP JCLALDIR JCLALELM JCLALPKG >> API-Assembler.moveout
ECHO ./ ADD NAME=APIAEADD >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIAEADD.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIAERET >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIAERET.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIAESCL >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIAESCL.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALAPP >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALAPP.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALBKO >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALBKO.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALDIR >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALDIR.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALDST >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALDST.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALELM >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALELM.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALPKG >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALPKG.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIALSUM >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIALSUM.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=APIAPBKO >> API-Assembler.moveout
TYPE API-Assembler-Examples\APIAPBKO.asm >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLAEADD >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLAEADD.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLAEELM >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLAEELM.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLAERET >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLAERET.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLALAPP >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLALAPP.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLALDIR >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLALDIR.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLALELM >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLALELM.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
ECHO ./ ADD NAME=JCLALPKG >> API-Assembler.moveout
TYPE API-Assembler-Examples\JCLALPKG.jcl >> API-Assembler.moveout
ECHO. >> API-Assembler.moveout
REM
Loading