2008 Apr 14 10:32 AM
hi all,
I have written bdc on HRUSER in HR. it creates user for single pernr.
But when i try to pass the range, it creates the user id for only the first pernr and not all the pernr's in the range.
Can anyone please provide a solution ASAP?
hi all,
I have written bdc on HRUSER in HR. it creates user for single pernr.
But when i try to pass the range, it creates the user id for only the first pernr and not all the pernr's in the range.
Can anyone please provide a solution ASAP?
2008 Apr 14 11:10 AM
Hi, Can you post your code ? We will check it . Regards, Venkat.O
2008 Apr 14 11:32 AM
ya sure the code z below.
*--moving the role selected to variable v_temp.
v_temp = p4.
*--moving the system date to variable v_date.
v_date = sy-datum.
*--setting the date format of current date.
CONCATENATE v_date4(2) c_1 v_date6(2) c_1 v_date+0(4) INTO v_date.
*--for screen 1000.
PERFORM bdc_dynpro USING 'SAPLEHUS' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PARAMETERS-SELDAT'.
*--ok code '=PARAM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PARAM'.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-WITH_ZBV'
c_x.
PERFORM bdc_field USING 'PARAMETERS-SELDAT'
v_date.
PERFORM bdc_field USING 'DATESET'
'O'.
*--for screen 0100.
PERFORM bdc_dynpro USING 'SAPLEHUS' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PARAMETERS-PW_METHOD'.
*--ok code '=PWC'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PWC'.
PERFORM bdc_field USING 'PARAMETERS-SELDAT'
v_date.
PERFORM bdc_field USING 'DATESET'
'O'.
PERFORM bdc_field USING 'PARAMETERS-PW_METHOD'
'2'.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_NONE'
c_x.
PERFORM bdc_field USING 'PARAMETERS-DATFM'
'2'.
PERFORM bdc_field USING 'PARAMETERS-DCPFM'
c_x.
PERFORM bdc_field USING 'PARAMETERS-TZONE'
'MST'.
*--for screen 0100.
PERFORM bdc_dynpro USING 'SAPLEHUS' '0100'.
*--local role
IF p1 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_LOCAL'.
ENDIF.
*--central role
IF p2 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_CENTRAL'.
ENDIF.
*--no role
IF p3 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_NONE'.
ENDIF.
*--ok code '=RASS'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=RASS'.
PERFORM bdc_field USING 'PARAMETERS-SELDAT'
v_date.
PERFORM bdc_field USING 'DATESET'
'O'.
PERFORM bdc_field USING 'PARAMETERS-PW_METHOD'
'2'.
*--local role
IF p1 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_LOCAL'
c_x.
ENDIF.
*--central role
IF p2 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_CENTRAL'
c_x.
ENDIF.
*--no role
IF p3 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_NONE'
c_x.
ENDIF.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_NONE'
''.
PERFORM bdc_field USING 'PARAMETERS-DATFM'
'2'.
PERFORM bdc_field USING 'PARAMETERS-DCPFM'
c_x.
PERFORM bdc_field USING 'PARAMETERS-TZONE'
'MST'.
*--for screen 0120.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'21/19'.
*--ok code '=PICK'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PICK'.
*--for screen 0100.
PERFORM bdc_dynpro USING 'SAPLEHUS' '0100'.
*--local role
IF p1 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_LOCAL'.
ENDIF.
*--central role
IF p2 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_CENTRAL'.
ENDIF.
*--no role.
IF p3 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_NONE'.
ENDIF.
*--ok code '=EXEC'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=EXEC'.
PERFORM bdc_field USING 'PARAMETERS-SELDAT'
v_date.
PERFORM bdc_field USING 'DATESET'
'O'.
PERFORM bdc_field USING 'PARAMETERS-PW_METHOD'
'2'.
*--local role
IF p1 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_LOCAL'
c_x.
ENDIF.
*--central role.
IF p2 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_CENTRAL'
c_x.
ENDIF.
*--no role.
IF p3 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_NONE'
c_x.
ENDIF.
PERFORM bdc_field USING 'PARAMETERS-ACTGROUP'
v_temp.
PERFORM bdc_field USING 'PARAMETERS-DATFM'
'2'.
PERFORM bdc_field USING 'PARAMETERS-DCPFM'
c_x.
PERFORM bdc_field USING 'PARAMETERS-TZONE'
'MST'.
*--for screen 1000.
PERFORM bdc_dynpro USING 'SAPLEHUS' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PARAMETERS-SELDAT'.
*--ok code '=PCOMP'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PCOMP'.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-WITH_ZBV'
c_x.
PERFORM bdc_field USING 'PARAMETERS-SELDAT'
v_date.
PERFORM bdc_field USING 'DATESET'
'O'.
*--For Personnel Number.
IF NOT pnppernr[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%165'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%165'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnppernr.
LOOP AT pnppernr.
*--to include single value.
IF pnppernr-sign = 'I' AND pnppernr-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnppernr-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnppernr.
LOOP AT pnppernr.
*--to include range.
IF pnppernr-sign = 'I' AND pnppernr-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-ILOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnppernr-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnppernr-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnppernr.
LOOP AT pnppernr.
*--to exclude single value.
IF pnppernr-sign = 'E' AND pnppernr-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnppernr-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnppernr.
LOOP AT pnppernr.
*--to exclude range.
IF pnppernr-sign = 'E' AND pnppernr-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnppernr-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnppernr-high.
ENDIF.
ENDLOOP.
ENDIF.
*--For Employee Status.
IF NOT pnpstat2[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%169'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%169'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnpstat2.
LOOP AT pnpstat2.
*--to include single value
IF pnpstat2-sign = 'I' AND pnpstat2-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnpstat2-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnpstat2.
LOOP AT pnpstat2.
*--to include range.
IF pnpstat2-sign = 'I' AND pnpstat2-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnpstat2-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnpstat2-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnpstat2.
LOOP AT pnpstat2.
*--to exclude single value.
IF pnpstat2-sign = 'E' AND pnpstat2-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnpstat2-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnpstat2.
LOOP AT pnpstat2.
*--to exclude range.
IF pnpstat2-sign = 'E' AND pnpstat2-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnpstat2-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnpstat2-high.
ENDIF.
ENDLOOP.
ENDIF.
*--For Company Code.
IF NOT pnpbukrs[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%171'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%171'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnpbukrs.
LOOP AT pnpbukrs.
*--to include single value.
IF pnpbukrs-sign = 'I' AND pnpbukrs-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnpbukrs-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnpbukrs.
LOOP AT pnpbukrs.
*--to include range.
IF pnpbukrs-sign = 'I' AND pnpbukrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnpbukrs-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnpbukrs-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnpbukrs.
LOOP AT pnpbukrs.
*--to exclude single value.
IF pnpbukrs-sign = 'E' AND pnpbukrs-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnpbukrs-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnpbukrs.
LOOP AT pnpbukrs.
*--to exclude range.
IF pnpbukrs-sign = 'E' AND pnpbukrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnpbukrs-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnpbukrs-high.
ENDIF.
ENDLOOP.
ENDIF.
*--For Payroll Area.
IF NOT pnpabkrs[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%179'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%179'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnpabkrs.
LOOP AT pnpabkrs.
*--to include single value.
IF pnpabkrs-sign = 'I' AND pnpabkrs-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnpabkrs-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnpabkrs.
LOOP AT pnpabkrs.
*--to include range.
IF pnpabkrs-sign = 'I' AND pnpabkrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnpabkrs-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnpabkrs-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnpabkrs.
LOOP AT pnpabkrs.
*--to exclude single value
IF pnpabkrs-sign = 'E' AND pnpabkrs-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnpabkrs-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnpabkrs.
LOOP AT pnpabkrs.
*--to exclude range.
IF pnpabkrs-sign = 'E' AND pnpabkrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnpabkrs-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnpabkrs-high.
ENDIF.
ENDLOOP.
ENDIF.
*--For Personnel Area/Subarea/Cost centre.
IF NOT pnpxbwbk[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%200'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnpxbwbk.
LOOP AT pnpxbwbk.
*--to include single value.
IF pnpxbwbk-sign = 'I' AND pnpxbwbk-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnpxbwbk-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnpxbwbk.
LOOP AT pnpabkrs.
*--to include range.
IF pnpabkrs-sign = 'I' AND pnpabkrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnpxbwbk-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnpxbwbk-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnpxbwbk.
LOOP AT pnpabkrs.
*--to exclude single value.
IF pnpabkrs-sign = 'E' AND pnpabkrs-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnpxbwbk-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnpxbwbk.
LOOP AT pnpabkrs.
*--to exclude range.
IF pnpabkrs-sign = 'E' AND pnpabkrs-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnpxbwbk-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnpxbwbk-high.
ENDIF.
ENDLOOP.
ENDIF.
*--For Employee Group/sub Group.
IF NOT pnpxpgpk[] IS INITIAL.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'PNPPERNR-LOW'.
*--ok code '=%202'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=%202'.
PERFORM bdc_field USING 'ALL'
c_x.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=INTL'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INTL'.
*--read table pnpxpgpk.
LOOP AT pnpxpgpk.
*--to include single value.
IF pnpxpgpk-sign = 'I' AND pnpxpgpk-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_I(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_I(01)'
pnpxpgpk-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOSV'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOSV'.
*--read table pnpxpgpk.
LOOP AT pnpxpgpk.
*--to include range.
IF pnpxpgpk-sign = 'I' AND pnpxpgpk-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_I(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_I(01)'
pnpxpgpk-low. "''.
PERFORM bdc_field USING 'RSCSEL-IHIGH_I(01)'
pnpxpgpk-high.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=NOINT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NOINT'.
*--read table pnpxpgpk.
LOOP AT pnpxpgpk.
*--to exclude single value.
IF pnpxpgpk-sign = 'E' AND pnpxpgpk-option = 'EQ'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-SLOW_E(01)'.
PERFORM bdc_field USING 'RSCSEL-SLOW_E(01)'
pnpxpgpk-low.
ENDIF.
ENDLOOP.
*--for screen 3000.
PERFORM bdc_dynpro USING 'SAPLALDB' '3000'.
*--ok code '=ACPT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACPT'.
*--read table pnpxpgpk.
LOOP AT pnpxpgpk.
*--to exclude range.
IF pnpxpgpk-sign = 'E' AND pnpxpgpk-option = 'BT'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RSCSEL-IHIGH_E(01)'.
PERFORM bdc_field USING 'RSCSEL-ILOW_E(01)'
pnpxpgpk-low.
PERFORM bdc_field USING 'RSCSEL-IHIGH_E(01)'
pnpxpgpk-high.
ENDIF.
ENDLOOP.
ENDIF.
*--for screen 1000.
PERFORM bdc_dynpro USING 'ESS_SEL_PERNR_VIA_PNP' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'NOUS'.
*--ok code '=ONLI'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ONLI'.
PERFORM bdc_field USING 'ALL'
''.
PERFORM bdc_field USING 'NOUS'
c_x.
*--for screen 1200.
PERFORM bdc_dynpro USING 'SAPLEHUS' '1200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'%#AUTOTEXT020'.
*--ok code '=LISTN'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=LISTN'.
*--for screen 0120.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'04/02'.
*--ok code '=MRKA'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MRKA'.
*--for screen 0120.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'04/02'.
*--ok code '=INSAUTH'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=INSAUTH'.
*--for screen 0100.
PERFORM bdc_dynpro USING 'SAPLEHUS' '0100'.
*--local role
IF p1 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_LOCAL'.
ENDIF.
*--Central Role
IF p2 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_CENTRAL'.
ENDIF.
*--no role.
IF p3 = c_x.
PERFORM bdc_field USING 'BDC_CURSOR'
'HRUSER_DYNFIELDS-ROLE_NONE'.
ENDIF.
*--ok code '=EXEC'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=EXEC'.
PERFORM bdc_field USING 'PARAMETERS-PW_METHOD'
'2'.
*--local role.
IF p1 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_LOCAL'
c_x.
ENDIF.
*--central role.
IF p2 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_CENTRAL'
c_x.
ENDIF.
*--no role.
IF p3 = c_x.
PERFORM bdc_field USING 'HRUSER_DYNFIELDS-ROLE_NONE'
c_x.
ENDIF.
PERFORM bdc_field USING 'PARAMETERS-DATFM'
'2'.
PERFORM bdc_field USING 'PARAMETERS-DCPFM'
c_x.
PERFORM bdc_field USING 'PARAMETERS-TZONE'
'MST'.
*--includes Call transaction
PERFORM bdc_transaction USING hruser.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |