ENTRADA Y SALIDA DE DATOS

7.1. E/S ELEMENTAL

7.2. E/S MEDIANTE MEMORIA DE USUARIO

7.3. E/S MEDIANTE CLUSTERS

7.3.1. Data Clusters
7.3.2. Ficheros Cluster

7.4. E/S MEDIANTE FICHEROS EXTERNOS

7.4.1. Ficheros del servidor de aplicación (UNIX)
7.4.2. Ficheros del servidor de presentación (usuario WINDOWS)

 


 

7.1. E/S ELEMENTAL:

7.2. E/S MEDIANTE MEMORIA DE USUARIO: 7.3. e/s MEDIANTE CLUSTERS:

Hay 2 tipos de clusters: Clusters en memoria (de programa) o ‘data clusters’, y clusters en fichero de base de datos.

7.3.1. Data Clusters:

Un Data Cluster es un conjunto de datos agrupados por la misma clave. Puede contener variables, field-strings y/o tablas internas. Los datos guardados en memoria sólo pueden usarse durante la ‘vida’ del programa que realiza la sentencia EXPORT (exporta clusters), pero no se pierden al usar CALL TRANSACTION o SUBMIT. Sentencias relacionadas con los data clusters:

7.3.2. Ficheros Cluster:

Los ficheros cluster de base de datos son ficheros especiales del Diccionario de Datos. Sentencias:


7.4. E/S MEDIANTE FICHEROS EXTERNOS:

Los ficheros externos pueden residir en el servidor de aplicación, o bien en el servidor de presentación (el de usuario). En este caso se usan las funciones: WS_DOWNLOAD (Baja una tabla interna a fichero. Llama a DOWNLOAD), WS_UPLOAD (Carga un fichero en una tabla interna. Llama a UPLOAD), WS_QUERY (consulta información acerca de un fichero, como saber si existe o no).

7.4.1. Ficheros del servidor de aplicación (UNIX):

7.4.2. Ficheros del servidor de presentación (usuario WINDOWS):

  • UPLOAD (obsoleto)
    
    CALL FUNCTION 'UPLOAD'
    * EXPORTING                            "internamente llama a ws_upload
    *   CODEPAGE                = ' '      "valor
    *   FILENAME                = ' '      "nombre del fichero por defecto
    *   FILETYPE                = ' '      "bin | asc | dat | wk1
    *   ITEM                    = ' '      "texto de cabecera
    * IMPORTING
    *   FILESIZE                =          "tamaño en bytes
    *   ACT_FILENAME            =          "nombre fichero
    *   ACT_FILETYPE            =          "tipo de fichero
      TABLES
        data_tab                =          "tabla donde se cargan los datos
    * EXCEPTIONS
    *   CONVERSION_ERROR        = 1        "error de conversión
    *   INVALID_TABLE_WIDTH     = 2        "estructura de la tabla  incorrecta
    *   INVALID_TYPE            = 3        "tipo de fichero inválido
              .
                  
  • WS_UPLOAD (obsoleto)
    
    CALL FUNCTION 'WS_UPLOAD'
    * EXPORTING                            "Llamada por UPLOAD
    *   CODEPAGE                = ' '      "valor
    *   FILENAME                = ' '      "nombre del fichero por defecto
    *   FILETYPE                = ' '      "bin | asc | dat | wk1
    * IMPORTING
    *   FILELENGTH              =          "tamaño en bytes
      TABLES
        data_tab                =          "tabla donde se cargan los datos
    * EXCEPTIONS
    *   CONVERSION_ERROR        = 1        "error de conversión
    *   FILE_OPEN_ERROR         = 2        "error de apertura del fichero
    *   FILE_READ_ERROR         = 3        "error de lectura
    *   INVALID_TABLE_WIDTH     = 4        "estructura de la tabla  incorrecta
    *   INVALID_TYPE            = 5        "tipo de fichero inválido
              .
                  
  • DOWNLOAD (obsoleto)
    
    CALL FUNCTION 'DOWNLOAD'           "Internamente llama a WS_DOWNLOAD
    * EXPORTING
    *   BIN_FILESIZE          = ' '    "longitud del fichero en binario
    *   CODEPAGE              = ' '    "valor
    *   FILENAME              = ' '    "nombre del fichero por defecto
    *   FILETYPE              = ' '    "BIN | ASC | DAT | WK1
    *   ITEM                  = ' '    "texto de cabecera
    *   MODE                  = ' '    " ' ' | A
    * IMPORTING
    *   ACT_FILENAME          =        "nombre del fichero
    *   ACT_FILETYPE          =        "tipo de fichero
    *   FILESIZE              =        "tamaño en bytes
      TABLES
        data_tab              =        "tabla a bajar a fichero
    * EXCEPTIONS
    *   INVALID_FILESIZE      = 1      "tamaño de fichero inválido
    *   INVALID_TABLE_WIDTH   = 2      "estructura de la tabla incorrecta
    *   INVALID_TYPE          = 3      "tipo de fichero inválido
              .
                  

  • WS_DOWNLOAD (obsoleto)
    
    CALL FUNCTION 'WS_DOWNLOAD'        " Llamada por DOWNLOAD
    * EXPORTING
    *   BIN_FILESIZE          = ' '    "longitud del fichero en binario
    *   CODEPAGE              = ' '    "valor
    *   FILENAME              = ' '    "nombre del fichero por defecto
    *   FILETYPE              = ' '    "BIN | ASC | DAT | WK1
    *   MODE                  = ' '    " ' ' | A
    * IMPORTING
    *   FILELENGTH            =        "tamaño en bytes
      TABLES
        data_tab              =        "tabla a bajar a fichero
    * EXCEPTIONS
    *   FILE_OPEN_ERROR       = 1      "error de apertura del fichero
    *   FILE_WRITE_ERROR      = 2      "error de escritura
    *   INVALID_FILESIZE      = 3      "tamaño del fichero inválido
    *   INVALID_TYPE          = 4      "tipo de fichero inválido
    *   INVALID_TABLE_WIDTH   = 5      "estructura de la tabla incorrecta
              .
                  
  • WS_QUERY. Función útil para saber si existe un fichero, si está vacío, sus atributos,...