A Simple search program for Dictionary
objects
Applies To:
ABAP Programming
Article Summary
This Code sample is a simple search utility for the dictionary objects. This has three kinds of
search functionality such as exactly same, starting with and containing.
By : Kathirvel Balakrishnan
Title: Project Engineer, Wipro Technologies
Date: 06 March 2005
Source Code
*----------------------------------------------------------------------*
* Report
ZC1_SEARCH_OBJECTS
*----------------------------------------------------------------------*
* Description
: A Simple search program for Repository
objects. This includes the pattern matching
functionality also.
* Program By
: Kathirvel Balakrishnan.
* Created on
: 06 March 2005.
*----------------------------------------------------------------------*
REPORT zc1_search_objects MESSAGE-ID zc1msg1.
*&---------------------------------------------------------------------*
*&
Declaration Section for Tables used in the Report
*&---------------------------------------------------------------------*
TABLES: tadir.
*&---------------------------------------------------------------------*
*&
Declaration Section for the Internal Tables
*&---------------------------------------------------------------------*
DATA: i_intab LIKE TABLE OF tadir WITH HEADER LINE,
v_syrepid LIKE sy-repid.
*&---------------------------------------------------------------------*
*&
Selection Screen Section
*&---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.
PARAMETERS: p_object TYPE tadir-obj_name OBLIGATORY.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
PARAMETERS :
r_same RADIOBUTTON GROUP rgrp,
r_like RADIOBUTTON GROUP rgrp,
r_cont RADIOBUTTON GROUP rgrp.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF BLOCK b1.
*&---------------------------------------------------------------------*
*&
Start Of Selection Event Begins Here
*&---------------------------------------------------------------------*
START-OF-SELECTION.
v_syrepid = sy-repid.
PERFORM search_object.
PERFORM display_result.
*&---------------------------------------------------------------------*
*&
Form
search_object
*&---------------------------------------------------------------------*
*
This Subroutine will search for the object and fills it in the
internal table I_INTAB.
*----------------------------------------------------------------------*
FORM search_object.
*------ Searching for the exact match in the database -----------------*
IF r_same = 'X'.
SELECT * FROM tadir INTO TABLE i_intab WHERE obj_name = p_object.
ENDIF.
*------ Searching for the objects that begin with given value --------*
IF r_like = 'X'.
CONCATENATE
p_object '%' INTO p_object.
SELECT * FROM tadir INTO TABLE i_intab
WHERE obj_name LIKE p_object.
ENDIF.
*------ Searching for the objects that contain the given value --------*
IF r_cont = 'X'.
CONCATENATE '%' p_object '%' INTO p_object.
SELECT * FROM tadir INTO TABLE i_intab
WHERE obj_name LIKE p_object.
ENDIF.
ENDFORM.
" search_object
*&---------------------------------------------------------------------*
*&
Form
display_result
*&---------------------------------------------------------------------*
*
The search result will displayed in a report.
*----------------------------------------------------------------------*
*
-->
p1
text
<--
p2
text
*----------------------------------------------------------------------*
FORM display_result.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program
= v_syrepid
i_structure_name
= 'TADIR'
i_grid_title
= 'Repository Search Result'
TABLES
t_outtab
= i_intab
EXCEPTIONS
program_error
= 1
OTHERS
= 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
" display_result
Sample Screen Shots
Selection Screen
Output Screen
Disclaimer & Liability Notice
This document may discuss sample coding, which does not include official interfaces and
therefore is not supported. Changes made based on this information are not supported and can
be overwritten during an upgrade.
SAP will not be held liable for any damages caused by using or misusing of the code and
methods suggested here, and anyone using these methods, is doing it under his/her own
responsibility.
SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the
content of the technical article, including any liability resulting from incompatibility between the
content of the technical article and the materials and services offered by SAP. You agree that you
will not hold SAP responsible or liable with respect to the content of the Technical Article or seek
to do so.
Author Bio
Kathirvel Balakrishnan is working as a Project Engineer for Wipro Technologies.
Areas of interest are ABAP and Java Programming.
Copyright 2004 SAP AG, Inc. All Rights Reserved. SAP, mySAP, mySAP.com, xApps,
xApp, and other SAP products and services mentioned herein as well as their respective
logos are trademarks or registered trademarks of SAP AG in Germany and in several other
countries all over the world. All other product, service names, trademarks and registered
trademarks mentioned are the trademarks of their respective owners.