Application Development and Automation 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: 
Read only

function 'DEQUEUE_EMEBANE' not work

Former Member
0 Likes
964

Dear All

Assume PR 1100001, : I want to generate two PO from the pr as shown below.

But PR`s item 2 will be locked when PO 1 generated from the PR items 1.

I want to unlockPR`s item 2 before call function "bapi_po_creat1" . It seems that function 'DEQUEUE_EMEBANE' not work.

Please give me hand . Thanks.

PR no items NO

1100001 00001 PO 1

1100001 00002 PO2

DO 3 times.

REFRESH F_RETURN.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = IT_POHDR

POHEADERX = IT_POHDRX

IMPORTING

EXPPURCHASEORDER = F_EBELN

TABLES

POITEM = IT_POITM

POITEMX = IT_POITMX

POSCHEDULE = IT_POSCH

POSCHEDULEX = IT_POSCHX

POPARTNER = IT_PARTNER

POTEXTHEADER = IT_HEADTEXT

RETURN = F_RETURN.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

COMMIT WORK.

SORT F_RETURN BY TYPE ID NUMBER.

READ TABLE F_RETURN WITH KEY TYPE = 'E'

ID = 'ME'

NUMBER = '006'

BINARY SEARCH.

IF SY-SUBRC = 0.

LOOP AT ILOG_TMP.

CALL FUNCTION 'DEQUEUE_EMEBANE'

EXPORTING

MODE_EBAN = 'E'

MANDT = SY-MANDT

BANFN = ILOG_TMP-BANFN

BNFPO = ILOG_TMP-BNFPO.

ENDLOOP.

WAIT UP TO 10 SECONDS.

ELSE.

EXIT.

ENDIF.

ENDDO.

3 REPLIES 3
Read only

Former Member
0 Likes
742

Not necessary to use 'DEQUEUE_EMEBANE'

just try below code

DO 3 times.

REFRESH F_RETURN.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

POHEADER = IT_POHDR

POHEADERX = IT_POHDRX

IMPORTING

EXPPURCHASEORDER = F_EBELN

TABLES

POITEM = IT_POITM

POITEMX = IT_POITMX

POSCHEDULE = IT_POSCH

POSCHEDULEX = IT_POSCHX

POPARTNER = IT_PARTNER

POTEXTHEADER = IT_HEADTEXT

RETURN = F_RETURN.

SORT F_RETURN BY TYPE ID NUMBER.

READ TABLE F_RETURN WITH KEY TYPE = 'E'

ID = 'ME'

NUMBER = '006'

BINARY SEARCH.

IF SY-SUBRC = 0.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'

IMPORTING

RETURN = RET.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = bapireturn2.

ENDIF.

ENDDO.

Read only

0 Likes
742

Dear Kiran

Thanks you very much.

You are right. Not necessary to use 'DEQUEUE_EMEBANE' , It is so funny why Not necessary to use 'DEQUEUE_EMEBANE' ?

Do you konw? thanks.

Read only

Former Member
0 Likes
742

Thanks everyone