Application Development and Automation 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: 
Read only

how to find Z* programs containing a sting in source code

Former Member
0 Likes
625

Hello

Does anyone knows a report which finds Z* programs (and preferably also other z objects) containing a "xyz" sting in source code

Hello

Does anyone knows a report which finds Z* programs (and preferably also other z objects) containing a "xyz" sting in source code

3 REPLIES 3
Read only

Former Member
0 Likes
571

Hi tina,

1. use the standard sap program

RPR_ABAP_SOURCE_SCAN

2. to search for source code.

regards,

amit m.

Read only

Former Member
0 Likes
571

Hi Tina,

Yes, use the standard program RPR_ABAP_SOURCE_SCAN, that will be more useful in this case.

Regards,

Chandra.

Note: Please reward if helpful.

Read only

Former Member
0 Likes
571

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