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




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 23/03/09, 10:13:37
romario2 romario2 is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Mensajes: 233
Question 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.
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 06:03:15.


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