movimiento facturas xml en fondo
Hola,
tengo un programa abap que mueve facturas .xml de una carpeta a otra. Cuando ejecuto el report de forma manual va perfecto. En cambio, si lo hago en fondo, por un job, no se procesa correctamente la factura. Alguien me puede ayudar, es un tema urgente. Gracias de antemano:( codigo relacionado: CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING' EXPORTING dir_name = eps_dir * file_mask = 'Acuse_4400000395_v2.xml' TABLES dir_list = it_epsdir_list EXCEPTIONS invalid_eps_subdir = 1 sapgparam_failed = 2 build_directory_failed = 3 no_authorization = 4 read_directory_failed = 5 too_many_read_errors = 6 empty_directory_list = 7 OTHERS = 8. **************** EPS_GET_DIRECTORY_LISTING ************** DATA: lv_eps_subdir LIKE epsf-epssubdir. * authority check IF dir_name(4) = gc_trans_dir. " check TMS authority PERFORM check_trans_read_authority. IF sy-subrc <> 0. RAISE no_authorization. ENDIF. ELSE. PERFORM check_ftp_authority. IF sy-subrc <> 0. RAISE no_authorization. ENDIF. ENDIF. * expand EPS subdirectory names IF dir_name = space. " assume files in EPS/in dir_name = gc_eps_in. ENDIF. IF dir_name = gc_eps_in OR " get full directory name dir_name = gc_eps_out OR dir_name = gc_eps_log OR dir_name(4) = gc_trans_dir. lv_eps_subdir = dir_name. CALL FUNCTION 'EPS_GET_DIRECTORY_PATH' EXPORTING eps_subdir = lv_eps_subdir dir_name = dir_name IMPORTING dir_name = dir_name EXCEPTIONS invalid_eps_subdir = 01 sapgparam_failed = 02 build_directory_failed = 03. CASE sy-subrc. WHEN 01. RAISE invalid_eps_subdir. WHEN 02. RAISE sapgparam_failed. WHEN 03. RAISE build_directory_failed. ENDCASE. ENDIF. * get directory listing CALL 'C_DIR_READ_FINISH' " just to be sure ID 'ERRNO' FIELD file-errno ID 'ERRMSG' FIELD file-errmsg. CALL 'C_DIR_READ_START' ID 'DIR' FIELD dir_name ID 'FILE' FIELD file_mask ID 'ERRNO' FIELD file-errno ID 'ERRMSG' FIELD file-errmsg. IF sy-subrc <> 0. RAISE read_directory_failed. ENDIF. REFRESH dir_list. CLEAR file_counter. CLEAR error_counter. DO. CLEAR file. CLEAR dir_list. CALL 'C_DIR_READ_NEXT' ID 'TYPE' FIELD file-type ID 'NAME' FIELD file-name ID 'LEN' FIELD file-len ID 'OWNER' FIELD file-owner ID 'MTIME' FIELD file-mtime ID 'MODE' FIELD file-mode ID 'ERRNO' FIELD file-errno ID 'ERRMSG' FIELD file-errmsg. * handle files > 2147483647 byte (int 4) - hen 9.9.2004 IF file-len > 2147483647. dir_list-size = -99. ELSE. dir_list-size = file-len. ENDIF. dir_list-name = file-name. IF sy-subrc = 0. IF file-type(1) = 'f' OR " regular file file-type(1) = 'F'. ADD 1 TO file_counter. dir_list-rc = 0. APPEND dir_list. ENDIF. ELSEIF sy-subrc = 1. EXIT. ELSE. IF error_counter > gc_1000. CALL 'C_DIR_READ_FINISH' ID 'ERRNO' FIELD file-errno ID 'ERRMSG' FIELD file-errmsg. RAISE too_many_read_errors. ENDIF. ADD 1 TO error_counter. dir_list-rc = 18. APPEND dir_list. ENDIF. ENDDO. CALL 'C_DIR_READ_FINISH' ID 'ERRNO' FIELD file-errno ID 'ERRMSG' FIELD file-errmsg. IF file_counter > 0. SORT dir_list BY name ASCENDING. ELSE. RAISE empty_directory_list. ENDIF. |
Husos Horarios son GMT. La hora en este momento es 13:54:14. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web