PDA

View Full Version : COMP IN PF



woodstock99
03-04-08, 10:36
Hallo Miteinander. SORRY SOLLTE COMP IN LF heissen :(

Mein Problem. Ich will in einem Programm nur Sätze aus einer Datei einlesen die in der Bedingung

FREIGEGEBE <> 'F' AND
STATUS = ' ' AND
FEHLERKZ = ' '

Kann man in einer logischen Datei nicht einfach den Befehl comp eingeben so das dann das RPG AUTOMATISCH die Sätze die den Comp-Bedingungen nicht stand halten gar nicht erst liest???

Wollte es so lösen:

* Datenanfang **************************************
UNIQUE
R DEBIVO_DL PFILE(SELTKAIS/DEBIVODL)
K FREIGEGEBE
K STATUS
K FEHLERKZ
K WERK
K RECHNR
K UMERKMAL
S FREIGEGEBE COMP(NE 'F')
S STATUS COMP(EQ ' ')
S FEHLERKZ COMP(EQ ' ')


Bitte nicht schreiben im Programm abfragen. Das würde nur mit einem erheblichen Aufwand funktionieren da das Programm von der Logik her einfach zum kotz..... ist . Oder gibt es eine andere Lösung??

Vielen Dank im vorraus für eure Hilfe.

GeorgG
03-04-08, 10:53
hallo woodstock

einfach in der selektion angeben

S FREIGEGEBE COMP(NE 'F')
STATUS COMP(EQ ' ')
FEHLERKZ COMP(EQ ' ')

du darfst das 'S' nur einmal angeben

gruß georg

woodstock99
03-04-08, 11:15
Ich bin so doof :).
Vielen Dank.Hat funktioniert

Fuerchau
03-04-08, 11:17
Wird das "S" wiederholt, gilt dies als OR-Verknüpfung.
Ohne "S" ab der 2. Bedingung gilt dies als AND-Verknüpfung.

Kombinationen sind natürlich möglich:

S FELD1 COMP ...
Feld2 COMP...
S FELD1 COMP...
FELD3 COMP ...

entspricht
FELD1 = ... AND FELD2 = ... OR FELD1 = ... AND FELD2 = ...

SQL kann das natürlich eleganter, nämlich mit Klammern.

woodstock99
03-04-08, 11:41
Danke auch an Herrn Fuerchau!!!