22
FUNCTION ZHR_TRIGGER_HR_ACTIONS. *"---------------------------------------------------------------------- *"*"Local interface: *" IMPORTING *" VALUE(QMNUM) TYPE VIQMEL-QMNUM *" TABLES *" ERROR_TABLE STRUCTURE BAPIRET2 *" EXCEPTIONS *" ACTION_FAILED *" POSITION_CREATION_FAILED *" ORG_MGMT_RELATIONSHIP_FAILED *" INFOTYPE_CREATED_FAILED *"----------------------------------------------------------------------  CHECK NOT QMNUM IS INITIAL.  V_QMNUM = QMNUM.  PERFORM READ_PCR_FORM.  PERFORM MOVE_PCR_DATA_TO_INT_TAB LE. ***** WRITE:/ PCR_FORM_DATA.  BDC_BATCH_SESSION = ' '. * BDC_BATCH_SESSION = 'X'.  GROUP = ' '.  BDC_SCREEN_DISPLAY = 'N'. "do not display dynpro * BDC_SCREEN_DISPLAY ='E'. "do not display dynpro  USER = SY-UNAME.  BDC_SYNC_ASYNC_UPDATE = 'L'.  KEEP_BDC_SESSION = 'X'.  NODATA = '/'.  BDC_LOG = ' '. ***** LOCK_BDC_SESSION = SY-DATUM. IF BDC_BATCH_SESSION = 'X'.  E_GROUP = 'ZHR_ACTIONS'.  GROUP = 'ZHR_ACTIONS'.  PERFORM OPEN_GROUP.  ENDIF.  clear V_EFF_DATE_NEW.  CONCATENATE PCR_FORM_DATA-EFF_DATE_NEW+4(2) '/'  PCR_FORM_DATA-EFF_DATE_NEW+6(2) '/'  PCR_FORM_DATA-EFF_DATE_NEW(4)  into V_EFF_DATE_NEW. *------ Hardcode Values ---------------  PCR_FORM_DATA-PLANS_NEW = '10016767'.  PCR_FORM_DATA-STELL_curr = '10006832'.  PCR_FORM_DATA-STELL_NEW = '10006832'.  IF PCR_FORM_DATA-BTRTL_NEW(2) NE 'US'.  PCR_FORM_DATA-TRFGB_NE W = 'ZB'.  ENDIF. *------  PERFORM EXECUTE_HR_ACTION.  IF BDC_BATCH_SESSION = 'X'.

Zhr Trigger Hr Actions

Embed Size (px)

DESCRIPTION

bdc session

Citation preview

Page 1: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 1/22

FUNCTION ZHR_TRIGGER_HR_ACTIONS.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(QMNUM) TYPE VIQMEL-QMNUM*" TABLES*" ERROR_TABLE STRUCTURE BAPIRET2*" EXCEPTIONS*" ACTION_FAILED*" POSITION_CREATION_FAILED*" ORG_MGMT_RELATIONSHIP_FAILED*" INFOTYPE_CREATED_FAILED*"----------------------------------------------------------------------

  CHECK NOT QMNUM IS INITIAL.  V_QMNUM = QMNUM.

  PERFORM READ_PCR_FORM.

  PERFORM MOVE_PCR_DATA_TO_INT_TABLE.

***** WRITE:/ PCR_FORM_DATA.

  BDC_BATCH_SESSION = ' '.

* BDC_BATCH_SESSION = 'X'.  GROUP = ' '.  BDC_SCREEN_DISPLAY = 'N'. "do not display dynpro* BDC_SCREEN_DISPLAY ='E'. "do not display dynpro  USER = SY-UNAME.  BDC_SYNC_ASYNC_UPDATE = 'L'.  KEEP_BDC_SESSION = 'X'.  NODATA = '/'.  BDC_LOG = ' '.

***** LOCK_BDC_SESSION = SY-DATUM.

  IF BDC_BATCH_SESSION = 'X'.

  E_GROUP = 'ZHR_ACTIONS'.  GROUP = 'ZHR_ACTIONS'.  PERFORM OPEN_GROUP.  ENDIF.

  clear V_EFF_DATE_NEW.  CONCATENATE PCR_FORM_DATA-EFF_DATE_NEW+4(2) '/'  PCR_FORM_DATA-EFF_DATE_NEW+6(2) '/'  PCR_FORM_DATA-EFF_DATE_NEW(4)  into V_EFF_DATE_NEW.

*------ Hardcode Values ---------------  PCR_FORM_DATA-PLANS_NEW = '10016767'.

  PCR_FORM_DATA-STELL_curr = '10006832'.  PCR_FORM_DATA-STELL_NEW = '10006832'.  IF PCR_FORM_DATA-BTRTL_NEW(2) NE 'US'.  PCR_FORM_DATA-TRFGB_NEW = 'ZB'.  ENDIF.*------

  PERFORM EXECUTE_HR_ACTION.

  IF BDC_BATCH_SESSION = 'X'.

Page 2: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 2/22

  PERFORM CLOSE_GROUP.  ENDIF.  ERROR_TABLE[] = GT_ERROR_TABLE[].

ENDFUNCTION.

*---------------------------------------------------------------------** READ PCR FORM*---------------------------------------------------------------------*FORM READ_PCR_FORM.

  object-key-number = V_QMNUM.

  CALL FUNCTION 'ISR_SPECIAL_DATA_GET'  EXPORTING  notification_no = object-key-number  IMPORTING  SCENARIO = SCENARIO  SPECIAL_DATA = lt_special_data  EXCEPTIONS  NO_INTERNAL_SERVICE_REQUEST = 1  INVALID_NOTIF_NUMBER = 2  INT_SERVICE_REQUEST_NOT_FOUND = 3  OTHERS = 4.

  if sy-subrc ne 0.  message e050(hrwpc_pcr).  raise ACTION_FAILED.  endif.

ENDFORM.

*---------------------------------------------------------------------** MOVE PCR DATA TO INTERNAL TABLE*---------------------------------------------------------------------*FORM MOVE_PCR_DATA_TO_INT_TABLE.

* fill special data fields  CLEAR : v_field_name, v_field_data, PCR_FORM_DATA.

  v_field_name = 'PERNR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-pernr = V_FIELD_DATA.  ENDIF.*  v_field_name = 'ORGEH_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-ORGEH_CURR = V_FIELD_DATA.

  ENDIF.*  v_field_name = 'ORGEH'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-ORGEH_new = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'EFF_DATE_CURR'.

Page 3: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 3/22

  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-EFF_DATE_CURR = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'EFF_DATE'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-EFF_DATE_new = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'MASSN_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-MASSN_CURR = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'MASSN'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-MASSN_NEW = V_FIELD_DATA.

  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'MASSG_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-MASSG_CURR = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'MASSG'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.

  PCR_FORM_DATA-MASSG_new = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'PERSG_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-persg_CURR = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'PERSG_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.

  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-persg_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'PERSK_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-PERSK_CURR = V_FIELD_DATA.  ENDIF.

Page 4: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 4/22

*  CLEAR : v_field_name, v_field_data.  v_field_name = 'PERSK_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-PERSK_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'BTRTL_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-BTRTL_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'GSBER'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-GSBER_new = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'KOSTL_NEW'.

  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-KOSTL_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'VDSK1_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-VDSK1_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.

  v_field_name = 'ABKRS_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-ABKRS_NEW = V_FIELD_DATA.  ENDIF.*  CLEAR : v_field_name, v_field_data.  v_field_name = 'WERKS_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-WERKS_NEW = V_FIELD_DATA.  ENDIF.*

  CLEAR : v_field_name, v_field_data.  v_field_name = 'PLANS_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  IF NOT V_FIELD_DATA IS INITIAL.  PCR_FORM_DATA-PLANS_CURR = V_FIELD_DATA.  ENDIF.

  CLEAR : v_field_name, v_field_data.  v_field_name = 'PLANS_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.

Page 5: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 5/22

Page 6: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 6/22

  PCR_FORM_DATA-TRFAR_CURR = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'TRFAR_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-TRFAR_NEW = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'TRFGB_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-TRFGB_CURR = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'TRFGB_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-TRFGB_NEW = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'TRFGR_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-TRFGR_CURR = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'TRFGR_NEW'.

  perform get_pcr_form_data using v_field_name v_field_data.  IF PCR_FORM_DATA-TRFGR_NEW IS INITIAL.  PCR_FORM_DATA-TRFGR_NEW = ls_special_data-fieldvalue.  ENDIF.*  CLEAR ls_special_data.  v_field_name = 'ANSVH_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-ANSVH_NEW = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'BSGRD_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.

  PCR_FORM_DATA-BSGRD_NEW = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'DIVGV_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-DIVGV_NEW = ls_special_data-fieldvalue.*  CLEAR ls_special_data.  v_field_name = 'ANCUR_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  PCR_FORM_DATA-ANCUR_NEW = ls_special_data-fieldvalue.  PCR_FORM_DATA-WAERS_NEW = ls_special_data-fieldvalue.*

  CLEAR : ls_special_data, v_betrg.  v_field_name = 'BETRG_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-BETRG_NEW.

  IF PCR_FORM_DATA-LGART_NEW IS INITIAL.  IF PCR_FORM_DATA-PERSK_NEW = 'U1' OR  PCR_FORM_DATA-PERSK_NEW = 'U3' OR  PCR_FORM_DATA-PERSK_NEW = 'U5'.  PCR_FORM_DATA-LGART_NEW = '1002'.

Page 7: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 7/22

  ELSE.  PCR_FORM_DATA-LGART_NEW = '1001'.  ENDIF.  ENDIF.

*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WSRULE_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-WSRULE_CURR.*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WSRULE_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-WSRULE_NEW.*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WKWDY_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-WKWDY_CURR.*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WKWDY_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.

  write v_field_data left-justified to PCR_FORM_DATA-WKWDY_NEW.*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WRKHR_CURR'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-WRKHR_CURR.*  CLEAR : ls_special_data, v_betrg.  v_field_name = 'WRKHR_NEW'.  perform get_pcr_form_data using v_field_name v_field_data.  write v_field_data left-justified to PCR_FORM_DATA-WRKHR_NEW.

ENDFORM.

*---------------------------------------------------------------------** Get_PCR_Form_data.*---------------------------------------------------------------------*FORM get_pcr_form_data using v_field_name v_field_data.

  CLEAR ls_special_data.  read table lt_special_data into ls_special_data  with key fieldname = v_field_name.  v_field_data = ls_special_data-fieldvalue.

ENDFORM.

*---------------------------------------------------------------------** TRIGGER PA40 ACTION.*---------------------------------------------------------------------*FORM TRIGGER_PA40_ACTION.

ENDFORM.

*---------------------------------------------------------------------** FORM EXECUTE_BDC_IN_FOREGROUND *

Page 8: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 8/22

*---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_POSITION.*** BDC SESSION TO CREATE NEW POSITION ******************************  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-INFTY'.  perform bdc_field using 'BDC_OKCODE'  '=INSE'.  perform bdc_field using 'PPHDR-PLVAR'  '01'.  perform bdc_field using 'PPHDR-OTYPE'  'S'.  perform bdc_field using 'PM0D1-SEARK'  '00000000'.  perform bdc_field using 'PPHDR-INFTY'  '1000'.  perform bdc_field using 'PPHDR-ISTAT'  '1'.  perform bdc_field using 'PPHDR-BEGDA'  V_EFF_DATE_NEW.* '04/18/2006'.

  perform bdc_field using 'PPHDR-ENDDA'  '12/31/9999'.

* TIME_STAMP-pernr = PCR_FORM_DATA-pernr.  GET TIME STAMP FIELD DATE_time_stamp.  MOVE DATE_time_stamp TO TIME_STAMP-TIME_STAMP.  CONDENSE TIME_STAMP.

  perform bdc_dynpro using 'MP100000' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P1000-STEXT'.  perform bdc_field using 'BDC_OKCODE'

  '=UPD'.  perform bdc_field using 'P1000-BEGDA'  V_EFF_DATE_NEW.* '04/18/2006'.  perform bdc_field using 'P1000-ENDDA'  '12/31/9999'.  perform bdc_field using 'P1000-SHORT'  PCR_FORM_DATA-SHORT_NEW.* 'Eng V Test'.  perform bdc_field using 'P1000-STEXT'  TIME_STAMP.* '12345678901234567890'.

  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-PLVAR'.  perform bdc_field using 'BDC_OKCODE'  '=BACK'.

  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-PLVAR'.  perform bdc_field using 'BDC_OKCODE'

Page 9: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 9/22

  '=BACK'.

  perform bdc_transaction using 'PP02'.

  SELECT SINGLE * from HRP1000  WHERE STEXT = TIME_STAMP.  IF SY-SUBRC = 0.  CLEAR : HRP1000-STEXT, HRP1000-MC_STEXT, HRP1000-MC_SEARK,  V_MC_SEARK.  CONCATENATE PCR_FORM_DATA-SHORT_NEW HRP1000-REASN  PCR_FORM_DATA-STEXT_NEW INTO V_MC_SEARK.  UPDATE hrp1000  SET : STEXT = PCR_FORM_DATA-SHORT_NEW  MC_STEXT = PCR_FORM_DATA-SHORT_NEW  MC_SEARK = V_MC_SEARK  WHERE otype = 'S'  AND objid = HRP1000-objid.  PCR_FORM_DATA-PLANS_NEW = HRP1000-objid.  WRITE:/ 'CREATED NEW POSITION: ', PCR_FORM_DATA-PLANS_NEW.

* ---- DELIMIT EXISTING POSITION  CLEAR HRP1000_REC.  SELECT SINGLE * FROM HRP1000  WHERE PLVAR = '01'

  AND OTYPE = 'S'  AND OBJID = PCR_FORM_DATA-PLANS_CURR  AND ENDDA = '99991231'.  IF SY-SUBRC EQ 0.  HRP1000_REC = HRP1000.  DELETE FROM HRP1000  WHERE PLVAR = '01'  AND OTYPE = 'S'  AND OBJID = PCR_FORM_DATA-PLANS_CURR  AND ENDDA = '99991231'.  IF SY-SUBRC EQ 0.  HRP1000_REC-ENDDA = SY-DATUM.  INSERT INTO HRP1000 VALUES HRP1000_REC.

  WRITE:/ 'DELIMITED OLD POSITION: ', PCR_FORM_DATA-PLANS_CURR.  ENDIF.  ENDIF.  ELSE.  WRITE:/ 'POSITION NOT CREATED '.  ENDIF.  SKIP 1.ENDFORM.

*---------------------------------------------------------------------** FORM POSITION_RELATIONSHIP **---------------------------------------------------------------------** ........ *

*---------------------------------------------------------------------*FORM POSITION_RELATIONSHIP.

* POSITION Belongs To Org. Unit** Relationship Type: A 003 (BELONG TO ORG.UNIT)* Type of related Object: Organizational Unit* ID of related Object: 10007354* ENTER & SAVE*

Page 10: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 10/22

* Relationship Type: A 008 (Holder)* Type of related Object: Person* ID of related Object: 00003705** Relationship Type: B 007 (Is described by)* Type of related Object: JOB* ID of related Object: 10003938**-- POSITION linked to ORG.UNIT**-----------PP02 MAIN SCREEN  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-INFTY'.  perform bdc_field using 'BDC_OKCODE'  '=INSE'.  perform bdc_field using 'PPHDR-PLVAR'  '01'.  perform bdc_field using 'PPHDR-OTYPE'  'S'.  perform bdc_field using 'PM0D1-SEARK'  PCR_FORM_DATA-PLANS_NEW.  perform bdc_field using 'PPHDR-INFTY'  '1001'.

  perform bdc_field using 'PPHDR-ISTAT'  '1'.  perform bdc_field using 'PPHDR-BEGDA'  V_EFF_DATE_NEW.  perform bdc_field using 'PPHDR-ENDDA'  '12/31/9999'.

*-----------PP02 LINK SCREEN* LINK POSITION TO ORG. UNIT  perform bdc_dynpro using 'MP100100' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P1001-SOBID'.  perform bdc_field using 'BDC_OKCODE'

  '=UPD'.  perform bdc_field using 'P1001-BEGDA'  V_EFF_DATE_NEW.  perform bdc_field using 'P1001-ENDDA'  '12/31/9999'.  perform bdc_field using 'P1001-RSIGN'  'A'.  perform bdc_field using 'P1001-RELAT'  '003'.  perform bdc_field using 'P1001-SCLAS'  'O'.  perform bdc_field using 'P1001-SOBID'  PCR_FORM_DATA-ORGEH_NEW.

*-----------PP02 MAIN SCREEN - FOR SECOND LINK  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-PLVAR'.  perform bdc_field using 'BDC_OKCODE'  '=INSE'.  perform bdc_field using 'PPHDR-PLVAR'  '01'.  perform bdc_field using 'PPHDR-OTYPE'

Page 11: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 11/22

  'S'.  perform bdc_field using 'PM0D1-SEARK'  PCR_FORM_DATA-PLANS_NEW.  perform bdc_field using 'PPHDR-INFTY'  '1001'.  perform bdc_field using 'PPHDR-ISTAT'  '1'.  perform bdc_field using 'PPHDR-BEGDA'  V_EFF_DATE_NEW.  perform bdc_field using 'PPHDR-ENDDA'  '12/31/9999'.

*-----------PP02 LINK SCREEN* LINK POSITION TO JOB  perform bdc_dynpro using 'MP100100' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P1001-SOBID'.  perform bdc_field using 'BDC_OKCODE'  '=UPD'.  perform bdc_field using 'P1001-BEGDA'  V_EFF_DATE_NEW.  perform bdc_field using 'P1001-ENDDA'  '12/31/9999'.  perform bdc_field using 'P1001-RSIGN'

  'B'.  perform bdc_field using 'P1001-RELAT'  '007'.  perform bdc_field using 'P1001-SCLAS'  'C'.  perform bdc_field using 'P1001-SOBID'  PCR_FORM_DATA-STELL_NEW.

*-----------PP02 MAIN SCREEN - FOR THIRD LINK  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-PLVAR'.  perform bdc_field using 'BDC_OKCODE'

  '=INSE'.  perform bdc_field using 'PPHDR-PLVAR'  '01'.  perform bdc_field using 'PPHDR-OTYPE'  'S'.  perform bdc_field using 'PM0D1-SEARK'  PCR_FORM_DATA-PLANS_NEW.  perform bdc_field using 'PPHDR-INFTY'  '1001'.  perform bdc_field using 'PPHDR-ISTAT'  '1'.  perform bdc_field using 'PPHDR-BEGDA'  V_EFF_DATE_NEW.

  perform bdc_field using 'PPHDR-ENDDA'  '12/31/9999'.

*-----------PP02 LINK SCREEN* LINK POSITION TO EMPLOYEE  perform bdc_dynpro using 'MP100100' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P1001-SOBID'.  perform bdc_field using 'BDC_OKCODE'  '=UPD'.

Page 12: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 12/22

  perform bdc_field using 'P1001-BEGDA'  V_EFF_DATE_NEW.  perform bdc_field using 'P1001-ENDDA'  '12/31/9999'.  perform bdc_field using 'P1001-RSIGN'  'A'.  perform bdc_field using 'P1001-RELAT'  '008'.  perform bdc_field using 'P1001-SCLAS'  'P'.  perform bdc_field using 'P1001-SOBID'  PCR_FORM_DATA-PERNR.

*--OUT OF MAIN SCREEN.  perform bdc_dynpro using 'SAPMH5A0' '1000'.  perform bdc_field using 'BDC_CURSOR'  'PPHDR-PLVAR'.  perform bdc_field using 'BDC_OKCODE'  '=BACK'.

  perform bdc_transaction using 'PP02'.

ENDFORM.

*---------------------------------------------------------------------** FORM EXECUTE_HR_ACTION **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM EXECUTE_HR_ACTION.**** BDC SESSION TO EXECUTE PA40 CHANGE OF POSITION ACTION ***************  PCR_FORM_DATA-EFF_DATE_NEW = V_EFF_DATE_NEW.

* If Change in POSITION then create new POSITION  IF PCR_FORM_DATA-STELL_curr NE PCR_FORM_DATA-STELL_new.  PERFORM CREATE_POSITION. "-Create new and Delimit old

  PERFORM POSITION_RELATIONSHIP. "-Build relationship between objects.  ENDIF.

  perform bdc_dynpro using 'SAPMP50A' '2000'.  perform bdc_field using 'BDC_CURSOR' 'T529T-MNTXT(09)'.  perform bdc_field using 'BDC_OKCODE' '=PICK'.  perform bdc_field using 'RP50G-PERNR' PCR_FORM_DATA-PERNR.  perform bdc_field using 'RP50G-EINDA' PCR_FORM_DATA-EFF_DATE_NEW  .  perform bdc_field using 'RP50G-SELEC(09)' 'X'.

  CASE SCENARIO.

  WHEN 'ZADJ'. "--Adjustment  WRITE:/ 'HR ACTION: --ADJUSTMENT--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZDEM'. "--Demotion

Page 13: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 13/22

  WRITE:/ 'HR ACTION: --DEMOTION--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZDTD'. "--Transfer Employee to New Manager  WRITE:/ 'HR ACTION: --TRANSFER EMPLOYEE TO NEW MANAGER--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008_SKIP.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZDTR'. "--Domestic Transfer  WRITE:/ 'HR ACTION: --DOMESTIC TRANSFER--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008_SKIP.

  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZINT'. "--Change Location or Cost Center  WRITE:/ 'HR ACTION: --CHANGE LOCATION/COST CENTER ACTION--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008_SKIP.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZITR'. "--Transfer Employee - International  WRITE:/ 'HR ACTION: --TRANSFER EMPLOYEE - INTERNATIONAL--'.

  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008_SKIP.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZMRT'. "--Merit Increase  WRITE:/ 'HR ACTION: --MERIT INCREASE--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.

  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZPCR'. "--Change Employee Position  WRITE:/ 'HR ACTION: --CHANGE OF EMPLOYEE POSTION--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.

Page 14: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 14/22

  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZPOS'. "--Position / Compensation Change  WRITE:/ 'HR ACTION: --POSITION / COMPENSATION CHANGE--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZPRO'. "--Promotion  WRITE:/ 'HR ACTION: --PROMOTION--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZPSP'. "--Request for Special Payment  WRITE:/ 'HR ACTION: --REQUEST FOR SPECIAL PAYMENT--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.

  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZPTR'. "--Transfer Employee - Domestic  WRITE:/ 'HR ACTION: --TRANSFER EMPLOYEE - DOMESTIC--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008_SKIP.  PERFORM CREATE_INFOTYPE_0025_SKIP.

  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZRCL'. "--Reclassification  WRITE:/ 'HR ACTION: --TRANSFER EMPLOYEE - DOMESTIC--'.  PERFORM CREATE_INFOTYPE_0000. "-Create Infotype 0000 Actions.  PERFORM CREATE_INFOTYPE_0001_SKIP.  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.  WHEN 'ZSRI'. "--Request for Position Change  WRITE:/ 'HR ACTION: --REQUEST FOR POSTION CHANGE--'.  PERFORM CREATE_INFOTYPE_0001_SKIP.

  PERFORM CREATE_INFOTYPE_0007_SKIP.  PERFORM CREATE_INFOTYPE_0315_SKIP.  PERFORM CREATE_INFOTYPE_0008.  PERFORM CREATE_INFOTYPE_0025_SKIP.  PERFORM CREATE_INFOTYPE_0168_SKIP.

  ENDCASE.

  SKIP 1.  WRITE:/ ' EMPLOYEE#: ', PCR_FORM_DATA-PERNR.

Page 15: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 15/22

  WRITE:/ ' EFFECTIVE DATE: ', PCR_FORM_DATA-EFF_DATE_NEW.  WRITE:/ ' POSITION : ', PCR_FORM_DATA-PLANS_NEW.  WRITE:/ ' JOB : ', PCR_FORM_DATA-STELL_NEW.  WRITE:/ ' ORG. UNIT : ', PCR_FORM_DATA-ORGEH_NEW.  WRITE:/ ' COST CENTER : ', PCR_FORM_DATA-KOSTL_NEW.  WRITE:/ ' ANNUAL SALARY : ', PCR_FORM_DATA-betrg_new.  SKIP 1.

  perform bdc_field using 'BDC_CURSOR'  'RP50G-PERNR'.  perform bdc_transaction using 'PA40'.

ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0000 **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0000.

  perform bdc_dynpro using 'MP000000' '2000'.  perform bdc_field using 'BDC_CURSOR'

  'PSPAR-PLANS'.  perform bdc_field using 'BDC_OKCODE'  '=UPD'.  perform bdc_field using 'P0000-BEGDA'  PCR_FORM_DATA-EFF_DATE_NEW.  perform bdc_field using 'P0000-MASSN'  PCR_FORM_DATA-MASSN_NEW.  perform bdc_field using 'P0000-MASSG'  PCR_FORM_DATA-MASSG_NEW.  perform bdc_field using 'PSPAR-PLANS'  PCR_FORM_DATA-PLANS_NEW.  perform bdc_field using 'PSPAR-WERKS'  PCR_FORM_DATA-WERKS_NEW.

  perform bdc_field using 'PSPAR-PERSG'  PCR_FORM_DATA-PERSG_NEW.  perform bdc_field using 'PSPAR-PERSK'  PCR_FORM_DATA-PERSK_NEW.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0001 **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0001.

  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'  PCR_FORM_DATA-EFF_DATE_NEW.  perform bdc_field using 'P0001-ENDDA'  '12/31/9999'.  perform bdc_field using 'P0001-BTRTL'

Page 16: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 16/22

  PCR_FORM_DATA-BTRTL_NEW.  perform bdc_field using 'P0001-KOSTL'  PCR_FORM_DATA-KOSTL_NEW.  perform bdc_field using 'P0001-GSBER'  PCR_FORM_DATA-GSBER_NEW.  perform bdc_field using 'P0001-ABKRS'  PCR_FORM_DATA-ABKRS_NEW.  perform bdc_field using 'P0001-ANSVH'  PCR_FORM_DATA-ANSVH_NEW.  perform bdc_field using 'P0001-PLANS'  PCR_FORM_DATA-PLANS_NEW.  perform bdc_field using 'P0001-STELL'  PCR_FORM_DATA-STELL_NEW.  perform bdc_field using 'P0001-ORGEH'  PCR_FORM_DATA-ORGEH_NEW.  perform bdc_field using 'P0001-VDSK1'  PCR_FORM_DATA-VDSK1_NEW.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0001_SKIP **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*

FORM CREATE_INFOTYPE_0001_SKIP.

  perform bdc_dynpro using 'MP000100' '2010'.  perform bdc_field using 'BDC_CURSOR'  'P0001-BEGDA'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0007 **---------------------------------------------------------------------** ........ *

*---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0007.

  perform bdc_dynpro using 'MP000700' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P0007-BEGDA'.  perform bdc_field using 'BDC_OKCODE'  '=UPD'.  perform bdc_field using 'P0007-BEGDA'  PCR_FORM_DATA-EFF_DATE_NEW.  perform bdc_field using 'P0007-ENDDA'  '12/31/9999'.  perform bdc_field using 'P0007-SCHKZ'

  PCR_FORM_DATA-WSRULE_NEW.  perform bdc_field using 'P0007-ZTERF'  PCR_FORM_DATA-ZTERF_NEW.  perform bdc_field using 'P0007-WWEEK'  PCR_FORM_DATA-WWEEK_NEW.  perform bdc_field using 'P0007-EMPCT'  PCR_FORM_DATA-EMPCT_NEW.  perform bdc_field using 'P0007-WOSTD'  PCR_FORM_DATA-WOSTD_NEW.  perform bdc_field using 'P0007-WKWDY'

Page 17: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 17/22

  PCR_FORM_DATA-WKWDY_NEW.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0007_SKIP **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0007_SKIP.

  perform bdc_dynpro using 'MP000700' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P0007-BEGDA'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0008 **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0008.

  PCR_FORM_DATA-TRFST_NEW = '01'.

  perform bdc_dynpro using 'MP000800' '2010'.  perform bdc_field using 'BDC_OKCODE'  '/11'.  perform bdc_field using 'BDC_CURSOR'  'P0008-BEGDA'.  perform bdc_field using 'P0008-BEGDA'  PCR_FORM_DATA-EFF_DATE_NEW.  perform bdc_field using 'P0008-ENDDA'  '12/31/9999'.  perform bdc_field using 'P0008-PREAS'  PCR_FORM_DATA-PREAS_NEW.

  perform bdc_field using 'P0008-BSGRD'  PCR_FORM_DATA-BSGRD_NEW.  perform bdc_field using 'P0008-TRFAR'  PCR_FORM_DATA-TRFAR_NEW.  perform bdc_field using 'P0008-DIVGV'  PCR_FORM_DATA-DIVGV_NEW.  perform bdc_field using 'P0008-TRFGB'  PCR_FORM_DATA-TRFGB_NEW.  perform bdc_field using 'P0008-TRFGR'  PCR_FORM_DATA-TRFGR_NEW.  perform bdc_field using 'P0008-TRFST'  PCR_FORM_DATA-TRFST_NEW.  perform bdc_field using 'Q0008-ANSAL'

  PCR_FORM_DATA-betrg_new.  perform bdc_field using 'P0008-ANCUR'  PCR_FORM_DATA-ANCUR_NEW.  perform bdc_field using 'Q0008-IBBEG'  PCR_FORM_DATA-EFF_DATE_NEW.  perform bdc_field using 'P0008-WAERS'  PCR_FORM_DATA-WAERS_NEW.* perform bdc_field using 'Q0008-lgart(1)'* PCR_FORM_DATA-LGART_NEW.* perform bdc_field using 'Q0008-betrg(1)'

Page 18: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 18/22

* PCR_FORM_DATA-LGART_NEW.* perform bdc_field using 'Q0008-lgart(2)'* PCR_FORM_DATA-LGART_NEW.* perform bdc_field using 'Q0008-betrg(2)'* PCR_FORM_DATA-LGART_NEW.

ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0008_SKIP **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0008_SKIP.

  perform bdc_dynpro using 'MP000800' '2010'.  perform bdc_field using 'BDC_CURSOR'  'P0008-BEGDA'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0025_SKIP *

*---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0025_SKIP.

  perform bdc_dynpro using 'MP002500' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P0025-BEGDA'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.ENDFORM.

*---------------------------------------------------------------------*

* FORM CREATE_INFOTYPE_0168_SKIP **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0168_SKIP.

  perform bdc_dynpro using 'MP016800' '2000'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.

  perform bdc_field using 'BDC_CURSOR'  'P0168-BEGDA'.  perform bdc_dynpro using 'MP016800' '2000'.

  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.

  perform bdc_field using 'BDC_CURSOR'  'P0168-BEGDA'.  perform bdc_dynpro using 'MP016800' '2000'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.

  perform bdc_field using 'BDC_CURSOR'

Page 19: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 19/22

  'P0168-BEGDA'.  perform bdc_dynpro using 'MP016800' '2000'.  perform bdc_field using 'BDC_OKCODE'  '/ENXT'.

  perform bdc_field using 'BDC_CURSOR'  'P0168-BEGDA'.

  perform bdc_dynpro using 'SAPMP50A' '2000'.  perform bdc_field using 'BDC_OKCODE'  '/EBCK'.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_INFOTYPE_0315_SKIP **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_INFOTYPE_0315_SKIP.

  perform bdc_dynpro using 'MP031500' '2000'.  perform bdc_field using 'BDC_CURSOR'  'P0315-BEGDA'.  perform bdc_field using 'BDC_OKCODE'

  '/ENXT'.ENDFORM.

*----------------------------------------------------------------------** Start new transaction according to parameters **----------------------------------------------------------------------*FORM BDC_TRANSACTION USING TCODE.  DATA: L_MSTRING(480).  DATA: L_SUBRC LIKE SY-SUBRC.* batch input session  IF BDC_BATCH_SESSION = 'X'.  CALL FUNCTION 'BDC_INSERT'  EXPORTING

  TCODE = TCODE  TABLES  DYNPROTAB = BDCDATA.  IF BDC_LOG <> 'X'.  WRITE: / 'BDC_INSERT'(I03),  TCODE,  'returncode:'(I05),  SY-SUBRC,  'RECORD:',  SY-INDEX.  ENDIF.* call transaction using  ELSE.

  REFRESH MESSTAB.  CALL TRANSACTION TCODE USING BDCDATA  MODE BDC_SCREEN_DISPLAY  UPDATE BDC_SYNC_ASYNC_UPDATE  MESSAGES INTO MESSTAB.  L_SUBRC = SY-SUBRC.  IF BDC_LOG <> 'X'.  WRITE: / 'CALL_TRANSACTION',  TCODE,  'returncode:'(I05),

Page 20: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 20/22

  L_SUBRC,  'RECORD:',  SY-INDEX.  LOOP AT MESSTAB.  SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA  AND ARBGB = MESSTAB-MSGID  AND MSGNR = MESSTAB-MSGNR.  IF SY-SUBRC = 0.  L_MSTRING = T100-TEXT.  IF L_MSTRING CS '&1'.  REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.  REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.  REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.  REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.  ELSE.  REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.  REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.  REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.  REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.  ENDIF.  CONDENSE L_MSTRING.  WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).  ELSE.  WRITE: / MESSTAB.

  ENDIF.  GT_ERROR_TABLE-MESSAGE = L_MSTRING .  append GT_ERROR_TABLE.

  IF MESSTAB-MSGTYP = 'E'.  PERFORM CREATE_BDC_ERROR_SESSION USING TCODE.  CASE TCODE.  WHEN 'PP02'.  RAISE POSITION_CREATION_FAILED.  WHEN 'PA40'.  RAISE ACTION_FAILED.  ENDCASE.  ENDIF.

  ENDLOOP.  SKIP.  ENDIF.  ENDIF.  REFRESH BDCDATA.ENDFORM.

*---------------------------------------------------------------------** FORM CREATE_BDC_ERROR_SESSION **---------------------------------------------------------------------** ........ **---------------------------------------------------------------------*FORM CREATE_BDC_ERROR_SESSION using TCODE.

  E_GROUP = 'ZHR_ACTIONS_ERRORS'.  E_HDATE = SY-DATUM.  E_USER = SY-UNAME.  E_KEEP = 'X'.

* IF L_SUBRC <> 0 AND E_GROUP <> SPACE.  IF E_GROUP_OPENED = ' '.  CALL FUNCTION 'BDC_OPEN_GROUP'  EXPORTING

Page 21: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 21/22

  CLIENT = SY-MANDT  GROUP = E_GROUP  USER = E_USER  KEEP = E_KEEP.* HOLDDATE = E_HDATE.  E_GROUP_OPENED = 'X'.  ENDIF.  CALL FUNCTION 'BDC_INSERT'  EXPORTING  TCODE = TCODE  TABLES  DYNPROTAB = BDCDATA.* ENDIF.ENDFORM.

*----------------------------------------------------------------------** Start new screen **----------------------------------------------------------------------*FORM BDC_DYNPRO USING PROGRAM DYNPRO.  CLEAR BDCDATA.  BDCDATA-PROGRAM = PROGRAM.  BDCDATA-DYNPRO = DYNPRO.  BDCDATA-DYNBEGIN = 'X'.  APPEND BDCDATA.

ENDFORM.

*----------------------------------------------------------------------** Insert field **----------------------------------------------------------------------*FORM BDC_FIELD USING FNAM FVAL.  IF FVAL <> NODATA.  CLEAR BDCDATA.  BDCDATA-FNAM = FNAM.  BDCDATA-FVAL = FVAL.  APPEND BDCDATA.  ENDIF.ENDFORM.

*----------------------------------------------------------------------** create batchinput session ** (not for call transaction using...) **----------------------------------------------------------------------*FORM OPEN_GROUP.

  IF BDC_BATCH_SESSION = 'X'.  SKIP.  WRITE: /(20) 'Create group'(I01), GROUP.  SKIP.* open batchinput group  CALL FUNCTION 'BDC_OPEN_GROUP'

  EXPORTING  CLIENT = SY-MANDT  GROUP = GROUP  USER = USER  KEEP = KEEP_BDC_SESSION.** HOLDDATE = LOCK_BDC_SESSION.  WRITE: /(30) 'BDC_OPEN_GROUP'(I02),  (12) 'returncode:'(I05),  SY-SUBRC.  ENDIF.

Page 22: Zhr Trigger Hr Actions

7/17/2019 Zhr Trigger Hr Actions

http://slidepdf.com/reader/full/zhr-trigger-hr-actions 22/22

ENDFORM.

*----------------------------------------------------------------------** end batchinput session ** (call transaction using...: error session) **----------------------------------------------------------------------*FORM CLOSE_GROUP.  IF BDC_BATCH_SESSION = 'X'.* close batchinput group  CALL FUNCTION 'BDC_CLOSE_GROUP'.  WRITE: /(30) 'BDC_CLOSE_GROUP'(I04),  (12) 'returncode:'(I05),  SY-SUBRC.  ELSE.  IF E_GROUP_OPENED = 'X'.  CALL FUNCTION 'BDC_CLOSE_GROUP'.  WRITE: /.  WRITE: /(30) 'Fehlermappe wurde erzeugt'(I06).  ENDIF.  ENDIF.ENDFORM.