Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- METHOD changesurnameset_create_entity.
- DATA: ls_app_s TYPE zhrxx_t_ess003_s,
- ls_app_m TYPE zhrxs_t_ess_main,
- ls_t_ess_m TYPE zhrxs_t_ess_main,
- ls_t_ess_s TYPE zhrxx_t_ess003_s,
- lv_pernr TYPE pa0002-pernr,
- lv_id TYPE zhrxs_e_pcr_nr,
- lv_type_1 TYPE zhrxs_e_pcr_type,
- lv_signature TYPE text30,
- lv_type TYPE string,
- lv_b64data TYPE string,
- lv_xstring TYPE xstring,
- lv_bukrs TYPE bukrs,
- lv_werks TYPE persa,
- zhr_pcr_xx TYPE zhrxs_e_pcr_app,
- lv_s TYPE string.
- TRY .
- CALL METHOD io_data_provider->read_entry_data
- IMPORTING
- es_data = er_entity.
- .
- CATCH /iwbep/cx_mgw_tech_exception. .
- RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception
- EXPORTING
- textid = /iwbep/cx_mgw_busi_exception=>business_error
- message = 'ERROR'.
- RETURN.
- ENDTRY.
- IF er_entity-status IS NOT INITIAL.
- IF er_entity-status EQ gc_status_draft OR er_entity-status EQ gc_status_sent OR er_entity-status EQ gc_status_cancel.
- IF er_entity-pcr_app IS NOT INITIAL AND er_entity-pcr_nr IS NOT INITIAL.
- SELECT SINGLE * FROM zhrxs_t_ess_main INTO ls_t_ess_m WHERE pcr_app EQ er_entity-pcr_app
- AND pcr_nr EQ er_entity-pcr_nr.
- SELECT SINGLE * FROM zhrxx_t_ess003_s INTO ls_t_ess_s WHERE pcr_app EQ er_entity-pcr_app
- AND pcr_nr EQ er_entity-pcr_nr.
- ENDIF.
- IF ls_t_ess_m-status NE er_entity-status.
- IF ls_t_ess_m IS INITIAL.
- SELECT SINGLE bukrs werks FROM pa0001 INTO (lv_bukrs,lv_werks) WHERE pernr EQ er_entity-pernr
- AND begda LE sy-datum
- AND endda GE sy-datum.
- "SELECT SINGLE butxt FROM t001 INTO er_entity-bukrs WHERE bukrs EQ lv_bukrs.
- CLEAR: ls_t_ess_m, ls_t_ess_s.
- ls_t_ess_m-pcr_app = 2. "zmiana danych osobowych
- ls_t_ess_m-pcr_nr = zhrxs_cl_pcr_util=>get_next_pcr_id( iv_app = gc_app_tax_docs ).
- ls_t_ess_m-pcr_type = '001'. "Zmiana nazwiska
- ls_t_ess_m-pernr = er_entity-pernr.
- ls_t_ess_m-status = er_entity-status.
- ls_t_ess_m-apply_date = sy-datum.
- ls_t_ess_m-signature = zhrxs_cl_pcr_util=>get_signature( iv_app = ls_t_ess_m-pcr_app
- iv_type = '001'
- iv_persa = lv_werks ).
- ls_t_ess_s-pcr_app = ls_t_ess_m-pcr_app.
- ls_t_ess_s-pcr_nr = ls_t_ess_m-pcr_nr.
- SELECT SINGLE name2 nachn FROM pa0002 INTO (er_entity-familyname, er_entity-surname) WHERE pernr EQ er_entity-pernr
- AND begda LE sy-datum
- AND endda GE sy-datum.
- ls_t_ess_s-surname = er_entity-surname.
- ls_t_ess_s-familyname = er_entity-familyname.
- ELSEIF ( ls_t_ess_m-status EQ gc_status_draft OR ls_t_ess_m-status EQ gc_status_revoked ) AND er_entity-status EQ gc_status_sent.
- ls_t_ess_m-status = er_entity-status.
- ls_t_ess_m-apply_date = sy-datum.
- ls_t_ess_s-surname = er_entity-surname.
- ls_t_ess_s-familyname = er_entity-familyname.
- ELSEIF ( ls_t_ess_m-status EQ gc_status_draft OR ls_t_ess_m-status EQ gc_status_sent ) AND er_entity-status EQ gc_status_cancel.
- ls_t_ess_m-status = er_entity-status.
- ls_t_ess_m-apply_date = sy-datum.
- ls_t_ess_s-surname = er_entity-surname.
- ls_t_ess_s-familyname = er_entity-familyname.
- ENDIF.
- MODIFY zhrxs_t_ess_main FROM ls_t_ess_m.
- IF sy-subrc EQ 0.
- MODIFY zhrxx_t_ess003_s FROM ls_t_ess_s.
- ENDIF.
- ELSEIF ( ls_t_ess_m-status EQ gc_status_draft ) AND er_entity-status EQ gc_status_draft.
- ls_t_ess_m-status = er_entity-status.
- ls_t_ess_m-apply_date = sy-datum.
- ls_t_ess_s-surname = er_entity-surname.
- ls_t_ess_s-familyname = er_entity-familyname.
- MODIFY zhrxs_t_ess_main FROM ls_t_ess_m.
- IF sy-subrc EQ 0.
- MODIFY zhrxx_t_ess003_s FROM ls_t_ess_s.
- ENDIF.
- ENDIF.
- er_entity-pcr_nr = ls_t_ess_m-pcr_nr.
- er_entity-pcr_app = 2.
- er_entity-pernr = ls_t_ess_m-pernr.
- er_entity-signature = ls_t_ess_m-signature.
- er_entity-status = ls_t_ess_m-status.
- ELSEIF er_entity-status EQ gc_status_print.
- **********************************************************************
- * wydruk - nie zmieniamy bazy danych
- **********************************************************************
- lv_xstring = zhrxs_cl_smartform=>zhrxs_print_smartforms_dane_os( iv_pcr_app = er_entity-pcr_app
- iv_pcr_nr = er_entity-pcr_nr ).
- * Convert xstring to base64
- CALL FUNCTION 'SSFC_BASE64_ENCODE'
- EXPORTING
- bindata = lv_xstring
- IMPORTING
- b64data = lv_b64data.
- er_entity-file = lv_b64data.
- ENDIF.
- ENDIF.
- ENDMETHOD.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement