Number-Range anlegen (SNRO)

Getting started ... Alles für einen gelungenen Start.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Number-Range anlegen (SNRO)

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Hey,

Ich arbeite zur Zeit an einer Bücherverwaltung (um mich an BSPs ranzutasten) und die Suche nach Büchern von bestimmten Autoren funktioniert einwandfrei.
Nun will ich aber eine Option einbauen die es erlaubt ein Buch (inkl. ISBN, Autor, Titel) neu in meiner Datenbanktabelle anzulegen.
Funktioniert soweit auch ganz gut.

Mein Problem jetzt ist, das ich als Tabellenschlüssel eine 'ID' habe und diese darf nur einmal in meinem Datensatz vorkommen, also brauch jeder Eintrag eine andere 'ID'.
Habe im Internet nun die Funktion 'NUMBER_GET_NEXT' gefunden aber verstehe die Funktion nicht ganz, habe bis jetzt nur spärlich erklärte Anleitungen dazu gefunden.
Außerdem habe ich jetzt eine bereits vorhandene Number-Range verwendet die jetzt aber bei IDs von 0000060001 anfängt anstatt bei 0000000001 anfängt. Daher wollte ich mir meine eigene machen aber da verstehe ich leider noch weniger was von mir gefragt ist.

Vielleicht kann mir jemand Tipps geben oder hat ein aufschlussreiches Tutorial bei der Hand.

Gruß
Dominic

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Number-Range anlegen (SNRO)

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Moin,

warum suchst du dir nicht die zuletzt angelegte ID (z.b. tabelle lesen und absteigend sortieren -> erster Eintrag = höchste ID ) und zählst da 1 dazu? Ich geb zu, es ist nicht die perfomanteste Lösung, gerade Hinblick auf die Menge an Daten die so eine Datenbanktabelle mal haben kann. Aber ich glaube für deine Übungszwecke könnte dir das genügen.

EDIT: also absteigend nach ID sortieren lassen...
Gruß,
der Matze

Re: Number-Range anlegen (SNRO)

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Ok danke werd mich gleich dranmachen das zu probieren.

Kleine Frage nebenbei, habe mir bereits überlegt den Schlüssel meiner Tabelle auf die ISBN der Bücher zu setzen, denn diese ist ja für jedes Buch einmalig.
Nur dann müsste ich immer überprüfen ob diese nicht bereits in meiner Tabelle vergeben ist und bin mir nicht sicher ob das ab einer gewissen Tabellen größe Performancemäßig noch vertretbar ist, bzw. fallen mir spontan nur recht simple und aufwendige Wege ein das zu testen. Sprich die neue ISBN mit jedem Tabelleneintrag abzugleichen.

Re: Number-Range anlegen (SNRO)

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Wenn die ISBN dein Schlüsselfeld ist, dann geht das ziemlich fix. Schlüsselfelder von Datenbanktabellen werden in extra Tabellen gespeichert, so dass das System schnell große Datenbanken durchforsten kann. Wenn du z.b. nach EBELN in der EKKO suchst geht das schnell, suchst du nach z.B. WAERS dauert das richtig lange, weil dann jeder Tabelleneintrag einzeln gelesen wird.

Deine Abfrage kannst du gezielt mit SELECT SINGLE * FROM dbtabelle INTO ls_struktur WHERE isbn = lv_isbn steuern und erhälst schnell deine Antwort, denn wenn da ein sy-subrc <> 0 rauskommt, gibt es den Eintrag noch nicht.
Gruß,
der Matze

Re: Number-Range anlegen (SNRO)

Beitrag von Dyrdek (Specialist / 306 / 30 / 0 ) »
Ah alles klar, danke dir Thanatos ;) sehr hilfreich die Info, dann schau ich mal ob ich die ISBN nicht einfach als schlüssel verwende.
Eine Frage vielleicht noch wenn ich darf, man kann ja auch mehrere Schlüssel in einer Tabelle haben bzw. diese verknüpfen wenn ich das richtig verstanden habe. Wie funktioniert das dann ? Werden diese dann separat betrachtet und man verwendet den Schlüssel den man gerade hat oder sind die in irgendeiner Form abhängig voneinander ?

Re: Number-Range anlegen (SNRO)

Beitrag von Lucyalison (Specialist / 262 / 51 / 26 ) »
Hallo Dominic,

mehrere Schlüssel verwendet man dann wenn man mehrere Ober- und Unterkategorien hat. Also z.B. für einen Autohändler:
erster Schlüssel wäre 'VW'
zweiter Schlüssel dann 'GOLF' 'PASSAT' usw.
dritter Schlüssel z.B. das Ausstattungspaket 'COMFORT' 'DE LUXE' usw.

Dann kannst Du entweder mit allen Schlüsseln lesen wenn Du den VW GOLF DE LUXE willst, oder Du sagst gib mir mal alle VWs zurück die in der Datenbank gespeichert sind.

Viele Grüsse
Nicola

Seite 1 von 1

Vergleichbare Themen

5
Antw.
1020
Views
3
Antw.
1471
Views
Range-Tabelle gegen Range-Tabelle abgleichen
von Romaniac » 09.02.2024 16:26 • Verfasst in ABAP® Core
0
Antw.
1109
Views
Dynamische Maßnahmen Sequenz Number
von SaskuAc » 11.03.2019 14:20 • Verfasst in Human Resources
1
Antw.
1393
Views
Check number bei Vendor ändern
von Junior Consultant » 23.10.2012 13:39 • Verfasst in Financials
1
Antw.
1271
Views
IDOC HRMD_ABA Feld für CellPhone-Number
von Pyro » 04.09.2017 09:40 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 16 Minuten von Lukas Sanders 2 / 783
Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 21 / 2612

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 16 Minuten von Lukas Sanders 2 / 783
Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 21 / 2612

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2399
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 8984