Ansicht
Dokumentation

SEARCH_WITH_LEADING_ZEROES - sucht in beliebigen Tabellen auch mit führenden Nullen

SEARCH_WITH_LEADING_ZEROES - sucht in beliebigen Tabellen auch mit führenden Nullen

BAL_S_LOG - Application Log: Log header data   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

sucht in der Datenbanktabelle DBTAB nach Nummern mit variabler Anzahl von führenden Nullen. Diese Nummern müssen sich in einem Schlüsselfeld befinden, das natürlich character-ähnlich ist (sonst käme man mit einem einfachen SELECT-Befehl aus).

Achtung: DBTAB darf nur aus characterähnlichen Feldern bestehen, sonst kommt es zum Laufzeitfehler!

Die Tabelle darf höchstens 3 zusätzliche Schlüsselfelder besitzen. Der Aufrufer muß den gesamten Schlüssel in der Struktur MORE_KEYS angeben, damit der Funktionsbaustein ein eindeutiges Resultat zurückliefern kann.

Beispiel

Die Datenbanktabelle FIBELEGE besitze den Schlüssel

BELEG, GESCHÄFTSJAHR

und einen Eintrag

000815, 2000.

Der normale SELECT auf die Tabelle mit 815, 2000 geht schief, weil BELEG als character-Feld definiert ist. Der Befehlsfolge

I_MOREKEYS-key1_name = 'GESCHÄFTSJAHR'.
I_MOREKEYS-key1_value = '2000'.

CALL FUNCTION 'SEARCH_WITH_LEADING_ZEROES'

EXPORTING
    DBTABLE = 'FIBELEGE'
    MAXLENGTH = 10
    SEARCH_KEY_NAME = 'BELEG'
    SEARCH_KEY_VALUE = '815'
    MORE_KEYS = I_MOREKEYS
  IMPORTING
    STRING = I_STRING.

dagegen liefert im I_STRING eine die ersten 100 Zeichen der Zeile der Tabelle FIBELEGE mit dem gesuchten Eintrag zurück.

Hinweise

Durch eine MOVE-Anweisung des zurückgegebenen Strings auf beispielsweise die Kopfzeile der übergebenen Tabelle kann man sofort die gesuchte Nummer abfragen (keine OFFSET-Programmierung nötig).

Die Ausnahme NOT_UNIQUE wird genau dann ausgegeben, wenn in der Tabelle die gleichen Zahlen mit unterschiedlicher Anzahl führender Nullen enthalten sind (was freilich nicht so häufig vorkommen sollte) UND der einfache SELECT mit dem übergebenen Schlüssel UND mit

Weiterführende Informationen





Parameter

DBTABLE
MAXLENGTH
MORE_KEYS
RESULTSTRING
SEARCH_KEY_NAME
SEARCH_KEY_VALUE

Ausnahmen

NOTHING_FOUND
TOO_LONG_KEY

Funktionsgruppe

BL_BASIS_FUNCTIONS

ROGBILLS - Synchronize billing plans   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3761 Date: 20240523 Time: 140650     sap01-206 ( 47 ms )