10-25-2006 8:11 AM
How could I find all Z* objects (or just programs...) containing a string.
Is there a standard report?
10-25-2006 8:36 AM
Maybe I was not precise enaught. I ment how to find Z* programs/objects with a string in source code .
Thank you in advance
10-25-2006 8:12 AM
10-25-2006 8:13 AM
Hi tina,
1. we can use ABAP_SCAN_DATA_DESCRIPTION program.
regards,
amit m.
10-25-2006 8:16 AM
Hi,
If you want all z* programs,go to SE11 and type z8 against table or view whatever you need and press F4.
If you want all z* programs,go to SE38 and type z* and press F4.
If you want all z* function module,go to SE37 and type z* and press F4.
10-25-2006 8:19 AM
Hi Tina,
you could use the report RSRSCAN1 or in transaction
SE38 Menu [Utilities][Find in Source code]
Hope this helps
Regards
Bernd
10-25-2006 8:21 AM
Hi Tina, i did it in this way.
First i put the Report in an internal table:
READ REPORT TADIR-OBJ_NAME INTO ITAB.
second:
LOOP AT ITAB.
*
SEARCH ITAB FOR P_TEXT. (Your text)
*
IF SY-SUBRC = 0.
WRITE: / ITAB.
ENDIF.
*
ENDLOOP.
Regards, Dieter
10-25-2006 8:26 AM
Hi,
Go to SE11 Tcode.
Type TADIR against the table radio button.
Click display.
Press CTRLshiftF10 to view the table contents.
Type z* against object name field.
Press F8.
Then you can see zll the z* objects.
10-25-2006 8:36 AM
Maybe I was not precise enaught. I ment how to find Z* programs/objects with a string in source code .
Thank you in advance
10-25-2006 8:38 AM
Hi again,
1. To search for a string in source code,
2. we can use the standard utility program.
ABAP_SCAN_DATA_DESCRIPTION
3. (It is meant for this purpose only)
regards,
amit m.
10-25-2006 8:39 AM
10-25-2006 8:42 AM
Hi Tina,
have you try my purpose?
I said i read the Report z.. in an internal table
and than search a string in this table (source).
if you want it for more Z-Report than select over
TADIR and any found report in the table.
regards, Dieter
10-25-2006 8:47 AM
Hi again,
1. RPR_ABAP_SOURCE_SCAN
2. use the above program in se38,
to search for source code.
regards,
amit m.
10-25-2006 9:27 AM
Hi Tina,
here the whole Coede:
PROGRAM ZGRO_TEST.
*
TABLES: TADIR, TRDIR, TRDIRT.
*
SELECTION-SCREEN: BEGIN OF BLOCK A01 WITH FRAME TITLE MELDUNG0.
*
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 01(28) T_PGMID.
PARAMETERS: P_PGMID LIKE TADIR-PGMID MODIF ID DSP DEFAULT 'R3TR'.
SELECTION-SCREEN: END OF LINE.
*
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 01(28) T_OBJ.
PARAMETERS: P_OBJ LIKE TADIR-OBJECT MODIF ID DSP DEFAULT 'PROG'.
SELECTION-SCREEN: END OF LINE.
*
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 01(25) T_REPID.
SELECT-OPTIONS: S_REPID FOR TADIR-OBJ_NAME.
SELECTION-SCREEN: END OF LINE.
*
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: BEGIN OF LINE.
SELECTION-SCREEN: COMMENT 01(28) T_SEATXT.
PARAMETERS: P_SEATXT(20).
SELECTION-SCREEN: END OF LINE.
*
SELECTION-SCREEN: SKIP.
SELECTION-SCREEN: END OF BLOCK A01.
*
Definition der BDC-Tabelle
DATA: BEGIN OF BDCDATA OCCURS 500.
INCLUDE STRUCTURE BDCDATA.
DATA: END OF BDCDATA.
*
DATA: CTU_PARAMS_0 LIKE CTU_PARAMS.
*
DATA: BEGIN OF ITAB OCCURS 0,
TEXT(72),
END OF ITAB.
*
DATA: BEGIN OF REPORT_HEADER OCCURS 0,
REPID LIKE SY-REPID,
DEVCLASS LIKE TADIR-DEVCLASS,
CNAM LIKE TRDIR-CNAM,
CDAT LIKE TRDIR-CDAT,
UNAM LIKE TRDIR-UNAM,
UDAT LIKE TRDIR-UDAT,
TEXT LIKE TRDIRT-TEXT,
END OF REPORT_HEADER.
*
DATA: BEGIN OF REPORT OCCURS 0,
REPID LIKE SY-REPID,
DEVCLASS LIKE TADIR-DEVCLASS,
CNAM LIKE TRDIR-CNAM,
CDAT LIKE TRDIR-CDAT,
UNAM LIKE TRDIR-UNAM,
UDAT LIKE TRDIR-UDAT,
LINE LIKE RSTXP-TDFIRST,
TEXT(72),
END OF REPORT.
*
DATA: FILENAME TYPE STRING,
LINE LIKE RSTXP-TDFIRST.
*
AT SELECTION-SCREEN OUTPUT.
*
LOOP AT SCREEN.
IF SCREEN-GROUP1 EQ 'DSP'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*
INITIALIZATION.
*
MELDUNG0 = 'Datenselektion'.
T_REPID = 'Reportselektion'.
T_PGMID = 'Programm-ID'.
T_OBJ = 'Objekttyp'.
T_SEATXT = 'String'.
*
S_REPID-SIGN = 'I'.
S_REPID-OPTION = 'CP'.
S_REPID-LOW = 'Z*'.
APPEND S_REPID.
*
START-OF-SELECTION.
*
PERFORM MELDUNG USING 'Einlesen der Daten'.
PERFORM EINLESEN_DATEN.
*
PERFORM MELDUNG USING 'Suchfunktion aktiv'.
PERFORM FUNKTION_SUCHEN.
*
END-OF-SELECTION.
*
AT LINE-SELECTION.
*
PERFORM SE38 USING REPORT-REPID REPORT-LINE.
*
FORM EINLESEN_DATEN.
*
CLEAR:: REPORT, REPORT_HEADER, ITAB.
REFRESH: REPORT, REPORT_HEADER, ITAB.
*
SELECT * FROM TADIR WHERE PGMID = P_PGMID
AND OBJECT = P_OBJ
AND OBJ_NAME IN S_REPID.
*
SELECT SINGLE * FROM TRDIR WHERE NAME = TADIR-OBJ_NAME.
*
SELECT SINGLE * FROM TRDIRT WHERE SPRSL = SY-LANGU
AND NAME = TADIR-OBJ_NAME.
*
REFRESH: ITAB.
*
READ REPORT TADIR-OBJ_NAME INTO ITAB.
*
REPORT-REPID = TADIR-OBJ_NAME.
REPORT-DEVCLASS = TADIR-DEVCLASS.
REPORT-CNAM = TRDIR-CNAM.
REPORT-CDAT = TRDIR-CDAT.
REPORT-UNAM = TRDIR-UNAM.
REPORT-UDAT = TRDIR-UDAT.
*
LOOP AT ITAB.
*
REPORT-LINE = SY-TABIX.
REPORT-TEXT = ITAB-TEXT.
*
APPEND REPORT.
*
ENDLOOP.
*
ENDSELECT.
*
ENDFORM.
*
FORM FUNKTION_SUCHEN.
*
SY-TVAR0 = 'Funktion Suche:'.
SY-TVAR1 = P_SEATXT.
*
LOOP AT REPORT.
*
SEARCH REPORT-TEXT FOR P_SEATXT.
*
IF SY-SUBRC = 0.
WRITE: / REPORT-REPID,
REPORT-CNAM,
REPORT-CDAT,
REPORT-UNAM,
REPORT-UDAT,
REPORT-LINE RIGHT-JUSTIFIED,
REPORT-TEXT.
HIDE: REPORT-REPID, REPORT-LINE.
ENDIF.
*
ENDLOOP.
*
ENDFORM.
*
FORM SE38 USING REPID LINE.
*
REFRESH BDCDATA.
*
PERFORM BDC_DYNPRO USING 'SAPLWBABAP' '0100'.
PERFORM BDC_FIELD USING 'RS38M-PROGRAMM' REPID.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '=SHOP'.
*
PERFORM BDC_DYNPRO USING 'SAPLS38E' '0400'.
PERFORM BDC_FIELD USING 'RSTXP-TDFIRST' LINE.
PERFORM BDC_FIELD USING 'BDC_OKCODE' '/00'.
*
CALL TRANSACTION 'SE38' USING BDCDATA MODE 'E'.
*
ENDFORM.
*
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
*
CLEAR BDCDATA.
BDCDATA-PROGRAM = PROGRAM.
BDCDATA-DYNPRO = DYNPRO.
BDCDATA-DYNBEGIN = 'X'.
APPEND BDCDATA.
*
ENDFORM.
*
FORM BDC_FIELD USING FNAM FVAL.
*
CLEAR BDCDATA.
BDCDATA-FNAM = FNAM.
BDCDATA-FVAL = FVAL.
APPEND BDCDATA.
*
ENDFORM.
*
FORM MELDUNG USING TEXT.
*
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 50
TEXT = TEXT
EXCEPTIONS
OTHERS = 1.
ENDFORM.
Regards, Dieter