Welcome To My BLOG

This site is to give a brief idea for the abap learners who are looking for some real time programs .It consists of collection of programs from my side . I hope these programs are very much used for all of the learners. Please check the links for any information in ABAP.
Please vote for my Blog. And please input me on this mail addrssess.Email me

Share this link with your friends

http://www.rebtel.com/u/15163104576

For every friend who signs up using this link and makes a payment, we'll give you 8 €!


Monday, December 20, 2010

HR ABAP - BDC For Uploading Absence Data Into PA30 Transaction.

REPORT zhr_absence_rec
NO STANDARD PAGE HEADING LINE-SIZE 255.

INCLUDE bdcrecx1.

TYPES : BEGIN OF ty_upload,
pernr TYPE char10, " Person No.
begda TYPE char10, " Begin Date
endda TYPE char10, " End Date
subty TYPE char04, " Sub-Type
beguz TYPE char6, " Start Time
enduz TYPE char6, " End Time
stdaz TYPE char10, " No. of Hr
END OF ty_upload,

tt_upload TYPE STANDARD TABLE OF ty_upload.

DATA : t_upload TYPE STANDARD TABLE OF ty_upload INITIAL SIZE 0,
* T_ERROR TYPE STANDARD TABLE OF TY_UPLOAD INITIAL SIZE 0,

t_bdcdata TYPE STANDARD TABLE OF bdcdata INITIAL SIZE 0,

*Workarea Declerations
*Upload Data
w_upload TYPE ty_upload,

*BDC data
w_bdcdata TYPE bdcdata.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS : p_flname TYPE ibipparms-path.
SELECTION-SCREEN END OF BLOCK b1.

INITIALIZATION.

*Clear Workareas
CLEAR : w_upload,
w_bdcdata.

REFRESH : t_upload,
t_bdcdata.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_flname.

* F4 help for the file path
PERFORM sub_get_f4help.

START-OF-SELECTION.

*Upload the data
PERFORM sub_upload_data.

*Populating the data
PERFORM sub_fill_bdcdata.

*&---------------------------------------------------------------------*
*& Form SUB_GET_F4HELP
*----------------------------------------------------------------------*
FORM sub_get_f4help .
CLEAR p_flname.

CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = sy-repid
dynpro_number = '1000'
field_name = ' '
IMPORTING
file_name = p_flname.

ENDFORM. " SUB_GET_F4HELP
*&---------------------------------------------------------------------*
*& Form SUB_UPLOAD_DATA
*----------------------------------------------------------------------*
FORM sub_upload_data .
DATA : l_flname TYPE string.
l_flname = p_flname.

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = l_flname
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_upload .

ENDFORM. " SUB_UPLOAD_DATA
*&---------------------------------------------------------------------*
*& Form SUB_FILL_BDCDATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------*
FORM sub_fill_bdcdata .

CLEAR w_upload.
PERFORM open_group.
LOOP AT t_upload INTO w_upload.
REFRESH : t_bdcdata.

PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.

PERFORM bdc_field USING 'BDC_OKCODE' '=INS'.
PERFORM bdc_field USING 'RP50G-PERNR' w_upload-pernr.

PERFORM bdc_field USING 'RP50G-TIMR6' 'X'.
PERFORM bdc_field USING 'RP50G-BEGDA' w_upload-begda.

PERFORM bdc_field USING 'RP50G-ENDDA' w_upload-endda.
PERFORM bdc_field USING 'BDC_CURSOR' 'RP50G-SUBTY'.

PERFORM bdc_field USING 'RP50G-CHOIC' '2001'.
PERFORM bdc_field USING 'RP50G-SUBTY' w_upload-subty.

PERFORM bdc_dynpro USING 'MP200000' '2000'.
PERFORM bdc_field USING 'BDC_CURSOR' 'P2001-BEGDA'.

PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
PERFORM bdc_field USING 'P2001-BEGDA' w_upload-begda.

PERFORM bdc_field USING 'P2001-ENDDA' w_upload-endda.
PERFORM bdc_field USING 'P2001-BEGUZ' w_upload-beguz.

PERFORM bdc_field USING 'P2001-ENDUZ' w_upload-enduz.
PERFORM bdc_dynpro USING 'MP200000' '2000'.

PERFORM bdc_field USING 'BDC_CURSOR' 'P2001-BEGDA'.
PERFORM bdc_field USING 'BDC_OKCODE' '=UPD'.

PERFORM bdc_field USING 'P2001-BEGDA' w_upload-begda.
PERFORM bdc_field USING 'P2001-ENDDA' w_upload-endda.

PERFORM bdc_field USING 'P2001-STDAZ' w_upload-stdaz.
PERFORM bdc_transaction USING 'PA30'. CLEAR w_upload.

ENDLOOP.

PERFORM close_group.
ENDFORM. " SUB_FILL_BDCDATA

No comments: