Zeitabhängige Tabelleneinträge


Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Moderatoren: Jan, Steff

Zeitabhängige Tabelleneinträge

Beitragvon ewx » 07.04.2011, 10:08

Hallo!

Wenn ich eine Tabelle mit zeitabhängigen Einträgen machen möchte, dann war mir so, dass man am besten DATBI noch als letztes Schlüsselfeld und DATAB als erstes nicht Schlüsselfeld benutzt. Wenn man das aber so macht, dann ist es kompliziert, Einträge nachträglich abzugrenzen, denn es ändert sich normalerweise das BIS-Datum, aber das ist ja Schlüsselfeld...

Das bedeutet aber (bei DATBI als keyfield), dass man diesen Satz komplett ändern, bzw kopieren muss.

Wenn man DATAB als Schlüsselfeld hat, dann kann man einfach beim bestehenden Satz das BIS-Datum abändern und fügt den neuen Satz mit neuem DATAB und DATBI und entsprechenden Werten hinzu.

Mir war mal so, dass es irgendeinen Grund gab, DATBI als Schlüsselfeld zu haben. Die SAP macht das in vielen Tabellen ebenso (Bsp. CSKS, WSOP).

Mir fällt aber gerade auch kein Grund ein, warum man nicht DATAB als Schlüsselfeld und DATBI als Nicht-Schlüsselfeld nehmen sollte...
:cry:
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Zeitabhängige Tabelleneinträge

Beitragvon black_adept » 07.04.2011, 10:35

Hi ewx,

ich glaub das ist egal.

Beispiele für (SAP)Tabellen mit DATAB als Key: KNVH, T056A
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de
black_adept
Top Expert
 
Beiträge: 3184
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 553 mal
Ich bin: Freiberufler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon ewx » 07.04.2011, 11:05

Danke black_adept!
Ich habe noch diesen Beitrag im apentia-Forum gefunden, wo explizit auf ENDDA und BEGDA hingewiesen wird...
Ich habe aber auch noch mal versucht, einen zeitabh. Tabellenpflegedialog mit DATAB als Schlüsselfeld zu bauen und das funktioniert ebenfalls anstandslos.
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Re: Zeitabhängige Tabelleneinträge

Beitragvon ChrisB » 07.04.2011, 13:57

ewx hat geschrieben:Mir fällt aber gerade auch kein Grund ein, warum man nicht DATAB als Schlüsselfeld und DATBI als Nicht-Schlüsselfeld nehmen sollte...
:cry:


Hallo Enno,

soweit ich mich erinnere ist der Name des Datenelements egal... es muss halt ein DATS Feld sein. Aber die Reihenfolge, dass im Schlüssel das Endedatum und dann als nächstes Element nach dem Schlüssel das Beginndatum kommt, ist meiner Meinung nach so fix. Zumindest habe ich diese Erfahrung in der Vergangenheit mal gemacht...

Grüße
Chris
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon ewx » 07.04.2011, 14:44

Hi Chris!
Es ist definitiv nicht egal, welche DATS-Datenelemente man nimmt! BEGDA und ENDDA funktionieren und noch ein paar. Die Datenelemente (oder Domänen) werden in dem Generierungsprogramm abgefragt. DATAB und DATBI habe ich probiert und damit funktionierte es nicht!
Wie beschrieben, habe ich gerade auch ausprobiert, DATAB als letztes Schlüsselfeld zu nehmen und es hat funktioniert.
Kann aber auch sein, dass sich beides zu einem neueren SAP-Release geändert hat. 8)
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Re: Zeitabhängige Tabelleneinträge

Beitragvon ChrisB » 07.04.2011, 17:14

Hi Enno,

okay, man lernt eben nie aus... aber da ich i. d. R. mit BEGDA und ENDDA gearbeitet habe, bin ich über die Abhängigkeit beim Namen noch gar nicht gestolpert :roll:

Grüße
Chris
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon Unit605 » 07.04.2011, 20:57

Hi Enno,

es kommt wohl auch etwas auf die Anderforderung an.

Im HR sind beide Felder Key-Felder. Da geht es aber auch meistens darum, die History zu erhalten, deshalb werden Sätze nicht gelöscht oder (komplett) geändert, sondern zeitabhängige Daten werden hinzugefügt. Im letzten (vorherigen) Eintrag wird dann das BIS-Datums-Feld auf ein Datum ungleich 31.12.9999 gesetzt.
Der aktuelle Datensatz hat dann den im BIS-Datum-Feld den Eintrag 31.12.9999

Dieses nur zu Gedankenstüzte ;-)
Unit605
Expert
 
Beiträge: 975
Registriert: 05.02.2009, 21:29
Dank erhalten: 93 mal
Ich bin: Freiberufler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon ChrisB » 08.04.2011, 06:50

Unit605 hat geschrieben:Im HR sind beide Felder Key-Felder.


Ähm... das ist zwar bei den Stammdaten so... bei den Zeitabhängigen Customizingtabellen aber nicht... dort ist i. d. R. nur das ENDDA im Schlüssel enthalten (bspw. T511, T512W.
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon Unit605 » 08.04.2011, 08:41

Ich habe ja auch nicht behauptet ,und würde das auch nicht tun, daß die Felder überall Key-Felder sind.

Wie ich bereits erwähnte... es kommt auf die Anforderungen an und sollte nur eine kleine Hilfe sein.

Ich kenne sogar Tabellen, da sind gar keine Keyfelder..... :roll:
Unit605
Expert
 
Beiträge: 975
Registriert: 05.02.2009, 21:29
Dank erhalten: 93 mal
Ich bin: Freiberufler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon Unit605 » 08.04.2011, 08:42

Ich habe ja auch nicht behauptet ,und würde das auch nicht tun, daß die Felder überall Key-Felder sind.

Wie ich bereits erwähnte... es kommt auf die Anforderungen an und sollte nur eine kleine Hilfe sein.

Ich kenne sogar Tabellen, da sind gar keine Keyfelder..... :roll:
Unit605
Expert
 
Beiträge: 975
Registriert: 05.02.2009, 21:29
Dank erhalten: 93 mal
Ich bin: Freiberufler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon Tron » 10.04.2011, 08:30

Moin,
ewx hat geschrieben:Mir war mal so, dass es irgendeinen Grund gab, DATBI als Schlüsselfeld zu haben. Die SAP macht das in vielen Tabellen ebenso (Bsp. CSKS, WSOP).

Dazu meine Überlegung :
Die Suche nach der derzeit gültigen Kondition läuft schneller mit DATBI als Schlüsselfeld ?
gruß TRon
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
Tron
Expert
 
Beiträge: 965
Registriert: 04.08.2007, 21:08
Wohnort: Hamburg
Dank erhalten: 181 mal
Ich bin: Entwickler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon ewx » 25.05.2011, 13:31

So, nu weiß ich's wieder... ;)
Hat man die Reihenfolge BEGDA-ENDDA und möchte einen Eintrag abgrenzen, dann wird DATBI abgegrenzt und ich muss den aktuell gültigen Satz ändern. Das will man ja aber in der Regel nicht, sondern man möchte den alten behalten und den Satz mit der neuen Gültigkeit anpassen.

Das passiert, wenn man die Reihenfolge ENDDA-BEGDA einhält. Dann steht zwar die Gültigkeit immer "verkehrt herum", aber die Einträge lassen sich ordentlich abgrenzen.

Zweiter Hinweis: Generiert man ein Einzelbild, dann kann es sein, dass die Generierung schief läuft und ein eingebetteter Subscreen sich mit vorhandenen Elementen überlappt. Dazu muss man das Dynpro ändern und den Subscreenbereich "DATELIMITS" selbst an einer freien Stelle einfügen

Für diese Nachricht hat ewx einen Dank bekommen :
abuma
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Re: Zeitabhängige Tabelleneinträge

Beitragvon msfox » 15.01.2019, 13:54

ewx hat geschrieben:So, nu weiß ich's wieder... ;)
Hat man die Reihenfolge BEGDA-ENDDA und möchte einen Eintrag abgrenzen, dann wird DATBI abgegrenzt und ich muss den aktuell gültigen Satz ändern. Das will man ja aber in der Regel nicht, sondern man möchte den alten behalten und den Satz mit der neuen Gültigkeit anpassen.

Das passiert, wenn man die Reihenfolge ENDDA-BEGDA einhält. Dann steht zwar die Gültigkeit immer "verkehrt herum", aber die Einträge lassen sich ordentlich abgrenzen.

Zweiter Hinweis: Generiert man ein Einzelbild, dann kann es sein, dass die Generierung schief läuft und ein eingebetteter Subscreen sich mit vorhandenen Elementen überlappt. Dazu muss man das Dynpro ändern und den Subscreenbereich "DATELIMITS" selbst an einer freien Stelle einfügen

Der Beitrag ist zwar schon hornig alt, aber ist der Screenshot ein generiertes Pflegeview?
Bzw. wenn ich die zeitabhängige Tabelle nach den Restriktionen mit ENDDA-BEGDA anlege, wird die Pflegeview über den Tabellenpflegegenerator so generiert, dass man die Daten sauber zeitabhängig pflegen.
Warum meine Frage:
Der Kunde will aktuell keine Pflegeview für die Tabelle. Noch nicht... Aber wenn später doch, will ich nicht von vorn anfangen.
msfox
ForumUser
 
Beiträge: 20
Registriert: 12.12.2018, 12:09
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Re: Zeitabhängige Tabelleneinträge

Beitragvon ewx » 15.01.2019, 14:04

Ja, der Screenshot gehört zu einem generierten zeitabhängigen Pflegedialog.

Für diese Nachricht hat ewx einen Dank bekommen :
msfox
ewx
Top Expert
 
Beiträge: 3870
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 334 mal

Re: Zeitabhängige Tabelleneinträge

Beitragvon msfox » 17.01.2019, 15:47

Ich habe jetzt doch eine PflegeView angelegt, die aber nicht ausgeliefert wird.

1. Trotzdem bekomme die Auswahl der Zeiträume nicht generiert.
Mein Vorgehen:
- In der Pflege-View auf Tabellenpflegegenerator
- Berechtigungsgruppe, Dynpro (einstufig) vergeben
- Aufruf Menü->Umfeld->Zeitabh. generieren.
- Alles generiert.

Die Button Abr. <-> Verb. und Abgrenzen sind auch da. Aber die Vorauswahl der Zeiträume nicht.
Auch wenn ich die Pflege "zweistufig" mache.

2. Ich habe "Gültig bis" als Schlüsselfeld und "Gültig ab" als erster Attribut dahinter.
Wenn ich nun "Abgrenzen" verwende, dann wird lediglich das Feld in "Gültig ab" geändert. Das kann ich aber auch direkt in der Tabelle machen.
Gesplittet wird nix. Wofür ist dann der Button "Abgrenzen"?
msfox
ForumUser
 
Beiträge: 20
Registriert: 12.12.2018, 12:09
Dank erhalten: 2 mal
Ich bin: Entwickler/in

Nächste

Zurück zu ABAP® Core

  Aktuelle Beiträge   
Adobe Forms - Download - Keine Seiten
vor 11 Stunden von shimsham 2 Antw.
UTF-8 mit Funktionsbaustein
vor 13 Stunden von a-dead-trousers 4 Antw.
gelöst Fehler SAVE NOT ALLOWED bei F4IF_START_VALUE_REQUEST
vor 10 Stunden von AdrianSchm 1 Antw.
SAP Logon bei Aufruf WebGUI
Gestern von msfox 0 Antw.
Formatierung Textdatei aus Query und ABAP
vor 13 Stunden von wreichelt 5 Antw.

  Ähnliche Beiträge beta
Zeitabhängige Daten selektieren....
01.04.2008, 08:41 von ereglam 12 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder