-
Hallo,
diesmal geht es nicht um das Schreiben einer DDS Datei sondern das Lesen einer solchen.
Ich habe den Namen eines Feldes auf das Referiert wird und will nun aus der referenzierten Datei die Länge, die Dezimalstellen und die Art dieses Feldes wissens. Sobald ich die SRCDTA habe kann ich dies ja über Substring herausfinden.
Dazu hätte ich aber ein paar Fragen:
1. Kann ich über einen einfachen read aus dieser Datei lesen und die Daten in SRCSEQ SRCDTA und SRCDAT schreiben lassen? Wie müsste dieser read aussehen? (Ein Beispiel wäre sehr freundlich)
2. Brauche ich dann in meinem CL Programm 2 OVRDBF?
Gruß Martin
EDIT:
Tut mir Leid bin schon über was gestolpert, sollte jetzt funktionieren.(Kann ich erst morgen testen)
PHP-Code:
C open reftab C read REFTAB cmdrec C dow NOT %eof(reftab) C eval name2 = %subst(srcdta:19:10) C if name=name2 C eval laenge = %subst(srcdta:30:4) C eval art = %subst(srcdta:35:1) C eval dec = %subst(srcdta:36:2) C endif C read REFTAB cmdrec C enddo C close reftab
-
Wie du schon schreibst, du brauchst im CL ein OVRDBF. Ansonsten ist es wie beim schreiben.
Gruß
DVE
-
 Zitat von DVE
Wie du schon schreibst, du brauchst im CL ein OVRDBF. Ansonsten ist es wie beim schreiben.
Gruß
DVE
Danke!
Gruß Martin .
-
Hallo,
anderes Programm aber wieder etwas mit DDS, deshalb wieder dieser Thread. Ich bekomme zz einen Fehler beim Open. Beschrieben ist die Datei so:
PHP-Code:
FDDS O F 92 Disk UsrOpn f ExtFile(Path) f ExtMbr(Mbr)
MBR wird an das Prog übergeben
PHP-Code:
CALL PGM(DDSGENLINE) PARM(&ZNAM &FLIB &FFILE &MBR)
und aus 2 Vars setze ich den Pfad zusammen. Das hat bisher immer funktioniert(habe das aus meinem DDS Prog. genommen). Die Datei wird ordnungsgemäß erstellt, der OVR Befehl ist auch i.O.
Nun bekomme ich aber den Fehler:
PHP-Code:
call ddsbasis parm(ddst liba libb ddste test textf textm ZPROG) Datei DDST in Bibliothek liba erstellt. Teildatei TEST zu Datei DDST in liba hinzugefügt. Datei + in Bibliothek *LIBL mit Teildatei TEST nicht gefunden Fehlernachricht CPF4102 während OPEN angezeigt.
Fehler soll das sein:
PHP-Code:
03 - Datei nicht vorhanden. Bibliothek als *LIBL angegeben.
DDSBasis ist ein CL Prog das dann das ILE Prog aufruft. Die Datei ist jedoch erstellt worden.
Ein andere Fehler ist ein Dezimalstellenfehler. Hier stimmt jedoch die Zeilenangabe nicht. Auf Zeile XYZ steht nur C/EXEC SQL. Kann es sein das er Platz/Leerzeilen also (0010.00 - damit der Code übersichtlicher wird), ignoriert und sich die Zeilenangabe dadurch verändert?
Gruß Martin
EDIT: Dateifehler behoben. Dafür gibts jetzt einen andren:
Er will einen Open auf Datei DDS machen, welche aber schon auf ist. Der einzige Open den ich mache ist jedoch der hier:
PHP-Code:
C eval Path = FLib+'/'+FFile C eval Path = %trim(Path) C* close dds C open dds C eval datnam=FFile C exsr fill C exsr head C exsr rec C exsr Line C close dds C return
In den Untermethoden werden nur Writes gemacht um die Datei zu erstellen.
-
Hallo,
(Ja ich bringe diese Thema wieder mal hoch. ) Ich hätte eine Frage zum return bei CL und zwar steht im Programming Guide das man über diesen Return keine Paramater zurückgeben kann. (Insofern ich mich nicht verlesen habe.) Ich würde jedoch gerne wissen ob das CL Programm das ich von VARPG aufrufe alle Dateien richtig erstellt hat, oder ob etwas schiefgegangen ist und die halb erstellten Dateien wieder gelöscht wurden.
Da ich beim Return ja anscheinend nichts übergeben kann wie kann ich das sonst überprüfen um dem User eine Rückmeldung geben zu können ob alles i.O. ist oder ob etwas schiefgegangen ist.
Gruß Martin
-
Alle Parameter beim CLP sind per Reference.
Das CLP kann diese verändern, der Inhalt steht dann im rufenden Programm.
-
Ah ok vielen Dank.
Gruß Martin
-
Hallo,
eine kurze Frage: Warum bzw. wie muss ich die Längen/den Aufbau(SEQ; DAT DTA) definieren wenn ich statt in ein PF in eine RPGLE Datei schreiben will?
Ich hatte es mit demselben Aufbau wie beim PF probiert, nur hatten da ca. 5-6 Zeichen am Anfang gefehlt. Als ich im CL dann die zu schreibende Datei als PF erstellen lies klappte das Schreiben wunderbar. Alles war da.
Gruß Martin
-
DSPFFD LIBNAMe/QRPGLESRC dann siehst du die Namen der Felder und der Länge.
Gruß
DVE
-
Hm die Werte sollten ok sein, 6 0; 6 2; 80.
Aber sobald ich das PF wieder in ein RPGLE umwandle fehlen wieder Zeichen.
PF:
PHP-Code:
C odbc Setatr 1 'Column'
RPGLE:
PHP-Code:
odbc Setatr 1 'Column'
Woran liegt das?
Gruß Martin
EDIT: Kann ich auch ein PF für /COPY nehmen oder muss das File RPGLE sein?
-
Hallo!
 Zitat von Squall
Hm die Werte sollten ok sein, 6 0; 6 2; 80.
Nimm' mal gezonte Felder (6S 0; 6S 2) anstelle von gepackten für die beiden ersten Spalten.
-
Hallo,
für die Rückgabe von Fehlern hat OS400 einen speziellen Mechanismus: man sendet einfach per API eine Escape Message, das kommt sogar beim SBMJOB noch beim Submitter an.
mfg
Dieter Bender
 Zitat von Squall
Hallo,
(Ja ich bringe diese Thema wieder mal hoch.  ) Ich hätte eine Frage zum return bei CL und zwar steht im Programming Guide das man über diesen Return keine Paramater zurückgeben kann. (Insofern ich mich nicht verlesen habe.) Ich würde jedoch gerne wissen ob das CL Programm das ich von VARPG aufrufe alle Dateien richtig erstellt hat, oder ob etwas schiefgegangen ist und die halb erstellten Dateien wieder gelöscht wurden.
Da ich beim Return ja anscheinend nichts übergeben kann wie kann ich das sonst überprüfen um dem User eine Rückmeldung geben zu können ob alles i.O. ist oder ob etwas schiefgegangen ist.
Gruß Martin
Similar Threads
-
By homue in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-07-07, 16:47
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 10:58
-
By Squall in forum NEWSboard Programmierung
Antworten: 9
Letzter Beitrag: 10-10-06, 08:53
-
By Squall in forum IBM i Hauptforum
Antworten: 31
Letzter Beitrag: 28-09-06, 17:53
-
By Angela in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 22-08-06, 10:11
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