-
36er Umstellung
Moin Kolleginnen und Kollegen,
ENDLICH!!!!! wri schaffen unsere /36er ab!!!!!!!!!!
Wir dürfen (ENDLICH) unsere histerisch gewachsene Warenwirtschaft ablösen. In sich kein Problem. Uns liegt aber ein Problem sehr am Herzen, da dieses Programm ein Schlüsselprogramm zur Übergabe an die DKS-FIBU ist. In einem Programm wird eine Datei an 5! verschiedenen Stellen immer mit dem gleichem Schlüssel gelesen. Jetzt haben wir gedacht wir lösen das aber eine exterrne DS mit einer einer Feldgruppe, da wir 5x mal die gleiche Datensätzte brauchen. Gelöst haben wird das so:
d OR_Rec E DS ExtNAme(Datei)
* ================================================== ==========
d AA_Rec E DS ExtName(Datei)
d PreFix(AA_)
d AA_Ds DS LikeDs(AA_Rec) Dim(999)
* ================================================== ==========
d BB_Rec E DS ExtName(Datei)
d PreFix(BB_)
d BB_Ds DS LikeDs(BB_Rec) Dim(999)
* ================================================== ==========
Und so
weiter
Gelesen wird die Datei und mit
MOVE OR_REC AA_DS($Z)
bis FF_DS($Z)
die Feldgruppen gefüllt. Im Debug kann man auch z.B. das Feld AA_DS.AA_FELD(1) oder so sehen.
Wie kann man das Feld jetzt anspechen???
z.B. EVAL AA_DS.AA_FELD($X) = Neu
BB_DS.BB_FELD($Y) = Alt
CC_DS.CC_FELD($X) = 4711 usw???
Bei der Umwandlung kommt dann immmer:
Feldgruppe hat zu viele übergangene Indizes; die Bestimmung wird ignoriert.
Index ist für einen Namen, der keine Feldgruppe ist, nicht zulässig; der Index wird ignoriert.
Wir stehe da momentan echt auf dem Schlauch!! Vielen Dank im voraus für Eure Hilfe.
mfg
-
Moin,
mit DIM multiplizieren Sie jede Datenstruktur auf 999 Vorkommen ;-)
Wie genau wollen Sie die eingelesenen Felder verarbeiten? Evtl. ist OCCUR Ihr Freund!
-
Zitat von RobertMack
Moin,
mit DIM multiplizieren Sie jede Datenstruktur auf 999 Vorkommen ;-)
Es kommt bei einzelnen Kunden vor, daß bis zu 800 Sätze da drin sthen
Wie genau wollen Sie die eingelesenen Felder verarbeiten? Evtl. ist OCCUR Ihr Freund!
Die Datei hat 45 Felder, davon müssen bis zu 10 geändert werden.
-
wie geändert? Hab's noch nicht nachvollzogen...
Feldverwendung/Prüfung/Änderung über die Vorkommen hinweg, z.B. IF AFELD(1) <> AFELD(4)
oder erst nachdem alle Vorkommen eigens geprüft wurden, z.B.
DO 5 $I
$I OCCUR DS
IF AFELD <> IRGENDWAS, merke $I
ENDDO
$I = gesuchtes Vorkommen
-
So nicht ganz
Also:
Programmlauf ALT:
Datei A wird gelesen (Aktuelles KD-Sortiment)
Satzauschluß
Ausgabe 1
Datei A wird erneut gelesen (Aktuelles KD-Sortiment)
Satzauschluß
Ausgabe 2
Datei A wird nochmal gelesen (Aktuelles KD-Sortiment)
Satzauschluß
Ausgabe 3
usw.
Unsere Idee ist:
Datei A wird gelesen (Aktuelles KD-Sortiment)
Satzauschluß
Merken 1
Merken 2
Merken 3
usw.
Aus Merken 1 ($X) weiter
Aus Merken 2 ($X) weiter
Aus Merken 3 ($X) weiter
usw.
In Merken 2 - 5 wird dann eine weitere Verarbeitung gestartet.
Von Merken 1 - x sind aber verschieden Felder zu aktualisieren
Wir wollen eigentlich nur einmal statt fünfmal nach den selben Kriterien lesen.
Hoffentlich habe ich mich verständlich ausgedrückt
-
...leider nicht ;-)
Ich rate jetzt mal:
Sie wollen beim Einlesen prüfen, ob ein Satz ausgeschlossen wird oder in eine von vier Gruppen paßt?
Und dann die vier Gruppen einzeln verarbeiten?
-
Wozu überhaupt Indizes? Ihr könnt die einzelnen Felder in den Datenstrukturen doch direkt über ihre Namen ansprechen.
Nachtrag: Die Datenstrukturen lassen sich mit MOVE OR_REC AA_REC usw. füllen.
-
Zitat von Pikachu
Wozu überhaupt Indizes? Ihr könnt die einzelnen Felder in den Datenstrukturen doch direkt über ihre Namen ansprechen.
Nachtrag: Die Datenstrukturen lassen sich mit MOVE OR_REC AA_REC usw. füllen.
Genau das mache wir. Jetzt wollen wir aber aus der DS nur einzelne Felder haben, also aus DS1(5) das 3 feld, aus DS4(3) das 10 feld usw.
-
Hallo,
erstmal würde ich die DS quälen, statt Prefix:
d OR_Rec E DS ExtNAme(Datei)
* ================================================== ==========
d AA_Rec E DS ExtName(Datei)
d qualified
d AA_Ds DS LikeDs(AA_Rec) Dim(999)
* ================================================== ==========
ansprechen kann man die Felder dann per:
AA_Ds(index).FeldName
mfg
Dieter Bender
PS: Sch... Editor, das qualified muss freilich als Keyword abgelocht werden.
Zitat von DKSPROFI
d OR_Rec E DS ExtNAme(Datei)
* ================================================== ==========
d AA_Rec E DS ExtName(Datei)
d PreFix(AA_)
d AA_Ds DS LikeDs(AA_Rec) Dim(999)
* ================================================== ==========
Wie kann man das Feld jetzt anspechen???
z.B. EVAL AA_DS.AA_FELD($X) = Neu
mfg
-
Setze den Index einmal direkt hinter die Datenstruktur (anstelle von hinter das Feld): z.B. EVAL AA_DS($X).AA_FELD = Neu
-
Zitat von Pikachu
Setze den Index einmal direkt hinter die Datenstruktur (anstelle von hinter das Feld): z.B. EVAL AA_DS($X).AA_FELD = Neu
VIELEN HERZLICHEN DANK!!!!!!!! Das wars, vielen Dank auch alle anderen Antworten.
Similar Threads
-
By Frank.Sobanek in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 14-07-05, 20:58
-
By Joe in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 23-06-05, 10:16
-
By Kilianski in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 03-11-04, 16:20
-
By ukoh19 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 22-09-04, 14:29
-
By peter.kinne in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 01-09-04, 14:41
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks