Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Hallo zusammen,

wie kann ich verhindern, dass eine Customizingtabelle leere Einträge enthält?

Vielen Dank.

Beste Grüße
coco

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


Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Ich unterstelle, dass Du mit "leer" nicht datenbanktechnische NULL-Werte meinst (die kannst Du durch Setzen des entsprechenden Hakens in der SE11 bei der Definition der Tabellenfelder vermeiden), sondern initiale Werte (Leerzeichen, Nullen usw.). Im Prinzip kannst Du das gar nicht verhindern. Allerdings ist halt die Frage, auf welchem Wege Deine Customizingtabelle gepflegt wird. Wenn Du z.B. den Tabellenpflegegenerator drüberlaufen lässt, um Dir einen Pflegedialog für die SM30 zu erstellen, dann kannst Du hinterher den generierten Report editieren und eine Fehlermeldung im Falle leerer Felder reinbasteln.

Allerdings hätte der (bei Customizingtabellen typischerweise im Entwicklungssystem pflegende) Benutzer dann immer noch die Möglichkeit, die Zeilenwerte nicht über die SM30, sondern einfach mit der SE16 zu pflegen. Wenn Du das ganz wasserdicht haben möchtest, dann musst Du ihm entweder die SE16- und SE16N-Berechtigung wegnehmen oder in der SE11 die Einstellung "Anzeige/Pflege eingeschränkt erlaubt" setzen. Dann geht die Pflege über die SE16 nicht mehr, aber dann musst Du Dir auch die Mühe machen, einen Viewcluster für Deinen per Tabellenpflegegenerator generierten Pflegedialog anzulegen, da bei dieser Tabelleneinstellung die Pflege nur über Viewcluster zulässig ist, nicht direkt per SM30.

Natürlich könntest Du auch hingehen und ohne Tabellenpflegegenerator ein Pflegeprogramm komplett von Hand schreiben und darin die notwendigen Abprüfungen einbauen. Der Aufwand dürfte in den seltensten Fällen im Verhältnis zum Nutzen stehen, aber die Möglichkeit ist da (und hätte den Vorteil, dass später nicht irgendein Depp den Tabellenpflegegenerator neu startet und Deine manuellen Programmanpassungen damit vernichtet).

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Das kannst du mit Zeitpunkten im Tabellenpflegedialog lösen:
https://help.sap.com/saphelp_erp60_sp/h ... ameset.htm
Zum Beispiel Zeitpunkt AB "An Stelle d. Standardroutine für die Datenbankänderungen" (Bin mir nicht sicher, ob man hier noch abbrechen kann, wenn Daten fehlerhaft sind)
Oder ZP 05 "Beim Hinzufügen eines neuen Eintrages".

Hier ein paar Beispiele:
http://www.tricktresor.de/blog/zeitpunkte/

Wenn ein Tabellenpflegedialog existiert, dann ist die Pflege per SE16n nicht mehr möglich.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
c oco



Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Abgesehen davon gehören Leute gesteinigt, die Customizing über die SE16N pflegen.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
ralf.wenzel hat geschrieben:Abgesehen davon gehören Leute gesteinigt, die Customizing über die SE16N pflegen.
Gesteinigt gehört schon mal gar niemand mehr!
Vielleicht an den unternehmenseigenen Pranger gestellt... ;)

Und dann bitte diejenigen, die keinen Tabellenpflegedialog hierfür zur Verfügung gestellt haben.

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von DeathAndPain (Top Expert / 1952 / 259 / 413 ) »
Gesteinigt gehört schon mal gar niemand mehr!
Warum nicht? Der Islam ist doch massiv im Kommen! (sogar im wahrsten Sinne des Wortes)
Und dann bitte diejenigen, die keinen Tabellenpflegedialog hierfür zur Verfügung gestellt haben.
Nein, ralf hat sich sicherlich auf meine Anmerkung bezogen, dass es nichts nützt, passende Abfragen in den Tabellenpflegedialog einzubauen, wenn die Leute diesen umgehen und per SE16N pflegen. Um das zu unterbinden, muss man die Tabellenpflege auf "eingeschränkt" setzen - aber dann geht der Pflegedialog auch nicht mehr direkt, sondern nur noch mit vorgeschaltetem Wasserkopf-Viewcluster.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ralf.wenzel


Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von c oco (Specialist / 326 / 12 / 16 ) »
Danke, mit den Zeitpunkten funktioniert es wunderbar!

Viele Grüße
coco

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von gtoXX (Specialist / 213 / 44 / 36 ) »
Da es in der Aufstellung noch fehlt m.E. : Wenn ein Wert im Schlüsselfeld stehen muss und dies , wie eigentlich fast die Regel ist, nicht leer sein soll, warum ist dann an der Domäne des Schlüsselfeldes kein Festwert oder eine Prüftabelle hinterlegt ? Dann lässt SAP automatisch keine leeren Einträge zu ( ausser man pflegt blank in den Festwerten/ der Prüftabelle und man muss sich nicht umständliche Wege ausdenken. ^^

M.E. ist der Rückgriff auf Zeitpunkte nur nötig, wenn es sehr komplizierte Abhängigkeiten gibt, die über einfache Designfragen nicht lösbar sind.
"Code lügt nicht ^^"

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von ralf.wenzel (Top Expert / 3935 / 200 / 281 ) »
Hm, bei einer GUID oder Belegnr. wüsste ich nicht, was man da hinterlegen sollte.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: Customizingtabelle ->Schlüsselfeld darf nicht leer sein

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
gtoXX hat geschrieben:Da es in der Aufstellung noch fehlt m.E. : Wenn ein Wert im Schlüsselfeld stehen muss und dies , wie eigentlich fast die Regel ist, nicht leer sein soll, warum ist dann an der Domäne des Schlüsselfeldes kein Festwert oder eine Prüftabelle hinterlegt ? Dann lässt SAP automatisch keine leeren Einträge zu ( ausser man pflegt blank in den Festwerten/ der Prüftabelle und man muss sich nicht umständliche Wege ausdenken. ^^
das stimmt auch nicht.
In einem Tabellenpflegedialog kannst du auch als Schlüsselfeld SPACE eingeben, egal ober Festwerte definiert sind oder nicht.
Anders als im Eingabebereiten ALV-Grid. Hier MUSS ein Wert eingetragen werden, sobald FEstwerte definiert wurden.
Im Tabellenpflegedialog kann man noch das Kennzeichen "Mussfeld" setzen (was allerdings bei Neugenerierung wieder überschrieben wird).
Bei einen Grid hat man keine Möglichkeit mehr das Verhalten auszuschalten. Es sei denn, man fügt SPACE zu den Festwerten hinzu.
Diese "Lösung" finde ich total dämlich, denn es kann je nach Prozess oder Anwendung unterschiedlich sein, ob in ein Feld ein Wert eingegeben werden muss oder nicht.
SPACE hat nichts in den Festwerten zu suchen, sofern es nicht eine andere Aussage hat als "dieses Feld ist leer".
Im Kundenauftrag muss ich keine Charge eintragen, weil die evtl. noch gar nicht produziert wurde oder der AuftragsbearbeiterIn gar nicht weiß, welche Charge welche Qualitätskriterien aufweist.
Bei der Auslieferung MUSS die Charge angegeben werden.
gtoXX hat geschrieben:M.E. ist der Rückgriff auf Zeitpunkte nur nötig, wenn es sehr komplizierte Abhängigkeiten gibt, die über einfache Designfragen nicht lösbar sind.
Dies ist leider so ein Fall...

Seite 1 von 1

Vergleichbare Themen

2
Antw.
5093
Views
Schlüsselfeld updaten
von SAPAlex » 09.04.2008 17:53 • Verfasst in ABAP® für Anfänger
3
Antw.
1565
Views
Schlüsselfeld im Append einer Standardtabelle?
von Nordlicht » 18.08.2006 12:16 • Verfasst in ABAP® Core
5
Antw.
3402
Views
Modify itab from wa geht nciht, Schlüsselfeld
von Sascha_a » 19.06.2008 09:29 • Verfasst in ABAP® für Anfänger
2
Antw.
2251
Views
Matnr darf nur aus Zahlen bestehen?!
von Juli » 19.07.2005 14:55 • Verfasst in ABAP® für Anfänger
2
Antw.
2445
Views
Nummernkreis in Customizingtabelle
von Sigi29 » 10.10.2005 10:07 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 13 Stunden von tar 6 / 158

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 12 Stunden von Bright4.5 3 / 1485
Regex in where
vor 13 Stunden von tar 6 / 158

Unbeantwortete Forenbeiträge

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