2010 Jun 22 4:49 AM
Hi expert,
When i use the BAPI_ENTRYSHEET_CREATE to create service entry sheet, after executed the program the service sheet has been created.
I go to check the Service sheet using ML81N, i can 't found any item in this service sheet.
Anybody how to fix this problem ?
Regards,
Luke
Edited by: LukeWong on Jun 23, 2010 4:23 AM
Hi expert,
When i use the BAPI_ENTRYSHEET_CREATE to create service entry sheet, after executed the program the service sheet has been created.
I go to check the Service sheet using ML81N, i can 't found any item in this service sheet.
Anybody how to fix this problem ?
Regards,
Luke
Edited by: LukeWong on Jun 23, 2010 4:23 AM
2010 Jun 23 3:27 AM
2010 Jun 23 3:44 AM
Hello,
Did you fill internal table for ENTRYSHEETSERVICES and use 'COMMIT WORK' after the BAPI call?
Thanks,
Venu
2010 Jun 23 5:32 AM
Hi Venu,
I done it. If i not mark "X" for the acceptance flag in the header .
I can Create the Service entry sheet, but still not contain any service item.
After i mark this flag, it will have the error 214 error during update.
Regards,
Luke
2010 Jun 24 7:37 AM
2010 Jun 28 8:52 AM
Hi All,
This is my source code, please kindly to help me.
I_ENYSHEET_HDR-PCKG_NO = 1.
I_ENYSHEET_HDR-PO_NUMBER = IT_PROCESS-EBELN.
I_ENYSHEET_HDR-PO_ITEM = IT_PROCESS-EBELP.
I_ENYSHEET_HDR-REF_DOC_NO = IT_PROCESS-XBLNR.
I_ENYSHEET_HDR-SHORT_TEXT = 'TESTING'.
I_ENYSHEET_HDR-REF_DATE = SY-DATUM.
I_ENYSHEET_HDR-DOC_DATE = SY-DATUM.
I_ENYSHEET_HDR-POST_DATE = SY-DATUM.
I_ENYSHEET_HDR-POST_DATE = '20100310'. " TESTING
I_ENYSHEET_HDR-ACCASSCAT = IT_PROCESS-KNTTP." Account Assignment
I_ENYSHEET_HDR-ACCEPTANCE = 'X'.
Fill in the Service Entry Sheet Line Item
CLEAR T_ENYSHEET_SERVICES.
T_ENYSHEET_SERVICES-PCKG_NO = 1.
T_ENYSHEET_SERVICES-LINE_NO = 1.
T_ENYSHEET_SERVICES-EXT_LINE = '0000000000'.
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.
Get the service information from table ESLL.
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.
Fill in the Service Entry Sheet Account Assignment Line.
T_ENYSHEET_SERVICES-PLN_PCKG = W_ESLL-PACKNO.
T_ENYSHEET_SERVICES-EXT_LINE = W_ESLL-EXTROW.
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.
T_ENYSHEET_SERVICES-MATL_GROUP = W_ESLL-MATKL.
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.
ENDSELECT.
clear ekpo.
select single * from ekpo where ebeln = it_process-ebeln
and ebelp = it_process-ebelp.
IF ( NOT IT_PROCESS-KNTTP IS INITIAL ) AND EKPO-KNTTP = 'U'.
CLEAR T_ENYSHEET_SERVACCASSVALUES.
MOVE-CORRESPONDING T_ENYSHEET_SERVICES
TO T_ENYSHEET_SERVACCASSVALUES.
T_ENYSHEET_SERVACCASSVALUES-PCKG_NO = 1.
T_ENYSHEET_SERVACCASSVALUES-SERNO_LINE = 1.
T_ENYSHEET_SERVACCASSVALUES-PERCENTAGE = 100.
T_ENYSHEET_SERVACCASSVALUES-SERIAL_NO = 1.
APPEND T_ENYSHEET_SERVACCASSVALUES.
CLEAR T_ENYSHEET_ACCT_ASS.
MOVE-CORRESPONDING T_ENYSHEET_SERVICES
TO T_ENYSHEET_ACCT_ASS.
T_ENYSHEET_ACCT_ASS-PCKG_NO = L_LINE_NO.
T_ENYSHEET_ACCT_ASS-PCKG_NO = 1.
T_ENYSHEET_ACCT_ASS-SERIAL_NO = 1.
PERFORM CONVERSION_EXIT_ALPHA_INPUT
USING IT_PROCESS-SAKTO
CHANGING T_ENYSHEET_ACCT_ASS-GL_ACCOUNT.
CASE IT_PROCESS-KNTTP.
WHEN 'K'.
PERFORM CONVERSION_EXIT_ALPHA_INPUT
USING IT_PROCESS-KOSTL
CHANGING T_ENYSHEET_ACCT_ASS-COSTCENTER.
WHEN 'P'.
CALL FUNCTION 'CONVERSION_EXIT_ABPSN_INPUT'
EXPORTING
INPUT = IT_PROCESS-PS_PSP_PNR
IMPORTING
OUTPUT = T_ENYSHEET_ACCT_ASS-WBS_ELEM.
WHEN 'F'.
PERFORM CONVERSION_EXIT_ALPHA_INPUT
USING IT_PROCESS-AUFNR
CHANGING T_ENYSHEET_ACCT_ASS-ORDER.
ENDCASE.
APPEND T_ENYSHEET_ACCT_ASS.
ENDIF.
ENDIF.
CALL FUNCTION 'BAPI_ENTRYSHEET_CREATE'
EXPORTING
ENTRYSHEETHEADER = I_ENYSHEET_HDR
TESTRUN = P_CHK1
IMPORTING
ENTRYSHEET = I_ENYSHEET
TABLES
ENTRYSHEETACCOUNTASSIGNMENT = T_ENYSHEET_ACCT_ASS
ENTRYSHEETSERVICES = T_ENYSHEET_SERVICES
ENTRYSHEETSRVACCASSVALUES = T_ENYSHEET_SERVACCASSVALUES
RETURN = T_RETURN
ENTRYSHEETSERVICESTEXTS = T_ENYSHEETSERVICESTEXTS
ENTRYSHEETHEADERTEXT = T_ENYSHEETHEADERTEXT.
.
*
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'
IMPORTING
RETURN = T_RETURN.
IF NOT T_RETURN[] IS INITIAL.
APPEND T_RETURN.
ENDIF.
Regards,
Luke
2010 Jul 12 9:08 AM
2010 Aug 12 1:51 PM
Hi Luke,
I have the same problem... I see in your post that you have resolved the issue by your own... can you please let me know how you did it... your input will be appreciated..
Thx
Viv
2010 Aug 13 3:16 AM
Hi Viv,
Yes, For my situation, I submited the bapi in background mode then can execute the BAPI.
It seems anthorization problem in SAP.
Regards,
Luke
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |