Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

FLOW CONTROL ERROR - in BDC for VA32

Former Member
0 Kudos

Hi All,

While doing BDC for VA32 , i encountered the following error.

“Flow control: Entry SAPMV45B, EIAN, PO, PKNT, *, * is missing in T185 .

And i could not get past the Account assignment tab.

I searched table T185 and found there is no entry of EIAN, PO, PKNT.

How to handle this error?

Kindly help me in soving this problem.

Thanks and regards.

Suki.

2 REPLIES 2

Former Member
0 Kudos

Hi Suki,

It occurs when the BDC commands are not given the correct sequence...can u plz giv me ur recorded BDC commands ...will try to trace the sequence...

Regards,.

Kaveri

0 Kudos

Hi Kaveri,

I am sending the BDC i have done for VA32.

Actually in this BDC i didnt handle the screen SAPMV45B ( for which i am getting error ).

i have highlighted the line after which i am getting error.

----


LOOP AT YFORECASTTEMP.

CLEAR TB_BDCDATA.

REFRESH TB_BDCDATA.

CLEAR : TB_VBEP,

WA_VBAP.

REFRESH TB_VBEP.

SELECT SINGLE *

FROM VBAP

INTO WA_VBAP

WHERE VBELN = YFORECASTTEMP-VBELN

AND MATNR = YFORECASTTEMP-MATNR.

IF SY-SUBRC EQ 0.

SELECT VBELN

POSNR

ETENR

ETART

EDATU

J_2CELNG

J_2CWLFD

FROM VBEP

INTO CORRESPONDING FIELDS OF TABLE TB_VBEP

WHERE VBELN = WA_VBAP-VBELN

AND POSNR = WA_VBAP-POSNR.

ENDIF.

  • CLEAR VA_QUANT.

LOOP AT TB_VBEP.

  • VA_QUANT = VA_QUANT + TB_VBEP-J_2CELNG.

CONCATENATE TB_VBEP-J_2CWLFD+4(2)

  • '/'

  • TB_VBEP-EDATU+6(2)

'/' TB_VBEP-J_2CWLFD+0(4)

INTO TB_VBEP-DATE.

MODIFY TB_VBEP.

ENDLOOP.

  • VA_QUANT = VA_QUANT + YFORECASTTEMP-FORECASTVALUE.

IF NOT WA_VBAP IS INITIAL.

SELECT VBELN

POSNR

LABNK

ABRDT

FROM VBLB

INTO TABLE TB_VBLB

WHERE VBELN = WA_VBAP-VBELN

AND POSNR = WA_VBAP-POSNR.

ENDIF.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '0125',

' ' 'BDC_CURSOR' 'RV45S-KUNNR',

' ' 'BDC_OKCODE' '/00',

' ' 'VBAK-VBELN' YFORECASTTEMP-VBELN ,

  • ' ' 'RV45S-BSTNK' YFORECASTTEMP-PRODUCT_ID,

' ' 'RV45S-KUNNR' YFORECASTTEMP-CUST_NO.

SELECT SINGLE * FROM VBAP WHERE VBELN = YFORECASTTEMP-VBELN.

IF SY-SUBRC EQ 0.

CLEAR VBAP.

SELECT SINGLE * FROM VBAP WHERE VBELN = YFORECASTTEMP-VBELN

AND MATNR = YFORECASTTEMP-MATNR.

VA_SUBRC = SY-SUBRC.

IF VA_SUBRC EQ 0.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=POPO'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '0251',

' ' 'BDC_OKCODE' '=POSI',

' ' 'RV45A-PO_MATNR' YFORECASTTEMP-MATNR.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=ITEM',

' ' 'RV45A-VBAP_SELKZ(01)' 'X'.

ELSEIF VA_SUBRC NE 0.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=POAN'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '/00',

' ' 'RV45A-MABNR(02)' YFORECASTTEMP-MATNR,

' ' 'VBAP-ABLFZ(02)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBAP-KDMAT(02)' YFORECASTTEMP-PRODUCT_ID.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=ITEM',

' ' 'RV45A-VBAP_SELKZ(02)' 'X'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=ITEM',

' ' 'RV45A-VBAP_SELKZ(02)' 'X'.

ENDIF.

ELSE.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=POAN'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '/00',

' ' 'RV45A-MABNR(01)' YFORECASTTEMP-MATNR,

' ' 'VBAP-ABLFZ(01)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBAP-KDMAT(01)' YFORECASTTEMP-PRODUCT_ID.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=ITEM',

' ' 'RV45A-VBAP_SELKZ(01)' 'X'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=ITEM',

' ' 'RV45A-VBAP_SELKZ(01)' 'X'.

ENDIF.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\06'.

  • ' ' 'VBAP-ZMENG' VA_QUANT.

CLEAR WA_VBAP.

SELECT SINGLE *

FROM VBAP

INTO WA_VBAP

WHERE VBELN = YFORECASTTEMP-VBELN

AND MATNR = YFORECASTTEMP-MATNR.

IF SY-SUBRC EQ 0.

READ TABLE TB_VBEP WITH KEY VBELN = YFORECASTTEMP-VBELN

POSNR = WA_VBAP-POSNR.

IF SY-SUBRC EQ 0.

*******************************************************************

CONCATENATE YFORECASTTEMP-REQ_DATE+0(2)

YFORECASTTEMP-REQ_DATE+6(4)

INTO VA_MONDAT SEPARATED BY '/'.

READ TABLE TB_VBEP WITH KEY VBELN = YFORECASTTEMP-VBELN

POSNR = WA_VBAP-POSNR

DATE = VA_MONDAT.

*YFORECASTTEMP-REQ_DATE.

*******************************************************************

IF SY-SUBRC EQ 0.

CLEAR VBEP.

SELECT SINGLE * FROM VBEP WHERE VBELN = YFORECASTTEMP-VBELN

AND POSNR = WA_VBAP-POSNR.

IF SY-SUBRC EQ 0.

IF VBEP-J_2CRBDL NE 'X'.

IF TB_VBEP-J_2CELNG NE YFORECASTTEMP-FORECASTVALUE

AND YFORECASTTEMP-FORECASTVALUE NE '0'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=/CAB/EIPO'.

PERFORM DYNPRO_PROCESS USING :

'X' '/CAB/SAPLVWIN' '1090',

' ' 'BDC_OKCODE' '=UEBE',

' ' 'G_POS-ETENR' TB_VBEP-ETENR.

  • ' ' 'G_POS-W_DATUM' YFORECASTTEMP-REQ_DATE.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\01',

' ' '/CAB/RV45A-ELNG_E(01)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBEP-J_2CVKAT(01)' P_2CVKAT.

ELSEIF YFORECASTTEMP-FORECASTVALUE EQ '0'.

***************************09/19/2007

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=/CAB/EIPO'.

PERFORM DYNPRO_PROCESS USING :

'X' '/CAB/SAPLVWIN' '1090',

' ' 'BDC_OKCODE' '=UEBE',

' ' 'G_POS-ETENR' TB_VBEP-ETENR.

  • ' ' 'G_POS-W_DATUM' YFORECASTTEMP-REQ_DATE.

  • PERFORM DYNPRO_PROCESS USING :

  • 'X' 'SAPMV45A' '4003',

  • ' ' 'RV45A-VBEP_SELKZ(01)' 'X',

  • ' ' 'BDC_OKCODE' '=EILO'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\01',

' ' '/CAB/RV45A-ELNG_E(01)' '1',

' ' 'VBEP-J_2CVKAT(01)' P_2CVKAT.

***************************09/19/2007

ENDIF.

ENDIF.

ENDIF.

ELSEIF SY-SUBRC NE 0 AND YFORECASTTEMP-FORECASTVALUE NE '0'.

DATA : VA_VAR(2).

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=EIAN',

' ' 'BDC_CURSOR' '/CAB/RV45A-WLDAT(01)'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\01',

' ' 'BDC_CURSOR' '/CAB/RV45A-ELNG_E(02)',

' ' '/CAB/RV45A-WLDAT(02)' YFORECASTTEMP-REQ_DATE,

' ' 'VBEP-ETART(02)' TB_VBEP-ETART,

' ' 'VBEP-J_2CFAKT(02)' ' 1',

' ' '/CAB/RV45A-ELNG_E(02)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBEP-J_2CVKAT(01)' P_2CVKAT.

ENDIF.

ELSEIF SY-SUBRC NE 0 AND YFORECASTTEMP-FORECASTVALUE NE '0'.

CLEAR VA_DATUM1.

VA_DATUM = SY-DATUM + 1.

  • VA_VAR = VA_DATUM1+6(2) + 1.

CONCATENATE VA_DATUM4(2) '/' VA_DATUM6(2) '/' VA_DATUM+0(4)

INTO VA_DATUM3.

CLEAR VA_DATUM1.

CONCATENATE YFORECASTTEMP-MONTH '/' YFORECASTTEMP-YEAR INTO

VA_DATUM1.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=EIAN',

' ' 'BDC_CURSOR' '/CAB/RV45A-WLDAT(01)'.

*-----mod1 25/1/2008-for error in u69----


*

    • ' ' 'VBLB-LABNK' VA_DATUM1,*

    • ' ' 'VBLB-ABRDT' VA_DATUM3.*

-----mod1 25/1/2008-for error in u69----


PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\01',

' ' 'BDC_CURSOR' '/CAB/RV45A-ELNG_E(02)',

' ' '/CAB/RV45A-WLDAT(01)' YFORECASTTEMP-REQ_DATE,

' ' 'VBEP-ETART(01)' TB_VBEP-ETART,

' ' 'VBEP-J_2CFAKT(01)' ' 1',

' ' '/CAB/RV45A-ELNG_E(01)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBEP-J_2CVKAT(01)' P_2CVKAT.

ENDIF.

ELSE.

CLEAR VA_DATUM1.

VA_DATUM = SY-DATUM + 1.

  • VA_VAR = VA_DATUM1+6(2) + 1.

CONCATENATE VA_DATUM4(2) '/' VA_DATUM6(2) '/' VA_DATUM+0(4)

INTO VA_DATUM3.

CLEAR VA_DATUM1.

CONCATENATE YFORECASTTEMP-MONTH '/' YFORECASTTEMP-YEAR INTO

VA_DATUM1.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=EIAN',

' ' 'BDC_CURSOR' '/CAB/RV45A-WLDAT(01)',

' ' 'VBLB-LABNK' VA_DATUM1,

' ' 'VBLB-ABRDT' VA_DATUM3.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

' ' 'BDC_OKCODE' '=T\01',

' ' 'BDC_CURSOR' '/CAB/RV45A-ELNG_E(02)',

' ' '/CAB/RV45A-WLDAT(01)' YFORECASTTEMP-REQ_DATE,

' ' 'VBEP-ETART(01)' TB_VBEP-ETART,

' ' 'VBEP-J_2CFAKT(01)' ' 1',

' ' '/CAB/RV45A-ELNG_E(01)' YFORECASTTEMP-FORECASTVALUE,

' ' 'VBEP-J_2CVKAT(01)' P_2CVKAT.

ENDIF.

  • VA_QUANT1 = VBAP-KWMENG.

  • VA_QUANT = VA_QUANT1.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4003',

  • ' ' 'VBAP-ZMENG' VA_QUANT,

' ' 'BDC_OKCODE' '/EBACK'.

PERFORM DYNPRO_PROCESS USING :

'X' 'SAPMV45A' '4001',

' ' 'BDC_OKCODE' '=SICH'.

CLEAR TB_MSG.

REFRESH TB_MSG.

CALL TRANSACTION 'VA32' USING TB_BDCDATA

MODE P_MODE

  • UPDATE 'S'

MESSAGES INTO TB_MSG.

----


Do i need to do update the table T185?

Thanks and regards,

Suki.