[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2007
    Beiträge
    295

    Question SFLCHCCTL mit Datenfreigabe?

    Hallo Leute ,

    ich baue mir gerade ein Prompt-Fenster welches ich per SFLCHCCTL bedienen lassen möchte.
    Mir ist da aber aufgefallen das man mit der Leertaste einen Satz markieren muss um ihn auszuwählen. Geht das mit der Datenfreigabe auch?
    Wenn ja wie muss ich mein DDS ändern?

    Code:
            R PMTWDWBC                  SFLCTL(PMTWDWBS)       
                                        SFLSNGCHC(*SLTIND)     
                                        CHCAVAIL((*COLOR GRN)) 
                                        CHCSLT((*COLOR RED))   
                                        SFLPAG(0014)           
                                        SFLSIZ(2048)           
    70                                  SFLCLR                 
    71                                  SFLDSPCTL              
    72                                  SFLDSP                 
    73                                  ROLLUP                 
    74                                  ROLLDOWN               
    75                                  SFLEND(*SCRBAR *PLUS)
    Code:
    A          R PMTWDWBS                  SFL           
    A            BSCHC1         1Y 0H      SFLCHCCTL     
    A*                                                   
    A            BSLINE        48A  O 02 04              
    A*                                                   
    A            BSPAR1    R        H      REFFLD(PAR)   
    A            BSPAR2    R        H      REFFLD(PAR)   
    A            BSPAR3    R        H      REFFLD(PAR)   
    A            BSPAR4    R        H      REFFLD(PAR)   
    A            BSPAR5    R        H      REFFLD(PAR)
    Vielen Dank im Voraus!
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das liegt in der Art dieser Auswahl begründet.
    Solche Steuerungen dienen eigentlich zur Mausbedienung, wobei die Auswahl durch ein Click auf das Element aktiviert wird.

    Da ich solche Auswahlen aber auch mit der Tastatur bedienen kann, wird eine Eintrag eben mit der Leertaste markiert.

    Dies ist i.Ü. vergleichbar mit Optionslisten in Windows-Programmen, die entweder mit der Maus oder eben mit der Leertaste ausgewählt werden.
    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

  3. #3
    Registriert seit
    Feb 2008
    Beiträge
    104
    Hallo,

    um mit Datenfreigabe weiterzukommen würde ich mit der Cursorposition arbeiten, sieht in etwa so aus:

    A RTNCSRLOC(&RCD &FLD)
    A CSRLOC(LINNBR POSNBR)
    A OVERLAY
    A SFLCSRRRN(&C1CREC)
    A ERASE(VTC200S1)
    A 52 SFLDSP
    A 51 SFLDSPCTL
    A 50 SFLCLR
    A 53 SFLEND(*MORE)
    A N53 PAGEDOWN(54)
    A*** ROLLDOWN(56)
    A C1REC 4S 0H SFLRCDNBR(CURSOR)
    A LINNBR 3S 0H
    A POSNBR 3S 0H
    A FLD 10A H
    A RCD 10A H
    A C1CREC 5S 0H

    im Programm:
    fVTC200D cf e workstn infds(fileds)
    f sfile(VTC200s1:rr1)

    d fileds ds
    d ftaste 369 369
    d csrloc 370 371B 0
    d sflanz 376 377b 0
    d sflnrtop 378 379b 0


    die Subroutine dazu:

    ************************************************** **************
    C csrpos begsr
    ************************************************** **************
    C csrloc div 256 linnbr
    C mvr posnbr
    C EndSr


    * sonst ENTER ---------------------
    c Other
    c exsr csrpos
    c EndSl


    und um dann den aktuellen SFL-Satz zu lesen und die Daten zu ermitteln:

    /FREE
    BegSr S30;

    chain C1CREC VTC200S1;
    If %found;
    /END-FREE

  4. #4
    Registriert seit
    May 2007
    Beiträge
    295

    Talking

    Okay, danke!
    Dann werd ich mal mit der Cursorposition arbeiten versuchen.

    MfG
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  5. #5
    Registriert seit
    May 2007
    Beiträge
    295
    So, ich habs mit der RRN des SFL-Cursors gemeistert:

    Code:
    A          R PMTWDWBC                  SFLCTL(PMTWDWBS)      
    A                                      SFLSNGCHC(*SLTIND)    
    A                                      CHCAVAIL((*COLOR GRN))
    A                                      CHCSLT((*COLOR RED))  
    A                                      SFLCSRRRN(&SFLREC)    
    A                                      SFLPAG(0014)          
    A                                      SFLSIZ(2048)          
    A  70                                  SFLCLR                
    A  71                                  SFLDSPCTL             
    A  72                                  SFLDSP                
    A  73                                  ROLLUP                
    A  74                                  ROLLDOWN              
    A  75                                  SFLEND(*SCRBAR *PLUS) 
    A                                      OVERLAY               
    A                                      CSRLOC(XXCLIN XXCPOS) 
    A                                      WINDOW(PMTWDWW0)
    Mit dieser RRN kann ich dann im Programm das SFL lesen und habe somit per Enter einen Satz ausgewählt.

    Code:
    C     SFLREC        IFGT      0                                    
    C     SFLREC        CHAIN     PMTWDWBS                           91
    C     *IN91         IFEQ      *OFF                                 
    C                   EVAL      XXPAR1 = BSPAR1                      
    C                   EVAL      XXPAR2 = BSPAR2                      
    C                   EVAL      XXPAR3 = BSPAR3                      
    C                   EVAL      XXPAR4 = BSPAR4                      
    C                   EVAL      XXPAR5 = BSPAR5                      
    C                   GOTO      ENDPGM                               
    C                   ENDIF                                          
    C                   ENDIF
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

Similar Threads

  1. Frage zu SFLCHCCTL
    By a.wojcik in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 18-01-08, 13:41
  2. EXFMT ohne Datenfreigabe
    By Stefan12 in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 21-09-04, 09:35
  3. ASCII Wert für Datenfreigabe
    By EDV-NEW-MEDIA in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 09-04-02, 11:40

Berechtigungen

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