| Passwort vergessen?
FICO Grundlagen
Karriere
Artikel
Auswertungen
Strategie
Demos
Forum
Add-On
Zertifizierung
Buecher
FICO - Fun
tell a friend


Werbung
Sie sind nicht angemeldet.  Anmelden



SAP
ITAB im Query verwenden möglich?
 1
29.04.20 12:22
Bernd60 
ITAB im Query verwenden möglich?

Hallo zusammen,
ich möchte den hier unendlichen Fragenkatalog eine weitere hinzufügen, vielleicht hat ja jemand eine Lösung bzw. Antwort auf die Frage.

Ich habe eine Query (Join Verbindungen AUFK mit JEST) die die erforderlichen Daten bereits ausgibt.
Nur gefällt mit die Ausgabe nicht. So gibt es für einen Grundsatz der AUFK (über left outer Join) mit x abhängige Sätzen der JEST,
die bis auf eine Unterscheidung in einem Feld immer gleich sind.

Ich habe nun in der Query 5 Zusatzfelder definiert, in die ich nun einige der Stati dort mit einem X Eintrag versehe.
Ziel bzw. Idee ist es nun, für die selektierten Aufträge, eine Matrix zu bekommen, die die unterschiedlichen, vohandenen Statis in einer Zeile je Auftrag ausgeben kann.

Wie kann ich denn nun die überzähligen Sätze eliminieren, so das ich je Auftrag nur eine Zeile mit den verschiedenen Stati in den Zusatzfeldern
erhalte die ich dann ausgeben kann?

Mir schwebt da so eine interne Tabelle vor, die ich einbinden oder im Lauf dynamisch erzeugen kann, in dem die einzelnen Informationen eines Auftrages in einer Zeile gehalten und ausgegeben werden können.

Für konstruktive Vorschläge oder Beispiele bin ich sehr dankbar und freue mich auf sie.

VG B

02.05.20 06:56
wreichelt 
Re: ITAB im Query verwenden möglich?

Hallo,

ich würde die beiden Tabellen nicht verknüpfen.
In der SQ02 ein Zusatzfeld definieren und zu diesem Feld dann das Coding anlegen um die JEST zu lesen.
In der Select-Schleife dann die 5 lokalen Felder entsprechend dem Status versorgen.

So wird nur eine Zeile pro AUFK mit dem Zusatzfeldern gelistet.

Gruß Wolfgang

02.05.20 16:03
Bernd60 
Re: ITAB im Query verwenden möglich?

Hallo,
vielen Dank, manchmal sieht man vor Bäumen den Wald nicht mehr.

Ich werde es so umsetzten.

04.05.20 13:22
Bernd60 
Re: ITAB im Query verwenden möglich?

Hallo,
das schien so einfach, aber leider ist dem doch nicht so.

Ich habe nun die Query umgestellt und die Jest als zus. Tabelle eingebunden.
Aber schon bei dem anzugebenden Code im der Zusatztabelle JEST der wie folgt erscheint

select single * from Jest

where OBJNR = hier der Vorschlagswert CAUFV-OBJNR

AND STAT = 'I0002' (Eingabefeld)

kommt das nächste Problem zu Tage.

Ich kann dort nicht alle benötigten Stati mit einer or Verknüpfung aufnehmen.

Eine between oder ungleich Bedingung kann ich aufgrund der Vorgabe des Gleichheitszeichens auch nicht verwenden.
Und ich kann das Feld STAT auch nicht leer lassen ...

Nun ist guter Rat teuer, kann hier noch jemand mit gutem Rat helfen ?

05.05.20 07:03
wreichelt 
Re: ITAB im Query verwenden möglich?

Hallo Bernd,

ich würde die JEST nicht als Tabelle einbinden. Zu dem Fertigungsauftrag würde ich 'Lokale Felder' definieren,
dann die JEST über einen Select lesen und abhängig vom Status die einzelnen oder das einzelne lokale Feld füllen.


Gruß Wolfgang

05.05.20 12:44
Bernd60 
Re: ITAB im Query verwenden möglich?

Hallo Wolfgang,
danke für den Tip, ich habe das einmal schnell eingebaut.
Leider scheint sich da noch ein Bug in meinem Coding eingeschlichen zu haben, denn ich bekommen immer alle Zusatzfelder gefüllt, trotz IF Abfrage.



Im Abschnitt Satzverarbeitung habe ich folgendes Coding geschrieben

clear: EROF, FREI, TABG, ABGS, ABWE, LOVM.

Select stat from Jest
into stat
where objnr = caufv-objnr
and jest~stat = 'I0001' or
jest~stat = 'I0002' or
jest~stat = 'I0045' or
jest~stat = 'I0046' or
jest~stat = 'I0056' or
jest~stat = 'I0076'.

If STAT = 'I0001'.
EROF = 'X'.
endif.
If STAT = 'I0002'.
FREI = 'X'.
endif.
If STAT = 'I0045'.
TABG = 'X'.
endif.
If STAT = 'I0046'.
ABGS = 'X'.
endif.
If STAT = 'I0056'.
ABWE = 'X'.
endif.
If STAT = 'I0076'.
LOVM = 'X'.
endif.


Hast du eine Idee was ich falsch gemacht habe?

Danke

05.05.20 13:00
MrBojangles 
Re: ITAB im Query verwenden möglich?

Hallo Bernd,
Du fragst den Returncode der Datenbankoperation nicht ab, deshalb enthält STAT immer noch den Wert des vorangegangenen (erfolgreichen) DB-Zugriffs...
Versuch vielleicht mal folgendes:



Weiterhin viel Freude mit SAP...
Cheers
MrB.
Blog

06.05.20 06:55
Bernd60 
Re: ITAB im Query verwenden möglich?

Hallo,
ich habe gleich mal die vorgeschlagene Korrektur getestet.

Nun wird aber immer nur der erste Status übertragen der in der Abfrage vorkommt, das ist dann immer FREI, die weiteren werden einfach ignoriert.

Fehlt noch etwas, oder ist noch etwas falsch im Coding?

Vielen Dank

06.05.20 09:03
MrBojangles 
Re: ITAB im Query verwenden möglich?

Ah ok, ich habe mir jetzt die Struktur der Tab. JEST genauer angeschaut. Es können also mehrere Stati zu einem Objekt vorhanden sein, der aktuelle Status ist aktiv (JEST-INACT = space), vergangene Stati werden auf inaktiv gesetzt (JEST-INACT = 'X'). Wenn ich Deine Anforderung richtig verstehe, sollen auch inaktive Stati aufgelistet werden...
Dann würde ich es so coden:


Weiterhin viel Freude mit SAP...
Cheers
MrB.
Blog

06.05.20 09:20
Bernd60 
Re: ITAB im Query verwenden möglich?

Hallo,
vielen Dank es funktioniert und das hat mir sehr geholfen.
Gruß B
:-)

 1
jest~stat   unterschiedlichen   Gleichheitszeichens   Satzverarbeitung   [code   vorangegangenen   Datenbankoperation   möglich   Fertigungsauftrag   verwenden

SAP