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'.
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'.
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.
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.
7/17/2019 Zhr Trigger Hr Actions
http://slidepdf.com/reader/full/zhr-trigger-hr-actions 5/22
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'.
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 *
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'
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*
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'
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'.
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
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.
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.
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'
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'
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)'
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'
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),
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
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.
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.