code plug-in-ы хранятс в табл. enhcross, enhincinx,
т.е. проверить версии include-ов в котором лежат enhancement-ы.
м/б это поможет найти (закомментируйте version = 'A'), но сомнительно
Code:
* source code plug-in browser (c) trop
report
yenh
no standard page heading
line-size 140.
tables
: progdir.
data
: enh type enhcross
, enh_t like table of enh
, inc type enhincinx
, inc_t like table of inc
, _
, id(2)
, src(255)
, src_t like table of src
, c(255)
.
select-options
: ?otype for enh-otype no intervals default 'EI'
, ?enhna for enh-enhname
, ?objty for enh-obj_type
, ?objna for enh-obj_name
.
parameters
: !showsrc as checkbox default ''.
initialization.
start-of-selection.
end-of-selection.
select *
from enhcross
into table enh_t
where otype in ?otype
and enhname in ?enhna
and obj_type in ?objty
and obj_name in ?objna
and version eq 'A'.
if lines( enh_t ) = 0.
message 'Данные не найдены.' type 'S'.
return.
endif.
select *
from enhincinx
into table inc_t
for all entries in enh_t
where enhname eq enh_t-enhname
and version eq enh_t-version
and id eq enh_t-id
and is_enh eq ''.
data: begin of where
, type type char2
, colon type c
, name type char40
, end of where
, where_t like table of where
.
loop at inc_t into inc.
read table enh_t into enh with key enhname = inc-enhname id = inc-id.
assert sy-subrc eq 0.
id = inc-id.
shift id left deleting leading ` 0`.
concatenate enh-enhmode `/` id into c.
write: /(12) c color = 4, (40) inc-enhname color = 4.
read table enh_t into enh with key
enhname = inc-enhname
id = inc-id.
assert sy-subrc eq 0.
clear: where, where_t.
split inc-full_name+1 at '\' into table where_t.
read table where_t into where index 1.
delete where_t index 1.
delete where_t where type eq 'EI'.
case where-type.
when 'PR'. write: /(12) 'Program:'.
when 'FU'. write: /(12) 'Function:'.
when 'TY'. write: /(12) 'Class:'.
endcase.
write: (40) where-name.
loop at where_t into where.
case where-type.
when 'FO'. write: /(12) 'Form:'.
when 'SE'. write: /(12) 'Section:'.
when 'ME'. write: /(12) 'Method:'.
when 'IN'. write: /(12) 'Interface:'.
when others.
write: /(12) where-type.
endcase.
write: (40) where-name.
endloop.
clear: progdir.
select single * from progdir where name eq inc-enhinclude and state eq 'A'.
write: /(12) 'Changed:', progdir-cdat, progdir-cnam.
* write: / inc-full_name.
concatenate 'Source/' id ':' into sy-winsl.
write: /(12) sy-winsl, inc-enhinclude color = 7. " hotspot.
*{ pdtroev show source
if !showsrc eq 'X'.
read report inc-enhinclude into src_t.
loop at src_t into src where table_line cp 'ENHANCEMENT *.'.
condense src.
split src at ` ` into _ src.
split src at ` ` into src _.
if src eq id.
add 1 to sy-tabix.
loop at src_t into src from sy-tabix.
if src cp 'ENDENHANCEMENT*.'.
exit.
endif.
write: / src.
endloop.
exit.
endif.
endloop.
endif.
*}
skip.
endloop.
at line-selection.
if sy-lisel cs 'Source/'.
condense sy-lisel.
split sy-lisel at ` ` into sy-winsl inc-enhinclude.
split sy-winsl at '/' into _ id.
split id at ':' into id _.
condense id no-gaps.
read report inc-enhinclude into src_t.
loop at src_t into src where table_line cp 'ENHANCEMENT *.'.
condense src.
split src at ` ` into _ src.
split src at ` ` into src _.
if src eq id.
add 1 to sy-tabix.
loop at src_t into src from sy-tabix.
if src cp 'ENDENHANCEMENT*.'.
exit.
endif.
write: / src.
endloop.
exit.
endif.
endloop.
else.
sy-winx1 = sy-lilli.
read line sy-lilli line value into c.
* write: / '[', c, ']'.
if c cn ' 0'.
while c+1(1) ne '/'.
subtract 1 from sy-lilli.
read line sy-lilli line value into c.
endwhile.
if c+1(1) eq '/'.
condense c.
split c at ` ` into c src.
split c at `/` into _ id.
c = src.
read table enh_t into enh with key enhname = c id = id.
if sy-subrc eq 0.
data: begin of call
, iv_pgmid type e071-pgmid
, iv_object type e071-object
, iv_obj_name type e071-obj_name
, end of call.
if sy-winx1 eq sy-lilli.
call-iv_pgmid = 'R3TR'.
call-iv_object = 'ENHO'.
call-iv_obj_name = enh-enhname.
else.
call-iv_pgmid = 'R3TR'.
call-iv_object = 'PROG'.
call-iv_obj_name = enh-include.
endif.
call function 'TR_OBJECT_JUMP_TO_TOOL'
exporting
iv_pgmid = call-iv_pgmid
iv_object = call-iv_object
iv_obj_name = call-iv_obj_name
iv_action = 'SHOW'
exceptions
others = 1.
* read report enh-include into src_t.
* loop at src_t into src.
* write: / src.
* endloop.
endif.
endif.
endif.
endif.
* break pdtroev