Anmelden

View Full Version : Eingabe Subfile in einem Window



Tschabo
16-04-14, 11:15
​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.

Fuerchau
16-04-14, 11:34
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.

Tschabo
16-04-14, 14:24
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.

Fuerchau
16-04-14, 15:07
Schau dir mal das Schlüsselwort an:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/rzakc/rzakcmstzwindow.htm
Ganz so einfach ist es nicht. Was alles dazugehört erfährst du, wenn du per SDA mal ein Subfile-Window hinzufügst.

Tschabo
16-04-14, 16:20
Asche auf mein Haupt - Kaum macht man es richtig, schon funktioniert es.

Falsche Reihenfolge :mad:

* 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