Código de Retorno_ Carga Masiva de Anexos en SAP

March 22, 2018 | Author: FiZuMa | Category: Software Engineering, Application Software, Computer Programming, Technology, Computing


Comments



Description

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/carga­masiva­de­anexos­en­sap.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/carga­masiva­de­anexos­en­sap. 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 BKPF­XBLNR del doc. contables con BKPF­XBLNR 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­ NoComercial­CompartirIgual 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/carga­masiva­de­anexos­en­sap..... 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/carga­masiva­de­anexos­en­sap. *&‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐* *& 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_BO­OBJTYPE 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/carga­masiva­de­anexos­en­sap. 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/carga­masiva­de­anexos­en­sap.         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/carga­masiva­de­anexos­en­sap.        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/carga­masiva­de­anexos­en­sap.   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/carga­masiva­de­anexos­en­sap. 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/carga­masiva­de­anexos­en­sap.        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/carga­masiva­de­anexos­en­sap.   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/carga­masiva­de­anexos­en­sap.   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/carga­masiva­de­anexos­en­sap.   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/carga­masiva­de­anexos­en­sap.     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/carga­masiva­de­anexos­en­sap. 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/carga­masiva­de­anexos­en­sap.   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/carga­masiva­de­anexos­en­sap.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/carga­masiva­de­anexos­en­sap. Con la tecnología de Blogger.html 18/18 .
Copyright © 2024 DOKUMEN.SITE Inc.