-
Erstellen eines CL´s für dspdire/addire
Guten Morgen,
ich habe zurzeit das Problem, daß ich gerne die WRKDIRE von einer Kiste auf eine andere bekommen möchte.
Es gibt dafür zwei wege die mir bekannt sind.
1. Ich Restore die qaok*, qaof* und die qaoz*
2. Ich rufe den Befehl DSPDIRE *outfile auf. Dann schreibe ich ein CL das mir die Daten aus dem outfile zieht und per ADDDIRE erstellt.
Erstens möchte ich nicht. Aus ganz verschieden Gründen.
Aber zweitens fände ich super. Allerdings weiß ich nicht wie ich so ein CL erstellen soll. Nunja ich weiß schon wie ich ein CL erstelle, aber eben nicht in diesem speziellen fall.
Ich habe mir natürlich schon gedanken über das wie gemacht, aber vileicht hat von euch ja schon einer das CL mal geschrieben. Es wird ja nicht zum erstenmal besprochen!
Falls nicht wäre ich für eine unterstüzung bei der erstellung sehr dankbar.
Mit freundlichen
Grüßen der Techniker
-
Zitat von Techniker
2. Ich rufe den Befehl DSPDIRE *outfile auf. Dann schreibe ich ein CL das mir die Daten aus dem outfile zieht und per ADDDIRE erstellt.
Erstens möchte ich nicht. Aus ganz verschieden Gründen.
Aber zweitens fände ich super. Allerdings weiß ich nicht wie ich so ein CL erstellen soll. Nunja ich weiß schon wie ich ein CL erstelle, aber eben nicht in diesem speziellen fall.
Ich habe mir natürlich schon gedanken über das wie gemacht, aber vileicht hat von euch ja schon einer das CL mal geschrieben. Es wird ja nicht zum erstenmal besprochen!
Falls nicht wäre ich für eine unterstüzung bei der erstellung sehr dankbar.
Moin moin,
Na ja, SOO ganz profan ist das nicht.
Wie ein CL grundsätzlich aussieht kannst Du ganz gut in dem Listing von Holger erkennen.
Hier http://www.rlpforen.de/showthread.php?p=42357#post42357
Das Problem ist nur folgendes:
Du kannst im CL immer nur mit EINER Datei arbeiten.
In Deinem Fall wäre das die Datei, die Du im CL einliest.
Was Dir da nun fehlt ist ja, die dann eingelesenen Daten auch wieder abzuspeichern (in eine andere Datei, welche Du später wieder ausliest) und/oder zu benutzen (für den ADDDIRE oder so).
Wenn Du also im CL den ADDIRE benutzen willst, bist Du ja eventuell auf der falschen Maschine.
Eine Möglichkeit wäre, den Ausdruck von DSPDIRE *outfile per SNDNETSPLF auf die andere Maschine zu schicken, dann dort per CL einzulesen und im CL den ADDIRE abzusetzen.
ODER Du machst das auf der Ursprungsmaschine und schickst nur nen Text (MSG) rüber zur anderen und machst nen Programm um den Text da einzulesen und zu verarbeiten.
ODER Du machst nen zweites Programm auf der Ursprungsmaschine welches die eingelesenen Daten annimmt und abspeichert und die File schickst Du dann rüber zur neuen Maschine und arbeitest die dann per Programm da ab
ODER Du machst statt nen CL gleich nen RPG (um mehr als eine File (1xinput,1xoutput) gleichzeitig bearbeiten zu können...
ODER..
ODER...
Ich denke Du merkst wo ich hinwill.
kuempi
-
Zitat von kuempi von stein
Das Problem ist nur folgendes:
Du kannst im CL immer nur mit EINER Datei arbeiten.
In Deinem Fall wäre das die Datei, die Du im CL einliest.
Was Dir da nun fehlt ist ja, die dann eingelesenen Daten auch wieder abzuspeichern (in eine andere Datei, welche Du später wieder ausliest) und/oder zu benutzen (für den ADDDIRE oder so).
Wenn Du also im CL den ADDIRE benutzen willst, bist Du ja eventuell auf der falschen Maschine.
kuempi
Hi,
ja das hört sich doch schon mal gut an.
Ich würde es mir so in etwa vorstellen.
Ich bringe den outfile auf das richtige system und rufe dann das CL auf, welches mir den outfile ausliest und dann per adddire die Einträge erstellt.
Dazu müsste ich nur wissen wie!
Also,
1. wie kann ich den outfile auslesen
2. müsste ich da nicht irgendwie eine Schleife generieren
3. wie bekomme ich die ausgelesenen werte dann in den ADDDIRE rein
Das ist viel ich weiß.
-
Na schau Dir mal das Beispiel von Holger an!
Du must nur im CL Deine File die Du produziert hast im DCLF angeben.
Lesen Satzweise sequentiell dann mit RCVF.
Wenn CPF0864 kommt dann ist Dateiende.
Und die einzelnen Felder Deiner Outfile kannst Du im CL ganz normal wie andere Variabeln ansprechen, das ist durch den DCLF schon getan.
Ich glaube Du must nichtmal die einzelnen Felder mehr declarieren mit DCL.
Versuchs mal einfach ist easy...
k.
-
Naja, und die Schleife geht ganz einfach:
Lesen:
RCVF
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDE))
ADDDIRE
goto Lesen
Ende:
ENDPGM
-
Also,
vielen vielen Dank.
War echt nicht schwer, läuft super!
Similar Threads
-
By I0N in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 09-01-09, 17:38
-
By Jabs in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 12-12-06, 07:59
-
By Jörg Schmidt in forum NEWSboard Drucker
Antworten: 7
Letzter Beitrag: 03-08-06, 08:56
-
By jojoschluckfirma in forum NEWSboard Drucker
Antworten: 3
Letzter Beitrag: 27-07-06, 06:10
-
By KM in forum NEWSboard Java
Antworten: 3
Letzter Beitrag: 08-06-06, 09:09
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