Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

report to find all Z* objects (or just programs...) containing a string

Former Member
0 Kudos

How could I find all Z* objects (or just programs...) containing a string.

Is there a standard report?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Maybe I was not precise enaught. I ment how to find Z* programs/objects with a string in source code .

Thank you in advance

12 REPLIES 12

gopi_narendra
Active Contributor
0 Kudos

goto se38 - > givein Z* and press F4.

Regards

- Gopi

Former Member
0 Kudos

Hi tina,

1. we can use ABAP_SCAN_DATA_DESCRIPTION program.

regards,

amit m.

jayanthi_jayaraman
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Hi Tina,

you could use the report RSRSCAN1 or in transaction

SE38 Menu [Utilities][Find in Source code]

Hope this helps

Regards

Bernd

Former Member
0 Kudos

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

jayanthi_jayaraman
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Maybe I was not precise enaught. I ment how to find Z* programs/objects with a string in source code .

Thank you in advance

0 Kudos

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.

0 Kudos

Hi Tina,

that is done by the report RSRSCAN1.

Regards

Bernd

0 Kudos

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

0 Kudos

Hi again,

1. RPR_ABAP_SOURCE_SCAN

2. use the above program in se38,

to search for source code.

regards,

amit m.

Former Member
0 Kudos

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