Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *$*$ -------------------------------------------------------------- *$*$
- *$*$ Autor : Guilherme Fujii *$*$
- *$*$ Data : 06/11/2018 *$*$
- *$*$ ---------------------------------------------------------------*$*$
- *$*$ Descrição : Tratar os benefícios vindos do Employee Central *$*$
- *$*$ ---------------------------------------------------------------*$*$
- *$*$ Histórico de modificações *$*$
- *$*$ Data : 06.11.2018 *$*$
- *$*$ Autor : Nome do Programador - Empresa do Autor *$*$
- *$*$ Descrição : Chamado INC999999 / Descrição resumida das *$*$
- *$*$ modificações efetuadas *$*$
- *$*$ ---------------------------------------------------------------*$*$
- METHOD constructor.
- DATA: lv_pernr TYPE char8,
- lv_query TYPE tvarvc-low.
- * Create the connection with EC throught RFC connection
- zm_create_connection( ).
- * Fill global variables
- gv_pernr = iv_personnel_number.
- gv_employee_id_ext = iv_personnel_number.
- gv_employee_id = iv_personnel_number.
- ADD iv_personnel_number TO lv_pernr.
- IF strlen( lv_pernr ) EQ 7.
- CONCATENATE '0' lv_pernr INTO lv_pernr.
- ENDIF.
- * Stay class references
- IF io_hrpa_masterdata_bl IS SUPPLIED.
- go_infotype_framework = io_hrpa_masterdata_bl.
- ENDIF.
- IF io_message_handler IS SUPPLIED.
- go_message_handler = io_message_handler.
- ENDIF.
- CONDENSE lv_pernr NO-GAPS.
- * Get possible variable to complement benefit query
- SELECT SINGLE low
- FROM tvarvc
- INTO lv_query
- WHERE name EQ 'ZHRST_SFEC_BENEFIT_QRY'.
- IF sy-subrc NE 0.
- lv_query = ',cust_vtransp'.
- ENDIF.
- * Build the benefits query first call
- gv_query = |/BenefitEnrollment?| && |$filter=workerId eq '{ lv_pernr }'&| &&
- |$expand=benefitInsurancePlanEnrollmentDetails,benefitDeductibleAllowanceEnrollment,benefitPensionNonDependentNominees,| &&
- |benefitPensionDependentNominees,benefitInsurancePlanEnrollmentDetails/benefitInsuranceDependentDetails| &&
- lv_query.
- * Query benefits and build the if_ixml_document reference
- zm_query_benefits( ).
- * Process benefits, transform XML into a table
- zm_process_benefits( ).
- *--------------------------------------------------------------------*
- * Guilherme Fujii 14.12.2018 - Permitir integração de reembolsos
- * Build the benefits query second call (For reimbursement type)
- gv_query = |/BenefitEmployeeClaim?| && |$filter=workerId eq '{ lv_pernr }'|.
- * Query benefits and build the if_ixml_document reference
- zm_query_benefits( ).
- * Process benefits, transform XML into a table
- zm_process_benefits( ).
- * Fim da integração de reembolso.
- *--------------------------------------------------------------------*
- * Map infotype tables using the ZHRT_ECEXT_BENEF and ZHRT_ECEXT_INFTY
- zm_map_infty( ).
- IF ( gt_0014 IS NOT INITIAL OR
- gt_0015 IS NOT INITIAL ) AND
- go_infotype_framework IS BOUND.
- zm_save_values_table( ).
- IF gt_0014 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0014'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0014'
- it_pnnnn = gt_0014 ).
- ENDIF.
- IF gt_0015 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0015'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0015'
- it_pnnnn = gt_0015 ).
- ENDIF.
- ENDIF.
- * IF gt_0014 IS NOT INITIAL.
- *
- * IF io_message_handler IS BOUND.
- *
- * CALL METHOD io_message_handler->register_infty
- * EXPORTING
- * iv_infty = '0014'.
- *
- * ENDIF.
- *
- * zm_save_data_to_infotype_3(
- * iv_infty = '0014'
- * it_pnnnn = gt_0014 ).
- * ENDIF.
- *
- * IF gt_0015 IS NOT INITIAL.
- *
- * IF io_message_handler IS BOUND.
- *
- * CALL METHOD io_message_handler->register_infty
- * EXPORTING
- * iv_infty = '0015'.
- *
- * ENDIF.
- *
- * zm_save_data_to_infotype_3(
- * iv_infty = '0015'
- * it_pnnnn = gt_0015 ).
- * ENDIF.
- CALL METHOD zm_save_values_table.
- * vab <-
- IF gt_0167 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0167'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0167'
- it_pnnnn = gt_0167 ).
- ENDIF.
- IF gt_0168 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0168'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0168'
- it_pnnnn = gt_0168 ).
- ENDIF.
- IF gt_0169 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0169'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0169'
- it_pnnnn = gt_0169 ).
- ENDIF.
- IF gt_0377 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0377'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0377'
- it_pnnnn = gt_0377 ).
- ENDIF.
- IF gt_0410 IS NOT INITIAL AND
- go_infotype_framework IS BOUND.
- IF io_message_handler IS BOUND.
- CALL METHOD io_message_handler->register_infty
- EXPORTING
- iv_infty = '0410'.
- ENDIF.
- zm_save_data_to_infotype( iv_infty = '0410'
- it_pnnnn = gt_0410 ).
- ENDIF.
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement