ABAP - Idocs

 
Vista:

Idocs

Publicado por mariano (2 intervenciones) el 04/03/2008 16:53:09
hola mi nombre es mariano y estoy teniendo un problemita. cuando hago la recepcion de un idoc necesito borrarlo porque en la salida no pude porque no encontre un exit. lo que estoy haciendo es borrar el segmento padre pero no me borra los segmentos hijos y quedan. y luego me da el errror que no existe el objeto. alguien sabe como borrar todo el idoc y quede registrado?.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Idocs

Publicado por Alejandro (226 intervenciones) el 12/04/2023 22:43:30
Para borrar completamente un IDoc en SAP, puedes utilizar la función estándar 'IDOC_INBOUND_WRITE_COMPLETELY'. Esta función se utiliza para actualizar el IDoc en la base de datos de SAP y marcarlo como procesado, lo que implica que no se volverá a procesar en el futuro.

El código ABAP para borrar completamente un IDoc podría ser algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DATA: lv_idoc_num TYPE edidc-docnum.
 
lv_idoc_num = 'TU_NUMERO_DE_IDOC'. "Reemplaza con el número de tu IDoc"
 
CALL FUNCTION 'IDOC_INBOUND_WRITE_COMPLETELY'
  EXPORTING
    docnum        = lv_idoc_num
  EXCEPTIONS
    idoc_not_existent = 1
    OTHERS           = 2.
 
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

Este código utilizará la función 'IDOC_INBOUND_WRITE_COMPLETELY' para borrar completamente el IDoc con el número de documento especificado en la variable 'lv_idoc_num'. Si el IDoc no existe, se generará un mensaje de error.

Espero que esto te sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar