Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SELECT equnr
FROM equi
INTO TABLE i_equnr
WHERE equnr IN r_equnr.
ELSE.
SELECT equnr
FROM equi
INTO TABLE i_equnr
WHERE equnr EQ p_equnr_low.
ENDIF.
LOOP AT i_equnr INTO wa_equnr1.
g_equnr = wa_equnr1-equnr.
*getting equipment hierarchy if any in internal table
CALL FUNCTION 'EQUI_HIERARCHY_READ'
EXPORTING
EQUIPMENT = g_equnr
LEVEL_DOWN = c_level "'99'
* IMPORTING
* EQUI_COUNT = sy-tabix
TABLES
HIER_TAB = i_equi_tab.
IF NOT i_equi_tab[] IS INITIAL.
LOOP AT i_equi_tab INTO wa_equi_tab.
APPEND wa_equi_tab TO i_equi_tab1.
CLEAR wa_equi_tab.
ENDLOOP.
ENDIF.
ENDLOOP.
IF i_equi_tab1[] IS NOT INITIAL.
SORT i_equi_tab1 BY equnr.
DELETE ADJACENT DUPLICATES FROM i_equi_tab1 COMPARING equnr.
SELECT pkey "parameter key
name "parameter name
c_msgno_820 "'820'
c_space
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT mpos~equnr "equipment number
mpos~warpl "maintenance plan
mpos~wapos "maintenance item
mpos~zzdoknr "document number
mpos~zzdokar "document type
mpos~inact "indicator for maint. item inactive
mpos~qmnum "notification number
mpla~objnr "object number
mpla~mptyp "MP category
FROM mpos INNER JOIN mpla
ON mpos~warpl = mpla~warpl
INTO TABLE i_mpos
FOR ALL ENTRIES IN i_equi_tab
WHERE mpos~equnr = i_equi_tab-equnr.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_810 "'810'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
CLEAR i_t_mpos.
REFRESH i_t_mpos.
i_t_mpos[] = i_mpos[].
SORT i_t_mpos BY objnr.
DELETE ADJACENT DUPLICATES FROM i_t_mpos
COMPARING objnr.
SELECT objnr "object number
stat "status
inact "inactive flag
FROM jest
INTO TABLE i_jest
FOR ALL ENTRIES IN i_t_mpos
WHERE objnr = i_t_mpos-objnr.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_855 "'855'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
* copying the i_mpos into temp table
i_t_mpos[] = i_mpos[].
SORT i_t_mpos BY zzdokar zzdoknr.
DELETE ADJACENT DUPLICATES FROM i_t_mpos
COMPARING zzdoknr zzdokar.
SELECT doknr "document number
dokar "document type
doktl "document part number
dokvr "document version
dokst "document status
FROM draw
INTO TABLE i_draw
FOR ALL ENTRIES IN i_t_mpos
WHERE doknr = i_t_mpos-zzdoknr
AND dokar = i_t_mpos-zzdokar.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_811 "'811'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
CLEAR i_t_mpos.
REFRESH i_t_mpos.
i_t_mpos[] = i_mpos[].
SORT i_t_mpos BY warpl.
DELETE ADJACENT DUPLICATES FROM i_t_mpos COMPARING warpl.
SELECT warpl "maintenance plan
nummer "counter in control table
zeieh "unit
zykl1 "maintenance package cycle/offset
point "measuring point
FROM mmpt
INTO TABLE i_mmpt
FOR ALL ENTRIES IN i_t_mpos
WHERE warpl = i_t_mpos-warpl.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_812 "'812'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SORT i_scale BY pkey name item.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
c_msgno_812 "'812'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SORT i_mmpt BY point warpl.
i_t_mmpt[] = i_mmpt[].
DELETE ADJACENT DUPLICATES FROM i_t_mmpt COMPARING point.
SELECT atinn "internal characterisics
point "measuring point
FROM imptt
INTO TABLE i_imptt
FOR ALL ENTRIES IN i_t_mmpt
WHERE point = i_t_mmpt-point.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_812 "'812'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT warpl "maintenance plan
abnum "maintenance plan call number
zaehl "maint package no.
adpoint "measuring point
adunit "unit
nplda "next planned date
lrmdt "date of last completion
adsttime "start time for scheduling
adconftime "time of last completion
terma "scheduling type
FROM mhis
INTO TABLE i_mhis
FOR ALL ENTRIES IN i_t_mpos
WHERE warpl = i_t_mpos-warpl.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_813 "'813'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT equnr "equipment number
datbi "valid to date
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_816 "'816'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
i_t_jsto[] = i_jsto[].
SORT i_t_jsto BY stsma.
DELETE ADJACENT DUPLICATES FROM i_t_jsto COMPARING stsma.
SELECT stsma "status profile
selid "selection id
FROM tj48
INTO TABLE i_tj48
FOR ALL ENTRIES IN i_t_jsto
WHERE stsma = i_t_jsto-stsma.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_816 "'816'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT atnam "characteristic name
atinn "internal characteristic
FROM cabn "#EC CI_NOWHERE
INTO TABLE i_cabn.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_817 "'817'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT atwrt "characteristic value
atzhl "internal counter
atinn "internal characteristic
adzhl "int counter
FROM cawn
INTO TABLE i_cawn
FOR ALL ENTRIES IN i_cabn
WHERE atinn = i_cabn-atinn.
* Checking if selection is successful if not give an error message
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT atinn "internal characteristic
objek "key of object
klart "class type
atwrt "characteristic value
FROM ausp "#EC CI_NOWHERE
INTO TABLE i_ausp.
* Checking if selection is successful if not give an error message
IF SY-SUBRC NE 0. "checking internal tab. is blank or not
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_817 "'817'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT zdirtyp "document type
ztempl "template DIR
FROM zdmpm_templ_grp "#EC CI_NOWHERE
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0004 "'0004'
name = c_ustat "'USTAT'
item = c_0003. "'0003'
IF SY-SUBRC = 0.
g_ustat3 = wa_scale-value.
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0005 "'0005'
name = c_stat "'SSTAT'
item = c_0001. "'0001'
IF SY-SUBRC = 0.
g_stat1 = wa_scale-value.
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0005 "'0005'
name = c_stat "'SSTAT'
item = c_0002. "'0002'
IF SY-SUBRC = 0.
g_stat2 = wa_scale-value.
ENDIF.
CLEAR wa_scale.
LOOP AT i_scale INTO wa_scale WHERE pkey = c_0007.
wa_mptyp-sign = c_sign.
wa_mptyp-low = wa_scale-value.
wa_mptyp-option = c_option2.
APPEND wa_mptyp TO r_mptyp.
CLEAR wa_mptyp.
ENDLOOP.
CLEAR wa_scale.
LOOP AT i_scale INTO wa_scale WHERE pkey = c_0007
AND name = c_name.
wa_mptype-sign = c_sign.
wa_mptype-low = wa_scale-value.
wa_mptype-option = c_option2.
APPEND wa_mptype TO r_mptype.
CLEAR wa_mptype.
ENDLOOP.
SORT i_templ_grp BY zdirtyp ztempl.
* Sorting the cabn table by atnam field
SORT i_cabn BY atnam.
* Sorting the cawn table by atinn field
SORT i_cawn BY atinn.
* Sorting the cawnt table by atinn atzhl atwtb field
SORT i_cawnt BY atinn atzhl atwtb.
* Sorting the characteristic table table by zkey field
SORT i_char BY zkey.
* Sorting the tj48 table by stsma selid field
SORT i_tj48 BY stsma selid.
* Sorting the iflot table by tplnr field
SORT i_iflot BY tplnr.
g_flg_call = c_check.
SELECT qmih~equnr "equipment no.
qmih~qmnum "notification no.
qmih~warpl "maintenance plan no.
qmih~abnum "call number
qmih~wapos "maintenance item
qmel~objnr "object number
FROM qmih INNER JOIN qmel
ON qmih~qmnum = qmel~qmnum
INTO TABLE i_equi_no
FOR ALL ENTRIES IN i_equi_tab
IMPORTING
* ANW_STAT_EXISTING =
* E_STSMA =
LINE = g_line
USER_LINE = g_user_line
* STONR =
EXCEPTIONS
OBJECT_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
* g_inst_typ = c_install.
CLEAR g_flag_comp.
** BREAK IBM00078.
* Checking the user status and system staus
IF g_line NS g_stat2 AND g_user_line NS g_ustat1.
* Deactivating the status of non-mp notification
PERFORM sub_nonmp_notif_deactivate
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_templ_grp
i_char
i_cabn
i_cawn
i_cawnt
USING g_equnr
g_objnr
g_qmnum
g_ustat1
c_space
c_space
CHANGING g_flag_comp.
* If flag is set then show the succes message in appl log
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_s "'S'
c_msgid "'ZDMPM'
c_msgno_526 "'526'
g_qmnum
g_equnr
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
** BREAK IBM00078.
SORT i_draw BY doknr dokar doktl dokst.
SORT i_ausp BY objek atinn klart.
IF i_mpos[] IS NOT INITIAL.
* MP selection install/deactivate
CLEAR i_t_mpos.
REFRESH i_t_mpos.
i_t_mpos[] = i_mpos[].
** DELETE i_t_mpos WHERE inact NE SPACE.
SORT i_t_jest BY stat.
LOOP AT i_t_mpos INTO wa_mpos.
REFRESH i_t_jest.
i_t_jest[] = i_jest[].
DELETE i_t_jest WHERE stat NE c_i0076.
IF NOT i_t_jest[] IS INITIAL.
CLEAR wa_jest.
READ TABLE i_t_jest INTO wa_jest
g_ustat1
g_aplog
c_space
c_space
g_inst_type
g_flg_call
CHANGING g_flag_comp.
* If flag is checked then display the success message
IF g_flag_comp = c_check. "'X'
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_s "'S'
c_msgid "'ZDMPM'
c_msgno_994 "'994'
g_qmnum
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
* Deactivating the MP for selected maint. plan
PERFORM sub_mp_deactivate
IN PROGRAM zdmpmr_dev00078_mp_active
USING g_warpl
CHANGING g_flag_bdc.
IF g_flag_bdc = c_check. "'X'
* Populate the Application log
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_s "'S'
c_msgid "'ZDMPM'
c_msgno_527 "'527'
g_warpl
g_qmnum
g_equnr
c_space "'SPACE'
g_equnr
g_inst_type.
ENDIF.
ENDIF.
ENDLOOP. "for i_mpos
CLEAR i_t_mpos.
REFRESH i_t_mpos.
i_t_mpos[] = i_mpos[].
** DELETE i_t_mpos WHERE inact NE c_check. "'X'
* MP selection install/activate
* BREAK IBM00079.
SORT i_equz BY equnr.
SORT i_iloa BY iloan.
LOOP AT i_t_mpos INTO wa_mpos.
g_index = sy-tabix.
REFRESH i_t_jest.
i_t_jest[] = i_jest[].
DELETE i_t_jest WHERE stat NE c_i0076.
IF NOT i_t_jest[] IS INITIAL.
CLEAR wa_jest.
READ TABLE i_t_jest INTO wa_jest
WITH KEY objnr = wa_mpos-objnr
stat = c_i0076.
IF SY-SUBRC = 0.
IF wa_jest-inact = c_space.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
REFRESH i_t_jest.
i_t_jest[] = i_jest[].
DELETE i_t_jest WHERE stat NE c_i0320.
IF NOT i_t_jest[] IS INITIAL.
CLEAR wa_jest.
READ TABLE i_t_jest INTO wa_jest
WITH KEY objnr = wa_mpos-objnr
stat = c_i0320.
IF SY-SUBRC = 0.
IF wa_jest-inact NE c_space.
CONTINUE.
ENDIF.
ENDIF.
ENDIF.
CLEAR wa_draw.
READ TABLE i_draw INTO wa_draw
WITH KEY doknr = wa_mpos-zzdoknr
dokar = wa_mpos-zzdokar
doktl = c_zero "'000'
dokst = c_nine BINARY SEARCH. "'09'
CHECK SY-SUBRC = 0.
* Checking DIR is template DIR or not for DIR type
CLEAR wa_templ_grp.
READ TABLE i_templ_grp INTO wa_templ_grp
WITH KEY zdirtyp = wa_draw-dokar
ztempl = c_check "'X'
BINARY SEARCH.
CHECK SY-SUBRC = 0.
* CONCATENATE g_dokar g_doknr g_dokvr g_doktl INTO g_objky.
g_objky+000(003) = wa_draw-dokar.
g_objky+003(025) = wa_draw-doknr.
g_objky+028(002) = wa_draw-dokvr.
g_objky+030(003) = wa_draw-doktl.
g_equnr = wa_mpos-equnr.
g_qmnum = wa_mpos-qmnum.
g_warpl = wa_mpos-warpl.
CLEAR wa_char.
READ TABLE i_char INTO wa_char
WITH KEY zkey = c_008 "'008'
BINARY SEARCH.
g_char = wa_char-zchar.
CLEAR g_flag_comp.
* reading the characteristic data
PERFORM sub_class_retrieve
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt
USING g_objky
g_char
c_space
c_space
CHANGING g_flag_inst.
IF g_flag_inst = c_check. "'X'
READ TABLE i_equz INTO wa_equz
WITH KEY equnr = wa_mpos-equnr BINARY SEARCH.
CHECK SY-SUBRC = 0.
* Checking the Installation history
LOOP AT i_equz INTO wa_equz FROM SY-TABIX.
IF wa_equz-equnr <> wa_mpos-equnr.
g_hequi1 = wa_equz-hequi.
g_iloan = wa_equz-iloan.
* Checking the equipment is installed as superior equipment or not.
IF g_hequi1 IS NOT INITIAL AND g_iloan IS NOT INITIAL.
CLEAR wa_iloa.
i_char
USING g_objky
g_warpl
g_index
CHANGING i_mpos
g_flag_comp.
ENDIF.
ENDLOOP. "For i_mpos
ENDIF.
ENDIF.
IF i_iloa[] IS NOT INITIAL.
i_t_iloa[] = i_iloa[].
SORT i_t_iloa BY tplnr.
DELETE ADJACENT DUPLICATES FROM i_t_iloa COMPARING tplnr.
SELECT tplnr "functional location
eqart "object type
FROM iflot
INTO TABLE i_iflot
FOR ALL ENTRIES IN i_t_iloa
WHERE tplnr = i_t_iloa-tplnr.
ENDIF.
SORT i_t_mpos BY group warpl equnr.
* Checking whether one MP contains many effectivity groups
DELETE ADJACENT DUPLICATES FROM i_t_mpos COMPARING group warpl.
LOOP AT i_t_mpos INTO wa_mpos.
CLEAR: g_warpl, g_equnr, g_flag_grp, g_wapos.
CLEAR: g_doknr, g_dokvr, g_dokar, g_doktl, g_objky.
g_warpl = wa_mpos-warpl.
AT NEW warpl.
g_flag_grp = c_check. "'X'
ENDAT.
* If flag is initial then
* show the error message and move to next MP
IF g_flag_grp IS INITIAL.
g_mess+000(028) = 'Correct the DIR effectivity'(003).
g_mess+029(030) = 'before reprocessing the error.'(002).
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_552 "'552'
g_warpl
g_mess
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
DELETE i_mpos WHERE warpl = g_warpl.
CONTINUE.
ENDIF. "for g_flag_grp IS INITIAL
ENDLOOP. "i_t_mpos
LOOP AT i_t_mpos INTO wa_mpos.
CLEAR: g_warpl, g_flag_grp, g_wapos.
CLEAR: g_doknr, g_dokvr, g_dokar, g_doktl, g_objky.
g_warpl = wa_mpos-warpl.
g_equnr = wa_mpos-equnr.
g_wapos = wa_mpos-wapos.
* For this maint. item retrieve the DIR info
call function 'ZDMPM_MAINT_DIR_VERSION'
EXPORTING
P_WAPOS = g_wapos
* P_DATE = SY-DATUM
IMPORTING
DOKNR = g_doknr
DOKAR = g_dokar
DOKTL = g_doktl
DOKVR = g_dokvr
EXCEPTIONS
INVALID_MAINT_ITEM = 1
NO_DIR_FOUND = 2
NO_VALID_RANGE = 3
NO_VALID_DIR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
* CONCATENATE g_dokar g_doknr g_dokvr g_doktl INTO g_objky.
g_objky+000(003) = g_dokar.
g_objky+003(025) = g_doknr.
g_objky+028(002) = g_dokvr.
g_objky+030(003) = g_doktl.
* Check the applicability of each MP according to effectivity code
CASE wa_mpos-group.
WHEN c_all. "'All'
wa_mpos_mod = wa_mpos.
APPEND wa_mpos_mod TO i_mpos_mod.
CLEAR wa_mpos.
WHEN c_position. "'Position'
g_check = c_level01. "'01'
PERFORM sub_effec_code_position
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_t_mpos
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_tplnr
g_check
g_inst_type
g_flg_call
g_aplog
CHANGING g_flag_chk.
WHEN c_actype. "'AC Type'
g_check = c_level01. "'01'
PERFORM sub_effec_code_actype
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_t_mpos
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_aplog
g_check
g_inst_type
g_flg_call
CHANGING g_flag_chk.
WHEN c_acseries. "'AC Series'
g_check = c_level01. "'01'
PERFORM sub_effec_code_acseries
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_scale
i_t_mpos
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_aplog
g_check
g_inst_type
g_flg_call
CHANGING g_flag_chk.
WHEN c_engtyp. "'Eng Type'
g_check = c_level01. "'01'
PERFORM sub_effec_code_engtype
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_t_mpos
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_aplog
g_check
g_inst_type
g_flg_call
CHANGING g_flag_chk.
ENDCASE.
* If no plan in the group is applicable
AT END OF equnr.
IF i_mpos_mod[] IS INITIAL.
g_mess+000(002) = 'All'(004).
g_mess+004(008) = 'Position'(005).
g_mess+013(007) = 'AC Type'(006).
g_mess+021(009) = 'AC Series'(007).
g_mess+031(008) = 'Eng Type'(008).
g_mess1+000(020) = wa_mpos-equnr.
g_mess1+022(025) = 'and functional location'(009).
g_mess1+026(020) = g_tplnr.
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_850 "'850'
g_mess
g_mess1
c_space "'SPACE'
c_space "'SPACE'
wa_mpos-equnr
g_inst_type.
ENDIF.
ENDAT.
ENDLOOP. "for i_mpos
SORT i_mhis BY warpl ASCENDING terma ASCENDING abnum ASCENDING
lrmdt DESCENDING adsttime DESCENDING.
SORT i_equi_no BY equnr.
SORT i_equz BY equnr ASCENDING
erdat DESCENDING
timbi DESCENDING.
SORT i_imrg BY point ASCENDING
idate DESCENDING itime DESCENDING.
LOOP AT i_mpos_mod INTO wa_mpos_mod.
CLEAR: g_wapos, g_warpl, g_equnr, g_objnr.
CLEAR: g_doknr, g_dokar, g_doktl, g_dokvr.
g_wapos = wa_mpos_mod-wapos.
g_warpl = wa_mpos_mod-warpl.
g_equnr = wa_mpos_mod-equnr.
g_objnr = wa_mpos_mod-objnr.
g_mptyp = wa_mpos_mod-mptyp.
call function 'ZDMPM_MAINT_DIR_VERSION'
EXPORTING
P_WAPOS = g_wapos
* P_DATE = SY-DATUM
IMPORTING
DOKNR = g_doknr
DOKAR = g_dokar
DOKTL = g_doktl
DOKVR = g_dokvr
EXCEPTIONS
INVALID_MAINT_ITEM = 1
NO_DIR_FOUND = 2
NO_VALID_RANGE = 3
NO_VALID_DIR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
* Checking DIR is template DIR or not for DIR type
CLEAR wa_templ_grp.
READ TABLE i_templ_grp INTO wa_templ_grp
WITH KEY zdirtyp = g_dokar
c_space
g_equnr
g_inst_type.
ENDIF.
* checking the MP category for calculating the Xcnew value
IF g_mptyp IN r_mptyp.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0295 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
g_count = c_01. "'01'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0296 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
* calling subroutine for calculating the Xcnew value for characteristic
* JAL_COMP_CAL_DAY_01 and JAL_COMP_FLY_DAY_01 if MP cat. is 'SL' or 'SH'
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_xcnew.
ELSE.
READ TABLE i_mhis INTO wa_mhis
WITH KEY warpl = wa_mpos_mod-warpl
terma = c_charn "'N'
abnum = c_level01 BINARY SEARCH. "'1'
CHECK SY-SUBRC = 0.
LOOP AT i_mhis INTO wa_mhis FROM SY-TABIX.
* If mhis not contains any of these fields then exit from the loop.
IF wa_mhis-warpl NE wa_mpos_mod-warpl
OR wa_mhis-terma NE c_charn
OR wa_mhis-abnum NE c_level01.
EXIT.
ENDIF.
IF wa_mhis-lrmdt IS NOT INITIAL.
* Read the characteristic value from scaleability table
CLEAR wa_scale_1.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0045 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0046 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
g_count = c_02. "'02'
*calling subroutine for calculating the Xcnew value for characteristic
*JAL_REP_CAL_DAY_01 and JAL_REP_FLY_DAY_01 if MP cat. is other than
ELSE.
* error message 'no certified usage found for MP g_warpl'
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0022 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
PERFORM sub_class_retrieve_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt
USING g_objky
g_char
CHANGING g_atwtb.
IF g_atwtb IS NOT INITIAL.
g_val_b = g_atwtb.
ELSE.
* error message 'no certified usage found for MP g_warpl'
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0296 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
*calling subroutine for calculating the Xcnew value for characteristic
*JAL_COMP_CAL_DAY_01 and JAL_COMP_FLY_DAY_01 if MP cat. is other than
*'SL' or 'SH' & status is not completed.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_xcnew.
ELSEIF ( ( g_val_a = c_01 "'01'
OR g_val_a = c_03 ) "'03'
AND g_val_b = c_01 )."'01'
g_count = c_04. "'04'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0235 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0236 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
*calling subroutine for calculating the Xcnew value for characteristic
*JAL_IMPLE_CAL_DAY_01 and JAL_IMPLE_FLY_DAY_01 if MP cat. is other
*than 'SL' or 'SH' & status is not completed.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_xcnew.
ELSEIF ( ( g_val_a = c_01 "'01'
OR g_val_a = c_05 ) "'05'
AND g_val_b = c_01 ). "'01'
g_count = c_03. "'03'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0275 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0276 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
*calling subroutine for calculating the Xcnew value for characteristic
*JAL_TAR_CAL_DAY_01 and JAL_TAR_FLY_DAY_01 if MP cat. is other than 'SL'
* or 'SH' & status is not completed.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_xcnew.
ENDIF.
ENDIF. "checking completion date i.e. LRMDT
ENDLOOP. "i_mhis
ENDIF. "g_mptyp = 'SL' OR g_mptyp = 'SH'
IF NOT g_mptyp IN r_mptype. "'SL'
READ TABLE i_equi_no INTO wa_equi_no
WITH KEY equnr = g_equnr BINARY SEARCH.
CHECK SY-SUBRC = 0.
LOOP AT i_equi_no INTO wa_equi_no FROM SY-SUBRC.
IF wa_equi_no-equnr NE g_equnr.
EXIT.
ENDIF.
g_objnr = wa_equi_no-objnr.
g_qmnum = wa_equi_no-qmnum.
* For checking the user status and system status for notifications
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
* CLIENT = SY-MANDT
* FLG_USER_STAT = ' '
OBJNR = g_objnr
* ONLY_ACTIVE = 'X'
SPRAS = SY-LANGU
* BYPASS_BUFFER = ' '
IMPORTING
* ANW_STAT_EXISTING =
* E_STSMA =
LINE = g_line
USER_LINE = g_user_line
* STONR =
EXCEPTIONS
OBJECT_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
* Checking the user status as Cancelled and system status as delete flag
IF ( ( g_line NS g_stat1 OR g_line NS g_stat2 )
AND ( g_user_line NS g_ustat1
OR g_user_line NS g_ustat2
OR g_user_line NS g_ustat3 ) ).
ENDLOOP. "i_equi_no
ELSE.
CLEAR wa_mhis.
READ TABLE i_mhis INTO wa_mhis
WITH KEY warpl = g_warpl BINARY SEARCH.
CHECK SY-SUBRC = 0.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_3 "'3'
name = c_vlcod "'VLCOD'
item = c_3 BINARY SEARCH. "'3'
g_vlcod = wa_scale-value.
CLEAR i_t_imrg.
REFRESH i_t_imrg.
i_t_imrg[] = i_imrg[].
DELETE i_t_imrg WHERE idate NE wa_mhis-lrmdt
OR itime NE wa_mhis-adsttime
OR vlcod NE g_vlcod.
LOOP AT i_t_imrg INTO wa_imrg.
* calling function to change the FLTP value to char value
CALL FUNCTION 'FLTP_CHAR_CONV_FROM_SI_RFC'
EXPORTING
FLTP_VALUE_SI = wa_imrg-readg
* INDICATOR_VALUE = ' '
* NUMBER_DIGITS = 22
* NUMBER_DECIMALS = 15
* EXPONENT = 0
* MASC_SYMBOL = ' '
* DEC_ALWAYS_WITH_POINT = ' '
* DEC_ALWAYS_WITH_COMMA = ' '
* LEFT_JUSTIFIED = ' '
UNIT_TARGET_INT = wa_imrg-recdu
* UNIT_IS_OPTIONAL = ' '
* UNIT_LANGUAGE = SY-LANGU
IMPORTING
CHAR_VALUE = g_char_val
* UNIT_TARGET_EXT3 =
* UNIT_TARGET_EXT6 =
* UNIT_TEXT_SHORT =
* UNIT_TEXT_LONG =
EXCEPTIONS
NO_UNIT_GIVEN = 1
UNIT_NOT_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
*MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* taking the first value of measurement into variable and move for
* further record
AT FIRST.
g_readg = g_char_val.
CONTINUE.
ENDAT.
g_act_use = g_char_val - g_readg.
g_readg = g_act_use.
wa_act_usage-line1 = g_act_use.
APPEND wa_act_usage TO i_act_usage.
CLEAR wa_act_usage.
ENDLOOP.
ENDIF.
READ TABLE i_equz INTO wa_equz
WITH KEY equnr = g_equnr.
CHECK SY-SUBRC = 0.
LOOP AT i_equz INTO wa_equz FROM SY-TABIX.
IF wa_equz-equnr NE g_equnr.
EXIT.
ENDIF.
AT FIRST.
CONTINUE.
ENDAT.
CLEAR wa_iloa.
READ TABLE i_iloa INTO wa_iloa
WITH KEY iloan = wa_equz-iloan BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_tplnr = wa_iloa-tplnr.
* Checking the effectivity code of MP for its prev. installation
* to know the applicability
CASE wa_mpos_mod-group.
WHEN c_position. "'Position'
g_check = c_level02. "'2'
PERFORM sub_effec_code_position
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_mpos_mod
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_tplnr
g_check
g_inst_type
g_flg_call
g_aplog
CHANGING g_flag_chk.
i_char
i_scale
i_mpos_mod
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_aplog
g_check
g_inst_type
g_flg_call
CHANGING g_flag_chk.
IF g_flag_chk NE c_check. "'X'
CONTINUE.
ENDIF.
WHEN c_engtyp. "'ENG Type'
g_check = c_level02. "'2'
PERFORM sub_effec_code_engtype
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_iflot
i_cabn
i_cawn
i_cawnt
i_char
i_mpos_mod
i_mpos_mod
i_messag1
USING g_equnr
g_objky
g_aplog
g_check
g_inst_type
g_flg_call
CHANGING g_flag_chk.
IF g_flag_chk NE c_check. "'X'
CONTINUE.
ENDIF.
ENDCASE.
g_wapos = wa_mpos_mod-wapos.
*For applicable installations we are taking the values of maint. plan
* and retriving the document info.
call function 'ZDMPM_MAINT_DIR_VERSION'
EXPORTING
P_WAPOS = g_wapos
* P_DATE = SY-DATUM
IMPORTING
DOKNR = g_doknr
DOKAR = g_dokar
DOKTL = g_doktl
DOKVR = g_dokvr
EXCEPTIONS
INVALID_MAINT_ITEM = 1
NO_DIR_FOUND = 2
NO_VALID_RANGE = 3
NO_VALID_DIR = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
CONTINUE.
ENDIF.
* Checking DIR is template DIR or not for DIR type
CLEAR wa_templ_grp.
READ TABLE i_templ_grp INTO wa_templ_grp
WITH KEY zdirtyp = g_dokar
ztempl = c_check BINARY SEARCH. "'X'
CHECK SY-SUBRC = 0.
* CONCATENATE g_dokar g_doknr g_dokvr g_doktl INTO g_objky.
g_objky+000(003) = g_dokar.
g_objky+003(025) = g_doknr.
g_objky+028(002) = g_dokvr.
g_objky+030(003) = g_doktl.
IF g_mptyp IN r_mptype. "'SL'
g_count = c_01. "'01'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0295 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0296 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_atwtb.
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_atwtb.
ELSE. "wa_mhis-lrmdt IS NOT INITIAL
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0021 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
PERFORM sub_class_retrieve_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt
USING g_objky
g_char
CHANGING g_atwtb.
IF g_atwtb IS NOT INITIAL.
g_val_a = g_atwtb.
ELSE.
* error message 'no certified usage found for MP g_warpl'
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0022 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
PERFORM sub_class_retrieve_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt
USING g_objky
g_char
CHANGING g_atwtb.
IF g_atwtb IS NOT INITIAL.
g_val_b = g_atwtb.
ELSE.
* error message 'no certified usage found for MP g_warpl'
ENDIF.
IF ( g_val_a = c_01 "'01'
OR g_val_a = c_02 ) "'02'
AND g_val_b = c_01. "'01'
g_count = c_01. "'01'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0295 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0296 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_atwtb.
ELSEIF ( ( g_val_a = c_01 "'01'
OR g_val_a = c_03 ) "'03'
AND g_val_b = c_01 ). "'01'
g_count = c_04. "'04'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0235 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0236 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_atwtb.
ELSEIF ( ( g_val_a = c_01 "'01'
OR g_val_a = c_05 ) "'05'
AND g_val_b = c_01 ). "'01'
g_count = c_03. "'03'
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0275 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0001
item = c_0276 BINARY SEARCH.
CHECK SY-SUBRC = 0.
g_char1 = wa_scale-value.
PERFORM sub_calc_rem_usage
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_objky
g_warpl
g_count
g_char
g_char1
CHANGING g_atwtb.
ENDIF.
ENDIF. "checking completion date i.e. LRMDT
ENDLOOP.
IF g_atwtb IS NOT INITIAL.
g_counter = g_counter + 1.
wa_act_usage-line2 = g_atwtb.
MODIFY i_act_usage FROM wa_act_usage INDEX g_counter
TRANSPORTING line2.
CLEAR wa_act_usage.
ENDIF.
ENDIF.
ENDLOOP. "i_equz
g_calc = 0.
LOOP AT i_act_usage INTO wa_act_usage.
g_xa1 = wa_act_usage-line1.
g_xc1 = wa_act_usage-line2.
g_calc = g_xa1 * ( g_xcnew / g_xc1 ) - g_calc.
ENDLOOP.
g_xnew = g_xcnew - g_calc.
ENDLOOP. "i_mpos_mod
LOOP AT i_mpos_mod INTO wa_mpos_mod.
IF wa_mpos_mod-mptyp IN r_mptyp.
* If MP category is SL or SH then set offset value as Xnew
PERFORM sub_set_value
IN PROGRAM zdmpmr_dev00078_mp_active
USING g_warpl
g_xnew.
ELSE.
READ TABLE i_mhis INTO wa_mhis
WITH KEY warpl = wa_mpos_mod-warpl
terma = c_charn
abnum = c_level01 BINARY SEARCH.
CHECK SY-SUBRC = 0.
LOOP AT i_mhis INTO wa_mhis FROM SY-TABIX.
IF wa_mhis-warpl NE wa_mpos_mod-warpl
OR wa_mhis-terma NE c_charn
OR wa_mhis-abnum NE c_level01.
EXIT.
ENDIF.
IF wa_mhis-lrmdt IS NOT INITIAL.
* If MP category is other than SL or SH and status is commpleted then
* set cycle value as Xnew
PERFORM sub_set_value_1
IN PROGRAM zdmpmr_dev00078_mp_active
USING g_warpl
g_xnew.
ELSE.
* If MP category is other than SL or SH and status is not commpleted
* then set offset value as Xnew
PERFORM sub_set_value
IN PROGRAM zdmpmr_dev00078_mp_active
USING g_warpl
g_xnew.
ENDIF.
ENDLOOP.
ENDIF.
* For restarting the MP
PERFORM sub_restart_mp "#EC *
IN PROGRAM zdmpmr_dev00078_mp_activate
USING g_warpl.
CLEAR wa_mpla.
READ TABLE i_mpla INTO wa_mpla
WITH KEY warpl = wa_mpos_mod-warpl BINARY SEARCH.
CHECK SY-SUBRC = 0. "checking internal tab. is blank or not
CLEAR wa_jsto.
READ TABLE i_jsto INTO wa_jsto
WITH KEY objnr = wa_mpla-objnr BINARY SEARCH.
CHECK SY-SUBRC = 0. "checking internal tab. is blank or not
CLEAR wa_tj48.
READ TABLE i_tj48 INTO wa_tj48
WITH KEY stsma = wa_jsto-stsma selid = c_selid "'Z000300'
BINARY SEARCH.
CHECK SY-SUBRC = 0. "checking internal tab. is blank or not
* Checking the notification is outstanding notification or not, if it is
* then setting the deletion flag for that notification
g_qmnum = wa_mpos_mod-qmnum.
PERFORM sub_set_del_flag
IN PROGRAM zdmpmr_dev00078_mp_active
USING g_qmnum.
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_s "'S'
c_msgid "'ZDMPM'
c_msgno_749 "'749'
g_warpl
g_qmnum
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
PERFORM sub_add_msg_to_log_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_s "'S'
c_msgid "'ZDMPM'
c_msgno_750 "'750'
g_qmnum
c_space "'SPACE'
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
ENDLOOP.
** ENDIF. "For is_cext_io-actv
** ENDIF. "For checking the function execution is without error
ENDFUNCTION.
*Messages
*---------------------------------------------------------*
* Message class: ALE_MSGID
*ALE
*
* Message class: AM
*287 Address cannot be maintained, entry in table TSADRV missing
*290 Entry missing in TSADRV, new address maintenance cannot be called
*291 Entry missing in TSADRV, new address maintenance cannot be called
*298 Address group & not defined, delete flag for address not possible
*I_M
*
* Message class: PM_ID
*PM_
*
* Message class: TK
*430 Client &1 has status 'not modifiable'
*729 Changes to Repository objects are not permitted in this client
*730 Changes to Repository or cross-client Customizing are not
*731 You are not allowed to change cross-client Customizing*
* Message class: VIM_AUTH_MSGID
*VIM