MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Ver Resultados de Encuesta: Cumple con lo requerido para el cargue de PDF?
Si 39 88.64%
No 2 4.55%
En algo 2 4.55%
no cumple 1 2.27%
Votantes: 44. Tú no puedes votar en esta encuesta

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 20/03/15, 22:25:56
ehrman ehrman is offline
Junior Member
 
Fecha de Ingreso: may 2011
Mensajes: 5
Smile Upload de fondo archivos PDF a tabla Z

* Date (YYYY/MM/DD) : 2015/03/20
* Author : Luis Ehrman Gutierrez
* Required by : Cargue a base de datos de SAP archivos PDF
* ubicados en el server de aplicaciones SAP
*&---------------------------------------------------------------------*
* CHANGES LOG
*&---------------------------------------------------------------------*
* Description :
* Date (YYYY/MM/DD) :
* Author :
* Required by :
**&---------------------------------------------------------------------*

REPORT ZUPLOAD_PDF_BD.

"Definicion tabla Z en el diccionario de datos de SAP
*MANDT MANDT CLNT 3 0 Mandante
*FERTH FERTH CHAR 18 0 Nombre archivo plano pdf
*CONS CHAR 5 0 Numero de Lineas por File
*MATNR MATNR CHAR 18 0 Número de material
*LINE SO_TEXT255 CHAR 255 0 Campo de texto, longitud 255: Textos
*FECARGA DATUM DATS 8 0 Fecha

"Se declara tipo de tabla Hexadecimal
TYPES: BEGIN OF HEX_RECORD,
FIELD(1024) TYPE X,
END OF HEX_RECORD.

"Se declara tabla interna con tabla Z de la base de datos
DATA: BEGIN OF LT_ZTBMMPLANO OCCURS 100.
INCLUDE STRUCTURE ZTBMMPLANO.
DATA: END OF LT_ZTBMMPLANO.

"Se declara tabla interna para guardar conversion del binario de SAP
DATA: BINARY_ATT TYPE STANDARD TABLE OF SOLISTI1,
WA_BINARY_ATT TYPE SOLISTI1.

DATA: LT_TAB_EX2 TYPE STANDARD TABLE OF HEX_RECORD WITH HEADER LINE,
WA_TAB_EX2 TYPE HEX_RECORD,
LV_FNAME TYPE STRING,
LV_CONS(5) TYPE C,
X_STRING TYPE XSTRING,
S_STRING TYPE STRING,
S_STRING1 TYPE STRING.

"Ruta o directorio en el servidor de aplicaciones de SAP ubicacion del PDF
LV_FNAME = '/usr/sap/ACE/0530.PDF'.


START-OF-SELECTION.

"Se abre el archivo en la ruta del server de SAP en modo binario
OPEN DATASET LV_FNAME FOR INPUT IN BINARY MODE.
IF SY-SUBRC EQ 0.
DO.
"Se lee linea a linea y se lleva a la tabla Hexadecimal.
READ DATASET LV_FNAME INTO LT_TAB_EX2-FIELD.
IF SY-SUBRC EQ 0.
APPEND LT_TAB_EX2.
ELSE.
APPEND LT_TAB_EX2.
EXIT.
ENDIF.
ENDDO.
CLOSE DATASET LV_FNAME.

"Se recorre la tabla Interna Hexadecimal y se guarda todo su contenido
"en una variable tipo String
LOOP AT LT_TAB_EX2.
CLEAR: S_STRING1.
S_STRING1 = LT_TAB_EX2-FIELD.
CONCATENATE S_STRING S_STRING1 INTO S_STRING.
ENDLOOP.

"Se lleva el contenido de la variable tipo String una variable Xtring
X_STRING = S_STRING.
"Se hace la conversion de hexadecinal y se lleva a la tabla interna
"binaria de longitud 255
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = X_STRING
* APPEND_TO_TABLE = 'X' "Do not clear/refresh table
TABLES
BINARY_TAB = BINARY_ATT.
BREAK-POINT.

"Se hace una descarga el binario al disco local del pc
IF SY-BATCH <> 'X'. "Si se ejecuta de Fondo omite la descarga
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\tmp\prueba.pdf'
FILETYPE = 'BIN'
TABLES
DATA_TAB = BINARY_ATT.
ENDIF.

"Se lleva el contenido del binario a la tabla interna con la
"misma estructura de la tabla Z definida en el diccionario de datos
LV_CONS = 1.
LOOP AT BINARY_ATT INTO WA_BINARY_ATT.
LT_ZTBMMPLANO-FERTH = '0530'.
LT_ZTBMMPLANO-MATNR = '000000000000061688'.
LT_ZTBMMPLANO-CONS = LV_CONS.
LT_ZTBMMPLANO-LINE = WA_BINARY_ATT-LINE.
LT_ZTBMMPLANO-FECARGA = SY-DATUM.
APPEND LT_ZTBMMPLANO.
LV_CONS = LV_CONS + 1.
ENDLOOP.

DELETE FROM ZTBMMPLANO.
COMMIT WORK.
"Se copia a la tabla Z el contenido binario del PDF
INSERT ZTBMMPLANO FROM TABLE LT_ZTBMMPLANO.
COMMIT WORK.

ENDIF.
Responder Con Cita
  #2  
Viejo 23/03/15, 11:05:31
coloso coloso is offline
Senior Member
 
Fecha de Ingreso: feb 2006
Mensajes: 110
Muchas gracias, me lo guardo por si algún día me hace falta.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 20:29:39.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web