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

Problem for using BAPI_ENTRYSHEET_CREATE

Former Member
0 Likes
2,799

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

8 REPLIES 8
Read only

Former Member
0 Likes
1,492

Anybody help me to solve this program?

Read only

0 Likes
1,492

Hello,

Did you fill internal table for ENTRYSHEETSERVICES and use 'COMMIT WORK' after the BAPI call?

Thanks,

Venu

Read only

0 Likes
1,492

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

Read only

Former Member
0 Likes
1,492

any people help me ?

Read only

Former Member
0 Likes
1,492

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

Read only

Former Member
0 Likes
1,492

I fixed by Myself

Read only

0 Likes
1,492

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

Read only

0 Likes
1,492

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