23/2/2015Código de Retorno: Carga Masiva de anexos en SAP 2 Más Siguiente blog» Crear un blog Acceder Código de Retorno Blog dedicado a la programación en SAP R/3 lunes, 3 de diciembre de 2012 Seleccionar idioma ▼ Carga Masiva de anexos en SAP Datos personales David Rueda Cuando creamos anexos, el código de la anterior entrada esta limitado a un solo archivo que debe ser elegido por el usuario pero ¿ Y si necesitamos cargar 1000 pdf o 10000...o 100000!!? con la clase CL_GOS_DOCUMENT_SERVICE anexaríamos de uno en uno....demasiado tiempo. Seguir 51 Ver todo mi perfil 4 Etiquetas abap (18) abap orientado a objetos (3) abap_development_tools (5) adt (5) aie (5) alv (3) android (1) anexos (5) ANST (1) as_abap (5) ANST_SEARCH_TOOL (1) attachment (5) autocompletado (1) avisos de calidad Escenario: Tenemos 100000 facturas en PDF y el cliente quiere anexarlas a los documentos contables correspondientes, el nombre del archivo pdf sera el numero de factura. Por ejemplo: la Factura 0000157910 es el archivo 0000157910.PDF. (1) ayuda busqueda (2) bapi (2) BAPI_SALESORDER_CHANGE. append (1) bapis (3) campos a medida (2) cast_error (1) CL_GOS_DOCUMENT_SERVICE (2) code completion (1) content server (2) conversión de unidades (1) crystal Report (1) dispositivos de salida (1) Lo primero de todo, necesitamos crear una relación entre los archivos que van a ser indexados y los objetos de negocio en sap ( solicitudes de compra, pedidos de compra, pedidos de venta documentos contables ) . En este caso, el nombre del archivo a anexar coincidirá con el nº de factura que referencia el documento contable. vamos a utilizar una http://codigoderetorno.blogspot.com/2012/11/cargamasivadeanexosensap.html drivers (2) dump (2) DYNP_VALUES_UPDATE (2) eclipse (6) estrucutras de control (1) excel (3) EXTENSIONIN (1) f4_help_variant (2) F4IF_START_VALUE_REQUEST (2) foros (1) GOS (5) gr55 (1) GuiXT (9) 1/18 (2) ZQQM (1) Si no existe. deja el archivo en el directorio fuente Archivo del blog ZCS_ATTACHMENT_PDFTOP: variables estructuras y tablas internas globales: ► 2015 (2) ► 2014 (9) *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Include ZCS_ATTACHMENT_PDFTOP *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* TYPE‐POOLS : abap.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP muestra de 6 facturas en pdf para simular la carga.html ► 2013 (21) ▼ 2012 (15) ▼ diciembre (2) GUIXT: Introducción Carga Masiva de anexos en SAP ► noviembre (1) ► octubre (3) ► septiembre (2) ► agosto (2) ► julio (2) ► junio (3) Entradas populares Conseguir acceso a un servidor SAP Conseguir acceso a un servidor SAP 2º parte 2/18 . (1) El programa seguira la siguiente logica: servidor sap (6) SMODILOG (1) snote (3) spad (3) SPAU (2) SPDD (1) support portal (1) sybase (1) sybase_mobile_sdk (1) sybase_unwired_platform (1) Lee los archivos del directorio "fuente" TEXT_CONVERT_XLS_TO_SAP (1) trial (1) upload (2) Busca los doc. contable. notes (3) SAP_APPL (1) sap_movile (1) sap_netweaver (6) sapgui (7) SAPRUPGM (1) SCN (1) script (2) scripts (3) SD (1) SD_SALESDOCUMENT_CREATE (1) se18 (1) se19. anexa el archivo al doc. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Tablas *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* TABLES: BKPF.blogspot. "Factura BELNR TYPE BKPF‐BELNR. tenemos un directorio "fuente" con 6 facturas en PDF. KNA1.com/2012/11/cargamasivadeanexosensap. H99PDSY_REPAIR_SMODILOG (1) Hana (1) HANA Cloud (1) HP (2) HR Objects adjustment (1) icm (5) ide (5) ides (1) image (1) impresora pdf (1) impresoras (2) Indigo (2) InputAssistant (2) inputscript (2) java (5) Juno (2) keywords (1) Kleper (2) libros (1) load_problems (1) Matchcode (2) me21n (1) me22n (1) me23n (1) ME_GUI_PO_CUST Badi (1) ME_PROCESS_PO_CUST (1) MM (1) minisap (6) MS_EXCEL_OLE_STANDARD_DAT netweaver (5) Notas de corrección (1) object (1) (1) Objetos HR (1) OKI (2) oss (2) pdf (1) practicar (1) programación (2) pushbutton (3) qm (1) qmel (1) QQMA0001 (1) radiobutton (2) report painter (1) report writer (1) REUSE_ALV_GRID_DISPLAY (3) RSIRPIRL (1) RSUMOD_CHECK_NON_TADIR (1) sap (13) sap gui (1) Sap Logon (6) sap Como caso de prueba. LFA1. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Constantes *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& DATA TYPES *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* TYPES: BEGIN OF TYPES_FACTURAS. "Sociedad http://codigoderetorno. "Documento contable BUKRS TYPE BKPF‐BUKRS. XBLNR TYPE BKPF‐XBLNR. contable y mueve el archivo al directorio "procesados". El nombre del archivo es el nº de factura y coincide con el campo BKPFXBLNR del doc. contables con BKPFXBLNR igual al nombre del archivo user exit (1) ventas (1) waers (1) XEROX (2) Zebra Si existe. ... WA_NOTE TYPE BORIDENT. IT_CONTENT TYPE STANDARD TABLE OF SOLI.. WA_OBJECT TYPE BORIDENT. "Contenido del doc a adjuntar.... "SAPoffice: atributos OFFSET TYPE I.html Código de Retorno se encuentra bajo una LicenciaCreative Commons Atribución NoComercialCompartirIgual 3.....: David Rueda Barrón *& FECHA...blogspot.: *& EMPRESA. DATA: IT_OBJHEAD TYPE STANDARD TABLE OF SOLI.: *& ORDEN DE TRANSPORTE. "SAPoffice: Definición de la clave WA_OBJ_ID TYPE SOODK. DATA: Wa_return TYPE ABAP_BOOL.... WA_OBJ_DATA TYPE SOOD1...........com/2012/11/cargamasivadeanexosensap..... EP_NOTE TYPE BORIDENT‐OBJKEY.. DATA: WA_FOL_ID TYPE SOODK... TYPES TABLE_FACTURAS TYPE STANDARD TABLE OF TYPES_FACTURAS..23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP GJAHR TYPE BKPF‐GJAHR. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& DATA OBJECTS *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* DATA: TI_FACTURAS TYPE TABLE_FACTURAS.: *& TRANSACCION... Clasicos ABAP: Descargar tabla interna a una hoja Excel Descargar SAP GUI y sus parches desde el Sap Support Portal GUIXT: Los Scripts de GuiXT Añadir nuevos campos a las transacciones ME21N / ME22N / ME23N Clasicos Abap: Subir un archivo Excel a una tabla interna II Recuperar varios campos con una ayuda busqueda Carga Masiva de anexos en SAP Clasicos Abap: Subir una hoja Excel a una tabla interna Blogroll Orekait.: *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ *& DESCRIPCION: *& programa para enlazar los PDF's de las facturas de compra y venta *& con el contentserver *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ *& Modificador Fecha MARCA Motivo *& ‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐‐‐ ‐‐‐‐‐ ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ *& XXXXXXXX DD... "Ruta fichero para adjuntar END OF TYPES_FACTURAS. DATA: WA_TARGET_BO TYPE BORIDENT............ "Ejercicio FILENAME TYPE FILE_TABLE‐filename.com Blog de SAP My Experiments with ABAP Notas Practicas de gestión Consultoria SAP Notas y trucos SAP ZCS_ATTACHMENT_PDF: el MAIN del programa: ABAP / SAP – Tips&Tricks El blog tecnológico de Blag Sap Community Network *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ *& PROGRAMA.. DATA: WA_FOLMEM_K TYPE SOFMK.AA @01 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx *& http://codigoderetorno.MM.. "Contenido del doc a adjuntar.. blog de Sap MundoSap Historia de un abapero ForoSap... "Bussiness Object DATA: WA_CONTENT TYPE SOLI..: ZCS_ATTACHMENT_PDF *& AUTOR...0 Unported........ 3/18 . DATA: TF_FILES TYPE filetable.. PARAMETERS: pi_comp LIKE RLGRAP‐FILENAME OBLIGATORY. SELECT‐OPTIONS: s_BUKRS FOR BKPF‐BUKRS. http://codigoderetorno. s_date FOR BKPF‐BUDAT. SELECT‐OPTIONS: s_kunnr for kna1‐kunnr. s_BLART FOR BKPF‐BLART OBLIGATORY. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Validaciones de Pantalla *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* AT SELECTION‐SCREEN ON VALUE‐REQUEST FOR p_file. perform set_filepath using text‐001 changing p_file.blogspot. IF wa_return EQ ABAP_FALSE. PERFORM CHECK_DATA. SELECTION‐SCREEN END OF BLOCK BLOCK02.com/2012/11/cargamasivadeanexosensap. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& INITIALIZATION *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* INITIALIZATION. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& INCLUDE *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* INCLUDE ZCS_ATTACHMENT_PDFTOP. AT SELECTION‐SCREEN ON VALUE‐REQUEST FOR pi_comp. s_vbeln FOR BKPF‐XBLNR. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Parámetros de Selección *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* SELECTION‐SCREEN BEGIN OF BLOCK BLOCK01 WITH FRAME TITLE TEXT‐S01. s_lifnr for lfa1‐lifnr. PERFORM CREATE_DIRECTORY USING pi_comp CHANGING wa_return. SELECTION‐SCREEN BEGIN OF BLOCK BLOCK02 WITH FRAME TITLE TEXT‐S02. perform set_filepath using text‐002 changing pi_comp. PARAMETERS: p_file LIKE RLGRAP‐FILENAME OBLIGATORY.html 4/18 . PERFORM DIRECTORY_CHECK USING pi_comp CHANGING wa_return.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ REPORT ZCS_ATTACHMENT_PDF. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& START‐OF‐SELECTION *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* START‐OF‐SELECTION. SELECTION‐SCREEN END OF BLOCK BLOCK01. *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Include ZCS_ATTACHMENT_PDFF01 *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Form abrir_fichero *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Este FORM sirve para el explorador en el que se selecciona el archivo *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM set_filepath USING pi_titulo TYPE string CHANGING po_file LIKE rlgrap‐filename.html 5/18 .blogspot. CALL METHOD cl_gui_frontend_services=>directory_browse EXPORTING window_title = pi_titulo CHANGING selected_folder = wl_filename EXCEPTIONS cntl_error = 1 error_no_gui = 2 not_supported_by_gui = 3 OTHERS = 4. PERFORM F_GET_FACTURA USING TF_FILES CHANGING TI_FACTURAS. ENDIF. En WA_TARGET_BOOBJTYPE indicais el tipo de objeto de negocio de SAP. DATA: wl_filename TYPE string.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP ENDIF. po_file = wl_filename. esta es la subrutina que sube el archivo pdf a una tabla interna. INCLUDE ZCS_ATTACHMENT_PDFF01. IF sy‐subrc <> 0. PERFORM DIRECTORY_LIST USING p_file CHANGING TF_FILES. ZCS_ATTACHMENT_PDFF01: subrutinas del programa Subrutina ADJUNTAR_PDFS. MESSAGE ID sy‐msgid TYPE sy‐msgty NUMBER sy‐msgno WITH sy‐msgv1 sy‐msgv2 sy‐msgv3 sy‐msgv4. PERFORM ADJUNTAR_PDFS USING TI_FACTURAS. "ABRIR_FICHERO *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Form F_GET_FACTURA *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* http://codigoderetorno.com/2012/11/cargamasivadeanexosensap. ENDFORM. lo convierte y lo anexa al objeto de negocio de sap. ELSE. contable que cumpla: * BKPF‐XBLNR = nombe del archivo * La clave esta en quelos archivos PDF se llaman igual que el nº fact *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM f_get_factura USING ti_files TYPE filetable CHANGING to_facturas TYPE table_facturas.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP * Lee el nombre del archivo PDF y busca un doc. MOVE wl_filename TO wl_factura.blogspot. REFRESH: tl_tabla_fac. wl_extension TYPE sdbad‐funct.html 6/18 . IF ( wl_filename IS NOT INITIAL ). CALL FUNCTION 'SPLIT_FILENAME' EXPORTING long_filename = wl_filepath IMPORTING pure_filename = wl_filename pure_extension = wl_extension. FIELD‐SYMBOLS: TYPE file_table. wl_filepath. TYPE types_facturas. wl_filepath TYPE dbmsgora‐filename. CLEAR: wl_filename. "#EC NEEDED wl_factura TYPE vbrk‐vbeln. DATA: tl_tabla_fac TYPE table_facturas. LOOP AT ti_files ASSIGNING . wl_extension.com/2012/11/cargamasivadeanexosensap. IF s_kunnr IS NOT INITIAL. wl_return TYPE c. CHECK wl_factura IN s_VBELN. SELECT xblnr belnr bukrs gjahr INTO CORRESPONDING FIELDS OF TABLE tl_tabla_fac FROM zarixfi1 WHERE xblnr EQ wl_factura AND kunnr IN s_kunnr AND bukrs IN s_bukrs http://codigoderetorno. MOVE ‐filename TO wl_filepath. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = wl_factura IMPORTING output = wl_factura. DATA: wl_filename TYPE sdbah‐actid. IF wl_return IS INITIAL.html 7/18 .blogspot. CONTINUE. WRITE :/2 ‐bukrs.‐belnr. ENDIF. * DATA document_service TYPE REF TO cl_gos_document_service.'/'. LOOP AT tl_tabla_fac ASSIGNING .'/'.‐gjahr. ENDIF. DELETE tl_tabla_fac WHERE belnr EQ ‐belnr.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP AND budat IN s_date AND blart IN s_blart. APPEND TO to_facturas. ENDIF.TEXT‐M01. IF tl_tabla_fac[] IS INITIAL.com/2012/11/cargamasivadeanexosensap. ELSE. http://codigoderetorno. " F_GET_FACTURA *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Form ADJUNTAR_PDFS *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * text *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>P_TI_FACTURAS text *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM adjuntar_pdfs USING to_facturas TYPE table_facturas. ENDLOOP. ENDFORM. ENDLOOP. ELSEIF s_lifnr IS NOT INITIAL. ‐filename = ‐filename. ELSE. ENDIF. SELECT xblnr belnr bukrs gjahr INTO CORRESPONDING FIELDS OF TABLE tl_tabla_fac FROM zarixfi1 WHERE xblnr EQ wl_factura AND lifnr IN s_lifnr AND bukrs IN s_bukrs AND budat IN s_date AND blart IN s_blart. PERFORM check_attachment USING wl_factura CHANGING wl_return. continue. wa_target_bo‐objtype = 'BKPF'. wl_filename. * DATA objkey TYPE swo_typeid. DATA wl_filename TYPE string. TEXT‐M03.com/2012/11/cargamasivadeanexosensap. FIELD‐SYMBOLS: TYPE LINE OF table_facturas. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = wl_filename filetype = 'BIN' TABLES data_tab = it_content EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. * wa_target_bo‐objkey = ‐belnr.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP * DATA objeto TYPE borident.html 8/18 . sy‐subrc. CLEAR wl_filename. CONCATENATE ‐bukrs ‐belnr ‐gjahr INTO wa_target_bo‐objkey. IF ( sy‐subrc <> 0 ). WRITE :/2 TEXT‐M02. "1‐ Configuración del Objeto.blogspot. LOOP AT to_facturas ASSIGNING . wl_filename = ‐filename. CALL FUNCTION 'SO_CONVERT_CONTENTS_BIN' EXPORTING it_contents_bin = it_content http://codigoderetorno. CHECK NOT it_content IS INITIAL. ENDIF. "Idioma en que se ha creado el documento * Breve descripción del contenido: wa_obj_data‐objdes = ‐xblnr. CALL FUNCTION 'SO_OBJECT_INSERT' EXPORTING folder_id = wa_fol_id object_type = 'EXT' object_hd_change = wa_obj_data IMPORTING object_id = wa_obj_id TABLES objhead = it_objhead objcont = it_content EXCEPTIONS active_user_not_exist = 1 communication_failure = 2 component_not_available = 3 dl_name_exist = 4 folder_not_exist = 5 folder_no_authorization = 6 object_type_not_exist = 7 operation_no_authorization = 8 owner_not_exist = 9 http://codigoderetorno. "Objeto: Carácter (privado. 'EXCEPTIONS: '.). wl_filename. wa_obj_data‐file_ext = ‐filename+offset(3). WRITE :/2 'ERROR: SO_FOLDER_ROOT_ID_GET: '. CALL FUNCTION 'SO_FOLDER_ROOT_ID_GET' EXPORTING region = 'B' "adress folder root IMPORTING folder_id = wa_fol_id EXCEPTIONS communication_failure = 1 owner_not_exist = 2 system_failure = 3 x_error = 4 OTHERS = 5. del fichero. IF ( sy‐subrc <> 0 ).html 9/18 . CONCATENATE text‐a01 wa_obj_data‐objdes INTO wa_obj_data‐objdes SEPARATED BY space. offset = STRLEN( ‐filename ) ‐ 3. * Ext. ENDIF.com/2012/11/cargamasivadeanexosensap. funcional. O=Estándar wa_obj_data‐objla = sy‐langu. wa_obj_data‐objsns = 'O'.blogspot.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP IMPORTING et_contents_bin = it_content. etc. continue. sy‐subrc. html 10/18 . WRITE :/2 TEXT‐M05. wa_folmem_k‐doctp = wa_obj_id‐objtp. 30 ‐xblnr. ‐belnr. PERFORM move_pdf_completado USING ‐filename pi_comp. 26 TEXT‐M06. 60 ‐bukrs. wa_note‐objkey = ep_note. wa_folmem_k‐docyr = wa_obj_id‐objyr. " ADJUNTAR_PDFS *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* http://codigoderetorno. wa_folmem_k‐foltp = wa_fol_id‐objtp.‐gjahr. ELSE.com/2012/11/cargamasivadeanexosensap. ep_note = wa_folmem_k. IF sy‐subrc IS INITIAL.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP parameter_error = 10 substitute_not_active = 11 substitute_not_defined = 12 system_failure = 13 x_error = 14 OTHERS = 15. wa_note‐objtype = 'MESSAGE'. WRITE :/2 TEXT‐M07. ENDFORM.' / '.blogspot. WRITE :/2 TEXT‐M08. * 3‐ Adjuntar documento al BO deseado(Material en nuestro caso) CALL FUNCTION 'BINARY_RELATION_CREATE_COMMIT' EXPORTING obj_rolea = wa_target_bo obj_roleb = wa_note relationtype = 'ATTA' EXCEPTIONS no_model = 1 internal_error = 2 unknown = 3 OTHERS = 4. ENDIF. ENDLOOP.' / '. IF sy‐subrc = 0 AND wa_target_bo‐objkey IS NOT INITIAL. ENDIF. 14 ‐xblnr. RETURN. wa_folmem_k‐folno = wa_fol_id‐objno. 30 ‐xblnr. * Creamos el fichero como BO para que pueda adjuntarse. ELSE. wa_folmem_k‐folyr = wa_fol_id‐objyr. wa_folmem_k‐docno = wa_obj_id‐objno. REFRESH : po_files. CLEAR: wl_filename.PDF' files_only = abap_false directories_only = abap_false CHANGING file_table = po_files http://codigoderetorno. "‐‐>Volvemos a la pantalla inicial ENDIF. DATA: wl_filename TYPE string. ENDFORM.blogspot.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP *& Form CHECK_DATA *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Comprobar el rango de cliente o deudores: * ‐ El usuario debe introducir un rango de clientes o de deudores * ‐ No se puede introducir ambos rango a la vez * ‐ Ambos rango no puedne estar vaciaos a la vez *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM check_data . "‐‐>Volvemos a la pantalla inicial ELSEIF ( s_kunnr IS NOT INITIAL ) AND ( s_lifnr IS NOT INITIAL ). STOP.html 11/18 . " CHECK_DATA *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Form DIRECTORY_LIST *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Lista de archivos del directorio seleccionados * Nos interesan soló los PDF *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>PI_FILE : directorio * <‐‐PO_FILES : Archivos PDF del directorio *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM directory_list USING pi_file LIKE rlgrap‐filename CHANGING po_files TYPE filetable. FIELD‐SYMBOLS: TYPE LINE OF filetable. IF ( s_kunnr IS INITIAL ) AND ( s_lifnr IS INITIAL ). DATA: wl_count TYPE i. MESSAGE text‐e01 TYPE 'S' DISPLAY LIKE 'E'. wl_count. wl_filename = pi_file. CALL METHOD cl_gui_frontend_services=>directory_list_files EXPORTING directory = wl_filename filter = '*. MESSAGE text‐e02 TYPE 'S' DISPLAY LIKE 'E'. CHECK pi_file IS NOT INITIAL. STOP.com/2012/11/cargamasivadeanexosensap. copy_source = pi_origen. wl_filepath TYPE dbmsgora‐filename. CONCATENATE wl_filename '\' ‐filename INTO ‐filename. IF sy‐subrc <> 0.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP count = wl_count EXCEPTIONS cntl_error = 1 directory_list_files_failed = 2 wrong_parameter = 3 error_no_gui = 4 not_supported_by_gui = 5 OTHERS = 6. " DIRECTORY_LIST *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Form MOVE_PDF_COMPLETADO *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Copia los PDF adjuntados con exito a otra carpeta *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>PI_ORIGEN : directorio origen * ‐‐>PI_DESTINO : directorio destino *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM move_pdf_completado USING pi_origen TYPE file_table‐filename pi_destino LIKE rlgrap‐filename. CHECK pi_origen IS NOT INITIAL. wl_filepath = pi_origen . DATA: wl_filename TYPE sdbah‐actid.com/2012/11/cargamasivadeanexosensap. CONCATENATE pi_destino '\' wl_filename '. copy_destin TYPE string. DATA: copy_source TYPE string. ENDLOOP.blogspot. ELSE. MESSAGE ID sy‐msgid TYPE sy‐msgty NUMBER sy‐msgno WITH sy‐msgv1 sy‐msgv2 sy‐msgv3 sy‐msgv4. ret_var TYPE i. wl_extension TYPE sdbad‐funct.' wl_extension INTO copy_destin.html 12/18 . LOOP AT po_files ASSIGNING . http://codigoderetorno. CHECK pi_destino IS NOT INITIAL. CALL FUNCTION 'SPLIT_FILENAME' EXPORTING long_filename = wl_filepath IMPORTING pure_filename = wl_filename pure_extension = wl_extension. ENDIF. ENDFORM. pregunta si el usuario desea crearlo *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>PI_DIR : directorio *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM directory_check USING pi_dir LIKE rlgrap‐filename CHANGING po_return TYPE abap_bool. " MOVE_PDF_COMPLETADO *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Form DIRECTORY_CHECK *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Comprueba si existe el directorio * Si no existe. IF sy‐subrc EQ 0.html 13/18 .blogspot. http://codigoderetorno. CALL METHOD cl_gui_frontend_services=>file_delete EXPORTING filename = copy_source CHANGING rc = ret_var EXCEPTIONS file_delete_failed = 1 cntl_error = 2 error_no_gui = 3 file_not_found = 4 access_denied = 5 unknown_error = 6 not_supported_by_gui = 7 wrong_parameter = 8 OTHERS = 9. CHECK pi_dir IS NOT INITIAL.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP CALL METHOD cl_gui_frontend_services=>file_copy EXPORTING SOURCE = copy_source DESTINATION = copy_destin overwrite = abap_true EXCEPTIONS cntl_error = 1 error_no_gui = 2 wrong_parameter = 3 disk_full = 4 access_denied = 5 file_not_found = 6 destination_exists = 7 unknown_error = 8 path_not_found = 9 disk_write_protect = 10 drive_not_ready = 11 OTHERS = 12. ENDFORM.com/2012/11/cargamasivadeanexosensap. ENDIF. CALL METHOD cl_gui_frontend_services=>directory_exist EXPORTING directory = wl_dir RECEIVING result = po_return EXCEPTIONS cntl_error = 1 error_no_gui = 2 wrong_parameter = 3 not_supported_by_gui = 4 OTHERS = 5. "directory_check *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Form CREATE_DIRECTORY *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Pregunta al usuario si quiere crear el directorio localmente * Crea el directorio si asi lo confirmael usuario *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>PI_COMP Directorio * <‐‐PO_RETURN Resultado de la operación *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM create_directory USING pi_dir LIKE rlgrap‐filename CHANGING po_return TYPE abap_bool.blogspot. CLEAR : wl_dir.html 14/18 .23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP DATA: wl_dir TYPE string. CLEAR : po_return. ENDIF. wl_dir. MESSAGE ID sy‐msgid TYPE sy‐msgty NUMBER sy‐msgno WITH sy‐msgv1 sy‐msgv2 sy‐msgv3 sy‐msgv4. STOP. IF sy‐subrc <> 0. wl_rc TYPE i. wl_dir = pi_dir. CALL FUNCTION 'POPUP_TO_CONFIRM_STEP' "#EC * EXPORTING textline1 = pi_dir textline2 = text‐t02 titel = text‐t03 * START_COLUMN = 25 * START_ROW = 6 * CANCEL_DISPLAY = ?X? http://codigoderetorno. wl_rc. ENDFORM. wl_answer TYPE c. DATA: wl_dir TYPE string.com/2012/11/cargamasivadeanexosensap. ELSE. ENDIF. MESSAGE text‐t05 TYPE 'S'. wl_objkey LIKE swotobjid‐objkey. ENDIF. STOP. " CREATE_DIRECTORY *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& Form CHECK_ATTACHMENT *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * Comprueba si la factura ya ha sido adjuntada anteriormente * al documento contable *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* * ‐‐>PI_doc : datos del doc. ENDFORM. IF sy‐subrc <> 0.html 15/18 . CALL METHOD cl_gui_frontend_services=>directory_create EXPORTING directory = wl_dir CHANGING rc = wl_rc EXCEPTIONS directory_create_failed = 1 cntl_error = 2 error_no_gui = 3 directory_access_denied = 4 directory_already_exists = 5 path_not_found = 6 unknown_error = 7 not_supported_by_gui = 8 wrong_parameter = 9 OTHERS = 10. wl_dir = pi_dir. MESSAGE text‐t01 TYPE 'S' DISPLAY LIKE 'E'.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP IMPORTING answer = wl_answer . http://codigoderetorno.blogspot. IF wl_answer <> 'J'. ELSE. MESSAGE text‐t04 TYPE 'S' DISPLAY LIKE 'E'. STOP. DATA: wl_classname LIKE bapibds01‐classname VALUE 'BKPF'.com/2012/11/cargamasivadeanexosensap. contable * ‐‐>PI_FACTURA : nº de factura * <‐‐PO_RETURN : resultado de la comprobación *‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* FORM check_attachment USING pi_doc TYPE types_facturas pi_factura TYPE vbrk‐vbeln CHANGING po_return TYPE c. CLEAR: wl_objkey. REFRESH: tl_BDN_CON. ENDIF. FIELD‐SYMBOLS: TYPE BDN_CON.html 16/18 .blogspot.com/2012/11/cargamasivadeanexosensap. CONCATENATE pi_doc‐bukrs pi_doc‐belnr pi_doc‐gjahr INTO wl_objkey.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP DATA: tl_BDN_CON TYPE STANDARD TABLE OF BDN_CON. LOOP AT tl_BDN_CON ASSIGNING . EXIT. po_return = abap_true. po_return. FIND FIRST OCCURRENCE OF pi_factura IN ‐DESCRIPT. IF sy‐subrc <> 0. ELSEIF ( tl_BDN_CON[] IS NOT INITIAL ). " CHECK_ATTACHMENT Notas OSS de interes: 927407 Determining the content of GOS and SAPoffice documents 904711 SAPoffice: Where are documents physically stored? 916512 SAPoffice: Directory for upload/download/display http://codigoderetorno. ENDLOOP. ENDIF. ENDFORM. IF SY‐SUBRC EQ 0. CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET' EXPORTING * LOGICAL_SYSTEM = classname = wl_classname objkey = wl_objkey CLIENT = SY‐MANDT TABLES gos_connections = tl_BDN_CON EXCEPTIONS NO_OBJECTS_FOUND = 1 INTERNAL_ERROR = 2 INTERNAL_GOS_ERROR = 3 OTHERS = 4 . * MESSAGE ID SY‐MSGID TYPE SY‐MSGTY NUMBER SY‐MSGNO * WITH SY‐MSGV1 SY‐MSGV2 SY‐MSGV3 SY‐MSGV4. Visualizar y Borrar anexos con CL_GOS_DOCUMENT_SERVICE Publicado por David Rueda en 9:21 +2 Recomendar esto en Google Etiquetas: abap.. Responder Introduce tu comentario.tengo una duda: esto se podrá hacer para efectuar la carga masiva a una unidad externa? muchas gracias Responder Respuestas David Rueda 16 de mayo de 2014. GOS 2 comentarios: Andreyna Palinsky 9 de mayo de 2014. Comentar como: Publicar Cuenta de Google Vista previa http://codigoderetorno.... CL_GOS_DOCUMENT_SERVICE. Podrías cargar todos los pfd en el servidor y anexar en SAP la URL al archivo. un DMS o simplemente un servidor de archivos. attachment. 2:12 Depende que tengas por "unidad externa" un servidor OpenTExt.html 17/18 . 7:59 Muy buen artículo .. anexos. abap orientado a objetos. Es una buena idea para no sobrecargar tanto SAP.com/2012/11/cargamasivadeanexosensap.blogspot.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP 448074 Calling generic object services from the dialog Entradas Anteriores: I ain't afraid of no GOS Cambiar la categoría de archivo para GOS RSIRPIRL: recolocando los contenidos de SOFFCONT1 Crear. http://codigoderetorno.23/2/2015 Código de Retorno: Carga Masiva de anexos en SAP Entrada más reciente Página principal Entrada antigua Suscribirse a: Enviar comentarios (Atom) Plantilla Simple.blogspot.com/2012/11/cargamasivadeanexosensap. Con la tecnología de Blogger.html 18/18 .
Report "Código de Retorno_ Carga Masiva de Anexos en SAP"