‎2006 Sep 18 4:18 PM
Hi,
Now i have the requrement to create Service Entry Sheet using the data
1) Purchase Order Number
2) Activity Number
3) Rate
4) Quantity
5) Ext_number.
No other data is given to me,
while creating the SES using the above values Iam getting the message 'Short text and number of outline not maintained'.
Since Iam using this function module first time, iam not understanding it properly.
Please kindly solve this issue.
‎2006 Sep 18 4:32 PM
Ravi,
Short text is one of the mandatory field to create the entry sheet. If that is not provided u can use the same short text of the PO (Ask the functional consultant regarding this). Whenever the entries are created it will be stored in ESSR table, so check any old value are there in that table and work accordingly.
Also first goto transaction ML81N and create a entry sheet manually using the data provided. You u can't able to do that ask ur FC to create an entry sheet with the data provided. Also morining I sent u a sample code. Check that code too.
Sample Code:
REPORT ypra_sample42.
DATA: wa_header TYPE bapiessrc,
i_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
ws_entrysheet_no TYPE bapiessr-sheet_no,
i_service TYPE bapiesllc OCCURS 0 WITH HEADER LINE,
i_service_acc TYPE bapiesklc OCCURS 0 WITH HEADER LINE,
i_service_text TYPE bapieslltx OCCURS 0 WITH HEADER LINE,
i_account TYPE bapiesknc OCCURS 0 WITH HEADER LINE,
ws_pack_no TYPE packno.
DATA: ws_po TYPE bapiekko-po_number,
po_items TYPE bapiekpo OCCURS 0 WITH HEADER LINE,
po_services TYPE bapiesll OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF wa_po_header OCCURS 1.
INCLUDE STRUCTURE bapiekkol.
DATA: END OF wa_po_header.
DATA: BEGIN OF bapi_return_po OCCURS 1.
INCLUDE STRUCTURE bapireturn.
DATA: END OF bapi_return_po.
DATA: serial_no LIKE bapiesknc-serial_no,
line_no LIKE bapiesllc-line_no.
DATA: bapi_esll LIKE bapiesllc OCCURS 1
WITH HEADER LINE.
ws_po = '4300000066'.
CALL FUNCTION 'BAPI_PO_GETDETAIL'
EXPORTING
purchaseorder = ws_po
items = 'X'
services = 'X'
IMPORTING
po_header = wa_po_header
TABLES
po_items = po_items
po_item_services = po_services
return = bapi_return_po.
wa_header-po_number = po_items-po_number.
wa_header-po_item = po_items-po_item.
wa_header-short_text = 'Sample'.
wa_header-acceptance = 'X'.
wa_header-doc_date = sy-datum.
wa_header-post_date = sy-datum.
wa_header-pckg_no = 1.
serial_no = 0.
line_no = 1.
bapi_esll-pckg_no = 1.
bapi_esll-line_no = line_no.
bapi_esll-outl_level = '0'.
bapi_esll-outl_ind = 'X'.
bapi_esll-subpckg_no = 2.
APPEND bapi_esll.
LOOP AT po_services WHERE NOT short_text IS INITIAL.
line_no = line_no + 1.
CLEAR bapi_esll.
MOVE-CORRESPONDING po_services TO bapi_esll.
bapi_esll-gr_price = '456'.
bapi_esll-pckg_no = 2.
bapi_esll-line_no = line_no.
bapi_esll-service = po_services-service.
bapi_esll-quantity = po_services-quantity.
bapi_esll-gr_price = po_services-gr_price.
bapi_esll-price_unit = po_services-price_unit.
APPEND bapi_esll.
ENDLOOP.
CALL FUNCTION 'BAPI_ENTRYSHEET_CREATE'
EXPORTING
entrysheetheader = wa_header
testrun = 'X'
IMPORTING
entrysheet = ws_entrysheet_no
TABLES
ENTRYSHEETACCOUNTASSIGNMENT =
entrysheetservices = bapi_esll
entrysheetsrvaccassvalues = i_service_acc
return = i_return
entrysheetservicestexts = i_service_text
ENTRYSHEETHEADERTEXT =
.
break gbpra8.
LOOP AT i_return.
ENDLOOP.
DATA: ws_wait TYPE bapita-wait.
ws_wait = '3'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = ws_wait.
Regards,
Prakash.
‎2006 Sep 18 4:45 PM
Hi,
what ever the fields u r using in the bapi structure check whether there are any conversion routines and which fields are mandatory...I think u know the basic funda in function module to see which fields are mandatory and which fields are not.
Njoy SAP
Message was edited by: Ravi Vardhan Ganji