Es que no entiendo la razón de utililzar un archivo de detalle de líneas de pedido y querer leer sólo registros de cabecera... ¿qué datos de las línes de pedido necesitas que te entregue el opnqryf?  ¿es que necesitas obligatoriamente que el formato de entrada sea el del archivo de join?  ¿O es que necesitas campos de las tablas relacionadas con la cabecera de pedido?  Y no veo que tengas una agrupación de campos: en el opnqryf la palabra clave para la agrupación es GRPFLD.

Vamos, que si quieres utilizar si o si el archivo en cuestión, se me ocurre que hagas GRPFLD con los campos que tienen valor único para cada pedido (los campos de la cabecera, y , eventualmente, los de tablas relacionadas 1:1 con esta), y para los campos de relación 1:n utilices MAPFLD, dando bien un valor por defecto si no lo vas a usar , o un valor de sumarización (SUM, MAX, MIN, etc)

Saludos
Jesus Busquets



Metalkris, s.a. escribió:
Metalkris
Perdona Jesús,  la cosa va más por el último párrafo, la cabecera sale ó no dependiendo de lo que "saque" el QRYSLT de  las líneas. Los registros están agrupados como ves por un campo de zona, otro de fecha de entrega y por nº de pedido, y claro solo quiero procesar el 1º que me encuentro por cada pedido.
 
-----Mensaje original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]En nombre de Jesus Busquets
Enviado el: martes, 31 de octubre de 2006 10:28
Para: Foro400 List Member
Asunto: [Foro400] OPNQRYF {1}

¿Y por que no procesas directamente el archivo de cabecera de pedidos? 
Si quieres procesar solo el primer registro, es que el detalle de las líneas no te interesa.
Y si si que te interesa, será porque es necesaria alguna agrupación/sumarización... esto se puede hacer también con el opnqryf, podrías agrupar  por número de pedido.

Saludos
Jesus Busquets
Grespania, SA

Metalkris, s.a. escribió:
Buenos días a todos, no se si podréis echarme una mano con un OPNQRYF que tengo,  es este:
 
 OPNQRYF    FILE((ALMCP11CA)) OPTION(*INP) +          
             QRYSLT('G2CANR *NE 0 *AND G2AEDI *EQ " +
             "') KEYFLD((B0USUA) (G2FEEN) (G2NUPE))  
 
a primera vista es sencillo, el fichero de entrada es un JOIN de cinco ficheros físicos, dos de ellos corresponden a una cartera de pedidos (cabeceras y líneas) por lo tanto como podéis deducir salen tantos registros como líneas tienen los pedidos, esto tiene que ser así para una parte del proceso, pero ... ahora viene la siguiente y motivo de la consulta ¿puedo procesar solo el primer registro de cada pedido? o lo que es lo mismo el registro de cabecera de cada pedido. Yo no se si esto es un imposible para el OPNQRYF.
 
Gracias anticipadas.
 
Fernando Sánchez Piña
Proceso de Datos
 

Responder a