[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    ASSUME reicht vollständig.
    KEEP hat eine andere Bedeutung:
    KEEP (Keep) keyword for display files

    Beim Close bleibt der Inhalt bestehen (funktioniert also nicht bei Programmende mit *INLR=*ON).
    Diese Funktion dient im Wesentlichen dazu, über eine DSPF Informationen an ein aufgerufenes Programm weiterzugeben.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.931
    Hallo,

    das Problem taucht auf, wenn die beiden Fenster nacheinander angezeigt werden, ohne das dazwischen ein EXFMT auf das Vollbild erfolgt.

    Eine Lösung, wie der Hintergrund immer stehen bleibt habe ich allerdings auch nicht gefunden.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Jan 2007
    Beiträge
    189
    Du kannst dieses versuchen, damit habe ich dann diese Problem nicht.
    Psuedo-code:
    Code:
    exfmt window1
    write originalfmt
    exfmt window2
    Dann bleibt die hintere Format noch da.
    mfg

    Kit
    www.ecofitonline.com
    DeskfIT - ChangefIT - XrefIT

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    122
    nach aufruf meines pgm's aus dem startmenü des benutzers wird gleich das window angezeigt. bei meinen anderen pgm's bleibt der hintergrund stehen. bei diesem nicht. hab aber echt keine ahnung woran es liegen könnte. also es klappt ja gleich am anfang nicht.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    Versuch mal beim CRTDSPF ... RSTDSP(*NO).
    Ggf. fehlt im WINDOW noch zusätzlich OVERLAY.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Jan 2007
    Beiträge
    122
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Versuch mal beim CRTDSPF ... RSTDSP(*NO).
    Ggf. fehlt im WINDOW noch zusätzlich OVERLAY.
    Overlay ist drin. RSTDSP ist NO.
    Ich denke eher dass es daran liegt dass ich 80er windows und 132er windows in der gleichen dspf habe.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  8. #8
    Registriert seit
    Nov 2007
    Beiträge
    371
    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...

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    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
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Nov 2007
    Beiträge
    371
    Zitat Zitat von Mr.iSeries Beitrag anzeigen
    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!!!

  11. #11
    Registriert seit
    Nov 2007
    Beiträge
    371
    PS : was meinst du mit echt windows formaten???
    bei windows kann man dieses schlüsselwort auch angeben...
    hmm verwirrt bin...

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.706
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. Subfile nebeneinander mit Windows die aber unschön flackern
    By harkne in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 14-03-07, 09:42
  2. Jobdatum beim Runqry
    By Jenne in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 11-06-04, 17:46
  3. Abs. AS 400 Dummy
    By adi120369 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 11-06-03, 14:35
  4. ASSUME IN RPG !
    By fxballeis in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 06-05-02, 06:31
  5. Probleme mit dem Schlüsselwort ASSUME
    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
  •