[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2006
    Beiträge
    4

    Cursor in Subfile - Cobol

    Hallo an alle,

    ich habe hier ein Cobol-Programm, das eine Subfile ausgibt, die Eingabefelder beinhaltet. Der Anwender kann also Eingaben machen, die ich abprüfen muss.
    Das Einlesen der Subfile und prüfen der Felder klappt ja, aber was ich einfach nicht schaffe, ist, dass der Cursor genau auf dem Eingabefeld in dem bestimmten Subfile-Satz steht, wo die falsche Eingabe gemacht worden ist. Bei mir steht der Cursor immer auf dem 1. Satz in der Subfile. Kann mir da jemand weiterhelfen ?
    Vielen Dank schon mal im voraus
    Anette

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hello,

    man kann im DDS steuern, wo der Cursor stehen soll.
    Zauberwort ist DSPATR(PC).
    Wenn Du das dann noch per Bezugszahl an/aus schaltest in Deiner Fehlerroutine, kannst Du auf jedes gewünschte Feld hinsteuern.

    k.

  3. #3
    Registriert seit
    Jul 2005
    Beiträge
    18
    Hallo Anette,
    leider klappt das mit dem DSPATR(PC) nicht, wenn man mit einer Bezugzahl auf ein Subfilefeld in einem SFL-Format Bezug nehmen möchte.
    Meiner Meinung nach geht das nur in einem NICHT-SFL-Format.
    Grüsse, Hans

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    Ups... daran hatte ich gar nicht gedacht.
    Stimmt, der geht dann vermutlich immer auf das erste Feld mit der BZ.
    Mist...

    Sorry Anette.

    :-)

  5. #5
    Registriert seit
    Aug 2004
    Beiträge
    923
    Um so länger ich über die Geschichte nachdenke, um so mehr denke ich, dass es doch geht.

    Ich nutze für Subfiles manchmal eine andere Farbe um auf einen Fehler hinzuweisen!
    So wird eben das Feld X in einem Subfilerecord z.B. ROT angezeigt, wenn es fehlerhaft ist.

    Um die Konfusion zu vermeiden, dass durch die Bezugszahl ALLE Felder X in allen Subfilerecords ROT angezeigt werden, führe ich zusätzlich noch ein Feld hidden in der Subfile mit, um mir die Bezugszahl zu merken.

    Aufgrund des Inhaltes dieses Feldes setze ich vor jedem Schreiben des Satzes in die Subfile die Bezugszahl eben an oder aus.

    Wenn das für Farben geht, sollte es doch auch für Cursorpositionierung gehen...?

    hier mal ein Beispiel
    A R SFLFMT01 SFL
    A X1AUSW 1A B 6 2COLOR(WHT)
    A XXFELDX 2A O 6 33
    A N70 COLOR(GRN)
    A 70 COLOR(RED)
    A #70 1A H

    Gruss

    kuempi

  6. #6
    Registriert seit
    Jul 2006
    Beiträge
    11
    Hallo,
    man kann beim Schreiben des SFLCTL auch die gewünschte Subfile-Zeile mitgeben. Der Cursor wird dann auf diese Zeile gesetzt.

    Wenn es ganz genau sein muss, so kann man auch in der Display DDS mit CSRLOC Zeile und Spalte direkt mitgeben vom Programm aus.

    Tschüß Benedikt

  7. #7
    Registriert seit
    Mar 2005
    Beiträge
    74
    Hallo,

    die Cursorsteuerung erledigt man im DDS durch die Erweiterung SFLRCDNBR mit (CURSOR).

    Die letzte Satznummer, wo der Cursor stand, kann über SFLCSRRRN(var) ermittelt werden. Wenn sich der Cursor bei Datenfreigabe ausserhalb der Subfile befindet, kann über SFLSCROLL noch die erste Zeile der zuletzt angezeigten Seite ermittelt werden.

    Gruß
    M.Withake

  8. #8
    Registriert seit
    Jul 2006
    Beiträge
    4
    Das klappt tatsächlich mit DSPATR(PC) !! Den Cursor kann mann genauso wie Farben setzen, danke für den Tipp.

    Gruß
    Anette

Similar Threads

  1. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  2. Cobol <> RPGLE
    By Xanas in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-12-06, 13:38
  3. Cobol
    By Uli Müller in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 09-11-06, 09:21
  4. Subfile Drop
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-05-06, 13:56
  5. ILE Cobol: Satz löschen aus Subfile
    By rebe in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 16-04-04, 09:29

Berechtigungen

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