Un ejemplo por si te sirve de algo para empezar:

 

Donde   S es una unidad de red en el pc, donde tengo los archivos planos recibidos,

y  H es la unidad que hace referencia a la carpeta del AS400.

 

              PGM        PARM(&REP)                                    

                                                                      

              DCL        VAR(&REP) TYPE(*CHAR) LEN(3)                 

                                                                      

              STRPCO     PCTA(*NO)                                    

              MONMSG     MSGID(CPF0000)                               

                                                                      

 /*     Copia datos de carpeta del Servidor a QDLS                   */

                                                                      

              STRPCCMD   PCCMD('copy s:\REP_AS400\rep' *CAT &REP +    

                           *CAT '\repre' *CAT &REP *CAT '.txt +       

                           h:\barto\*.*') PAUSE(*NO)                  

                                                                      

              CPYFRMPCD  FROMFLR(BARTO) TOFILE(biblioteca/FCPLANO) +        

                           FROMDOC(REPRE *CAT &REP *CAT '.TXT')       

 

 

              Call   rpg    programa que distribuye los datos……

 

             ENDPGM

 

Saludos

Paco Medina

Exclusivas Camacho, S.Ltda.

Dtor.Informatica

 


De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] En nombre de miguel miguel
Enviado el: jueves, 29 de junio de 2006 12:35
Para: [email protected]
Asunto: Re: Traer un fichero plano desde un SQL server

 

Esta me ha gustado, me parece intuir que las carpetas compartidas desde windows aparecen en /qntc voy a investigar esto... por que no sé como va,  ¿hay que hacer algo especial en el i5 o en el windows  para que aparezcan ahí las carpetas compartidas?

 

si abuso, me lo decis y RTFM...

 

gracias Alex, Paco

 

On 6/29/06, alex martinez <[EMAIL PROTECTED]> wrote:

Una solución sencilla sería partir de tener ya creado el archivo plano en el servidor Windows, lo que elimina de la ecuación la "variable SQL".

Tienes muchas posibilidades, pero una opción que utilizo con frecuencia es realizar un CPYFRMSTMF utilizando el sistema de archivo /QNTC.

Un CL con 2 mandatos es suficiente:

CRTPF FILE(AJUT400/FPLANO) RCDLEN(2048)

CPYFRMSTMF FROMSTMF('/qntc/pcwindows/dircompartido/fplano.txt')
TOMBR('/qsys.lib/ajut400.lib/fplano.file/fplano.mbr')
MBROPT(*REPLACE) STMFCODPAG(*PCASCII)

Por supuesto, el servidor windows (en el ejemplo "pcwindows") debe tener un directorio compartido (en el ejemplo "dircompartido")

Y es muy sencillo planificar el CL como una tarea con WRKJOBSCDE para que se inicie a la hora/dia que consideres necesario.

 

2006/6/29, miguel miguel <[EMAIL PROTECTED]>:

Dos respuestas y aún me olvido de la versión, perdón, perdón, visteme despacio que tengo prisa... ufff la máquina está en v5r3


saludos
 

On 6/29/06, alex martinez < [EMAIL PROTECTED] > wrote:

Hola:

No entiendo que quieres decir con un "fichero plano desde un SQL server" y te pregunto:

¿es un fichero plano en el as400 o en SQL server?
¿si es un fichero plano en origen, qué utilidad tiene el SQL server?

Las posibilidades varían dependiendo de la versión del OS400 ¿cual utilizas?
¿ambos sistemas estan en una red local?

En fin, repito lo de "mejores preguntas, mejores respuestas".

2006/6/29, miguel miguel <[EMAIL PROTECTED]>:

Tengo que traer en un proceso nocturno desatendido un fichero plano desde un SQL server a una biblioteca del 400, se me han ocurrido varias formas, pero me gustaría saber sus pro y contras ya que no tengo experiencia en ninguna de ellas:

 

1º por fpt

2º hacer un connet desde sql al sql server y luego un select into

3º dejarlo con un bat en un directorio del 400 y usar un pgm rpg para leerlo

 

4º ????? alguien aporta algo...

 

me gustaría saber cual considerais la más correcta, antes de investigarla.

 

Gracias.

miguel

 




--
Mi blog sobre as400
http://www.ajut400.com


 




--
Mi blog sobre as400
http://www.ajut400.com

 

Responder a