Dear Gurus,
I have a requirement to Automate the separation Action in SAP R/3. For the same i have Recorded a BDC. When I run the BDC in foreground, it works fine. But the same when is Scheduled as Background Job, Finishes Job with Success but does not create a Separation Action In SAP R3.
Kindly help.
I have also Checked If this can be done by BAPI But the BAPI is Giving error on Reason for Action (Mandatory) as the BAPI do not take Reason for Action as Input.
BAPI I have tried for the Same are as below.
HR_MAINTAIN_MASTERDATA.
Also The Code of recording is pasted below.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RP50G-EINDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RP50G-EINDA'
A_EARDT.
PERFORM BDC_FIELD USING 'RP50G-PERNR'
WA_T77WWW_TEAAD-PERNR.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RP50G-EINDA'
A_EARDT.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RP50G-PERNR'.
PERFORM BDC_FIELD USING 'RP50G-PERNR'
WA_T77WWW_TEAAD-PERNR.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RP50G-EINDA'
A_EARDT.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RP50G-PERNR'.
PERFORM BDC_FIELD USING 'RP50G-PERNR'
WA_T77WWW_TEAAD-PERNR.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'T529T-MNTXT(13)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=P+'.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'T529T-MNTXT(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PICK'.
PERFORM BDC_FIELD USING 'RP50G-EINDA'
A_EARDT.
PERFORM BDC_FIELD USING 'RP50G-SELEC(01)'
'X'.
PERFORM BDC_FIELD USING 'RP50G-PERNR'
WA_T77WWW_TEAAD-PERNR.
PERFORM BDC_DYNPRO USING 'MP000000' '2000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0000-MASSG'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'P0000-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0000-MASSN'
'10'.
PERFORM BDC_FIELD USING 'P0000-MASSG'
WA_T77WWW_TEAAD-A_MASSG.
PERFORM BDC_FIELD USING 'PSPAR-PERSG'
'V'.
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'
P_NEXT.
PERFORM BDC_FIELD USING 'P0000-MASSN'
'10'.
PERFORM BDC_FIELD USING 'P0000-MASSG'
WA_T77WWW_TEAAD-A_MASSG.
PERFORM BDC_FIELD USING 'PSPAR-PERSG'
'V'.
PERFORM BDC_DYNPRO USING 'MP000100' '2000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0001-BEGDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'P0001-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0001-ENDDA'
'31.12.9999'.
PERFORM BDC_FIELD USING 'P0001-BTRTL'
WA_P0001-BTRTL.
PERFORM BDC_FIELD USING 'P0001-KOSTL'
WA_P0001-KOSTL.
PERFORM BDC_FIELD USING 'P0001-GSBER'
WA_P0001-GSBER.
PERFORM BDC_FIELD USING 'P0001-ABKRS'
WA_P0001-ABKRS.
PERFORM BDC_FIELD USING 'P0001-PLANS'
'99999999'.
PERFORM BDC_FIELD USING 'P0001-STELL'
WA_P0001-STELL.
PERFORM BDC_FIELD USING 'P0001-ORGEH'
WA_P0001-ORGEH.
PERFORM BDC_DYNPRO USING 'MP000100' '2000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0001-BEGDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=UPD'.
PERFORM BDC_FIELD USING 'P0001-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0001-ENDDA'
'31.12.9999'.
PERFORM BDC_FIELD USING 'P0001-BTRTL'
WA_P0001-BTRTL.
PERFORM BDC_FIELD USING 'P0001-KOSTL'
WA_P0001-KOSTL.
PERFORM BDC_FIELD USING 'P0001-GSBER'
WA_P0001-GSBER.
PERFORM BDC_FIELD USING 'P0001-ABKRS'
WA_P0001-ABKRS.
PERFORM BDC_FIELD USING 'P0001-PLANS'
'99999999'.
PERFORM BDC_FIELD USING 'P0001-STELL'
WA_P0001-STELL.
PERFORM BDC_FIELD USING 'P0001-ORGEH'
WA_P0001-ORGEH.
PERFORM BDC_DYNPRO USING 'MP000200' '2044'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0002-BEGDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'UPD'.
PERFORM BDC_FIELD USING 'P0002-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0002-ENDDA'
'31.12.9999'.
PERFORM BDC_FIELD USING 'P0002-NACHN'
WA_P0002-NACHN.
PERFORM BDC_FIELD USING 'P0002-VORNA'
WA_P0002-VORNA.
PERFORM BDC_FIELD USING 'P0002-RUFNM'
WA_P0002-RUFNM.
PERFORM BDC_FIELD USING 'P0002-GBDAT'
DOB.
PERFORM BDC_FIELD USING 'P0002-GESCH'
WA_P0002-GESCH.
PERFORM BDC_FIELD USING 'P0002-NATIO'
WA_P0002-NATIO.
PERFORM BDC_FIELD USING 'P0002-SPRSL'
WA_P0002-SPRSL.
PERFORM BDC_DYNPRO USING 'MP031500' '2000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0315-BEGDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'P0315-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0315-ENDDA'
'31.12.9999'.
PERFORM BDC_FIELD USING 'P0315-KOSTL'
WA_P0315-KOSTL.
PERFORM BDC_FIELD USING 'P0315-LSTAR'
WA_P0315-LSTAR.
PERFORM BDC_FIELD USING 'P0315-WERKS'
WA_P0315-WERKS.
PERFORM BDC_FIELD USING 'P0315-ACCNT'
WA_P0315-ACCNT.
PERFORM BDC_DYNPRO USING 'MP031500' '2000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'P0315-BEGDA'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=UPD'.
PERFORM BDC_FIELD USING 'P0315-BEGDA'
P_NEXT.
PERFORM BDC_FIELD USING 'P0315-ENDDA'
'31.12.9999'.
PERFORM BDC_FIELD USING 'P0315-KOSTL'
WA_P0315-KOSTL.
PERFORM BDC_FIELD USING 'P0315-LSTAR'
WA_P0315-LSTAR.
PERFORM BDC_FIELD USING 'P0315-WERKS'
WA_P0315-WERKS.
PERFORM BDC_FIELD USING 'P0315-ACCNT'
WA_P0315-ACCNT.
PERFORM BDC_DYNPRO USING 'MP010500' '3000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/ENXT'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RP50M-BEGDA'.
PERFORM BDC_DYNPRO USING 'SAPMP50A' '2200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/EBCK'.
CALL TRANSACTION 'PA40' USING IT_BDC MODE 'N' UPDATE 'S' MESSAGES INTO IT_MSG.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR WA_BDC.
WA_BDC-FNAM = FNAM.
WA_BDC-FVAL = FVAL.
APPEND WA_BDC TO IT_BDC.
ENDFORM.
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR WA_BDC.
WA_BDC-PROGRAM = PROGRAM.
WA_BDC-DYNPRO = DYNPRO.
WA_BDC-DYNBEGIN = 'X'.
APPEND WA_BDC TO IT_BDC.
ENDFORM.