Você está na página 1de 6

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 aplicacin (UNIX) 7.4.2. Ficheros del servidor de presentacin (usuario WINDOWS)

7.1. E/S ELEMENTAL:

Entrada (Input) bsica de un programa Abap 4: Se realiza a travs de la pantalla de seleccin (mediante las sentencias PARAMETERS y SELECTOPTIONS), lectura de informacin de la base de datos (sentencia GET y las Open SQL), y pantalla (mediante formularios, ...). Salida (Output) elemental: Se realiza mediante escrituras en la base de datos (sentencias Open SQL), pantalla e impresora (sentencias WRITE, SKIP,ULINE, ...). E/S compleja: se consigue mediante comunicaciones CPI-C, RFC y OLE2.

7.2. E/S MEDIANTE MEMORIA DE USUARIO:

GET PARAMETER ID parmetro FIELD campo. Se usa GET PARAMETER para leer parmetros de la memoria de usuario. Se indica el parmetro a leer y el campo o variable que va a recoger el valor. Transfiere el valor del parmetro desde memoria SAP a campo. SET PARAMETER ID parmetro FIELD campo. Los parmetros (deben tener 3 caracteres) de la memoria de usuario se escriben con SET PARAMETER. Para averiguar cul es el parmetro predefinido para un campo dado, basta navegar hasta la tabla correspondiente y navegar luego a su elemento de datos En esa pantalla aparece el ID del mismo. En campo se pone el valor a escribir en ste, que pasa a la memoria SAP.Estos parmetros se conservan mientras el usuario est conectado a SAP. Se pueden inicializar usando los perfiles 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 slo 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:

IMPORT campo1a [ TO campo1b ] campo2a [ TO campo2b ] ... FROM MEMORY ID clv. Sentencia de entrada. Se usa IMPORT para importar clusters de programa, con un campoNa para cada elemento a importar (variable, field string o tabla interna); se pueden usar otros tantos campos para guardar los valores ledos (TO campoNb). La clave que identifica al cluster es clv. EXPORT campo1a [ FROM campo1b ] campo2a [ FROM campo2b ] ... FROM MEMORYID clv. Sentencia de salida. EXPORT se usa para exportar clusters, usando un campoNa por cada elemento a exportar. Con FROM se indica que se exporta un elemento con el contenido de otro elemento (el campoNb especificado en FROM) . La clave del cluster es clv. FREE MEMORY [ ID clave ]. Borra de memoria el cluster de clave especificada. Si no se indica una clave se borran todos los clusters asociados al programa.

7.3.2. Ficheros Cluster:


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

IMPORT campo1a [ TO campo1b ] FROM DATABASE tabla_BD (rea)[ CLIENT mandante ] ID clv | MAJOR-ID c1 MINOR-ID c2. Sentencia de entrada. Sirve para importar clusters de un fichero BD (especificado en tabla_BD, con el rea dada), con un campoNa para cada elemento a importar (variable, field string o tabla interna). Se puede especificar mandante con la opcin CLIENT. Para indicar la clave del cluster se puede usar toda ella, con ID clv, o bien slo parte de ella usando MAJORID y MINOR-ID. EXPORT campo1a [ FROM campo1b ] TO DATABASE tabla_BD (rea)[ CLIENT mandante] ID clv. Sentencia de salida. Se usa para exportar clusters a un fichero BD, usando un campoNa por cada elemento a exportar. Con FROM se indica que se exporta un elemento con el contenido de otro elemento (el campo1b especificado en FROM). Con CLIENT se especifica el mandante. La clave del cluster es clv.

IMPORT DIRECTORY INTO tabla FROM DATABASE tabla_BD (rea)[ CLIENT mandante] ID clv. Se usa para crear una tabla (el directorio del cluster) con el contenido de un cluster de un fichero de BD. El resto de las opciones son anlogas a las sentencias IMPORT y EXPORT. DELETE FROM DATABASE tabla (rea)[ CLIENT mandante] ID clv. Borra un cluster de un fichero cluster. El resto de las opciones son anlogas.

7.4. E/S MEDIANTE FICHEROS EXTERNOS:


Los ficheros externos pueden residir en el servidor de aplicacin, o bien en el servidor de presentacin (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 informacin acerca de un fichero, como saber si existe o no).

7.4.1. Ficheros del servidor de aplicacin (UNIX):


o
OPEN DATASET dns [ MESSAGE msg ] [ FOR INPUT | FOR OUTPUT | FORAPPENDING ] [ IN BINARY MODE | IN TEXT MODE ] [ AT POSITIONpos ]. Abre un fichero secuencial sobre el servidor de aplicacin. CLOSE DATASET dns. Cierra un fichero secuencial sobre el servidor de aplicacin. DELETE DATASET dns. Borra un fichero secuencial sobre el servidor de aplicacin. TRANSFER registro TO dns [ LENGTH longitud ]. Escribe o transfiere datos a un fichero secuencial del servidor de aplicacin. READ DATASET dns INTO registro [ LENGTH longitud ]. Lee datos de un fichero secuencial del servidor de aplicacin.

o o o o

7.4.2. Ficheros del servidor de presentacin (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 = "tamao 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 conversin * INVALID_TABLE_WIDTH = 2 "estructura de la tabla incorrecta * INVALID_TYPE = 3 "tipo de fichero invlido .

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 = "tamao en bytes TABLES data_tab = "tabla donde se cargan los datos * EXCEPTIONS * CONVERSION_ERROR = 1 "error de conversin * 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 invlido .

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 = ' ' | ASC | DAT | WK1 * ITEM = ' ' "texto de cabecera * MODE = ' ' | A * IMPORTING * ACT_FILENAME = "nombre del fichero * ACT_FILETYPE = de fichero * FILESIZE = "tamao en bytes TABLES data_tab = "tabla a bajar a fichero * EXCEPTIONS * INVALID_FILESIZE = 1 "tamao de fichero invlido * INVALID_TABLE_WIDTH = 2 "estructura de la tabla incorrecta * INVALID_TYPE = 3 de fichero invlido .

"BIN

" ' '

"tipo

"tipo


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 = ' ' | ASC | DAT | WK1 * MODE = ' ' | A * IMPORTING * FILELENGTH = "tamao 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 "tamao del fichero invlido * INVALID_TYPE = 4 de fichero invlido * INVALID_TABLE_WIDTH = 5

"

"BIN " ' '

"tipo

"estructura de la tabla incorrecta .

WS_QUERY. Funcin til para saber si existe un fichero, si est vaco, sus atributos,...

Você também pode gostar