AS/400 - OPNQRY y RPGILE

 
Vista:

OPNQRY y RPGILE

Publicado por Izaskun (2 intervenciones) el 07/06/2010 15:19:45
Buenas tardes:

Tengo un problema al hacer un OPNQRY de un fichero y el programa que trata la información del OPNQRY es un programa en RPG ILE. No hace correctamente la selección de registros (QRYSLT). He hecho el mismo OPNQRY pero con un programa RPG y si que me hace correctamente la selección. ¿Es posible hace un OPNQRY con RPGILE?

Esto
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

RE:OPNQRY y RPGILE

Publicado por Manuel Juarez (1 intervención) el 07/06/2010 21:59:22
El OPNQRYF unicamente te abre una vista de tu base de datos, para verificar que te esta haciendo bien la seleccion utiliza el siguiente comando CPYFRMQRYF depues del OPNQRYF, esto es antes de llamar tu programa. Trabaja sin ningun problema con RPG y RPGLE.

Manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPNQRY y RPGILE

Publicado por Izaskun (2 intervenciones) el 08/06/2010 09:03:22
Buenos días:
En el foro encontre la sentencia CPYFRMQRYF y la probe. Exactamente el OPNQRYF lo hace correctamente, pero a la hora de tratar la información en el programa, en el caso del RPG me lo hace correctamente y en el caso del RPGILE no. No se si habrá que definirlo de alguna manera en especial. También he probado ha abrir el fichero manualmente. Para hacer las pruebas estoy haciendo un debug del programa RPGILE.

Mi programa de pruebas es el siguiente:

PGM
DCL VAR(&FDC) TYPE(*CHAR) LEN(8)
DCL VAR(&FHC) TYPE(*CHAR) LEN(8)

CHGVAR VAR(&FDC) VALUE('20091101')
CHGVAR VAR(&FHC) VALUE('20100430')

OVRDBF FILE(PDCOZLB) SHARE(*YES)

OPNQRYF FILE((PDCOZLB)) QRYSLT('OZFALT *EQ %RANGE(' +
*CAT &FDC *CAT ' ' *CAT &FHC *CAT ') ') +
KEYFLD((OZART) (OZFCH))

CPYFRMQRYF FROMOPNID(PDCOZLB) TOFILE(PRISO/KAIXO) +
CRTFILE(*YES)

CALL PGM(PRV490C) /* RPG */
CALL PGM(PRV490B) /* RPGILE */

CLOF PDCOZLB
DLTOVR *ALL
ENDPGM

* ------------------------------------------------------------------
H DEBUG DECEDIT('0,') DATEDIT(*DMY.)
* ------------------------------------------------------------------
FPDCOZLB IF E K DISK
* ------------------------------------------------------------------
** 1ª Lectura de PDCOZ
*
C READ RGPDCOZ 73
*
C SETON LR
*

Muchas gracias por la colaboración.
Un saludo
Izaskun
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPNQRY y RPGILE

Publicado por Manuel (15 intervenciones) el 08/06/2010 22:21:10
De acuerdo a tu CL, despues de correr el programa RPG tu archivo ya quedo en el ultimo registro, cuando corres el RPGLE no te lee nada porque encuentra el fin de archivo.
Tienes que cerrar el OPNQRYF y abrirlo nuevamente antes de correr en programa RPGLE.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:OPNQRY y RPGILE

Publicado por Fer (1 intervención) el 03/08/2010 08:24:27
Haz el OVRDBF con *JOB, puede que el RPGLE lo tengas compilado para abrir otro grupo de activacion y por eso no te lo toma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar