TCFree

    Programación en formato libre RPG ILE 400

    realizado por TECOR 400, s.l.



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    CARACTERÍSTICAS

    GENERAL

    Se ha dado formato libre a TODAS las especificaciones RPG.
    Se ha preparado un proceso TRADUCTOR de TCFree a RPG ILE, el cual se invocará en el momento de la compilación.
    Se han eliminado o ignorado todos los elementos del lenguaje RPG que hagan referencia al CICLO RPG, con lo que olvidamos totalmente este sistema de programación.
    Los fuentes se situarán en un PC servidor de la red.
    En el PC workstation, el fuente se trabajará con un editor normal.

    SINTAXIS

    El formato es totalmente libre en las posiciones 1 a 100 de cada línea.
    Si se desea continuar la instrucción en la línea siguiente, deberá utilizarse el carácter de continuación "_" (subrayado), situándolo bien al final de la línea o bien al comienzo de la siguiente. Puede haber tantas líneas de continuación como se necesite.
    Si se desea escribir dos o más instrucciones en la misma línea, se separarán por el carácter de fin de línea ";" (punto y coma).
    Con el fin de que el traductor identifique cada especificación RPG, se agrupan las líneas en SECCIONES, equivalentes a los distintos grupos de especificaciones RPG.
    Cada sección incluye el grupo de líneas que están a continuación, hasta la aparición de la siguiente sección.
    Las secciones no están obligadas a seguir un orden determinado, y pueden aparecer varias veces a lo largo del programa, el traductor se encargará de ordenarlas según necesita RPG ILE.
    El identificador de cada sección comenzará siempre en la columna 1 (carácter @), y no incluirá ninguna otra especificación en la misma línea.

    SECCIONESPECIFICACIÓNNotas
    @HEADH Cabecera
    @FILESF Ficheros
    @DATAD Datos
    @INPUTI Entrada
    @PROCP Procedimiento
    @CALCC Cálculos
    @OUTPUTO Salida
    @LITERALDatos de carga de las tablas
    @EXECComandos AS400Incluidas en especificaciones C
    @TCSQLComandos SQLIncluidas en especificaciones C
    Es necesario tener instalada la herramienta TCSQL

    Con el fin de identificar los distintos elementos del programa, se han incluido también con la misma sintaxis de las secciones, las siguientes palabras clave, comenzando siempre en la posición 1 de la línea, e indicando a continuación el valor de cada clave, si lo tiene, separado por un espacio en blanco.

    CLAVEUtilización (en la misma línea)
    @SYSTNombre del Sistema AS400 para compilación
    @USERNombre del usuario de AS400
    @LIBRNombre de la Librería o Biblioteca
    @NAMENombre del programa
    @TYPETipo de programa RPGLE
    @TEXTTexto del programa
    @MODULECompila como objeto tipo *MODULE
    @MAKECompila y linka con el resto de módulos especificados en el Area de datos con mismo nombre que el programa
    @SERVICECompila y linka con el resto de módulos especificados en el Area de datos con mismo nombre que el programa, pero con tipo *SERVICE
    @LOADEquivalente a /COPY, se indica a continuación el PATH y el nombre de fichero PC que se desea incluir.

    Algunas de estas opciones tienen sus propias características:

    La compilación se realiza normalmente mediante el comando CRTBNDRPG, salvo que se especifique una de las palabras clave @MODULE @MAKE @SERVICE
    En el fichero TCFREE.INI, para cada usuario pueden establecerse los valores de @SYST @LIBR @USER. Por ejemplo:
    [*ALLUSR]
    @SYST=MiAS400
    [Administrador]
    @LIBR=Milibreria
    @USER=Usuario400
    El nombre de archivo en PC se tomará para @NAME
    Según la extensión del archivo en PC, se tomará @TYPE
    Del fichero DESCRIPT.ION se tomará @TEXT. Por ejemplo:
    PROGRAM1 Descripción del programa numero 1
    PROGRAM2 Otra descripción del numero 2
    PROGRAM3 Y aún otra descripción para el 3



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @HEAD - Cabeceras

    Puesto que en esta especificación todo son palabras clave, bastará con escribirlas (formato libre) tal y como lo haríamos en un programa RPG normal.

    Ejemplo:
    @HEAD
    datedit(*DMY) decedit('0,')



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @FILES - Ficheros

    Cada línea de esta sección deberá comenzar siempre por el nombre de un fichero, (o el carácter de continuación para seguir con el fichero anterior).
    Para identificar los distintos elementos de esta sección, se han ampliado las definiciones de la especificación F de RPG.

    VALOR RPGVALOR TCFree
    DISPOSITIVODISK - WORKSTN - WS - PRINTER
    TIPO PROCESOINPUT - INP - OUTPUT - OUT - UPDATE - UPD
    TIPO FICHEROEXTERN - EXT - INTERN(logitud) - INT(longitud)
    CLAVEKEY() - KEY(posición) - LKEY(posición)
    AÑADIRADD

    Ejemplo:

    @FILES
        QSRC     DISK out add int(112)
        TC4BDF     DISK inp ext  USROPN
     



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @DATA - Datos

    Cada línea de esta sección deberá comenzar siempre por el nombre de un elemento de datos (estructura, campo, constante, etc.).
    Los tamaños de los campos, posiciones Desde-Hasta y número de decimales se escribirán en cualquier posición, separados por espacios.
    Para identificar los distintos elementos de esta sección, se han ampliado las definiciones de la especificación D de RPG.

    VALOR RPGVALOR TCFree
    Estruc. ExternaEXT
    Estruc. ProgramaSDS
    Estruc. DatosDS
    STANDALONESTD
    CONSTANTECTE

    Tipos de Datos


    El tipo de datos puede indicarse en cualquier parte dentro de la línea de definición del campo, sustituyendo el carácter de RPG por el valor TCFree correspondiente según la siguiente tabla.

    Tipo RPGVALOR TCFree
    Aalfa
    Bbin
    Cucs
    Ddate
    Ffloat
    Ggraph
    Iint
    Nind
    Ppack
    Snum
    Ttime
    Uuns
    Yynum
    Zztime
    *point

    Ejemplo:

    @DATA
      Spos     Std   2 0 DIM(3)    CTDATA PERRCD(3)
    
      Src_datos    DS
        Srctip        1 0
        Srcord      num 5 0
        Srclin     100 alfa
     



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @INPUT - Ficheros internos de entrada

    Cada línea de esta sección deberá comenzar siempre por el nombre de un elemento de fichero de entrada interno (fichero, campo), o con el carácter de continuación.
    Los tamaños de los campos, posiciones Desde-Hasta y número de decimales se escribirán en cualquier posición, separados por espacios.

    VALOR RPGVALOR TCFree
    FicheroNombre del fichero o carácter continuación
    SecuenciaNS siempre (en caso de línea de fichero)
    Indicador RegistroPrecedido por ":" (dos puntos)
    ID de RegistroID(PosicNCx)
    Posic siempre con cinco cifras (ceros a la izquierda)
    N Opcional, si no se usa dejar blanco
    C Obligatorio
    X Carácter de comparación
    CamposDefinir como en sección @DATA

    Tipos de Datos


    El tipo de datos puede indicarse en cualquier parte dentro de la línea de definición del campo, sustituyendo el carácter de RPG por el valor TCFree correspondiente según la tabla indicada en sección @DATA

    Ejemplo:

    @INPUT
      SRCPC NS  :01 ID(00001NC*)
            Pcdat 1 100
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @PROC - Procedimientos

    Para identificar los distintos elementos de esta sección, se han ampliado las definiciones de la especificación "P" de RPG. (Los valores equivalentes se separan mediante barra inclinada en la siguiente tabla)

    VALOR RPGVALOR TCFree
    ComienzoBEGIN - B
    FinEND - E
    ProcedimientoNombre
    KEYWORDSEXPORT

    Ejemplo:

    @PROC
       begin Proc_tal
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @CALC - Cálculos

    Cada línea de esta sección deberá comenzar siempre por un código de operación o el carácter de continuación.
    El resto de los valores se identificarán en el orden natural de cada instrucción, interpretándose como Factor1, Factor 2 o Resultado, según su situación en la línea.
    Los tamaños de los campos de resultado (alfa o numéricos) se indicarán a continuación.
    Los indicadores se usarán como se dice en al siguiente tabla, y se podrán situar en cualquier lugar de la línea

    VALOR RPGVALOR TCFreeEjemplo
    Indic CondiciónPrecedido por : (dos puntos):50 :N50
    Indic.ResultadoPrecedidos por > < = según su posición>50 <51 =52

    ATAJOS

    LINEA conTCFreeINTERPRETADA como
    Sin operaciónA=B+CEval A=B+C
    Comienza con ..clear estr1 .estr2Clear estr1
    Clear estr2
    Termina con ++A++
    50++
    Add 1 A
    Seton 50
    Termina con --A--
    50--
    Sub 1 A
    Setoff 50
    Termina con #A#z-add 0 A
    Termina con $A$Move *blanks A
    Termina con :lectura:Goto lectura

    Ejemplo:

    @CALC
    begsr Saca_SQL
      cabeq Valor *blanks Fin_saca
      DSQL = 80 - %LEN(%TRIMR(SRCDTA))
      z-add LSQL PSQL          :64
      comp CharSQL   ' '  =65 :N64
      nrr++
    

    Utilización de RPG FREE nativo de AS400

    Para utilizar el RPG FREE nativo dentro de un programa TCFree, basta con incluir una línea /FREE, igual que en RPG400.
    A partir de este momento, y hasta encontrar la indicación /END-FREE, el traductor TCFree, se limitará a situar el contenido de cada línea a partir de la posición 8 del formulario, sin realizar ningún tipo de análisis de dicho contenido.



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @OUTPUT - Ficheros internos de salida

    Las líneas de esta sección tienen absoluta libertad de definición, indicándose la diferencia entre registros de salida y campos de salida por la existencia de la palabra clave except en cualquier lugar de la línea.

    VALOR RPGVALOR TCFreeEjemplo
    Registro Eexcept(nombre) Incluir el nombre de excepción
    AñadirADD
    Salto y avanceSA(linea) Salto antes
    SD(linea) Salto después
    A(num) Avance antes
    D(num) Avance después
    IndicadoresPrecedido por : (dos puntos)
    EdiciónEDIT(código) Incluir el código de edición
    BorradoBORRA
    ConstantesIncluir la constante o Editword entre comillas

    Ejemplo:

    @OUTPUT
    FACTURA except(Cabf) D(1) SA(07)
             60 '-----------------------------------------------'
     except(Cabf) D(1)
      P01no1 60
             97 'MADRID :'
            108 '  /  /    '  *date
    except(Lin) D(1)
      Txtlin            25
      Wim(1) edit(K)    40
      Tpb(1) edit(2)    46
      Tpn(1) edit(2)    53
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @LITERAL - Carga de datos en las Tablas

    En esta sección, se traslada literalmente el contenido de las líneas escritas en el programa original, sin ningún tipo de conversión.

    Ejemplo:

    @LITERAL
    **
    CUENTA CON FACTURAS VENCIDAS
    CUENTA BLOQUEADA. COBRAR AL CONTADO
    **
    ENEFEBMARABRMAYJUNJULAGOSEPOCTNOVDIC
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @EXEC - Comandos AS400

    Es posible ejecutar comandos AS400 en el interior de programas RPG mediante el programa QCMDEXC.
    Esta sección permite incluir estos comandos, generando una serie de instrucciones RPG que los ejecutan uno a uno.
    Se puede también, incluir valores de variables RPG (formato caracteres), que serán insertadas en el texto del comando, utilizando para ello la sintaxis &variable.
    La sintaxis de los comandos es la misma que en los programas CLP, teniendo en cuenta que aquellos que necesiten más de una línea enlazarán todas ellas mediante el carácter +.

    Ejemplo

    If miembro <> ' '
    @EXEC
       CPYF    FROMFILE(TECOR400/TCFREE) TOFILE(QTEMP/QSRC) +
                TOMBR(&miembro) MBROPT(*ADD) FMTOPT(*CVTSRC)
    
       OVRDBF  FILE(QSRC) TOFILE(QTEMP/QSRC) MBR(&miembro)
    
    @CALC
       open QSRC
    else
    ...



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    @TCSQL - Sentencias SQL

    Es posible ejecutar sentencias SQL en el interior de programas RPG mediante la herramienta TCSQL (que debe contratarse por separado).
    Esta sección permite incluir estas sentencias, generando una serie de instrucciones RPG que las ejecutan.
    Se puede también, incluir valores de variables RPG (formato caracteres), que serán insertadas en el texto del comando, utilizando para ello la sintaxis &variable.
    La sintaxis de las sentencias es la misma que en los scripts TCSQL.

    Ejemplo

    @TCSQL
    ------TEXTO DE PANTALLA--T-NOMBRE DE CAMPO------VALOR POR DEFECTO--------------
    -- && REIMPRESION DE FACTURAS
    -- &1+CIF CLIENTE        A BDFCIF
    -- &2+SERIE FACTURAS     A BDFSER               &dftser
    -- &3+FECHA DE EMISION   L BDFFFA
    -- &4+AÑO (2 CIFRAS)     N BDFAÑO               &dftaño
    -- &5+NUMERO DE FACTURA  N BDFFAC
    -- &6+CODIGO DE CLIENTE  A BDFCLI
    
    SELECT * FROM TC4BDF WHERE &0 ORDER BY BDFCIF, BDFSER, BDFFAC
       **RFILE RBDF
    @CALC
    
    open Rbdf
    ...
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    OTROS ELEMENTOS

    Existen también los siguientes elementos del lenguaje TCFree:

    Las líneas en blanco, salvo en la sección @LITERAL, se ignoran
    Las líneas que comienzan por asterisco se consideran comentarios y se ignoran, salvo las secciones @LITERAL @TCSQL
    En cualquier línea, salvo en la sección @LITERAL, la aparición del elemento @* (arroba y asterisco) hace que el resto de la línea se considere comentario.
    En cualquier línea, salvo en la sección @LITERAL, comenzar con el texto @LIT obliga a que la línea se considere un literal independiente de la sección en que se encuentre, y se traslade tal cual (eliminando el texto @LIT).
    El traductor acepta las secciones en cualquier orden, incuso con varias apariciones de cada una de ellas, realizando la salida del fuente a compilar en el orden requerido por RPG



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    UN EJEMPLO

    *
    @LIBR QGPL
    *
    @LOAD C:\AS400\RPGLE\TC4HEAD.TCF
    *
    *****************************************************************
    **                                                              *
    ** ESTADISTICA DE PRODUCTOS POR CLIENTE - SOLICITUD
    **                                                              *
    *****************************************************************
    *
    @FILES
    TC422A     WORKSTN ext
    TC4CLI01   DISK inp ext key()
    TC4TIPC    DISK inp ext key()
    QPRINT     PRINTER out int(198) OFLIND(*INOV)
    *
    @DATA
    Titulo Cte 'ESTADISTICA DE PRODUCTOS'
    *
    Prods DS
       Spro01; Spro02; Spro03; Spro04, Spro05; Spro06
       Spro07; Spro08; Spro09; Spro10, Spro11; Spro12
       Spro13; Spro14; Spro15; Spro16, Spro17; Spro18
       Pro          4 DIM(18) OVERLAY(Prods)
    *
    Parmds DS     512
       Pdstip       1       1
       Pdscod       2      10
       Pdsmde      11      18  0
       Pdsmha      19      26  0
       Pdsval      27      27
       Pdscan      28      28
       Pdspro      51     122
       Excelf     226     233
       Pdsflg     512     512
    *
    @CALC
    plist *entry
     parm Parmds
    *
    Mesdes = 01010000 + *year
    Meshas = *date
    Detal = 'T'
    Valor = 'X'
    Canti = 'P'
    Detcod$
    Excelf$
    Pro$
    Pdsflg$
    *
    Titlis = Titulo
    exsr Srcab
    *
    P1:
      exfmt F1
      goto  Fin    :KC
    *
      Zfchn = Mesdes
      Zin   = 11
      exsr  Srchkf
      goto  P1     :11
      Mesdes = Zfchn
      Pdsmde = Mesdes
      Xfde   = Zfchi
    *
      Zfchn = Meshas
      Zin   = 11
      exsr  Srchkf
      goto  P1     :11
      Meshas = Zfchn
      Pdsmha = Meshas
      Xfha   = Zfchi
    *
      cabgt Xfde Xfha P1 >11
    *
      cabeq Detcod *blanks P1 =12
    
      if Detal <> '*'
         select
          when Detal = 'I'
               C01cif = Detcod
               chain C01cif TC4CLI01 >12
               goto P1               :12
          when Detal = 'T'
               cabeq Detcod '00' P1  =12
               TCtipc = Detcod
               chain TCtipc TC4TIPC  >12
               goto P1               :12
         endsl
      endif
    *
      goto :NKF P1
    *
      Pdstip = Detal
      Pdscod = Detcod
      Pdsval = Valor
      Pdscan = Canti
      movea Pro    Pdspro
      Pdsflg = 'S'
      except Cab
    *
    tag Fin
      seton >LR
      return
    *
    @LOAD C:\AS400\RPGLE\TC4SR.TCF
    *
    @OUTPUT
    QPRINT excpt(Cab) D(1) SA(01)
      Cabl1          184
      Page edit(Z)   184
     excpt(Cab) D(1)
      Cabl2          184
      Hora           184 '  :  :  '
     excpt(Cab) D(1)
      Cabl3          184
      Fecha          184 '  /  /    '
     excpt(Cab) D(1)
      Cabcg          198
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    LA COMPILACION DEL FUENTE

    El proceso de compilación, totalmente automático, se realiza como sigue:

    En el PCEn AS400Notas
    EditorCualquier editor de PC
    CompilarHabitualmente mediante una tecla de función ya programada en el editor.
    TCFree.EXEPreparación del fuente.
    Inclusión de los ficheros @LOAD
    FTPEnvío del fuente al AS400
    Llamada al programa compilador en AS400
    TCLFreeSelección del compilador
    CRTBNDRPG
    CRTRPGMOD
    CRTPGM
    CRTSRVPGM
    CRTCLPGM
    TCFree.EXETraducción de fuentes TCF
    CompiladorCompilación del RPG ILE resultante
    TCLFreePreparación del listado de salida
    FTPRecepción del listado de salida en el fichero TCFree.LST
    EditorPresentación del listado de salida



    OTRAS CARACTERÍSTICAS DE TCFree.EXE


    Según la extensión PC del fichero enviado, TCFree.EXE actúa de manera particular:

    EXTENSIONTRATAMIENTO
    TCFPreparación y compilación en AS400 como se ha explicado.
    CLPPreparación y compilación en AS400 (no tiene traducción TCFree)
    CMDPreparación y compilación en AS400 (no tiene traducción TCFree)
    PFPreparación y compilación en AS400 (no tiene traducción TCFree)
    LFPreparación y compilación en AS400 (no tiene traducción TCFree)
    DSPPreparación y compilación en AS400 (no tiene traducción TCFree)
    Ver documentación del proceso PCSDA
    FFDSolicitud de información sobre ficheros
    Ver documentación del proceso PRTFD
    SQLEnvío al AS400 para su ejecución mediante TCSQL



    REQUISITOS


    Es necesario tener instalado Client Access en el PC de trabajo.
    Es necesario tener arrancado el servidor FTP en el AS400.
    Asimismo, se necesita crear un usuario TCFree con contraseña TCFree, que tenga autorización para enviar y recibir los ficheros (vía FTP).



    CORRECCION DE ERRORES


    Puesto que el programa se traduce a RPG ILE antes de la compilación, el compilador del AS400 tan sólo recibe este programa ya traducido, y marca sus errores sobre él.
    Con el fin de localizar los errores producidos en el fuente original, el traductor TCFree inserta en las posiciones 80-90 de cada sentencia RPG ILE, el número de secuencia de la línea del fuente en el PC.
    De esta manera, cuando se detecta un error, basta con acudir al fuente original, buscar la línea marcada en dichas posiciones y corregirlo.

    Ejemplo, suponiendo las siguientes sentencias TCFree:

      sub Sumnet Sumid4 Baseim  11 2
      z-add  0      Iva        8 2
      z-add  0      Enpts       10 0
      z-add  0      Req        6 2
      if Fcmami <> ' '
        z-add  7      Tviva
        z-add  1      Tvreq
      endif
      

    Se produce la siguiente salida del compilador RPG ILE:
    (Los números precedidos por @ son las líneas del fuente PC)

    608 C     SUMNET      SUB       SUMID4      BASEIM           11 2        @ 000242
    609 C                 Z-ADD     0           IVA               8 2        @ 000243
    610 C                 Z-ADD     0           ENPTS            10 0        @ 000244
    611 C                 Z-ADD     0           REQ               6 2        @ 000245
    612 C                 IF        FCMAMI <> ' '                            @ 000246      B001
    613 C                 Z-ADD     7           TVIVA                        @ 000247       001
    614 C                 Z-ADD     1           TVREQ                        @ 000248       001
    615 C                 ENDIF                                              @ 000249      E001
    



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)



    PROCESOS AUXILIARES

    Proceso PCSDA


    Debido a que los fuentes están situados en un servidor PC, la creación y corrección de pantallas pierde la posibilidad de realizarse con las herramientas del AS400 (básicamente SDA).
    Para evitar esto hemos incluido el comando PCSDA, que actúa como se detalla

    En AS400En el PCNotas
    PCLSDAToma la información necesaria del área de datos TCFree
    TCFree.EXEBusca el fuente en el directorio indicado
    FTPEnvía el fuente al AS400
    PCLSDAInvoca SDA para modificaciones
    SDAModifica y compila el fichero
    PCLSDAEnvía el fuente al PC
    FTP Recibe el fuente desde AS400
    TCFree.EXESitúa el fuente en el directorio indicado



    Proceso PCSRC


    Para el caso de que no se tenga acceso directo a los fuentes, hemos incluido el comando PCSRC, que actúa como se detalla

    En AS400En el PCNotas
    PCLSRCToma la información necesaria del área de datos TCFree
    TCFree.EXEBusca el fuente en el directorio indicado
    FTPEnvía el fuente al AS400
    PCLSRCInvoca SEU para modificaciones
    SEUModifica el fichero
    PCLSRCEnvía el fuente al PC
    FTP Recibe el fuente desde AS400
    TCFree.EXESitúa el fuente en el directorio indicado
    Preparación del fuente.
    Inclusión de los ficheros @LOAD
    Compilación según el método habitual



    Contenido del área de datos TCFree


    POSICIONESCONTENIDO
    1-15Servidor PC que contiene los fuentes (Nombre o IP)
    16-25Usuario PC para conectar
    26-35Password para conectar en PC
    36-85Path completo de acceso a TCFree.EXE
    Debe contener también el nombre del propio programa
    86-135Directorio raíz donde buscar los fuentes
    El proceso busca en el directorio raíz y en sus subdirectorios, hasta encontrar el fichero solicitado.



    Proceso PRTFD


    Este proceso puede invocarse indistintamente desde AS400 o desde PC

    Desde AS400 mediante el comando PRTFD.
    Desde PC, "compilando" con TCFree.EXE un fichero con extensión FFD y al menos dos líneas, en la primera el nombre del fichero y en la segunda la librería, con el mismo formato en que las presenta el comando de AS400.
    Como resultado, el AS400 enviará al PC el fichero con extensión FFD que contiene la información del fichero actualizada con los siguientes datos:
    Relación de campos del fichero, indicando tipo, tamaño y posiciones inicial y final, así como el texto asociado a cada campo.
    Vías de acceso disponibles, tanto la del fichero físico como las de todos sus lógicos, con indicación del nombre del lógico y de los campos que componen la vía, así como de las condiciones de selección y omisión de registros.

    Ejemplo:

     4/05/2002  FICHERO  : PROV01           Maestro de Proveedores
    HOJA N   1  LIBRERIA : QGPL             21.06.01  12:14:29
                REGISTRO : RPR01        364
    
                      TIPO  LON   INI   FIN
      1 P01COD          A     8     1     8 CODIGO EDITOR
      2 P01CON          A    30     9    38 PERSONA DE CONTACTO
      3 P01PRN          A    35    39    73 NOMBRE PROVEEDOR
      4 P01PRD          A    35    74   108 DIRECCION
      5 P01PRL          A    35   109   143 LOCALIDAD 1
      6 P01PRC          A    35   144   178 LOCALIDAD 2
      7 P01PRP          A    35   179   213 PAIS
      8 P01TE1          A    16   214   229 TELEFONO 1
      9 P01TE2          A    16   230   245 TELEFONO 2
     10 P01FAX          A    16   246   261 FAX
     11 P01EMA          A    40   262   301 E.MAIL
     12 P01WEB          A    40   302   341 WEB
     13 P01CTA     8/ 0 S     8   342   349 CUENTA CONTABLE
     14 P01FUL          L    10   350   359 FECHA ULTIMA LIQUIDACION
     15 P01IDM          A     1   360   360 IDIOMA DE COMUNICACION
     16 P01SER          A     1   361   361 PEDIDOS POR C-T
     17 P01AFD          A     1   362   362 FIRME/DEPOSITO
     18 P01MES     2/ 0 S     2   363   364 MESES DEVOLUCION
    
        VIAS DE ACCESO    LIB03           QGPL
                          CLAVE:
                          P01EDI        1
    
        VIAS DE ACCESO    LIB03A          QGPL
                          CLAVE:
                          P01EDN        1
                          P01EDI        2
    
        VIAS DE ACCESO    LIB03B          QGPL
                          CLAVE:
                          P01PRN        1
                          P01EDN        2
                          P01EDI        3
     



    Si desea recibir una DEMOSTRACIÓN totalmente operativa, solicítela en tecor400@hotmail.com
    Indíquenos su versión de OS/400 (disponible en V4R4 y V4R3)