Virtel Batch Maintenance
This newsletter documents the procedure to maintain the VIRTEL SAMP TRSF VSAM file using a batch facility. Previously, updates to the Virtel SAMP TRSF VSAM file were through the “Drag and Drop” interface provided by the administration portal. Using this procedure removes the manual process required to perform the “drag and drop” operation. Using batch also improves the automation and maintenance distribution in a complex environment supporting multiple instances of Virtel.
Installing the maintenance package
The maintenance package is delivered to the customer as a zip file. It contains the following members:-
updtnnnn.trs File to be uploaded to mainframe
Newsletter PDF on how to install maintenance packages
readme-updtnnnn.txt Fix details contained within the package
Control members to be uploaded to the VIRTEL CNTL library:-
BATCH Batch control member
EOJ EOJ Control member
UPLMAINT.JCL Upload maintenance procedure
VIRTELUP.JCL Upload maintenance batch job.
VIRTCTBT.ASM Example Batch TCT
SCENLOAD.ASM Batch SCENARIO
Note
These control members need only to be uploaded once unless instructed otherwise.
Upload and copy members BATCH, EOJ, UPLMAINT.JCL, VIRTELUP.JCL, VIRTCTBT.ASM,SCENLOAD.ASM to the VIRTEL CNTL library.
These members are also listed in Appendix A of this newsletter. The JCL members and TCT will need modifying to conform to you standards. For the TCT, areas that need to be changed are highlighted in RED.
Assemble the modified TCT and SCENLOAD into the VIRTEL LOADLIB using the ASMTCT and ASMSCEN procedures located in the VIRTEL CNTL library.
Upload the TRS dataset updtnnnn.TRS to a pre-allocated TRS file. Use the sample JCL below to allocate the file:-:
//S01 EXEC PGM=IEFBR14 //OUTFILE DD DSN=&SYSUID..MAINT.UPDTNNNN.TRS,DISP=(,CATLG), // UNIT=SYSDA, // DCB=(LRECL=1024,BLKSIZE=6144,RECFM=FB), // SPACE=(CYL,(10,10))
After modifying the JCL in UPLMAINT.JCL and VIRTELUP.JCL to you site standards, submit the job VIRTELUP. This will upload the maintenance fixes to the destination SAMP TRSF as identified in the UPLMAINT procedure. This procedure also uses a temporary ARBO file which has been configured to support only BATCH updates.
Appendix A
Member VIRTCTBT
TITLE 'VIRTEL TCT FOR BATCH'
PRINT NOGEN
* Change lines identified by <
VIRTERM TYPE=INITIAL,APPLID=APPLHOLT, * <
LANG='EN', LANGUAGE FOR USER MESSAGES * <
COUNTRY=FR, EBCDIC-ASCII TRANSLATION * <
DEFUTF8=IBM1147, DEFAULT OUTPUT ENCODING UTF-8 * <
CHARSET=, UTF-8: ADDITIONAL CHARSETS *
GMT=SYSTZ, *
TCP1=(TCPIP,,,250), TCPIPNAME,,,MAXSOCKETS *
VIRSV1=(VIRSV), *
HTVSAM=VIRHTML, *
HTMINI=(1,1), *
BATCH1=(SYSIN1,DCBI1,SYSOUT1,DCBO1,SYSPCH1,DCBP1), *
BUFSIZE=20000, *
BFVSAM=32768, *
ACCUEIL=YES, *
DEFENTR=(PC,MINITEL), *
CORRECT=00, *
SILENCE=YES, *
STATS=SMF, OR (MULTI,CONTINUE/TERMINATE) *
STATDSN=(YOURQUAL.VIRTEL.STATA, IF STATS=MULTI *
YOURQUAL.VIRTEL.STATB), IF STATS=MULTI *
APPSTAT=YES, *
SYSPLUS=YES, *
DONTSWA=YES, *
NBDYNAM=250, *
MULTI=YES,RESO=NO,ARBO=YES,MINITEL=YES, *
VIRSECU=YES,SECUR=(RACROUTE,RACF), * <
RAPPL=FACILITY,RNODE=FACILITY,PRFSECU=VIRTEL, * <
UFILE1=(SAMPTRSF,ACBH1,0,10,01), *
UFILE2=(HTMLTRSF,ACBH2,0,10,01), *
UFILE3=, (PLUGTRSF,ACBH3,0,10,01), *
GATE=GENERAL, *
NBCVC=32, *
MEMORY=ABOVE, *
COMPANY='YOUR DETAILS HERE', COMPANY INFO X <
ADDR1='ADDRESS1', COMPANY INFO X <
ADDR2='ADDRESS2', COMPANY INFO X <
LICENCE='P500 - PERMANENT', LICENCE INFO X <
EXPIRE=(2999,12,31), LICENCE EXPIRATION X <
CODE='12356789', LICENCE CODE X <
TITRE1='S Y S P E R T E C F R A N C E ', *
TITRE2='V I R T E L'
*-------------------------------------------------------
DCBP1 DCB DDNAME=SYSPCH1, SYSPCH1 DD *
DCBE=DCBP1X, *
LRECL=80, *
DSORG=PS, *
RECFM=FB, *
MACRF=(PM)
DCBP1X DCBE RMODE31=BUFF
*-------------------------------------------------------
DCBI1 DCB DDNAME=SYSIN1, SYSIN DD *
DCBE=DCBI1X, *
LRECL=80, *
DSORG=PS, *
RECFM=FB, *
MACRF=(GL)
DCBI1X DCBE EODAD=0,RMODE31=BUFF
*------------------------------------------------------
DCBO1 DCB DDNAME=SYSOUT1, SYSPRINT DD *
DCBE=DCBO1X, *
LRECL=133, *
DSORG=PS, *
RECFM=FBA, *
MACRF=(PM)
DCBO1X DCBE RMODE31=BUFF
*------------------------------------------------------
ACBH1 ACB AM=VSAM,DDNAME=SAMPTRSF,MACRF=(SEQ,DIR,OUT,LSR),*
STRNO=3
ACBH2 ACB AM=VSAM,DDNAME=HTMLTRSF,MACRF=(SEQ,DIR,OUT,LSR),*
STRNO=3
ACBH3 ACB AM=VSAM,DDNAME=PLUGTRSF,MACRF=(SEQ,DIR,OUT,LSR),*
STRNO=3
END
Member SCENLOAD
SCENLOAD SCREENS APPL=SCENLOAD
*
* SCENARIO TO load/download a page
* normally used in BATCH Virtel.
*
SCENARIO INITIAL
*
** test DEBUG$ TRACE,TERMINAL
** test DEBUG$ TRACE,LINE
*
COPY$ SYSTEM-TO-VARIABLE,VAR='PAGENAME', << mypagename *
FIELD=(VALUE-OF,ROUTING-PARAMETER)
*
COPY$ SYSTEM-TO-VARIABLE,VAR='APPLID', *
FIELD=(NAME-OF,VIRTEL)
*
COPY$ INPUT-TO-VARIABLE,FIELD='TODO',VAR='TODO'
CASE$ 'TODO', *
(EQ,'DUMP',DODUMP), *
(EQ,'LOAD',DOLOAD), *
ELSE=ERROR1
*
DODUMP LABEL$
COPY$ OUTPUT-FILE-TO-VARIABLE,FILE='*PAGENAME', *
VAR='MYPAGE',TYPE=(ASIS,BASE64)
ERROR$ 0,'*APPLID',' SCENLOAD IS DUMPING ','*PAGENAME'
SEND$ AS-FILE,VAR='MYPAGE', *
NAME='MYFILE', *
TYPE='image/x-virtel'
GOTO$ DONE
*
DOLOAD LABEL$
COPY$ INPUT-FILE-TO-VARIABLE,VAR='MYPAGE', << page in BASE64 *
FILE='MYFILE'
IF$ NOT-FOUND,THEN=ERROR2
** COPY$ LIST-TO-VARIABLE,VAR='PAGENAME',TYPE=REPLACE, *
LIST=('AA','*PAGENAME')
ERROR$ 0,'*APPLID',' SCENLOAD IS LOADING ','*PAGENAME'
COPY$ VARIABLE-TO-FILE,FILE='*PAGENAME', *
VAR='MYPAGE',TYPE=(ASIS,BASE64)
IF$ NOT-FOUND,THEN=ERROR3
COPY$ LIST-TO-VARIABLE,VAR='RESP', *
LIST=('file ','*PAGENAME',' was loaded Ok')
GOTO$ RESPTHAT
*
ERROR1 COPY$ LIST-TO-VARIABLE,VAR='RESP', *
LIST=('ERROR1: INVALID COMMAND ','*TODO')
GOTO$ RESPTHAT
*
ERROR2 COPY$ LIST-TO-VARIABLE,VAR='RESP', *
LIST=('ERROR2: FILE NOT FOUND ','*PAGENAME')
GOTO$ RESPTHAT
ERROR3 COPY$ LIST-TO-VARIABLE,VAR='RESP', *
LIST=('ERROR3: ERROR LOADING ','*PAGENAME')
GOTO$ RESPTHAT
*
RESPTHAT LABEL$
ERROR$ 0,'*APPLID',' SCENLOAD RESPONSE IS ','*RESP'
SEND$ AS-ANSWER,VAR='RESP',TYPE='TEXT'
GOTO$ DONE
*
DONE LABEL$
** test DEBUG$ SNAP,TERMINAL
ACTION$ SERVE-ANOTHER-USER
SCENARIO END
*
SCRNEND
END
Member EOJ
.EOJ
Member BATCH
*--------------------------------------------------------------*
* BATCH INTERFACE TRANSACTIONS - *
*--------------------------------------------------------------*
SUBDIR ID=W2H-DIR,
DESC='Pages for WEB2HOST',
DDNAME=SAMPTRSF,
KEY=W2H-KEY,
NAMELEN=64,
AUTHUP=X,
AUTHDOWN=X,
AUTHDEL=X
SUBDIR ID=DOC-DIR,
DESC='Pages for WEB2HOST',
DDNAME=SAMPTRSF,
KEY=DOC-KEY,
NAMELEN=64,
AUTHUP=X,
AUTHDOWN=X,
AUTHDEL=X
LINE ID=BATCH,
NAME=BATCH,
DESC='HTTP line for Batch',
TERMINAL=BT1,
ENTRY=BATCH,
TYPE=BATCH1,
INOUT=1,
PROTOCOL=VIRHTTP
TERMINAL ID=BT1LOC00,
DESC='Batch terminals',
TYPE=3,
COMPRESS=2,
INOUT=3,
STATS=12,
REPEAT=0006
ENTRY ID=BATCH,
DESC='Batch Entry Point',
TRANSACT=BT1,
TIMEOUT=0060,
ACTION=0,
EMUL=HTML
TRANSACT ID=BT1-00,
DESC='HTML Pages',
NAME=PUBLIC,
APPL=W2H-DIR,
TYPE=4,
STARTUP=1,
TERMINAL=BT
TRANSACT ID=BT1-02,
DESC='HTML Pages',
NAME=DYN,
APPL=DYN-DIR,
TYPE=4,
STARTUP=1,
TERMINAL=BT
TRANSACT ID=BT1-03,
DESC='Scenario upload/download',
NAME=LOADER,
APPL=$NONE$,
TYPE=2,
TERMINAL=BT,
STARTUP=1,
TIOASTA=&/S,
EXITSTA=SCENLOAD
TRANSACT ID=BT1-04,
DESC='SAMP Pages',
NAME=W2H,
APPL=W2H-DIR,
TYPE=4,
STARTUP=1,
TERMINAL=BT
TRANSACT ID=BT1-05,
DESC='DOC Pages',
NAME=DOC,
APPL=DOC-DIR,
TYPE=4,
STARTUP=1,
TERMINAL=BT
TRANSACT ID=BT1-72,
DESC='Directory upload',
NAME=uplw2h,
APPL=VIR0041C,
TYPE=2,
TERMINAL=BT,
LOGMSG=W2H-DIR,
STARTUP=2