Application Development 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: 

BAPI / Urgent

former_member1284402
Participant
0 Kudos

hi all ,

i m new for BAPI and using BAPI for updating absence data in PA61, but problem is that its not giving any update message

and also not updates table . can anyone tell me what should i do ? i m also not sure whatever i did thats the way r not...

i m also sending the code that i did....

*REPORT ZHR_BAPI

.

TYPES : BEGIN OF ITAB1 ,

PERNR(8) ,

BEGDA(8) ,

ENDDA(8),

BEGUZ(6) ,

ENDUZ(6) ,

AWART(4) ,

END OF ITAB1 .

************************************************************************

****

TYPES: BEGIN OF T_TEMP,

pernr like BAPIP2001-pernr,

begda like BAPIP2001-begda,

ENDDA like BAPIP2001-ENDDA,

BEGUZ like BAPIP2001-BEGUZ,

ENDUZ like BAPIP2001-ENDUZ,

AWART like BAPIP2001-AWART,

END OF T_TEMP.

DATA: IT_TEMP TYPE TABLE OF T_TEMP,

WA_TEMP TYPE T_TEMP.

DATA : ITAB TYPE STANDARD TABLE OF ITAB1 WITH HEADER LINE ,

wa_itab like itab.

************************************************************************

******************

*DATA : BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE .

*DATA : MESSTAB TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE .

************************************************************************

*****************

DATA: BEGIN OF L_INTERN OCCURS 0.

INCLUDE STRUCTURE ALSMEX_TABLINE.

DATA: END OF L_INTERN.

DATA : L_INDEX TYPE I,

CTR TYPE I VALUE 0,

L_MSTRING(480),

S_LOCNR1(6) TYPE C.

DATA : IT_RETURN TYPE table OF BAPIRETURN1 ,

wa_return type BAPIRETURN1.

************************************************************************

*****************

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

PARAMETERS: P_FILE LIKE RLGRAP-FILENAME

DEFAULT '' OBLIGATORY. " File Name

SELECTION-SCREEN END OF BLOCK B1.

*SELECTION-SCREEN : BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-014.

*PARAMETER : L1 RADIOBUTTON GROUP RADI DEFAULT 'X',

  • L2 RADIOBUTTON GROUP RADI .

*SELECTION-SCREEN : END OF BLOCK B4 .

************************************************************************

****************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

  • EXPORTING

  • PROGRAM_NAME = SYST-REPID

  • DYNPRO_NUMBER = SYST-DYNNR

  • FIELD_NAME = ' '

  • STATIC = ' '

  • MASK = ' '

CHANGING

FILE_NAME = P_FILE

  • EXCEPTIONS

  • MASK_TOO_LONG = 1

  • OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

----


START-OF-SELECTION.

PERFORM UPLOAD_FILE TABLES ITAB

USING P_FILE.

LOOP AT ITAB into wa_itab..

wa_TEMP-pernr = wa_itab-pernr.

wa_TEMP-begda = wa_itab-begda.

wa_TEMP-ENDDA = wa_itab-ENDDA.

wa_TEMP-BEGUZ = wa_itab-BEGUZ.

wa_TEMP-ENDUZ = wa_itab-ENDUZ.

wa_TEMP-AWART = wa_itab-AWART.

APPEND WA_TEMP TO IT_TEMP.

endloop.

LOOP AT IT_TEMP INTO WA_TEMP.

CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = WA_TEMP-PERNR

  • IMPORTING

  • RETURN = WA_TEMP-AWART

.

CALL FUNCTION 'BAPI_ABSENCE_CREATE'

EXPORTING

EMPLOYEENUMBER = WA_TEMP-PERNR

VALIDITYBEGIN = WA_TEMP-begda

VALIDITYEND = WA_TEMP-ENDDA

START = WA_TEMP-BEGUZ

END = WA_TEMP-ENDUZ

ABSENCETYPE = WA_TEMP-AWART

  • ABSENCEHOURS =

  • NOCOMMIT =

IMPORTING

RETURN = wa_RETURN

  • EMPLOYEENUMBER =

  • SUBTYPE =

  • OBJECTID =

  • LOCKINDICATOR =

  • VALIDITYBEGIN =

  • VALIDITYEND =

  • RECORDNUMBER =

.

*ENDLOOP.

CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'

EXPORTING

NUMBER = WA_TEMP-PERNR

  • IMPORTING

  • RETURN = wa_RETURN

.

ENDLOOP .

FORM UPLOAD_FILE TABLES P_IT_TAB

USING P_FILE.

FIELD-SYMBOLS : <FS>.

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'

EXPORTING

FILENAME = P_FILE

I_BEGIN_COL = '1'

I_BEGIN_ROW = '2'

I_END_COL = '256'

I_END_ROW = '60000'

TABLES

INTERN = L_INTERN

EXCEPTIONS

INCONSISTENT_PARAMETERS = 1

UPLOAD_OLE = 2

OTHERS = 3.

IF SY-SUBRC NE 0.

FORMAT COLOR COL_BACKGROUND INTENSIFIED.

WRITE : / 'File Error'.

EXIT.

ENDIF.

IF L_INTERN[] IS INITIAL.

FORMAT COLOR COL_BACKGROUND INTENSIFIED.

WRITE : / 'No Data Uploaded'.

EXIT.

ELSE.

SORT L_INTERN BY ROW COL.

LOOP AT L_INTERN.

MOVE L_INTERN-COL TO L_INDEX.

ASSIGN COMPONENT L_INDEX OF STRUCTURE P_IT_TAB TO <FS>.

MOVE L_INTERN-VALUE TO <FS>.

AT END OF ROW.

APPEND P_IT_TAB.

CLEAR P_IT_TAB.

ENDAT.

ENDLOOP.

ENDIF.

ENDFORM. "UPLOAD_FILE

can anyone send me the correct code step by step .??

ans will be rewarded....

regards nitin .

4 REPLIES 4

Former Member
0 Kudos

Use FM:

BAPI_TRANSACTION_COMMIT after BAPI_ABSENCE_CREATE

Thanks

0 Kudos

HI SIR ,

i have called FM 'BAPI_TRANSACTION_COMMIT' , but still its not updating data n going in else part of msg that is 'personal no. has error ' . can u plz. what should i do ??

thanks in advance.

0 Kudos

instead RETURN = wa_RETURN(work area) use it_return(internal table).then try to create a data manually for this employee than you will get the exact problem for this employee.may be this config problem.

Former Member
0 Kudos

hi,

u didnt use the commit function module at the last of ur report.

so thats y it is not uploading,

we should definr that commit command.at that time only it will work.

please reward points, if it is useful.

regards,

satish.