[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2013
    Beiträge
    19

    Eingabe Subfile in einem Window

    Hallo,

    ich möchte ein bestehendes Eingabe-Subfile Programm in einem Window laufen darstellen. Leider bekomme ich jetzt schon beim Initialisieren der Subfile wenn der Subfile Steuersatz geschrieben wird einen Sitzungs- oder Einheitenfehler.

    Nachrichten-ID . . . . : RNQ1255 Bewertung . . . . . . : 99
    Nachrichtenart . . . . : Anfrage
    Sendedatum . . . . . . : 16.04.14 Sendezeit . . . . . . : 12:04:36

    Nachricht . . . : Sitzungs- oder Einheitenfehler in Datei HB130FM
    aufgetreten (C G D F).

    Kann mir jemand einen Tipp geben, was ich falsch mache.

    Hier der Code:

    Bildschirmformat (Subfile Kontrollsatz)

    A*--------------------------------------------------------------*
    A* Window-Rahmen *
    A*--------------------------------------------------------------*
    A R WINDOW1
    A*%%TS SD 20140414 224356 TSCHABO REL-V5R3M0 5722-WDS
    A OVERLAY
    A PUTOVR
    A OVRDTA
    A WINDOW(*DFT 22 50 *NOMSGLIN)


    A*--------------------------------------------------------------*
    A* Subfile - Steuersatz *
    A*--------------------------------------------------------------*
    A R SFL1CTL SFLCTL(SFL1)
    A*%%TS SD 20140416 113606 TSCHABO REL-V5R3M0 5722-WDS
    A SFLSIZ(0050)
    A SFLPAG(0015)
    A WINDOW(WINDOW1)
    A OVERLAY
    A N32 SFLDSP
    A N31 SFLDSPCTL
    A 31 SFLINZ
    A 39 SFLEND(*MORE)
    A SFLRNA
    A SF_RRN1 4S 0H SFLRCDNBR(CURSOR)
    A 2 1'Personen/Objekte verwalten'
    A COLOR(WHT)
    A SF_PGMNAM 10A O 2 41
    A 4 1'Personen/Objekte'
    A COLOR(WHT)
    A 4 32'L=Löschen'
    A COLOR(WHT)

    RPG-Programm (Subfile bereinigen)

    *---------------------------------------------------------------
    * $sflclr Subfile bereinigen
    *---------------------------------------------------------------
    C $sflclr BEGSR

    * Subfile bereinigen
    * SF_RRN1 muss > 0 sein für Initialisierung
    C EVAL *IN31 = *ON
    C EVAL sf_rrn1 = 1
    C WRITE sfl1ctl
    C EVAL sf_rrn1 = 0
    C EVAL *IN31 = *OFF
    C EVAL *IN32 = *OFF



    Beim Schreiben des Subfile Steuersatzes kommt die Fehlermeldung.

    Vielen Dank.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Zur Bereinigung einer SFL wird SFLCLR mit BZ verwendet, alle anderen SFLxxx-Schlüsselworte müssen aus sein.
    SFLINZ initialisiert eine Subfile mit SFLSIZ Leersätzen!
    Anschließend kann man diese Sätze mir READ/UPDATE bearbeiten.
    Normalerweise wird dies nie gebraucht.
    SFLSIZ > SFLPAG wird nur benötigt um eine Blätter-SFL zu erhalten.
    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

  3. #3
    Registriert seit
    Aug 2013
    Beiträge
    19
    Wie ich beschrieben habe, habe ich ja ein lauffähiges Programm. Dieses möchte ich jetzt in einem Window laufen lassen.

    Wenn das Programm den ganzen Bildschirm verwendet funktioniert es einwandfrei, füge ich nun die Windows-Schlüsselwörter (rot markiert) hinzu kommt bei der Ausführung der Sitzungs- oder Einheitenfehler.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Schau dir mal das Schlüsselwort an:
    http://pic.dhe.ibm.com/infocenter/is...mstzwindow.htm
    Ganz so einfach ist es nicht. Was alles dazugehört erfährst du, wenn du per SDA mal ein Subfile-Window hinzufügst.
    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

  5. #5
    Registriert seit
    Aug 2013
    Beiträge
    19
    Asche auf mein Haupt - Kaum macht man es richtig, schon funktioniert es.

    Falsche Reihenfolge

    * Subfile bereinigen
    C EXSR $sflclr

    * Subfile füllen
    C EXSR $sflfill

    * Window ausgeben
    C WRITE window1

    * F-Tastenzeile ausgeben
    C WRITE fkey1

    * Schleife für die Verarbeitung der Subfile, bis F12 gedrückt wurde
    C DOU cfkey = #f12

    Richtige Reihenfolge

    * Window ausgeben

    C WRITE window1

    * F-Tastenzeile ausgeben
    C WRITE fkey1

    * Subfile bereinigen
    C EXSR $sflclr

    * Subfile füllen
    C EXSR $sflfill

    * Schleife für die Verarbeitung der Subfile, bis F12 gedrückt wurde
    C DOU cfkey = #f12

Similar Threads

  1. Subfile - Feld Anzeige
    By skywalker in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 12-02-14, 13:16
  2. Subfile
    By brittner in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-11-13, 15:24
  3. Subfile direkt durch SQL Statement füllen
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 14-11-13, 08:15
  4. Antworten: 1
    Letzter Beitrag: 15-05-03, 15:40
  5. Subfile auf letztem bearbeiteten Satz aufsetzen
    By Fertig in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-02-03, 11:28

Tags for this Thread

Berechtigungen

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