CPP de la commande SNDNETOBJ

BoTTom |
             PGM        PARM(&OBJ &LIB &RMTNAM &PWD &TYP &AUTO &F4 &MBR)
             DCL &OBJ  *CHAR 10
             DCL &LIB  *CHAR 10
             DCL &RMTNAM *CHAR 10
             DCL &PWD  *CHAR 10
             DCL &TYP  *CHAR 8
             DCL &AUTO *CHAR 4
             DCL &F4   *LGL
             DCL &MBR  *CHAR 10
             DCL &CMD  *CHAR 32
 /* VARIABLES UTILISEES PAR LA GESTION DE MESSGAES */
             DCL        &ERRORSW *LGL                     /* SWITCH  */
             DCL        &MSGID *CHAR LEN(7)               /* ID MSG  */
             DCL        &MSGDTA *CHAR LEN(100)            /* DATA    */
             DCL        &MSGF *CHAR LEN(10)               /* FICHIER */
             DCL        &MSGFLIB *CHAR LEN(10)            /* BIBLI   */
             DCL        VAR(&EXEC) TYPE(*CHAR) LEN(1024)
             DCL        VAR(&LG) TYPE(*DEC) LEN(15 5) VALUE(1024)
             DCL        VAR(&CHG) TYPE(*LGL)
             MONMSG     MSGID(CPF0000) EXEC(GOTO ERREUR)
 
 /* CORPS DU PROGRAMME */
 
             CLRSAVF    FILE(AF4TOOL/LOCSAVF)
             RCVMSG     MSGTYPE(*COMP)
             IF (&OBJ *EQ '*CHG') DO
                CHGVAR &CHG '1'
                CHGVAR &EXEC 'SAVCHGOBJ'
                IF &F4 +
                CHGVAR &EXEC (&EXEC *BCAT '??REFDATE() ??REFTIME()')
                CHGVAR &OBJ  '*ALL'
             ENDDO
             ELSE DO
                CHGVAR &CHG '0'
                CHGVAR &EXEC 'SAVOBJ'
             ENDDO
             IF &F4 DO
                CHGVAR &EXEC VALUE(&EXEC *BCAT +
    '??OBJ(' *CAT &OBJ *TCAT ') ?*LIB(' *CAT &LIB *TCAT ') DEV(*SAVF) +
     ?*OBJTYPE(' *CAT &TYP *TCAT ') SAVF(LOCSAVF) UPDHST(*NO) +
     ??PRECHK(*N) ??ACCPTH(*N) ??SAVFDTA(*N)' )
 
               IF  COND((&TYP *EQ '*FILE') & (*NOT &CHG)) THEN(DO)
                CHGVAR &EXEC VALUE(&EXEC *BCAT +


|
              '??FILEMBR((' *CAT &OBJ *BCAT '(' *CAT &MBR *TCAT ')))' )
               ENDDO
               ELSE DO
                CHGVAR &EXEC VALUE(&EXEC *BCAT +
              '??FILEMBR()' )
               ENDDO
             CALL       PGM(QCMDCHK) PARM(&EXEC &LG)
             ENDDO
             ELSE DO
                CHGVAR &EXEC VALUE(&EXEC *BCAT +
       'OBJ(' *CAT &OBJ *TCAT ') LIB(' *CAT &LIB *TCAT ') DEV(*SAVF) +
        OBJTYPE(' *CAT &TYP *TCAT ') SAVF(LOCSAVF) UPDHST(*NO)' )
 
             IF         COND((&TYP *EQ '*FILE') & (&MBR *NE '*ALL') +
                          & (*NOT &CHG)) THEN(DO)
                CHGVAR &EXEC VALUE(&EXEC *BCAT +
                'FILEMBR((' *CAT &OBJ *BCAT '(' *CAT &MBR *TCAT ')))' )
               ENDDO
             ENDDO
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) +
                          MSGDTA('Sauvegarde des objets') +
                          TOPGMQ(*EXT) MSGTYPE(*STATUS)
             CALL       PGM(QCMDEXC) PARM(&EXEC &LG)
 
             CPYSAVF    FROM(AF4TOOL/LOCSAVF) FROMSAVF(*YES) +
                          TO(AF4TOOL/TMPSAVF) TOSAVF(*NO) +
                          OPTION(*REPLACE) CRTFILE(*YES)
             FTS        OPTION(*SND) RMTS36(*NO) RMTLOCNAME(&RMTNAM) +
                          PASSWORD(&PWD) FROMFILE(TMPSAVF) +
                          REPLACE(*YES) FROMLIB(AF4TOOL)
             CLRSAVF    FILE(AF4TOOL/LOCSAVF)
             IF (&AUTO = '*YES') DO
             SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Demande +
                          de réception émise') TOPGMQ(*EXT) +
                          MSGTYPE(*STATUS)
             CHGVAR     VAR(&CMD) VALUE('RMTASCMD CMD( +
                          AF4TOOL/RCVNETOBJ ' !! &LIB !! ') +
                          DDMFILE(*RMTLOCNAME) RMTLOCNAME(' +
                          !! &RMTNAM !! ')')
             CALL QCMDEXC PARM(&CMD 512)
             ENDDO
 
 /* RENVOI DES MESSAGES DE TYPE *COMP SI FIN NORMALE */
 INFOMSG:    RCVMSG     MSGTYPE(*INFO) MSGDTA(&MSGDTA) MSGID(&MSGID) +


|
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             IF         (&MSGID *EQ '       ') GOTO COMPMSG
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*INFO)
             GOTO       INFOMSG /* BOUCLE SUR MESSAGES *COMP      */
 COMPMSG:    RCVMSG     MSGTYPE(*COMP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             IF         (&MSGID *EQ '       ') RETURN  /* FIN DU PGM */
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*COMP)
             GOTO       COMPMSG /* BOUCLE SUR MESSAGES *COMP      */
 
              /*----------------------------------------*/
 ERREUR:      /*        GESTION DES ERREURS             */
              /*----------------------------------------*/
             IF         &ERRORSW SNDPGMMSG MSGID(CPF9999) +
                          MSGF(QCPFMSG) MSGTYPE(*ESCAPE) /* 2EME FOIS*/
                                                         /* ARRET PGM*/
             CHGVAR     &ERRORSW '1' /* MISE EN PLACE DU SWTICH     */
 
 /* RENVOI DES MESSAGES DE TYPE *DIAG SI FIN ANORMALE */
 DIAGMSG:    RCVMSG     MSGTYPE(*DIAG) MSGDTA(&MSGDTA) MSGID(&MSGID) +
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             IF         (&MSGID *EQ '       ') GOTO EXCPMSG
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*DIAG)
             GOTO       DIAGMSG /* BOUCLE SUR MESSAGES *DIAG      */
 
 /* RENVOI DU MESSAGE D'ERREUR                        */
 EXCPMSG:    RCVMSG     MSGTYPE(*EXCP) MSGDTA(&MSGDTA) MSGID(&MSGID) +
                          MSGF(&MSGF) MSGFLIB(&MSGFLIB)
             SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
                          MSGDTA(&MSGDTA) MSGTYPE(*ESCAPE)
             ENDPGM




©AF400