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.

  1. 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.

  1. Assemble the modified TCT and SCENLOAD into the VIRTEL LOADLIB using the ASMTCT and ASMSCEN procedures located in the VIRTEL CNTL library.

  1. 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))
    
  1. 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