Свирепый написал(а):
Вопрос на засыпку.
Существует программа, которая выполняет поиск заданного текста в других ABAP программах. Весьма полезная вещь. Подскажите название.
Не знаю насчет стандартной, но писал свою, все же просто делается через READ REPORT
Вот простенькая прога, которая ищет во всех програмах на Z* строку 'group by'
Code:
REPORT ZXXX NO STANDARD PAGE HEADING LINE-SIZE 246.
TABLES: TRDIRT.
DATA: BEGIN OF TPROG OCCURS 0,
PROG LIKE D010SINF-PROG,
CNAM LIKE D010SINF-CNAM,
CDAT LIKE D010SINF-CDAT,
UNAM LIKE D010SINF-UNAM,
UDAT LIKE D010SINF-UDAT,
END OF TPROG.
DATA: BEGIN OF T OCCURS 500,
LINE(72),
END OF T.
DATA: QQQ(8).
SELECT * FROM D010SINF INTO CORRESPONDING FIELDS OF TABLE TPROG
WHERE PROG LIKE 'Z%'.
QQQ = 'group by'.
WRITE:/ ' Список программ, где присутствует строка', QQQ.
WRITE:/ SY-ULINE.
WRITE:/ '|' NO-GAP,
(40) 'Имя программы' NO-GAP, '|' NO-GAP,
(11) 'N стр. кода' NO-GAP, '|' NO-GAP,
(12) 'Создал' NO-GAP,
(10) '' NO-GAP, '|' NO-GAP,
(12) 'Изменил' NO-GAP,
(10) '' NO-GAP, '|' NO-GAP,
(70) 'Заголовок программы', '|' NO-GAP,
(73) 'Строка кода' NO-GAP, '|' NO-GAP.
WRITE:/ SY-ULINE.
LOOP AT TPROG.
READ REPORT TPROG-PROG INTO T.
LOOP AT T.
IF T-LINE CS QQQ.
WRITE:/ '|' NO-GAP,
TPROG-PROG NO-GAP, '|' NO-GAP,
SY-TABIX NO-GAP, '|' NO-GAP,
TPROG-CNAM NO-GAP,
TPROG-CDAT NO-GAP, '|' NO-GAP,
TPROG-UNAM NO-GAP,
TPROG-UDAT NO-GAP, '|' NO-GAP.
SELECT SINGLE * FROM TRDIRT INTO TRDIRT
WHERE SPRSL = 'R' AND NAME = TPROG-PROG.
IF SY-SUBRC = 0.
WRITE: TRDIRT-TEXT, '|' NO-GAP.
ELSE.
WRITE: (70) '', '|' NO-GAP.
ENDIF.
WRITE: T-LINE, '|' NO-GAP.
ENDIF.
ENDLOOP.
ENDLOOP.
WRITE:/ SY-ULINE.