PDA

Ver la Versión Completa : Problemas con bachinput de la me27


leandor
14/12/10, 23:02:15
tengo un bachimput de la me27 que funciona. me pidieron que le hiciera una modificacion. utilizaron para crear el primer bach la sm35 para generar parte del programa. y yo ya le agrege parte pero no me guarda. alguie nme puede ayudar?

parte del codigo final de ejecucion que tenian era
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.
PERFORM BDC_FIELD USING 'RM06E-EBELP' '10'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=YES'.

CALL TRANSACTION 'ME27' USING BDCDATA
MODE 'N'
UPDATE 'S'
MESSAGES INTO BDCMESSTAB.

y yo lo cambie por :
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RM06E-EBELP'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=KOPF'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0101'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'EKKO-IHREZ'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.
PERFORM BDC_FIELD USING 'EKKO-EKGRP' '009'.
PERFORM BDC_FIELD USING 'EKKO-PINCR' '10'.
PERFORM BDC_FIELD USING 'EKKO-UPINC' '1'.
PERFORM BDC_FIELD USING 'EKKO-IHREZ' 'algo'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=YES'.

CALL TRANSACTION 'ME27' USING BDCDATA
MODE 'N'
UPDATE 'S'
MESSAGES INTO BDCMESSTAB.

en el perform se llenan bien el bachimput.

antes de este codigo se genera un bach imput donde se guardan los registros.
en el primer codigo se es darle click en guardar y darle click en yes.

lo que yo busco en el segundo codigo es que se le de click en detalle de cabezera y en su campo de referencia (EKKO-IHREZ) se le escriba la palabra 'algo'.
Por alguna razon con el primer codigo si me genera la nota de entrega y con el segundo no.

alguien me puede ayudar?

Gracias por su atencion

ppchico
15/12/10, 10:21:35
tengo un bachimput de la me27 que funciona. me pidieron que le hiciera una modificacion. utilizaron para crear el primer bach la sm35 para generar parte del programa. y yo ya le agrege parte pero no me guarda. alguie nme puede ayudar?

parte del codigo final de ejecucion que tenian era
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.
PERFORM BDC_FIELD USING 'RM06E-EBELP' '10'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=YES'.

CALL TRANSACTION 'ME27' USING BDCDATA
MODE 'N'
UPDATE 'S'
MESSAGES INTO BDCMESSTAB.

y yo lo cambie por :
PERFORM BDC_DYNPRO USING 'SAPMM06E' '0120'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'RM06E-EBELP'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=KOPF'.

PERFORM BDC_DYNPRO USING 'SAPMM06E' '0101'.
PERFORM BDC_FIELD USING 'BDC_CURSOR' 'EKKO-IHREZ'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=BU'.
PERFORM BDC_FIELD USING 'EKKO-EKGRP' '009'.
PERFORM BDC_FIELD USING 'EKKO-PINCR' '10'.
PERFORM BDC_FIELD USING 'EKKO-UPINC' '1'.
PERFORM BDC_FIELD USING 'EKKO-IHREZ' 'algo'.

PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=YES'.

CALL TRANSACTION 'ME27' USING BDCDATA
MODE 'N'
UPDATE 'S'
MESSAGES INTO BDCMESSTAB.

en el perform se llenan bien el bachimput.

antes de este codigo se genera un bach imput donde se guardan los registros.
en el primer codigo se es darle click en guardar y darle click en yes.

lo que yo busco en el segundo codigo es que se le de click en detalle de cabezera y en su campo de referencia (EKKO-IHREZ) se le escriba la palabra 'algo'.
Por alguna razon con el primer codigo si me genera la nota de entrega y con el segundo no.

alguien me puede ayudar?

Gracias por su atencion


En primer lugar, te recomiendo que debbugees el segundo CALL TRANSACTION y ves lo que hace. En vez de MODE 'N' pon lo siguiente:

DATA: L_MODO TYPE C.

CALL TRANSACTION 'ME27' USING BDCDATA
MODE L_MODO
UPDATE 'S'
MESSAGES INTO BDCMESSTAB.

Así entras por debbug y cambias el valor de L_MODO por 'A' para visualizar lo que hace el BATCH.. Pruebalo así, y ves si es que el proceso está fallando en algún punto.

Suerte!
Un Saludo,
Javier.

leandor
16/12/10, 00:42:42
Gracias. ya encontre el error. tenia una linea al revez. me ayudo mucho debugearlo de esa manera.

Muchas Gracias
leandor