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

Requist example code : BAPI_REQUIREMENT_CREATE (very urgent)

Former Member
0 Likes
1,123

Requist example code : BAPI_REQUIREMENT_CREATE (very urgent)

my email : yfliu3@idthk.com

thanks

GodSpeed

1 ACCEPTED SOLUTION
Read only

former_member194669
Active Contributor
4 REPLIES 4
Read only

Former Member
0 Likes
830

Hi,

check this,This is sytem generated code.

INCLUDE <OBJECT>.

BEGIN_DATA OBJECT. " Do not change.. DATA is generated

  • only private members may be inserted into structure private

DATA:

" begin of private,

" to declare private attributes remove comments and

" insert private attributes here ...

" end of private,

BEGIN OF KEY,

NUMBER LIKE EBAN-BANFN,

ITEM LIKE EBAN-BNFPO,

END OF KEY,

PURCHASEORDER TYPE SWC_OBJECT OCCURS 0,

_EBAN LIKE EBAN.

END_DATA OBJECT. " Do not change.. DATA is generated

BEGIN_METHOD SINGLERELEASE CHANGING CONTAINER.

DATA:

PURCHASEREQUISITION LIKE EBAN-BANFN,

RELEASECODE LIKE RM06B-FRGAB.

DATA: CALL_UPDKZ,

AUTO.

DATA: BEGIN OF BAT OCCURS 10.

INCLUDE STRUCTURE EBAN.

DATA: UPDKZ.

DATA: END OF BAT.

tables: rm06b.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

  • SET PARAMETER ID 'BAN' FIELD OBJECT-KEY-PURCHASEREQUISITION.

SET PARAMETER ID 'BAP' FIELD OBJECT-KEY-ITEM.

  • SET PARAMETER ID 'BFC' FIELD RELEASECODE.

  • CALL TRANSACTION 'ME54' AND SKIP FIRST SCREEN.

-- Aufruf Einzelfreigabe -


REFRESH BAT.

CLEAR BAT.

CALL_UPDKZ = 'W'.

AUTO = 'X'.

RM06B-REFBN = OBJECT-KEY-NUMBER.

rm06b-frgab = releasecode.

  • call dialog 'ME_REQUISITION_RELEASE'

  • exporting rm06b-refbn

  • rm06b-frgab call_updkz auto

  • importing bat call_updkz.

EXPORT RM06B-REFBN RM06B-FRGAB CALL_UPDKZ AUTO

TO MEMORY ID 'ME5'.

CALL TRANSACTION 'ME54' AND SKIP FIRST SCREEN.

IMPORT BAT CALL_UPDKZ FROM MEMORY ID 'ME5'.

free memory id 'ME5'. "H489326

if call_updkz ne space.

if call_updkz eq 'N'.

clear call_updkz.

endif.

SWC_SET_ELEMENT CONTAINER RESULT call_updkz.

else.

exit_cancelled.

endif.

END_METHOD.

TABLES EBAN.

*

GET_TABLE_PROPERTY EBAN.

DATA SUBRC LIKE SY-SUBRC.

  • Fill TABLES EBAN to enable Object Manager Access to Table Properties

PERFORM SELECT_TABLE_EBAN USING SUBRC.

IF SY-SUBRC NE 0.

EXIT_OBJECT_NOT_FOUND.

ENDIF.

END_PROPERTY.

*

  • Use Form also for other(virtual) Properties to fill TABLES EBAN

FORM SELECT_TABLE_EBAN USING SUBRC LIKE SY-SUBRC.

  • Select single * from EBAN, if OBJECT-_EBAN is initial

IF OBJECT-_EBAN-MANDT IS INITIAL

AND OBJECT-_EBAN-BANFN IS INITIAL

AND OBJECT-_EBAN-BNFPO IS INITIAL.

SELECT SINGLE * FROM EBAN CLIENT SPECIFIED

WHERE MANDT = SY-MANDT

AND BANFN = OBJECT-KEY-NUMBER

AND BNFPO = OBJECT-KEY-ITEM.

SUBRC = SY-SUBRC.

IF SUBRC NE 0. EXIT. ENDIF.

OBJECT-_EBAN = EBAN.

ELSE.

SUBRC = 0.

EBAN = OBJECT-_EBAN.

ENDIF.

ENDFORM.

BEGIN_METHOD INFORELEASEEFFECTED CHANGING CONTAINER.

DATA:

RELEASECODE LIKE RM06B-FRGAB.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

END_METHOD.

BEGIN_METHOD INFORELEASEREJECTED CHANGING CONTAINER.

DATA:

RELEASECODE LIKE RM06B-FRGAB.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

SET PARAMETER ID 'BAN' FIELD OBJECT-KEY-NUMBER.

SET PARAMETER ID 'BAP' FIELD OBJECT-KEY-ITEM.

CALL TRANSACTION 'ME52' AND SKIP FIRST SCREEN.

END_METHOD.

BEGIN_METHOD DISPLAY CHANGING CONTAINER.

SET PARAMETER ID 'BAN' FIELD OBJECT-KEY-NUMBER.

SET PARAMETER ID 'BAP' FIELD OBJECT-KEY-ITEM.

CALL TRANSACTION 'ME53' AND SKIP FIRST SCREEN.

END_METHOD.

GET_PROPERTY PURCHASEORDER CHANGING CONTAINER.

SWC_SET_TABLE CONTAINER 'PurchaseOrder' OBJECT-PURCHASEORDER.

END_PROPERTY.

BEGIN_METHOD INFORELEASERESET CHANGING CONTAINER.

DATA:

RELEASECODE LIKE RM06B-FRGAB.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

END_METHOD.

BEGIN_METHOD GETLIST CHANGING CONTAINER.

DATA:

REQUISITIONER LIKE BAPIMMPARA-PREQ_NAME,

DATE LIKE BAPIMMPARA-PREQ_DATE,

OPENITEMS LIKE BAPIMMPARA-SELECTION,

CLOSEDITEMS LIKE BAPIMMPARA-SELECTION,

RELEASEGROUP LIKE BAPIMMPARA-REL_GROUP,

RELEASECODE LIKE BAPIMMPARA-REL_CODE,

ITEMSFORRELEASE LIKE BAPIMMPARA-SELECTION,

ITEMDATA LIKE BAPIEBAN OCCURS 0.

SWC_GET_ELEMENT CONTAINER 'Requisitioner' REQUISITIONER.

SWC_GET_ELEMENT CONTAINER 'Date' DATE.

SWC_GET_ELEMENT CONTAINER 'OpenItems' OPENITEMS.

SWC_GET_ELEMENT CONTAINER 'ClosedItems' CLOSEDITEMS.

SWC_GET_ELEMENT CONTAINER 'ReleaseGroup' RELEASEGROUP.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

SWC_GET_ELEMENT CONTAINER 'ItemsForRelease' ITEMSFORRELEASE.

IF SY-SUBRC <> 0.

MOVE 'X' TO ITEMSFORRELEASE.

ENDIF.

SWC_GET_TABLE CONTAINER 'ItemData' ITEMDATA.

CALL FUNCTION 'BAPI_REQUIREMENT_GET_LIST'

EXPORTING

ITEMS_FOR_RELEASE = ITEMSFORRELEASE

REL_CODE = RELEASECODE

REL_GROUP = RELEASEGROUP

CLOSED_ITEMS = CLOSEDITEMS

OPEN_ITEMS = OPENITEMS

PREQ_DATE = DATE

PREQ_NAME = REQUISITIONER

TABLES

REQUIREMENT_ITEMS = ITEMDATA

EXCEPTIONS

PREQ_NAME_MISSING = 1001

STATUS_MISSING = 1002

REL_CODE_MISSING = 1003

REL_AUTH_CHECK_FAILED = 1004

OTHERS = 01.

CASE SY-SUBRC.

WHEN 0. " OK

WHEN 1001. " PREQ_NAME_MISSING

EXIT_RETURN 1001 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1002. " STATUS_MISSING

EXIT_RETURN 1002 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1003. " REL_CODE_MISSING

EXIT_RETURN 1003 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1004. " REL_AUTH_CHECK_FAILED

EXIT_RETURN 1004 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN OTHERS. " to be implemented

ENDCASE.

SWC_SET_TABLE CONTAINER 'ItemData' ITEMDATA.

END_METHOD.

BEGIN_METHOD SINGLERELEASENODIALG CHANGING CONTAINER.

DATA:

RELEASECODE LIKE BAPIMMPARA-REL_CODE.

SWC_GET_ELEMENT CONTAINER 'ReleaseCode' RELEASECODE.

CALL FUNCTION 'BAPI_REQUISITION_RELEASE'

EXPORTING

ITEM = OBJECT-KEY-ITEM

REL_CODE = RELEASECODE

NUMBER = OBJECT-KEY-NUMBER

EXCEPTIONS

AUTHORITY_CHECK_FAIL = 1001

REQUISITION_NOT_FOUND = 1002

ENQUEUE_FAIL = 1003

PREREQUISITE_FAIL = 1004

RELEASE_ALREADY_POSTED = 1005

RESPONSIBILITY_FAIL = 1006

OTHERS = 01.

CASE SY-SUBRC.

WHEN 0. " OK

WHEN 1001. " AUTHORITY_CHECK_FAIL

EXIT_RETURN 1001 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1002. " REQUISITION_NOT_FOUND

EXIT_RETURN 1002 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1003. " ENQUEUE_FAIL

EXIT_RETURN 1003 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1004. " PREREQUISITE_FAIL

EXIT_RETURN 1004 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1005. " RELEASE_ALREADY_POSTED

EXIT_RETURN 1005 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1006. " RESPONSIBILITY_FAIL

EXIT_RETURN 1006 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN OTHERS. " to be implemented

ENDCASE.

END_METHOD.

BEGIN_METHOD EXISTENCECHECK CHANGING CONTAINER.

DATA: LV_BANFN LIKE OBJECT-KEY-NUMBER.

SELECT SINGLE BANFN FROM EBAN INTO LV_BANFN

WHERE BANFN EQ OBJECT-KEY-NUMBER

AND BNFPO EQ OBJECT-KEY-ITEM.

IF SY-SUBRC NE 0.

EXIT_OBJECT_NOT_FOUND.

ENDIF.

END_METHOD.

BEGIN_METHOD CREATEFROMDATA CHANGING CONTAINER.

DATA:

REQUIREMENTITEMS LIKE BAPIEBAN OCCURS 0,

REQUIREMENTACCOUNTAS LIKE BAPIEBKN OCCURS 0,

REQUIREMENTITEMTEXT LIKE BAPIEBANTX OCCURS 0,

RETURN LIKE BAPIERRORS OCCURS 0.

SWC_GET_TABLE CONTAINER 'RequirementItems' REQUIREMENTITEMS.

SWC_GET_TABLE CONTAINER 'RequirementAccountAs' REQUIREMENTACCOUNTAS.

SWC_GET_TABLE CONTAINER 'RequirementItemText' REQUIREMENTITEMTEXT.

SWC_GET_TABLE CONTAINER 'Return' RETURN.

CALL FUNCTION 'BAPI_REQUIREMENT_CREATE'

IMPORTING

NUMBER = OBJECT-KEY-NUMBER

ITEM = OBJECT-KEY-ITEM

TABLES

RETURN = RETURN

REQUIREMENT_ITEM_TEXT = REQUIREMENTITEMTEXT

REQUIREMENT_ACCOUNT_ASSIGNMENT = REQUIREMENTACCOUNTAS

REQUIREMENT_ITEMS = REQUIREMENTITEMS

EXCEPTIONS

NO_OBJECT_ID = 1001

OTHERS = 01.

CASE SY-SUBRC.

WHEN 0. " OK

WHEN 1001. " NO_OBJECT_ID

EXIT_RETURN 1001 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN OTHERS. " to be implemented

ENDCASE.

SWC_SET_TABLE CONTAINER 'RequirementItems' REQUIREMENTITEMS.

SWC_SET_TABLE CONTAINER 'RequirementAccountAs' REQUIREMENTACCOUNTAS.

SWC_SET_TABLE CONTAINER 'RequirementItemText' REQUIREMENTITEMTEXT.

SWC_SET_TABLE CONTAINER 'Return' RETURN.

END_METHOD.

BEGIN_METHOD RELEASE CHANGING CONTAINER.

DATA:

RELCODE LIKE BAPIMMPARA-REL_CODE,

USEEXCEPTIONS LIKE BAPIMMPARA-SELECTION,

RELSTATUSNEW LIKE BAPIMMPARA-REL_STATUS,

RELINDICATORNEW LIKE BAPIMMPARA-REL_IND,

RETURN LIKE BAPIRETURN OCCURS 0.

SWC_GET_ELEMENT CONTAINER 'RelCode' RELCODE.

SWC_GET_ELEMENT CONTAINER 'UseExceptions' USEEXCEPTIONS.

IF SY-SUBRC <> 0.

MOVE 'X' TO USEEXCEPTIONS.

ENDIF.

SWC_GET_TABLE CONTAINER 'Return' RETURN.

CALL FUNCTION 'BAPI_REQUISITION_RELEASE'

EXPORTING

USE_EXCEPTIONS = USEEXCEPTIONS

ITEM = OBJECT-KEY-ITEM

REL_CODE = RELCODE

NUMBER = OBJECT-KEY-NUMBER

IMPORTING

REL_INDICATOR_NEW = RELINDICATORNEW

REL_STATUS_NEW = RELSTATUSNEW

TABLES

RETURN = RETURN

EXCEPTIONS

AUTHORITY_CHECK_FAIL = 1001

REQUISITION_NOT_FOUND = 1002

ENQUEUE_FAIL = 1003

PREREQUISITE_FAIL = 1004

RELEASE_ALREADY_POSTED = 1005

RESPONSIBILITY_FAIL = 1006

OTHERS = 01.

CASE SY-SUBRC.

WHEN 0. " OK

WHEN 1001. " AUTHORITY_CHECK_FAIL

EXIT_RETURN 1001 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1002. " REQUISITION_NOT_FOUND

EXIT_RETURN 1002 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1003. " ENQUEUE_FAIL

EXIT_RETURN 1003 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1004. " PREREQUISITE_FAIL

EXIT_RETURN 1004 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1005. " RELEASE_ALREADY_POSTED

EXIT_RETURN 1005 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1006. " RESPONSIBILITY_FAIL

EXIT_RETURN 1006 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN OTHERS. " to be implemented

ENDCASE.

SWC_SET_ELEMENT CONTAINER 'RelStatusNew' RELSTATUSNEW.

SWC_SET_ELEMENT CONTAINER 'RelIndicatorNew' RELINDICATORNEW.

SWC_SET_TABLE CONTAINER 'Return' RETURN.

END_METHOD.

BEGIN_METHOD RESETRELEASE CHANGING CONTAINER.

DATA:

RELCODE LIKE BAPIMMPARA-REL_CODE,

USEEXCEPTIONS LIKE BAPIMMPARA-SELECTION,

RELSTATUSNEW LIKE BAPIMMPARA-REL_STATUS,

RELINDICATORNEW LIKE BAPIMMPARA-REL_IND,

RETURN LIKE BAPIRETURN OCCURS 0.

SWC_GET_ELEMENT CONTAINER 'RelCode' RELCODE.

SWC_GET_ELEMENT CONTAINER 'UseExceptions' USEEXCEPTIONS.

IF SY-SUBRC <> 0.

MOVE 'X' TO USEEXCEPTIONS.

ENDIF.

SWC_GET_TABLE CONTAINER 'Return' RETURN.

CALL FUNCTION 'BAPI_REQUISITION_RESET_RELEASE'

EXPORTING

USE_EXCEPTIONS = USEEXCEPTIONS

REL_CODE = RELCODE

ITEM = OBJECT-KEY-ITEM

NUMBER = OBJECT-KEY-NUMBER

IMPORTING

REL_INDICATOR_NEW = RELINDICATORNEW

REL_STATUS_NEW = RELSTATUSNEW

TABLES

RETURN = RETURN

EXCEPTIONS

AUTHORITY_CHECK_FAIL = 1001

REQUISITION_NOT_FOUND = 1002

ENQUEUE_FAIL = 1003

PREREQUISITE_FAIL = 1004

RELEASE_ALREADY_POSTED = 1005

RESPONSIBILITY_FAIL = 1006

NO_RELEASE_ALREADY = 1007

NO_NEW_RELEASE_INDICATOR = 1008

OTHERS = 01.

CASE SY-SUBRC.

WHEN 0. " OK

WHEN 1001. " AUTHORITY_CHECK_FAIL

EXIT_RETURN 1001 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1002. " REQUISITION_NOT_FOUND

EXIT_RETURN 1002 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1003. " ENQUEUE_FAIL

EXIT_RETURN 1003 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1004. " PREREQUISITE_FAIL

EXIT_RETURN 1004 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1005. " RELEASE_ALREADY_POSTED

EXIT_RETURN 1005 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1006. " RESPONSIBILITY_FAIL

EXIT_RETURN 1006 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1007. " NO_RELEASE_ALREADY

EXIT_RETURN 1007 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN 1008. " NO_NEW_RELEASE_INDICATOR

EXIT_RETURN 1008 sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

WHEN OTHERS. " to be implemented

ENDCASE.

SWC_SET_ELEMENT CONTAINER 'RelStatusNew' RELSTATUSNEW.

SWC_SET_ELEMENT CONTAINER 'RelIndicatorNew' RELINDICATORNEW.

SWC_SET_TABLE CONTAINER 'Return' RETURN.

END_METHOD.

BEGIN_METHOD EDIT CHANGING CONTAINER.

SET PARAMETER ID 'BAN' FIELD OBJECT-KEY-NUMBER.

SET PARAMETER ID 'BAP' FIELD OBJECT-KEY-ITEM.

CALL TRANSACTION 'ME52' AND SKIP FIRST SCREEN.

END_METHOD.

Read only

0 Likes
830

hi muralikrishna ,

I need the example code is how to call the : BAPI_REQUIREMENT_CREATE

do you have another ?

Read only

0 Likes
830

any one help please !

Read only

former_member194669
Active Contributor