[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Sep 2004
    Beiträge
    4

    Eigene QTEMP für interaktives Programm?

    Hallo, kennt jemand eine Möglichkeit in einem interaktiven Programmablauf ein weiteres PGM aufzurufen und diesem eine eigene QTEMP zuzuweisen. Normalerweise würde dieses Programm ja auf die QTEMP des übergeordneten Programms zugreifen. Da aber mit einzelnen Programmen immer die selben Temporären Dateien erzeugt werden kommt es hier zu Problemen.

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... zum Glück nicht, sonst würden die Künstler, die diesen Dummfug zusammengeklimpert habem, noch größeren Dummfug zusammenklimpern.
    Works as designed, manchmal hat man eben Pech!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Sep 2004
    Beiträge
    4
    Ohne das entsprechende Hintergrundwissen warum das so ist sollte man nicht so urteilen. Die Programmierer haben sich dabei sehr wohl was gedacht.

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... das nennt man dann einen Fall von denkste! Sowas geht immer irgendwann schief - und dann werden die Anwender ausgeschimpft: "Sie wissen doch, dass Sie dieses Knöpfchen jetzt nicht drücken dürfen..."

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo,
    zum einen, ist die QTEMP überhauptkeinem Programm zugeordnet sondern nur den JOB.
    Wenn die einzelnen Programme eine eigene Umgebung benötigen kannst du sie auch mit SBMJOB übergeben.
    Es wäre nur zu beachten ob das in eurem Programmablauf überhaupt erlaubt ist.

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Es wäre nur zu beachten ob das in eurem Programmablauf überhaupt erlaubt ist.
    Streiche "erlaubt", setze "sinnvoll" ;-)

    -h

  7. #7
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von holgerscherer Beitrag anzeigen
    Streiche "erlaubt", setze "sinnvoll" ;-)
    Mit erlaubt hab ich eher gmeint ob die Programme überhaupt asynchron laufen darf. Stimmt aber, sinnvoll gehört auch dazu

  8. #8
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    ... um solchen Problemen vorzubeugen, sollte man auch in temporären Dateien/Tabellen in der QTEMP einen eindeutigen "Handle" einfügen in den Key mit aufnehmen.

    Jede Aufgabe (Programm/Prozedur), die Daten in diesen Tabellen verwendet für den Zugriff diesen "Handle".

    Vor dem Schreiben wird der nächte "Handle" ermittelt (Möglichkeiten hierzug gibt es diverse). Dieser Handle wird anschließend für den Zugriff auf die Daten als Schlüssel-Wert verwendet. Wird in mehreren Prozeduren aus der temporären Datei/Tabelle gelesen, muss der entsprechende "Handle" als Parameter übergeben werden.

    Die temporären Tabellen sollten bei einer solchen Vorgehensweise jedoch nicht gecleart werden, sondern jeweils nur die Daten mit dem gewünschten "Handle" gelöscht werden.

    Das Erstellen von "gleichen" Tabellen mit unterschiedlichen Namen und Overrides auf Aktivierungsgruppen-Ebene könnte auch funktionieren, vorausgesetzt, dass die unterschiedlichen Programme in unterschiedlichen Aktivierungsgruppen laufen. ... das Risiko, dass dabei wieder irgendwas schief geht ist extrem hoch.

    Deshalb würde ich für die "Handle"-Methode plädieren, sofern eine Batch-Verarbeitung nicht möglich ist.

    @Dieter
    Manchmal können auch die Programmierer nichts für solche Situationen. Hab' ich alles schon erlebt!
    In der ursprünglichen Version wurden bestimmte Programme im Batch ausgeführt und alles war OK. Doch dann kam ein DAU oder ein DAK, der nicht in der Lage war festzustellen, ob das Batch-Programm beendet ist und der darauf berharrte die Batch-Programme müssten interaktiv laufen. ... und schon wäre das Schlamassel perfekt gewesen, hätten wir nicht mit o.g. Handles gearbeitet.

    Birgitta

    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

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    @Birgitta:

    das sehe ich anders, sowohl das erste, wie das letzte. Benutzung temporärer Workfiles ist in > 95% ein ernsthafter Designfehler. Die Mächtigkeit von SQL z.B.: reicht bei weitem aus eben diese 95% aller Workfiles als View auf die aktiven Dateien darzustellen und das in einem Ratsch zu machen, was eine Stafette von 5 Programmen sich da zusammen wackelt, mit 1 Tag mehr an nachdenken, hätte man da überdies 5 Tage Programmierung eingespart und keinen Wackelhaufen produziert.

    Dieter
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von BenderD Beitrag anzeigen
    @Birgitta:

    das sehe ich anders, sowohl das erste, wie das letzte. Benutzung temporärer Workfiles ist in > 95% ein ernsthafter Designfehler. Die Mächtigkeit von SQL z.B.: reicht bei weitem aus eben diese 95% aller Workfiles als View auf die aktiven Dateien darzustellen und das in einem Ratsch zu machen, was eine Stafette von 5 Programmen sich da zusammen wackelt, mit 1 Tag mehr an nachdenken, hätte man da überdies 5 Tage Programmierung eingespart und keinen Wackelhaufen produziert.

    Dieter
    Es gab nun mal Zeiten, in denen SQL noch nicht so mächtig war, bzw. nicht eingesetzt wurde und viele Andwendungen sind halt auch schon ein paar Jährchen alt.

    ... manchmal hat man auch keine andere Möglichkeit als auf einem "gewachsenen Wackelhaufen" aufzusetzen! ...
    ... auch wenn man genau weiß, dass "grobe Designfehler" vorliegen und man sich dadruch, das man das auch noch laut ausgesprochen hat gewaltig unbeliebt gemacht hat.
    ... Und ein oder mehrere Programme mit ein paar 10.000 undokumentierten Code-Zeilen in Uralt-RPGII oder RPGIII würde ich auch nicht so auf die Schnelle neu schreiben können/wollen! (Ich hab' schon Programme gesehen, die liefen und keiner wusste warum!)

    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

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von B.Hauser Beitrag anzeigen
    ... auch wenn man genau weiß, dass "grobe Designfehler" vorliegen und man sich dadruch, das man das auch noch laut ausgesprochen hat gewaltig unbeliebt gemacht hat.
    ... genau deswegen halte ich es für wichtig, dass "außenstehende Experten" Murks auch eindeutig Murks nennen und nicht schönreden.

    D*B,

    der meint, dass man auch vor 20 Jahren schon auf gutes Design achten konnte.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Zitat Zitat von B.Hauser Beitrag anzeigen
    ... Und ein oder mehrere Programme mit ein paar 10.000 undokumentierten Code-Zeilen in Uralt-RPGII oder RPGIII würde ich auch nicht so auf die Schnelle neu schreiben können/wollen
    In ein paar Jahren kommen auf anderen Systemen ein paar 10.000 undokumentierte Code-Zeilen in Uralt-C oder C++ oder Uralt-Java dazu. Und auch da gibt's massenweise "gewachsene Wackelhaufen".

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 19:50
  2. Zu einem Programm die Service-Attribute ändern!
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 18-01-07, 15:06
  3. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  4. Antworten: 7
    Letzter Beitrag: 23-07-04, 07:29

Berechtigungen

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