Ansicht
Dokumentation
ISU_FINDER - INTERNAL: Search for ISU Data
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up Addresses (Business Address Services)This documentation is copyright by SAP AG.
Description
Runtime functions of the IS-U data finder
The data finder enables you to search for IS-U using various search criteria.
Function modules of the data finder
ISU_FINDER_DIALOG
Complete search dialog in which you can enter search criteria, display the hitlist, and select the objects found.
ISU_FINDER
Search function in the form of a parameter interface. Provides a hitlist that matches the given search criteria in the form of an internal table.
ISU_FINDER_SELECTION_SCREEN
Dialog box in which you can enter the search criteria. Contains no other functions.
ISU_FINDER_VALUE_DISPLAY
Hitlist of objects found. You can display and select the individual objects.
ISU_FINDER_SUPPORTED_OBJTYPES
Provides a list of the object types for which the data finder can search.
ISU_O_FINDER_PBO>, ISU_O_FINDER_PAI_BEFORE, ISU_O_FINDER_PAI_AFTER, ISU_O_FINDER_PAI_ACTION
Function
models for using the data finder in accordance with the IS-U programming model. The entry fields for
the search criteria are integrated in the form of a subscreen. The search and display functions are automatic actions (function codes) of the subscreen.
Requirements
Requirements
Output
Example
Functionality
Data finder search functions
Object types
The data finder supports searches for data objects of the following object types:
Description | Object type (constant in IEOBJTYP include) |
---|---|
Customer | co_objtype_bpartner |
Contract account | co_objtype_account |
Contract | co_objtype_econtract |
Budget billing plan | co_objtype_budbilplan |
Installation | co_objtype_instln |
Premise | co_objtype_premise |
Connection object | co_objtype_connobj |
Device location | co_objtype_devloc |
Device | co_objtype_device |
Print document | co_objtype_printdoc |
Service order | co_objtype_smorder |
Service notification | co_objtype_smnotif |
Searach algorythm
The hits contain all the data records that have an foreign key dependency with an object that matches the search criteria. If the data finder selects more than one object then a relationship must exist with all the selected objects.
Definition of hits.
The quantity of objects supported and their foreign key dependencies (see list below) form a cycle-free graph called the search tree. The object type of the object for which you are searching is the root of the search tree.
The finder determines the portion of the hit list (partial hitlist)found for each node (object type).This portion contains all the data records that have an foreign key dependency to the partial hitlists of all the sub-nodes and meet the selection criteria of the node.
The hitlist remains empty unless the node receives an adequate selection of hits (see below) or a sub-node obtains a partial hitlist. If you select data objects by foreign key dependencies, the sub-nodes that obtain hits are not observed
Hits determined in this way represent the total hits of the search process.
Search methods
The data finder evaluates the following foreign key dependencies:
Customer | - Contract account |
Contract account | - Contract |
Contract account | - Druckbeleg |
Contract | - Installation |
Installation | - Device |
Installation | - Premise |
Premise | - Connection object |
Budget billing | - Contract |
Device location | - Connection object |
Device location | - Device |
Connection object | - Service order |
Connection object | - Service notification |
Search criteria
The search criteria for the individual object types are evaluated as described below. Note that there are differences between selective criteria that are used to determine a partial hitlist, and non-selective criteria that restrict a partial hitlist.
Object type | Selective crit. | Non-selective crit. |
---|---|---|
Customer | Name, Address, etc. | - |
Contract account | - | Company code |
Contract | - | Company code, division, date |
Installation | - | Division, billing class ,date |
Division | Serial no. | division, date |
Premise | - | HN result.,storey, apartment no. |
Connection object | Address | - |
Budget billing plan | - | Date |
Device location | - | Location |
Print document | - | Posting date |
Service order | Corr. service notif. | Order type,cat.,status |
Service notif. | Corr. service order | Order type, status |
In addition, the data finder allows you to use the key of most object types as a selective search criterion. If no object types have selective criteria, an exception is triggered.
Restriction of the set of hits
Each time the database is accessed, the system only reads a limited number of records. This avoids performance problems when insufficient objects meet the selection criteria. You can specify the maximum number of records to be read in the x_maxrows parameter. If you do not specify a number here, the system reads a maximum of 100 records. If you restrict a partial set of hits, this may result in an incomplete total set of hits. In this case, the system sets the Y_INCOMPLETE return value. Note that Y_INCOMPLETE can be set even if the set of hits contains less objects than specified in the x_maxrows parameter.
Search results
The set of hits is contained on the YT_RESULT table. Each line has the format of a persistent BOR object reference and can be processed using the container macro. However, in most cases, the key of the data object suffices (contained in the OBJKEY field). The hit list is displayed by means of the ISU_FINDER_VALUE_DISPLAY function module.
Search tree
In the YT_TRACE table, the search tree is returned. Depending on the hitlist, the table contains all the hits from the search. The search tree provides explanatory information on the hit list, especially if there are no hits. The search tree is also displayed using the ISU_FINDER_VALUE_DISPLAY function module. The system only builds a search tree if the YT_TRACE parameter is executed during the call.
Example
You want to search for all the installations from division 01 belonging to the customer M. Smith.
X_OBJTYPE | = 'INSTLN'. |
X_FINDPAR-B_MC_NAME1 | = 'M*'. |
X_FINDPAR-B_MC_NAME2 | = 'Smith'. |
X_FINDPAR-C_STREET | = 'Main Street'. |
X_FINDPAR-B_MC_NAME2 | = '9'. |
X_FINDPAR-SPARTE | = '01'. |
CALL FUNCTION 'ISU_FINDER' | |
.... |
First, the system searches for customers called M. Smith and finds three, for example. The system then searches for the corresponding contract accounts and then searches the contract accounts for contracts with division 01. The contracts A, B, and C are found.
In the same way, the system selects all the connection objects located at the address, 9 Main St, and all the premises in the connection objects, for example 21 and 22.
The hit list for the installations now contains all the installations belonging to the contracts A, B, and C that also belong to the premises 21 and 22.
Notes
Further information
For more information, see the documentation on the function group EFND.
Parameters
X_FINDPARX_FREE_EXPR
X_MAXROWS
X_MAXROWS_EXTENDED
X_OBJTYPE
YT_RESULT
YT_TRACE
Y_FINDPAR
Y_FREE_EXPR
Y_INCOMPLETE
Y_PARTNERSEARCH_INCOMPLETE
Exceptions
ADDITIONAL_SELECTION_NEEDEDINSUFFICIENT_SELECTION
OBJTYPE_NOT_SUPPORTED
Function Group
EFNDGeneral Data in Customer Master Vendor Master (General Section)
This documentation is copyright by SAP AG.
Length: 12348 Date: 20240605 Time: 231235 sap01-206 ( 138 ms )