v1.5
This commit is contained in:
682
src/#deso#fg_dh_check.fugr.#deso#lfg_dh_checkf01.abap
Normal file
682
src/#deso#fg_dh_check.fugr.#deso#lfg_dh_checkf01.abap
Normal file
@@ -0,0 +1,682 @@
|
||||
*----------------------------------------------------------------------*
|
||||
***INCLUDE /DESO/LFG_DH_CHECKF01.
|
||||
*----------------------------------------------------------------------*
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Form read_data
|
||||
*&---------------------------------------------------------------------*
|
||||
*& text
|
||||
*&---------------------------------------------------------------------*
|
||||
*& --> p1 text
|
||||
*& <-- p2 text
|
||||
*&---------------------------------------------------------------------*
|
||||
FORM read_data USING check_view TYPE /deso/dh_view
|
||||
objtype TYPE /deso/dh_object
|
||||
objkey TYPE edc_refkey
|
||||
check_dev TYPE flag
|
||||
check_pod_rel TYPE flag
|
||||
gt_data TYPE /deso/dh_tt_data
|
||||
add_data TYPE flag
|
||||
gr_util_f TYPE REF TO /deso/dh_utilities.
|
||||
|
||||
INCLUDE ieobjtyp.
|
||||
INCLUDE iestread.
|
||||
INCLUDE ie00flag.
|
||||
|
||||
REFRESH ipath . CLEAR ipath .
|
||||
REFRESH istruc . CLEAR istruc .
|
||||
|
||||
REFRESH ibcont . CLEAR ibcont .
|
||||
REFRESH ieabl . CLEAR ieabl .
|
||||
REFRESH ieablg . CLEAR ieablg .
|
||||
REFRESH ieabp . CLEAR ieabp .
|
||||
REFRESH ieadz . CLEAR ieadz .
|
||||
REFRESH ieanl . CLEAR ieanl .
|
||||
REFRESH ieasti . CLEAR ieasti .
|
||||
REFRESH ieastih . CLEAR ieastih .
|
||||
REFRESH ieastl . CLEAR ieastl .
|
||||
REFRESH ieasts . CLEAR ieasts .
|
||||
REFRESH ieaus . CLEAR ieaus .
|
||||
REFRESH ieausv . CLEAR ieausv .
|
||||
REFRESH ieein . CLEAR ieein .
|
||||
REFRESH ieeinv . CLEAR ieeinv .
|
||||
REFRESH ieger . CLEAR ieger .
|
||||
REFRESH iegpl . CLEAR iegpl .
|
||||
REFRESH iehau . CLEAR iehau .
|
||||
REFRESH iekun . CLEAR iekun .
|
||||
REFRESH ietdz . CLEAR ietdz .
|
||||
REFRESH ietins . CLEAR ietins .
|
||||
REFRESH iettif . CLEAR iettif .
|
||||
REFRESH ievbs . CLEAR ievbs .
|
||||
REFRESH iever . CLEAR iever .
|
||||
REFRESH iezug . CLEAR iezug .
|
||||
REFRESH iezuz . CLEAR iezuz .
|
||||
REFRESH ifkkvkp . CLEAR ifkkvkp .
|
||||
REFRESH ite420 . CLEAR ite420 .
|
||||
REFRESH ite422 . CLEAR ite422 .
|
||||
|
||||
IF add_data IS INITIAL.
|
||||
REFRESH gt_data .
|
||||
ENDIF.
|
||||
|
||||
DATA ls_mess_data TYPE /deso/dh_message.
|
||||
|
||||
DATA lv_stop_readness TYPE flag.
|
||||
DATA lv_add_data TYPE flag.
|
||||
DATA lv_tmp_objkey LIKE objkey.
|
||||
DATA lt_tmp_objkey LIKE TABLE OF objkey.
|
||||
DATA lv_tmp_equnr TYPE equnr.
|
||||
DATA lt_tmp_ezug LIKE TABLE OF iezug.
|
||||
DATA lt_tmp_pod_rel TYPE /deso/dh_tt_pod_rel.
|
||||
DATA lt_tmp_ezuz LIKE TABLE OF iezuz.
|
||||
DATA lt_tmp_eger LIKE TABLE OF ieger.
|
||||
DATA lt_tmp_euiinstln TYPE /deso/dh_tt_euiinstln.
|
||||
DATA lv_pod_rel_tabname TYPE tabname.
|
||||
DATA ls_pod_rel TYPE /deso/dh_s_pod_rel.
|
||||
CLEAR lv_pod_rel_tabname.
|
||||
SELECT COUNT(*) FROM dd02l WHERE tabname = '/IDXGC/POD_REL'.
|
||||
IF sy-subrc EQ 0.
|
||||
lv_pod_rel_tabname = '/IDXGC/POD_REL'.
|
||||
ELSE.
|
||||
SELECT COUNT(*) FROM dd02l WHERE tabname = '/UCOM/POD_REL'.
|
||||
IF sy-subrc EQ 0.
|
||||
lv_pod_rel_tabname = '/UCOM/POD_REL'.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
CLEAR lv_stop_readness.
|
||||
|
||||
CASE objtype.
|
||||
************************************************************************
|
||||
WHEN co_objtype_partner.
|
||||
* partner found
|
||||
iekun-partner = objkey.
|
||||
APPEND iekun.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EKUN' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EVER' space.
|
||||
estr_add_ipath 'EVER' 'EANL' space.
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'EGPL' 'EHAU' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
|
||||
|
||||
************************************************************************
|
||||
WHEN co_objtype_account.
|
||||
* contract account found
|
||||
ifkkvkp-vkont = objkey.
|
||||
APPEND ifkkvkp.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
estr_add_ipath 'FKKVKP' 'EVER' space.
|
||||
estr_add_ipath 'EVER' 'EANL' space.
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'EGPL' 'EHAU' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
************************************************************************
|
||||
WHEN co_objtype_contract.
|
||||
* contract found
|
||||
iever-vertrag = objkey.
|
||||
APPEND iever.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EVER' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
estr_add_ipath 'EVER' 'EANL' space.
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'EGPL' 'EHAU' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
************************************************************************
|
||||
WHEN co_objtype_connobj.
|
||||
* connection object found
|
||||
iehau-haus = objkey.
|
||||
APPEND iehau.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EHAU' 'EGPL' space.
|
||||
estr_add_ipath 'EHAU' 'EVBS' space.
|
||||
estr_add_ipath 'EGPL' 'EGER' space.
|
||||
estr_add_ipath 'EVBS' 'EANL' space.
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EANL' 'EVER' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVER' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
|
||||
************************************************************************
|
||||
WHEN co_objtype_premises.
|
||||
* premise object found
|
||||
ievbs-vstelle = objkey.
|
||||
APPEND ievbs.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EVBS' 'EANL' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
estr_add_ipath 'EHAU' 'EGPL' space.
|
||||
estr_add_ipath 'EGPL' 'EGER' space.
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EANL' 'EVER' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVER' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
|
||||
************************************************************************
|
||||
WHEN co_objtype_instln.
|
||||
* installation object found
|
||||
ieanl-anlage = objkey.
|
||||
APPEND ieanl.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EANL' 'EASTL' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EANL' 'EASTS' space.
|
||||
estr_add_ipath 'EANL' 'EVER' space.
|
||||
estr_add_ipath 'EASTL' 'EGER' space.
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
estr_add_ipath 'EGPL' 'EHAU' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
estr_add_ipath 'EVER' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
|
||||
************************************************************************
|
||||
WHEN co_objtype_device.
|
||||
* device object found
|
||||
ieger-equnr = objkey.
|
||||
APPEND ieger.
|
||||
* set path for structure reader
|
||||
estr_add_ipath 'EGER' 'EGPL' space.
|
||||
estr_add_ipath 'EGER' 'EASTL' space.
|
||||
estr_add_ipath 'EGER' 'EZUG' '1'.
|
||||
estr_add_ipath 'EGER' 'EZUG' '2'.
|
||||
estr_add_ipath 'EGER' 'EZUZ' space.
|
||||
estr_add_ipath 'EGER' 'ETDZ' space.
|
||||
|
||||
estr_add_ipath 'EGPL' 'EHAU' space.
|
||||
|
||||
estr_add_ipath 'EASTL' 'EANL' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
|
||||
estr_add_ipath 'ETDZ' 'EASTS' space.
|
||||
estr_add_ipath 'ETDZ' 'EZUZ' space.
|
||||
estr_add_ipath 'ETDZ' 'EASTI' space.
|
||||
estr_add_ipath 'EANL' 'EVER' space.
|
||||
estr_add_ipath 'EANL' 'EVBS' space.
|
||||
estr_add_ipath 'EVBS' 'EHAU' space.
|
||||
estr_add_ipath 'EVER' 'FKKVKP' space.
|
||||
estr_add_ipath 'FKKVKP' 'EKUN' space.
|
||||
|
||||
************************************************************************
|
||||
WHEN co_objtype_pod.
|
||||
"Zählpunkt
|
||||
SELECT * FROM euitrans INTO @DATA(ls_euitrans)
|
||||
WHERE ext_ui = @objkey
|
||||
AND dateto BETWEEN @sy-datum AND '99991231'.
|
||||
objkey = ls_euitrans-int_ui.
|
||||
SELECT * FROM euiinstln INTO @DATA(ls_euiinstln)
|
||||
WHERE int_ui = @ls_euitrans-int_ui
|
||||
AND datefrom <= @ls_euitrans-dateto
|
||||
AND dateto >= @ls_euitrans-datefrom
|
||||
AND dateto >= @sy-datum.
|
||||
lv_tmp_objkey = ls_euiinstln-anlage.
|
||||
PERFORM read_data USING check_view co_objtype_instln lv_tmp_objkey check_dev check_pod_rel gt_data space gr_util_f.
|
||||
lv_stop_readness = 'X'.
|
||||
ENDSELECT.
|
||||
ENDSELECT.
|
||||
ENDCASE.
|
||||
|
||||
CHECK lv_stop_readness IS INITIAL.
|
||||
* call the structure reader
|
||||
CALL FUNCTION 'ISU_STRUCTURE_READ'
|
||||
EXPORTING
|
||||
x_is_complete = co_flag_notmarked
|
||||
x_actual = co_flag_notmarked
|
||||
x_structure = co_flag_marked
|
||||
x_ab = sy-datum
|
||||
x_bis = '99991231'
|
||||
x_text = co_flag_marked
|
||||
x_language = sy-langu
|
||||
x_progress_display = co_flag_marked
|
||||
TABLES
|
||||
xt_path = ipath
|
||||
yt_struc = istruc
|
||||
t_bcont = ibcont
|
||||
t_eabl = ieabl
|
||||
t_eablg = ieablg
|
||||
t_eabp = ieabp
|
||||
t_eadz = ieadz
|
||||
t_eanl = ieanl
|
||||
t_easti = ieasti
|
||||
t_eastih = ieastih
|
||||
t_eastl = ieastl
|
||||
t_easts = ieasts
|
||||
t_eaus = ieaus
|
||||
t_eausv = ieausv
|
||||
t_eein = ieein
|
||||
t_eeinv = ieeinv
|
||||
t_eger = ieger
|
||||
t_egpl = iegpl
|
||||
t_ehau = iehau
|
||||
t_ekun = iekun
|
||||
t_etdz = ietdz
|
||||
t_etins = ietins
|
||||
t_ettif = iettif
|
||||
t_evbs = ievbs
|
||||
t_ever = iever
|
||||
t_ezug = iezug
|
||||
t_ezuz = iezuz
|
||||
t_fkkvkp = ifkkvkp
|
||||
t_te420 = ite420
|
||||
t_te422 = ite422
|
||||
EXCEPTIONS
|
||||
path_invalid = 1
|
||||
date_invalid = 2
|
||||
selection_failed = 3
|
||||
OTHERS = 4.
|
||||
IF sy-subrc <> 0.
|
||||
* structure reader error
|
||||
* leave form
|
||||
EXIT.
|
||||
ENDIF.
|
||||
|
||||
if objtype = co_objtype_device and ieger[] is INITIAL.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_device
|
||||
iv_objkey = objkey
|
||||
iv_refobj = co_objtype_device
|
||||
iv_refkey = objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ).
|
||||
exit.
|
||||
endif.
|
||||
|
||||
|
||||
IF add_data IS INITIAL.
|
||||
|
||||
APPEND INITIAL LINE TO gt_data ASSIGNING FIELD-SYMBOL(<ls_data>).
|
||||
<ls_data>-ieanl[] = ieanl[].
|
||||
<ls_data>-ieasti[] = ieasti[].
|
||||
<ls_data>-ieastl[] = ieastl[].
|
||||
<ls_data>-ieasts[] = ieasts[].
|
||||
<ls_data>-ieger[] = ieger[].
|
||||
<ls_data>-iegpl[] = iegpl[].
|
||||
<ls_data>-iehau[] = iehau[].
|
||||
<ls_data>-iekun[] = iekun[].
|
||||
<ls_data>-ietdz[] = ietdz[].
|
||||
<ls_data>-ievbs[] = ievbs[].
|
||||
<ls_data>-iever[] = iever[].
|
||||
<ls_data>-iezug[] = iezug[].
|
||||
<ls_data>-iezuz[] = iezuz[].
|
||||
<ls_data>-ifkkvkp[] = ifkkvkp[].
|
||||
ELSE.
|
||||
DEFINE add_ls_data.
|
||||
APPEND LINES OF &1[] TO <ls_data>-&1[].
|
||||
SORT <ls_data>-&1[].
|
||||
DELETE ADJACENT DUPLICATES FROM <ls_data>-&1[].
|
||||
END-OF-DEFINITION.
|
||||
IF NOT <ls_data> IS ASSIGNED.
|
||||
READ TABLE gt_data INDEX lines( gt_data ) ASSIGNING <ls_data>.
|
||||
ENDIF.
|
||||
|
||||
add_ls_data ieanl.
|
||||
add_ls_data ieasti.
|
||||
add_ls_data ieastl.
|
||||
add_ls_data ieasts.
|
||||
add_ls_data ieger.
|
||||
add_ls_data iegpl.
|
||||
add_ls_data iehau.
|
||||
add_ls_data iekun.
|
||||
add_ls_data ietdz.
|
||||
add_ls_data ievbs.
|
||||
add_ls_data iever.
|
||||
add_ls_data iezug.
|
||||
add_ls_data iezuz.
|
||||
add_ls_data ifkkvkp.
|
||||
|
||||
ENDIF.
|
||||
|
||||
IF <ls_data> IS ASSIGNED AND NOT <ls_data>-ieanl[] IS INITIAL.
|
||||
SELECT * FROM euiinstln INTO ls_euiinstln
|
||||
FOR ALL ENTRIES IN <ls_data>-ieanl[]
|
||||
WHERE anlage = <ls_data>-ieanl-anlage
|
||||
AND dateto BETWEEN sy-datum AND '99991231'.
|
||||
APPEND ls_euiinstln TO <ls_data>-ieuiinstln[].
|
||||
SELECT * FROM euitrans INTO ls_euitrans
|
||||
WHERE int_ui = ls_euiinstln-int_ui
|
||||
AND dateto >= ls_euiinstln-datefrom
|
||||
AND datefrom <= ls_euiinstln-dateto
|
||||
AND dateto >= sy-datum.
|
||||
APPEND ls_euitrans TO <ls_data>-ieuitrans[].
|
||||
ENDSELECT.
|
||||
ENDSELECT.
|
||||
SORT <ls_data>-ieuiinstln[].
|
||||
DELETE ADJACENT DUPLICATES FROM <ls_data>-ieuiinstln[].
|
||||
SORT <ls_data>-ieuitrans[].
|
||||
DELETE ADJACENT DUPLICATES FROM <ls_data>-ieuitrans[].
|
||||
|
||||
lt_tmp_euiinstln[] = <ls_data>-ieuiinstln[].
|
||||
LOOP AT lt_tmp_euiinstln ASSIGNING FIELD-SYMBOL(<fs_euiinstln>).
|
||||
|
||||
|
||||
SELECT * FROM (lv_pod_rel_tabname) INTO CORRESPONDING FIELDS OF ls_pod_rel
|
||||
WHERE int_ui1 = <fs_euiinstln>-int_ui
|
||||
AND dateto >= <fs_euiinstln>-datefrom
|
||||
AND datefrom <= <fs_euiinstln>-dateto
|
||||
AND dateto >= sy-datum.
|
||||
APPEND ls_pod_rel TO <ls_data>-ipod_rel.
|
||||
ENDSELECT.
|
||||
SELECT * FROM (lv_pod_rel_tabname) INTO CORRESPONDING FIELDS OF ls_pod_rel
|
||||
WHERE int_ui2 = <fs_euiinstln>-int_ui
|
||||
AND dateto >= <fs_euiinstln>-datefrom
|
||||
AND datefrom <= <fs_euiinstln>-dateto
|
||||
AND dateto >= sy-datum.
|
||||
APPEND ls_pod_rel TO <ls_data>-ipod_rel.
|
||||
ENDSELECT.
|
||||
SORT <ls_data>-ipod_rel.
|
||||
DELETE ADJACENT DUPLICATES FROM <ls_data>-ipod_rel.
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
ENDIF.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
IF NOT check_pod_rel IS INITIAL AND <ls_data> IS ASSIGNED.
|
||||
estr_refresh_all.
|
||||
lt_tmp_pod_rel[] = <ls_data>-ipod_rel[].
|
||||
LOOP AT lt_tmp_pod_rel ASSIGNING FIELD-SYMBOL(<fs_pod_rel>).
|
||||
READ TABLE <ls_data>-ieuiinstln WITH KEY int_ui = <fs_pod_rel>-int_ui1 TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT anlage FROM euiinstln INTO TABLE lt_tmp_objkey
|
||||
WHERE int_ui = <fs_pod_rel>-int_ui1
|
||||
AND dateto >= sy-datum
|
||||
AND datefrom <= <fs_pod_rel>-dateto
|
||||
AND dateto >= <fs_pod_rel>-datefrom.
|
||||
IF sy-subrc EQ 0.
|
||||
LOOP AT lt_tmp_objkey INTO lv_tmp_objkey.
|
||||
READ TABLE <ls_data>-ieanl WITH KEY anlage = lv_tmp_objkey TRANSPORTING NO FIELDS.
|
||||
CHECK sy-subrc NE 0.
|
||||
IF objtype NE co_objtype_instln OR objkey NE lv_tmp_objkey.
|
||||
PERFORM read_data USING check_view co_objtype_instln lv_tmp_objkey check_dev check_pod_rel gt_data 'X' gr_util_f.
|
||||
ELSE.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_instln
|
||||
iv_objkey = lv_tmp_objkey
|
||||
iv_refobj = co_objtype_instln
|
||||
iv_refkey = lv_tmp_objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
READ TABLE <ls_data>-ieuiinstln WITH KEY int_ui = <fs_pod_rel>-int_ui2 TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT anlage FROM euiinstln INTO TABLE lt_tmp_objkey
|
||||
WHERE int_ui = <fs_pod_rel>-int_ui2
|
||||
AND dateto >= sy-datum
|
||||
AND datefrom <= <fs_pod_rel>-dateto
|
||||
AND dateto >= <fs_pod_rel>-datefrom.
|
||||
IF sy-subrc EQ 0.
|
||||
LOOP AT lt_tmp_objkey INTO lv_tmp_objkey.
|
||||
READ TABLE <ls_data>-ieanl WITH KEY anlage = lv_tmp_objkey TRANSPORTING NO FIELDS.
|
||||
CHECK sy-subrc NE 0.
|
||||
IF objtype NE co_objtype_instln OR objkey NE lv_tmp_objkey.
|
||||
PERFORM read_data USING check_view co_objtype_instln lv_tmp_objkey check_dev check_pod_rel gt_data 'X' gr_util_f.
|
||||
ELSE.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_instln
|
||||
iv_objkey = lv_tmp_objkey
|
||||
iv_refobj = co_objtype_instln
|
||||
iv_refkey = lv_tmp_objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
ENDLOOP.
|
||||
ENDIF.
|
||||
|
||||
IF NOT check_dev IS INITIAL AND <ls_data> IS ASSIGNED.
|
||||
estr_refresh_all.
|
||||
lt_tmp_ezug[] = <ls_data>-iezug[]." DEV-Zuordnung
|
||||
CLEAR lt_tmp_objkey[].
|
||||
LOOP AT lt_tmp_ezug ASSIGNING FIELD-SYMBOL(<fs_ezug>).
|
||||
|
||||
READ TABLE <ls_data>-ieger[] WITH KEY logiknr = <fs_ezug>-logiknr TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT equnr FROM egerh APPENDING TABLE lt_tmp_objkey
|
||||
WHERE logiknr = <fs_ezug>-logiknr
|
||||
AND ab <= <fs_ezug>-bis
|
||||
AND bis >= <fs_ezug>-ab
|
||||
AND bis >= sy-datum.
|
||||
ENDIF.
|
||||
|
||||
|
||||
READ TABLE <ls_data>-ieger[] WITH KEY logiknr = <fs_ezug>-logiknr2 TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT equnr FROM egerh APPENDING TABLE lt_tmp_objkey
|
||||
WHERE logiknr = <fs_ezug>-logiknr2
|
||||
AND ab <= <fs_ezug>-bis
|
||||
AND bis >= <fs_ezug>-ab
|
||||
AND bis >= sy-datum.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
SORT lt_tmp_objkey.
|
||||
DELETE ADJACENT DUPLICATES FROM lt_tmp_objkey.
|
||||
LOOP AT lt_tmp_objkey INTO lv_tmp_objkey.
|
||||
READ TABLE <ls_data>-ieger WITH KEY equnr = lv_tmp_objkey TRANSPORTING NO FIELDS.
|
||||
CHECK sy-subrc NE 0.
|
||||
IF objtype NE co_objtype_device OR objkey NE lv_tmp_objkey.
|
||||
PERFORM read_data USING check_view co_objtype_device lv_tmp_objkey check_dev check_pod_rel gt_data 'X' gr_util_f.
|
||||
ELSE.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_device
|
||||
iv_objkey = lv_tmp_objkey
|
||||
iv_refobj = co_objtype_device
|
||||
iv_refkey = lv_tmp_objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
|
||||
lt_tmp_ezuz[] = <ls_data>-iezuz[]." ZW-Zuordnung
|
||||
CLEAR lt_tmp_objkey[].
|
||||
LOOP AT lt_tmp_ezuz ASSIGNING FIELD-SYMBOL(<fs_ezuz>).
|
||||
READ TABLE <ls_data>-ietdz[] WITH KEY logikzw = <fs_ezuz>-logikzw TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT equnr FROM etdz APPENDING TABLE lt_tmp_objkey
|
||||
WHERE logikzw = <fs_ezuz>-logikzw
|
||||
AND ab <= <fs_ezuz>-bis
|
||||
AND bis >= <fs_ezuz>-ab
|
||||
AND bis >= sy-datum.
|
||||
ENDIF.
|
||||
READ TABLE <ls_data>-ieger[] WITH KEY logiknr = <fs_ezuz>-logiknr2 TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
SELECT equnr FROM egerh APPENDING TABLE lt_tmp_objkey
|
||||
WHERE logiknr = <fs_ezuz>-logiknr2
|
||||
AND ab <= <fs_ezuz>-bis
|
||||
AND bis >= <fs_ezuz>-ab
|
||||
AND bis >= sy-datum.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
SORT lt_tmp_objkey.
|
||||
DELETE ADJACENT DUPLICATES FROM lt_tmp_objkey.
|
||||
LOOP AT lt_tmp_objkey INTO lv_tmp_objkey.
|
||||
READ TABLE <ls_data>-ieger WITH KEY equnr = lv_tmp_objkey TRANSPORTING NO FIELDS.
|
||||
CHECK sy-subrc NE 0.
|
||||
IF objtype NE co_objtype_device OR objkey NE lv_tmp_objkey.
|
||||
PERFORM read_data USING check_view co_objtype_device lv_tmp_objkey check_dev check_pod_rel gt_data 'X' gr_util_f.
|
||||
ELSE.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_device
|
||||
iv_objkey = lv_tmp_objkey
|
||||
iv_refobj = co_objtype_device
|
||||
iv_refkey = lv_tmp_objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ).
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
lt_tmp_eger[] = <ls_data>-ieger[]. "Gerätegruppe
|
||||
DELETE lt_tmp_eger WHERE devgrp IS INITIAL.
|
||||
SORT lt_tmp_eger BY devgrp.
|
||||
DELETE ADJACENT DUPLICATES FROM lt_tmp_eger COMPARING devgrp.
|
||||
CLEAR lt_tmp_objkey[].
|
||||
LOOP AT lt_tmp_eger ASSIGNING FIELD-SYMBOL(<fs_eger>).
|
||||
SELECT equnr FROM egerh INTO lv_tmp_equnr
|
||||
WHERE devgrp = <fs_eger>-devgrp
|
||||
AND ab <= <fs_eger>-bis
|
||||
AND bis >= <fs_eger>-ab
|
||||
AND bis >= sy-datum.
|
||||
READ TABLE <ls_data>-ieger[] WITH KEY equnr = lv_tmp_equnr TRANSPORTING NO FIELDS.
|
||||
IF sy-subrc NE 0.
|
||||
lv_tmp_objkey = lv_tmp_equnr.
|
||||
APPEND lv_tmp_objkey TO lt_tmp_objkey.
|
||||
ENDIF.
|
||||
ENDSELECT.
|
||||
|
||||
ENDLOOP.
|
||||
SORT lt_tmp_objkey.
|
||||
DELETE ADJACENT DUPLICATES FROM lt_tmp_objkey.
|
||||
LOOP AT lt_tmp_objkey INTO lv_tmp_objkey.
|
||||
READ TABLE <ls_data>-ieger WITH KEY equnr = lv_tmp_objkey TRANSPORTING NO FIELDS.
|
||||
CHECK sy-subrc NE 0.
|
||||
IF objtype NE co_objtype_device OR objkey NE lv_tmp_objkey.
|
||||
PERFORM read_data USING check_view co_objtype_device lv_tmp_objkey check_dev check_pod_rel gt_data 'X' gr_util_f.
|
||||
ELSE.
|
||||
CALL METHOD gr_util_f->insert_message(
|
||||
EXPORTING
|
||||
iv_view = check_view
|
||||
iv_object = co_objtype_device
|
||||
iv_objkey = lv_tmp_objkey
|
||||
iv_refobj = co_objtype_device
|
||||
iv_refkey = lv_tmp_objkey
|
||||
iv_msgty = 'E'
|
||||
iv_msgid = '/DESO/'
|
||||
iv_msgtxt = 'FEHLER BEIM LESEN DER DATEN ZUM OBJEKT!'
|
||||
CHANGING
|
||||
is_data = ls_mess_data ) .
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
ENDIF.
|
||||
|
||||
* sort the connection table istruc by tabto, indto, tabfrom
|
||||
* this is important for binary search later !
|
||||
SORT istruc BY tabto indto tabfrom.
|
||||
ENDFORM.
|
||||
*&---------------------------------------------------------------------*
|
||||
*& Form init_all
|
||||
*&---------------------------------------------------------------------*
|
||||
*& text
|
||||
*&---------------------------------------------------------------------*
|
||||
*& --> p1 text
|
||||
*& <-- p2 text
|
||||
*&---------------------------------------------------------------------*
|
||||
*FORM init_all .
|
||||
* REFRESH ipath . CLEAR ipath .
|
||||
* REFRESH istruc . CLEAR istruc .
|
||||
*
|
||||
* REFRESH ibcont . CLEAR ibcont .
|
||||
* REFRESH ieabl . CLEAR ieabl .
|
||||
* REFRESH ieablg . CLEAR ieablg .
|
||||
* REFRESH ieabp . CLEAR ieabp .
|
||||
* REFRESH ieadz . CLEAR ieadz .
|
||||
* REFRESH ieanl . CLEAR ieanl .
|
||||
* REFRESH ieasti . CLEAR ieasti .
|
||||
* REFRESH ieastih . CLEAR ieastih .
|
||||
* REFRESH ieastl . CLEAR ieastl .
|
||||
* REFRESH ieasts . CLEAR ieasts .
|
||||
* REFRESH ieaus . CLEAR ieaus .
|
||||
* REFRESH ieausv . CLEAR ieausv .
|
||||
* REFRESH ieein . CLEAR ieein .
|
||||
* REFRESH ieeinv . CLEAR ieeinv .
|
||||
* REFRESH ieger . CLEAR ieger .
|
||||
* REFRESH iegpl . CLEAR iegpl .
|
||||
* REFRESH iehau . CLEAR iehau .
|
||||
* REFRESH iekun . CLEAR iekun .
|
||||
* REFRESH ietdz . CLEAR ietdz .
|
||||
* REFRESH ietins . CLEAR ietins .
|
||||
* REFRESH iettif . CLEAR iettif .
|
||||
* REFRESH ievbs . CLEAR ievbs .
|
||||
* REFRESH iever . CLEAR iever .
|
||||
* REFRESH iezug . CLEAR iezug .
|
||||
* REFRESH iezuz . CLEAR iezuz .
|
||||
* REFRESH ifkkvkp . CLEAR ifkkvkp .
|
||||
* REFRESH ite420 . CLEAR ite420 .
|
||||
* REFRESH ite422 . CLEAR ite422 .
|
||||
* REFRESH gt_data .
|
||||
*ENDFORM.
|
||||
Reference in New Issue
Block a user