Ayuda SAP

Problema con BI

sap-abap
Etiquetas: #<Tag:0x00007f4dba78bb80>
#1

Hola !!! Estoy trabajando con un programa que genera liquidacion de anticipos, ejecuta dos call transaction uno a la tx: ko01 (crear orden CO) y otra a la f-02, en la grabacion de la ko01 tiene la instruccion siguiente:


CLEAR : bdcdata.
REFRESH : bdcdata.
*---------------------------------
* 0100
*---------------------------------
PERFORM bdc_dynpro USING 'SAPMKAUF' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COAS-AUART'.
PERFORM bdc_field USING 'BDC_OKCODE' '=KOKR'.
PERFORM bdc_field USING 'COAS-AUART' 'Z001'.

*---------------------------------
* 0300
*---------------------------------

PERFORM bdc_dynpro USING 'SAPLSPO4' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR' 'SVALD-VALUE(01)'.
PERFORM bdc_field USING 'BDC_OKCODE' '=FURT'.
PERFORM bdc_field USING 'SVALD-VALUE(01)' w_bukrs_co. " '2000'.

*---------------------------------
* 0100
*---------------------------------
PERFORM bdc_dynpro USING 'SAPMKAUF' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COAS-AUART'.
PERFORM bdc_field USING 'BDC_OKCODE' '=UEBS'.
PERFORM bdc_field USING 'COAS-AUART' 'Z001'.

*---------------------------------
* 0600
*---------------------------------
PERFORM bdc_dynpro USING 'SAPMKAUF' '0600'.
PERFORM bdc_field USING 'BDC_OKCODE' '=BUT2'.
PERFORM bdc_field USING 'COAS-KTEXT' 'Orden de Transporte'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COAS-AUFEX'.
PERFORM bdc_field USING 'COAS-BUKRS'
* TI_VFKP-BUKRS. " 'ALLE'.
pa_bukrs.

PERFORM bdc_field USING 'COAS-GSBER' w_gsber. " 'División'.

PERFORM bdc_field USING 'COAS-SCOPE' 'GG'.
PERFORM bdc_field USING 'COAS-KOSTV' w_camion. " '46FDAD'.
PERFORM bdc_field USING 'COAS-AUFEX' ti_vfkp-fknum. " '1'.

*---------------------------------
* 0600
*---------------------------------
PERFORM bdc_dynpro USING 'SAPMKAUF' '0600'.
PERFORM bdc_field USING 'BDC_OKCODE' '=SICH'.
PERFORM bdc_field USING 'COAS-KTEXT' 'Orden de Transporte'.
PERFORM bdc_field USING 'BDC_CURSOR' 'COAS-CYCLE'.
PERFORM bdc_field USING 'COAS-WAERS' 'VEF'.
PERFORM bdc_field USING 'COAS-CYCLE' w_camion. " '46FDAD'.

CLEAR : messtab.
REFRESH : messtab.

CALL TRANSACTION 'KO01' USING bdcdata
MODE 'N'
MESSAGES INTO messtab.

CALL TRANSACTION 'KO01' USING bdcdata
MODE 'N'
MESSAGES INTO messtab.

Cuando se chequea que valor hay en la messtab trae en el campo saplsp04 que es el nombre del programa en el batch input y no me trae un nro de orden. Anexo pantalla.Muchas gracias de antemano.

Saludos

Programa que coloca SAPLSPO4 como valor de campo
#2

Buenas @aalvarez2605,
acabo de hacer una prueban en mi entorno y si devuelve el número de orden creada en la messtab,
¿Por qué no buscas en dicha tabla el mensaje id “KO” y número 107? Por en esa fila de la tabla messtab en el campo msgv1 debe venir el número de orden.

#3

no te entendi lo que me indicas, como que menaje id “KO”?

#4

@aalvarez2605 me refiero a que después del “call transaction” a la KO01 en la tabla messtab tienes los mensajes, debes buscar en esa tabla que es lo que ha devuelto la transacción porque se ha podido crear la orden o no. Si en esta tabla aparece una fila cuyo id es “KO” y numer “107” entonces es que se ha creado la orden. ¿puedes ver cual es el contenido de la tabla?

1 me gusta
#5

Hola,

Entiendo que @Salco se refiere a que obtengas este valor que te muestro aca de la tabla:

Ese es el número devuelto.

Saludos,
Sebastián

1 me gusta
bumped automáticamente #6