Sei sulla pagina 1di 69

Application Log Display

FUNCTION ZDMPM_APPL_LOG_DISPLAY.*"---------------------------------------------------------------------*"*"Local Interface:


*" IMPORTING
*" REFERENCE(P_EQUNR_LOW) TYPE EQUNR DEFAULT SPACE
*" REFERENCE(P_EQUNR_HIGH) TYPE EQUNR DEFAULT SPACE
*" TABLES
*" I_MESSAG1 STRUCTURE ZDMPM_APPL_LOG
*"----------------------------------------------------------------------* Global data declarations* Data declaration done in the following include (DEV00078)include
zdmpmr_dev00078_mp_active_top.
TYPES: BEGIN OF ty_equnr,
equnr TYPE equnr,
END OF ty_equnr.
DATA: r_equnr TYPE RANGE OF mpos-equnr,
i_equnr TYPE STANDARD TABLE OF ty_equnr INITIAL SIZE 0.
DATA: wa_equnr LIKE LINE OF r_equnr,
wa_equnr1 TYPE ty_equnr.**** For implementation of version management
*** CALL FUNCTION 'ZDM_CHECK_DEV_STATUS'
*** EXPORTING
*** zdevid = c_devid "'DEV00078'
*** zuname = SY-UNAME
*** EXCEPTIONS
*** enhancement_not_active = 1
*** OTHERS = 2.* Checking the function execution is without error** IF SY-SUBRC = 0.
IF NOT p_equnr_high IS INITIAL.
wa_equnr-sign = c_sign.
wa_equnr-option = c_option.
wa_equnr-low = p_equnr_low.
wa_equnr-high = p_equnr_high.
APPEND wa_equnr TO r_equnr.
CLEAR wa_equnr.

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

item "item no.


descr "description
value "parameter value
FROM zdm_par_dev00078 "#EC CI_NOWHERE
INTO TABLE i_scale.
* 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_822 "'822'
c_space
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
SELECT zkey "key value
zdesc "description
zchar "characteristic values
FROM zdmpm_dir_char "#EC CI_NOWHERE
INTO TABLE i_char.
* 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_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

WITH KEY pkey = c_0001 "'0001'


name = c_codct "'CODCT'
item = c_0001. "'0001'
CHECK SY-SUBRC = 0.
g_codct = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0002 "'0002'
name = c_codgr "'CODGR'
item = c_0001. "'0001'
CHECK SY-SUBRC = 0.
g_codgr = wa_scale-value.

SELECT readg "measuring reading


idate "date of measurement
itime "time of measurement
recdu "unit
cntrr "counter reading
codct "catalog type
codgr "code group
vlcod "valuation code
point "measuring point
FROM imrg "#EC CI_NOFIELD
INTO TABLE i_imrg
WHERE codct = g_codct
AND codgr = g_codgr.
* 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_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

eqlfn "cons. numbering on same day


hequi "superior equipment
iloan "location and acct assignment for tech obj
erdat "create date
timbi "time
FROM equz
INTO TABLE i_equz
FOR ALL ENTRIES IN i_equi_tab
WHERE 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_1
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_messag1
USING c_msgty_e "'E'
c_msgid "'ZDMPM'
c_msgno_814 "'814'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ENDIF.
i_t_equz[] = i_equz[].
SORT i_t_equz BY iloan.
DELETE ADJACENT DUPLICATES FROM i_t_equz COMPARING iloan.
SELECT iloan "location and acct assignment for tech obj
tplnr "functional location
owner "object ref. indicator
FROM iloa
INTO TABLE i_iloa

FOR ALL ENTRIES IN i_t_equz


WHERE iloan = i_t_equz-iloan.
* 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_815 "'815'
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
stsma "status profile
FROM jsto
INTO TABLE i_jsto
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_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.
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

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 atinn "internal characteristic
atzhl "internal counter
atwtb "description
adzhl "int counter
spras "language
FROM cawnt
INTO TABLE i_cawnt
FOR ALL ENTRIES IN i_cawn
WHERE atinn = i_cawn-atinn
AND atzhl = i_cawn-atzhl.
* 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 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

INTO TABLE i_templ_grp.


* 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_818 "'818'
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
WITH KEY pkey = c_0004 "'0004'
name = c_ustat "'USTAT'
item = c_0001. "'0001'
IF SY-SUBRC = 0.
g_ustat1 = wa_scale-value.
ENDIF.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_0004 "'0004'
name = c_ustat "'USTAT'
item = c_0002. "'0002'
IF SY-SUBRC = 0.
g_ustat2 = wa_scale-value.

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

WHERE qmih~equnr = i_equi_tab-equnr.


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_819 "'819'
g_equnr
c_space
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
EXIT.
ELSE.
* deleting those notifications whose maint plan and maint item is blank
DELETE i_equi_no WHERE warpl IS NOT INITIAL
AND wapos IS NOT INITIAL.
CLEAR: g_equnr, g_qmnum, g_objnr.
LOOP AT i_equi_no INTO wa_equi_no.
g_objnr = wa_equi_no-objnr.
g_qmnum = wa_equi_no-qmnum.
g_equnr = wa_equi_no-equnr.
* For checking the user status and system status for notifications
CALL FUNCTION 'STATUS_TEXT_EDIT'
EXPORTING
* CLIENT = SY-MANDT
FLG_USER_STAT = c_check "'X'
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.
* 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

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_523 "'523'
g_qmnum
g_equnr
c_space "'SPACE'
c_space "'SPACE'
g_equnr
g_inst_type.
ENDIF.
* Checking the user status and system staus
ELSEIF g_line NS g_stat2 AND g_user_line CS g_ustat1.
* Activating the status of non-mp notification
PERFORM sub_nonmp_notif_activate
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
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_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

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_i0001.
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 EQ 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. "chking reading of table is successful
* 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 BINARY SEARCH. "'X'


CHECK SY-SUBRC = 0. "chking reading of table is successful
* 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.
g_objnr = wa_mpos-objnr.
g_inst_typ = c_install.
CLEAR g_flag_comp.
SHIFT g_equnr LEFT DELETING LEADING c_zero1. "'0'
SHIFT g_qmnum LEFT DELETING LEADING c_zero1. "'0'
SHIFT g_warpl LEFT DELETING LEADING c_zero1. "'0'
* performing MP selection/deactivating and deleting the flag for
* outstanding notifications
PERFORM sub_mp_selection_deactivate
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt
i_char
i_mpos
i_jsto
i_tj48
i_messag1
USING g_equnr
g_objky
g_qmnum
g_warpl
g_objnr

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.

READ TABLE i_iloa INTO wa_iloa


WITH KEY iloan = wa_equz-iloan BINARY SEARCH.
CHECK SY-SUBRC = 0.
IF wa_iloa-owner EQ c_level01 "'01'
OR wa_iloa-owner EQ SPACE.
g_hequi = wa_equz-hequi.
ENDIF.
IF wa_iloa-owner EQ c_level02 "'02'
AND wa_iloa-tplnr NE SPACE.
g_tplnr = wa_iloa-tplnr.
ENDIF.
ELSEIF g_hequi1 IS NOT INITIAL
AND g_iloan IS INITIAL.
g_hequi = wa_equz-hequi.
ELSEIF g_hequi1 IS INITIAL
AND g_iloan IS NOT INITIAL.
CLEAR wa_iloa.
READ TABLE i_iloa INTO wa_iloa
WITH KEY iloan = wa_equz-iloan BINARY SEARCH.
CHECK SY-SUBRC = 0.
IF wa_iloa-owner EQ c_level02 "'02'
AND wa_iloa-tplnr NE SPACE.
g_tplnr = wa_iloa-tplnr.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
* to find out the effectivity group of maintenance plan
PERFORM sub_mp_effect_group
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_cabn
i_cawn
i_cawnt

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

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.
PERFORM sub_calc_offset
IN PROGRAM zdmpmr_dev00078_mp_active
TABLES i_mmpt
i_imrg
i_mhis
i_cabn
i_cawn
i_cawnt
i_ausp
i_imptt
i_scale
USING g_warpl
g_objky
CHANGING g_offset.
IF g_offset IS INITIAL.
g_mess+000(020) = 'the DIR counter data'(001).
g_mess+022(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_s "'E'
c_msgid "'ZDMPM'
c_msgno_764 "'764'
g_doknr
g_dokar
g_mess

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

*'SL' or 'SH' & status is 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.
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.
*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 ) ).

READ TABLE i_equz INTO wa_equz


WITH KEY equnr = g_equnr BINARY SEARCH.
CHECK SY-SUBRC = 0.
LOOP AT i_equz INTO wa_equz FROM SY-TABIX.
IF wa_equz-equnr = g_equnr.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_3 "'3'
name = c_vlcod "'VLCOD'
item = c_level01 BINARY SEARCH. "'1'
g_vlcod1 = wa_scale-value.
CLEAR wa_scale.
READ TABLE i_scale INTO wa_scale
WITH KEY pkey = c_3 "'3'
name = c_vlcod "'VLCOD'
item = c_level02 BINARY SEARCH. "'2'
g_vlcod2 = wa_scale-value.
i_t_imrg[] = i_imrg[].
DELETE i_t_imrg WHERE idate NE wa_equz-erdat
OR itime NE wa_equz-timbi
OR ( vlcod NE g_vlcod1
OR vlcod NE g_vlcod2 ).
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.
CONTINUE.
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.
ENDLOOP. "i_equz
ENDIF.

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.

IF g_flag_chk NE c_check. "'X'


CONTINUE.
ENDIF.
WHEN c_actype. "'AC Type'
g_check = c_level02. "'2'
PERFORM sub_effec_code_actype
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.
WHEN c_acseries. "'AC Series'
g_check = c_level02. "'2'
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_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.

ELSE. "g_mptyp EQ 'SL'


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 wa_mhis-warpl NE wa_mpos_mod-warpl
OR wa_mhis-terma NE c_charn "'N'
OR wa_mhis-abnum NE c_level01. "'1'
EXIT.
ENDIF.
IF wa_mhis-lrmdt IS NOT INITIAL.
g_count = c_02. "'02'
CLEAR wa_scale.
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.
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.
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: SCPR


*026 Table & is too wide. Cannot be processed
*028 The table/view & has no generated maintenance dialog
*035 Internal failure in Dictionary interface: Inform SAP
*120 Table/View & not found
*273 Error calling a function module
*320 Internal BC Set processing error
*395 Field description read error
*399 Unable to find activation information for data record
*408 Table key not supported by activation links
*
* Message class: SV
*000 &
*001 The selected function is not supported
*002 Number of retrieved entries: &
*004 No entries found that match selection criteria
*005 One entry chosen
*006 Number of chosen entries: &
*007 No previous entry exists
*008 No next entry exists
*009 An entry already exists with the same key
*010 An entry with this key is marked for deletion
*011 Number of deleted entries: &
*012 Number of changed entries: &
*013 Entry deleted
*014 Number of entries copied: &
*015 Target key must be different from source key
*016 Number of reset entries: &
*017 Entry reset
*018 Data was saved
*019 Choose the key from the allowed namespace
*024 Specify target entries
*025 Specify target entries

*026 Select entries before performing the function


*028 Table & not in DDIC
*032 Position the cursor on a valid entry
*033 Specify the key within the work area
*037 The maintenance dialog for & is incomplete or not defined
*039 Table & has no relevant fields
*040 & entries reset, & original and & new entries are still marked
*041 & entries reset, & original entries are still marked
*042 & entries reset, & new entries are still marked
*043 Data already saved
*044 Read access only
*045 Enter a start date that is before the end date
*046 Enter an end date that is after the start date
*047 Overlapping records are deleted or delimited
*049 Data locked by user & (display only)
*050 System error: Unable to lock table/view &
*051 No data maintenance authorization; display only
*053 No display authorization for requested data
*054 Maintenance of data in current client & not permitted
*055 Address for object & not found
*056 Mark at least one entry before selecting this function
*057 The selected entry is new and has no original
*058 The selected entries are new and have no original
*059 The selected entry is still in its original state
*060 The selected entries are still in their original state
*061 & entries are still originals, & new entries have no original
*065 No entries exist, double-click for long text
*066 Select block end
*084 No values can be displayed
*092 Change task & is being processed
*095 System error changing change task &
*096 Task & was changed
*098 Entry flagged for inclusion in task &

*099 Entry was flagged for deletion from task &


*105 & entries were flagged for inclusion in task &
*106 & entries were flagged for deletion from task &
*107 Entry was already in task &
*108 & entries were already in task &
*109 & entries included, & entries were contained: &
*110 Entry was not in task &
*111 & entries deleted, & entries were not included: &
*112 & entries were not in task &
*113 Entry could not be retrieved
*114 & entries could not be retrieved
*115 Entry could not be deleted
*116 & entries could not be deleted
*117 Do not make any changes (SAP entry)
*120 Other entries are retrieved and modified if necessary
*121 Deleted entry will be recovered and possibly changed
*122 Entry was delimited
*123 Number of delimited entries: &
*124 Process delimited entries
*125 Process delimited entry
*127 Delimit area of validity
*128 Delivery class &, transport not possible
*129 Related objects in various tasks
*130 Client & is local, transport not permitted
*132 Object locked for task &1, user &2 only display permitted
*134 Inconsistency in object definition, only display permitted
*135 Compare error
*136 Change with caution, entry belongs to customer
*138 Check maintenance object &1 or update function group &2
*139 Address data is not taken over
*140 &1 entries deleted, &2 entries taken over
*141 Entries are not put into the change request individually
*142 Transport is not possible for the specified data

*153 No language was chosen


*160 The installed system codepage does not allow any other languages.
*161 Put the cursor on a form name
*162 The object &1 &2 &3 cannot be put in a request
*164 Table/view &1 is not in the Dictionary
*173 Function group &1 inconsistent
*174 Enter values in work area for non-key fields
*175 The selected BC Set function is not supported
*177 Data record contains fixed value from BC Set and cannot be
*183 Error in remote access to central system of Customizing
*184 Data record contains fix value from BC Set and cannot be changed
*202 You are not authorized to change fields with fixed BC Set values
*306 Table/view & is not active
*538 Dropdown lists are not supported in view clusters
*757 You have no maintenance authorization for this table key
*763 You have no maintenance authorization for the displayed data
*764 Changed data record selection
*766 Restricted display of datasets
*808 Not all columns in the table can be displayed in the list
*810 Total length of view &1 is longer than 1000 characters
*818 &1 of &2 Business Configuration Set entries imported
*819 Business Configuration Set imported
*820 No Business Configuration Set found
*821 No Business Configuration Set exists for view &
*822 No Business Configuration Set exists for table &
*830 Last selected entry has been reached
*831 First selected entry has been reached
*MSG
*P_M
*
* Message class: TB
*109 No maintenance authorization for cross-client tables (see Help)
*

* 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

Potrebbero piacerti anche