[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Du musst in diesem Fall das Format ohne Overlay komplett ausgeben.
    Wenn du also ein Kopf/SFLCTL/SFL/FUSS-Format hast, musst du leider, wenn die SFL leer ist, die Seite komplett neu ausgeben, da es kein partielles Löschen gibt.

    Es gibt zwar ein CLRL(nn) um einen Bereich zulöschen. Dann müsstst du jedoch ein leeres Format definieren, dass genau den SFL-Bereich abdeckt (also Startzeile) und das vor dem EXFMT des SFLCTL ausgeben.

    Ich finde es aber einfach das ganz Bild komplett wieder auszugeben.
    Auf einem SFLCTL habe ich eigentlich nie ein Overlay, da es ja einen Kopf enthält.
    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. #14
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Du hast doch wahrscheinlich eine Routine "fuelleSubfile" oder so ähnlich. Da musst du am Anfang doch nur die Bezugszahl für SFLDSP aussschalten und SFLCLR einschalten und dann den SFL-Controlsatz mit write ausgeben. Danach ist deine Subfile leer.

    Dann SFLCLR ausschalten, die SFL füllen und (wenn Daten vorhanden sind) die SFLDSP wieder einschalten.

    Mach dir einfach mal bewusst, wofür die Bezugszahlen für SFLDSP und SFLCLR gut sind. Dann wirst du sie auch korrekt einsetzen.

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Aber wie geschrieben, wenn SFLDSP = *OFF und das SFLCTL-Format mit OVERLAY definiert ist, bleibt der alte Inhalt auf dem Bildschirm stehen.
    Deshalb das Kopfformat ohne OVERLAY ausgeben, das löscht erst mal den Schirm.
    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

  4. #16
    Registriert seit
    Mar 2017
    Beiträge
    12
    Ich hab das Kopfformat in das SFLCTL integriert und das Overlay raus. Jetzt funktioniert es.

    Allerdings wird mir auch mein Fuß-Format mit den Funktionstastenangaben nicht mehr angezeigt.
    Ein Problem gelöst, das nächste entstanden.

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich sagte ja, du musst alles zusammen noch mal ausgeben.
    Dabei ist die Reihenfolge enscheidend wann welches Format ausgegeben wird.
    Du kannst natürlich zuerst das Fussformat ohne OVERLAY ausgeben, das löscht den Bildschirm.
    Anschließend das SFLCTL-Format wiederum mit OVERLAY.

    Du musst ein Bild nicht zwingend Top-Down ausgeben, du kannst dies auch Bottom-Up oder gemischt.
    Außerdem ist nicht zwingend erforderlich, dass das SFLCTL-Format oberhalb der SFL stehen muss.
    Es kann auch darunter stehen.
    Somit kann man z.B. Suchfelder oder F-Tasten durchaus unterhalb der SFL im SFCTL haben.

    Wichtig ist ausschließlich, dass sich Formate mit keiner Zeile (auch nicht einem Zeichen) überlappen dürfen, sonst wird das überschriebene Format komplett entfernt.
    Dazu gehört auch zu wissen, dass jedes Feld mit einem unsichtbaren Attribut beginnt und endet.
    Wobei das endende Attribut auch gleich das Attribut des nächsten Feldes sein kann.
    Wenn also ein Feld am rechten Rand steht, hat es noch ein Attribut auf der nächsten Zeile.
    Dabei kann auch ein Überlauf in die 1. Zeile erfolgen, wenn das Feld am rechten unteren Rand steht.
    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. #18
    Registriert seit
    Mar 2017
    Beiträge
    12
    Vielen lieben Dank!

    Das hat mein Problem gelöst.

  7. #19
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich freue mich immer wieder, neue Leute in der AS/400-Welt, ähm IBM i-Welt, begrüßen zu dürfen.
    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. #20
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo MederA,

    wenn die Subfile leer ist, kannst Du den Overlay beim SFLCTL trotzdem drin lassen und in den Overlay-Schlüsselwörtern beim Parameter ERASE die negative BZ vom SFLDSP angeben und das Satzformat der Subfile angeben. Damit wird dann nur der Subfile-Satz gelöscht. Deshalb lasse ich beim SFLCTL den Overlay immer drin. Dann hab ich das Problem mit dem Fuss nicht.

    Viele Grüße,
    KM

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich lasse das Overlay auch drin, gebe aber den Fuß zuerst aus, der kein Overlay hat und somit den Bildschirm löscht.
    ERASE löscht ein Satzformat, dass vorher auf dem Schirm ausgegeben sein muss. Ein SFL gehört leider nicht dazu, da der Bereich ja im SFLCTL angegeben wird.
    Das Schlüsselwort CLRL kann nur in Verbindung mit RSTDSP(*YES) auf Dateiebene verwendet werden.
    Wenn dann noch OVERLAY verwendet wird, muss jede Stelle des Bildformates belegt werden.
    D.h., dass Lücken zwischen Feldern dann nicht überschrieben werden und dann der vorherige Inhalt angezeigt bleibt. In diesem Fall ist dann CLRL z.T. erforderlich.
    Kennengelernt habe ich das z.B. bei den Infor-Bildschirmen, die auch z.B. gerne als Pseudo-Fenster aus aufgerufenen Programmen angezeigt wurden. Assume ist in diesen Fällen nicht erforderlich, da kein WINDOW verwendet wird.
    Desweiteren klappt dann auch nicht das automatische Wiederherstellen des Bildschirms aus Call-Aufrufen, da RSTDSP(*YES) die Anwendung dazu zwingt.
    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. #22
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    ERASE löscht ein Satzformat, dass vorher auf dem Schirm ausgegeben sein muss. Ein SFL gehört leider nicht dazu, da der Bereich ja im SFLCTL angegeben wird.
    Das stimmt so nicht.

    Aber wie geschrieben, wenn SFLDSP = *OFF und das SFLCTL-Format mit OVERLAY definiert ist, bleibt der alte Inhalt auf dem Bildschirm stehen.
    Stimmt nicht pauschal. Hängt vom Parameter ERASE ab.

    Ich glaube, dass hier einiges nicht richtig verstanden wurde.

    Ich persönlich gebe sowohl beim Fuss als auch beim Kopf immer OVERLAY=J an. Und wie oben schon beschrieben gebe ich beim CTL-Satz in den Überlagerungsschlüsselwörtern bei ERASE immer den SFL-Satz mit der negativen Bezugszahl vom SFLDSP an. Damit wird selbstverständlich die SFL aus der Anzeige gelöscht entgegen Deiner Behauptung. Somit habe ich nie ein Problem mit der SFL. Das mache ich seit zig Jahren schon so und hat immer funktioniert. Und diese ganze Huddelei bzgl. CLRL spielt hier überhaupt keine Rolle und wird auch nicht benötigt.

    Viele Grüße,
    KM

  11. #23
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wie man sieht, gibts halt viele Wege zum Ziel.
    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 - Feld anzeigen
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 01-09-10, 15:21
  2. Cursor in Subfile - Cobol
    By Anette in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 24-07-06, 20:52
  3. KEYED DATA QUEUES SUBFILE DESCEND RPGLE
    By borwegen in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-06-06, 09:04
  4. Subfile Drop
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-05-06, 13:56
  5. Subfile aus einer Subfile?
    By Toschie in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 08-06-05, 14:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •