AS/400 - Apyuda en Programacion CLP

 
Vista:

Apyuda en Programacion CLP

Publicado por Francisco Delgado (45 intervenciones) el 07/04/2010 19:01:18
Hola buenas tardes, disculpen la molestia pero necesito ayuda de un experto y encontre esta pagina.
Bueno ,, lo que necesito y claro si me pueden ayudar por favor con lo siguiente:

Tengo un programa que realiza el reseteo de usuarios en AS400, pero este CL lo ejecuta un help de la empresa donde trabajo, pero me solicitaròn
si lo puedo hacer mediante un menu para que ellos ya no ejecuten este CL de forma manual.

El favor que te solicito es el sig. como puedo hacer para que este programa sea parte de una opcion de menu y que cuando digiten la opcion pregunte
que usuario sera al que se le realice el reset ??

Programa que ejecuta el reset.

/* PROCESO ESPECIAL CAMBIO REALIZADO POR EDUARDO MALDONADO */
PGM PARM(&SOLIC)
DCL VAR(&SOLIC) TYPE(*CHAR) LEN(10)
DCL VAR(&PREF) TYPE(*CHAR) LEN(5)
CHGVAR VAR(&PREF) VALUE(%SST(&SOLIC 1 5))
/* SOLICITUD DE JUNA MANUEL 17 JUL 00 */
IF COND(&SOLIC = QSECOFR) THEN(GOTO CMDLBL(NOAUT))
IF COND(&SOLIC = ADMONSEC) THEN(GOTO +
CMDLBL(NOAUT))
IF COND(&SOLIC = SOPORTEEM) THEN(GOTO +
CMDLBL(NOAUT))
IF COND(&PREF = SOPOR) THEN(GOTO CMDLBL(NOAUT))
IF COND(&PREF = OPERA) THEN(GOTO CMDLBL(NOAUT))
NORMAL: CHGUSRPRF USRPRF(&SOLIC) PASSWORD(&SOLIC) PWDEXP(*YES +
STATUS(*ENABLED)
MONMSG MSGID(CPF2204) EXEC(GOTO CMDLBL(NOESTA))
GOTO CMDLBL(CAMBIO)
IGUAL: CHGUSRPRF USRPRF(&SOLIC) PASSWORD(&SOLIC) PWDEXP(
STATUS(*ENABLED)
MONMSG MSGID(CPF2204) EXEC(GOTO CMDLBL(NOESTA))
GOTO CMDLBL(CAMBIO)
NUNCA: CHGUSRPRF USRPRF(&SOLIC) PASSWORD(&SOLIC) PWDEXP(*NO) +
STATUS(*ENABLED) PWDEXPITV(*NOMAX
MONMSG MSGID(CPF2204) EXEC(GOTO CMDLBL(NOESTA))
GOTO CMDLBL(CAMBIO)
/* NOESTA: SNDMSG MSG('* * * ATENCION * * * EL USUARIO ' *CAT +
&SOLIC *CAT ' NO EXISTE |||') TOUSR(QSYSOPR/ */
NOESTA: SNDPGMMSG MSG('* * * ATENCION * * * EL USUARIO ' *CAT +
&SOLIC *CAT ' NO EXISTE |||')
GOTO CMDLBL(FIN)
NOAUT: SNDPGMMSG MSG('*** NO TIENE AUTORIDAD PARA CAMBIAR AL +
USUARIO ' *CAT &SOLIC *CAT ' ***')
GOTO CMDLBL(FIN)
CAMBIO: SNDPGMMSG MSG('*** CAMBIO EFECTUADO PARA: ' *CAT +
&SOLIC *CAT ' ***')
FIN: ENDPGM



Programa al que se le necesita adicionar la opcion, puede ser en la opcion 2.
Pero que tengo que hacer ??? para que la opcion2 pueda preguntar que usuario y asi poderlo resetear ??

PGM
DCLF FILE(SOPORTE/DSPUSER)
DCL VAR(&USRPRF) TYPE(*CHAR) LEN(8)
ADDLIBLE LIB(SOPORTE)
MONMSG MSGID(CPF2103)
CICLO: +
SNDRCVF
IF COND(&OPCMENU = 1) THEN(DO)
? DSPUSRPRF TYPE(*BASIC) OUTPUT(*) OUTMBR(*FIRST *REPLACE)
MONMSG MSGID(CPF6801)
ENDDO
IF COND(&OPCMENU = 2) THEN(DO)
GO MAIN
ENDDO
IF COND(&OPCMENU = 3) THEN(DO)
? WRKUSRJOB
MONMSG MSGID(CPA0701)
MONMSG MSGID(CPF6801)
ENDDO
IF COND(&OPCMENU = 5) THEN(DO)
SIGNOFF
ENDDO
GOTO CMDLBL(CICLO)
FIN: +
ENDPGM


Por tu ayuda muchas gracias.

Saludos

Francisco Delgado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder