cancel
Showing results for 
Search instead for 
Did you mean: 

Execute a BDC in background

0 Kudos

Hi ,

My program works well when it is executed online , but when executed in the background there is no error message, but the required operation is not done.

My requirement is to delimit Contingent Workers IT0000 and IT0001 based on a given date.

Program is able to delimit the IT0000 record and not able to delimit the IT0001 record.

But the same code is working i.e. delimiting both the IT0000 and IT0001 records if I execute in Foreground.

Below is the code

__________________

LOOP AT T_IT0001.

*Intial Screen PA30 enter IT0000 and subty 95 'Intial Screen

PERFORM BDC_DYNPRO USING 'SAPMP50A' '1000'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=INS'.

PERFORM BDC_FIELD USING 'RP50G-PERNR'

T_IT0001-PERNR.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'/1PAPAXX/HDR_70060A 0100SUBSCR_HEADER'.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'SAPMP50A 0320SUBSCR_ITMENU'.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'SAPMP50A 0330SUBSCR_TIME'.

PERFORM BDC_FIELD USING 'RP50G-TIMR6'

'X'.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'SAPMP50A 0350SUBSCR_ITKEYS'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'RP50G-SUBTY'.

PERFORM BDC_FIELD USING 'RP50G-CHOIC'

'0000'.

PERFORM BDC_FIELD USING 'RP50G-SUBTY'

'95'.

*IT0000 Enter Start Dt for termination i.e Rundate 1st screen

PERFORM BDC_DYNPRO USING 'MP000000' '2000'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'P0000-BEGDA'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=UPD'.

PERFORM BDC_FIELD USING 'P0000-BEGDA'

G_ACTION_DT.

*IT0001 click save with same rundate 2nd screen

PERFORM BDC_DYNPRO USING 'MP000100' '2010'.

PERFORM BDC_FIELD USING 'BDC_CURSOR'

'P0001-BEGDA'.

PERFORM BDC_FIELD USING 'BDC_OKCODE'

'=UPD'.

PERFORM BDC_FIELD USING 'P0001-BEGDA'

G_ACTION_DT.

PERFORM BDC_FIELD USING 'P0001-PLANS'

T_IT0001-PLANS.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'MP000100 0100SUB0001'.

PERFORM BDC_FIELD USING 'BDC_SUBSCR'

'SAPMP50A 0090SUBSCREEN_T582C'.

CALL TRANSACTION 'PA30' USING T_BDCDATA MODE 'A'.

  • CALL TRANSACTION 'PA30' USING T_BDCDATA MODE 'N'

  • MESSAGES INTO T_ERROR.

FREE: T_BDCDATA.

ENDLOOP.

ENDFORM. " BDCREC_DELIMIT

________________________________________________________

Please let me know if you have any suggestions.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Well, according to OSS note # 198379, PA30 does not support batch input. SAP recommends using BAPIs or transaction PP02.

Rob

0 Kudos

Hi Rob,

How can I delimit the Contractor records of IT0000 and IT0001 with PP02.

Intially I tried with PA40, and there is one Dynamic Action taking place. According to SAP standard feature ie Dynamic Action will be OFF when BDC is running.

Dynamic Action triggers when the IT0000, Action Type = 95 and changes the IT0001 ,employee grp from 7(Contingent Worker) to 4(Separted) and the screen goes to IT0001 and after saving in IT0001, IT0001 is delimited.

This process is working fine when I run the program in Foreground and the same is not working in Backgrd. IT0000 is delimiting and IT0001 is not delimiting.

Former Member
0 Kudos

I think the answer is to use a BAPI. Quoting more of the note:

Symptom

Batch Input (BDC) is not supported for some transactions of the

Personnel Development component.

Examples:

- Edit Qualifications (Transaction: PA30, PB30, PPPM...)

- Create Appraisals (Transaction: APPCREATE, PV32, PV34)

- Individual Development Planning (Transaction: PPDPIM)

Other terms

Personnel Development, batch input, BDC, appraisal, PA30, PB30, IT0024,

qualification, recording

Reason and Prerequisites

The reason why batch input is not possible for some Personnel

Development transactions is the Commit Works that are triggered during

transaction processing. These are essential for the complex processing

steps.

Solution

Please write a program that provides the required functions.When doing

so, use the BAPI's and/or function modules provided in the Personnel

Development component.

For release 4.6 you can import qualifications by batch input to

transaction PP02.Transaction PP02 is recommended as a BATCH transaction

by SAP.

Rob

0 Kudos

Hi Rob,

I solved the issue. Now it is working in Background also.

I haven't written any BAPI's or BDC with PP02.

Former Member
0 Kudos

How did you resolve it?

Rob

0 Kudos

Hi Rob,

After saving the data in IT0001 automatically it went to IT0019(Monitoring of Tasks) screen then I press enter.

I kept this piece of code in my program. Then it is working.

IT0001 is getting saved only when the IT0001 screen moves to the next screen IT0019.

Regards,

Ramakrishna