Fonction SAP SRTV_CORPUS_FILTER -

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
ID_CORPUSID SRTVCORPID N 4
ID_LANGU SRTVLANGU C 1 SYST-LANGU X
IT_DOCUMENT_SET SRTV_DOCID_TABLE 0 X
MANDT MANDT C 3 SYST-MANDT X Client

Paramètre Reférence Type Long. Description
ET_EDOCIDS SRTV_DOCID_TABLE 0 Document list
ET_RESULT SRTV_RESULT_TABLE 0

Paramètre Reférence Type Long. Valeur par déf. Facultatif Description
IT_WORD_LIST SRTV_SPECTERM_TABLE 0

Exception Description
COMPILATION_CANCELLED
LEXICON_DOES_NOT_EXIST
NO_DOCUMENTS_MATCH
READ_ERROR
WRONG_CORPUS_ID
WRONG_SPECTERM_OR_WORD

Functionality
This function module can be used to determine which set of documents inan index obey acertain rule. The index has to be specified in the parameterID_CORPUSID while the language can be specified in ID_LANGU.
The SAP client (MANDT) can also be specified because, when the searchengine is customized, this client can be chosen to createclient-specific indexes.
The list of documents fulfilling the filter condition is exported inET_EDOCIDS.
The rule that defines the filter on the index specifies whichdescriptors or words have to be contained by the documents passing thefilter. The rule is specified by the changing parameter IT_WORD_LISTwhich is a table containing the following fields:

  • ENTRY

  • Contains the descriptor or word.
    • TERMTYPE

    • Non-initial if ENTRY is a descriptor; blank for words.
      • X_OR

      • Specifies the logical operator connecting the lines of tableIT_WORD_LIST (if it contains more than one line). X_OR can have thefollowing values:
        Initial
        The logical operator is an AND.
        X
        The logical operator is an OR.
        X_OR is of course initial for the last line of the table.
        The filter works as follows:
        Table IT_WORD_LIST contains a number of lists of descriptors or words.In each list, the descriptors or words are "connected" by the ORlogical operators (the parameter X_OR has the value X
        ). The last member of a list is signalized by an AND operator(that is, by leaving X_OR initial). First, each list is evaluated. Thefilter rule is then enforced by searching for the documents containingat least one word or descriptor from each list (that is,the lists are connected by AND logical operators).

        Example
        Consider the following content of table IT_WORD_LIST:
        ENTRY,,TERMTYPE,,X_OR
        A1,,1,,X
        A2,,1,,X
        A3,,1,,
        test,, ,,
        B1,,1,,X
        B2,,1,,X
        B3,,1,,X
        B4,,1,,
        C1,,1,,
        The function module is going to return the list of documents whichfulfil ALL of the following conditions:

        • The document contains at least one of the following three descriptors:
        • A1, A2, A3 (and)
          • The document contains the word test (and)

          • The document contains at least one of the following four descriptors:
          • B1, B2, B3, B4 (and)
            • The document contains the descriptor C1.

            • The exception NO_DOCUMENTS_MATCH is raised if no document fulfils thefilter conditions.