Buenos días,

Prueba con esta Select, creo que podría funcionar:

SELECT  CAST(SUBSTR(CHAR(CTFCHD), 1, 4) || '-' ||
             SUBSTR(CHAR(CTFCHD), 5, 2) || '-' ||
             SUBSTR(CHAR(CTFCHD), 7, 2) AS VARCHAR(10) CCSID 284)  AS
FECHA,
            CTTVTA, CTFIJ, CTSEG, CTOTR
            FROM JAK001F/JAKCT

Un saludo.


El lun, 2 oct 2023 a las 18:28, SALVADOR SANCHEZ COSTA | INFORGES | (<
[email protected]>) escribió:

> Buenas tardes, tengo que hacer un traspaso masivo de datos del AS400 (de
> muchas tablas) a un PC, creando vistas a partir del select de una tabla en
> una CL.
>
>
>
> /*
> ---------------------------------------------------------------------------*/
>
> /* BORRAR VISTA
>                                                             */
>
> /*
> ---------------------------------------------------------------------------*/
>
>    DLTF
> FILE(QTEMP/VIEW)
>
>    MONMSG MSGID(CPF0000)
>
>
> /*
> ---------------------------------------------------------------------------*/
>
> /* CREAR VISTA - TIPO VENTA - CONDICIONES
> (JAKCT)                             */
>
> /*
> ---------------------------------------------------------------------------*/
>
> /* RUNSQL     SQL('CREATE VIEW QTEMP.VIEW  AS (SELECT
> +                       */
>
> /*            CTFCHD, CTTVTA, CTFIJ, CTSEG, CTOTR
> +                           */
>
> /*            FROM JAK001F/JAKCT)') +
>                      */
>
> /*
> COMMIT(*NONE)                                                   */
>
>
>
>
>    RUNSQL     SQL('CREATE VIEW QTEMP.VIEW  AS (SELECT +
>
>
>                 CAST(SUBSTR(CHAR(CTFCHD), 1, 4) || ''-'' ||
> +
>
>                 SUBSTR(CHAR(CTFCHD), 5, 2) ||  ''-'' ||
> +
>
>                 SUBSTR(CHAR(CTFCHD), 7, 2) AS VARCHAR(10))  AS FECHA,
> +
>
>                 CTTVTA, CTFIJ, CTSEG, CTOTR
> +
>
>                 FROM JAK001F/JAKCT)') COMMIT(*NONE)
>
>
>
>
>
> /*
> ---------------------------------------------------------------------------*/
>
> /* EXPORTANDO DATOS DE QTEMP/VIEW A
> IFS                                       */
>
> /*
> ---------------------------------------------------------------------------*/
>
>    CPYTOIMPF FROMFILE(QTEMP/VIEW)
> +
>
>              TOSTMF('/QS/001SF/SALIDA/AUX_NAC-TIPOVENTA_COND.CSV')
> +
>
>              MBROPT(*ADD)
> +
>
>              FROMCCSID(*FILE) STMFCCSID(*STMF)
> +
>
>              RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM(*NONE)
> +
>
>              STRESCCHR(*STRDLM) RMVBLANK(*TRAILING)
> +
>
>              FLDDLM(';') NUMFLDPAD(*NONE)
> +
>
>              DECPNT(*COMMA) DATFMT(*ISO)
> TIMFMT(*ISO)
>
>
>
> Me iba bien hasta que me han pedido que los campos de fecha, que en el
> AS400 los tengo como campo numéricos de 8,0 (CCAAMMDD), los pase en formato
> fecha (CCAA-MM-DD’), que en ese casso, cuando llega a PC, me mete
> caracteres extraños
>
>
>
>
>
> Si hago una SELECT de la vista creada en el AS400, los datos aparecen
> correctamente.
>
> SELECT * FROM QTEMP/view
>
>
>
>
>
> En el SELECT de la vista he intentado distintas formas, porque no es lo
> mismo en el editor SQL del AS400 que en el programa CL, pero lo haga como
> lo haga, me lelgan caracteres extraños al fichero en el PC.
>
>
>
> Si hago el SELECT del CRTVIEW a un fichero en el editor del AS400, y este
> lo paso a PC con transferencia del client Access, también me hace lo mismo,
> me mete caracteres extraños en la fecha.
>
>
>
> Haciendo una prueba, creando la vista temporal a partir de un fichero con
> el campo definido como fecha:
>
>
> ***************************************************************
>
> *** SLFCP   - PRUEBA FECHAS
>
> ***************************************************************
>
>           R RGSLFCP
>
>             CPBNC           L         COLHDG('FECHA PRUEBA')
>
>
>
> Entonces si me lo hace correctamente:
>
>
>
> Pero claro, esto me obligaría a tener que crear muchas tablas temporales.
>
>
>
>
>
> No se si el problema lo tengo en la parte de crear la vista con los datos,
> o al copiar al IFS por algún problema o incoherencia en la tabla de
> códigos……..
>
>
>
> Alguna idea de como soluconarlo?????
>
>
>
> Gracias.-
>
>
>
>
>
>
>
> *AVISO SOBRE CONFIDENCIALIDAD:*
>
>
>
>
> *Los datos personales que forman parte de este correo electrónico son
> tratados por Inforges IT Services, SL con la finalidad de mantenimiento de
> contactos. Los datos se han obtenido con su consentimiento o como
> consecuencia de una relación jurídica previa. Puede usted ejercitar los
> derechos de acceso, rectificación, cancelación y oposición así como obtener
> más información solicitándolo al remitente de este correo electrónico. La
> información contenida en el presente mensaje de correo electrónico es
> confidencial y su acceso únicamente está autorizado al destinatario
> original del mismo, quedando prohibidos cualquier comunicación,
> divulgación, o reenvío, tanto del mensaje como de su contenido. Inforges IT
> Services, SL no puede asumir la responsabilidad derivada de que terceras
> personas puedan llegar a conocer el contenido del mensaje durante su
> transmisión. En el supuesto de que usted no sea el destinatario autorizado,
> le rogamos borre el contenido del mensaje y nos comunique dicha
> circunstancia a través de un mensaje de correo electrónico a la dirección
> [email protected] <[email protected]> o al teléfono 968 350 011. *
> ____________________________________________________
> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
> Forum.Help400 � Publicaciones Help400, S.L.
>
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 � Publicaciones Help400, S.L.

Reply via email to