Buch Dienstleistungen Downloads Diverses Forum Impressum

IDoc Stati lesen

Diskussionen zur SapQuery

IDoc Stati lesen

Beitragvon Karl24 » 07.01.2007, 21:45

Hallo
Ich muss eine Abfrage für Idocs erstellen. Dazu sollte ich die Stati der Idocs im Query ersichtlich machen. Ich habe nun die Tabelle EDIDS in einem Infoset. Nun sollte ich aus den Feldern Statustext und Parameter 1-4 jeweils den Status zusammensetzen.
Beispiel:
Wert Statustext: "& um & & unterschritten & "
Wert Parameter 1: "CH frei verwendbar"
Wert Parameter 2: "2200"
Wert Parameter 3: "ST"
Wert Parameter 4: ": 4711 1000 1020 0000732299"

Nun sollte ih in einem Query Feld "CH frei verwendbar um 2200 ST unterschritten : 4711 1000 1020 0000732299" haben. Kann mir bitte jemand dabei helfen.

Besten Dank

Gruss
Karl
Karl24
 
Beiträge: 12
Registriert: 27.12.2006, 11:19

IDoc Stati lesen

Google Werbung

Google Werbung
 

Re: IDoc Stati lesen

Beitragvon NicoManicone » 11.01.2007, 12:36

Hallo,
Idocs im Query ersichtlich machen. Ich habe nun die Tabelle EDIDS in

Ok, die Tabelle habe ich gefunden.
den Feldern Statustext und Parameter 1-4 jeweils den Status zusammensetzen.

Die Tabellenfelder STATXT sowie STAPA1 bis STAPA4 der Tabelle EDIDS?
Wert Statustext: "& um & & unterschritten & "
Wert Parameter 1: "CH frei verwendbar"
Wert Parameter 2: "2200"
Wert Parameter 3: "ST"
Wert Parameter 4: ": 4711 1000 1020 0000732299"

Nun sollte ih in einem Query Feld "CH frei verwendbar um 2200 ST unterschritten : 4711 1000 1020 0000732299" haben. Kann mir bitte jemand dabei helfen.

Sie suchen die ABAP-Anweisung CONCATENATE. Diese verknüpft Teilstrings zu einem Gesamtstring.

Also.
1. Zusatzfeld KETTE mit hinreichender Länge (z.B. 300) und Datentyp CHAR in der SQ02 deklarieren.
2. Zusatzcoding mit Zeitpunkt "Satzverarbeitung" anlegen.

Code: Alles auswählen
CONCATENATE EDIDS-STATXT EDIDS-STAPA1 EDIDS-STAPA2 EDIDS-STAPA3 EDIDS-STAPA4 INTO KETTE
SEPARATED BY ' '.

3. Zusatzfeld KETTE in die Feldgruppe aufnehmen.

Grüße,
Nico Manicone.
NicoManicone
Administrator
 
Beiträge: 99
Registriert: 29.05.2004, 20:06

Beitragvon Karl24 » 02.02.2007, 20:38

Hallo
Vorerst mal Besten Dank für die Hilfe. Leider konnte ich erst heute weiter an dieser Abfrage arbeiten.
Nun das Resultat ist nicht ganz richtig. Es lautet jetzt:
& um & & unterschritten & CH frei verwendbar 640 ST : 4711 1000 1020 0000732299

Es sollte allerdings "CH frei verwendbar um 640 ST unterschritten : 4711 1000 1020 0000732299" lauten.

Irgendwie muss dem Programm noch beigebracht werden, dass die 4 Felder nicht einfach der Reihe nach aneinandergekettet werden müssen, sondern dass die & im Feld Statustext jeweils mit dem Inhalt der Felder 1-4 ersetzt werden müssen.

Nochmal Besten Dank zum Voraus

Grüsse
Karl
Karl24
 
Beiträge: 12
Registriert: 27.12.2006, 11:19

Beitragvon NicoManicone » 09.02.2007, 14:05

Hallo,

Nun das Resultat ist nicht ganz richtig. Es lautet jetzt:
& um & & unterschritten & CH frei verwendbar 640 ST : 4711 1000 1020 0000732299

Es sollte allerdings "CH frei verwendbar um 640 ST unterschritten : 4711 1000 1020 0000732299" lauten.


Ist der Text & um & & unterschritten & eine Konstante? Dann ist die Lösung einfach. Also:

Code: Alles auswählen
CONCATENATE EDIDS-STAPA1 'um' EDIDS-STAPA2 EDIDS-STAPA3 'unterschritten' EDIDS-STAPA4 INTO KETTE
SEPARATED BY ' '.


Grüße,
Nico Manicone.
NicoManicone
Administrator
 
Beiträge: 99
Registriert: 29.05.2004, 20:06

Beitragvon Karl24 » 09.02.2007, 20:44

Hallo
Leider nein, sonst hätte ich Ihr Vorschlag auch probiert...
Es sind viele verschiedene Texte.
Die & müssten jeweils durch die Feldinhalte der Felder stapa1 bis stapa4 ersetzt werden.
Frage eines absoluten Laien!!! Gibt es keine Anweisung, welche den Inhalt eines Feldes liest, bis zum & und dieses dann mit dem Inhalt eines weiteren Feldes ersetzt usw.? :roll:

Besten Dank nochmal!!!
Grüsse
Karl
Karl24
 
Beiträge: 12
Registriert: 27.12.2006, 11:19

Beitragvon NicoManicone » 14.02.2007, 16:51

Hallo,

folgender Vorschlag:

1. Zusatzfeld KETTE mit hinreichender Länge (z.B. 300) und Datentyp CHAR in der SQ02 deklarieren.

2. weisen Sie Kette STATXT zu.
Code: Alles auswählen
kette = EDIDS-STATXT.


3. Ersetzten Sie Stück für Stück die '&' gegen die Statustexte (Dieses Coding funktioniert nur auf einem Nicht-Unicode-System):

Code: Alles auswählen
REPLACE FIRST OCCURRENCE OF '&' IN kette WITH EDIDS-STAPA1.
REPLACE FIRST OCCURRENCE OF '&' IN kette WITH EDIDS-STAPA2.
REPLACE FIRST OCCURRENCE OF '&' IN kette WITH EDIDS-STAPA3.
REPLACE FIRST OCCURRENCE OF '&' IN kette WITH EDIDS-STAPA4.


4. Binden Sie KETTE in die Feldgruppe ein.

Grüße,
Nico Manicone.
Zuletzt geändert von NicoManicone am 15.02.2007, 08:10, insgesamt 1-mal geändert.
NicoManicone
Administrator
 
Beiträge: 99
Registriert: 29.05.2004, 20:06

Beitragvon Karl24 » 14.02.2007, 19:23

Hallo
SUPER! Funktioniert tiptop!!!
BESTEN DANK! :D
Grüsse
Karl
Karl24
 
Beiträge: 12
Registriert: 27.12.2006, 11:19


Zurück zu SapQuery

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron