[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    425

    %xfood und qualified

    Moin

    habe eine DS

    Code:
    D_t_B_S           DS        qualified dim(45)
    Datum                 8s 0
    Text                 30
    Betrag                9s 2
    Sender                3
    und möchte ein %xfoot(d_t_b_s.betrag) machen

    anscheinend is die Syntax falsch.
    oder geht das nicht auf qualified und ich muß das 'mit der Hand am Arm' machen?

    Danke
    Der ILEMax
    Last edited by ILEMax; 05-09-24 at 09:36. Grund: 2 fehler korrigiert

  2. #2
    Registriert seit
    Nov 2020
    Beiträge
    418

  3. #3
    Registriert seit
    Sep 2005
    Beiträge
    425
    dim(45) stimmt

    xfoot mit T, nicht mit D, (heute anscheinend nicht mein Tag ...)
    (War im Pgm richtig, geht also immer noch nicht)

  4. #4
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    NEIN, funktioniert nicht. Du musst eine DO Schleife verwenden.

    Antwort von ChatGPT (sorry)
    "Ein qualifiziertes Datenstruktur-Array kann jedoch nicht direkt als Operand für %XFOOT verwendet werden, weil %XFOOT nur auf Arrays von numerischen Feldern angewendet werden kann."

    Oder Du verschiebst das Betragsfeld in einen separaten Array und machst da den XFOOT.

    Alles klar?

    p.s.
    ...und wenn Du dich selbst kasteien möchtest, nimm einen Pointer. Deine Nachfolger werden es dir danken.

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Wird ein Fehler gemeldet?

  6. #6
    Registriert seit
    Sep 2005
    Beiträge
    425
    RNF7591 ein Operand eines Ausdrucks für den qualifizierten Namen ist ungültig
    RNF0555 Parameter BETRAG für %XFOOT ist ungültig %XFOOT wid ignoriert

  7. #7
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Hier steht noch mehr...

    WRKMSGD MSGID(RNF7591) MSGF(QDEVTOOLS/QRPGLEMSG)
    WRKMSGD MSGID(RNF0555) MSGF(QDEVTOOLS/QRPGLEMSG)

  8. #8
    Registriert seit
    Sep 2005
    Beiträge
    425
    danke, aber nicht wirklich.
    *err suche im Spool bringt das auch
    und auf der Msg kann ich blätteren

  9. #9
    Registriert seit
    Nov 2020
    Beiträge
    418
    Ich fürchte du kannst diese Funktion nur direkt auf Felder die mit DIM deklariert wurden anwenden und nicht auf Sub-Felder einer DS mit DIM.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das Problem ist, dass die Felder der DS kein Array sind, sondern nur die DS.
    Um den Betrag zu einem Array zu machen, musst du die Overlay-Struktur anwenden:

    dcl-ds MyDs qualified;
    MyArray char(50) dim(100);
    F1 char(1) overlay(MyArray:1);
    F2 Char(5) overlay(MyArray:*next);
    W1 packed(11:2) overlay(MyArray:*next);
    end-ds;

    Sum = %xfoot(MyDs.W1);

    Durch das Overlay weiß der Compiler, dass die Felder dann wieder Arrays sind.
    Was i.Ü. auch z.B. für %sort() funktioniert.
    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. Datenstruktur Qualified
    By harkne in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 19-08-05, 13:06
  2. LIKEDS / QUALIFIED -> Werte von Datei in Struktur
    By HeiKauf in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 25-10-04, 13:08

Berechtigungen

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