PDA

View Full Version : Fehler bei Subfile mit DSPF SHARE(*YES) zwischen 2 Programmen



alexk2013
10-09-14, 17:30
Hallo Forum,

ich bekomme beim Verwenden einer Subfile mit SHARE(*YES) eine Fehlermeldung beim Verarbeiten in einem zweiten Programm, das die Subfile, die durch das erste Programm erstellt und angezeigt wurde.

Dazu habe ich die Display File mit SHARE(*YES) umgewandelt.

Die SFL wird ordentlich angezeigt und es sind auch Daten vorhanden.

Das zweite Programm, das die aktive Subdatei (auch) verarbeiten soll erzeugt folgende Fehlermeldung:

Nachrichten-ID . . . . : RNQ1255 Bewertung . . . . . . : 99
Nachrichtenart . . . . : Anfrage
Sendedatum . . . . . . : 10.09.14 Sendezeit . . . . . . : 18:12:11

Nachricht . . . : Sitzungs- oder Einheitenfehler in Datei yyy
aufgetreten (C G D F).
Ursache . . . . : RPG-Prozedur xxx in Programm xxx hat bei
Anweisung 019300 einen Sitzungs- oder Einheitenfehler erkannt. Eine
Fehlerbehebung ist unter Umständen möglich. Anhand des Werts des
über-/untergeordneten Rückkehrcodes den spezifischen Fehler bestimmen, der

Vorher bekomme ich noch folgende Nachricht im Joblog:

Nachrichten-ID . . . . : CPF5013 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Hinweis
Sendedatum . . . . . . : 10.09.14 Sendezeit . . . . . . : 18:12:11

Nachricht . . . : Subdateianforderung für Datei yyy in Bibliothek
kann nicht verarbeitet werden.
Ursache . . . . : Die Subdatei ist nicht aktiv oder die maximal zulässige
Anzahl von 24 Subdateien ist aktiv und die Anforderung kann nicht
verarbeitet werden.


Die Bildschirmdatei ist im Programm, was die Datei nicht erstellt aber verarbeiten soll, ordentlich mit Subdatei und Satznummer als Combined Workstation deklariert.

Die Subfile adressiere ich mit Chain über Recordnumber und ist aktiv.

Was ist falsch?

Oder kann man Subfiles nicht sharen?

Viele Grüße

Alex

alexk2013
10-09-14, 17:51
Hallo Forum,

nun ich habe das Problem selbst gelöst: ACTGRP(*CALLER).

Das erste Programm lief standardmäßig in der *DFTACTGRP und das zweite in der QILE.
Ich habe also das zweite auf *CALLER umgestellt.

Viele Grüße

alex

B.Hauser
11-09-14, 06:42
Wenn beides ILE-Programme sind, solltest Du auf alle Fälle auch das erste in einer benannten (z.B. QILE) Aktivierungsgruppe laufen lassen.
Das zweite muss auf alle Fälle in der gleichen Aktivierungsgruppe sein wie das erste.
ILE-Programme in der Default-Activation-Group laufen zu lassen, kann zu unliebsamen Überraschungen führen! Z.B. falls jemand bzwl irgend ein Programm einen RCLRSC macht und in den ILE-Programmen vielleicht gebundene Module oder Service-Programme in denen F-Bestimmungen hinterlegt sind.

Birgitta