SAP Jobsuche bei DV-Treff


Suchen
Schnubu
  • Schnubu
  • SAP Forum - Neuling Thema Starter
vor 15 Jahre

Hallo zusammen,

ich versuche eine Validierung in FI-AA (Anlagenzu- und -abgänge) zu erstellen. Dabei sollen auch zeitabhängige Daten wie Kostenstellen verwendet werden.
Beim Ausführen der Transaktion erscheint dann aber die Fehlermeldung:
------------
Tabelle ANLZ kann in der Validierung nicht verwendet werden
Meldungsnr. GB082

Diagnose
Sie haben in Ihrer Validierung eine Tabelle verwendet, die dem Regelprozessor nicht übergeben werden kann. Die Validierung kann aus diesem Grund nicht verarbeitet werden.


Vorgehen
Erfassen Sie die Validierung noch einmal, ohne den Namen der betreffenden Tabelle zu verwenden.
------------

Das OSS hat auch keine eindeutige Antwort diesbezüglich parat.

Ist die Nutzung von zeitabhängigen Daten bei der Validierung überhaupt möglich? Wenn nicht, gibt es eine andere Möglichkeit zeitabh. Daten (z.B. Kostenstelle und Standort) als Kriterium in der Validierung zu nutzen?

Hier zur Info noch die recht simple Boolsche Regel, die ich in gerne verwenden möchte: SYST-UNAME :1-2: = ANLZ-KOSTL :2-3:.

Für eine Lösungsidee wäre ich sehr dankbar.

Grüße und Dank vorab

Schnubu

co-consult
vor 15 Jahre

Hallo Schnubu,

könnte es sein, dass es bei deinem Problem weniger oder gar nicht um die Zeitabhängigkeit von Daten geht, sondern um die Gestaltung der Validierung?

Es gelingt mir jedenfalls in unserem System, deine Regel SYST-UNAME :1-2: = ANLZ-KOSTL :2-3: (auch wenn ich sie nicht verstehe, es sollen die ersten 2 Stellen des Benutzernamens gegen die Stellen 2 und 3 einer Kostenstelle verglichen werden?) entweder als Voraussetzung oder als Prüfung in einen Validierungsschritt fehlerfrei einzufügen.


Viele Grüße

Ulrich

Schnubu
  • Schnubu
  • SAP Forum - Neuling Thema Starter
vor 15 Jahre

Hallo Uli,

danke für Deine Hilfe.
Die Regel soll, wie Du schon sagst, die ersten beiden Stellen des Benutzernamens und die 2. und 3. Stelle der Kostenstelle miteinander vergleichen. Das hat bei uns organisatorischen Gründe (Erweiterung der Berechtigungsprüfung in Enjoy-Transaktionen).

Die Validierung habe ich auch ohne Probleme erstellt und durchtransportiert. Erst beim anschließenden Ausführen direkt in der Transaktion trat der oben beschrieben Fehler auf, dass keine zeitabhängigen Daten (bzw. deren Tabellen) verwendet werden können.

Hat dies denn bei Dir funktioniert? Liegt es eventuell an unserem alten Release (4.7)?

Grüße

Schnubu

co-consult
vor 15 Jahre

Hallo Schnubu,

wir haben hier auch nur das "alte" Release 4.7...

Ich habe nichts transportiert, da wir das ja nicht haben wollen, hätte aber nach dem Transport im Zielsystem - nach alter Tradition bzw. aus Fehlern lernt man - den Report RGUGBR00 ausgeführt, bevor ich die Transaktion getestet hätte.

Hast du das getan? Das bewirkt manchmal Wunder :-)


Viele Grüße

Ulrich

Schnubu
  • Schnubu
  • SAP Forum - Neuling Thema Starter
vor 15 Jahre

Hallo Uli,

den Report habe ich als Job eingeplant und führe in auch nach jeder Überarbeitung von Validierungen manuell aus. Leider bleibt es bei der Fehlermeldung.

Inzwischen habe ich noch einmal das OSS durchforstet und Hinweis 418292 gefunden. Dort heißt es: "Fehlende Funktionalität; zum Zeitpunkt der Buchung (Callup-Point 2) stehen die Daten der ANLZ nicht zur Verfügung." Es scheint also, als wenn das kein Bug sondern vielmehr ein Feature von SAP ist. Zeitabhängig Tabellen sind wohl nicht validierbar.

Gibt es eine andere Lösung an die Kostenstelle des Anlagensatzmsatzes heranzukommen oder kann man das ganze irgendwie umgehen?

Dank und Gruß

Schnubu

co-consult
vor 15 Jahre

Tja, wie wäre es mit User-Exit: Kostenstelle aus dem Anlagenstamm ermitteln und anschließend über die Kostenstellenstammsatztabelle auf zeitliche Gültigkeit abfragen?

Schau doch mal, welchen der in der Validierung verfügbaren Exits (z.B. SAM01) du evtl. als Basis verwenden könntest.


Viele Grüße

Ulrich

Schnubu
  • Schnubu
  • SAP Forum - Neuling Thema Starter
vor 15 Jahre

Hallo Uli,

ich habe inzwischen einmal versucht einen Exit zu basteln, der eben die Kostenstelle mit den Benutzernamen abgleicht. Im Anschluss wird ein Returncode übergeben.

if anlz-kostl+1(2) ne sy-uname(2).

b_result = b_false.

endif.

Grundsätzlich funktioniert die Validierung. Beim Debugging habe ich dann aber festgestellt, dass die ANLZ auch in dem Exit nicht gezogen wird. Auch im SAM01 werden die Felder nicht gefüllt. Es kommt aber nicht zu einer Fehlermeldung

Woran kann es liegen, dass in beiden Fallen die ANLZ-Felder ungefüllt bleiben. Habe ich da etwas übersehen?

Dank und Gruß

Schnubu