diff --git a/.abapgit.xml b/.abapgit.xml new file mode 100644 index 0000000..607f652 --- /dev/null +++ b/.abapgit.xml @@ -0,0 +1,10 @@ + + + + + D + /src/ + FULL + + + diff --git a/src/#deso#.nspc.xml b/src/#deso#.nspc.xml new file mode 100644 index 0000000..273bbd2 --- /dev/null +++ b/src/#deso#.nspc.xml @@ -0,0 +1,16 @@ + + + + + + /DESO/ + 31120315153559132970 + + + D + Namensraum für Dechange Solutions + DeMa + + + + diff --git a/src/#deso#data_hawk rf.sush.xml b/src/#deso#data_hawk rf.sush.xml new file mode 100644 index 0000000..805f31a --- /dev/null +++ b/src/#deso#data_hawk rf.sush.xml @@ -0,0 +1,13 @@ + + + + + + /DESO/DATA_HAWK + RF + /DESO/DATA_HAWK + Datenprüfung + + + + diff --git a/src/#deso#data_hawk.tran.xml b/src/#deso#data_hawk.tran.xml new file mode 100644 index 0000000..189c723 --- /dev/null +++ b/src/#deso#data_hawk.tran.xml @@ -0,0 +1,21 @@ + + + + + + /DESO/DATA_HAWK + /DESO/DH_HAWK + 1000 + gA== + + + /DESO/DATA_HAWK + + + D + /DESO/DATA_HAWK + DeSo: Datenanalyse + + + + diff --git a/src/#deso#de_dh_lizenz.dtel.xml b/src/#deso#de_dh_lizenz.dtel.xml new file mode 100644 index 0000000..1ead7b1 --- /dev/null +++ b/src/#deso#de_dh_lizenz.dtel.xml @@ -0,0 +1,23 @@ + + + + + + /DESO/DE_DH_LIZENZ + D + /DESO/DH_DO_LIZENZ + 20 + 06 + 10 + 15 + DeSo: Lizenzschlüssel + Lizenzschlüssel + Lizenz + Lizenzsch. + Lizenzschlüssel + D + D + + + + diff --git a/src/#deso#dh_activ.dtel.xml b/src/#deso#dh_activ.dtel.xml new file mode 100644 index 0000000..bc7b022 --- /dev/null +++ b/src/#deso#dh_activ.dtel.xml @@ -0,0 +1,23 @@ + + + + + + /DESO/DH_ACTIV + D + KENNZX + 20 + 05 + 10 + 15 + DATA Hawk: Kennzeichen Prüfung aktiv + Prüfung aktiv + aktiv + aktiv + Prüfung aktiv + D + D + + + + diff --git a/src/#deso#dh_c_cla.tabl.xml b/src/#deso#dh_c_cla.tabl.xml new file mode 100644 index 0000000..44518ef --- /dev/null +++ b/src/#deso#dh_c_cla.tabl.xml @@ -0,0 +1,70 @@ + + + + + + /DESO/DH_C_CLA + D + TRANSP + X + DATA Hawk: Methoden zu Objekten + X + A + 1 + + + /DESO/DH_C_CLA + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + OBJECT + X + /DESO/DH_OBJECT + 0 + X + E + + + CLASS + X + SEOCLSNAME + 0 + X + E + + + DESCRIPT + DSCR + 0 + E + + + + + /DESO/DH_C_CLA + &NC& + + + + + diff --git a/src/#deso#dh_c_clas.tobj.xml b/src/#deso#dh_c_clas.tobj.xml new file mode 100644 index 0000000..2e724d0 --- /dev/null +++ b/src/#deso#dh_c_clas.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_CLA + S + X + APPL + 3 + + + D + /DESO/DH_C_CLA + S + DATA Hawk: Methoden zu Objekten + + + + /DESO/DH_C_CLA + S + /DESO/DH_C_CLA + X + X + + + + + /DESO/DH_C_CLA + &NC& + + + /DESO/DH_C_CLA + /DESO/FG_DH_CUST + 1 + 0003 + X + X + + + + + diff --git a/src/#deso#dh_c_ht.tabl.xml b/src/#deso#dh_c_ht.tabl.xml new file mode 100644 index 0000000..df7e514 --- /dev/null +++ b/src/#deso#dh_c_ht.tabl.xml @@ -0,0 +1,85 @@ + + + + + + /DESO/DH_C_HT + D + TRANSP + X + DATA Hawk: Customizing allgemein + X + A + 1 + + + /DESO/DH_C_HT + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + LIZENZ + /DESO/DE_DH_LIZENZ + 0 + E + + + DESCRIPT + DSCR + 0 + E + + + BGRFC_DEST + RFCDEST + 0 + D + E + + + BGRFC_PACK + 0 + X + 000004 + INT4 + 000010 + INT4 + + + BATCH_COUNT + 0 + X + 000004 + INT4 + 000010 + INT4 + + + + + /DESO/DH_C_HT + &NC& + + + + + diff --git a/src/#deso#dh_c_hts.tobj.xml b/src/#deso#dh_c_hts.tobj.xml new file mode 100644 index 0000000..4802f07 --- /dev/null +++ b/src/#deso#dh_c_hts.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_HT + S + X + APPL + 3 + + + D + /DESO/DH_C_HT + S + DATA Hawk: Customizing allgemein + + + + /DESO/DH_C_HT + S + /DESO/DH_C_HT + X + X + + + + + /DESO/DH_C_HT + &NC& + + + /DESO/DH_C_HT + /DESO/FG_DH_CUST + 1 + 0001 + X + X + + + + + diff --git a/src/#deso#dh_c_met.tabl.xml b/src/#deso#dh_c_met.tabl.xml new file mode 100644 index 0000000..6ef14e6 --- /dev/null +++ b/src/#deso#dh_c_met.tabl.xml @@ -0,0 +1,78 @@ + + + + + + /DESO/DH_C_MET + D + TRANSP + X + DATA Hawk: Methoden zu Objekten + X + A + 1 + + + /DESO/DH_C_MET + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + OBJECT + X + /DESO/DH_OBJECT + 0 + X + E + + + CLASS + X + SEOCLSNAME + 0 + X + E + + + METHOD + X + SEOCPDNAME + 0 + X + E + + + DESCRIPT + DSCR + 0 + E + + + + + /DESO/DH_C_MET + &NC& + + + + + diff --git a/src/#deso#dh_c_mets.tobj.xml b/src/#deso#dh_c_mets.tobj.xml new file mode 100644 index 0000000..a96242b --- /dev/null +++ b/src/#deso#dh_c_mets.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_MET + S + X + APPL + 3 + + + D + /DESO/DH_C_MET + S + DATA Hawk: Methoden zu Objekten + + + + /DESO/DH_C_MET + S + /DESO/DH_C_MET + X + X + + + + + /DESO/DH_C_MET + &NC& + + + /DESO/DH_C_MET + /DESO/FG_DH_CUST + 1 + 0004 + X + X + + + + + diff --git a/src/#deso#dh_c_obj.tabl.xml b/src/#deso#dh_c_obj.tabl.xml new file mode 100644 index 0000000..43b8a1c --- /dev/null +++ b/src/#deso#dh_c_obj.tabl.xml @@ -0,0 +1,62 @@ + + + + + + /DESO/DH_C_OBJ + D + TRANSP + X + DATA Hawk: Prüfobjekte + X + A + 1 + + + /DESO/DH_C_OBJ + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + OBJECT + X + /DESO/DH_OBJECT + 0 + X + E + + + DESCRIPT + DSCR + 0 + E + + + + + /DESO/DH_C_OBJ + &NC& + + + + + diff --git a/src/#deso#dh_c_objs.tobj.xml b/src/#deso#dh_c_objs.tobj.xml new file mode 100644 index 0000000..d50b624 --- /dev/null +++ b/src/#deso#dh_c_objs.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_OBJ + S + X + APPL + 3 + + + D + /DESO/DH_C_OBJ + S + DATA Hawk: Prüfobjekte + + + + /DESO/DH_C_OBJ + S + /DESO/DH_C_OBJ + X + X + + + + + /DESO/DH_C_OBJ + &NC& + + + /DESO/DH_C_OBJ + /DESO/FG_DH_CUST + 1 + 0002 + X + X + + + + + diff --git a/src/#deso#dh_c_rep.tabl.xml b/src/#deso#dh_c_rep.tabl.xml new file mode 100644 index 0000000..8b9d494 --- /dev/null +++ b/src/#deso#dh_c_rep.tabl.xml @@ -0,0 +1,100 @@ + + + + + + /DESO/DH_C_REP + D + TRANSP + X + DATA Hawk: Methoden zu Objekten + X + A + 1 + + + /DESO/DH_C_REP + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + OBJECT + X + /DESO/DH_OBJECT + 0 + X + E + + + MSGTY + X + MSGTY + 0 + X + X + F + E + + + MSGID + X + MSGID + 0 + X + E + + + MSGNO + X + MSGNO + 0 + X + E + + + REP_CLASS + SEOCLSNAME + 0 + E + + + REP_METHOD + SEOCPDNAME + 0 + E + + + DESCRIPT + DSCR + 0 + E + + + + + /DESO/DH_C_REP + &NC& + + + + + diff --git a/src/#deso#dh_c_reps.tobj.xml b/src/#deso#dh_c_reps.tobj.xml new file mode 100644 index 0000000..9a0db8c --- /dev/null +++ b/src/#deso#dh_c_reps.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_REP + S + X + APPL + 3 + + + D + /DESO/DH_C_REP + S + DATA Hawk: Methoden zu Objekten + + + + /DESO/DH_C_REP + S + /DESO/DH_C_REP + X + X + + + + + /DESO/DH_C_REP + &NC& + + + /DESO/DH_C_REP + /DESO/FG_DH_CUST + 1 + 0006 + X + X + + + + + diff --git a/src/#deso#dh_c_tab.tabl.xml b/src/#deso#dh_c_tab.tabl.xml new file mode 100644 index 0000000..efa06d3 --- /dev/null +++ b/src/#deso#dh_c_tab.tabl.xml @@ -0,0 +1,70 @@ + + + + + + /DESO/DH_C_TAB + D + TRANSP + X + DATA Hawk: Tabellen zu Objekten + X + A + 1 + + + /DESO/DH_C_TAB + A + 0 + USER + N + + + + MANDT + X + MANDT + 0 + X + E + + + CHECK_VIEW + X + /DESO/DH_VIEW + 0 + X + E + + + OBJECT + X + /DESO/DH_OBJECT + 0 + X + E + + + TABNAME + X + TABNAME + 0 + X + E + + + DESCRIPT + DSCR + 0 + E + + + + + /DESO/DH_C_TAB + &NC& + + + + + diff --git a/src/#deso#dh_c_tabs.tobj.xml b/src/#deso#dh_c_tabs.tobj.xml new file mode 100644 index 0000000..fb64cd4 --- /dev/null +++ b/src/#deso#dh_c_tabs.tobj.xml @@ -0,0 +1,43 @@ + + + + + + /DESO/DH_C_TAB + S + X + APPL + 3 + + + D + /DESO/DH_C_TAB + S + DATA Hawk: Tabellen zu Objekten + + + + /DESO/DH_C_TAB + S + /DESO/DH_C_TAB + X + X + + + + + /DESO/DH_C_TAB + &NC& + + + /DESO/DH_C_TAB + /DESO/FG_DH_CUST + 1 + 0005 + X + X + + + + + diff --git a/src/#deso#dh_checks.clas.abap b/src/#deso#dh_checks.clas.abap new file mode 100644 index 0000000..6feace0 --- /dev/null +++ b/src/#deso#dh_checks.clas.abap @@ -0,0 +1,1056 @@ +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. diff --git a/src/#deso#dh_checks.clas.xml b/src/#deso#dh_checks.clas.xml new file mode 100644 index 0000000..efea179 --- /dev/null +++ b/src/#deso#dh_checks.clas.xml @@ -0,0 +1,286 @@ + + + + + + /DESO/DH_CHECKS + D + Klasse für Prüfungen + 1 + X + X + X + + + + CHECK_ANLAGE_INVOICING_PARTNER + D + ANLAGE: Prüfung fakt. Serviceanbieter + + + CHECK_HAUS_ADRESS + D + CONNOBJ: Prüfung Adressdaten + + + CHECK_INIT + D + Initiale Methode + + + CHECK_INPUT_VS_CUST + D + Prüfung auf Eingaben gegen Customizing + + + CHECK_PARTNER_ADRESS + D + PARTNER: Prüfung Adressdaten + + + CHECK_PARTNER_BANK + D + PARTNER: Prüfung Bankdaten + + + CHECK_PARTNER_MANDATORY + D + PARTNER: Prüfung Pflichtfelder + + + CHECK_PARTNER_RELATION + D + PARTNER: Prüfung Partnerbeziehung + + + CHECK_VERTRAG_BIG_CHECK + D + VERTRAG: Prüfung Vertrag Serviceanbieter + + + CHECK_VERTRAG_INVOICING_PART + D + VERTRAG: Prüfung Vertrag fakt. Serviceanbieter + + + CHECK_VERTRAG_SERVICE_ID + D + VERTRAG: Prüfung Vertrag Serviceanbieter + + + CHECK_VKONT_ADRESS + D + ACCOUNT: Prüfung Adressdaten + + + CHECK_VKONT_AZAWE_EZAWE + D + ACCOUNT: Prüfung Adressdaten + + + CHECK_VORLAGE + D + Vorlage + + + CHECK_VS_SCENARIO + D + VSCEN: Prüfung Versorgungsszenario + + + GR_UTIL + D + Werkzeuge + + + + + CHECK_ANLAGE_INVOICING_PARTNER + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_ANLAGE_INVOICING_PARTNER + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_HAUS_ADRESS + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_HAUS_ADRESS + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_INIT + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_INIT + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_INPUT_VS_CUST + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_INPUT_VS_CUST + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_PARTNER_ADRESS + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_PARTNER_ADRESS + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_PARTNER_BANK + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_PARTNER_BANK + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_PARTNER_MANDATORY + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_PARTNER_MANDATORY + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_PARTNER_RELATION + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_PARTNER_RELATION + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VERTRAG_BIG_CHECK + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VERTRAG_BIG_CHECK + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VERTRAG_INVOICING_PART + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VERTRAG_INVOICING_PART + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VERTRAG_SERVICE_ID + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VERTRAG_SERVICE_ID + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VKONT_ADRESS + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VKONT_ADRESS + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VKONT_AZAWE_EZAWE + IS_DATA + D + DATA Hawk: Daten für die Verarbeitung + + + CHECK_VKONT_AZAWE_EZAWE + IS_MESSAGE + D + DATA Hawk: Message + + + CHECK_VKONT_AZAWE_EZAWE + IV_VIEW + D + DATA Hawk: Variante + + + CHECK_VORLAGE + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VORLAGE + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + CHECK_VS_SCENARIO + IS_DATA + D + DATA Hawk: Fehlerprotokolltabelle + + + CHECK_VS_SCENARIO + IV_OBJECT + D + SAP ArchiveLink: Objekttyp des Business Objekts + + + + + diff --git a/src/#deso#dh_cust.tran.xml b/src/#deso#dh_cust.tran.xml new file mode 100644 index 0000000..9b6d51c --- /dev/null +++ b/src/#deso#dh_cust.tran.xml @@ -0,0 +1,26 @@ + + + + + + /DESO/DH_CUST + Ag== + + + /DESO/DH_CUST + 1 + X + X + + + D + /DESO/DH_CUST + DATA Hawk: Customizing + + + /DESO/DH_CUST + /*SM34 VCLDIR-VCLNAME=/DESO/DH_CUST;UPDATE=x; + + + + diff --git a/src/#deso#dh_cust.vcls.xml b/src/#deso#dh_cust.vcls.xml new file mode 100644 index 0000000..99fa351 --- /dev/null +++ b/src/#deso#dh_cust.vcls.xml @@ -0,0 +1,180 @@ + + + + + + /DESO/DH_CUST + Customizing für DATA-Hawk + + + + /DESO/DH_CUST + /DESO/DH_C_HT + Varianten + /DESO/DH_C_HT + R + 01 + 01 + X + + + /DESO/DH_CUST + /DESO/DH_C_OBJ + Objekte + /DESO/DH_C_HT + S + 02 + 02 + + + /DESO/DH_CUST + /DESO/DH_C_TAB + Tabellen + /DESO/DH_C_OBJ + S + 03 + 03 + + + /DESO/DH_CUST + /DESO/DH_C_CLA + Prüfklasse + /DESO/DH_C_OBJ + S + 04 + 03 + + + /DESO/DH_CUST + /DESO/DH_C_MET + Prüfmethoden + /DESO/DH_C_CLA + S + 05 + 04 + + + /DESO/DH_CUST + /DESO/DH_C_REP + Reparaturmethode + /DESO/DH_C_OBJ + S + 06 + 03 + + + + + /DESO/DH_CUST + /DESO/DH_C_CLA + CHECK_VIEW + /DESO/DH_C_OBJ + CHECK_VIEW + + + /DESO/DH_CUST + /DESO/DH_C_CLA + MANDT + /DESO/DH_C_OBJ + MANDT + + + /DESO/DH_CUST + /DESO/DH_C_CLA + OBJECT + /DESO/DH_C_OBJ + OBJECT + + + /DESO/DH_CUST + /DESO/DH_C_HT + /DESO/DH_C_HT + + + /DESO/DH_CUST + /DESO/DH_C_MET + CHECK_VIEW + /DESO/DH_C_CLA + CHECK_VIEW + + + /DESO/DH_CUST + /DESO/DH_C_MET + CLASS + /DESO/DH_C_CLA + CLASS + + + /DESO/DH_CUST + /DESO/DH_C_MET + MANDT + /DESO/DH_C_CLA + MANDT + + + /DESO/DH_CUST + /DESO/DH_C_MET + OBJECT + /DESO/DH_C_CLA + OBJECT + + + /DESO/DH_CUST + /DESO/DH_C_OBJ + CHECK_VIEW + /DESO/DH_C_HT + CHECK_VIEW + + + /DESO/DH_CUST + /DESO/DH_C_OBJ + MANDT + /DESO/DH_C_HT + MANDT + + + /DESO/DH_CUST + /DESO/DH_C_REP + CHECK_VIEW + /DESO/DH_C_OBJ + CHECK_VIEW + + + /DESO/DH_CUST + /DESO/DH_C_REP + MANDT + /DESO/DH_C_OBJ + MANDT + + + /DESO/DH_CUST + /DESO/DH_C_REP + OBJECT + /DESO/DH_C_OBJ + OBJECT + + + /DESO/DH_CUST + /DESO/DH_C_TAB + CHECK_VIEW + /DESO/DH_C_OBJ + CHECK_VIEW + + + /DESO/DH_CUST + /DESO/DH_C_TAB + MANDT + /DESO/DH_C_OBJ + MANDT + + + /DESO/DH_CUST + /DESO/DH_C_TAB + OBJECT + /DESO/DH_C_OBJ + OBJECT + + + + + diff --git a/src/#deso#dh_custc.tobj.xml b/src/#deso#dh_custc.tobj.xml new file mode 100644 index 0000000..a0d02b7 --- /dev/null +++ b/src/#deso#dh_custc.tobj.xml @@ -0,0 +1,58 @@ + + + + + + /DESO/DH_CUST + C + X + APPL + 3 + + + D + /DESO/DH_CUST + C + Customizing für DATA-Hawk + + + + /DESO/DH_CUST + C + /DESO/DH_C_CLA + X + + + /DESO/DH_CUST + C + /DESO/DH_C_HT + X + + + /DESO/DH_CUST + C + /DESO/DH_C_MET + X + + + /DESO/DH_CUST + C + /DESO/DH_C_OBJ + X + + + /DESO/DH_CUST + C + /DESO/DH_C_REP + X + + + /DESO/DH_CUST + C + /DESO/DH_C_TAB + X + + + + + diff --git a/src/#deso#dh_do_active.doma.xml b/src/#deso#dh_do_active.doma.xml new file mode 100644 index 0000000..6aca142 --- /dev/null +++ b/src/#deso#dh_do_active.doma.xml @@ -0,0 +1,51 @@ + + + + + + /DESO/DH_DO_ACTIVE + D + CHAR + 000001 + 000001 + X + DATA Hawk: Checkbox (Aktiv/Inaktiv) + + + + 0001 + D + X + Aktiv + + + 0002 + D + Inaktiv + + + + E + + + + E + Checkbox (Active/Inactive) + + + + + 0001 + E + X + Active + + + 0002 + E + Inactive + + + + + diff --git a/src/#deso#dh_do_lizenz.doma.xml b/src/#deso#dh_do_lizenz.doma.xml new file mode 100644 index 0000000..8a5ef03 --- /dev/null +++ b/src/#deso#dh_do_lizenz.doma.xml @@ -0,0 +1,16 @@ + + + + + + /DESO/DH_DO_LIZENZ + D + CHAR + 000030 + 000030 + X + DeSo: Lizenzschlüssel + + + + diff --git a/src/#deso#dh_do_object.doma.xml b/src/#deso#dh_do_object.doma.xml new file mode 100644 index 0000000..16538a0 --- /dev/null +++ b/src/#deso#dh_do_object.doma.xml @@ -0,0 +1,16 @@ + + + + + + /DESO/DH_DO_OBJECT + D + CHAR + 000010 + 000010 + TOJTB + DATA Hawk: Object + + + + diff --git a/src/#deso#dh_hawk.prog.abap b/src/#deso#dh_hawk.prog.abap new file mode 100644 index 0000000..d0e1cd4 --- /dev/null +++ b/src/#deso#dh_hawk.prog.abap @@ -0,0 +1,19 @@ +*&---------------------------------------------------------------------* +*& Report /DESO/INCO_HAWK +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT /deso/dh_hawk. +INCLUDE /deso/dh_hawk_se . +INCLUDE /deso/dh_hawk_da . +INCLUDE /deso/dh_hawk_fo . +INCLUDE /deso/dh_hawk_me . +INCLUDE /deso/dh_hawk_mo . + +START-OF-SELECTION. + + CREATE OBJECT g_application. + + mac_check_lizenz. + + CALL SCREEN 9000. diff --git a/src/#deso#dh_hawk.prog.screen_9000.abap b/src/#deso#dh_hawk.prog.screen_9000.abap new file mode 100644 index 0000000..a8a3ca0 --- /dev/null +++ b/src/#deso#dh_hawk.prog.screen_9000.abap @@ -0,0 +1,20 @@ +PROCESS BEFORE OUTPUT. +*&SPWIZARD: PBO FLOW LOGIC FOR TABSTRIP 'TABSTRIP' + MODULE tabstrip_active_tab_set. + CALL SUBSCREEN: + 9001_sca INCLUDING g_tabstrip-prog '9001', + 9002_sca INCLUDING g_tabstrip-prog '9002', + 9003_sca INCLUDING g_tabstrip-prog '9003'. +* 9004_sca INCLUDING g_tabstrip-prog '9004'. + MODULE cont0. + MODULE status_9000. +* +PROCESS AFTER INPUT. +*&SPWIZARD: PAI FLOW LOGIC FOR TABSTRIP 'TABSTRIP' + CALL SUBSCREEN: + 9001_sca, + 9002_sca, + 9003_sca. + + MODULE user_command_9000. + MODULE tabstrip_active_tab_get. diff --git a/src/#deso#dh_hawk.prog.screen_9001.abap b/src/#deso#dh_hawk.prog.screen_9001.abap new file mode 100644 index 0000000..fdb73a6 --- /dev/null +++ b/src/#deso#dh_hawk.prog.screen_9001.abap @@ -0,0 +1,10 @@ +PROCESS BEFORE OUTPUT. + MODULE status_9001. + MODULE fill_variant. + +PROCESS AFTER INPUT. + MODULE user_command_9001. + +PROCESS ON VALUE-REQUEST. + + FIELD gv_var MODULE create_dropbox_variant. diff --git a/src/#deso#dh_hawk.prog.screen_9002.abap b/src/#deso#dh_hawk.prog.screen_9002.abap new file mode 100644 index 0000000..379093a --- /dev/null +++ b/src/#deso#dh_hawk.prog.screen_9002.abap @@ -0,0 +1,8 @@ +PROCESS BEFORE OUTPUT. + MODULE STATUS_9002. + CALL SUBSCREEN subscreen INCLUDING '/DESO/DH_HAWK' '0100'. +* +PROCESS AFTER INPUT. + + CALL SUBSCREEN subscreen. + MODULE USER_COMMAND_9002. diff --git a/src/#deso#dh_hawk.prog.screen_9003.abap b/src/#deso#dh_hawk.prog.screen_9003.abap new file mode 100644 index 0000000..8f540d0 --- /dev/null +++ b/src/#deso#dh_hawk.prog.screen_9003.abap @@ -0,0 +1,5 @@ +PROCESS BEFORE OUTPUT. + MODULE status_9003. +* +PROCESS AFTER INPUT. + MODULE user_command_9003. diff --git a/src/#deso#dh_hawk.prog.xml b/src/#deso#dh_hawk.prog.xml new file mode 100644 index 0000000..8837f4e --- /dev/null +++ b/src/#deso#dh_hawk.prog.xml @@ -0,0 +1,724 @@ + + + + + + /DESO/DH_HAWK + 1 + D + X + X + + + +
+ /DESO/DH_HAWK + 9000 + D + Hauptbildschirm + N + 9000 + 055 + 255 +
+ + + SCREEN + SCREEN + + + CUST_CTRL + CONT0 + SCREEN + 001 + 001 + 255 + 007 + + + STRIP_CTRL + TABSTRIP + SCREEN + 010 + 001 + 255 + 046 + X + X + 006 + 015 + + + SUBSCREEN + 9001_SCA + TABSTRIP + 012 + 002 + 253 + 043 + X + X + 003 + 012 + X + X + + + SUBSCREEN + 9002_SCA + TABSTRIP + 012 + 002 + 253 + 043 + X + X + 003 + 012 + X + X + + + SUBSCREEN + 9003_SCA + TABSTRIP + 012 + 002 + 253 + 043 + X + X + 003 + 012 + X + X + + + + + SCREEN + SCREEN + PUSH + BUT_CUST + Customizing_ + ICON_ALV_VARIANTS + X + 009 + 241 + 017 + 015 + 001 + CUST + CHAR + N + + + SCREEN + SCREEN + OKCODE + ____________________ + 020 + 020 + 001 + CHAR + X + + + STRIP_CTRL + TABSTRIP + PUSH + TABSTRIP_TAB1 + Varianten + 001 + 001 + 009 + 009 + 001 + TABSTRIP_FC1 + P + CHAR + N + 9001_SCA + + + STRIP_CTRL + TABSTRIP + PUSH + TABSTRIP_TAB2 + Verarbeitung + 001 + 002 + 012 + 012 + 001 + TABSTRIP_FC2 + P + CHAR + N + 9002_SCA + + + STRIP_CTRL + TABSTRIP + PUSH + TABSTRIP_TAB3 + Ergebnis + 001 + 003 + 008 + 008 + 001 + TABSTRIP_FC3 + P + CHAR + N + 9003_SCA + + +
+ +
+ /DESO/DH_HAWK + 9001 + D + Varianten + I + 0000 + 024 + 252 +
+ + + SCREEN + SCREEN + + + CUST_CTRL + CONT1 + SCREEN + 003 + 001 + 251 + 022 + + + + + SCREEN + SCREEN + TEXT + TXT_VAR + Variante: + 001 + 001 + 009 + 009 + 001 + CHAR + N + X + + + SCREEN + SCREEN + TEMPLATE + GV_VAR + __________ + K + 001 + 011 + 010 + 012 + 001 + SEL_VARI + CHAR + X + X + R + 1 + + + SCREEN + SCREEN + PUSH + BUT_CREATE + anlegen__ + ICON_CREATE + X + 001 + 025 + 014 + 012 + 001 + NEW + CHAR + N + + + SCREEN + SCREEN + PUSH + BUT_SAVE + sichern__ + ICON_SYSTEM_SAVE + X + 001 + 039 + 014 + 012 + 001 + SAVE + CHAR + N + + + SCREEN + SCREEN + PUSH + BUT_DELETE + löschen__ + ICON_DELETE + X + 001 + 053 + 014 + 012 + 001 + DELETE + CHAR + N + + + SCREEN + SCREEN + OKCODE + ____________________ + 020 + 020 + 001 + CHAR + X + + +
+ +
+ /DESO/DH_HAWK + 9002 + D + Verarbeitung + I + 0000 + 044 + 255 +
+ + + SCREEN + SCREEN + + + SUBSCREEN + SUBSCREEN + SCREEN + 003 + 001 + 250 + 010 + + + + + SCREEN + SCREEN + TEXT + TXT_SEL + Selektionskriterien + 001 + 002 + 019 + 019 + 001 + CHAR + N + X + + + SCREEN + SCREEN + PUSH + BUT_START + Verarbeitung_starten + ICON_EXECUTE_OBJECT + X + 001 + 022 + 025 + 021 + 001 + START + CHAR + N + + + SCREEN + SCREEN + OKCODE + ____________________ + 020 + 020 + 001 + CHAR + X + + +
+ +
+ /DESO/DH_HAWK + 9003 + D + Ergebnis + I + 0000 + 024 + 255 +
+ + + SCREEN + SCREEN + + + CUST_CTRL + CONT2 + SCREEN + 003 + 001 + 253 + 022 + + + + + SCREEN + SCREEN + TEXT + %#AUTOTEXT001 + Ergebnis_der_Analyse + 001 + 001 + 020 + 020 + 001 + CHAR + N + X + + + SCREEN + SCREEN + PUSH + BUT_REF + Aktualisieren + ICON_REFRESH + X + 001 + 029 + 018 + 015 + 001 + REF + CHAR + N + + + SCREEN + SCREEN + PUSH + BUT_DELETE + Zurücksetzen + ICON_DELETE + X + 001 + 045 + 017 + 015 + 001 + DELE + CHAR + N + + + SCREEN + SCREEN + PUSH + BUT_KORREKTUR + Korrektur_starten + ICON_EXECUTE_OBJECT + X + 001 + 066 + 022 + 017 + 001 + KORR_RUN + CHAR + N + + + SCREEN + SCREEN + OKCODE + ____________________ + 020 + 020 + 001 + CHAR + X + + +
+
+ + + 000001 + 000001 + + + + 9000 + D + 000001 + 000001 + 0001 + 9000 + + + + + BACK + 001 + S + Zurück + + + EXIT + 001 + S + Beenden + + + EXIT + 002 + S + ICON_CANCEL + @0W@ + Abbrechen + + + + + 000001 + 03 + BACK + 001 + + + 000001 + 12 + EXIT + 002 + + + 000001 + 15 + EXIT + 001 + + + + + 9000 + BACK + + + 9000 + EXIT + + + + + A + 000001 + D + 9000 + + + P + 000001 + D + 9000 + + + B + 000001 + 0001 + D + 9000 + + + + + /DESO/DH_HAWK + DeSo: DATA Hawk + + + /DESO/MIGCOCKPIT + DeSo: DATA-Hawk + + + + + + I + 001 + Selektion + 20 + + + I + 002 + Verarbeitungsart + 27 + + + R + DeSo: DATA Hawk + 18 + + + S + PA_AKT + Nur aktive Verträge + 28 + + + S + PA_BATCH + Batchverarbeitung + 25 + + + S + PA_BGRFC + BgRFC-Verarbeitung + 26 + + + S + PA_COUNT + Anzahl Batchjobs + 24 + + + S + PA_DEST + BgRFC-Verbindung + 24 + + + S + PA_DEV + Gerätebeziehungen beachten + 34 + + + S + PA_PACK + BgRFC-Packetgröße + 25 + + + S + PA_PREL + ZP-Beziehungen beachten + 31 + + + S + SO_ANL + . + 9 + D + + + S + SO_AO + Anschlussobjekt + 23 + + + S + SO_BUKRS + . + 9 + D + + + S + SO_EXTUI + . + 9 + D + + + S + SO_GER + Geräte + 14 + + + S + SO_GINF + Geräteinfosätze + 23 + + + S + SO_GPART + . + 9 + D + + + S + SO_MATNR + Gerätetyp + 17 + + + S + SO_VERT + . + 9 + D + + + S + SO_VKONT + . + 9 + D + + + S + SO_VST + . + 9 + D + + +
+
+
diff --git a/src/#deso#dh_hawk_btc.prog.abap b/src/#deso#dh_hawk_btc.prog.abap new file mode 100644 index 0000000..95f4ac1 --- /dev/null +++ b/src/#deso#dh_hawk_btc.prog.abap @@ -0,0 +1,128 @@ +*&---------------------------------------------------------------------* +*& Report /DESO/DH_HAWK_BTC +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT /deso/dh_hawk_btc. +TABLES: fkkvkp, + ever, + evbs, + equi, + egerr, + ehauisu, + euitrans. + +DATA: gt_sel TYPE TABLE OF /deso/s_select. +DATA: gt_sel_pack TYPE /deso/dh_tt_select. + +PARAMETERS: pa_view TYPE /deso/dh_view. +SELECT-OPTIONS so_gpart FOR fkkvkp-gpart. +SELECT-OPTIONS so_vkont FOR fkkvkp-vkont. +SELECT-OPTIONS so_vert FOR ever-vertrag. +SELECT-OPTIONS so_bukrs FOR ever-bukrs. +SELECT-OPTIONS so_anl FOR ever-anlage. +SELECT-OPTIONS so_vst FOR evbs-vstelle. +SELECT-OPTIONS so_ao FOR ehauisu-haus. +SELECT-OPTIONS so_matnr FOR equi-matnr. +SELECT-OPTIONS so_ger FOR equi-equnr. +SELECT-OPTIONS so_ginf FOR egerr-equnr. +SELECT-OPTIONS so_extui FOR euitrans-ext_ui. +PARAMETERS: pa_akt AS CHECKBOX. +PARAMETERS: pa_dev TYPE flag. "Zusatzdaten beim Gerät beachten: ZW-/Gerätezuordnungen, ZW-Beziehungen und weitere Daten nachladen +PARAMETERS: pa_prel TYPE flag. "ZP-Beziehungen lesen und Daten zu den in der Beziehungen vorkommenden ZP nachladen + +PARAMETERS: pa_bgrfc RADIOBUTTON GROUP 1, + pa_batch RADIOBUTTON GROUP 1. +PARAMETERS: pa_btcnt(2) TYPE n DEFAULT 1. +PARAMETERS: pa_btc." NO-DISPLAY. + +START-OF-SELECTION. + + IF NOT so_gpart IS INITIAL. + SELECT 'ISUPARTNER' AS objekt, partner AS objkey FROM but100 + APPENDING TABLE @gt_sel + WHERE partner IN @so_gpart. + ENDIF. + IF NOT so_vkont IS INITIAL. + SELECT 'ISUACCOUNT' AS objekt, vkont AS objkey FROM fkkvk + APPENDING TABLE @gt_sel + WHERE vkont IN @so_vkont. + ENDIF. + + IF NOT so_vert IS INITIAL. + IF pa_akt IS INITIAL. + SELECT 'ISUCONTRCT' AS objekt, vertrag AS objkey FROM ever + APPENDING TABLE @gt_sel + WHERE vertrag IN @so_vert + AND bukrs IN @so_bukrs. + ELSE. + SELECT 'ISUCONTRCT' AS objekt, vertrag AS objkey FROM ever + APPENDING TABLE @gt_sel + WHERE vertrag IN @so_vert + AND bukrs IN @so_bukrs + AND auszdat EQ '99991231'. + ENDIF. + ENDIF. + + IF NOT so_anl IS INITIAL. + SELECT 'INSTLN' AS objekt, anlage AS objkey FROM eanl + APPENDING TABLE @gt_sel + WHERE anlage IN @so_anl. + ENDIF. + + IF NOT so_vst IS INITIAL. + SELECT 'PREMISES' AS objekt, vstelle AS objkey FROM evbs + APPENDING TABLE @gt_sel + WHERE vstelle IN @so_vst. + ENDIF. + + IF NOT so_ao IS INITIAL. + SELECT 'CONNOBJ' AS objekt, haus AS objkey FROM ehauisu + APPENDING TABLE @gt_sel + WHERE haus IN @so_ao. + ENDIF. + + IF NOT so_matnr IS INITIAL. + SELECT 'DEVICE' AS objekt, equnr AS objkey FROM equi + APPENDING TABLE @gt_sel + WHERE matnr IN @so_matnr. + SELECT 'DEVICE' AS objekt, equnr AS objkey FROM egerr + APPENDING TABLE @gt_sel + WHERE matnr IN @so_matnr + AND bis = '99991231'. + ENDIF. + + + IF NOT so_ger IS INITIAL. + SELECT 'DEVICE' AS objekt, equnr AS objkey FROM equi + APPENDING TABLE @gt_sel + WHERE equnr IN @so_ger. + ENDIF. + + IF NOT so_ginf IS INITIAL. + SELECT 'DEVINFO' AS objekt, equnr AS objkey FROM egerr + APPENDING TABLE @gt_sel + WHERE equnr IN @so_ginf. + ENDIF. + + IF NOT so_extui IS INITIAL. + SELECT 'ISUPOD' AS objekt, ext_ui AS objkey FROM euitrans + APPENDING TABLE @gt_sel + WHERE ext_ui IN @so_extui. + ENDIF. + + + SORT gt_sel. + DELETE ADJACENT DUPLICATES FROM gt_sel. + + IF pa_btc = abap_true. + PERFORM work_btc. + ELSE. + IF pa_batch = abap_true. + PERFORM run_batch. + ELSE. + PERFORM run_bgrfc. + ENDIF. + ENDIF. + + INCLUDE /deso/dh_hawk_btc_f. diff --git a/src/#deso#dh_hawk_btc.prog.xml b/src/#deso#dh_hawk_btc.prog.xml new file mode 100644 index 0000000..9f15758 --- /dev/null +++ b/src/#deso#dh_hawk_btc.prog.xml @@ -0,0 +1,84 @@ + + + + + + /DESO/DH_HAWK_BTC + 1 + D + X + X + + + + R + DeSo: DATA Hawk Analysereport + 29 + + + S + PA_VIEW + . + 9 + D + + + S + SO_ANL + . + 9 + D + + + S + SO_AO + . + 9 + D + + + S + SO_GER + . + 9 + D + + + S + SO_GINF + . + 9 + D + + + S + SO_GPART + . + 9 + D + + + S + SO_VERT + . + 9 + D + + + S + SO_VKONT + . + 9 + D + + + S + SO_VST + . + 9 + D + + + + + diff --git a/src/#deso#dh_hawk_btc_f.prog.abap b/src/#deso#dh_hawk_btc_f.prog.abap new file mode 100644 index 0000000..70997b2 --- /dev/null +++ b/src/#deso#dh_hawk_btc_f.prog.abap @@ -0,0 +1,375 @@ +*----------------------------------------------------------------------* +***INCLUDE /DESO/DH_HAWK_BTC_F. +*----------------------------------------------------------------------* +*&---------------------------------------------------------------------* +*& Form run_bgrfc +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM run_bgrfc . + SELECT SINGLE bgrfc_dest FROM /deso/dh_c_ht + INTO @DATA(lv_bgrfc). + + SELECT SINGLE bgrfc_pack FROM /deso/dh_c_ht + INTO @DATA(lv_pack). + + DATA(lo_dest) = cl_bgrfc_destination_inbound=>create( lv_bgrfc ). + + DO. + DATA(lo_unit) = lo_dest->create_trfc_unit( ). + + APPEND LINES OF gt_sel FROM 1 TO lv_pack TO gt_sel_pack. + + IF lines( gt_sel_pack ) = 0. + EXIT. + ENDIF. + + CALL FUNCTION '/DESO/DATA_HAWK' + IN BACKGROUND UNIT lo_unit + EXPORTING + iv_check_view = pa_view + IV_CHECK_DEV = pa_dev + IV_CHECK_PODREL = pa_prel + TABLES + it_data = gt_sel_pack. + + COMMIT WORK. + DELETE gt_sel FROM 1 TO lv_pack. + REFRESH gt_sel_pack. + + ENDDO. + +ENDFORM. +*&---------------------------------------------------------------------* +*& Form run_batch +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM run_batch . + DEFINE mac_so. + + LOOP AT &1. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = &1-sign. + -option = &1-option. + -kind = 'S'. + -selname = '&1'. + -low = &1-low. + -high = &1-high. + ENDLOOP. + + END-OF-DEFINITION. + + DATA: lv_jobname TYPE tbtcjob-jobname. + DATA: lv_jobcount LIKE tbtcjob-jobcount. + DATA: BEGIN OF ls_starttime. + INCLUDE STRUCTURE tbtcstrt. + DATA: END OF ls_starttime. + DATA: lt_selection TYPE TABLE OF rsparams. + DATA: startimmediate LIKE btch0000-char1. + DATA: job_already_released. + + lv_jobname = '/DESO/DATA_HAWK' && '_' && pa_view. + + CALL FUNCTION 'JOB_OPEN' + EXPORTING + jobname = lv_jobname + IMPORTING + jobcount = lv_jobcount + EXCEPTIONS + cant_create_job = 1 + invalid_job_data = 2 + jobname_missing = 3 + OTHERS = 4. + IF sy-subrc <> 0. +* Implement suitable error handling here + ELSE. + + APPEND INITIAL LINE TO lt_selection ASSIGNING FIELD-SYMBOL(). + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_VIEW'. + -low = pa_view. + + + mac_so so_gpart. + mac_so so_vkont. + mac_so so_vert. + mac_so so_anl. + mac_so so_vst. + mac_so so_ao. + mac_so so_matnr. + mac_so so_ger. + mac_so so_ginf. + mac_so so_extui. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_DEV'. + -low = pa_dev. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_PREL'. + -low = pa_prel. + + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BTC'. + -low = abap_true. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BATCH'. + -low = abap_true. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BTCNT'. + -low = pa_btcnt. + +* -high = &1-high. + + SUBMIT /deso/dh_hawk_btc WITH SELECTION-TABLE lt_selection + VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. + +* CALL FUNCTION 'BP_START_DATE_EDITOR' +* EXPORTING +* stdt_dialog = 'N' +* stdt_input = ls_starttime +* stdt_opcode = '14' +* IMPORTING +** stdt_modify_type = start_modify_flag +* stdt_output = ls_starttime +* EXCEPTIONS +* fcal_id_not_defined = 01 +* incomplete_last_startdate = 02 +* incomplete_startdate = 03 +* invalid_dialog_type = 04 +* invalid_eventid = 05 +* invalid_opcode = 06 +* invalid_opmode_name = 07 +* invalid_periodbehaviour = 08 +* invalid_predecessor_jobname = 09 +* last_startdate_in_the_past = 10 +* no_period_data_given = 11 +* no_startdate_given = 12 +* period_and_predjob_no_way = 13 +* period_too_small_for_limit = 14 +* predecessor_jobname_not_unique = 15 +* startdate_interval_too_large = 16 +* startdate_in_the_past = 17 +* startdate_is_a_holiday = 18 +* startdate_out_of_fcal_range = 19 +* stdt_before_holiday_in_past = 20 +* unknown_fcal_error_occured = 21. +* +* +* CASE ls_starttime-startdttyp. +* WHEN 'I'. "User selected immediate start +* startimmediate = 'X'. +* ENDCASE. + + CALL FUNCTION 'JOB_CLOSE' + EXPORTING +* at_opmode = ' ' +* at_opmode_periodic = ' ' +* calendar_id = ' ' +* event_id = ls_starttime-eventid +* event_param = ls_starttime-eventparm +* event_periodic = ' ' + jobcount = lv_jobcount + jobname = lv_jobname +* laststrtdt = ls_starttime-laststrtdt +* laststrttm = ls_starttime-laststrttm +* prddays = ls_starttime-prddays +* prdhours = ls_starttime-prdhours +* prdmins = ls_starttime-prdmins +* prdmonths = ls_starttime-prdmonths +* prdweeks = ls_starttime-prdweeks +* predjob_checkstat = ' ' +* pred_jobcount = ' ' +* pred_jobname = ' ' +* sdlstrtdt = ls_starttime-sdlstrtdt +* sdlstrttm = ls_starttime-sdlstrttm +* startdate_restriction = btc_process_always + strtimmed = 'X' "startimmediate' + IMPORTING + job_was_released = job_already_released + EXCEPTIONS + cant_start_immediate = 01 + invalid_startdate = 02 + jobname_missing = 03 + job_close_failed = 04 + job_nosteps = 05 + job_notex = 06 + lock_failed = 07. + IF sy-subrc = 0. + IF startimmediate = abap_true. + MESSAGE s000(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und gestartet. + ELSE. + MESSAGE s001(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und eingeplant. + ENDIF. + ENDIF. + + ENDIF. +ENDFORM. +*&---------------------------------------------------------------------* +*& Form work_btc +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM work_btc . + DEFINE mac_so. + + LOOP AT &1. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = &1-sign. + -option = &1-option. + -kind = 'S'. + -selname = '&1'. + -low = &1-low. + -high = &1-high. + ENDLOOP. + + END-OF-DEFINITION. + + DATA: lv_jobname TYPE tbtcjob-jobname. + DATA: lv_jobcount LIKE tbtcjob-jobcount. + DATA: BEGIN OF ls_starttime. + INCLUDE STRUCTURE tbtcstrt. + DATA: END OF ls_starttime. + DATA: lt_selection TYPE TABLE OF rsparams. + DATA: startimmediate LIKE btch0000-char1. + DATA: job_already_released. + DATA: lv_n3(3) TYPE n. + + DATA: lv_pack TYPE int4. + lv_pack = lines( gt_sel ) / pa_btcnt. + + DO pa_btcnt TIMES. + MOVE sy-index TO lv_n3. + APPEND LINES OF gt_sel FROM 1 TO lv_pack TO gt_sel_pack. + DELETE gt_sel FROM 1 TO lv_pack. + lv_jobname = '/DESO/DATA_HAWK_ST' && '_' && pa_view && '_' && lv_n3. + + CALL FUNCTION 'JOB_OPEN' + EXPORTING + jobname = lv_jobname + IMPORTING + jobcount = lv_jobcount + EXCEPTIONS + cant_create_job = 1 + invalid_job_data = 2 + jobname_missing = 3 + OTHERS = 4. + IF sy-subrc <> 0. +* Implement suitable error handling here + ELSE. + REFRESH lt_selection. + "Steps mit 500 + WHILE lines( gt_sel_pack ) > 0. + READ TABLE gt_sel_pack ASSIGNING FIELD-SYMBOL() INDEX 1. + APPEND INITIAL LINE TO lt_selection ASSIGNING FIELD-SYMBOL(). + -sign = 'I'. + -option = 'EQ'. + -kind = 'S'. + -selname = 'SO_SEL'. + -low(10) = -object. + -low+10 = -objkey. + DELETE gt_sel_pack INDEX 1. + +* IF lines( lt_selection ) = 10. +* APPEND INITIAL LINE TO lt_selection ASSIGNING . +* -sign = 'I'. +* -option = 'EQ'. +* -kind = 'P'. +* -selname = 'PA_VIEW'. +* -low = pa_view. +* +* +* SUBMIT /deso/dh_hawk_btc WITH SELECTION-TABLE lt_selection +* VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. +* REFRESH lt_selection. +* ENDIF. + + ENDWHILE. + IF lines( lt_selection ) > 0. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_VIEW'. + -low = pa_view. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_DEV'. + -low = pa_dev. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_PREL'. + -low = pa_prel. + + SUBMIT /deso/dh_hawk_btc_start WITH SELECTION-TABLE lt_selection + VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. + REFRESH lt_selection. + + ENDIF. + CALL FUNCTION 'JOB_CLOSE' + EXPORTING + jobcount = lv_jobcount + jobname = lv_jobname + strtimmed = 'X' + IMPORTING + job_was_released = job_already_released + EXCEPTIONS + cant_start_immediate = 01 + invalid_startdate = 02 + jobname_missing = 03 + job_close_failed = 04 + job_nosteps = 05 + job_notex = 06 + lock_failed = 07. + IF sy-subrc = 0. + IF startimmediate = abap_true. + MESSAGE s000(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und gestartet. + ELSE. + MESSAGE s001(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und eingeplant. + ENDIF. + ENDIF. + + ENDIF. + + ENDDO. "Jobs + + + + + +ENDFORM. diff --git a/src/#deso#dh_hawk_btc_f.prog.xml b/src/#deso#dh_hawk_btc_f.prog.xml new file mode 100644 index 0000000..9d5126f --- /dev/null +++ b/src/#deso#dh_hawk_btc_f.prog.xml @@ -0,0 +1,20 @@ + + + + + + /DESO/DH_HAWK_BTC_F + I + D + X + + + + R + Include für /DESO/DH_HAWK_BTC Forms + 35 + + + + + diff --git a/src/#deso#dh_hawk_btc_start.prog.abap b/src/#deso#dh_hawk_btc_start.prog.abap new file mode 100644 index 0000000..7140cd6 --- /dev/null +++ b/src/#deso#dh_hawk_btc_start.prog.abap @@ -0,0 +1,30 @@ +*&---------------------------------------------------------------------* +*& Report /DESO/DH_HAWK_BTC_START +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT /DESO/DH_HAWK_BTC_START. +data ls_sel type /deso/s_select. +data lt_sel type TABLE of /deso/s_select. +data ls_sel_txt type char80. + +PARAMETERS: pa_view TYPE /deso/dh_view. +PARAMETERS: pa_dev TYPE flag. "Zusatzdaten beim Gerät beachten: ZW-/Gerätezuordnungen, ZW-Beziehungen und weitere Daten nachladen +PARAMETERS: pa_prel TYPE flag. "ZP-Beziehungen lesen und Daten zu den in der Beziehungen vorkommenden ZP nachladen + +SELECT-OPTIONS so_sel for ls_sel_txt. + + +LOOP AT so_sel ASSIGNING FIELD-SYMBOL(). + ls_sel-object = -low(10). + ls_sel-objkey = -low+10. + append ls_sel to lt_sel. +ENDLOOP. + + CALL FUNCTION '/DESO/DATA_HAWK' + EXPORTING + iv_check_view = pa_view + IV_CHECK_DEV = pa_dev + IV_CHECK_PODREL = pa_prel + TABLES + it_data = lt_sel. diff --git a/src/#deso#dh_hawk_btc_start.prog.xml b/src/#deso#dh_hawk_btc_start.prog.xml new file mode 100644 index 0000000..7db0dd2 --- /dev/null +++ b/src/#deso#dh_hawk_btc_start.prog.xml @@ -0,0 +1,48 @@ + + + + + + /DESO/DH_HAWK_BTC_START + 1 + D + X + X + + + + R + DeSo: DATA Hawk Analyse Startreport + 35 + + + S + PA_DEV + . + 9 + D + + + S + PA_PREL + . + 9 + D + + + S + PA_VIEW + . + 9 + D + + + S + SO_SEL + Selektion + 17 + + + + + diff --git a/src/#deso#dh_hawk_correct.prog.abap b/src/#deso#dh_hawk_correct.prog.abap new file mode 100644 index 0000000..20cf73b --- /dev/null +++ b/src/#deso#dh_hawk_correct.prog.abap @@ -0,0 +1,64 @@ +*&---------------------------------------------------------------------* +*& Report /DESO/DH_HAWK_CORRECT +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +REPORT /deso/dh_hawk_correct. + +DATA: gr_repare TYPE REF TO /deso/dh_repare. +DATA: lv_update TYPE kennzx. + +PARAMETERS: pa_view TYPE /deso/dh_view, + pa_obj TYPE /deso/dh_message-object, + pa_refob TYPE /deso/dh_object, + pa_reffl TYPE /deso/dh_message-reffld, + pa_msgty TYPE sy-msgty, + pa_msgid TYPE sy-msgid, + pa_msgno TYPE sy-msgno, + pa_class TYPE seoclsname, + pa_meth TYPE seocpdname. + +START-OF-SELECTION. + + SELECT * FROM /deso/dh_message + INTO TABLE @DATA(lt_message) + WHERE check_view = @pa_view + AND object = @pa_obj + AND refobject = @pa_refob + AND reffld = @pa_reffl + AND msgty = @pa_msgty + AND msgid = @pa_msgid + AND msgno = @pa_msgno. + + CREATE OBJECT gr_repare TYPE (pa_class). + + LOOP AT lt_message ASSIGNING FIELD-SYMBOL(). + + CALL METHOD gr_repare->(pa_meth) + EXPORTING + iv_view = -check_view + iv_object = -object + iv_objkey = -objkey + CHANGING + cs_message = + RECEIVING + rv_update = lv_update. + + IF lv_update = abap_true. + + UPDATE /deso/dh_message SET status = '@08@' + WHERE check_view = pa_view + AND object = pa_obj + AND refobject = pa_refob + AND reffld = pa_reffl + AND refobjkey = -refobjkey + AND msgty = pa_msgty + AND msgid = pa_msgid + AND msgno = pa_msgno. + COMMIT WORK. + ELSE. +* Update war nicht erfolgreich. + ROLLBACK WORK. + ENDIF. + + ENDLOOP. diff --git a/src/#deso#dh_hawk_correct.prog.xml b/src/#deso#dh_hawk_correct.prog.xml new file mode 100644 index 0000000..42879dc --- /dev/null +++ b/src/#deso#dh_hawk_correct.prog.xml @@ -0,0 +1,81 @@ + + + + + + /DESO/DH_HAWK_CORRECT + 1 + D + X + X + + + + R + DeSo: DATA Hawk Korrekturreport + 31 + + + S + PA_CLASS + Reparaturklasse + 23 + + + S + PA_METH + Reparaturmethode + 24 + + + S + PA_MSGID + . + 9 + D + + + S + PA_MSGNO + . + 9 + D + + + S + PA_MSGTY + . + 9 + D + + + S + PA_OBJ + Prüfobjekt + 18 + + + S + PA_REFFL + . + 9 + D + + + S + PA_REFOB + . + 9 + D + + + S + PA_VIEW + . + 9 + D + + + + + diff --git a/src/#deso#dh_hawk_da.prog.abap b/src/#deso#dh_hawk_da.prog.abap new file mode 100644 index 0000000..d45892f --- /dev/null +++ b/src/#deso#dh_hawk_da.prog.abap @@ -0,0 +1,107 @@ +*&---------------------------------------------------------------------* +*& Include /DESO/DH_HAWK_D +*&---------------------------------------------------------------------* + + DATA gv_version(10) VALUE '1.25.08.07'. + + CLASS lcl_application DEFINITION DEFERRED. + + DATA: encoded TYPE string, + decoded TYPE string, + code TYPE string, + c_last_error TYPE i. + DEFINE mac_check_lizenz. + SELECT SINGLE lizenz FROM /deso/dh_c_ht INTO code. + SYSTEM-CALL ict + DID + ihttp_scid_base64_unescape + PARAMETERS + code " > + decoded " < + c_last_error. " < return code + + IF sy-datum >= decoded. + MESSAGE i000(em) WITH 'Keine gültige Lizenz' + space + space + space. + CALL TRANSACTION '/DESO/DH_CUST'. + LEAVE PROGRAM. + ENDIF. + END-OF-DEFINITION. + +*&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TABSTRIP' + CONSTANTS: BEGIN OF c_tabstrip, + tab1 LIKE sy-ucomm VALUE 'TABSTRIP_FC1', + tab2 LIKE sy-ucomm VALUE 'TABSTRIP_FC2', + tab3 LIKE sy-ucomm VALUE 'TABSTRIP_FC3', + tab4 LIKE sy-ucomm VALUE 'TABSTRIP_FC4', + END OF c_tabstrip. +*&SPWIZARD: DATA FOR TABSTRIP 'TABSTRIP' + CONTROLS: tabstrip TYPE TABSTRIP. + DATA: BEGIN OF g_tabstrip, + subscreen LIKE sy-dynnr, + prog LIKE sy-repid VALUE '/DESO/DH_HAWK', + pressed_tab LIKE sy-ucomm VALUE c_tabstrip-tab1, + END OF g_tabstrip. + DATA: ok_code LIKE sy-ucomm. + + DATA: go_container_html TYPE REF TO cl_gui_custom_container, + go_picture_html TYPE REF TO cl_gui_html_viewer, + lv_url_html TYPE cndp_url, + ls_raw_html_line TYPE c LENGTH 255, + lt_raw_html LIKE STANDARD TABLE OF ls_raw_html_line. + + DATA: lv_last_version TYPE char20. + + DATA: ra_gpart TYPE RANGE OF gpart. + DATA: ra_vkont TYPE RANGE OF vkont_kk. + DATA: ra_vert TYPE RANGE OF vertrag. + + DATA: gv_var TYPE /deso/dh_view. + DATA: g_custom_container TYPE REF TO cl_gui_custom_container. + DATA: g_custom_container_result TYPE REF TO cl_gui_custom_container. + + DATA: o_alv1 TYPE REF TO cl_gui_alv_grid, + o_alv2 TYPE REF TO cl_gui_alv_grid, + o_dock TYPE REF TO cl_gui_docking_container, + o_dial TYPE REF TO cl_gui_dialogbox_container, + alv_ok_code TYPE sy-ucomm VALUE 'INCLUDE'. + + DATA: gt_fieldcat TYPE lvc_t_fcat, + gt_fieldcat_result TYPE lvc_t_fcat, + gt_fieldcat_detail TYPE lvc_t_fcat, + g_grid TYPE REF TO cl_gui_alv_grid, + g_grid_result TYPE REF TO cl_gui_alv_grid. + DATA: gs_layout TYPE lvc_s_layo. + DATA: gs_layout_result TYPE lvc_s_layo. + DATA: gs_variant TYPE disvariant. + DATA: gs_variant_result TYPE disvariant. + + CONSTANTS: cl_st TYPE disvariant-variant VALUE '/ST'. + + DATA: g_application TYPE REF TO lcl_application. + + DATA: gt_var TYPE TABLE OF /deso/dh_variant. + DATA: gt_ht TYPE TABLE OF /deso/dh_c_ht. + DATA: gt_obj TYPE TABLE OF /deso/dh_c_obj. + DATA: gt_tab TYPE TABLE OF /deso/dh_c_tab. + DATA: gt_cla TYPE TABLE OF /deso/dh_c_cla. + DATA: gt_met TYPE TABLE OF /deso/dh_c_met. + DATA: gt_rep TYPE TABLE OF /deso/dh_c_rep. + + TYPES: BEGIN OF ty_result_show. + INCLUDE TYPE /deso/dh_message. + TYPES: count TYPE i, + END OF ty_result_show. + + DATA: gs_result_show TYPE ty_result_show. + DATA: gt_result TYPE TABLE OF /deso/dh_message. + DATA: gt_result_detail TYPE TABLE OF /deso/dh_message. + DATA: gt_result_show LIKE TABLE OF gs_result_show. + + DATA: gt_result_collect TYPE TABLE OF /deso/dh_c_rep. + + DATA init. + + DATA: lt_exclude TYPE ui_functions. diff --git a/src/#deso#dh_hawk_da.prog.xml b/src/#deso#dh_hawk_da.prog.xml new file mode 100644 index 0000000..9fc2dd0 --- /dev/null +++ b/src/#deso#dh_hawk_da.prog.xml @@ -0,0 +1,20 @@ + + + + + + /DESO/DH_HAWK_DA + I + S + D + + + + R + Include für DATA Hawk Datendeklaration + 41 + + + + + diff --git a/src/#deso#dh_hawk_fo.prog.abap b/src/#deso#dh_hawk_fo.prog.abap new file mode 100644 index 0000000..03d8d32 --- /dev/null +++ b/src/#deso#dh_hawk_fo.prog.abap @@ -0,0 +1,924 @@ +*&---------------------------------------------------------------------* +*& Include /DESO/DH_HAWK_F +*&---------------------------------------------------------------------* + + +*&---------------------------------------------------------------------* +*& Form build_fieldcat +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_fieldcat . + + CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' + EXPORTING + i_structure_name = '/DESO/DH_VARIANT' + i_bypassing_buffer = abap_true + CHANGING + ct_fieldcat = gt_fieldcat. + + LOOP AT gt_fieldcat ASSIGNING FIELD-SYMBOL(). + + CASE -fieldname. + WHEN 'MANDT'. + DELETE gt_fieldcat INDEX sy-tabix. + CONTINUE. + WHEN 'AKTIV'. + -checkbox = abap_true. + -edit = abap_true. + -outputlen = 5. + WHEN OTHERS. + ENDCASE. + + ENDLOOP. + +ENDFORM. +*&---------------------------------------------------------------------* +*& Form build_layout +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_layout . + CLEAR gs_layout. + gs_layout-sel_mode = '0'. +* gs_layout-stylefname = 'CELLTAB'. +* gs_layout-ctab_fname = 'CELLCOL'. +ENDFORM. +*&---------------------------------------------------------------------* +*& Form exclude_tb_functions +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& <-- LT_EXCLUDE +*&---------------------------------------------------------------------* +FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions. +* Only allow to change data not to create new entries (exclude +* generic functions). + DATA ls_exclude TYPE ui_func. + + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_delete_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_append_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_insert_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_move_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_copy. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_cut. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_paste_new_row. + APPEND ls_exclude TO pt_exclude. + ls_exclude = cl_gui_alv_grid=>mc_fc_loc_undo. + APPEND ls_exclude TO pt_exclude. +ENDFORM. +*&---------------------------------------------------------------------* +*& Form build_data +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_data . + +ENDFORM. +*&---------------------------------------------------------------------* +*& Module CREATE_DROPBOX_VARIANT INPUT +*&---------------------------------------------------------------------* +* text +*----------------------------------------------------------------------* +MODULE create_dropbox_variant INPUT. +* DATA: lt_vari TYPE TABLE OF /deso/dh_vari_t. + + SELECT check_view FROM /deso/dh_vari_t + INTO TABLE @DATA(lt_vari). + + CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' + EXPORTING + retfield = 'CHECK_VIEW' + value_org = 'S' +* dynpprog = '/DESO/CH_HAWK' +* dynpnr = '9001' +* dynprofield = 'GV_VAR' + window_title = 'Variante wählen' + multiple_choice = space + TABLES + value_tab = lt_vari +* return_tab = lt_return + EXCEPTIONS + parameter_error = 1 + no_values_found = 2 + OTHERS = 3. + +ENDMODULE. +*&---------------------------------------------------------------------* +*& Module USER_COMMAND_9001 INPUT +*&---------------------------------------------------------------------* +* text +*----------------------------------------------------------------------* +MODULE user_command_9001 INPUT. + CALL METHOD g_grid->check_changed_data. + CASE sy-ucomm. + WHEN 'SEL_VARI'. +* BREAK-POINT. + DATA: ls_var TYPE /deso/dh_variant. + SELECT * FROM /deso/dh_variant INTO CORRESPONDING FIELDS OF TABLE gt_var + WHERE check_view = gv_var. + + SELECT * FROM /deso/dh_c_met APPENDING CORRESPONDING FIELDS OF TABLE gt_var. + + SORT gt_var. + + LOOP AT gt_var ASSIGNING FIELD-SYMBOL() + WHERE aktiv = abap_true. + READ TABLE gt_var INTO ls_var WITH KEY check_view = -check_view + object = -object + aktiv = abap_false. + IF sy-subrc = 0. + DELETE gt_var INDEX sy-tabix. + ENDIF. + + ENDLOOP. + + SORT gt_var. + LOOP AT gt_var ASSIGNING . + -check_view = gv_var. + ENDLOOP. + g_tabstrip-pressed_tab = 'TABSTRIP_FC1'. + WHEN 'DELETE'. + g_tabstrip-pressed_tab = 'TABSTRIP_FC1'. + DATA: lv_answer_del_var. + CALL FUNCTION 'POPUP_TO_CONFIRM' + EXPORTING + titlebar = 'DATA Hawk' + text_question = 'Variante wirklich löschen?' + default_button = '2' + display_cancel_button = wfcst_cfalse + popup_type = 'ICON_MESSAGE_WARNING' + IMPORTING + answer = lv_answer_del_var + EXCEPTIONS + text_not_found = 1 + OTHERS = 2. + + IF lv_answer_del_var = '1'. + DELETE FROM /deso/dh_variant + WHERE check_view = gv_var. + DELETE FROM /deso/dh_vari_t + WHERE check_view = gv_var. + REFRESH gt_var. + ENDIF. + WHEN 'NEW'. + DATA: lt_sval TYPE TABLE OF sval. + DATA: lv_rc. + + REFRESH lt_sval. + + APPEND INITIAL LINE TO lt_sval ASSIGNING FIELD-SYMBOL(). + -tabname = '/DESO/DH_VARI_T'. + -fieldname = 'CHECK_VIEW'. + -fieldtext = 'Variante'. + + APPEND INITIAL LINE TO lt_sval ASSIGNING . + -tabname = '/DESO/DH_VARI_T'. + -fieldname = 'DESCRIPT'. + -fieldtext = 'Bezeichnung'. + + + CALL FUNCTION 'POPUP_GET_VALUES' + EXPORTING +* NO_VALUE_CHECK = ' ' + popup_title = 'Neue Variante anlegen' +* START_COLUMN = '5' +* START_ROW = '5' + IMPORTING + returncode = lv_rc + TABLES + fields = lt_sval + EXCEPTIONS + error_in_fields = 1 + OTHERS = 2. + IF sy-subrc <> 0. +* Implement suitable error handling here + ENDIF. + IF lv_rc NE 'A'. +* BREAK-POINT. + DATA: lv_vari_t TYPE /deso/dh_vari_t. + LOOP AT lt_sval ASSIGNING . + CASE -fieldname. + WHEN 'CHECK_VIEW'. + lv_vari_t-check_view = -value. + WHEN 'DESCRIPT'. + lv_vari_t-descript = -value. + ENDCASE. + ENDLOOP. + INSERT INTO /deso/dh_vari_t VALUES lv_vari_t. + + + SELECT * FROM /deso/dh_c_ht INTO CORRESPONDING FIELDS OF TABLE gt_ht + WHERE check_view = 'VIEW1'. + + LOOP AT gt_ht ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + -descript = lv_vari_t-descript. + ENDLOOP. + INSERT /deso/dh_c_ht FROM TABLE gt_ht. + + SELECT * FROM /deso/dh_c_obj INTO CORRESPONDING FIELDS OF TABLE gt_obj + WHERE check_view = 'VIEW1'. + + LOOP AT gt_obj ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + ENDLOOP. + INSERT /deso/dh_c_obj FROM TABLE gt_obj. + + SELECT * FROM /deso/dh_c_tab INTO CORRESPONDING FIELDS OF TABLE gt_tab + WHERE check_view = 'VIEW1'. + + LOOP AT gt_tab ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + ENDLOOP. + INSERT /deso/dh_c_tab FROM TABLE gt_tab. + + SELECT * FROM /deso/dh_c_cla INTO CORRESPONDING FIELDS OF TABLE gt_cla + WHERE check_view = 'VIEW1'. + + LOOP AT gt_cla ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + ENDLOOP. + INSERT /deso/dh_c_cla FROM TABLE gt_cla. + + + SELECT * FROM /deso/dh_c_met INTO CORRESPONDING FIELDS OF TABLE gt_met + WHERE check_view = 'VIEW1'. + + LOOP AT gt_met ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + ENDLOOP. + INSERT /deso/dh_c_met FROM TABLE gt_met. + + SELECT * FROM /deso/dh_c_rep INTO CORRESPONDING FIELDS OF TABLE gt_rep + WHERE check_view = 'VIEW1'. + + LOOP AT gt_rep ASSIGNING FIELD-SYMBOL(). + -check_view = lv_vari_t-check_view. + ENDLOOP. + INSERT /deso/dh_c_rep FROM TABLE gt_rep. + + ENDIF. + g_tabstrip-pressed_tab = 'TABSTRIP_FC1'. + WHEN 'SAVE'. +* BREAK-POINT. + DELETE FROM /deso/dh_variant WHERE check_view = gv_var. + LOOP AT gt_var ASSIGNING WHERE aktiv = abap_true. + INSERT INTO /deso/dh_variant VALUES . + ENDLOOP. + g_tabstrip-pressed_tab = 'TABSTRIP_FC1'. + ENDCASE. +ENDMODULE. +*&---------------------------------------------------------------------* +*& Form build_data_result +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_data_result . + + SELECT * FROM /deso/dh_message + INTO CORRESPONDING FIELDS OF TABLE gt_result + WHERE check_view = gv_var. + CLEAR gt_result_show. + LOOP AT gt_result ASSIGNING FIELD-SYMBOL(). + CLEAR gs_result_show. + MOVE -check_view TO gs_result_show-check_view. + MOVE -refobject TO gs_result_show-refobject. + MOVE -object TO gs_result_show-object. + MOVE -reffld TO gs_result_show-reffld. + MOVE -msgty TO gs_result_show-msgty. + MOVE -msgid TO gs_result_show-msgid. + MOVE -msgno TO gs_result_show-msgno. + MOVE -rep_class TO gs_result_show-rep_class. + MOVE -rep_methode TO gs_result_show-rep_methode. + IF gs_result_show-rep_methode IS INITIAL. + SELECT SINGLE rep_class, rep_method FROM /deso/dh_c_rep + INTO ( @gs_result_show-rep_class, + @gs_result_show-rep_methode ) + WHERE check_view = @gs_result_show-check_view + AND object = @gs_result_show-object + AND msgty = @gs_result_show-msgty + AND msgid = @gs_result_show-msgid + AND msgno = @gs_result_show-msgno. + ENDIF. + IF NOT -msgtxt IS INITIAL AND -msgno = '000'. + MOVE -msgtxt TO gs_result_show-msgtxt. + ELSE. + SELECT SINGLE text INTO gs_result_show-msgtxt + FROM t100 + WHERE sprsl = sy-langu + AND arbgb = -msgid + AND msgnr = -msgno. + ENDIF. + MOVE -status TO gs_result_show-status. + + MOVE 1 TO gs_result_show-count. + COLLECT gs_result_show INTO gt_result_show. + + ENDLOOP. + + SORT gt_result_show BY refobject ASCENDING count DESCENDING. + +ENDFORM. +*&---------------------------------------------------------------------* +*& Form build_fieldcat_result +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_fieldcat_result . + + CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' + EXPORTING + i_structure_name = '/DESO/DH_MESSAGE' + i_bypassing_buffer = abap_true + CHANGING + ct_fieldcat = gt_fieldcat_result. + + LOOP AT gt_fieldcat_result ASSIGNING FIELD-SYMBOL(). + + CASE -fieldname. + WHEN 'MANDT' OR 'CLASS' OR 'METHOD' OR 'MSGV1' OR 'MSGV2' OR 'MSGV3' OR 'MSGV4' + OR 'OBJECT' OR 'OBJKEY' OR 'REFOBJKEY' OR 'REPDATE' OR 'REPTIME' OR 'REPNAME' OR 'CRDATE' OR 'CRTIME' OR 'CRNAME'. + DELETE gt_fieldcat_result INDEX sy-tabix. + CONTINUE. + WHEN 'MSGTXT'. + -outputlen = 70. + WHEN 'REFFLD'. + -outputlen = '20'. + WHEN 'MSGTY'. + -outputlen = 5. + WHEN 'AKTIV'. + -checkbox = abap_true. + -edit = abap_true. + -outputlen = 5. + WHEN 'REP_CLASS'. + -outputlen = 25. + -scrtext_s = + -scrtext_m = + -scrtext_l = + -reptext = 'Reparaturklasse'. +* -edit = abap_true. + WHEN 'REP_METHODE'. + -outputlen = 25. + -scrtext_s = + -scrtext_m = + -scrtext_l = + -reptext = 'Reparaturmethode'. +* -edit = abap_true. + WHEN 'STATUS'. + -outputlen = 4. + -scrtext_s = + -scrtext_m = + -scrtext_l = + -reptext = 'Reparaturstatus'. + WHEN OTHERS. + ENDCASE. + + ENDLOOP. + READ TABLE gt_fieldcat_result WITH KEY col_pos = 99 BINARY SEARCH TRANSPORTING NO FIELDS. + IF sy-subrc NE 0. + APPEND INITIAL LINE TO gt_fieldcat_result ASSIGNING . + -fieldname = 'COUNT'. + -outputlen = 10. + -col_pos = 99. + -scrtext_s = + -scrtext_m = + -scrtext_l = + -reptext = 'Anzahl'. + ENDIF. +ENDFORM. + +*&---------------------------------------------------------------------* +*& Form build_fieldcat_result +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM build_fieldcat_result_detail. + + CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' + EXPORTING + i_structure_name = '/DESO/DH_MESSAGE' + i_bypassing_buffer = abap_true + CHANGING + ct_fieldcat = gt_fieldcat_detail. + + LOOP AT gt_fieldcat_detail ASSIGNING FIELD-SYMBOL(). + + CASE -fieldname. + WHEN 'MANDT' OR 'CLASS' OR 'METHOD' OR 'MSGV1' OR 'MSGV2' OR 'MSGV3' OR 'MSGV4' OR + 'REPDATE' OR 'REPTIME' OR 'REPNAME' OR 'CRDATE' OR 'CRTIME' OR 'CRNAME'. + DELETE gt_fieldcat_detail INDEX sy-tabix. + CONTINUE. + WHEN 'OBJECT' OR 'REFOBJECT'. + -outputlen = 10. + WHEN 'OBJKEY' OR 'REFOBJKEY'. + + -outputlen = 10. + WHEN 'REFFLD'. + -outputlen = 20. + WHEN 'MSGID'. + -outputlen = 7. + WHEN 'MSGTY'. + -outputlen = 5. + WHEN 'STATUS'. + -outputlen = 4. + -scrtext_s = + -scrtext_m = + -scrtext_l = + -reptext = 'Reparaturstatus'. + WHEN OTHERS. + ENDCASE. + + ENDLOOP. + +ENDFORM. + + +*&---------------------------------------------------------------------* +*& Form start_jobs +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM start_jobs_analyse. + DEFINE mac_so. + + LOOP AT &1. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = &1-sign. + -option = &1-option. + -kind = 'S'. + -selname = '&1'. + -low = &1-low. + -high = &1-high. + ENDLOOP. + + END-OF-DEFINITION. + + DATA: lv_jobname TYPE tbtcjob-jobname. + DATA: lv_jobcount LIKE tbtcjob-jobcount. + DATA: BEGIN OF ls_starttime. + INCLUDE STRUCTURE tbtcstrt. + DATA: END OF ls_starttime. + DATA: lt_selection TYPE TABLE OF rsparams. + DATA: startimmediate LIKE btch0000-char1. + DATA: job_already_released. + + lv_jobname = '/DESO/DATA_HAWK' && '_' && gv_var. + + CALL FUNCTION 'JOB_OPEN' + EXPORTING + jobname = lv_jobname + IMPORTING + jobcount = lv_jobcount + EXCEPTIONS + cant_create_job = 1 + invalid_job_data = 2 + jobname_missing = 3 + OTHERS = 4. + IF sy-subrc <> 0. +* Implement suitable error handling here + ELSE. + + APPEND INITIAL LINE TO lt_selection ASSIGNING FIELD-SYMBOL(). + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_VIEW'. + -low = gv_var. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_DEV'. + -low = pa_dev. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_PREL'. + -low = pa_prel. + + mac_so so_gpart. + mac_so so_vkont. + mac_so so_vert. + mac_so so_bukrs. + mac_so so_anl. + mac_so so_vst. + mac_so so_ao. + mac_so so_matnr. + mac_so so_ger. + mac_so so_ginf. + mac_so so_extui. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_AKT'. + -low = pa_akt. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BTC'. + -low = pa_batch. + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BATCH'. + -low = pa_batch. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BTCNT'. + -low = pa_count. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_BGRFC'. + -low = pa_bgrfc. + + + SUBMIT /deso/dh_hawk_btc WITH SELECTION-TABLE lt_selection + VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. + + CALL FUNCTION 'BP_START_DATE_EDITOR' + EXPORTING + stdt_dialog = 'Y' + stdt_input = ls_starttime + stdt_opcode = '14' + IMPORTING +* stdt_modify_type = start_modify_flag + stdt_output = ls_starttime + EXCEPTIONS + fcal_id_not_defined = 01 + incomplete_last_startdate = 02 + incomplete_startdate = 03 + invalid_dialog_type = 04 + invalid_eventid = 05 + invalid_opcode = 06 + invalid_opmode_name = 07 + invalid_periodbehaviour = 08 + invalid_predecessor_jobname = 09 + last_startdate_in_the_past = 10 + no_period_data_given = 11 + no_startdate_given = 12 + period_and_predjob_no_way = 13 + period_too_small_for_limit = 14 + predecessor_jobname_not_unique = 15 + startdate_interval_too_large = 16 + startdate_in_the_past = 17 + startdate_is_a_holiday = 18 + startdate_out_of_fcal_range = 19 + stdt_before_holiday_in_past = 20 + unknown_fcal_error_occured = 21. + + + CASE ls_starttime-startdttyp. + WHEN 'I'. "User selected immediate start + startimmediate = 'X'. + ENDCASE. + + CALL FUNCTION 'JOB_CLOSE' + EXPORTING + at_opmode = ' ' + at_opmode_periodic = ' ' + calendar_id = ' ' + event_id = ls_starttime-eventid + event_param = ls_starttime-eventparm + event_periodic = ' ' + jobcount = lv_jobcount + jobname = lv_jobname + laststrtdt = ls_starttime-laststrtdt + laststrttm = ls_starttime-laststrttm + prddays = ls_starttime-prddays + prdhours = ls_starttime-prdhours + prdmins = ls_starttime-prdmins + prdmonths = ls_starttime-prdmonths + prdweeks = ls_starttime-prdweeks + predjob_checkstat = ' ' + pred_jobcount = ' ' + pred_jobname = ' ' + sdlstrtdt = ls_starttime-sdlstrtdt + sdlstrttm = ls_starttime-sdlstrttm +* startdate_restriction = btc_process_always + strtimmed = startimmediate + IMPORTING + job_was_released = job_already_released + EXCEPTIONS + cant_start_immediate = 01 + invalid_startdate = 02 + jobname_missing = 03 + job_close_failed = 04 + job_nosteps = 05 + job_notex = 06 + lock_failed = 07. + IF sy-subrc = 0. + IF startimmediate = abap_true. + MESSAGE s000(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und gestartet. + ELSE. + MESSAGE s001(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und eingeplant. + ENDIF. + ENDIF. + + ENDIF. +ENDFORM. +*&---------------------------------------------------------------------* +*& Module USER_COMMAND_9003 INPUT +*&---------------------------------------------------------------------* +* text +*----------------------------------------------------------------------* +MODULE user_command_9003 INPUT. + + DATA: ls_coll TYPE /deso/dh_c_rep. + CASE sy-ucomm. + WHEN 'SAVE'. + PERFORM save_result. + g_tabstrip-pressed_tab = c_tabstrip-tab3. + WHEN 'KORR_RUN'. + PERFORM start_korrektur. + g_tabstrip-pressed_tab = c_tabstrip-tab3. + WHEN 'REF'. + PERFORM build_data_result. + g_tabstrip-pressed_tab = c_tabstrip-tab3. + WHEN 'DELE'. + g_tabstrip-pressed_tab = c_tabstrip-tab3. + DATA: lv_answer_del. + CALL FUNCTION 'POPUP_TO_CONFIRM' + EXPORTING + titlebar = 'DATA Hawk' + text_question = 'Analyseergebnis wirklich löschen?' + default_button = '2' + display_cancel_button = wfcst_cfalse + popup_type = 'ICON_MESSAGE_WARNING' + IMPORTING + answer = lv_answer_del + EXCEPTIONS + text_not_found = 1 + OTHERS = 2. + + IF lv_answer_del = '1'. + DELETE FROM /deso/dh_message + WHERE check_view = gv_var. + REFRESH gt_result_show. + ENDIF. + ENDCASE. + +ENDMODULE. +*&---------------------------------------------------------------------* +*& Form start_korrektur +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM start_korrektur . + BREAK-POINT. + DATA: lt_index_rows TYPE lvc_t_row, + lt_row_no TYPE lvc_t_roid. + + + CALL METHOD g_grid_result->get_selected_rows + IMPORTING + et_index_rows = lt_index_rows + et_row_no = lt_row_no. + + IF lines( lt_index_rows ) = 0. + + ELSE. + LOOP AT lt_index_rows ASSIGNING FIELD-SYMBOL(). + + READ TABLE gt_result_show ASSIGNING FIELD-SYMBOL() INDEX -index. + + IF sy-subrc = 0. + PERFORM start_jobs_repare USING . + ENDIF. + + ENDLOOP. + ENDIF. +ENDFORM. +*&---------------------------------------------------------------------* +*& Form save_result +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM save_result . + + CALL METHOD g_grid->check_changed_data. + +ENDFORM. +*&---------------------------------------------------------------------* +*& Form start_jobs_repare +*&---------------------------------------------------------------------* +*& text +*&---------------------------------------------------------------------* +*& --> p1 text +*& <-- p2 text +*&---------------------------------------------------------------------* +FORM start_jobs_repare USING ls_result_show TYPE ty_result_show. + + DATA: lv_jobname TYPE tbtcjob-jobname. + DATA: lv_jobcount LIKE tbtcjob-jobcount. + DATA: BEGIN OF ls_starttime. + INCLUDE STRUCTURE tbtcstrt. + DATA: END OF ls_starttime. + DATA: lt_selection TYPE TABLE OF rsparams. + DATA: startimmediate LIKE btch0000-char1. + DATA: job_already_released. + + lv_jobname = '/DESO/DATA_HAWK_REPARE' && '_' && gv_var. + + CALL FUNCTION 'JOB_OPEN' + EXPORTING + jobname = lv_jobname + IMPORTING + jobcount = lv_jobcount + EXCEPTIONS + cant_create_job = 1 + invalid_job_data = 2 + jobname_missing = 3 + OTHERS = 4. + IF sy-subrc <> 0. +* Implement suitable error handling here + ELSE. + + APPEND INITIAL LINE TO lt_selection ASSIGNING FIELD-SYMBOL(). + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_VIEW'. + -low = ls_result_show-check_view. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'pa_obj'. + -low = ls_result_show-object. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_REFOB'. + -low = ls_result_show-refobject. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_REFFL'. + -low = ls_result_show-reffld. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_MSGTY'. + -low = ls_result_show-msgty. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_MSGID'. + -low = ls_result_show-msgid. + + APPEND INITIAL LINE TO lt_selection ASSIGNING . + -sign = 'I'. + -option = 'EQ'. + -kind = 'P'. + -selname = 'PA_MSGNO'. + -low = ls_result_show-msgno. + + + SUBMIT /deso/dh_hawk_correct WITH SELECTION-TABLE lt_selection + VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. + + CALL FUNCTION 'BP_START_DATE_EDITOR' + EXPORTING + stdt_dialog = 'Y' + stdt_input = ls_starttime + stdt_opcode = '14' + IMPORTING +* stdt_modify_type = start_modify_flag + stdt_output = ls_starttime + EXCEPTIONS + fcal_id_not_defined = 01 + incomplete_last_startdate = 02 + incomplete_startdate = 03 + invalid_dialog_type = 04 + invalid_eventid = 05 + invalid_opcode = 06 + invalid_opmode_name = 07 + invalid_periodbehaviour = 08 + invalid_predecessor_jobname = 09 + last_startdate_in_the_past = 10 + no_period_data_given = 11 + no_startdate_given = 12 + period_and_predjob_no_way = 13 + period_too_small_for_limit = 14 + predecessor_jobname_not_unique = 15 + startdate_interval_too_large = 16 + startdate_in_the_past = 17 + startdate_is_a_holiday = 18 + startdate_out_of_fcal_range = 19 + stdt_before_holiday_in_past = 20 + unknown_fcal_error_occured = 21. + + + CASE ls_starttime-startdttyp. + WHEN 'I'. "User selected immediate start + startimmediate = 'X'. + ENDCASE. + + CALL FUNCTION 'JOB_CLOSE' + EXPORTING + at_opmode = ' ' + at_opmode_periodic = ' ' + calendar_id = ' ' + event_id = ls_starttime-eventid + event_param = ls_starttime-eventparm + event_periodic = ' ' + jobcount = lv_jobcount + jobname = lv_jobname + laststrtdt = ls_starttime-laststrtdt + laststrttm = ls_starttime-laststrttm + prddays = ls_starttime-prddays + prdhours = ls_starttime-prdhours + prdmins = ls_starttime-prdmins + prdmonths = ls_starttime-prdmonths + prdweeks = ls_starttime-prdweeks + predjob_checkstat = ' ' + pred_jobcount = ' ' + pred_jobname = ' ' + sdlstrtdt = ls_starttime-sdlstrtdt + sdlstrttm = ls_starttime-sdlstrttm +* startdate_restriction = btc_process_always + strtimmed = startimmediate + IMPORTING + job_was_released = job_already_released + EXCEPTIONS + cant_start_immediate = 01 + invalid_startdate = 02 + jobname_missing = 03 + job_close_failed = 04 + job_nosteps = 05 + job_notex = 06 + lock_failed = 07. + IF sy-subrc = 0. + IF startimmediate = abap_true. + MESSAGE s000(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und gestartet. + ELSE. + MESSAGE s001(/deso/mig_message) WITH lv_jobname. +* Job &1 wurde angelegt und eingeplant. + ENDIF. + ENDIF. + + ENDIF. + +ENDFORM. diff --git a/src/#deso#dh_hawk_fo.prog.xml b/src/#deso#dh_hawk_fo.prog.xml new file mode 100644 index 0000000..54a05c8 --- /dev/null +++ b/src/#deso#dh_hawk_fo.prog.xml @@ -0,0 +1,20 @@ + + + + + + /DESO/DH_HAWK_FO + I + S + D + + + + R + Include für DATA Hawk Forms + 49 + + + + + diff --git a/src/#deso#dh_hawk_me.prog.abap b/src/#deso#dh_hawk_me.prog.abap new file mode 100644 index 0000000..6879359 --- /dev/null +++ b/src/#deso#dh_hawk_me.prog.abap @@ -0,0 +1,169 @@ +*&---------------------------------------------------------------------* +*& Include /DESO/DH_HAWK_M +*&---------------------------------------------------------------------* + CLASS lcl_application DEFINITION. + PUBLIC SECTION. + METHODS: alv_handle_data_changed + FOR EVENT data_changed OF cl_gui_alv_grid + IMPORTING er_data_changed + e_onf4 + e_onf4_before + e_onf4_after + e_ucomm. + ENDCLASS. "LCL_APPLICATION DEFINITION + +*----------------------------------------------------------------------* +* CLASS LCL_APPLICATION IMPLEMENTATION +*----------------------------------------------------------------------* +* +*----------------------------------------------------------------------* + CLASS lcl_application IMPLEMENTATION. + METHOD alv_handle_data_changed. + DATA: ls_good TYPE lvc_s_modi. + LOOP AT er_data_changed->mt_good_cells INTO ls_good. +**** Dazu auf die richtige Zeile in der ITAB positionieren: + + READ TABLE gt_result_show ASSIGNING FIELD-SYMBOL() INDEX ls_good-row_id. + + DATA: ls_result_collect TYPE /deso/dh_c_rep. + MOVE-CORRESPONDING TO ls_result_collect. + ASSIGN COMPONENT ls_good-fieldname OF STRUCTURE ls_result_collect TO FIELD-SYMBOL(). + ASSIGN COMPONENT ls_good-fieldname OF STRUCTURE TO FIELD-SYMBOL(). + = = ls_good-value. + UPDATE /deso/dh_c_rep FROM ls_result_collect. + CASE ls_good-fieldname. + WHEN 'REP_CLASS'. + UPDATE /deso/dh_message SET rep_class = + WHERE check_view = ls_result_collect-check_view + AND object = ls_result_collect-object + AND msgty = ls_result_collect-msgty + AND msgid = ls_result_collect-msgid + AND msgno = ls_result_collect-msgno. + WHEN 'REP_METHODE'. + UPDATE /deso/dh_message SET rep_methode = + WHERE check_view = ls_result_collect-check_view + AND object = ls_result_collect-object + AND msgty = ls_result_collect-msgty + AND msgid = ls_result_collect-msgid + AND msgno = ls_result_collect-msgno. + ENDCASE. + MESSAGE s000(em) WITH 'Daten gesichert'. + ENDLOOP. + IF sy-subrc <> 0. + MESSAGE s000(em) WITH 'Keine veränderten Daten'. + ENDIF. + + ENDMETHOD. + ENDCLASS. "LCL_APPLICATION IMPLEMENTATION + + + + CLASS handle DEFINITION. + PUBLIC SECTION. + + CLASS-METHODS : handle_double_click + FOR EVENT double_click OF cl_gui_alv_grid + IMPORTING e_row. + + CLASS-METHODS : handle_close + FOR EVENT close OF cl_gui_dialogbox_container + IMPORTING sender. + + CLASS-METHODS : on_toolbar + FOR EVENT toolbar OF cl_gui_alv_grid + IMPORTING e_object. + + CLASS-METHODS : on_user_command + FOR EVENT user_command OF cl_gui_alv_grid + IMPORTING e_ucomm. + + ENDCLASS. + + CLASS handle IMPLEMENTATION. + + METHOD handle_double_click. + + READ TABLE gt_result_show ASSIGNING FIELD-SYMBOL() INDEX e_row-index. + + PERFORM build_fieldcat_result_detail. + REFRESH gt_result_detail. + LOOP AT gt_result ASSIGNING FIELD-SYMBOL() + WHERE check_view = -check_view AND + refobject = -refobject AND + reffld = -reffld AND + msgty = -msgty AND + msgid = -msgid AND + msgno = -msgno. + APPEND INITIAL LINE TO gt_result_detail ASSIGNING FIELD-SYMBOL(). + MOVE-CORRESPONDING TO . + + ENDLOOP. + + CREATE OBJECT o_dial + EXPORTING + width = 1450 + height = 400 + top = 50 + left = 200 + caption = 'Details'. + + SET HANDLER handle=>handle_close FOR o_dial. + + CREATE OBJECT o_alv2 + EXPORTING + i_parent = o_dial. + + CALL METHOD o_alv2->set_table_for_first_display + CHANGING + it_outtab = gt_result_detail + it_fieldcatalog = gt_fieldcat_detail. + + + CALL METHOD o_alv2->refresh_table_display. + + REFRESH gt_fieldcat_detail. + + ENDMETHOD. + + METHOD handle_close. + + CALL METHOD sender->set_visible + EXPORTING + visible = space. + + ENDMETHOD. + + + METHOD on_toolbar. + + DATA btn TYPE stb_button. + CASE alv_ok_code. + WHEN 'include'. + btn-function = 'exclude'. + btn-icon = icon_pdir_foreward_switch. + WHEN 'exclude'. + CLEAR e_object->mt_toolbar. + btn-function = 'include'. + btn-icon = icon_pdir_back_switch. + ENDCASE. + INSERT btn INTO TABLE e_object->mt_toolbar. + + ENDMETHOD. + + METHOD on_user_command. + + CASE e_ucomm. + + WHEN 'include' OR 'exclude'. + alv_ok_code = e_ucomm. + CALL METHOD o_alv1->set_toolbar_interactive. + ENDCASE. + + ENDMETHOD. + ENDCLASS. + +*&---------------------------------------------------------------------* +*& Module FILL_VARIANT OUTPUT +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* diff --git a/src/#deso#dh_hawk_me.prog.xml b/src/#deso#dh_hawk_me.prog.xml new file mode 100644 index 0000000..d05f2dc --- /dev/null +++ b/src/#deso#dh_hawk_me.prog.xml @@ -0,0 +1,20 @@ + + + + + + /DESO/DH_HAWK_ME + I + D + X + + + + R + Include für DATA Hawk Methoden + 30 + + + + + diff --git a/src/#deso#dh_hawk_mo.prog.abap b/src/#deso#dh_hawk_mo.prog.abap new file mode 100644 index 0000000..3e8a0a6 --- /dev/null +++ b/src/#deso#dh_hawk_mo.prog.abap @@ -0,0 +1,390 @@ +*----------------------------------------------------------------------* +***INCLUDE /DESO/DH_HAWK_CONT_M. +*----------------------------------------------------------------------* +*&---------------------------------------------------------------------* +*& Module CONT0 OUTPUT +*&---------------------------------------------------------------------* +*& +*&---------------------------------------------------------------------* +MODULE cont0 OUTPUT. + TYPE-POOLS: cndp. + + +* CALL METHOD go_picture_html->free. + +* CLEAR: go_picture_html, +* CLEAR go_container_html. + IF go_container_html IS INITIAL. + CREATE OBJECT go_container_html + EXPORTING + container_name = 'CONT0' "NAME CUSTOM CONTAINER + repid = '/DESO/DH_HAWK' "PROGRAMM NAME + dynnr = '9000' "DYNPRONAME + EXCEPTIONS + cntl_error = 1 + cntl_system_error = 2 + create_error = 3 + lifetime_error = 4 + lifetime_dynpro_dynpro_link = 5 + OTHERS = 6. + IF sy-subrc <> 0. + MESSAGE i001(00) WITH 'Fehler mit dem erstellen des HTML-Containers'. + LEAVE LIST-PROCESSING. + ENDIF. + ENDIF. + IF go_picture_html IS INITIAL. + CREATE OBJECT go_picture_html + EXPORTING + parent = go_container_html + EXCEPTIONS + OTHERS = 2. + IF sy-subrc <> 0. + MESSAGE i001(00) WITH 'Fehler mit dem anzeigen des HTML'. + LEAVE LIST-PROCESSING. + ENDIF. + ENDIF. + IF go_picture_html IS NOT INITIAL + AND lines( lt_raw_html ) = 0. + + APPEND '' TO lt_raw_html. + APPEND '' TO lt_raw_html. + APPEND ' ' TO lt_raw_html. + APPEND ' Text rechts auf dem Bild' TO lt_raw_html. + APPEND ' ' TO lt_raw_html. + APPEND '' TO lt_raw_html. + APPEND '' TO lt_raw_html. + APPEND '
' TO lt_raw_html. + APPEND ' Beispielbild' TO lt_raw_html. + CONCATENATE '
Version' gv_version '
' INTO ls_raw_html_line SEPARATED BY space. + APPEND ls_raw_html_line TO lt_raw_html. + APPEND '
' TO lt_raw_html. + APPEND ' ' TO lt_raw_html. + APPEND '
' TO lt_raw_html. + APPEND '
' TO lt_raw_html. + APPEND '' TO lt_raw_html. + APPEND '' TO lt_raw_html. +* CONCATENATE '
Version' gv_version '
' INTO ls_raw_html_line SEPARATED BY space. +* APPEND ls_raw_html_line TO lt_raw_html. + +* CALL METHOD g_util->check_version +* IMPORTING +* ev_last_version = lv_last_version. + +* IF lv_last_version <> gv_version. +* APPEND '