Hace un tiempo en el trabajo me pidieron que a un formulario sapscript lo pase a texto y que le de formato para luego bajarlo en un archivo. Acá dejo los pasos necesarios para hacerlo.
Primero vamos a tener que hacer una copia del programa impresor del sapscript en cuestión.
Una vez hecho, hay que agregar en la parte de las declaraciones la tabla interna donde van a quedar guardadas las lineas del formulario:
DATA: BEGIN OF INT_TLINE1 OCCURS 100.
INCLUDE STRUCTURE TLINE.
DATA: END OF INT_TLINE1.
El siguiente paso es encontrar en el impresor la llamada a la función ‘OPEN_FORM’ y modificarle el campo DEVICE y ponerle ‘OTF_MEM’:
CALL FUNCTION ‘OPEN_FORM’
DEVICE = ‘OTF_MEM’
Por último luego de la llamada CALL FUNCTION ‘CLOSE_FORM’. tenemos que insertar la función ‘CONVERT_OTF_MEMORY’ de la siguiente manera:
CALL FUNCTION ‘CONVERT_OTF_MEMORY’
EXPORTING
FORMAT = ‘ASCII’
MAX_LINEWIDTH = 132
*IMPORTING
*BIN_FILESIZE =
TABLES
LINES = INT_TLINE1
EXCEPTIONS
MEMORY_EMPTY = 1
ERR_MAX_LINEWIDTH = 2
ERR_FORMAT = 3
ERR_CONV_NOT_POSSIBLE = 4.
Con esto ya tenemos nuestro formulario sapscript cargado en nuestra tabla interna INT_TLINE1. Ahora a esta tabla le podemos modificar, agregar o quitar lineas a nuestro gusto; y de ser necesario podemos bajarla a un archivo.
Technorati tags: sdn blogger
Comentarios Recientes: