-
Stimmt, das Thema hatten wir schon mal. Da funktioniert einiges nicht.
Eine DSPF sollte sortenrein sein.
Du kannst auch kein 132-Fenster auf einer 80-DSPF überblenden bzw. umgekehrt.
Es kann ja keine Formatanpassung geben.
Du musst dir also überlegen, wie der aktuelle Bildschirmstand ist und das entsprechende Fenster mit der DSPF verwenden.
-
zum thema assume und dummy record....
warum verwendet ihr nicht CLRL(*NO)...
dann bleibt der record auch stehen und das neue kann geladen werden....
parameter beim record angeben der neu über das alte geschrieben wird...
-
CLRL(*NO) funktioniert nicht mit echten WINDOW-Formaten sondern nur mit Standard-RECORD.
CLRL (Clear Line) keyword for display files
Allerdings kann man damit sog. Pseudo-Windows erstellen.
Problem dabei ist, dass man allerdings freie Bereiche seines "Fenster" mit Leerzeichen füllen muss, da sonst in diesen Stellen das unterliegende Format sichtbar bleibt.
WINDOW-Formate müssen ggf. mit RSTDSP (Dateiebene) bzw. USRRSTDSP (Satzformat) definiert werden, da sonst das System selber den aktuellen Inhalt sichert. Allerdings passiert dies nur genau 1 Mal, nämlich vor der ersten Ausgabe des Fensters.
Gibt man dann das Fenster das nächste mal aus, wird der vorherige gesicherte Inhalt mit angezeigt!
Ich habe da schon leider diverse Meldungen meiner Kunden bekommen, dass in Fenstern uralte Hintergründe auftauchen da die meisten Programme mit *INLR = *OFF verlassen werden.
USRRSTDSP (User Restore Display) keyword for display files
-
 Zitat von Mr.iSeries
Wenn bei DSPFs der Hintergrund nicht gelöscht werden soll muss man ja einen Record (Dummy) mit keep und assume erstellen. Funktionierte sonst eigentlich immer. Habe aber jetzt ein Programm wo es manchmal funktioniert und manchmal nicht. Weiß leider nicht woran es liegen könnte. Kann es sein dass das Problem ist dass ich 2 Windows in der DSPF habe?
ja aber des dummy gedöns kann man sich doch sparen.....
also mit den entsprechenden funktionen. z.b. erase. rmvwdw usw lässt sich doch das alles bewerkstelligen.. oder???
ich glaub ich versteh das problem nicht!!!
-
PS : was meinst du mit echt windows formaten???
bei windows kann man dieses schlüsselwort auch angeben...
hmm verwirrt bin...
-
jo ich hab das bei meinem variablen bildschirmaufbau auch mit assume gelöst...
Programm A called Programm B und der Bildschirm von A soll stehen bleiben...
jo für diese aufgabenstellung ist assume die lösung....
-
Noch ein paar Details für dich:
So lange du in einer DSPF und einem Programm arbeitest kannst du das ziemlich selber in die Hand nehmen.
Die Anforderung ist aber:
PGMX mit DSPF ruft MYPGM mit WINDOW auf. MYPGM soll aber nur das WINDOW anzeigen und den darunterliegenden Inhalt nicht zerstören.
Fehlt ASSUME, löscht die AS/400 aber die Anzeige vor der WINDOW-Ausgabe, da ASSUME dem System aber die Annahme mitgibt, die DSPF ist schon geöffnet worden, unterbleibt das Löschen.
Hat eine DSPF RSTDSP(*YES), wird die aktuelle Ansicht beim Open gesichert und beim Close wiederhergestellt.
Mittels ASSUME kann nun das Fenster über den aktuellen Inhalt ausgegeben werden.
Wird das Programm mit *INLR = *ON verlassen, wird die DSPF ja auch geschlossen und beim nächsten Aufruf alles wiederholt.
Häufig wird ein Programm aber mit *INLR=*OFF verlassen um Zustände über mehrere Aufruf zu verwalten.
Die DSPF bleibt also offen.
Wird nun bei RSTDSP(*YES) das WINDOW ausgegeben, stellt die AS/400 die Anzeige mit dem beim Open vorher gesicherten Inhalt wieder her !
Du siehst also plötzlich einen Hintergrund, der mit dem tatsächlich aktuellen Bild nicht übereinstimmt.
Du benötigst also einen RSTDSP(*NO).
USRRSTDSP wird nur benötigt, um innerhalb einer DSPF die überlagerten WINDOWS und den Bildaufbau komplett selber zu steuern.
RMVWDW entfernt alle vorher angezeigt Fenster (ausser den USRRSTDSP) und zeigt dann das aktuelle WINDOW an, funktioniert also nur bei gleichzeitiger Ausgabe eines neuen Fensters.
ERASE entfernt einzelne Formate der aktuellen DSPF, aber keine WINDOW.
-
Achja, noch zur Ergänzung:
ASSUME ist nicht in WINDOW erlaubt, daher wird das DUMMY-Format benötigt wenn die DSPF nur WINDOW-Formate hat.
-
achso es geht also darum programm a ruft programm b auf und der record von a soll beim aufruf von b erhalten bleiben....
hmmm muß ich mal morgen schauen wie ich das gelöst hab.. interessiert mich jetzt selber..........
Similar Threads
-
By harkne in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 14-03-07, 09:42
-
By Jenne in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 11-06-04, 17:46
-
By adi120369 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 11-06-03, 14:35
-
By fxballeis in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 06-05-02, 06:31
-
By gefis in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-03-01, 13:51
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