Compañeros:

Quería ver si alguien me puede dar ideas que debo hacer para solventar el 
siguiente inconveniente que tengo en un programa RPGLE.


Tengo un programa que lee un archivo (REAR01, tiene varios registros), con los 
datos del registros ejecuto un comando remoto (

CALLP     ExecCmd('RUNRMTCMD CMD(' +SQuote +
C                             %TRIM(XPASA)+  SQuote + ')'+
C                             ' RMTLOCNAME('+%TRIM(PAEQFI)+  ' *IP)'+
C                             ' RMTUSER('+ %TRIM(PAUSSY) +')' +
C                             ' RMTPWD('+%TRIM(ZACLAV)+ ')')

me ejecuta pero el archivo (REAR01) se cierra y al realizar el siguiente READ 
me sale el mensaje que hay un problema y que se trata de leer un archivo 
cerrado, en cambio cuando ejecuto un comando que no es remoto no se presenta 
este problema.

CALLP     ExecCmd('SAVRSTOBJ OBJ('+%TRIM(ODOBNM)+ ')'+
          ' LIB('+%TRIM(PALIBO)+ ')'+
          ' RMTLOCNAME('+%TRIM(PAEQTE)+ ')'+
          ' MBROPT(*ALL)'+ ' ALWOBJDIF(*ALL)'+
          ' RSTLIB('+%TRIM(ORIGENO)+ ')')



El fuente del programa es:


C                   Read      REAR01                                 30
C                   DOW       *IN30 = '0'
C                   IF        XTIPO  = 'F'                                 
FISICOS
C                   IF        ODOBAT = 'PF' or  ODOBAT = 'PF38'
C                   exsr      SBRSAV
C                   ENDIF
C                   ELSE                                                   
LOGICOS
C                   IF        ODOBAT = 'LF' or  ODOBAT = 'LF38'
C                   exsr      SBRSAV
C                   ENDIF
C                   ENDIF
C                   Read      REAR01                                 30
C                   ENDDO


C     SBRSAV        BEGSR
C                   IF        ExecCmd('CHKOBJ OBJ('+%TRIM(PALIBO)+'/'+
C                             %TRIM(ODOBNM)   +
c                             ') OBJTYPE(*FILE)') = *on
C                   move      *blanks       xPASA           200
C*                  move      *blanks       ZPASA           200
C                   move      'D'           XENCLV            1
C                   move      *BLANKS       ZACLAV            8
C                   move      PACLSY        YACLAV           10
c                   CALL      'GENF100'
c                   PARM                    XENCLV
c                   PARM                    YACLAV
C                   movel     YACLAV        ZACLAV
C                   EVAL      XPASA  = 'SAVRSTOBJ OBJ('+%TRIM(ODOBNM)+ ')'+
C                             ' LIB('+%TRIM(PALIBO)+ ')'+
C                             ' RMTLOCNAME('+%TRIM(PAEQTE)+ ')'+
C                             ' MBROPT(*ALL)'+ ' ALWOBJDIF(*ALL)'+
C                             ' RSTLIB('+%TRIM(ORIGENO)+ ')'
C                   CALLP     ExecCmd('RUNRMTCMD CMD(' +SQuote +
C                             %TRIM(XPASA)+  SQuote + ')'+
C                             ' RMTLOCNAME('+%TRIM(PAEQFI)+  ' *IP)'+
C                             ' RMTUSER('+ %TRIM(PAUSSY) +')' +
C                             ' RMTPWD('+%TRIM(ZACLAV)+ ')')
C                   ELSE
C                   move      '1'           XERRO1
C                   CALLP     ExecCmd('SNDMSG MSG(' +
C                             '''ERROR NO EXISTE OBJETO:  '+
C                             %TRIM(ODOBNM)+ ''')'+' TOUSR('+W0USID+')')
C                   CallP     SbrLog(40)
C                   ENDIF
C                   ENDSR


En spool se tiene la ejecución del comando remoto:

Archivo . . . . :   QSYSPRT                                                     
                       Página/Línea  1/6
Control . . . . .                                                               
                         Columnas    1 - 130
Buscar. . . . . .
*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....+....1....+....2....+....3
Trabajo 204353/QUSER/I1045A1F arrancado en el sistema DESARRID.
Se han salvado 1 objetos de la biblioteca LIBFUENTES.
Los mensajes siguientes proceden de la ubicaci¢n remota DESARRID.
Biblioteca QSR a€adida a la lista de bibliotecas.
1 objetos restaurados desde LIBFUENTES a DVMCOMUN.
1 objetos salvados y almacenados.


Como debo hacer para que no se produzca este inconveniente (cerrar el archivo).



En Diners Club cuidamos el planeta; REDUCIMOS, RECICLAMOS Y REUTILIZAMOS los 
recursos que usamos.

Nota de descargo: La información contenida en este e-mail y sus anexos es 
confidencial y sólo puede ser utilizada por el destinatario del mismo. Esta 
información no debe ser distribuida, ni copiada total o parcialmente por ningún 
medio sin la autorización de DINERS/INTERDIN. Además, DINERS/INTERDIN no asume 
responsabilidad sobre información, opiniones o criterios contenidos en este 
e-mail.

Disclaimer: The information contained in this e-mail and its attached files are 
confidential and intended only for the use of the person to which it is 
addressed. This information can not be totally or partially distributed nor 
copied by any media without the authorization from DINERS/INTERDIN. In 
addition, DINERS/INTERDIN does not assume responsibility about this 
information, opinions or criteria contented in this e-mail.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a