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: 

BDC for infotype 589 ,2006...and get full points...

Former Member
0 Kudos
160

Hi

I go thru the recording and than make the regarding program for these infotype BDC's .

Can any buddy tell me how to code ..the same..

plzz give some sample code for this problem.

Regards

lakhan

1 ACCEPTED SOLUTION

Former Member
0 Kudos
96

Hi

use the fun module

HR_INFOTYPE_OPERATION to upload the data into infotypes

see the sample code

try to make use of FM

'HR_INFOTYPE_OPERATION'

and see the sample code:-

https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action&pageid=13160

REPORT YBDC_NEW_586

no standard page heading line-size 255.

data: begin of i_upload occurs 0,

pernr like pa0586-pernr,

bedda(10) type c,

ebdda(10) type c,

pin01 like pa0586-pin01,

pin02 like pa0586-pin01,

pin03 like pa0586-pin01,

pin04 like pa0586-pin01,

pin05 like pa0586-pin01,

pin06 like pa0586-pin01,

pin07 like pa0586-pin01,

pin08 like pa0586-pin01,

pin09 like pa0586-pin01,

pin11 like pa0586-pin01,

pin12 like pa0586-pin01,

pin13 like pa0586-pin01,

pin14 like pa0586-pin01,

pin16 like pa0586-pin01,

pin17 like pa0586-pin01,

pin18 like pa0586-pin01,

pin19 like pa0586-pin01,

pin20 like pa0586-pin01,

pin21 like pa0586-pin01,

pin22 like pa0586-pin01,

pin23 like pa0586-pin01,

pin24 like pa0586-pin01,

pin25 like pa0586-pin01,

ain01 like pa0586-ain01,

ain02 like pa0586-ain01,

ain03 like pa0586-ain01,

ain04 like pa0586-ain01,

ain05 like pa0586-ain01,

ain06 like pa0586-ain01,

ain07 like pa0586-ain01,

ain08 like pa0586-ain01,

ain09 like pa0586-ain01,

ain11 like pa0586-ain01,

ain12 like pa0586-ain01,

ain13 like pa0586-ain01,

ain14 like pa0586-ain01,

ain16 like pa0586-ain01,

ain17 like pa0586-ain01,

ain18 like pa0586-ain01,

ain19 like pa0586-ain01,

ain20 like pa0586-ain01,

ain21 like pa0586-ain01,

ain22 like pa0586-ain01,

ain23 like pa0586-ain01,

ain24 like pa0586-ain01,

ain25 like pa0586-ain01,

end of i_upload.

data: begin of p586 occurs 0,

icode like pa0586-itc01,

pinvt like pa0586-pin01,

ainvt like pa0586-ain01,

end of p586.

data: p0586 like p0586 ,

ia586 like pa0586 occurs 0 with header line,

return like bapireturn1,

pin_ainvt type pin_ainvt.

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

  • S E L E C T I O N - S C R E E N D E F I N I T I O N *

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

selection-screen begin of block b1 with frame title text-001.

parameters: p_file like rlgrap-filename obligatory,

p_begda like pa0586-begda obligatory,

p_endda like pa0586-endda obligatory.

selection-screen end of block b1.

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

  • E V E N T H A N D L I N G - B E G I N *

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

at selection-screen on value-request for p_file.

perform get_file using p_file.

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

  • START OF SELECTION - B E G I N *

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

start-of-selection.

data: lines like sy-index.

*Getting the file data.

perform upload using p_file.

loop at i_upload.

ia586-pernr = i_upload-pernr.

ia586-endda = p_endda.

ia586-begda = p_begda.

perform col_row.

perform do.

append ia586.

clear : ia586,p586.

refresh : p586.

endloop.

loop at ia586.

move-corresponding ia586 to p0586.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = p0586-pernr.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '0586'

NUMBER = p0586-pernr

LOCKINDICATOR = ''

VALIDITYEND = p0586-endda

VALIDITYBEGIN = p0586-begda

RECORD = p0586

OPERATION = 'INS' or MOD or DEL

NOCOMMIT = ''

tclas = 'A'

IMPORTING

RETURN = RETURN

EXCEPTIONS

OTHERS = 0.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = p0586-pernr.

clear : p0586.

endloop.

&----


*& Form GET_FILE

&----


  • Show "Open File" dialog box on F4

----


  • -->P_W_FILE Name of the file selected by the user

----


form get_file using p_w_file.

call function 'KD_GET_FILENAME_ON_F4'

CHANGING

file_name = p_w_file

EXCEPTIONS

mask_too_long = 1

others = 2.

if sy-subrc ne 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

endform. "GET_FILE

&----


*& Form UPLOAD

&----


  • Upload the file into the internal table for processing

----


  • -->P_LOADFILE Name of file to upload

----


form upload using p_loadfile.

  • Read the file into the Internal Table

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = p_loadfile

filetype = 'DAT'

TABLES

data_tab = i_upload.

if sy-subrc ne 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

endform. "UPLOAD

FORM col_row .

if i_upload-ain01 is not initial or i_upload-pin01 is not initial.

p586-icode = '01'.

p586-pinvt = i_upload-pin01.

p586-ainvt = i_upload-ain01.

append p586.

clear p586.

endif.

if i_upload-ain02 is not initial or i_upload-pin02 is not initial.

p586-icode = '02'.

p586-pinvt = i_upload-pin02.

p586-ainvt = i_upload-ain02.

append p586.

clear p586.

endif.

if i_upload-ain03 is not initial or i_upload-pin03 is not initial.

p586-icode = '03'.

p586-pinvt = i_upload-pin03.

<b>Reward points for useful Answers</b>

Regards

Anji

2 REPLIES 2

Former Member
0 Kudos
97

Hi

use the fun module

HR_INFOTYPE_OPERATION to upload the data into infotypes

see the sample code

try to make use of FM

'HR_INFOTYPE_OPERATION'

and see the sample code:-

https://www.sdn.sap.com/irj/sdn/wiki?path=/pages/viewpage.action&pageid=13160

REPORT YBDC_NEW_586

no standard page heading line-size 255.

data: begin of i_upload occurs 0,

pernr like pa0586-pernr,

bedda(10) type c,

ebdda(10) type c,

pin01 like pa0586-pin01,

pin02 like pa0586-pin01,

pin03 like pa0586-pin01,

pin04 like pa0586-pin01,

pin05 like pa0586-pin01,

pin06 like pa0586-pin01,

pin07 like pa0586-pin01,

pin08 like pa0586-pin01,

pin09 like pa0586-pin01,

pin11 like pa0586-pin01,

pin12 like pa0586-pin01,

pin13 like pa0586-pin01,

pin14 like pa0586-pin01,

pin16 like pa0586-pin01,

pin17 like pa0586-pin01,

pin18 like pa0586-pin01,

pin19 like pa0586-pin01,

pin20 like pa0586-pin01,

pin21 like pa0586-pin01,

pin22 like pa0586-pin01,

pin23 like pa0586-pin01,

pin24 like pa0586-pin01,

pin25 like pa0586-pin01,

ain01 like pa0586-ain01,

ain02 like pa0586-ain01,

ain03 like pa0586-ain01,

ain04 like pa0586-ain01,

ain05 like pa0586-ain01,

ain06 like pa0586-ain01,

ain07 like pa0586-ain01,

ain08 like pa0586-ain01,

ain09 like pa0586-ain01,

ain11 like pa0586-ain01,

ain12 like pa0586-ain01,

ain13 like pa0586-ain01,

ain14 like pa0586-ain01,

ain16 like pa0586-ain01,

ain17 like pa0586-ain01,

ain18 like pa0586-ain01,

ain19 like pa0586-ain01,

ain20 like pa0586-ain01,

ain21 like pa0586-ain01,

ain22 like pa0586-ain01,

ain23 like pa0586-ain01,

ain24 like pa0586-ain01,

ain25 like pa0586-ain01,

end of i_upload.

data: begin of p586 occurs 0,

icode like pa0586-itc01,

pinvt like pa0586-pin01,

ainvt like pa0586-ain01,

end of p586.

data: p0586 like p0586 ,

ia586 like pa0586 occurs 0 with header line,

return like bapireturn1,

pin_ainvt type pin_ainvt.

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

  • S E L E C T I O N - S C R E E N D E F I N I T I O N *

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

selection-screen begin of block b1 with frame title text-001.

parameters: p_file like rlgrap-filename obligatory,

p_begda like pa0586-begda obligatory,

p_endda like pa0586-endda obligatory.

selection-screen end of block b1.

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

  • E V E N T H A N D L I N G - B E G I N *

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

at selection-screen on value-request for p_file.

perform get_file using p_file.

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

  • START OF SELECTION - B E G I N *

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

start-of-selection.

data: lines like sy-index.

*Getting the file data.

perform upload using p_file.

loop at i_upload.

ia586-pernr = i_upload-pernr.

ia586-endda = p_endda.

ia586-begda = p_begda.

perform col_row.

perform do.

append ia586.

clear : ia586,p586.

refresh : p586.

endloop.

loop at ia586.

move-corresponding ia586 to p0586.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = p0586-pernr.

CALL FUNCTION 'HR_INFOTYPE_OPERATION'

EXPORTING

INFTY = '0586'

NUMBER = p0586-pernr

LOCKINDICATOR = ''

VALIDITYEND = p0586-endda

VALIDITYBEGIN = p0586-begda

RECORD = p0586

OPERATION = 'INS' or MOD or DEL

NOCOMMIT = ''

tclas = 'A'

IMPORTING

RETURN = RETURN

EXCEPTIONS

OTHERS = 0.

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

EXPORTING

NUMBER = p0586-pernr.

clear : p0586.

endloop.

&----


*& Form GET_FILE

&----


  • Show "Open File" dialog box on F4

----


  • -->P_W_FILE Name of the file selected by the user

----


form get_file using p_w_file.

call function 'KD_GET_FILENAME_ON_F4'

CHANGING

file_name = p_w_file

EXCEPTIONS

mask_too_long = 1

others = 2.

if sy-subrc ne 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

endform. "GET_FILE

&----


*& Form UPLOAD

&----


  • Upload the file into the internal table for processing

----


  • -->P_LOADFILE Name of file to upload

----


form upload using p_loadfile.

  • Read the file into the Internal Table

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = p_loadfile

filetype = 'DAT'

TABLES

data_tab = i_upload.

if sy-subrc ne 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

endform. "UPLOAD

FORM col_row .

if i_upload-ain01 is not initial or i_upload-pin01 is not initial.

p586-icode = '01'.

p586-pinvt = i_upload-pin01.

p586-ainvt = i_upload-ain01.

append p586.

clear p586.

endif.

if i_upload-ain02 is not initial or i_upload-pin02 is not initial.

p586-icode = '02'.

p586-pinvt = i_upload-pin02.

p586-ainvt = i_upload-ain02.

append p586.

clear p586.

endif.

if i_upload-ain03 is not initial or i_upload-pin03 is not initial.

p586-icode = '03'.

p586-pinvt = i_upload-pin03.

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos
96

yes, don't bother with BDCs for HR infotypes. just use HR_INFOTYPE_OPERATIONS as mentioned above.