esta esta  utileria que te convierte un PF a .csv con los nombres de los campos, checalo y espero te sirva
 
 
Saludos

Gerardo Santillana
IT Department
Delphi Mechatronic Systems
Phone USA  (956) 554 5832
Phone MX  01868 8128163   x.5832

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]On Behalf Of Xabier Jaka (DHL ES)
Sent: Thursday, May 19, 2005 8:48 AM
To: [email protected]
Subject: [Help400] Paso de un fichero al IFS

Hola a todos,

Conoce alguno como se puede hacer, , o si hay una utilidad hecha para pasar un fichero con la descripci�n de los campos  usando el mandato CPYTOIMPF.

Cuando lo ejecuto pasa en el formato que le digo, por ejemplo CSV (para poder verlo a trav�s de Excel), pero pierdo todos las descripciones de cada campo.

Hay alguna forma de hacerlo sin que pierda el nombre de la descripci�n del campo?

 

Saludos cordiales,

 

Xabier Jaka

Departamento de inform�tica

I.S

DHL Express Iberia
----------------------------
DHL Express Iberia S.L
[EMAIL PROTECTED]

www.dhl.es

 

****************************************************************************************

Note: The information contained in this message may be privileged and confidential and thus protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you.

****************************************************************************************
/*   PROGRAM :  CPYTOXLS    VERSION 2.00                          */
/*   SYSTEM  :  ISERIES     V5RX                                  */
/*   AUTHOR  :  HERMAN VAN DER STAEY        AUGUST 12, 2002       */
/*                                                                */
/*   COPY DATABASE FILE TO EXCEL FORMAT                           */
/*   AND INCLUDE (ALIAS) FIELD NAMES.                             */
/*                                                                */
/*   THE FILE WILL BE COPIED TO CSV FORMAT (COMMA SEPARATED       */
/*   VALUES), WHICH CAN DIRECTLY BE IMPORTED IN EXCEL IF          */
/*   YOU GIVE THE FILENAME THE EXTENSION ".CSV"                   */
/*                                                                */
/*   TO COMPILE :                                                 */
/*                                                                */
/*           CRTCLPGM   PGM(XXX/CPYTOXLS) SRCFILE(XXX/QCLSRC)     */
/*                                                                */

CPYTOXLS:   PGM        PARM(&FILE &FROMMBR &TOFILE &TODIR +
                          &FIELDNAMES &ALIAS)

             DCLF       FILE(QSYS/QADSPFFD) /* FILE FIELD REFERENCE +
                                       FILE */
             DCL        VAR(&FILE)     TYPE(*CHAR) LEN(20)
             DCL        VAR(&FROMFILE) TYPE(*CHAR) LEN(10)
             DCL        VAR(&FROMLIB)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&FROMMBR)  TYPE(*CHAR) LEN(10)
             DCL        VAR(&TOFILE)   TYPE(*CHAR) LEN(64)
             DCL        VAR(&TODIR)    TYPE(*CHAR) LEN(128)
             DCL        VAR(&TOSTMF)   TYPE(*CHAR) LEN(193)
             DCL        VAR(&MBROPT)     TYPE(*CHAR) LEN(10)
             DCL        VAR(&MBROPT) TYPE(*CHAR) LEN(10)
             DCL        VAR(&NOT_FIRST) TYPE(*LGL) LEN(1) VALUE('0')
             DCL        VAR(&FIELDNAMES) TYPE(*LGL)
             DCL        VAR(&ALIAS) TYPE(*LGL)
             DCL        VAR(&ST) TYPE(*CHAR) LEN(1024)
             DCL        VAR(&COMMA) TYPE(*CHAR) LEN(1) VALUE(',')
             DCL        VAR(&DBLQUOTE) TYPE(*CHAR) LEN(1) VALUE('"') +
                          /* DOUBLE QUOTE */

             CHGVAR     VAR(&FROMFILE) VALUE(%SST(&FILE 1 10))
             CHGVAR     VAR(&FROMLIB)  VALUE(%SST(&FILE 11 10))
             CHGVAR     VAR(&TOSTMF) VALUE(&TODIR *TCAT '/' *CAT +
                          &TOFILE)

             IF         COND(&FIELDNAMES) THEN(CHGVAR VAR(&MBROPT) +
                          VALUE(*ADD))
             ELSE       CMD(CHGVAR VAR(&MBROPT) VALUE(*REPLACE))


             IF         COND(&FIELDNAMES) THEN(DO) /* FIELDNAMES */

             DSPFFD     FILE(&FROMLIB/&FROMFILE) OUTPUT(*OUTFILE) +
                                       OUTFILE(QTEMP/FIELDNAMES)

              OVRDBF     FILE(QADSPFFD) TOFILE(QTEMP/FIELDNAMES)

  NEXT:       RCVF
              MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(EOF))

              IF         COND(&NOT_FIRST) THEN(CHGVAR VAR(&ST) +
                           VALUE(&ST *TCAT &COMMA))
              CHGVAR     VAR(&NOT_FIRST) VALUE('1')

             IF         COND(&WHALIS *NE ' ' *AND &ALIAS) THEN(DO)
              CHGVAR     VAR(&ST) VALUE(&ST *TCAT &DBLQUOTE *CAT +
                           &WHALIS *TCAT &DBLQUOTE)

              ENDDO
              ELSE       CMD(DO)
              CHGVAR     VAR(&ST) VALUE(&ST *TCAT &DBLQUOTE *CAT +
                          &WHFLDI *TCAT &DBLQUOTE)
              ENDDO

              GOTO       CMDLBL(NEXT)

  EOF:        DLTF       FILE(QTEMP/FIELDNAMES)

              CRTPF      FILE(QTEMP/PF1024) RCDLEN(1024)
              MONMSG     MSGID(CPF5813) EXEC(CLRPFM FILE(QTEMP/PF1024))
              MONMSG     MSGID(CPF7302)
              OVRDBF     FILE(PF1024) TOFILE(QTEMP/PF1024)
              CALL       PGM(WRTPF1024) PARM(&ST) /* CALL THE RPG +
                           PROGRAM */

              CPYTOSTMF  +
                            FROMMBR('/QSYS.LIB/QTEMP.LIB/PF1024.FILE/PF+
                            1024.MBR') TOSTMF(&TOSTMF) +
                            STMFOPT(*REPLACE) STMFCODPAG(*PCASCII) +
                            ENDLINFMT(*CRLF)

               DLTF       FILE(QTEMP/PF1024)

         ENDDO      /* FIELD NAMES */

             CPYTOIMPF  FROMFILE(&FROMLIB/&FROMFILE &FROMMBR) +
                          TOSTMF(&TOSTMF) MBROPT(&MBROPT) +
                          STMFCODPAG(*PCASCII) RCDDLM(*CRLF) +
                          DTAFMT(*DLM) STRDLM(&DBLQUOTE) +
                          FLDDLM(&COMMA) DECPNT(*PERIOD)

   /*   THE PARAMETER  STMFCODPAG(*PCASCII)  CAN BE ADDED          */
   /*   ON THE CPYTOIMPF COMMAND STARTING FROM RELEASE V5R1.       */
   /*   THE FILE IS USELESS FOR EXCEL IF NOT IN ASCII FORMAT.      */
   /*   THE FLDDLM (FIELD DELIMITER) AND DECPNT (DECIMAL POINT)    */
   /*   PARAMETERS MUST CORRESPOND WITH THE SETTINGS ON YOUR PC.   */
   /*   CHECK VIA :                                                */
   /*      START, CONTROL PANEL, REGIONAL SETTINGS, NUMBER         */
   /*      AND VERIFY THE "DECIMAL SYMBOL" AND "LIST SEPARATOR"    */
   /*      SETTINGS.                                               */
   /*      F.E. IN BELGIUM YOU MUST CODE :                         */
   /*                     FLDDLM(';') DECPNT(*COMMA)               */
   /*                                                              */
   /*   TO MAKE THE EXCEL FILE AVAILABLE TO YOUR PC :              */
   /*                                                              */
   /*   1)  YOU CAN FTP THE FILE IN THE IFS TO YOUR PC             */
   /*                                                              */
   /*   2)  YOU CAN  SHARE THE DIRECTORY IN THE IFS VIA            */
   /*       OPERATIONS NAVIGATOR.                                  */
   /*       (CHECK THAT THE NETSERVER IS STARTED AND CONFIGURED.)  */
   /*       ON THE PC YOU CAN MAP THE SHARED DIRECTORY TO A DRIVE  */
   /*       LETTER. EXAMPLE :                                      */
   /*       NET USE  X:  \\AS400NETSERVERNAME\SHARENAME            */

 END:        ENDPGM
     H*****************************************************************
     H*
     H*  PROGRAM :   WRTPF1024
     H*
     H*  ADD A RECORD TO FILE PF1024
     H*
     H*
     H*  TO COMPILE :
     H*
     H*        CRTRPGPGM  PGM(XXX/WRTPF1024) SRCFILE(XXX/QRPGSRC)
     H*
     H*****************************************************************
     FPF1024  O   F    1024            DISK                      A
     IOUTREC      DS
     I                                        1 256 PART1
     I                                      257 512 PART2
     I                                      513 768 PART3
     I                                      7691024 PART4
     C           *ENTRY    PLIST
     C                     PARM           OUTREC
     C                     WRITEPF1024    OUTREC
     C                     MOVE *ON       *INLR

Responder a