-
Feldinhalten bleiben in Satzformat stehen
Hallo,
ich habe ein Serviceprogramm mit zwei Modulen und ein PGM (PGM1) das sich derer bedient. PGM1 ruft MDL1 des Serviceprogramms auf. Dieses öffnet ein DSPF mit einem EXFMT auf ein bestimmtes Satzformat (SFMT1). Bei einer bestimmten F-Taste wird von MDL1 das MDL2 aufgerufen. Dieses öffnet die Bildschrimdatei per Open und macht ein EXFMT auf SFMT2. Wird MDL2 beendet und noch einmal von MDL1 aufgerufen, habe alle Felder aus SFTM2 noch die Werte vom letzen Start. Erst wenn ich PGM1 beende und neu starte kann ich MDL2 wieder 1 Mal mit leeren Variablen aufrufen.
MDL2 wir aber immer! mit Close *ALL und *INLR beendet. Ich dachte eigentlich damit würde ich auch die Felder von SFMT2 initalisieren.
Hat jemand einen Tip für mich.
Gruß
Sascha
-
Module interessieren sich nicht für *INLR beim Return !
Mach einfach ein CLEAR auf das Satzformat.
-
Zitat von Fuerchau
Module interessieren sich nicht für *INLR beim Return !
Mach einfach ein CLEAR auf das Satzformat.
Hi,
danke für die fixe Antwort. Ich werd's gleich mal versuchen.
Gruß
Sascha
-
Zitat von Fuerchau
Mach einfach ein CLEAR auf das Satzformat.
Oder ein RESET. Das müsste auch gehen ...
Gruß
Pikachu
-
RESET unterscheidet sich von CLEAR dadurch, dass Valriablen durch *INZSR vorbelegt werden können und somit auf diesen Stand zurückgesetzt werden können.
Allerdings ist dies vorsichtig anzuwenden, da z.B. durch Copystrecken in der *INZSR der tatsächliche Inhalt ggf. nicht gewährleistet ist.
Clear löscht auf jeden Fall entsprechend dem Feldtyp.
-
Zitat von Fuerchau
Mach einfach ein CLEAR auf das Satzformat.
Hallo,
ich hatte es übrigens schon mal, dass der CLEAR auf das Satzformat nicht griff.
Das lag vielleicht daran, dass ich zusätzlich externe DS über diese Datei definiert hatte?
Wie auch immer: Meine Lösung siehe unten - wobei ich nicht schlüssig erklären kann, warum es funktioniert.
Code:
Fsslstd if E k disk rename(sslSTDf1: sslSTDr0)
...
D dsSSLSTD E DS extname(SSLSTD)
D a$SSLSTD E DS extname(SSLSTD) prefix(a$)
...
C*** reicht nicht! clear SSLSTDr0
C clear a$SSLSTD
C MOVE a$SSLSTD dsSSLSTD
Gruß
Christian
-
Hi,
Bei CLEAR von Dateien....
Klappt nur bei Dateien die Update / Output geöffnet sind.
Gibt auch einen Hinweis im Wandlungsprotokoll (nicht kritisch, aber halt blöd wenn man sich drauf verlässt).
Gruss
Rince
/edit/
Subfile Clear geht natürlich immer
-
Bei Dateien werden sog. Pseudo-DS generiert, die nur die Felder der Eingabeformate enthält. Reine Ausgabe-Felder findet man in den generierten O-Bestimmungen (Umwandlungsliste).
CLEAR/RESET wirkt aber nur auf DS !
Nun macht man sich den Vorteil von RPG (ohne qualified) zu Nutze, dass jedes Feld im Programm nur genau 1 Mal vorhanden ist.
Definiert man nun eine externe DS, die alle Felder der I/O-Bestimmungen enthält, funktioniert der CLEAR nun.
Da auch Namen im RPG eindeutig sein müssen, darf es keine Namensgleichheit zwischen Datei-Formatname und DS-Namen geben. Welchen man von beiden umbenennt spielt dabei keine Rolle.
Es gibt dann nur Probleme, wenn man die gleichen Feldnamen in mehreren Formaten benötigt/verwendet, da ja ein Feld wiederum nur 1 Mal im gesamten Programm und somit nur in 1 DS vorkommen kann.
Mittels I-Bestimmungen kann ich ja Eingabefelder umbenennen, leider habe ich noch keine Möglichkeit gefunden, Felder in O-Bestimmungen (nämlich die automatischen) umzubenennen.
Für DISK-Dateien kann ich dies mittels Updatefile (und Pseudo Read/Writes) noch regeln. Bei Printer/Display-Files kann ich das nun mal leider nicht.
Similar Threads
-
By malzusrex in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 26-03-09, 17:37
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 12-10-05, 13:17
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 05-11-04, 15:17
-
By RPG IV-Junior in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 28-05-04, 14:40
-
By hpw in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 15-10-01, 13:23
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