[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    105

    Unhappy STRQMQRY QMQRY und STRQM liefern '>>>>>' bei Summe eines Ergebnisfeld

    Meine Dateien sehen folgendermaßen aus:

    RBPSRC/QQMQRYSRC
    KR_LIZARQ
    Code:
    H QM4 05 Q 01 E V W E R 01 03 05/02/06 11:46                       
    V 1001 050 Lizenzabrechnung                                        
    V 5001 004 *HEX                                                    
    SELECT                                                             
      ALL       KDNRLA, PROGLA, TYPNLA, AUSFLA, ZARTLA, BENRLA, AARTLA, (RGBRLA),
                (RGNTLA), (NETTLA), LZVHLA, ((NETTLA*(LZVHLA/100)))    
      FROM      RBPFILE/LIZARP T01                                     
      WHERE     DTARLA = &DTARLA                                       
      ORDER BY  001 ASC, 011 ASC, 006 ASC, 002 ASC, 003 ASC, 004 ASC
    RBPSRC/QQMFORMSRC
    KR_LIZARQ
    Code:
    H QM4 05 F 01 E V W E R 01 03 05/02/06 11:46                         
    V 1001 050 Lizenzabrechnung                                          
    T 1110 012 006 1114 007 1115 006 1116 005 1117 005 1118 003 1113 062 
    R BREAK1  0                  1                                       
    R         0                  2                                       
    R         1                  3                                       
    R         1                  4                                       
    R         1                  5   ZART                                
    R         0                  6   BENR                                
    R         0                  7   AART                                
    R SUM     0      14    K02   8   SUMME_RGBRLA                        
    R SUM     0      14    K02   9   SUMME_RGNTLA                        
    R SUM     0      14    K02   10  SUMME_NETTLA                        
    R         0                  11  LZVH                                
    R SUM     0      21    K02   12  SUMME_LIZENZ                        
    V 1201 001 0                                                         
    V 1202 001 2                                    
    V 1301 001 2                                    
    V 1302 001 0                                    
    V 1401 002 NO                                   
    V 1402 004 2                                    
    V 1403 006 0                                    
    T 1410 001 003 1412 004 1413 006 1414 055       
    R 1    RIGHT  ENDSUMME                          
    V 1501 001 1                                    
    V 1502 003 YES                                  
    V 1505 003 YES                                  
    V 1503 003 YES                                  
    V 1508 003 YES                                  
    V 1507 003 YES                                  
    V 1510 003 YES                                  
    V 1202 001 2                             
    V 1301 001 2                             
    V 1302 001 0                             
    V 1401 002 NO                            
    V 1402 004 2                             
    V 1403 006 0                             
    T 1410 001 003 1412 004 1413 006 1414 055
    R 1    RIGHT  ENDSUMME                   
    V 1501 001 1                             
    V 1502 003 YES                           
    V 1505 003 YES                           
    V 1503 003 YES                           
    V 1508 003 YES                           
    V 1507 003 YES                           
    V 1510 003 YES                           
    V 3080 001 1                             
    V 3101 003 YES                           
    V 3102 002 NO                             
    V 3103 001 0                              
    V 3104 001 0                              
    V 3201 002 NO                             
    V 3202 004 2                              
    V 3203 006 0                              
    V 3204 001 1                              
    T 3210 001 003 3212 004 3213 006 3214 055 
    R 1    RIGHT  Kunde &1                    
    V 3080 001 2                              
    V 3101 002 NO                             
    V 3102 002 NO                             
    V 3103 001 0                              
    V 3104 001 0                              
    V 3201 002 NO                             
    V 3202 004 1                              
    V 3203 006 0                              
    V 3204 001 1  
    V 3080 001 3  
    V 3101 002 NO 
    V 3102 002 NO 
    V 3103 001 0  
    V 3104 001 0  
    V 3201 002 NO 
    V 3202 004 1  
    V 3203 006 0  
    V 3204 001 1  
    V 3080 001 4  
    V 3101 002 NO 
    V 3102 002 NO 
    V 3103 001 0  
    V 3104 001 0  
    V 3201 002 NO 
    V 3202 004 1  
    V 3203 006 0   
    V 3204 001 1   
    V 3080 001 5   
    V 3101 002 NO  
    V 3102 002 NO  
    V 3103 001 0   
    V 3104 001 0   
    V 3201 002 NO  
    V 3202 004 1   
    V 3203 006 0   
    V 3204 001 1   
    V 3080 001 6   
    V 3101 002 NO  
    V 3102 002 NO  
    V 3103 001 0   
    V 3104 001 0   
    V 3201 002 NO  
    V 3202 004 1 
    V 3203 006 0 
    V 3204 001 1 
    E
    Aufruf mit:
    Code:
    STRQMQRY QMQRY(RBPQUERY/KR_LIZARQ)
       OUTPUT(*PRINT)
       QMFORM(RBPQUERY/KR_LIZARQ)
       SETVAR((DTARLA 20050601))
    Bei dem Ergebnisfeld SUMME_LIZENZ (NETTLA*(LZVHLA/100)) stehen bei den einzelnen Positionen auch die richtigen Werte drin, aber beim Gruppenwechsel KDNRLA steht anstatt der Summe nur >>>>>>>>>>>>>>>>>>>>>.

    Auch bei STRQM (Query Manager) kann ich die Felder zwar Formatieren, allerdings werden bei der Summe wieder nur >>>>> angezeigt.


    Das habe ich im Benutzerhandbuch gefunden:
    If aggregation overflow occurs, the value in the field is represented by ">>>>" for the width of the column.
    Also ist das Feld zu klein definiert. Ich habe das Feld allerdings nicht selbst definiert, sondern es von Query/400 automatisch ermitteln lassen.
    NETTLA hat eine größe von 9 2
    LZVHLA hat eine größe von 5 2
    Hieraus hat Query/400 das Ergebnisfeld LIZENZ mit der Länge von 14 4 erstellt.

    Bei den positionen kommt er anscheinend mit der Länge zurecht, aber nicht bei der Summe.....
    Ich habe schon versucht, das Feld manuell auf 30 4 zu erweitern -> ohne Erfolg.

    Was habe ich falsch gemacht bzw. nicht beachtet?
    Weiß einer von euch Rat??

    LG, woki

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Ich denke, du musst das Positionsergebnis per Cast verkleinern:

    (dec ((NETTLA*(LZVHLA/100)), 6, 2))
    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
    Apr 2004
    Beiträge
    105
    Zitat Zitat von Fuerchau
    Ich denke, du musst das Positionsergebnis per Cast verkleinern:

    (dec ((NETTLA*(LZVHLA/100)), 6, 2))
    genau das war es, vielen Dank!!!!!

Similar Threads

  1. STRQMQRY in einem CL-Programm/ FEHLER QWM2701
    By polo in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 16-10-06, 12:31
  2. strqm 2* geht nicht
    By Robi in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 02-08-06, 15:11
  3. STRQMQRY Prompt
    By Elei in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 20-06-06, 13:51
  4. QMQRY in CL Programm
    By Hubert in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 11-05-05, 13:25
  5. Ergebnisfelder mit STRQMQRY
    By Jenne in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 08-03-05, 14:12

Berechtigungen

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