[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Hallo,

    es geht ja auch nicht um das Feld SUBUFG.
    Dieses Feld wird nur dazu benötigt um überlagert zu werden, bzw. damit sowohl die Felder UFG1 bis UFG13 druch die Feldgruppe UFG überlagert werden kann, bzw. diese Unterfelder als UFG(Index) angesprochen werden können.

    Ein numerisches Feld kann maximal 63P 0 definiert werden.
    Datenstrukturen bzw. überlagerte Felder (Ohne weitere Angaben werden immer als Alpha definiert) Deshalb gibt es ja auch des öfteren Probleme, wenn eine Datenstruktur mit numerischen Unterfeldern nicht initialisiert wurde.

    Was die Länge angeht, diese errechnet sich wie folgt:
    13 x 5P0 und für ein 5P0 Feld werden 3 Byte benötigt, ergibt also eine Gesamtlänge von 39 Byte.

    Das nächste Problem liegt darin, dass das Feld DSKUNDUMSA von Position 1-76 definiert wurde. Bei den gepackten Feldern und dem Subfeld SUBUFG wurde keine Start-Position angegeben, d.h. diese Felder beginnen ab der nächsten nicht belegten Position innerhalb der Datenstruktur. SUBUFG beginnt also ab Position 77. (Deshalb auch die Fehlermeldung, dass die Länge nicht übereinstimmt!) Wenn das Feld SUBUFG innerhalb der Datenstruktur an einer bestimmten Position beginnen soll, ist entweder die Startposition und End-Position erforderlich, oder die Angabe des Overlay-Schlüssel-Wortes.

    Ich weiß nicht, ob und in wiefern Du das Feld DSKUNDUMSA benötigst. Wenn es nur notwendig ist um die Länge der Datenstruktur zu definieren kannst Du darauf völlig verzichten und die Länge direkt in der Zeile mit der DS-Definition.

    PHP-Code:
    DKUNDUMSADS       DS            76                                       
    D DSKUNDUMSA                    76A   Overlay
    (KUNDUMSADS1)             
    D Jahr                           4P 0 Overlay(KUNDUMSADS3)             
    D SUBUFG                              Overlay(KUNDUMSADS5)             
    D   UFG1                         5P 0 overlay(SUBUFG)                    
    D   UFG2                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG3                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG4                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG5                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG6                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG7                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG8                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG9                         5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG10                        5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG11                        5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG12                        5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG13                        5p 0 overlay(SUBUFG:*NEXT)              
    D   UFG                          5p 0 DIM(13overlay(SUBUFG
    Birgitta Hauser

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

  2. #2
    Registriert seit
    Nov 2007
    Beiträge
    371
    DANKE.
    MEINE JETZIGE DS

    DKUNDUMSADS DS 76
    Djahr 3 4 0
    D SUBUFG overlay(KUNDUMSADS:12)
    D UFG1 5P 0 overlay(SUBUFG)
    D UFG2 5p 0 overlay(SUBUFG:*NEXT)
    D UFG3 5p 0 overlay(SUBUFG:*NEXT)
    D UFG4 5p 0 overlay(SUBUFG:*NEXT)
    D UFG5 5p 0 overlay(SUBUFG:*NEXT)
    D UFG6 5p 0 overlay(SUBUFG:*NEXT)
    D UFG7 5p 0 overlay(SUBUFG:*NEXT)
    D UFG8 5p 0 overlay(SUBUFG:*NEXT)
    D UFG9 5p 0 overlay(SUBUFG:*NEXT)
    D UFG10 5p 0 overlay(SUBUFG:*NEXT)
    D UFG11 5p 0 overlay(SUBUFG:*NEXT)
    D UFG12 5p 0 overlay(SUBUFG:*NEXT)
    D UFG13 5p 0 overlay(SUBUFG:*NEXT)
    D UFG 5p 0 DIM(13) overlay(SUBUFG)



    jetzt kommt die Fehlermeldung:

    Länge des Eingabefelds überschreitet Größe der Feldgruppe;
    standardmäßig wird die Größe der Feldgruppe angenommen.

    ALSO UFG grösser als SUBUFG

    SUBUFG 39 lang
    wie kann ich das noch umgehen?????????????
    geht das überhaupt



    hmm.....

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.753
    D SUBUFG 39 overlay(KUNDUMSADS:12)

    Du hast die Länge vergessen, so dass die Restlänge angenommen wird.
    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

  4. #4
    Registriert seit
    Nov 2007
    Beiträge
    371
    das geht micht

    die geliche Fehlermeldung.

    Ich kann doch SUBUFG nicht mit 39 definieren wenn ich 65P stellen einlese.

    ???? bin jetzt nur noch verwirrt

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Hallo,

    wie bereits erwähnt ist für das Feld SUBUFG KEINE Defintion erforderlich, d.h. das Feld ist allein durch die Überlagerung definiert.

    Der Fehler der jetzt auftritt hat zumindest nichts mit der Definition der Feldgruppe und der Datenstruktur-Unterfelder zu tun. Kopiere doch einfach Deine D-Bestimmungen in ein leeres Member und füge eine einzige C-Bestimmung hinzu (*INLR = *
    ON) und kompiliere das neue Member. Du wirst sehen das ist nicht der Fehler.

    Übrigens mein Beispiel von vorhin lässt sich ohne Probleme und ohne Fehlermeldung wandeln.
    Birgitta Hauser

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

  6. #6
    Registriert seit
    Nov 2007
    Beiträge
    371
    ich hab die unterfelder nicht 5P definieren müssen sondern 9p


    9p = 5 BYTE

    13 * 5 = 65

    UFG intern beschrieben 12-76 = 65 BYTE


    stimmt so oder

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.753
    Stimmt, wer rechnen kann
    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. DSPF - numerisches Feld mit Vorzeichen links
    By Tobse77 in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-02-08, 13:33
  2. Numerisches Feld rechtsstellen in DSPF
    By Tobse77 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 30-05-07, 12:47
  3. Alfa-Feld ----> Numerisches Feld
    By dino in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 30-11-06, 16:23
  4. ILE Feld in Feld ansprechen
    By jogisarge in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 10-05-06, 17:26
  5. Alpha-Feld in numerisches Feld
    By Mark_S in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 20-08-04, 12:53

Berechtigungen

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