Beruflich Dokumente
Kultur Dokumente
CHAR 10
DATS 8
TIMS 6
CHAR 2
CHAR 3
Tipo
Long. Tipo
Texto breve
EDI4TABNAM
Nombre de la estructura de tabla
CLNT 3
EDI4MANDT Mandante
CHAR 16
EDI4DOCNUC Nmero del IDOC
EDI4LOGDAT
Fecha de la informacin de status
EDI4LOGTIM
Hora de la informacin de status
EDI4STATUS
Status del IDOC
Cualificador para mensaje en registro de status
EDI4STAMQU
CHAR 20
EDI4STAMID
Nro. de mensaje para mensaje de status: Clase mensaje
NUMC 3
EDI4STAMNO
Nmero de mensaje en mensaje de status
CHAR 1
EDI4STATYP
Tipo de mensaje (A, W, E, S, I) en el mensaje de status
CHAR 50
EDI4STAPA1
Primer parmetro de un mensaje en registro de status
CHAR 50
EDI4STAPA2
Segundo parmetro de un mensaje en registro de status
CHAR 50
EDI4STAPA3
Tercer parmetro de un mensaje en registro de status
CHAR 50 EDI4STAPA4
Cuarto parmetro de un mensaje en registro de status
CHAR 70
EDI4STATXT Texto para status
CHAR 12
EDI4UNAME
Nombre del usuario
CHAR 30
EDI4REPID
Programa
CHAR 30
EDI4ROUTID
Subrutina (rutina, mdulo de funciones)
CHAR 6
EDI4SEGNUC
Nmero de segmento
CHAR 30
EDI4SEGFLD
Campo de segmento
CHAR 14
EDI4REFINT
Fichero de transmisin (EDI Interchange)
CHAR 14
EDI4REFGRP
Grupo de mensajes (EDI Message Group)
CHAR 14
EDI4REFMES
Mensaje (Mensaje EDI)
CHAR 70
EDI4ARCKEY
Clave del archivo de mensajes externo
Los datos de los registros de estado se almacenan en la tabla SAP EDIDS. La clave de la tabla es el mandante (MANDT), nmero de Idoc
(DOCNUM), fecha (LOGDAT), hora (LOGTIM), y un contador de registro (COUNTR).
Para la creacin de un nuevo tipo de IDoc en SAP debe seguirse una secuencia de 5 pasos:
3.1 Creacin de los elementos de datos
Deben crearse los elementos de datos necesarios para la definicin de los segmentos. La necesidad de crear elementos de datos debera ser
mnima dado que los datos ya existen en SAP y por lo tanto estn representados por sus propios elementos de datos.
Sin embargo, los segmentos no admiten cualquier tipo dato y por lo tanto debern definirse nuevos elementos en caso que los existentes
no sean de alguno de los siguientes tipos:
Tipo de Datos
CHAR
CLNT
CUKY
DATS
LANG
NUMC
TIMS
Descripcin
String de caracteres
Cliente
Campo moneda, referenciado por campos CURR
Campo fecha (YYYYMMDD), almacenado como char(8)
Clave de idioma
Campo carcter con dgitos solamente
Campo fecha (HHMMSS), almacenado como char(6)
Transaccin: WE31.
Camino lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP Desarrollo Segmentos IDoc.
Pasos:
3.2.1 - Ejecutar la transaccin WE31. Ingresar el nombre del tipo de segmento (debe comenzar con Z1) y seleccionar la opcin Crear (F5).
3.2.2 Entrar una descripcin breve y los valores para los distintos campos. Este paso completa la definicin del segmento. El sistema
automticamente asigna un nombre a la definicin del segmento, basado en el nombre del tipo de segmento. Ej.: si el tipo de segmento es
Z1WKDET, la definicin del segmento ser Z2WKDET.
3.2.3 Guardar las entradas. Volver a la pantalla anterior y repetir el mismo procedimiento para todos los segmentos que se necesiten
crear para el tipo de IDoc.
3.3 Creacin del Tipo Base de IDoc
Una vez creados todos los segmentos, el siguiente paso es crear el Tipo Base de IDoc. Los tipos base de IDocs se crean con el Editor de
IDocs:
Transaccin: WE30
Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP Desarrollo Tipos IDoc.
Pasos:
3.3.1 Ejecutar la transaccin WE30. Ingresar el nombre del tipo base de IDoc (debe comenzar con Z). Seleccionar la opcin Tipo base y
Crear (F5).
3.3.2 En la siguiente pantalla, seleccionar la opcin Crear nuevo e ingresar una descripcin para el tipo base de IDoc. Presionar Continuar.
3.3.3 Posicionar el cursor sobre el nombre del IDoc y seleccionar Crear (Shift+F6). Ingresar a continuacin el tipo de segmento y sus
atributos. Al presionar Enter, el sistema transfiere el nombre del tipo de segmento al editor de IDoc.
3.3.4 Para ingresar ms segmentos, repetir el procedimiento del punto 3.3. Luego de haber creado el primer segmento, debe indicarse
para los restantes el nivel (mismo nivel o nivel hijo) en el cual se quiere insertar el nuevo segmento.
3.3.5 Guardar el tipo base de IDoc.
3.4 Liberacin del Tipo de Segmento y Tipo Bsico de IDoc
Una vez terminada la definicin de la estructura del IDoc y sus segmentos, ambos objetos deben ser liberados a fin de que se encuentren
disponibles para su transporte a los sistemas de testing y produccin. Primero deben liberarse los segmentos y despus el tipo base de
IDoc.
Para liberar un segmento, ejecutar la transaccin WE31. Ingresar el tipo de segmento y seleccionar Tratar, Liberar. El sistema
automticamente completa el check box en el bloque de definiciones del segmento.
Para liberar un tipo base de IDoc, ejecutar la transaccin WE30. Ingresar el tipo base de IDoc y seleccionar Tratar, Liberar.
Una vez que el segmento / tipo base de IDoc es liberado, ya no pueden ser modificados. En caso de ser necesario introducir modificaciones
debe cancelarse la liberacin. Los pasos para cancelar la liberacin son los mismos a los indicados para la liberacin.
3.5 Transporte de Segmentos y Tipo Base de IDocs
Las modificaciones a los tipos base de IDocs y segmentos son automticamente registradas en una orden de transporte. Luego de
transportados los objetos, los mismos pueden volverse a transportar manualmente desde el editor de segmentos / IDoc seleccionando:
Segmento Transportar. Al transportarse un segmento se transportan automticamente todas sus definiciones y documentacin. Sin
embargo, al transportarse un tipo base de IDoc no se transportan automticamente todos sus segmentos.
4 - Extensin de un IDoc.
Las ampliaciones de IDocs son componentes que se utilizan para extender tipos de IDoc base ya existentes de una forma predefinida. Estas
extensiones slo pueden ser realizadas por el cliente ya que los tipos de ampliacin no son proporcionados por SAP.
Para crear un tipo de ampliacin:
Transaccin: WE30
Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP Desarrollo Tipos IDoc.
En el editor de IDOC, elegir el componente Tipo de ampliacin e introducir el nombre en el campo Objeto.
Seleccionar Objeto desarrollo Crear. En ste momento, la ventana de dilogo Crear un tipo de ampliacin se mostrar por pantalla.
Elegir una de las siguientes tres opciones:
Crear nuevo.
Crear como copia.
Crear como sucesor.
Introducir los nombres de la personas responsables as como una breve descripcin del nuevo tipo de ampliacin a crear. Seleccionar
Continuar.
1 - Para aadir segmento ampliado a un segmento de referencia, colocar el cursor sobre el segmento de referencia siguiente a donde se
pretenda aadir el nuevo segmento y seleccionar Crear. Aparecer un mensaje indicando que los segmentos creados despus de un
segmento de referencia slo pueden ser creados como segmentos hijos.
La secuencia en la cual aparecen los segmentos de referencia en el tipo de ampliacin es irrelevante. Lo realmente importante es que
dichos segmentos existan en el tipo de IDoc base que est siendo ampliado.
Las ampliaciones de cliente realizadas utilizando tipos de ampliacin pueden soportarse cuando el sistema se actualice a una nueva versin
R/3. Los sucesores a tipos de IDoc base de versiones anteriores se combinan automticamente con los tipos de ampliacin que ya estn
siendo utilizados. No se requiere un mantenimiento manual. Los tipos de IDoc base implementados por el cliente y sus ampliaciones
permanecen sin cambios en la actualizacin.
4.1 - Configuracin el procesamiento Outbound
Por cada segmento extendido, tiene que haber una extensin en el cdigo del mdulo de funcin de outbound, que inserte los datos
indicados en la extensin del segmento.
El programa o funcin que genere el Idoc puede o no ser un estandar SAP. En caso de serlo, habr que insertar el cdigo necesario para
manejar las extensiones en una User Exit. Para hacer esto usar la transaccin CMOD. Si es un programa Z, solo habr que actualizarlo para
que considere la extensin.
Por otro lado, habr que actualizar los Acuerdos de Interlocutores que utilicen el Idoc extendido, especificando el nombre de la extensin
creada.
4.2 - Configuracin el procesamiento Inbound
Por cada segmento extendido, tiene que haber una extensin en el cdigo del mdulo de funcin de inbound, que considere el tipo de
segmento extendido recibido entre los datos para poder procesarlo.
El programa o funcin que genere el Idoc puede o no ser un estandar SAP. En caso de serlo, habr que insertar el cdigo necesario para
manejar las extensiones en una User Exit. Para hacer esto usar la transaccin CMOD. Si es un programa Z, solo habr que actualizarlo para
que considere la extensin.
Por otro lado, habr que actualizar los Acuerdos de Interlocutores que utilicen el Idoc extendido, especificando el nombre de la extensin
creada.
En este paso se asigna el tipo de mensaje creado en el paso anterior a un tipo de IDoc. Esta asociacin no slo sirve a fin de documentar el
mensaje en que est basado cada tipo de IDoc, sino que adems verifica esta asociacin el momento en que el IDoc es generado.
Creacin de un modelo de distribucin.
La relacin entre sistemas lgicos, tipos de mensajes, BAPIs y filtros estn definidas en el Modelo de Distribucin. Las aplicaciones y la capa
ALE usan el modelo de distribucin para determinar los receptores y para controlar la distribucin de datos.
Los escenarios de distribucin definen los tipos de IDocs y los pares de Interlocutores que participan en una distribucin ALE. El escenario
de distribucin es la referencia para determinar qu datos sern replicados y quienes sern los receptores.
El modelo de distribucin es compartido entre todos los interlocutores participantes. Por lo tanto solo puede ser mantenido en uno de los
sistemas, el cual lo podemos llamar el sistema lder. Solo uno de los sistemas es el sistema lder, pero puede ser seteado para cualquiera de
los interlocutores en cualquier momento, an si el escenario ya se encuentra activo.
Puede haber varios escenarios para diferentes propsitos. Por otro lado se puede poner todo en un solo escenario. Lo ms recomendable es
crear un escenario por administrador. Si hay un solo administrador ALE, no tiene mucho sentido tener ms de un escenario. Pero si hay
varios departamentos con diferentes requerimientos, ser ms til crear un escenario por departamento.
Generalmente se utiliza una funcin estndar, salvo que se est extendiendo un Idoc. Igualmente, en caso de estar extendiendo, lo que se
hace generalmente es copiar una funcin estndar y agregarle la lgica necesaria para que se considere el segmento extendido al momento
de crear el Idoc.
10.3 - Creacin de Idocs desde un Mensaje de Logstica
El proceso lgico de generacin de Idocs de salida desde Mensajes de Logstica
es el siguiente:
Un programa ABAP (desarrollo Z) o transaccin estndar crea un mensaje en la tabla NAST.
El mensaje es procesado por el programa ABAP estndar RSNAST00, el cual lee el mensaje desde la tabla NAST, y llama al mdulo de
funcin adecuado para crear el Idoc, invocando a la funcin MASTERIDOC_DISTRIBUTE.
El Idoc es enviado a su destinatario al ejecutar el programa RSEOUT00.
Se puede usar el concepto de Mensajes R/3 para disparar la creacin de Idocs de la misma manera que se dispara la impresin de
SapScripts.
La tabla utilizada para esto es la NAST. Esta tabla guarda recordatorios escritos por aplicaciones. Estos recordatorios son llamados Mensajes
(messages).
Cada vez que una aplicacin ve la necesidad de pasar informacin a un sistema externo, un mensaje es escrito en la tabla NAST. Un
controlador de mensajes (message handler) eventualmente chequear las entradas en esta tabla y ejecutar la accin apropiada. Un
mensaje NAST de salida es guardado en un solo registro en la tabla NAST. El registro guarda toda la informacin que es necesaria para
crear el Idoc. Esto incluye, entre otras cosas, una clave de objeto para identificar al objeto procesado, el emisor y receptor del mensaje.
La configuracin de la interfaz de entrada incluye una seccin de Configuracin de Workflow para el manejo de excepciones.
Podemos dividir esta tarea en dos partes:
11.1 - Configuracin de Workflow.
11.2 - Configuracin de la Interfaz de entrada.
11.1 - Configuracin de Workflow
La configuracin de workflow es necesaria para el manejo de excepciones en el proceso de entrada. Los pasos que deben llevarse a cabo
son:
1 Crear un nuevo Objeto de Aplicacin IDoc en el Business Object Builder con eventos de triggering y de finalizacin.
2 Crear una nueva tarea basada en el objeto de aplicacin Idoc.
3 Crear el link de los eventos.
11.1.1 - Crear un nuevo Objeto de Aplicacin Idoc
Transaccin: SWO1
Camino Lgico: Herramientas SAP Business Workflow Desarrollo Herramientas def. Business Object Builder
1 Seleccionar el botn Buscar (ctrl.+F) y expandir las opciones de seleccin seleccionando el botn Selecciones (todas).
Ingresar IDOCAPPL en el campo Tipo super y Ejecutar.
2 Seleccionar cualquier objeto y seleccionar Business Objects Copiar.
El objeto seleccionado debe tener los eventos INPUTERROROCCURRED e INPUTFINISHED.
3 Asignar un nombre al Tipo de Objeto y al programa
4 Hacer doble clic sobre la nueva entrada creada. Seleccionar el cono de Datos bsicos y Modificar. Modificar el nombre y
descripcin del objeto de manera que coincidan con los del IDoc. Generar y liberar el Tipo de objeto.
11.1.2 - Crear una nueva tarea basada en el Objeto de Aplicacin Idoc
Observacin:
Si al ejecutar este paso, llega a aparecer el mensaje:
el problema es el siguiente:
Las tareas y papeles, as como las definiciones workflow necesitan un ID, unvoco para todo el sistema y el mandante. De esta manera es
posible realizar un transporte de estos objeltos de un sistema a otro, en todo momento y sin restricciones. Desde el punto de vista tcnico,
esta uniformidad se realiza mediante un "nmero prefijo". Para cada sistema y cada mandante puede definirse un nmero prefijo propio.
Esto se realiza en la tabla T78NR.
Falta entrada para sistema NNN, mandante XXX
La transaccin es la OOW4.
Una tarea de workflow define los atributos de la tarea que debe ser ejecutada cuando ocurre un error de aplicacin. Una tarea apunta a un
mtodo a ser ejecutado y a un evento de triggering que comienza la tarea.
La mejor opcin para definir una nueva tarea es copiar una existente, tal como ORDERS_ERROR (TS00008046).
1 Ejecutar la transaccin PFTC_COP.
Transaccin: PFTC_COP
Camino Lgico: Herramientas SAP Business Workflow Desarrollo Herramientas def. Tareas/Grupos de Tareas Copiar
Seleccionar Tarea estndar para el tipo de tarea e ingresar algn nmero de tarea (ej: 74508518) como tarea. Seleccionar el cono Copiar.
2 Ingresar una abreviatura y nombre para la tarea. Presionar Enter. Esto debera copiar la tarea. Tomar nota del nmero creado
(ejemplo: 90000001).
Ejemplo de Sigla y Denominacin:
Sigla: ZQOTE_ERROR
Denominacin: ZQOTE Error de Entrada
3 Ejecutar la transaccin PFTC_CHG.
Transaccin: PFTC_COP
Camino Lgico: Herramientas SAP Business Workflow Desarrollo Herramientas def. Tareas/Grupos de Tareas Modificar
Seleccionar Tarea estndar como tipo de tarea, y el nmero de tarea del paso 2 en el campo Tarea. Seleccionar Modificar.
4 Reemplazar el campo Tipo de Objeto con el Objeto de aplicacin IDoc creado ms arriba, ZIDOCZQOTE.
5 El siguiente paso es modificar el evento de Triggering. Seleccionar la solapa Event. Desencadenantes. Borrar el/los eventos existentes y
crear otro basado en el Tipo de Objeto:
Tipo de Objeto: ZIDOCZQOTE
Evento: INPUTERROROCCURRED
6 Debe ahora definirse el link de datos entre el evento de triggering y la tarea. Seleccionar la lnea correspondiente al evento de
triggering y presionar el cono Defin. Flujo datos. Aceptar los valores propuestos para los campos Expresin y Excepcin.
7 Activar el link
8 Definir ahora el evento de terminacin. Seleccionar la solapa Event. Finalizadores.
Borrar el eventos existente y crear otro basado en el Tipo de Objeto:
Tipo de Objeto: ZIDOCZQOTE
Evento: INPUTFINISHED
Elemento: WIOBJECT_ID (la nica opcin disponible)
9 Definir la tarea como Tarea General de modo tal que pueda ser ejecutada por todos. Seleccionar Datos adicionales Asign.
Responsable Actualizar. Seleccionar la opcin Tarea General y grabar.
11.2 - Configuracin de la Interfaz de entrada
Luego de definir la configuracin de workflow, deben llevarse a cabo los siguientes pasos para la configuracin del proceso de entrada:
1 - Definir un nuevo tipo de mensaje.
2 - Relacionar el tipo de mensaje al tipo de IDoc.
3 - Asignar el mdulo de funcin al tipo de mensaje lgico y Idoc.
4 - Definir los atributos para el mdulo de funcin de entrada.
5 - Definir un nuevo Cdigo de Operacin.
6 - Asignar mtodos de entrada.
7 - Definir o modificar un acuerdo de interlocutor .
8 - Definir Puerta.
9 - Definir Mdulo de Funcin.
11.2.1 - Definicin de mensaje
Transaccin: WE81
Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP Desarrollo Tipos de mensajes
En este paso se asigna un tipo de mensaje a los contenidos del IDoc y se le da una descripcin corta. Definir un tipo de mensaje. Por
ejemplo: ZQUOTE (Oferta).
Ver detalles del procedimiento ms arriba en este mismo documento: Creacin de un nuevo Tipo de Mensaje
Relacin entre el tipo de mensaje y el tipo de Idoc
Transaccin: WE82
11.2.2 - Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Men SAP -> Desarrollo -> Tipo IDoc / Mensaje
En este paso se asigna el tipo de mensaje creado en el paso anterior al tipo de IDoc.
Para este ejemplo, relacionar el tipo de mensaje (ej: ZQUOTE) con el tipo base de IDoc ( ej: ZQUOTE01).
Ver detalles del procedimiento ms arriba en este mismo documento: Relacin entre un Tipo de Mensaje y un Tipo Base de IDoc.
Relacin entre el mdulo de funcin y el tipo de mensaje
Transaccin: WE57
11.2.3 - Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Desarrollo Mensaje / Obj.Apl.
Esta configuracin establece un link entre el mdulo de funciones, variante de mensaje (tipo de mensaje, variante lgica de mensaje y
funcin lgica de mensaje).
Observacin: En el caso de mensajes de salida, esta relacin es establecida en el acuerdo de interlocutor. Para mensajes de entrada, no
existe entrada para el tipo de IDoc en el acuerdo de interlocutor, por lo que esta configuracin es usada para establecer un tipo de IDoc,
mensaje y business object vlidos para el mdulo de funcin.
1 Crear un mdulo de funcin (o sea una funcin). No es recomendable crearla de cero. Copiarla de alguna existente, ya que los
parmetros de la funcin son estndar.
Por ejemplo, copiar el mdulo de funcin IDOC_INPUT_ORDERS a Z_IDOC_INPUT_ZQUOTE, y asignarlo a algn grupo de funciones Z.
2 Crear una nueva entrada en la transaccin WE57.
Los valores de Mdulo, Tipo Base, Tipo Mensaje y Tipo Objeto mostrados a continuacin son de ejemplo,
pero el Tipo y Sentido se deben respetar.
Mdulo:
Tipo:
Tipo Base:
Tipo Mensaje: ZQUOTE
Tipo Objeto:
Sentido:
Z_IDOC_INPUT_ZQUOTE
F (mdulo de funcin)
ZQUOTE01
ZIDOCZQOTE
2 (Salida)
Oferta
Z_IDOC_INPUT_ZQOTE
2
LS
LS
ZQUOTE
ZQUOT
"Valor de Ejemplo
"Valor de Ejemplo
X
Definicin de Puerta
Transaccin: WE21
Camino Lgico: Desde el rea de men de EDI (transaccin WEDI), seleccionar Gestin Descripcin Puerta
Se crea una puerta, (Ejempo EDI_ZQOT02) de tipo fichero, para definir el destino fsico del IDOC una vez generado y transmitido a la
puerta de salida.
Datos de la puerta de fichero:
1. Directorio fsico:
X
2. Fichero de salida:
ZQUOTE02
"Valor de Ejemplo
11.2.5 - Definicin de Mdulo de Funcin
Un mdulo de funcin de entrada de Idocs tiene la siguiente secuencia de pasos.
1 Leer la informacin del registro de control. Verificar la informacin de control (tipo de mensaje). Si el tipo de mensaje es incorrecto,
generar una excepcin.
2 - Leer los datos para un IDoc.
3 Procesar cada registro de datos.
5 Completar los parmetros de retorno.
6 Si existen otros IDocs, volver al paso 2. Si no, ir al paso 7.
7 Retornar del mdulo de funcin. Los resultados de la ejecucin son pasados a la capa ALE.
En general, los mdulos de funciones que reciben Idocs tienen los siguientes parmetros:
Import parameters
Reference field
Opt Y/N
INPUT_METHOD
BDWFAP_PAR-INPUTMETHD
MASS_PROCESSING
BDWFAP_PAR-MASS_PROC
Export Parameters
Reference field
Opt Y/N
WORKFLOW_RESULT
BDWFAP_PAR-RESULT
APPLICATION_VARIABLE
BDWFAP_PAR-APPL_VAR
IN_UPDATE_TASK
BDWFAP_PAR-UPDATETASK
CALL_TRANSACTION_DONE
BDWFAP_PAR-CALLTRANS
Table Parameters
Reference field
IDOC_CONTRL
EDIDC
IDOC_DATA
EDIDD
IDOC_STATUS
BDIDOCSTAT
RETURN_VARIABLES
BDWFRETVAR
SERIALIZATION_INFO
BDI_SER
Optional Y/N
Exceptions
WRONG_FUNCTION_CALLED
A continuacin se detalla genricamente el cdigo de procesamiento de Idocs de entrada, donde se puede ver que realiza los pasos
mencionados ms arriba.
* DECLARACION DE DATOS
DATA: C_SEGNAM(10) TYPE C VALUE 'Z1INVRV'.
ENDLOOP."LOOP AT IDOC_CONTRL.
************************************************************************
* FORMS
************************************************************************
FORM F_PROCESAR_XXXX
* Ac insertar la lgica necesaria para el procesamiento del registro
ENDFORM.
*---------------------------------------------------------------------*
*
FORM UPDATE_IDOC_STATUS
*
*---------------------------------------------------------------------*
*
........
*
*---------------------------------------------------------------------*
FORM UPDATE_IDOC_STATUS.
*--- Now we check the CALL TRANSACTION return code and set IDOC status
CLEAR IDOC_STATUS.
IF RETURN_CODE = 0.
WORKFLOW_RESULT = '0'.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '53'.
IDOC_STATUS-UNAME = SY-UNAME.
IDOC_STATUS-REPID = SY-REPID.
IDOC_STATUS-MSGTY = SY-MSGTY.
IDOC_STATUS-MSGID = SY-MSGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
ELSE.
WORKFLOW_RESULT = '99999'.
IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.
IDOC_STATUS-STATUS = '51'.
IDOC_STATUS-UNAME = SY-UNAME.
IDOC_STATUS-REPID = SY-REPID.
IDOC_STATUS-MSGTY = SY-MSGTY.
IDOC_STATUS-MSGID = SY-MSGID.
IDOC_STATUS-MSGNO = SY-MSGNO.
IDOC_STATUS-MSGV1 = SY-MSGV1.
IDOC_STATUS-MSGV2 = SY-MSGV2.
IDOC_STATUS-MSGV3 = SY-MSGV3.
IDOC_STATUS-MSGV4 = SY-MSGV4.
RETURN_VARIABLES-WF_PARAM = 'ERROR_IDOCS'.
RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.
APPEND RETURN_VARIABLES.
ENDIF.
APPEND IDOC_STATUS.
ENDFORM." UPDATE_IDOC_STATUS