/*================================================================================================*/ /* Source: crtmod - CPP for Command CRTMOD */ /* */ /* Desc: This module is the CPP for command CRTMOD, used to create *MODULE objects */ /* based on member type found in source file. */ /* */ /* Input parms: */ /* Module Library/Name */ /* Source File Library/Name */ /* Source Member */ /* Option (*NOEVENTF,*EVENTF) */ /* */ /* Output parms: */ /* None */ /* */ /*================================================================================================*/ PGM PARM(&MODULE &SRCFILE &SRCMBR &OPTION) DCL VAR(&MODULE) TYPE(*CHAR) LEN(20) DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(20) DCL VAR(&SRCMBR) TYPE(*CHAR) LEN(10) DCL VAR(&OPTION) TYPE(*CHAR) LEN(10) DCL VAR(&MODLIB) TYPE(*CHAR) LEN(10) DCL VAR(&MODNAME) TYPE(*CHAR) LEN(10) DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10) DCL VAR(&SRCNAME) TYPE(*CHAR) LEN(10) DCL VAR(&SRCTYPE) TYPE(*CHAR) LEN(10) DCL VAR(&ERRMSG) TYPE(*CHAR) LEN(255) /*================================================================================================*/ /* Parse Lib/Name from Parms */ /*================================================================================================*/ CHGVAR VAR(&MODNAME) VALUE(%SST(&MODULE 1 10)) CHGVAR VAR(&MODLIB) VALUE(%SST(&MODULE 11 10)) CHGVAR VAR(&SRCNAME) VALUE(%SST(&SRCFILE 1 10)) CHGVAR VAR(&SRCLIB) VALUE(%SST(&SRCFILE 11 10)) IF COND(&SRCMBR *EQ '*MODULE') THEN(CHGVAR + VAR(&SRCMBR) VALUE(&MODNAME)) /*================================================================================================*/ /* Retrieve Source Type */ /*================================================================================================*/ RTVMBRD FILE(&SRCLIB/&SRCNAME) MBR(&SRCMBR) + SRCTYPE(&SRCTYPE) MONMSG MSGID(CPF0000) EXEC(DO) CHGVAR VAR(&ERRMSG) VALUE('Error Retrieving Member + Description for ' *CAT &SRCLIB *TCAT '/' + *TCAT &SRCNAME *TCAT '(' *TCAT &SRCMBR + *TCAT ').') GOTO CMDLBL(SNDPGMMSG) ENDDO /*================================================================================================*/ /* If Source Type is CLLE, Use CRTCLMOD */ /*================================================================================================*/ IF COND(&SRCTYPE = 'CLLE') THEN(DO) CRTCLMOD MODULE(&MODLIB/&MODNAME) + SRCFILE(&SRCLIB/&SRCNAME) SRCMBR(&SRCMBR) + OPTION(&OPTION) GOTO CMDLBL(ENDPGM) ENDDO /*================================================================================================*/ /* If Source Type is RPGLE, Use CRTRPTMOD */ /*================================================================================================*/ IF COND(&SRCTYPE = 'RPGLE') THEN(DO) CRTRPGMOD MODULE(&MODLIB/&MODNAME) + SRCFILE(&SRCLIB/&SRCNAME) SRCMBR(&SRCMBR) + OPTION(&OPTION) GOTO CMDLBL(ENDPGM) ENDDO /*================================================================================================*/ /* If Source Type is SQLRPGLE, Use CRTSQLRPGI */ /*================================================================================================*/ IF COND(&SRCTYPE = 'SQLRPGLE') THEN(DO) CRTSQLRPGI OBJ(&MODLIB/&MODNAME) + SRCFILE(&SRCLIB/&SRCNAME) SRCMBR(&SRCMBR) + OBJTYPE(*MODULE) OPTION(&OPTION) GOTO CMDLBL(ENDPGM) ENDDO /*================================================================================================*/ /* If Source Type NOT Found, Send Error Message */ /*================================================================================================*/ CHGVAR VAR(&ERRMSG) VALUE('Source Type "' *CAT + &SRCTYPE *TCAT '" NOT Supported by + CRTMODWU Command. Module: ' *CAT &MODLIB + *TCAT '/' *TCAT &MODNAME *TCAT ' Source: + ' *CAT &SRCLIB *TCAT '/' *TCAT &SRCNAME + *TCAT '(' *TCAT &SRCMBR *TCAT ').') SNDPGMMSG: SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&ERRMSG) + MSGTYPE(*ESCAPE) ENDPGM: ENDPGM