[NEWSboard IBMi Forum]
Seite 2 von 3 Erste 1 2 3 Letzte
  1. #13
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Die Situation, dass das der Hintergrund verschwindet, sobald ein weiteres Fenster aufgemacht wird ohne zuvor in dem "Haupt-"Programm den Bildschirm erneut angezeigt zu haben (EXTFMT) ist alt bekann.
    An dieser Stelle wird sich auch nichts mehr ändern, da der Stand der "green Screen"-Entwickung "stabilisiert" ist.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #14
    Registriert seit
    Jun 2001
    Beiträge
    1.979
    @ mit Read lesen nach Systemwechsel

    Bin zwar kein Cobolaner, denke aber, wenn du die Datei zu macht und neu öffnest sollte das gehen.
    Wir nutzen für diese Dinge (Für alle Dateizugriffe) 'Leseprogramme'.
    D.H. ein PGM liest/schreibt Datei A System A, ein anderes Datei A System B
    (SQL: Connect to ...)

    So können wir immer nach Bedarf die richtige Datei vom richtigen System lesen

    Ach ja, wenn wir nicht mit SQL zugreifen nutzen wir DDM Files dafür (aber auch mit Lesepgmmen)

    Robi

  3. #15
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Naja, ihr werdet doch auch noch eine Befehlseingabemöglichkeit haben. Da wo Du z.B. den strpdm eingibst gibst du dann den chgdspdf ein.BTW. Ich würde SQL-Aufrufe und normale Reads und writes nicht unbedingt kombinieren. Was spricht gegen ein SQL-Read?GG

  4. #16
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Nun werden hier mehrere Themen durcheinander geworfen:

    1. Der Standard-Default für CRTDSPF ist RSTDSP(*YES) zumindest auf allen Systemen die ich kenne.
    Wenn er anders ist, gibt's aus irgendwelchen Gründen einen CHGCMDDFT.
    Ein RSTDSP(*NO) führt mitunter zu seltsamen Verhalten. Wenn eine Programm an Stelle von EXFMT nur Write/Read's verwendet (in COBOL geht das gar nicht anders), kann es mitunter vorkommen, dass bei "Unterbrechungen" der Bildschirm nicht korrekt wiederhergestellt wird. Das Programm wartet auf einem READ aber man kann keine Eingabe mehr tätigen, nochnicht mal F-tasten werden akzeptiert.
    RSTDSP(*YES) verhindert dies.

    2. ASSUME war schon immer nötig, wenn ein Programm ausschließlich ein Fenster mit Window bedient.
    Jeder Open einer DSPF prüft, ob es bereits eine geöffnete DSPF im Callstack übergeordnet gibt. Dieser Inhalt wird beim Open gesichert und beim Close wiederhergstellt falls RSTDSP(*YES) im übergeordneten DSPF angegeben ist.
    Dies führt daher zu dem Verhalten, dass die 1. Anzeige des Fensters klappt, ab der 2. Anzeige meistens nicht. Hier hilft mitunter ein USROPN, so dass ich eben OPEN/CLOSE durchführen muss.
    Noch komplexer wird es dann mit mehreren Ebenen die alle nur Fenster verwenden.

    3. SQL und Native-IO haben nichts gemeinsam. Ein SQL-Connect hat ausschließlich für SQL Bedeutung, normale Datei-Befehle merken davon nichts. Früher (funktioniert heute auch noch) verwendete man im Einzelnen DDMF's mit OVRDBF. Allerdings ist hier die Grenze bei 16 gleichzeitigen Open's und die Voraussetzung SNAoverIP.
    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. #17
    Registriert seit
    Feb 2015
    Beiträge
    19
    Hallo alle miteinander
    Also auf jeden Fall vielen Dank für Eure Hilfe. Ist eine tolle Sache, das mit dem Forum.
    Das Problem des verschwundenen Hintergrund habe ich jetzt so gelöste, dass das erste Window kein Window mehr ist und jetzt funktioniert alles. Hat mich zwar schon gewurmt, dass zweifache Fenster nicht möglich sein sollen, aber ganz pragmatisch ist eine funktionierende Lösung halt das Wichtigste.

    Fuerchau: auch Dir besten Dank bez. SQL und Native IO, ok muss ich halt in diesen Fällen die SQL's einbauen.

    Schönes Wochenende und wenn ich wieder Probleme haben sollte, weiss ich ja jetzt, wohin ich mich wenden kann

    LG Günter

  6. #18
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Natürlich sind mehrere Fenster möglich.
    Aber du brauchst in jeder DSPF ein Format mit ASSUME.
    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

  7. #19
    Registriert seit
    Feb 2015
    Beiträge
    19
    Das habe ich auch und es funktioniert trotzdem nicht

  8. #20
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Das Problem ist, dass das 2. Fenster das 1. überlagert und den Inhalt sichert.
    Da du dich in COBOL bewegst, wirst du sicherlich noch mit OPM-Cobol also CBL als Typ arbeiten.
    Ändere den Typ mal in CBLLE und mache generell ein Open/Close.
    An der Quelle brauchst du im Gegensatz zu den RPG'lern nichts ändern.

    Manchmal hilft auch USRRSTDSP:
    http://www-01.ibm.com/support/knowle....htm?locale=de
    Damit wird der SAVE/RESTORE bei Fenstern vermieden.
    Wichtig ist natürlich, dass die rufenden Programme ihren Bildinhalt komplett selber wieder herstellen!
    Das ist mitunter bei Subfile's nicht so trivial um z.B. die aktuelle Seite oder den Cursor nicht zu verschieben.
    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

  9. #21
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Da ist mir ggf. noch was eingefallen.
    Wenn dem ggf. unbekannten übergeordneten Programm geholfen werden soll, kann auch folgendes API helfen:
    http://www-01.ibm.com/support/knowle...st.htm?lang=de

    Vorgehensweise:
    - Sichern des Bildschirminhaltes
    - Darstellen der Fenster mit USRRSTDSP
    - Wiederherstellen des gesicherten Inhaltes
    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
    Registriert seit
    Feb 2015
    Beiträge
    19
    Lieber Fuerchau
    Nochmals vielen Dank. Wie ich bereits sagte, habe ich das jetzt so gelöst, dass ich nur noch ein Fenster habe und es funktioniert. Sobald ich wieder etwas Luft habe, werde ich Deine Ratschläge ausprobieren.
    Schönen Tag noch
    Günter

  11. #23
    Registriert seit
    Feb 2015
    Beiträge
    19
    Jetzt habe ich noch eine Frage
    Ich muss aus meinem Cobol-Programm direkt via SQL lesen (weil ich via set-connect) in eine andere Systemumgebung gehe. Das habe ich so gelöst, dass ich das in einem Unterprogramm mache. Dort habe ich zwei Funktionen:
    1. Aufsetzen bei einem bestimmten Key
    EXEC SQL DECLARE CRSCTNO CURSOR FOR
    SELECT
    T01.SHORTN,
    T01.CTNO,
    T01.NAMPA1
    FROM VMKJF25001 T01
    WHERE T01.SHORTN >= :SQL-SHORTN
    FOR FETCH ONLY
    END-EXEC.
    2. Sequentielles witerlesen ab dem vorherigen KEY SQL-SHORTN
    Im vorherigen Cobol war dort einfach
    READ VMKJF25001 NEXT
    AT END MOVE 1 TO EOF
    Nun meine Frage: wie schaut den dieser Befehl im SQL aus, existiert dort in "Read next*
    Vielen Dank für Deine Hilfe
    Günter

  12. #24
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Nun da musst du mal ins SQL-Programmierhandbuch schauen.
    Kurz nur soviel:

    "declare ... Cursor " definiert einen Cursor, entspricht also dem COBOL-Select.
    Nun machst du nur noch
    open cursorname
    fetch Cursorname into ....
    Close cursorname

    Da du auch noch zu einer anderen DB willst benötigst du einen
    exec SQL connect ....
    mit RDB-Namen, User und Kennwort.

    Um zu Connecten benötigst du per WRKRDBDIRE den DB-Namen des Zielsystems.

    Host-Variablen müssen in COBOL zwischen exec SQL begin declare section end-exec und exec SQL end declare section end-exec eingebettet werden.

    Ggf. musst du per CRTSQLPKG die SQL's für das Zielsystem extrahieren wenn dies nicht automatisch passiert.
    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. Antworten: 7
    Letzter Beitrag: 13-01-15, 16:43
  2. 3488 Info Window II
    By hdw2 in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 18-07-14, 14:27
  3. Eingabe Subfile in einem Window
    By Tschabo in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 16-04-14, 16:20
  4. Alter Hintergrund bei aufgerufenem Window
    By Robi in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 14-11-13, 16:18
  5. DSPF / Window / Overlay
    By malzusrex in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 27-05-03, 10:05

Tags for this Thread

Berechtigungen

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