*ASM XOPTS(SP)                                                          00010001
*        Copyright Russell Evans 2002                                   00020001
**********************************************************************  00030001
*      REENEWC  - newcopy utility                                    *  00040001
**********************************************************************  00050001
*                                                                    *  00060001
* Module Name : REENEWC                                              *  00070001
**********************************************************************  00130001
REENEWC  TITLE   'CICS newcopy utility'                                 00140001
*                                                                       00150001
         DFHREGS ,                                                      00160001
BASEREG  EQU   10                                                       00170001
DATAREG  EQU   4                                                        00180001
INPUTREG EQU   5                                                        00190001
EIBBAR   EQU   6                                                        00200001
*                                                                       00210001
         COPY  DFHAID              Attention Id's                       00220001
         COPY  DFHBMSCA            BMS Attribute bytes                  00230001
*                                                                       00240001
**********************************************                          00320001
*  STORAGE                                                              00330001
**********************************************                          00340001
*                                                                       00350001
DFHEISTG DSECT                                                          00360001
WS_RESP  DS    F                 General purpose resp field             00390001
COPYVAL  DS    F                 Receive newcopy value                  00391001
DATALEN  DS    H                 Length of data on receive              00400001
MSGAREA  DS    0CL41             Build message here                     00401001
         DS    CL5                                                      00402001
MSGPROG  DS    CL8                                                      00403001
         DS    CL18                                                     00404001
MSGOUT   DS    CL10                                                     00405001
         PRINT GEN                                                      00460001
REENEWC  DFHEIENT CODEREG=(BASEREG),EIBREG=(EIBBAR),DATAREG=(DATAREG)   00470001
REENEWC  AMODE 31                                                       00480001
REENEWC  RMODE ANY                                                      00490001
*                                                                       00500001
A100     DS    0H                 Overall processing control            00510001
*                                                                       00520001
         EXEC  CICS RECEIVE                                            *03270001
               SET(INPUTREG)                                           X03300001
               LENGTH(DATALEN)                                         X03301001
               RESP(WS_RESP)                                            03310001
*                                                                       03320001
         MVC   MSGAREA,MSGTEXT              set output text             03330001
         MVC   MSGPROG,=CL8'        '       preset to spaces            03340001
         LH    R1,DATALEN                   get length of receive       03341001
         SH    R1,=H'6'                     just len of pg name -1      03342001
         BM    NEWCOPY_ERROR                no name = error             03343001
         EX    R1,MOVEIT                    move program name           03344001
         EXEC  CICS SET                                                *03351001
               PROGRAM(MSGPROG)                                        X03352001
               NEWCOPY                                                 X03353001
               VERSION(COPYVAL)                                        X03353101
               RESP(WS_RESP)                                            03354001
         CLC   WS_RESP,DFHRESP(NORMAL)                                  03354101
         BNE   NEWCOPY_ERROR                                            03354201
*                                                                       03355001
         MVC   MSGOUT,NEW                   preset to new copy          03356001
         CLC   COPYVAL,DFHVALUE(NEWCOPY)    is it a true newcopy?       03360001
         BE    SENDIT                       yes, send the message       03370001
         MVC   MSGOUT,NOTNEW                say "refreshed"             03371001
SENDIT   DS    0H                                                       03372001
         EXEC CICS SEND TEXT FROM(MSGAREA) ERASE FREEKB NOHANDLE        03380001
         EXEC CICS RETURN                                               03390001
NEWCOPY_ERROR DS 0H                                                     03400001
         MVC   MSGPROG+9(19),MSGERR         say unable to newcopy       03410001
         B     SENDIT                                                   03420001
MOVEIT   MVC   MSGPROG(0),5(INPUTREG)       set program name            03430001
MSGTEXT  DC CL75'RENC xxxxxxxx Program has been '                       04361701
NEW      DC CL10'newcopied'                                             04362001
NOTNEW   DC CL10'refreshed'                                             04362101
MSGERR   DC CL19'Unable to newcopy. '                                   04362201
*                                                                       04370001
         END                                                            04390001
