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

Where-used list for ABAP type STRING

Former Member
0 Likes
3,365

In SAP GUI "Where-used list (CtrlShiftF3)" for ABAP type STRING raises the following error "STRING is a predefined data type in ABAP/4". How else could I find how often String type is used in SAP System?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,492

hi,

use this program <b>RPR_ABAP_SOURCE_SCAN</b>

to scan.

regards

vijay

In SAP GUI "Where-used list (CtrlShiftF3)" for ABAP type STRING raises the following error "STRING is a predefined data type in ABAP/4". How else could I find how often String type is used in SAP System?

11 REPLIES 11
Read only

Former Member
0 Likes
2,493

hi,

use this program <b>RPR_ABAP_SOURCE_SCAN</b>

to scan.

regards

vijay

Read only

0 Likes
2,492

Try program RSRSCAN1.

Read only

0 Likes
2,492

2 points for RPR_ABAP_SOURCE_SCAN, thanks!

I'd like to give 10 points for the following query or its result: "Find all exported RFC function modules that has STRING among their parameter types".

Read only

0 Likes
2,492

Run program RPR_ABAP_SOURCE_SCAN.

In selection screen enter the Program Type 'F' (Function Group)

And desired Development class.

'STRING' as parameter for 'Find String'.

Radio button ABAP Programs and execute.

You need to filter/ check this result again to get the RFC / function names.

Read only

0 Likes
2,492

GO TO SE11

GIVE TABLE NAME TFDIR,

GIVE VALUES FOR FIELDS FOR SELECTION AS FOLLOWS

FUNCNAME STRING

FMODE R

U WILL FIND ALL RFC USING STRINGS

Read only

0 Likes
2,492

Hymavathi Oruganti wrote:

> GO TO SE11

>

> GIVE TABLE NAME TFDIR,

>

> GIVE VALUES FOR FIELDS FOR SELECTION AS FOLLOWS

>

> FUNCNAME STRING

> FMODE R

>

>

> U WILL FIND ALL RFC USING STRINGS

2 points for the useful transaction (SE11), thanks.

But this will find all remotely enabled functions having "STRING" as part of their name, not parameter's type.

Read only

vinod_gunaware2
Active Contributor
0 Likes
2,492

hi

If u r not remembering the name of program even though u can find program name

For that purpose u should no either variable name or string which used in the program.

1. Program Name : RPR_ABAP_SOURCE_SCAN

OR

2. Transaction Code : ewk1

regards

vinod

Read only

Former Member
0 Likes
2,492

Hi Sam,

You can use program RPR_ABAP_SOURCE_SCAN.

This program has a field on the selection screen where you can provide the name of the program. However, this field is not mandatory. If you want, you can enter an * here to scan all programs <i>(THIS IS HOWEVER NOT RECOMMENDED SINCE THE EXECUTION TIME WILL BE EXTREMELY HIGH AND YOUR PROGRAM WILL TIME-OUT, ELSE SET IT AS A BACKGROUND TASK.)</i> In case, you just want to check all custom programs, you can specify Y* or Z* in this field.

Hope this helps.

Regards,

Madhur

NB: Please do award points if found helpful.

Message was edited by: Madhur Chopra

Read only

Former Member
0 Likes
2,492

Thanks and 2 points to everybody for the proposed source code scanners (RPR_ABAP_SOURCE_SCAN, RSRSCAN1, ewk1, etc.) but I failed with them. Either timeout or too much efforts to review results for even small amount of functions.

Let's review our bonuses:

- 10 points for the following query "Find ALL exported RFC function modules that has ABAP TYPE STRING among their parameter types".

- 6 points for the result of this query that was performed on any SAP System without the query itself.

Example functions are STFC_STRING, STFC_DEEP_STRUCTURE, STFC_DEEP_TABLE.

Read only

0 Likes
2,492

i am not sure whether you would find a standard tool for this. you may have to write some code.

check out this FM FUNCTION_IMPORT_INTERFACE

this takes the function name as parameter and returns its import/export/tables parameters along with their types.

you could copy this to a custom namespace, and modify ito accept multiple fnction names or with wild card characters and do the search.

Regards

Raja

Read only

Former Member
0 Likes
2,492

chk this code which is used to find programs,strings ... in SAP SCRIPTS forms , may be it may give u some idea

REPORT ZSEARCH_ITEMS_IN_SAPSCRIPT

NO STANDARD PAGE HEADING LINE-SIZE 208.

*=======================================================================

  • Omschrijving : Searching different items (e.g. strings, field, text,

  • program-names etc..) in sapscript forms

  • Auteur : Angelo Hoppenbrouwer

  • Datum : 07-11-2001

======================================================================

TABLES: STXL,

TLINE.

DATA BEGIN OF BDCDATA OCCURS 100.

INCLUDE STRUCTURE BDCDATA.

DATA END OF BDCDATA.

DATA BEGIN OF LINES OCCURS 100.

INCLUDE STRUCTURE TLINE.

DATA END OF LINES.

DATA: BEGIN OF STXL_ID,

TDOBJECT LIKE STXL-TDOBJECT,

TDNAME LIKE STXL-TDNAME,

TDID LIKE STXL-TDID,

TDSPRAS LIKE STXL-TDSPRAS,

END OF STXL_ID.

DATA: BEGIN OF KOP,

TXT(208),

END OF KOP.

DATA: I_STXL LIKE STXL OCCURS 10 WITH HEADER LINE,

I_TAB(40) OCCURS 10 WITH HEADER LINE,

CLIENT LIKE SY-MANDT,

H_FIELD(40),

H_VALUE(40),

H_LINE LIKE SY-LINNO,

H_OFFSET TYPE I,

H_REGEL(70) TYPE C,

H_TEL TYPE I,

H_TOT TYPE I,

H_POS TYPE I,

H_POS1 TYPE I,

H_POS2 TYPE I,

H_LEN TYPE I,

VORIGE_TDSPRAS_TDNAME(71) TYPE C,

HUIDIGE_TDSPRAS_TDNAME(71) TYPE C,

P_NAAM LIKE RSEUX-CP_VALUE,

H_TXT1(40),

H_TXT2(40),

H_WINDOW(132),

H_STRING(40),

H_STRING1(40),

H_STRING2 LIKE H_STRING1,

H_LINE1 LIKE LINES-TDLINE,

H_LINE2 LIKE H_LINE1.

SELECTION-SCREEN BEGIN OF BLOCK ZOEK_ITEM

WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: PA_ITEM1 RADIOBUTTON GROUP ITEM DEFAULT 'X'.

SELECTION-SCREEN COMMENT 4(16) TEXT-011.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: PA_ITEM2 RADIOBUTTON GROUP ITEM.

SELECTION-SCREEN COMMENT 4(16) TEXT-012.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: PA_ITEM3 RADIOBUTTON GROUP ITEM.

SELECTION-SCREEN COMMENT 4(16) TEXT-013.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: PA_ITEM4 RADIOBUTTON GROUP ITEM.

SELECTION-SCREEN COMMENT 4(16) TEXT-014.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

PARAMETERS: PA_ITEM5 RADIOBUTTON GROUP ITEM.

SELECTION-SCREEN COMMENT 4(16) TEXT-015.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK ZOEK_ITEM.

SELECTION-SCREEN BEGIN OF BLOCK ITEM_WAARDE

WITH FRAME TITLE TEXT-002.

PARAMETERS: PA_STR(40) OBLIGATORY,

PA_MANDT LIKE SY-MANDT DEFAULT SY-MANDT.

SELECTION-SCREEN END OF BLOCK ITEM_WAARDE.

SELECTION-SCREEN BEGIN OF BLOCK FORM

WITH FRAME TITLE TEXT-003.

SELECT-OPTIONS: SO_NAME FOR STXL-TDNAME NO INTERVALS

DEFAULT 'Z*'

OPTION CP,

SO_SPRAS FOR STXL-TDSPRAS NO INTERVALS

DEFAULT 'NL'.

SELECTION-SCREEN END OF BLOCK FORM.

START-OF-SELECTION.

CLIENT = SY-MANDT.

CLEAR: H_STRING1, H_STRING2.

IF NOT PA_ITEM1 IS INITIAL. " Standaardtekst

CONCATENATE 'include' PA_STR INTO H_STRING1 SEPARATED BY ' '.

H_TXT1 = 'standard text'.

ENDIF.

IF NOT PA_ITEM2 IS INITIAL. " Tabel (+veld)

CONCATENATE '&' PA_STR INTO H_STRING1.

H_TXT1 = 'table (+field)'.

ENDIF.

IF NOT PA_ITEM3 IS INITIAL. " Hulpveld

CONCATENATE '&' PA_STR '&' INTO H_STRING1.

H_TXT1 = 'variable'.

ENDIF.

IF NOT PA_ITEM4 IS INITIAL. " Programma

CONCATENATE 'in program' PA_STR INTO H_STRING1 SEPARATED BY ' '.

H_TXT1 = 'program'.

ENDIF.

IF NOT PA_ITEM5 IS INITIAL. " String

H_STRING1 = PA_STR.

H_TXT1 = 'string'.

ENDIF.

CONCATENATE '"' PA_STR '"' INTO H_TXT2.

FORMAT COLOR COL_HEADING INTENSIFIED ON.

CONCATENATE 'Use of'

H_TXT1

H_TXT2

'in forms'

INTO KOP SEPARATED BY ' '.

WRITE: / KOP.

ULINE.

FORMAT COLOR COL_HEADING INTENSIFIED OFF.

WRITE: / 'Clt',

005 'Form',

036 'Lang',

041(030) 'Window',

072(002) 'Fm',

077(132) 'Row'.

ULINE.

FORMAT COLOR COL_NORMAL INTENSIFIED ON.

STXL_ID-TDOBJECT = 'FORM'.

STXL_ID-TDID = 'TXT'.

SELECT * FROM STXL CLIENT SPECIFIED

WHERE MANDT = PA_MANDT

AND RELID EQ 'TX'

AND TDOBJECT EQ 'FORM'

AND TDID EQ 'TXT'

AND TDNAME IN SO_NAME

AND TDSPRAS IN SO_SPRAS.

MOVE-CORRESPONDING STXL TO I_STXL.

APPEND I_STXL.

ENDSELECT.

SORT I_STXL.

CLEAR HUIDIGE_TDSPRAS_TDNAME.

CLEAR VORIGE_TDSPRAS_TDNAME.

LOOP AT I_STXL.

STXL_ID-TDNAME = I_STXL-TDNAME.

STXL_ID-TDSPRAS = I_STXL-TDSPRAS.

STXL_ID-TDID = I_STXL-TDID.

CONCATENATE STXL_ID-TDSPRAS STXL_ID-TDNAME

INTO HUIDIGE_TDSPRAS_TDNAME.

IF HUIDIGE_TDSPRAS_TDNAME <> VORIGE_TDSPRAS_TDNAME.

CONCATENATE STXL_ID-TDSPRAS STXL_ID-TDNAME

INTO VORIGE_TDSPRAS_TDNAME.

REFRESH LINES.

CLEAR H_TEL.

IMPORT TLINE TO LINES FROM DATABASE STXL(TX)

CLIENT I_STXL-MANDT

ID STXL_ID.

LOOP AT LINES.

IF LINES-TDFORMAT = '/W'.

H_WINDOW = LINES-TDLINE.

ENDIF.

SEARCH LINES-TDLINE FOR H_STRING1.

IF SY-SUBRC <> 0 AND H_STRING2 <> SPACE.

SEARCH LINES-TDLINE FOR H_STRING2.

ENDIF.

IF SY-SUBRC EQ 0 AND LINES-TDFORMAT NE '/*'.

H_POS = SY-FDPOS.

IF NOT PA_ITEM1 IS INITIAL.

ADD 8 TO H_POS.

ENDIF.

IF NOT PA_ITEM4 IS INITIAL.

ADD 11 TO H_POS.

ENDIF.

H_LEN = STRLEN( PA_STR ).

H_STRING = LINES-TDLINE+H_POS(H_LEN).

IF H_TEL EQ 0.

HIDE I_STXL-MANDT.

HIDE STXL-TDNAME.

HIDE I_STXL-TDSPRAS.

WRITE: /001 I_STXL-MANDT,

005 STXL-TDNAME HOTSPOT ON,

036 I_STXL-TDSPRAS,

041 H_WINDOW(30).

CLEAR STXL-TDNAME.

ELSE.

WRITE: /041 H_WINDOW(30).

ENDIF.

WRITE: 072 LINES-TDFORMAT.

H_POS1 = 77 + H_POS.

H_POS2 = H_POS + STRLEN( H_STRING ).

IF H_POS EQ 0.

CLEAR H_LINE1.

ELSE.

H_LINE1 = LINES-TDLINE(H_POS).

ENDIF.

H_LINE2 = LINES-TDLINE+H_POS2.

H_POS2 = H_POS2 + 77.

WRITE: 077 H_LINE1,

AT H_POS1 H_STRING COLOR COL_HEADING,

AT H_POS2 H_LINE2.

H_TEL = H_TEL + 1.

H_TOT = H_TOT + 1.

ENDIF.

ENDLOOP.

IF NOT H_TEL IS INITIAL.

ULINE.

ENDIF.

ENDIF.

ENDLOOP.

FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

SKIP 1.

WRITE: / 'Number of hits:', H_TOT.

AT LINE-SELECTION.

CHECK STXL-TDNAME <> SPACE.

GET CURSOR FIELD H_FIELD

VALUE H_VALUE

LINE H_LINE

OFFSET H_OFFSET.

CHECK H_FIELD = 'STXL-TDNAME'.

CHECK I_STXL-MANDT = SY-MANDT.

REFRESH BDCDATA.

PERFORM BDC_DYNPRO USING 'SAPMSSCF' '1102'.

PERFORM BDC_FIELD USING 'RSSCF-TDFORM' STXL-TDNAME.

PERFORM BDC_FIELD USING 'RSSCF-TDSPRAS' I_STXL-TDSPRAS.

CALL TRANSACTION 'SE71' USING BDCDATA.

CLEAR STXL-TDNAME.

&----


*& Form BDC_DYNPRO

&----


FORM BDC_DYNPRO USING PROGRAM DYNPRO.

CLEAR BDCDATA.

BDCDATA-PROGRAM = PROGRAM.

BDCDATA-DYNPRO = DYNPRO.

BDCDATA-DYNBEGIN = 'X'.

APPEND BDCDATA.

ENDFORM. " BDC_DYNPRO

&----


*& Form BDC_FIELD

&----


FORM BDC_FIELD USING FNAM FVAL.

CLEAR BDCDATA.

BDCDATA-FNAM = FNAM.

BDCDATA-FVAL = FVAL.

APPEND BDCDATA.

ENDFORM. " BDC_FIELD