1057 lines
32 KiB
ABAP
1057 lines
32 KiB
ABAP
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(<ls_data>).
|
|
LOOP AT <ls_data>-ieanl ASSIGNING FIELD-SYMBOL(<ls_eanl>).
|
|
|
|
SELECT SINGLE invoicing_party FROM eanlh
|
|
INTO @DATA(lv_serviceid)
|
|
WHERE anlage = @<ls_eanl>-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( <ls_eanl>-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(<ls_data>).
|
|
LOOP AT <ls_data>-iehau ASSIGNING FIELD-SYMBOL(<ls_ehau>).
|
|
|
|
SELECT SINGLE * FROM iflot INTO @DATA(ls_iflot)
|
|
WHERE tplnr = @<ls_ehau>-haus.
|
|
|
|
SELECT adrnr FROM iloa
|
|
INTO TABLE @DATA(lt_addrnumber)
|
|
WHERE tplnr = @ls_iflot-tplnr.
|
|
|
|
LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(<ls_addrnumber>).
|
|
|
|
SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc)
|
|
WHERE addrnumber = @<ls_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(<ls_addr_error>).
|
|
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( <ls_ehau>-haus )
|
|
* iv_object_id = iv_object_id
|
|
iv_msgty = <ls_addr_error>-msg_type
|
|
iv_msgid = <ls_addr_error>-msg_id
|
|
iv_msgno = <ls_addr_error>-msg_number
|
|
iv_msgv1 = <ls_addr_error>-msg_var1
|
|
iv_msgv2 = <ls_addr_error>-msg_var2
|
|
iv_msgv3 = <ls_addr_error>-msg_var3
|
|
iv_msgv4 = <ls_addr_error>-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: <ls_target> 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(<ls_tab>).
|
|
|
|
CREATE DATA lr_data TYPE (<ls_tab>-tabname).
|
|
ASSIGN lr_data->* TO <ls_target>.
|
|
|
|
CALL METHOD gr_util->get_where
|
|
EXPORTING
|
|
iv_tabname = <ls_tab>-tabname
|
|
iv_object = iv_object
|
|
iv_objkey = iv_objkey
|
|
* iv_object_id = iv_object_id
|
|
.
|
|
|
|
|
|
SELECT SINGLE * FROM (<ls_tab>) INTO <ls_target>
|
|
WHERE (gr_util->gt_where).
|
|
|
|
LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL(<ls_check_field>)
|
|
WHERE tabname = <ls_tab>.
|
|
|
|
ASSIGN COMPONENT <ls_check_field>-fieldname OF STRUCTURE <ls_target> TO FIELD-SYMBOL(<lv_field_value>).
|
|
|
|
CHECK NOT <lv_field_value> 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 = <ls_check_field>-tabname
|
|
fieldname = <ls_check_field>-fieldname
|
|
* CALLING_PROGRAM =
|
|
* STRUCNAME =
|
|
value = <lv_field_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( <ls_check_field>-tabname )
|
|
iv_refkey = CONV EDC_REFKEY( iv_objkey )
|
|
iv_reffld = CONV FIELDNAME( <ls_check_field>-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(<ls_data>).
|
|
LOOP AT <ls_data>-iekun ASSIGNING FIELD-SYMBOL(<ls_ekun>).
|
|
|
|
SELECT addrnumber FROM but021_fs
|
|
INTO TABLE @DATA(lt_addrnumber)
|
|
WHERE partner = @<ls_ekun>-partner.
|
|
|
|
LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(<ls_addrnumber>).
|
|
|
|
SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc)
|
|
WHERE addrnumber = @<ls_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(<ls_addr_error>).
|
|
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( <ls_addrnumber>-addrnumber )
|
|
* iv_object_id = iv_object_id
|
|
iv_msgty = <ls_addr_error>-msg_type
|
|
iv_msgid = <ls_addr_error>-msg_id
|
|
iv_msgno = <ls_addr_error>-msg_number
|
|
iv_msgv1 = <ls_addr_error>-msg_var1
|
|
iv_msgv2 = <ls_addr_error>-msg_var2
|
|
iv_msgv3 = <ls_addr_error>-msg_var3
|
|
iv_msgv4 = <ls_addr_error>-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(<ls_data>).
|
|
LOOP AT <ls_data>-iekun ASSIGNING FIELD-SYMBOL(<ls_ekun>).
|
|
|
|
SELECT * FROM but0bk INTO ls_but0bk
|
|
WHERE partner = <ls_ekun>-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(<ls_data>).
|
|
LOOP AT <ls_data>-iekun ASSIGNING FIELD-SYMBOL(<ls_ekun>).
|
|
|
|
lv_partner = <ls_ekun>-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: <ls_target> 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(<ls_tab>).
|
|
*
|
|
* CREATE DATA lr_staging TYPE (<ls_tab>-tabname).
|
|
* ASSIGN lr_staging->* TO <ls_target>.
|
|
*
|
|
* CALL METHOD lr_util->get_where
|
|
* EXPORTING
|
|
* iv_tabname = <ls_tab>-tabname
|
|
* iv_object_id = iv_object_id
|
|
* IMPORTING
|
|
* es_where = ls_where.
|
|
*
|
|
*
|
|
* SELECT SINGLE * FROM (<ls_tab>) INTO <ls_target>
|
|
* WHERE (ls_where).
|
|
*
|
|
* LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL(<ls_check_field>).
|
|
*
|
|
* ASSIGN COMPONENT <ls_check_field> OF STRUCTURE <ls_target> TO FIELD-SYMBOL(<lv_field_value>).
|
|
*
|
|
* CHECK NOT <lv_field_value> IS INITIAL.
|
|
*
|
|
* CALL FUNCTION 'DDUT_INPUT_CHECK'
|
|
* EXPORTING
|
|
* tabname = <ls_check_field>-tabname
|
|
* fieldname = <ls_check_field>-fieldname
|
|
** CALLING_PROGRAM =
|
|
** STRUCNAME =
|
|
* value = <lv_field_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(<ls_data>).
|
|
LOOP AT <ls_data>-iever ASSIGNING FIELD-SYMBOL(<ls_ever>).
|
|
|
|
SELECT SINGLE invoicing_party FROM ever
|
|
INTO @DATA(lv_serviceid)
|
|
WHERE vertrag = @<ls_ever>-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( <ls_ever>-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(<ls_data>).
|
|
LOOP AT <ls_data>-iever ASSIGNING FIELD-SYMBOL(<ls_ever>).
|
|
SELECT SINGLE serviceid FROM ever
|
|
INTO @DATA(lv_serviceid)
|
|
WHERE vertrag = @<ls_ever>-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( <ls_ever>-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(<ls_data>).
|
|
LOOP AT <ls_data>-ifkkvkp ASSIGNING FIELD-SYMBOL(<ls_fkkvkp>).
|
|
|
|
SELECT adrnb FROM fkkvkp
|
|
INTO TABLE @DATA(lt_addrnumber)
|
|
WHERE vkont = @<ls_fkkvkp>-vkont.
|
|
|
|
LOOP AT lt_addrnumber ASSIGNING FIELD-SYMBOL(<ls_addrnumber>).
|
|
|
|
SELECT SINGLE * FROM adrc INTO @DATA(ls_adrc)
|
|
WHERE addrnumber = @<ls_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(<ls_addr_error>).
|
|
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( <ls_addrnumber>-adrnb )
|
|
* iv_object_id = iv_object_id
|
|
iv_msgty = <ls_addr_error>-msg_type
|
|
iv_msgid = <ls_addr_error>-msg_id
|
|
iv_msgno = <ls_addr_error>-msg_number
|
|
iv_msgv1 = <ls_addr_error>-msg_var1
|
|
iv_msgv2 = <ls_addr_error>-msg_var2
|
|
iv_msgv3 = <ls_addr_error>-msg_var3
|
|
iv_msgv4 = <ls_addr_error>-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: <ls_target> 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(<ls_tab>).
|
|
*
|
|
* CREATE DATA lr_staging TYPE (<ls_tab>-tabname).
|
|
* ASSIGN lr_staging->* TO <ls_target>.
|
|
*
|
|
* CALL METHOD lr_util->get_where
|
|
* EXPORTING
|
|
* iv_tabname = <ls_tab>-tabname
|
|
* iv_object_id = iv_object_id
|
|
* IMPORTING
|
|
* es_where = ls_where.
|
|
*
|
|
*
|
|
* SELECT SINGLE * FROM (<ls_tab>) INTO <ls_target>
|
|
* WHERE (ls_where).
|
|
*
|
|
* LOOP AT lt_check_field ASSIGNING FIELD-SYMBOL(<ls_check_field>).
|
|
*
|
|
* ASSIGN COMPONENT <ls_check_field> OF STRUCTURE <ls_target> TO FIELD-SYMBOL(<lv_field_value>).
|
|
*
|
|
* CHECK NOT <lv_field_value> IS INITIAL.
|
|
*
|
|
* CALL FUNCTION 'DDUT_INPUT_CHECK'
|
|
* EXPORTING
|
|
* tabname = <ls_check_field>-tabname
|
|
* fieldname = <ls_check_field>-fieldname
|
|
** CALLING_PROGRAM =
|
|
** STRUCNAME =
|
|
* value = <lv_field_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(<ls_data>).
|
|
|
|
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(<ls_data>).
|
|
LOOP AT <ls_data>-iever ASSIGNING FIELD-SYMBOL(<ls_ever>).
|
|
TRY.
|
|
CALL FUNCTION 'ISU_BILLING_CHECK'
|
|
EXPORTING
|
|
x_vertrag = <ls_ever>-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( <ls_ever>-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( <ls_ever>-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(<ls_data>).
|
|
* CALL METHOD /deso/dh_utilities=>set_param
|
|
* EXPORTING
|
|
* param = 'PARAM_NAME'
|
|
* value = 'PARAM_VALUE'
|
|
* CHANGING
|
|
* ch_data = <ls_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(<ls_data>).
|
|
LOOP AT <ls_data>-ieuiinstln ASSIGNING FIELD-SYMBOL(<ls_euiinstln>).
|
|
|
|
CALL FUNCTION 'ISU_O_SCENARIO_AT_POD_GET'
|
|
EXPORTING
|
|
x_int_ui = <ls_euiinstln>-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( <ls_euiinstln>-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.
|