class /DESO/DH_CHECKS definition public create public . public section. class-data GR_UTIL type ref to /DESO/DH_UTILITIES . methods CHECK_VKONT_AZAWE_EZAWE importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_HAUS_ADRESS importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_PARTNER_ADRESS importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VKONT_ADRESS importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_PARTNER_MANDATORY importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_ANLAGE_INVOICING_PARTNER importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_PARTNER_BANK importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VERTRAG_INVOICING_PART importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VERTRAG_BIG_CHECK importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VERTRAG_SERVICE_ID importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_INIT importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VORLAGE importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_VS_SCENARIO importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_INPUT_VS_CUST importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CHECK_PARTNER_RELATION importing !IV_VIEW type /DESO/DH_VIEW !IV_OBJECT type /DESO/DH_OBJECT !IV_OBJKEY type EDC_REFKEY changing !IS_DATA type /DESO/DH_TT_DATA !IS_MESSAGE type /DESO/DH_MESSAGE optional . methods CONSTRUCTOR . protected section. private section. ENDCLASS. CLASS /DESO/DH_CHECKS IMPLEMENTATION. METHOD check_anlage_invoicing_partner. DATA lv_refkey TYPE edc_refkey. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -ieanl ASSIGNING FIELD-SYMBOL(). SELECT SINGLE invoicing_party FROM eanlh INTO @DATA(lv_serviceid) WHERE anlage = @-anlage AND bis = '99991231'. SELECT SINGLE * FROM eservprov INTO @DATA(ls_eservprov) WHERE serviceid = @lv_serviceid. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEANL' iv_refkey = CONV edc_refkey( -anlage ) iv_reffld = 'INVOICING_PARTY' * iv_object_id = iv_object_id iv_msgty = 'E' iv_msgid = '/DESO/' iv_msgtxt = 'Serviceanbieter nicht vorhanden' CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_haus_adress. DATA: ls_adrc_struc_old TYPE adrc_struc. DATA: ls_adrc_struc_new TYPE adrc_struc. DATA: lv_rc TYPE ad_rcerror. DATA: lt_addr_error TYPE TABLE OF addr_error. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iehau ASSIGNING FIELD-SYMBOL(). SELECT SINGLE * FROM iflot INTO @DATA(ls_iflot) WHERE tplnr = @-haus. SELECT adrnr FROM iloa INTO TABLE @DATA(lt_addrnumber) WHERE tplnr = @ls_iflot-tplnr. LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(). SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc) WHERE addrnumber = @-adrnr. MOVE-CORRESPONDING ls_adrc TO ls_adrc_struc_old. CALL FUNCTION 'ADDR_REGIONAL_DATA_CHECK' EXPORTING x_adrc_struc = ls_adrc_struc_old IMPORTING y_adrc_struc = ls_adrc_struc_new y_retcode = lv_rc TABLES error_table = lt_addr_error. IF lv_rc = 'W' or lv_rc = 'E'. LOOP AT lt_addr_error ASSIGNING FIELD-SYMBOL(). CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEHAU' iv_refkey = CONV edc_refkey( -haus ) * iv_object_id = iv_object_id iv_msgty = -msg_type iv_msgid = -msg_id iv_msgno = -msg_number iv_msgv1 = -msg_var1 iv_msgv2 = -msg_var2 iv_msgv3 = -msg_var3 iv_msgv4 = -msg_var4 * iv_msgtxt = CHANGING is_data = is_message ). ENDLOOP. ENDIF. ENDLOOP. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_input_vs_cust. DATA: lt_tabname TYPE /deso/dh_tt_tabname. DATA: lt_check_field TYPE /deso/dh_tt_check_field. DATA: ls_where TYPE string. DATA: lv_msgid TYPE syst_msgid, lv_msgno TYPE syst_msgno, lv_msgty TYPE syst_msgty, lv_msgv1 TYPE syst_msgv, lv_msgv2 TYPE syst_msgv, lv_msgv3 TYPE syst_msgv, lv_msgv4 TYPE syst_msgv. DATA: lr_data TYPE REF TO data. FIELD-SYMBOLS: TYPE any. CALL METHOD gr_util->get_tab EXPORTING iv_object = iv_object IMPORTING et_tabname = lt_tabname et_check_field = lt_check_field EXCEPTIONS not_customized = 1 OTHERS = 2. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = iv_object iv_refkey = iv_objkey * iv_object_id = iv_object_id iv_msgty = 'E' iv_msgtxt = 'Fehler beim Ermiteln der Tabellen' CHANGING is_data = is_message ). ENDIF. LOOP AT lt_tabname ASSIGNING FIELD-SYMBOL(). CREATE DATA lr_data TYPE (-tabname). ASSIGN lr_data->* TO . CALL METHOD gr_util->get_where EXPORTING iv_tabname = -tabname iv_object = iv_object iv_objkey = iv_objkey * iv_object_id = iv_object_id . SELECT SINGLE * FROM () INTO WHERE (gr_util->gt_where). LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL() WHERE tabname = . ASSIGN COMPONENT -fieldname OF STRUCTURE TO FIELD-SYMBOL(). CHECK NOT IS INITIAL. * BREAK-POINT. CLEAR: lv_msgid, lv_msgty, lv_msgno, lv_msgv1, lv_msgv2, lv_msgv3, lv_msgv4. CALL FUNCTION 'DDUT_INPUT_CHECK' EXPORTING tabname = -tabname fieldname = -fieldname * CALLING_PROGRAM = * STRUCNAME = value = * VALUE_IS_EXTERNAL = ' ' * ACCEPT_ALL_INITIAL = ' ' * VALUE_LIST = * NO_FORKEY_CHECK = ' ' * KEEP_FIELDINFO = ' ' IMPORTING msgid = lv_msgid msgty = lv_msgty msgno = lv_msgno msgv1 = lv_msgv1 msgv2 = lv_msgv2 msgv3 = lv_msgv3 msgv4 = lv_msgv4 * VALUE_INTERNAL = * TABLES * FAILURE_TAB = * CHANGING * ADDITIONAL_FIELDS = EXCEPTIONS no_ddic_field = 1 illegal_move = 2 OTHERS = 3. IF sy-subrc <> 0 OR NOT lv_msgty IS INITIAL. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = CONV /DESO/DH_OBJECT( -tabname ) iv_refkey = CONV EDC_REFKEY( iv_objkey ) iv_reffld = CONV FIELDNAME( -fieldname ) * iv_object_id = iv_object_id iv_msgty = lv_msgty iv_msgid = lv_msgid iv_msgno = lv_msgno iv_msgv1 = lv_msgv1 iv_msgv2 = lv_msgv2 iv_msgv3 = lv_msgv3 iv_msgv4 = lv_msgv4 * iv_msgtxt = CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. * CALL FUNCTION 'BUS_BUPA_EVENT_FMOD1_OBJAP' * EXPORTING * IV_OBJAP = GV_OBJAP * TABLES * T_FELDSTLST = LT_FELDSTLST. ENDMETHOD. METHOD check_partner_adress. DATA: ls_adrc_struc_old TYPE adrc_struc. DATA: ls_adrc_struc_new TYPE adrc_struc. DATA: lv_rc TYPE ad_rcerror. DATA: lt_addr_error TYPE TABLE OF addr_error. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iekun ASSIGNING FIELD-SYMBOL(). SELECT addrnumber FROM but021_fs INTO TABLE @DATA(lt_addrnumber) WHERE partner = @-partner. LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(). SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc) WHERE addrnumber = @-addrnumber. MOVE-CORRESPONDING ls_adrc to ls_adrc_struc_old. CALL FUNCTION 'ADDR_REGIONAL_DATA_CHECK' EXPORTING x_adrc_struc = ls_adrc_struc_old IMPORTING y_adrc_struc = ls_adrc_struc_new y_retcode = lv_rc TABLES error_table = lt_addr_error. IF lv_rc = 'W' or lv_rc = 'E'. LOOP AT lt_addr_error ASSIGNING FIELD-SYMBOL(). CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'ADRC' iv_refkey = CONV edc_refkey( -addrnumber ) * iv_object_id = iv_object_id iv_msgty = -msg_type iv_msgid = -msg_id iv_msgno = -msg_number iv_msgv1 = -msg_var1 iv_msgv2 = -msg_var2 iv_msgv3 = -msg_var3 iv_msgv4 = -msg_var4 * iv_msgtxt = CHANGING is_data = is_message ). ENDLOOP. ENDIF. ENDLOOP. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_partner_bank. DATA: ls_but0bk TYPE but0bk. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iekun ASSIGNING FIELD-SYMBOL(). SELECT * FROM but0bk INTO ls_but0bk WHERE partner = -partner. CALL FUNCTION 'BANK_ACCOUNT_CHECK' EXPORTING bank_account = ls_but0bk-bankn bank_control_key = ls_but0bk-bkont bank_country = ls_but0bk-banks bank_number = ls_but0bk-bankl i_bkref = ls_but0bk-bkref EXCEPTIONS not_valid = 1 OTHERS = 2. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'BUT0BK' iv_refkey = CONV edc_refkey( ls_but0bk-partner && ls_but0bk-bkvid ) * iv_object_id = iv_object_id iv_msgty = sy-msgty iv_msgid = sy-msgid iv_msgno = sy-msgno iv_msgv1 = sy-msgv1 iv_msgv2 = sy-msgv2 iv_msgv3 = sy-msgv3 iv_msgv4 = sy-msgv4 * iv_msgtxt = CHANGING is_data = is_message ). ENDIF. ENDSELECT. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_partner_mandatory. DATA: lv_partner TYPE gpart_kk. DATA: ls_auto TYPE isu01_partner_auto, ls_obj TYPE isu01_partner. DATA: lv_updateonline TYPE c. DATA: lv_nodialog TYPE c VALUE 'X'. DATA: lv_upd TYPE c. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iekun ASSIGNING FIELD-SYMBOL(). lv_partner = -partner. CALL FUNCTION 'ISU_S_PARTNER_PROVIDE' EXPORTING x_partner = lv_partner x_wmode = '2' x_no_dialog = 'X' IMPORTING y_obj = ls_obj y_auto = ls_auto EXCEPTIONS not_found = 1 partner_in_role_not_found = 2 foreign_lock = 3 not_authorized = 4 invalid_wmode = 5 different_type = 6 general_fault = 7 OTHERS = 8. CALL FUNCTION 'ISU_O_PARTNER_CLOSE' CHANGING xy_obj = ls_obj. CALL FUNCTION 'ISU_S_PARTNER_CHANGE' EXPORTING x_partner = lv_partner x_upd_online = lv_updateonline x_no_dialog = lv_nodialog x_auto = ls_auto x_obj = ls_obj IMPORTING y_db_update = lv_upd EXCEPTIONS not_found = 1 foreign_lock = 2 not_authorized = 3 cancelled = 4 input_error = 5 general_fault = 6 OTHERS = 7. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEKUN' iv_refkey = CONV edc_refkey( lv_partner ) * iv_object_id = iv_object_id iv_msgty = sy-msgty iv_msgid = sy-msgid iv_msgno = sy-msgno iv_msgv1 = sy-msgv1 iv_msgv2 = sy-msgv2 iv_msgv3 = sy-msgv3 iv_msgv4 = sy-msgv4 * iv_msgtxt = CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_partner_relation. *BUB_BUPR_BUT050_CHECK *BAPI_BUPR_ACTIVITYP_EXISTCHECK *BUPR_ACTIVITYP_EXISTCHECK * * DATA: lt_tabname TYPE /deso/inco_tt_tabname. * DATA: lt_check_field TYPE /deso/inco_tt_check_field. * DATA: ls_where TYPE string. * DATA: lv_msgid TYPE syst_msgid, * lv_msgno TYPE syst_msgno, * lv_msgty TYPE syst_msgty, * lv_msgv1 TYPE syst_msgv, * lv_msgv2 TYPE syst_msgv, * lv_msgv3 TYPE syst_msgv, * lv_msgv4 TYPE syst_msgv. * * * DATA: lr_util TYPE REF TO /deso/inco_utilities. * DATA: lr_staging TYPE REF TO data. * * FIELD-SYMBOLS: TYPE any. * * CREATE OBJECT lr_util. * * CALL METHOD lr_util->get_tab * EXPORTING * iv_object = iv_object * IMPORTING * et_tabname = lt_tabname * et_check_field = lt_check_field * EXCEPTIONS * not_customized = 1 * OTHERS = 2. * * IF sy-subrc <> 0. * CALL METHOD lr_util->insert_message( * iv_object = iv_object * iv_object_id = iv_object_id * iv_msgty = 'E' * iv_msgtxt = 'Fehler beim Ermiteln der Tabellen' * ). * ENDIF. * * LOOP AT lt_tabname ASSIGNING FIELD-SYMBOL(). * * CREATE DATA lr_staging TYPE (-tabname). * ASSIGN lr_staging->* TO . * * CALL METHOD lr_util->get_where * EXPORTING * iv_tabname = -tabname * iv_object_id = iv_object_id * IMPORTING * es_where = ls_where. * * * SELECT SINGLE * FROM () INTO * WHERE (ls_where). * * LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL(). * * ASSIGN COMPONENT OF STRUCTURE TO FIELD-SYMBOL(). * * CHECK NOT IS INITIAL. * * CALL FUNCTION 'DDUT_INPUT_CHECK' * EXPORTING * tabname = -tabname * fieldname = -fieldname ** CALLING_PROGRAM = ** STRUCNAME = * value = ** VALUE_IS_EXTERNAL = ' ' ** ACCEPT_ALL_INITIAL = ' ' ** VALUE_LIST = ** NO_FORKEY_CHECK = ' ' ** KEEP_FIELDINFO = ' ' * IMPORTING * msgid = lv_msgid * msgty = lv_msgty * msgno = lv_msgno * msgv1 = lv_msgv1 * msgv2 = lv_msgv2 * msgv3 = lv_msgv3 * msgv4 = lv_msgv4 ** VALUE_INTERNAL = ** TABLES ** FAILURE_TAB = ** CHANGING ** ADDITIONAL_FIELDS = * EXCEPTIONS * no_ddic_field = 1 * illegal_move = 2 * OTHERS = 3. * IF sy-subrc <> 0. * CALL METHOD lr_util->insert_message( * iv_object = iv_object * iv_object_id = iv_object_id * iv_msgty = lv_msgty * iv_msgid = lv_msgid * iv_msgno = lv_msgno * iv_msgv1 = lv_msgv1 * iv_msgv2 = lv_msgv2 * iv_msgv3 = lv_msgv3 * iv_msgv4 = lv_msgv4 ** iv_msgtxt = * ). * * ENDIF. * ENDLOOP. * ENDLOOP. ENDMETHOD. METHOD check_vertrag_invoicing_part. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iever ASSIGNING FIELD-SYMBOL(). SELECT SINGLE invoicing_party FROM ever INTO @DATA(lv_serviceid) WHERE vertrag = @-vertrag. SELECT SINGLE * FROM eservprov INTO @DATA(ls_eservprov) WHERE serviceid = @lv_serviceid. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEVER' iv_refkey = CONV edc_refkey( -vertrag ) iv_reffld = 'INVOICING_PARTY' * iv_object_id = iv_object_id iv_msgty = 'E' iv_msgid = '/DESO/' iv_msgtxt = 'Serviceanbieter nicht vorhanden' CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_vertrag_service_id. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iever ASSIGNING FIELD-SYMBOL(). SELECT SINGLE serviceid FROM ever INTO @DATA(lv_serviceid) WHERE vertrag = @-vertrag. SELECT SINGLE * FROM eservprov INTO @DATA(ls_eservprov) WHERE serviceid = @lv_serviceid. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEVER' iv_refkey = CONV edc_refkey( -vertrag ) * iv_object_id = iv_object_id iv_reffld = 'SERVICEID' * iv_object_id = iv_object_id iv_msgty = 'E' iv_msgid = '/DESO/' iv_msgtxt = 'Serviceanbieter nicht vorhanden' CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_vkont_adress. DATA: ls_adrc_struc_old TYPE adrc_struc. DATA: ls_adrc_struc_new TYPE adrc_struc. DATA: lv_rc TYPE ad_rcerror. DATA: lt_addr_error TYPE TABLE OF addr_error. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -ifkkvkp ASSIGNING FIELD-SYMBOL(). SELECT adrnb FROM fkkvkp INTO TABLE @DATA(lt_addrnumber) WHERE vkont = @-vkont. LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(). SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc) WHERE addrnumber = @-adrnb. MOVE-CORRESPONDING ls_adrc TO ls_adrc_struc_old. CALL FUNCTION 'ADDR_REGIONAL_DATA_CHECK' EXPORTING x_adrc_struc = ls_adrc_struc_old IMPORTING y_adrc_struc = ls_adrc_struc_new y_retcode = lv_rc TABLES error_table = lt_addr_error. IF lv_rc = 'W' or lv_rc = 'E'. LOOP AT lt_addr_error ASSIGNING FIELD-SYMBOL(). CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'ADRC' iv_refkey = CONV edc_refkey( -adrnb ) * iv_object_id = iv_object_id iv_msgty = -msg_type iv_msgid = -msg_id iv_msgno = -msg_number iv_msgv1 = -msg_var1 iv_msgv2 = -msg_var2 iv_msgv3 = -msg_var3 iv_msgv4 = -msg_var4 * iv_msgtxt = CHANGING is_data = is_message ). ENDLOOP. ENDIF. ENDLOOP. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD check_vkont_azawe_ezawe. * CALL FUNCTION 'ADDR_REGIONAL_DATA_CHECK' * EXPORTING * x_adrc_struc = wa_adrc_struc_old ** X_DIALOG_ALLOWED = ' ' ** X_ACCEPT_ERROR = ' ' ** X_T005 = ** IV_NATION = ' ' ** X_MASS_UPDATE = ' ' * IMPORTING * y_adrc_struc = wa_adrc_struc_new ** Y_ADRC_REGIO = * y_retcode = rc * TABLES * error_table = it_addr_error. * DATA: lt_tabname TYPE /deso/inco_tt_tabname. * DATA: lt_check_field TYPE /deso/inco_tt_check_field. * DATA: ls_where TYPE string. * DATA: lv_msgid TYPE syst_msgid, * lv_msgno TYPE syst_msgno, * lv_msgty TYPE syst_msgty, * lv_msgv1 TYPE syst_msgv, * lv_msgv2 TYPE syst_msgv, * lv_msgv3 TYPE syst_msgv, * lv_msgv4 TYPE syst_msgv. * * * DATA: lr_util TYPE REF TO /deso/inco_utilities. * DATA: lr_staging TYPE REF TO data. * * FIELD-SYMBOLS: TYPE any. * * CREATE OBJECT lr_util. * * CALL METHOD lr_util->get_tab * EXPORTING * iv_object = iv_object * IMPORTING * et_tabname = lt_tabname * et_check_field = lt_check_field * EXCEPTIONS * not_customized = 1 * OTHERS = 2. * * IF sy-subrc <> 0. * CALL METHOD lr_util->insert_message( * iv_object = iv_object * iv_object_id = iv_object_id * iv_msgtxt = 'Fehler beim Ermiteln der Tabellen' * ). * ENDIF. * * LOOP AT lt_tabname ASSIGNING FIELD-SYMBOL(). * * CREATE DATA lr_staging TYPE (-tabname). * ASSIGN lr_staging->* TO . * * CALL METHOD lr_util->get_where * EXPORTING * iv_tabname = -tabname * iv_object_id = iv_object_id * IMPORTING * es_where = ls_where. * * * SELECT SINGLE * FROM () INTO * WHERE (ls_where). * * LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL(). * * ASSIGN COMPONENT OF STRUCTURE TO FIELD-SYMBOL(). * * CHECK NOT IS INITIAL. * * CALL FUNCTION 'DDUT_INPUT_CHECK' * EXPORTING * tabname = -tabname * fieldname = -fieldname ** CALLING_PROGRAM = ** STRUCNAME = * value = ** VALUE_IS_EXTERNAL = ' ' ** ACCEPT_ALL_INITIAL = ' ' ** VALUE_LIST = ** NO_FORKEY_CHECK = ' ' ** KEEP_FIELDINFO = ' ' * IMPORTING * msgid = lv_msgid * msgty = lv_msgty * msgno = lv_msgno * msgv1 = lv_msgv1 * msgv2 = lv_msgv2 * msgv3 = lv_msgv3 * msgv4 = lv_msgv4 ** VALUE_INTERNAL = ** TABLES ** FAILURE_TAB = ** CHANGING ** ADDITIONAL_FIELDS = * EXCEPTIONS * no_ddic_field = 1 * illegal_move = 2 * OTHERS = 3. * IF sy-subrc <> 0. * CALL METHOD lr_util->insert_message( * iv_object = iv_object * iv_object_id = iv_object_id * iv_msgty = lv_msgty * iv_msgid = lv_msgid * iv_msgno = lv_msgno * iv_msgv1 = lv_msgv1 * iv_msgv2 = lv_msgv2 * iv_msgv3 = lv_msgv3 * iv_msgv4 = lv_msgv4 ** iv_msgtxt = * ). * * ENDIF. * ENDLOOP. * ENDLOOP. ENDMETHOD. METHOD check_vorlage. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). ENDLOOP. ENDMETHOD. METHOD constructor. CREATE OBJECT gr_util. ENDMETHOD. METHOD check_vertrag_big_check. DATA: lv_date TYPE d. lv_date = sy-datum. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -iever ASSIGNING FIELD-SYMBOL(). TRY. CALL FUNCTION 'ISU_BILLING_CHECK' EXPORTING x_vertrag = -vertrag x_check_date = lv_date EXCEPTIONS big_check_error = 1 general_fault = 2 error_message = 100 OTHERS = 3. CATCH cx_root INTO DATA(e_text). CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEVER' iv_refkey = CONV edc_refkey( -vertrag ) * iv_object_id = iv_object_id iv_msgty = sy-msgty iv_msgid = sy-msgid iv_msgno = sy-msgno iv_msgv1 = sy-msgv1 iv_msgv2 = sy-msgv2 iv_msgv3 = sy-msgv3 iv_msgv4 = sy-msgv4 * iv_msgtxt = CHANGING is_data = is_message ). ENDTRY. IF sy-subrc = 0. ELSE. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEVER' iv_refkey = CONV edc_refkey( -vertrag ) * iv_object_id = iv_object_id iv_msgty = sy-msgty iv_msgid = sy-msgid iv_msgno = sy-msgno iv_msgv1 = sy-msgv1 iv_msgv2 = sy-msgv2 iv_msgv3 = sy-msgv3 iv_msgv4 = sy-msgv4 * iv_msgtxt = CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. METHOD CHECK_INIT. * LOOP AT is_data ASSIGNING FIELD-SYMBOL(). * CALL METHOD /deso/dh_utilities=>set_param * EXPORTING * param = 'PARAM_NAME' * value = 'PARAM_VALUE' * CHANGING * ch_data = . * ENDLOOP. ENDMETHOD. METHOD check_vs_scenario. DATA: ls_scen TYPE ederegscenario. DATA: ls_scen_text TYPE e_deregscenariotxt. LOOP AT is_data ASSIGNING FIELD-SYMBOL(). LOOP AT -ieuiinstln ASSIGNING FIELD-SYMBOL(). CALL FUNCTION 'ISU_O_SCENARIO_AT_POD_GET' EXPORTING x_int_ui = -int_ui x_keydate = sy-datum IMPORTING y_scenario = ls_scen y_scenariotxt = ls_scen_text EXCEPTIONS general_fault = 1 OTHERS = 2. IF sy-subrc <> 0. CALL METHOD gr_util->insert_message( EXPORTING iv_view = iv_view iv_object = iv_object iv_objkey = iv_objkey iv_refobj = 'IEUIINSTLN' iv_refkey = CONV edc_refkey( -int_ui ) iv_reffld = 'INT_UI' iv_msgty = 'E' iv_msgid = '/DESO/' iv_msgtxt = 'VS-Szenario nicht ermittelbar' CHANGING is_data = is_message ). ENDIF. ENDLOOP. ENDLOOP. ENDMETHOD. ENDCLASS.