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

ABAP -HR

Former Member
0 Likes
1,627

hi folks,

I am working on program to upload terminated employees Data, from a flat file using BDC.

There is no test data in the Devlopment system therefore I am supposed to creat test data

Uing PA30 I had to follow this procedure...

PA30->HR Master Data -> Maintain -> Enter

Personnel Number -> Select Actions (0000) Infotype -> Create -> Enter the defined date -> Select Action – Termination -> Insert Termination Reason -> click SAVE _

-> (0041) Populate termination date in Last Day Worked Date Field on IT 0041 -> click SAVE. -> (0001)Insert P99 in Time Administrator field -> Click SAVE -> (0035) Populate 12/31/9999 in End Date on IT 0035 -> Populate "ELIG" -> Populate Termination Date in DAT 35 -> click SAVE -> Delimit IT 0050 when applicable.

While creating manual entry this process is working fine

the process starts from IT0000 to IT0041 to IT0001 and IT0035.

Then I tried to create record using Transaction recorder for BDC - the process was different

The process started at IT0000 went to IT0001 and finally to IT0035. It did not take me to IT0041 screen

why this happening ?

In both cases I had two separate pernrs whom I had hired and assigned default positions to them.

Am I missing something here?

Thanks in advance for your help.

Vinu.

hi folks,

I am working on program to upload terminated employees Data, from a flat file using BDC.

There is no test data in the Devlopment system therefore I am supposed to creat test data

Uing PA30 I had to follow this procedure...

PA30->HR Master Data -> Maintain -> Enter

Personnel Number -> Select Actions (0000) Infotype -> Create -> Enter the defined date -> Select Action – Termination -> Insert Termination Reason -> click SAVE _

-> (0041) Populate termination date in Last Day Worked Date Field on IT 0041 -> click SAVE. -> (0001)Insert P99 in Time Administrator field -> Click SAVE -> (0035) Populate 12/31/9999 in End Date on IT 0035 -> Populate "ELIG" -> Populate Termination Date in DAT 35 -> click SAVE -> Delimit IT 0050 when applicable.

While creating manual entry this process is working fine

the process starts from IT0000 to IT0041 to IT0001 and IT0035.

Then I tried to create record using Transaction recorder for BDC - the process was different

The process started at IT0000 went to IT0001 and finally to IT0035. It did not take me to IT0041 screen

why this happening ?

In both cases I had two separate pernrs whom I had hired and assigned default positions to them.

Am I missing something here?

Thanks in advance for your help.

Vinu.

13 REPLIES 13
Read only

Former Member
0 Likes
1,595

Is this a problem in the business flow?

Thanks

Vinu.

Read only

0 Likes
1,595

I have been a long time since my HR time...But as long as I can remember, you have to add every "ENTER" code in your DBC record, because sometimes, the Infotypes have differente behaviors...Check your codes and forget the "ENTER" codes.

Greetings,

Blag.

Read only

0 Likes
1,595

Hi,

You can also try with nobinpt = 'X' in the options parameter of the CALL TRANSACTION statement.

regards,

Suresh Datti

Read only

0 Likes
1,595

I did try that too. Actually the funny thing that's happenning is:

While making the manual entry first you change the action type to 'Termination' in IT0000 screen,then it goes to IT0041 screen, where the Termination date is entered, the it goes to organizational assignment screen IT0001 then to IT0035 and to delimit the position IT0050.

When i am recording using Transaction recorder it follows a different path,

First IT0000 and then I Press ENTER asks to save entries then it takes me to screen IT0001 then I make the entry press the ENTER key and save entries it goes to IT0035 followed by IT0050.

Coming to the code, it has to be built from scratch so no code is existing hence I am trying to track the transaction in the Recorder.

In such case what should I be doing?

Because I have created a lot of test data to hire employees and to make the accurate recording.

Any leads will be greatly helpful.

Thanks

Vinu.

Read only

0 Likes
1,595

Hi Vinu,

One other option is to individually create each infotype record using the function module HR_INFOTYPE_OPERATION.

This function module mimics a BDC & performs all the screen field checks that normally occur in PA30. The only drawback is thye function module cannot handle high volume as it employs the CALL_DIALOG approach.

Regards,

Suresh Datti

Read only

0 Likes
1,595

hi folks,

I had posted this question few days back and I'm coming back to this, because I need some help here. Suresh I cannot use the FM module because I have large number of records uploading here.

Is there anything I have to do to rectify the process flow while using SHDB(to record the transaction)so that the Date specifcations Infotype screen (0041) is displayed.

Any leads or suggesstions as how to generate the BDC transaction here is really appreciated.

Thanks in advance.

Vinu

Read only

0 Likes
1,595

Hi Vinu,

I have a feeling 0041 is getting triggered during the Termination action via Dynamic Actions in the configuration. In that case, your BDC will not automatically handle it, you will have to explicitly code for creation of 0041 after 0000. Since you are unable to use the Recording, you can try like what we all used to do in the beginning.. Create the 0041 on line & press F1 on each field that you enter & note down the Program,Screen & field names and code the BDC accordingly..

Regards,

Suresh Datti

Read only

0 Likes
1,595

Suresh, can you elaborate more on how to do it? Does it mean that I record the transaction using shdb for the rest of the infotypes transaction and code the BDC transaction for 0041 manually insert into the transaction.

Can you explain more in detail because I have not done that before?

I really appreciate your help.

Thanks

Vinu

Read only

0 Likes
1,595

>>> Does it mean that I record the transaction using shdb for the rest of the infotypes transaction and code the BDC transaction for 0041 manually insert into the transaction.

that is exactly what I mean.. Infotype 0041 code can be inserted or put in after the original call transaction.. the sequence shouldn't matter.. You will be OK as long as you create a 0041..

Regards,

Suresh Datti

Read only

0 Likes
1,595

Thanks, I am working on that and get back to you later...

Vinu

Read only

0 Likes
1,595

hi Suresh,

I did not get the records uploaded to IT0041. Let me explain what I did.

FORM FILL_BDC_TAB.

'X' 'SAPMP50A' '1000',

' ' 'BDC_OKCODE' '=INS',

' ' 'RP50G-PERNR' REC-PERNR,

' ' 'BDC_CURSOR' 'T582S-ITEXT(01)',

' ' 'RP50G-SELEC(01)' 'X',

' ' 'RP50G-TIMR6' 'X',

'X' 'MP000000' '2000',

' ' 'BDC_CURSOR' 'P0000-MASSG',

' ' 'BDC_OKCODE' '/00',

' ' 'P0000-BEGDA' format_termin,

' ' 'P0000-MASSN' 'TM',

' ' 'P0000-MASSG' '26',

'X' 'MP000000' '2000',

' ' 'BDC_CURSOR' 'P0000-BEGDA',

' ' 'BDC_OKCODE' '=UPD',

' ' 'P0000-BEGDA' format_termin,

' ' 'P0000-MASSN' 'TM',

' ' 'P0000-MASSG' '26',

' ' 'BDC_OKCODE' '/11', "save

  • This is the code that I have written for IT0041

*'X' 'MP004100' '2000',

*' ' 'BDC_CURSOR' 'P0041-BEGDA',

*' ' 'BDC_OKCODE' '=UPD',

*' ' 'P0041-BEGDA' format_termin, (termination date)

*' ' 'P0041-DAR12' 'LD',

*' ' 'P0041-DAT12' format_termin, (termination date)

*' ' 'BDC_OKCODE' '/11', "save

  • end of the code

'X' 'MP000100' '2010',

' ' 'BDC_CURSOR' 'P0001-BTRTL',

' ' 'BDC_OKCODE' 'UPD',

' ' 'P0001-BEGDA' format_termin,

' ' 'P0001-ENDDA' '12/31/9999',

*' ' 'P0001-BTRTL' 'SNXP',

*' ' 'P0001-ABKRS' 'GA',

*' ' 'P0001-ANSVH' '04',

*' ' 'P0001-SACHP' 'H13',

*' ' 'P0001-PLANS' '99999999',

' ' 'P0001-SACHZ' 'P99',

*' ' 'P0001-SACHA' '026',

'X' 'MP003500' '2000',

' ' 'BDC_CURSOR' 'P0035-DAT35',

' ' 'BDC_OKCODE' '=UPD',

' ' 'P0035-BEGDA' format_termin,

' ' 'P0035-ENDDA' '12/31/9999',

' ' 'P0035-BLEHR' ZBLEHR, Insturction Type (ELIG OR INEL)

' ' 'P0035-DAT35' format_termin,

' ' 'BDC_OKCODE' '/11'.

ENDFORM

Except for the code marked in '*' sign the rest code is obtained from the transaction recorder. I INSERTED that code for IT0041 within the transaction recording.

When I used that code it is not working, I ran the progrma in 'A' mode to see the screen flow it did not go to POO41 screen.

How can I take it from here?

Thanks in advance for your help.

Vinu

Read only

0 Likes
1,595

hi Suresh,

Did you get chance to go over my code? Any suggesstions??

Thanks

Vinu.

Read only

0 Likes
1,595

Hi Vinu,

nothing wrong with your code.. same thing happened for me too.. will see if there is another option & let you know..

Regards,

Suresh Datti