2012 Aug 06 8:17 AM
Hi,
I have used the BAPI(BAPI_ENTRYSHEET_CREATE) to create Service Entry Sheet (SES). The BAPI is working as well and creating SES successfully.
Also SES tables got updated.
When I click the SES in ML81N, I get message 'Buffer table not up to date'. By searching the forum, I got to know that the issue is with populating the below parameters.
BAPI_ESLL-PLN_PCKG = poservices-PCKG_NO.
BAPI_ESLL-PLN_LINE = poservices-LINE_NO.
poservices you get from BAPI_PO_GETDETAIL.
My question is poservices internal table has many records, out of that, which record I need to pick to populate to BAPI_ESLL ?
Resolution will be highly appreciated.
Thanks
Jay
2012 Aug 06 9:48 AM
I have fixed the issue. Instead of getting PO Service detail from FM 'BAPI_PO_GETDETAIL', I have got them from table like shown below. The issue is resolved now.
CLEAR T_ENYSHEET_SERVICES. T_ENYSHEET_SERVICES-PCKG_NO = 1. T_ENYSHEET_SERVICES-LINE_NO = 1.
T_ENYSHEET_SERVICES-OUTL_LEVEL = '0'. T_ENYSHEET_SERVICES-OUTL_IND = 'X'. T_ENYSHEET_SERVICES-SUBPCKG_NO = 2. APPEND T_ENYSHEET_SERVICES. CLEAR T_ENYSHEET_SERVICES. T_ENYSHEET_SERVICES-PCKG_NO = 2. T_ENYSHEET_SERVICES-LINE_NO = 2.
CLEAR : EKPO, W_ESLL. SELECT SINGLE * FROM EKPO WHERE EBELN = IT_PROCESS-EBELN AND EBELP = IT_PROCESS-EBELP. IF SY-SUBRC = 0. CLEAR ESLL. SELECT SINGLE * FROM ESLL WHERE PACKNO = EKPO-PACKNO. IF SY-SUBRC = 0. CLEAR W_ESLL. MOVE ESLL-SUB_PACKNO TO W_PACKNO. SELECT SINGLE * FROM ESLL INTO W_ESLL WHERE PACKNO = W_PACKNO. if sy-subrc = 0. endif. ENDIF.
T_ENYSHEET_SERVICES-PLN_PCKG = W_ESLL-PACKNO.
T_ENYSHEET_SERVICES-PLN_LINE = W_ESLL-INTROW. T_ENYSHEET_SERVICES-SERVICE = W_ESLL-SRVPOS. T_ENYSHEET_SERVICES-SHORT_TEXT = W_ESLL-KTEXT1. T_ENYSHEET_SERVICES-QUANTITY = IT_PROCESS-MENGE. T_ENYSHEET_SERVICES-GR_PRICE = W_ESLL-TBTWR.
IF W_ESLL-TBTWR IS INITIAL.
IF NOT W_ESLL-MENGE IS INITIAL.
T_ENYSHEET_SERVICES-GR_PRICE = W_ESLL-BRTWR / W_ESLL-MENGE.
ENDIF.
ENDIF.
APPEND T_ENYSHEET_SERVICES.
Hi,
I have used the BAPI(BAPI_ENTRYSHEET_CREATE) to create Service Entry Sheet (SES). The BAPI is working as well and creating SES successfully.
Also SES tables got updated.
When I click the SES in ML81N, I get message 'Buffer table not up to date'. By searching the forum, I got to know that the issue is with populating the below parameters.
BAPI_ESLL-PLN_PCKG = poservices-PCKG_NO.
BAPI_ESLL-PLN_LINE = poservices-LINE_NO.
poservices you get from BAPI_PO_GETDETAIL.
My question is poservices internal table has many records, out of that, which record I need to pick to populate to BAPI_ESLL ?
Resolution will be highly appreciated.
Thanks
Jay
2012 Aug 06 9:48 AM
I have fixed the issue. Instead of getting PO Service detail from FM 'BAPI_PO_GETDETAIL', I have got them from table like shown below. The issue is resolved now.
CLEAR T_ENYSHEET_SERVICES. T_ENYSHEET_SERVICES-PCKG_NO = 1. T_ENYSHEET_SERVICES-LINE_NO = 1.
T_ENYSHEET_SERVICES-OUTL_LEVEL = '0'. T_ENYSHEET_SERVICES-OUTL_IND = 'X'. T_ENYSHEET_SERVICES-SUBPCKG_NO = 2. APPEND T_ENYSHEET_SERVICES. CLEAR T_ENYSHEET_SERVICES. T_ENYSHEET_SERVICES-PCKG_NO = 2. T_ENYSHEET_SERVICES-LINE_NO = 2.
CLEAR : EKPO, W_ESLL. SELECT SINGLE * FROM EKPO WHERE EBELN = IT_PROCESS-EBELN AND EBELP = IT_PROCESS-EBELP. IF SY-SUBRC = 0. CLEAR ESLL. SELECT SINGLE * FROM ESLL WHERE PACKNO = EKPO-PACKNO. IF SY-SUBRC = 0. CLEAR W_ESLL. MOVE ESLL-SUB_PACKNO TO W_PACKNO. SELECT SINGLE * FROM ESLL INTO W_ESLL WHERE PACKNO = W_PACKNO. if sy-subrc = 0. endif. ENDIF.
T_ENYSHEET_SERVICES-PLN_PCKG = W_ESLL-PACKNO.
T_ENYSHEET_SERVICES-PLN_LINE = W_ESLL-INTROW. T_ENYSHEET_SERVICES-SERVICE = W_ESLL-SRVPOS. T_ENYSHEET_SERVICES-SHORT_TEXT = W_ESLL-KTEXT1. T_ENYSHEET_SERVICES-QUANTITY = IT_PROCESS-MENGE. T_ENYSHEET_SERVICES-GR_PRICE = W_ESLL-TBTWR.
IF W_ESLL-TBTWR IS INITIAL.
IF NOT W_ESLL-MENGE IS INITIAL.
T_ENYSHEET_SERVICES-GR_PRICE = W_ESLL-BRTWR / W_ESLL-MENGE.
ENDIF.
ENDIF.
APPEND T_ENYSHEET_SERVICES.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |