[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    SubFile - Breite Anzeige

    Moin,

    ich habe ein DSPF. Darin gibt es ein Format mit 24*80.
    Des weitern habe ich ein SubFile mit 27*132. Das Subfile wird auch immer nur in dieser Breite angezeigt. Nur lässt er mich das File nicht wandeln, da er in das Subfile immer noch was von dem 24*80 einfügt, un der Meinung ist, das sich dann Felder überlappen würden.
    Bringe ich das Format von 24*80 auf 27*132, dann lässt er mich das wandeln. Ich möchte aber das Format nicht in der Minischrif haben.
    Gibt es einen Trick, der Kiste (as/400) begreiflich zu machen, das ich das SUbfile nicht in der kleinen Form (24*80) haben will?

    Ich hoffe das war jetzt einigermaßen verständlich
    Gruß
    Ronald

  2. #2
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hallo, habe das mal spasshalber ausprobiert und die DSPF geändert von
    A DSPSIZ(24 80 *DS3)
    auf
    A DSPSIZ(27 132 *DS4)
    funktioniert prima.
    Oder hab ich das falsch verstanden?

    k.

  3. #3
    Registriert seit
    May 2002
    Beiträge
    1.121
    Da hast Du mich jetzt glaube falsch verstanden. In Auszügen jetzt mal mein DSPF
    PHP-Code:
         A                                      DSPSIZ(27 132 *DS4                 -
         
    A                                             24  80 *DS3)                 
         
    A  *DS4                                MSGLOC(28)                          
         
    A  *DS3                                MSGLOC(24)                          
         
    A          R FORMAT1                                                       
         A                                      DSPMOD
    (*DS3)                        
         
    A                                      CA03                                
         A                                      CF09                                
    ------------ 43 Datensätze ausgeschlossen --------------------------------------
                                                                                    
         
    A          R SF1                       SFL                                 
         A            SF1_BB         4Y 0B  9128EDTCDE
    (4)                           
         
    A                                      COLOR(WHT)                          
         
    A                                      DSPATR(HI)                          
    ------------ 
    15 Datensätze ausgeschlossen --------------------------------------
                                                                                    
         
    A          R SF1C                      SFLCTL(SF1)                         
         
    A  *DS4                                SFLSIZ(0016)                        
         
    A  *DS4                                SFLPAG(0015)                        
         
    A  *DS3                                SFLSIZ(0016)                        
         
    A  *DS3                                SFLPAG(0015)                        
         
    A                                      DSPMOD(*DS4)                        
         
    A  92                                  SFLDSP                              
         A                                      SFLDSPCTL                 
         A  90                                  SFLCLR                    
         A                                      CA03
    (03 'Ende der Arbeit')
         
    A                                      SFLCSRRRN(&CSRRRN)        
         
    A                                      RTNCSRLOC(&SATZ## &FELD##)
         
    A            FELD##        10A  H                                
         
    A            SATZ##        10A  H                                
         
    A            POS1           4S 0H 
    Das FORMAT1 ist in 24*80 und soll auch so bleiben.
    SF1 ist 27*132. der SDA setzt in den Controllsatz immer noch folgende 2 Zeilen ein
    PHP-Code:
    A  *DS3                                SFLSIZ(0016
    A  *DS3                                SFLPAG(0015
    Selbst wenn ich diese lösche, kann ich es nicht umwandel. Werfe ich das Format1 aus dem Dsplyfile dann geht es, es funktioniert auch, wenn ich FORMAT1 auf 27*132 ändere. Das will ich aber nicht

    Ronald

  4. #4
    Registriert seit
    May 2002
    Beiträge
    2.642

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.278
    Eine Subfile kann nur entweder für DS3 oder DS4 definiert werden.
    Da musst du dich schon entscheiden.
    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

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Eine Subfile kann nur entweder für DS3 oder DS4 definiert werden.
    Da musst du dich schon entscheiden.
    Hatte ich ja schon, nur hat der mir unterstellt, das ich ja auch das andere nehmen könnte. Habe es jetzt halt mit 2 DSPF gelöst. In eine kommen alle 24*80 und in die andere halt die mit 27*132.

    Gruß
    Ronald

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.278
    Das ist sowieso der bessere Weg.

    Allerdings solltest du die DSPF's mit USROPN definieren.
    Wenn du z.B. eine Sitzung für 24x80 konfigurierst, wird bereits der Open mit CPF-Nachricht abgelehnt, nur weil die DSPF *DS4-Definitionen enthält !
    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

  8. #8
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo,

    hast Du es mal damit versucht, den DSPMOD mit Bezugszahl zu versehen?

    Ich hatte das gleiche Problem und es in einem Programm so gemacht:
    Code:
    A          R CMSD2002                                                    
    A N13                                  DSPMOD(*DS3)                      
    A                                      OVERLAY                           
    A                                 25  2'===>'                            
    A  *DS3                           22  2                                  
    A            D2CMD         73   B 25  7CHECK(LC)                         
    A  *DS3                           22  7
    Je nachdem, welches Format ich möchte, habe ich die BZ 13 geändert.

    Gruß,
    Christian

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.278
    Das klappt nur bei normalen Formaten, nicht jedoch bei SFL und SFLCTL.

    Und wie gesagt, wenn das Device kein 27x132 unterstützten sollte, wird bereits der Open abgelehnt !
    Daher ist die Lösung mit 2 DSPF's schon "eleganter".
    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. #10
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo,

    oh, man kann das schon in 1 DSPF unterbringen, habe ich schließlich selbst gemacht:
    Code:
    A          R CMSS1001                  SFL          
    A            S1AUSW         2A  B  8  2                                  
    A  81                                  DSPATR(RI PC)                     
    A                                      COLOR(BLU)                        
     *                                                                       
    A            S1PRJ     R           8  5REFFLD(CMPPRJ CMPRJ)              
    ...
    A          R CMSC1001                  SFLCTL(CMSS1001)                     
    A N13                                  DSPMOD(*DS3)                         
    A                                      CHANGE(25)                           
    A                                      RTNCSRLOC(&$RCD## &$FLD## &$RCP##)   
    A                                      RTNDTA                               
    A                                      OVERLAY PROTECT                      
    A                                      PUTOVR                               
    A                                      OVRDTA                               
    A                                      OVRATR                               
    A                                      SFLCSRRRN(&$CRNS1)                   
    A                                      SFLMODE(&$MODS1)                     
    A  43N44                               SFLDSP                               
    A N44                                  SFLDSPCTL                            
    A  44                                  SFLCLR                               
    A  45                                  SFLEND                               
    -*   Wenn SFL nur einzeilig ist, SFLDROP und SFLFOLD aussternen             
    A* 04                                  SFLDROP(CF04)                        
    A*N04                                  SFLFOLD(CF04)                        
    -*---Anz Zeilen auf dem Bildschirm--------------v                           
    A  *DS4                                SFLSIZ(0017)                         
    A  *DS3                                SFLSIZ(0014)                         
    -*---Anz SFL-Zeilen ungefaltet------------------v      
    A  *DS4                                SFLPAG(0016)    
    A  *DS3                                SFLPAG(0013)    
    ...
    A                                  3 78'Benutzer:'                
    A  *DS3                            3 58                           
    A            D1USR     R        O  3 89REFFLD(CMPUSR CMPRJ)       
    A  *DS3                            3 69
    Man muss allerdings darauf achten, dass in jedem Format (außer im SFL) die Zeile
    A N13 DSPMOD(*DS3)
    vorkommt.
    Dann stürzt das Pgm nicht ab, wenn der Bildschirm nur 80 Zeichen hat.

    Gegenüber 2 DSPFs hat dies den Vorteil, dass ich bei Änderungen nicht doppelt pflegen muss.

    Manche Sachen kann man allerdings so nicht machen, z.B. wenn die SFL-Felder bei 80-Zeichen eine andere Reihenfolge bekommen sollen.
    Ggf. hilft dann aber ein eigenes Format weiter, so dass nicht die komplette Quelle ausgetauscht werden muss - einen Tod muss man halt sterben.

    Gruß
    Christian

  11. #11
    Registriert seit
    May 2002
    Beiträge
    1.121
    Mein Problem war, das das erste Format (Einstieg in das Programm) ein 23x80 BS ist. Der SubFile war dann in 27x132 und wird immer nur in dieser Breite angezeigt. Jetzt war der aber der Meinung, es könnte ja auch das SubFile mal schmal angezeigt werden. Dabei würden dann Felder aus dem Control-Satz in den Bereich des SubFile kommen und überlagern. Damit hat er die DSPF schon gar nicht erstellt. Mit der Trennung der Formate in 2 Files läuft alles bestens.
    Ronald

Similar Threads

  1. SUBFILE ANZEIGE
    By takeoff/400 in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 09-02-07, 09:26
  2. Cursor in Subfile - Cobol
    By Anette in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 24-07-06, 20:52
  3. KEYED DATA QUEUES SUBFILE DESCEND RPGLE
    By borwegen in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-06-06, 09:04
  4. Subfile Drop
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-05-06, 13:56
  5. Antworten: 1
    Letzter Beitrag: 16-05-06, 08:43

Berechtigungen

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