PDA

Ver la Versión Completa : Idoc


cvalencia26
25/09/06, 15:31:32
hola a todos:

me han pasado un IDOC tipo base para implementarlo en un programa. Se que se pueden asociar a módulos de funciones.

Alguno de ustedes sabe como puedo crear un módulo de funciones para este IDOC para poder llamarlo de mi programa Z.

Gracias por sus respuestas. :)

Vique
26/09/06, 16:50:30
Buenas,
para empezar: es un idoc de entrada o de salida?

Si es de salida, sólo tienes que ir rellenando una serie de tablas con los datos que va a llevar el idoc y llamar a la función MASTER_IDOC_DISTRIBUTE.

Si es de entrada puedes crear un función y tendrás que asociarla al tipo de mensaje/tipo base del idoc para que cuando llegue el idoc sepa qué función tiene que ejecutar.

Si necesitas algo más(que lo vas a necesitar....) no dudes en decirlo.

Un saludo

cvalencia26
29/09/06, 15:46:58
Acabo de entender que se trata de un IDOC de entrada, para crear un documento de transporte especificamente.

lleno las estructuras correspodientes:
mis tablas son:
- IDOC_CONTROL LIKE EDIDC
- T_IDOC_DATA LIKE EDIDD

y uso la siguiente función para el tipo de mensaje WMTORD:

CALL FUNCTION 'L_IDOC_INPUT_WMTORD'
EXPORTING
INPUT_METHOD = ' '
MASS_PROCESSING = 'X'
TABLES
IDOC_CONTRL = IDOC_CONTROL
IDOC_DATA = T_IDOC_DATA
IDOC_STATUS = TIDOC_STATUS
RETURN_VARIABLES = TRETURN_VARIABLES
SERIALIZATION_INFO = TSERIALIZATION_INFO.

el funcional usa los mismos datos que estoy ingresando en las estructuras y logra crear el documento de transporte ejecutando el IDOC por la transacción we19.

El problema está que la función me responde nada más que un estatus de creado con éxito, pero no me da el número de IDOC generado. Si bien el número de transporte también me lo da..pero este en realidad no lo crea ni tampoco me queda guardado el IDOC por lo menos para saber que estatus tiene en realidad.

Luego, recorrí la transacción we19 y veo que usa otras dos funciones..pero tampoco me resulta...estas son:

CALL FUNCTION 'IDOC_INBOUND_WRITE_TO_DB'
EXPORTING
PI_DO_HANDLE_ERROR = 'X'
PI_RETURN_DATA_FLAG = ' '
IMPORTING
PE_IDOC_NUMBER = IDOC_NUM
PE_STATE_OF_PROCESSING = state_of_processing_in
PE_INBOUND_PROCESS_DATA = inbound_process_data_in
TABLES
T_DATA_RECORDS = T_IDOC_DATA[]
CHANGING
PC_CONTROL_RECORD = IDOC_CONTROL.

COMMIT WORK.

move idoc_num to T_COMM_CONTROL.
append T_COMM_CONTROL.

CALL FUNCTION 'IDOC_START_INBOUND'
EXPORTING
PI_INBOUND_PROCESS_DATA = inbound_process_data_in
PI_CALLED_ONLINE = 'X'
PI_ORG_UNIT = org_unit_in
SUCC_SHOW_FLAG = 'X'
TABLES
T_CONTROL_RECORDS = T_COMM_CONTROL.


Esta vez me crea el IDOC pero con errores...seguiré en mi investigación.

Agradezco cualquier pista que me puedan dar. :o

Vique
02/10/06, 09:54:11
Buenas,
te estas creando tú la función de entrada para tratar el idoc?

Atomic
11/10/06, 23:32:51
Realmente estoy teniendo varias dudas, alguien me puede ayudar en este tema desde el principio, por favor

Atomic
11/10/06, 23:34:47
Vique / cvalencia26,

Ayudenme por favor...escriban a hlmedranob@homail.com, se los agradesco

Vique
16/10/06, 07:22:21
Ultimamente no me conecto muy a menudo, pero puedes escribir tus dudas aqui o mandarme un mensaje "privado" e intentaré ayudarte.

Un saludo.

sub_dan
19/08/15, 18:49:00
tb me toco un idoc de entrada para actualizar unas fechas del transporte.


alguna idea ? como resolvieron este problema ustedes :D

moniandrefranco
20/11/19, 15:14:43
Buenas,
para empezar: es un idoc de entrada o de salida?

Si es de salida, sólo tienes que ir rellenando una serie de tablas con los datos que va a llevar el idoc y llamar a la función MASTER_IDOC_DISTRIBUTE.

Si es de entrada puedes crear un función y tendrás que asociarla al tipo de mensaje/tipo base del idoc para que cuando llegue el idoc sepa qué función tiene que ejecutar.

Si necesitas algo más(que lo vas a necesitar....) no dudes en decirlo.

Un saludo

Buen Día.

Porfa me puedes dar mas informacion acerca de esto: Si es de entrada puedes crear un función y tendrás que asociarla al tipo de mensaje/tipo base del idoc para que cuando llegue el idoc sepa qué función tiene que ejecutar.

Necesito que se ejecute una funcion Z o un programa en fondo que realice la compensacion de unos documentos FI.

Gracias.