Use of BAPI_ENTRYSHEET_CREATE for transaction ML81N
In this blog lets discuss a scenario on how to use BAPI “BAPI_ENTRYSHEET_CREATE”.
This BAPI is used to Create Service Sheets via ML81N.
These Service sheets will be created for Service Purchase orders created Via ME21N.This is the case where the limit will be set always.
The following information needs to be passed to the BAPI for the successful creation of Service entry sheet.
DATA: ls_header TYPE bapiessrc,
ls_service TYPE bapiesllc,
ls_return TYPE bapiret2,
lt_return TYPE STANDARD TABLE OF bapiret2 INITIAL SIZE 0,
lt_service TYPE STANDARD TABLE OF bapiesllc INITIAL SIZE 0,
lv_lblni TYPE lblni,
lv_message TYPE char70.
* Populate Header
ls_header–po_number ” PO Number
ls_header–po_item ” Item Number
ls_header–short_text ” Short Description
ls_header–pckg_no = ‘1’. ” Header Package Number
ls_header–acceptance = ‘X’ . ” Acceptance Indicator
ls_header–doc_date = sy–datum.” Document Date
ls_header–post_date = sy–datum.” Posting Date
* Populate Service Entry Details
* Populate Header Package
ls_service–pckg_no = ‘1’ . ” Same as Header Package Number
ls_service–line_no = ‘1’. ” Line Number
ls_service–outl_ind = ‘X’.” Indicator: Outline line
ls_service–subpckg_no =’2′.” Sub Package number
APPEND ls_service TO lt_service.
CLEAR ls_service.
ls_service–pckg_no = ‘2’.” Same as Sub Package number
ls_service–line_no = ’10’. ” Line Number
ls_service–short_text ” Short Description
ls_service–quantity = ‘1’.” Quantity
ls_service–base_uom ” UOM
ls_service–gr_price ” Actual settlement Value
APPEND ls_service TO lt_service.
CLEAR ls_service.
* Call BAPI for creating service entry sheet
CALL FUNCTION ‘BAPI_ENTRYSHEET_CREATE’
EXPORTING
entrysheetheader = ls_header
IMPORTING
entrysheet = lv_lblni
TABLES
entrysheetservices = lt_service
return = lt_return.
* Check for error message
READ TABLE lt_return INTO ls_return WITH KEY type = ‘E’.
* Check sy-subrc after read
IF sy–subrc NE 0.
* Check for abend message
READ TABLE lt_return INTO ls_return WITH KEY type = ‘A’.
* Check sy-subrc after read
IF sy–subrc NE 0.
* Successful creation of entry sheet
CONCATENATE ‘Entry Sheet #’ lv_lblni ‘posted successfully’ INTO lv_message.
ELSE.
CLEAR lv_lblni.
* Formating the Message
CALL FUNCTION ‘FORMAT_MESSAGE’
EXPORTING
id = ls_return–id
no = ls_return–number
v1 = ls_return–message_v1
v2 = ls_return–message_v2
v3 = ls_return–message_v3
v4 = ls_return–message_v4
IMPORTING
msg = lv_message
EXCEPTIONS
not_found = 1
OTHERS = 2.
* Check sy-subrc after calling a FM
IF sy–subrc NE 0.
lv_message = ls_return–message.
ENDIF.” IF sy-subrc NE 0.
ENDIF.
ELSE.
CLEAR lv_lblni.
* Formating the Message
CALL FUNCTION ‘FORMAT_MESSAGE’
EXPORTING
id = ls_return–id
no = ls_return–number
v1 = ls_return–message_v1
v2 = ls_return–message_v2
v3 = ls_return–message_v3
v4 = ls_return–message_v4
IMPORTING
msg = lv_message
EXCEPTIONS
not_found = 1
OTHERS = 2.
* Check sy-subrc after calling a FM
IF sy–subrc NE 0.
lv_message = ls_return–message.
ENDIF.
ENDIF.
The FM ‘BAPI_ENTRYSHEET_RELEASE‘ can be used to release.