#1
|
|||
|
|||
Carga de fotos masiva problemas...
Buenos días a continuación detallo el programa de carga masiva que tengo y el problema que tengo es el siguiente, este programa me lo armaron con el fin de cargar todas las fotografias de personal a los infotipos de Sap Hr el problema es que desde que lo tengo para ejecutarlo el programa no hace nada no carga ni una foto y no tira ningún reprte de error como para saber cual es el problema detallo a continuación el programa utilizado junto con el txt que utilizo para la carga masiva, el txt esta compuesto por 8 caracteres conformado por el número de legajo, un espacio separado por tabulación y la ruta en donde se encuentra el archivo de fotografía jpg.
Si podrían decirme cual es el error se los agradesco y si hay alguna otra forma de cargar masivamente favor de mostrarme muchas gracias. Programa: *&---------------------------------------------------------------------* *& Report HR_CARGAFOTOMASIVA *& *&---------------------------------------------------------------------* *& Fecha....: xx-xx-xxxx *& *&---------------------------------------------------------------------* REPORT HR_CARGAFOTOMASIVA *----------------------------------------------------------------- * Variables *----------------------------------------------------------------- DATA: ws_input_file type string. DATA: ws_pernr LIKE RP50G-PERNR. DATA: ws_filename(255) TYPE C. DATA: count TYPE EPSFILSIZ, one_percent TYPE F, progress TYPE I. DATA: object_id TYPE saeobjid, pos_count TYPE I. DATA: text_progress(20) TYPE C. *----------------------------------------------------------------- * Structures *----------------------------------------------------------------- TYPES: BEGIN OF e_input_file, ISTK(8) TYPE C, "IS Filename(255) TYPE C, "Path and JPG file name END OF e_input_file. *----------------------------------------------------------------- * Internal tables *----------------------------------------------------------------- * Store the information of input file DATA: t_input_data TYPE e_input_file OCCURS 0 WITH HEADER LINE. * ArchiveLink Document Table DATA: outdoctab LIKE toadt OCCURS 0 WITH HEADER LINE. *----------------------------------------------------------------- * Screen selection *----------------------------------------------------------------- SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001. PARAMETERS: p_fileI TYPE rlgrap-filename OBLIGATORY DEFAULT 'C:\Carga_Inicial\PICTURE.TXT'. * p_print AS CHECKBOX DEFAULT 'X'. PARAMETERS: p_repos TYPE TOAV0-ARCHIV_ID OBLIGATORY DEFAULT 'A2'. PARAMETERS: p_date TYPE TOAV0-AR_DATE OBLIGATORY DEFAULT sy-datum. SELECTION-SCREEN END OF BLOCK 1. *----------------------------------------------------------------- * Events *----------------------------------------------------------------- AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fileI. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING def_filename = p_fileI mask = ',*.txt.' mode = 'O' title = 'Upload File'(078) IMPORTING filename = p_fileI EXCEPTIONS inv_winsys = 1 no_batch = 2 selection_cancel = 3 selection_error = 4 OTHERS = 5. *----------------------------------------------------------------- * START-OF-SELECTION *----------------------------------------------------------------- START-OF-SELECTION. ws_input_file = p_fileI. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = ws_input_file has_field_separator = 'X' "file is TAB delimited TABLES DATA_TAB = t_input_data 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. IF sy-subrc NE 0. WRITE: 'Error ', sy-subrc, 'returned from GUI_UPLOAD FM'. STOP. ENDIF. END-OF-SELECTION. * Get the record count DESCRIBE TABLE t_input_data LINES count. one_percent = count / 100. * Read the internal table LOOP AT t_input_data. pos_count = sy-tabix. progress = pos_count / one_percent. CLEAR ws_pernr. MOVE t_input_data-Filename TO ws_filename. MOVE t_input_data-ISTK TO ws_pernr. * Get the personal number * Select PerNr * From PA0032 * into ws_pernr * Where pnalt = t_input_data-ISTK. * EndSelect. IF ws_pernr IS NOT INITIAL OR ws_pernr <> '00000000'. * Concatenate the personal number and the infotype CONCATENATE ws_pernr '0002' INTO object_id. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. * Load the file into the repository CALL FUNCTION 'ALINK_DOCUMENTS_CREATE_DIALOG' EXPORTING archiv_id = p_repos document_class = 'JPG' document_type = 'HRICOLFOTO' filename = ws_filename multiple = 'X' TABLES outdoctab = outdoctab EXCEPTIONS error_contentrepository = 1 error_archivelink_customizing = 2 canceled_by_user = 3 OTHERS = 4. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. LOOP AT outdoctab. * Link the file with the personal number CALL FUNCTION 'ARCHIV_CONNECTION_INSERT' EXPORTING archiv_id = outdoctab-contrep_id arc_doc_id = outdoctab-arc_doc_id AR_DATE = p_date ar_object = 'HRICOLFOTO' MANDANT = sy-mandt object_id = object_id sap_object = 'PREL' doc_type = 'JPG' EXCEPTIONS error_connectiontable = 1 OTHERS = 2. * Write a report * IF p_print = 'X'. IF sy-subrc = 0. WRITE: / pos_count, AT 20 'OK', AT 30 t_input_data-ISTK, AT 40 ws_filename. ELSE. WRITE: / pos_count, AT 20 'ERROR', AT 30 t_input_data-ISTK, AT 40 ws_filename. ENDIF. * ENDIF. COMMIT WORK. text_progress = progress. CONDENSE text_progress. CONCATENATE text_progress ' % ?????????' INTO text_progress. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING percentage = progress text = text_progress. ENDLOOP. ELSE. WRITE: / pos_count, AT 20 'X', AT 30 t_input_data-ISTK, AT 40 ws_filename. ENDIF. CLEAR ws_filename. ENDLOOP. Txt para importar las fotografías: Nº leg: Ruta en donde se encuentra la fotografía: -------------------------------------------------------------------------- 00000598 C:\DocumentoRHSAP\Archivos\0598.jpg 00000603 C:\DocumentoRHSAP\Archivos\0603.jpg 00000608 C:\DocumentoRHSAP\Archivos\0608.jpg 00000715 C:\DocumentoRHSAP\Archivos\0715.jpg 00000856 C:\DocumentoRHSAP\Archivos\0856.jpg 00001007 C:\DocumentoRHSAP\Archivos\1007.jpg 00002004 C:\DocumentoRHSAP\Archivos\2004.jpg Desde ya muchas gracias. Saludos.... |
#2
|
|||
|
|||
Repositorio fotos
Al ejecutar el programa, donde indicas el repositorio "A2" comprueba pulsando en el match-code que existe, es posible que definieses tu repositorio con otro nombre...
Saludos. |
#3
|
|||
|
|||
![]() Les actualizo el estatus, lo que pasa es que hoy termine ese programa y no había tomado ciertos detalles, si quieres cargar fotos de forma masiva no usen la función 'ALINK_DOCUMENTS_CREATE_DIALOG'.
En su lugar usen: CALL FUNCTION 'ARCHIV_CREATE_DIALOG_META' antes de declarar esta función lo que si tienen que usar es un perform que se llama split_path el cual les separara de la ruta completa que trae el archivo txt por el nombre de la foto ejemplo: C:\Users\Edwardo2701\Documents\atari.jpg y quedaría de la siguiente forma atari.jpg,lo que obtengan de este split_path que queda en la variable "File" se lo pasan en la function donde esta indicado en Exporting file.Este perform lo encuentran en el include LALINK_DISPLAY_DOCUMENTF01: CALL FUNCTION 'ARCHIV_CREATE_DIALOG_META' EXPORTING archiv_id = p_repos ar_object = 'HRICOLFOTO' object_id = object_id sap_object = 'PREL' file = file si se guían en el programa posteado arriba ojo en la parte de " has_field_separator = 'X' "file is TAB delimited " comentar esta parte si es que el archivo que están pasando no esta delimitado por tabs ¡¡¡¡OJO!!!! Esto no es necesario con la función que les comento: también era que te faltaba poner el siguiente perform: PERFORM insert_connection_on_commit(archivelinktoaom). después del llamado a la función CALL FUNCTION 'ARCHIV_CONNECTION_INSERT' Saludos y espero no sea demasiado tarde ![]() Úlima edición por Edward2701 fecha: 05/01/12 a las 18:15:34. |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|