Eigene ID / Belegnr / Keyfeld in Z-Tabelle

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

Eigene ID / Belegnr / Keyfeld in Z-Tabelle

Beitrag von christian777 (ForumUser / 2 / 1 / 0 ) »
Hallo zusammen,

programmier schon eine gewisse Zeit ABAP.
Allerdings muss ich jetzt das erste Mal eine Bewegungs-Z-Tabelle anlegen, in der ich meinen eigenen Key ("Belegnr") brauche.

Neben Verkäufergruppe und Jahr (u. MANDT natürlich) brauch ich eine fortlaufende Nummer als Key.
Auf Basis von VBELN, BELNR etc. hab ich das Z-Datenelement mal als CHAR10 angelegt (allerdings ein Fremdschlüssel ist nicht vorgesehen).

Nun ist aber das Problem, das mein Programm die Datensätze mit 1,2,3,4,5,... anlegen will, statt mit 0000000001, 0000000002, 0000000003, 0000000004.

Muss ich selbst beim Erzeugen des Keys die forlaufenden Nullen schreiben (Wenn ja, wie, mit WRITE...., dass ist doch programmierung zu fuss?), oder gibts dazu ein FUBA (sowas wie BELEGNUMMER_ERZEUGEN).
Oder muss ich an die Sache ganz anders drangehen?
Gibts irgendwie ne Domäne für solche Fälle, oder ne Einstellung im Datenelement, die sagt "ich bin zwar CHAR, aber eine ID, welche vorlaufende Nullen braucht"?

Will da nichts falsch machen, weil ich eigentlich auch schon lang genug ABAP programmiere, allerdings so einen Fall bisher nicht hatte (bisher konnte ich immer auf bestehende Felder als Key zurückgreifen).

Wäre echt cool, wenn mir jemand helfen könnte, weil abgesehen davon, bin ich mit meinem Projekt so gut wie rund.

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


Re: Eigene ID / Belegnr / Keyfeld in Z-Tabelle

Beitrag von black_adept (Top Expert / 4099 / 128 / 941 ) »
Hallo Christian,

referenziere dein Datenelement auf eine Domäne mit Alpha-Konvertierungsexit. Entweder selber anlegen oder bestehenede Domäne ( z.B. VBELN oder BELNR ) verwenden.
Dann kommen beim Aufruf von "NUMBER_GET_NEXT" die führenden Nullen so wie du es brauchst.

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
christian777

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Eigene ID / Belegnr / Keyfeld in Z-Tabelle

Beitrag von christian777 (ForumUser / 2 / 1 / 0 ) »
black_adept hat geschrieben:Hallo Christian,

referenziere dein Datenelement auf eine Domäne mit Alpha-Konvertierungsexit. Entweder selber anlegen oder bestehenede Domäne ( z.B. VBELN oder BELNR ) verwenden.
Dann kommen beim Aufruf von "NUMBER_GET_NEXT" die führenden Nullen so wie du es brauchst.
Super. Danke.
NUMBER_GET_NEXT hab ich allerdings nicht verwendet (ich will keinen Nummernkreis für mein Konstrukt anlegen).
(die ID wird unabhängig vom Jahr hochgezählt, also keine BSEG-Logik, im Endefekkt hätte ich mir JAHR sparen können. Aber was solls.)


Das ist mein Ergebnis:

Code: Alles auswählen.

    
...
"Mindestens ein neuer Satz vorhanden -> aktuellen Max Schlüssel ermitteln
    SELECT SINGLE MAX( tp_id ) BYPASSING BUFFER INTO tp_id_max FROM ZSD_TP01 WHERE VKGRP = gv_vkgrp
                                                          AND JAHR = gv_jahr.
    CLEAR ls_tp01.
    LOOP AT lt_tp01 INTO ls_tp01 WHERE tp_id = ''.
      ADD 1 TO tp_id_max.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT         = tp_id_max
        IMPORTING
          OUTPUT        = ls_tp01-tp_id
                .
      MODIFY lt_tp01 FROM ls_tp01 TRANSPORTING tp_id.
    ENDLOOP.
...
f

Re: Eigene ID / Belegnr / Keyfeld in Z-Tabelle

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Hi Christian,

wenn du kein NRO verwendest, denk aber auch dran, dass du eine Sperrlogik implementierst.

Nicht dass es dann Situationen gibt, in denen dein Programm sich ein "DUPLICATE-ENTRY-Schiefstandbein" stellt. :D

Re: Eigene ID / Belegnr / Keyfeld in Z-Tabelle

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Ansonsten hilft vielleicht ein Zeitstempel (GET TIME STAMP)?!
201108151528121234 => 2011/08/15 15:28:12'1234

Seite 1 von 1

Vergleichbare Themen

4
Antw.
3165
Views
Eigene Tabelle mit Suchhilfe
von kaim77 » 24.01.2014 12:12 • Verfasst in ABAP® Core
4
Antw.
6147
Views
Anfängerfragen - eigene Tabelle anlegen
von sp89 » 18.01.2010 07:24 • Verfasst in ABAP® für Anfänger
0
Antw.
1242
Views
Ereignis an Belegänderung eigene Tabelle knüpfen
von henninger » 16.02.2007 14:42 • Verfasst in Basis
5
Antw.
3583
Views
Eigene Wertehilfe
von dv88 » 06.04.2010 08:22 • Verfasst in ABAP® für Anfänger
7
Antw.
4188
Views
Eigene Massenpflege
von Beginner014 » 06.10.2014 09:08 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

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

Regex in where
vor 6 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 19 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822