cancel
Showing results for 
Search instead for 
Did you mean: 

Need some help with BTCI in Infotypes group

Former Member
0 Kudos

Hi all,

I wanted to know if you know a way to make a batch-input using an infotype group such as hiring employee.

In the IMG, the groupe is as follow:

infotype 0000

0002

0001

0006

9100 (specific infotype for salary elements)

and that's it.

Since I need to have others infotypes (normally filled with dynamic measures), I tried to force the batch to go beyond this point to add the infotype 0021 (Family) and 0041 (Dates), using the employee ID created through the hiring process.

But in the batch-input process it just don't go on this step, instead going into the next loop after filling the specific infotype 9100.

Do you know a simple way to bypass it or do I need to ask for a little adjustment on the infotypes group ?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

You can configure another infotype sequence for different user group and than specify this user group for user who will be executing BDC by setting the parameter UGR in the user profile. Once this user will re-login the hiring sequence will be different than.

Best Regards,

Andrzej

Answers (2)

Answers (2)

Former Member
0 Kudos

Ok, here is a solution I found.

During the batch-input table filling, I modify the infotypes group to add the two infotypes. As the batch enter the infotype 0000, the next action after pushing 'Enter' button, is go to 'Modify Infotypes group' to add the two missing infotypes.

The code looks like this :

PERFORM f_ecran_selection USING '0000' 'Z1'.

PERFORM f_fill_infty USING '0000' 'Z1'.

PERFORM f_modify_infogr USING '0041' '0021'.

PERFORM f_fill_infty USING '0002' space.

PERFORM f_fill_infty USING '0001' space.

PERFORM f_fill_infty USING '0006' space.

PERFORM f_fill_infty USING '0021' space.

PERFORM f_fill_infty USING '0041' space.

PERFORM f_fill_infty USING '9100' 'Z1'.

In the f_modify_infogr form:

PERFORM f_dynpro USING :

'X' 'SAPLRPST' '0200',

' ' 'BDC_CURSOR' 'Q0000-infty(04)',

' ' 'BDC_OKCODE' '=INSL',

' ' 'TC_SELEC(04)' 'X'.

PERFORM f_dynpro USING :

'X' 'SAPLRPST' '0200',

' ' 'BDC_CURSOR' 'Q0000-infty(04)',

' ' 'BDC_OKCODE' '=INSL'.

PERFORM f_dynpro USING :

'X' 'SAPLRPST' '0200',

' ' 'BDC_OKCODE' '=GOON',

' ' 'Q0000-INFTY(04)' p_infty1,

' ' 'Q0000-OPERA(04)' 'INS',

' ' 'Q0000-ANZHL(04)' '1'.

IF NOT p_infty2 IS INITIAL.

PERFORM f_dynpro USING :

' ' 'Q0000-INFTY(04)' '0021',

' ' 'Q0000-SUBTY(04)' '1',

' ' 'Q0000-OPERA(04)' 'INS',

' ' 'Q0000-ANZHL(04)' '1',

' ' 'Q0000-INFTY(05)' '0041',

' ' 'Q0000-OPERA(05)' 'INS',

' ' 'Q0000-ANZHL(05)' '1'.

ENDIF.

So, it's the way to fill the infotypes needed dynamically. Thanks for your answer that made me think about modifying infotypes group during batch filling.

Former Member
0 Kudos

Hi Thomas,

There are only two solutions for this.

1) Go ahead and include the other infotypes also in the same group in SPRO. (Straigtforward)

2) Else, in BDC follow this kindda approach.

.

.

.

LOOP AT ITAB.

  • FILL IN THE SCREEN DETAILS FOR INFOTYPES 0000, 0002,

  • 0001, 0006 AND 9100 with the corresponging screen nos * and program name into the BDCDATA internal table BDCTAB

CALL TRANSACTION 'PA30' using BDCTAB etc....

CLEAR: BDCDATA internal table BDCTAB.

  • FILL IN THE SCREEN DETAILS FOR INFOTYPES 0041 & 0021,

  • with the corresponging screen nos and program name

  • into the BDCDATA internal table BDCTAB.

CALL TRANSACTION 'PA30' USING BDCTAB MODE A UPDATE S.

ETC...

ENDLOOP.

Hope this helps.

Cheers,

Sam