[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.812
    Bisher ist mir bezüglich API's nichts aufgefallen.

    Das einzige API, dass u.U. mal nicht kompatibel war, ist das Spool-API, da hier eine Varibale von 2-byte-binär (seit V2) auf 4-byte-binär (ab V5) erweitert wurde (Spool-Nbr).

    Neuere API's sind von IBM da etwas großzügiger konzipiert.

    Tja, und ansonsten wird man bei den Release-Notes (ggf.) darauf hingewiesen.
    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

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.947
    Hallo,

    IBM hat das folgende Statement angegeben:
    1. Werden in APIs zusätzliche Parameter hinzugefügt, geschieht dies am Ende der Parameter-Liste als optionale Parameter.
    2. Werden in Datenstrukuren zusätzliche Felder benötigt, werden diese ans Ende der Datenstruktur angefügt.
    3. Passen neue Felder zu keinem der bestehenden Formate, wird ein zusätzliches Format erstellt.

    Compatibility with future releases

    Birgitta
    Birgitta Hauser

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

  3. #3
    Registriert seit
    May 2004
    Beiträge
    476
    Also ich habe die von Birgitta vorgeschlagene Procedur mit dem API verwendet. Läuft "eigentlich" alles.

    Allerdings habe ich jetzt das Problem das meine Bildschirmdatei so groß ist das die 65535 Stellen der RCVVAR-Variablen nicht mehr ausreichen.

    Gibts eine Möglichkeit die Variable noch größer zu machen oder habe ich bei dem Api die Möglichkeit nur die Felder eines Formats zu ermitteln ?

    Um dieses Problem zu umgehen hab ich mir gedacht vielleicht einfach selbst zu Beginn des Programms einen DSPFFD auszuführen. Da gibts aber auch einen Haken. Während die Anzeige die Zeile und Spalte eines Feldes liefert, werden diese bei *OUTFILE nicht mehr zur Verfügung gestellt.

    Da kann man doch wohl mal wieder sagen IRGENDWAS IST IMMER

    Naja hoffentlich hat jemand ne Lösung.

    Vielen Dank für Eure Mühe

  4. #4
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von harkne Beitrag anzeigen
    .....
    Um dieses Problem zu umgehen hab ich mir gedacht vielleicht einfach selbst zu Beginn des Programms einen DSPFFD auszuführen. Da gibts aber auch einen Haken. Während die Anzeige die Zeile und Spalte eines Feldes liefert, werden diese bei *OUTFILE nicht mehr zur Verfügung gestellt.
    ....
    Hello,

    bist Du sicher?
    Bei mir klappt das.

    kuempi

  5. #5
    Registriert seit
    May 2004
    Beiträge
    476
    Yep bin ich mir sicher. Während die Anzeige des DSPFFD die Zeile und Spalte anzeigt werden diese beim DSPFFD *OUTFILE nicht geliefert.
    An welcher Stelle der Datei stehen die Werte. Also nach bzw. vor welchem Feld stehen die Informationen ?

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.434
    Die gesuchten Werte stehen in den Spalten WHDROW und WHDCOL der erstellten Ausgabedatei.

  7. #7
    Registriert seit
    May 2004
    Beiträge
    476
    Also wir haben V5R3M0, die Ausgabedatei die über DSPFFD erstellt wurde hat die Felder nicht

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.434
    Vielleicht wurden sie wegoptimiert? Unter V5R2 sind sie noch da. Wie machst du den DSPFFD? Ist die Ausgabedatei vielleicht bereits vorhanden?

  9. #9
    Registriert seit
    May 2004
    Beiträge
    476
    Nein ist noch nicht da.

    Aber das mit dem wegoptimieren hört sich aber etwas grausam an. Es kann ja wohl nicht sein daß Felder im nächsten Release auf einmal nicht mehr da sind. Dann gute Nacht für alle die diese Felder verwenden.

    Aber nochmals bitte auf das Ursprüngliche konzentrieren ;-)


    Das mit dem DSPFFD soll nur die letzte Möglichkeit sein und ist auch intern gar nicht abgesegnet. Eigentlich sollte es über die Prozedur welche das API beinhaltet laufen. Wie ich oben bereits geschrieben habe funktioniert dies auch bis zu dem Punkt wo die Bildschirmdatei zu groß wird und das was das API zurückgibt nicht in eine Variable passt. Deshalb nochmals meine Frage. Gibt es irgendeine Möglichkeit wie ich die Feldlänge länger als 65535 mache.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.812
    Da kann man sich ggf. mit Pointern helfen:

    D MyApi DS
    D Field1 ....
    :
    D FieldN ...

    D MyPtr s *
    D MyDs ds based(MyPtr)

    Da die Struktur der einzelnen Elemente ja immer die selbe Länge aufweist, kann man sich die Adresse des Elements ja ausrechnen:

    eval MyPtr = %addr(FieldN) + (N - 1) * %size(MyDs);

    So kann man sich dann von Eintrag zu Eintrag in einer Schleife durchhangeln.
    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

  11. #11
    Registriert seit
    May 2004
    Beiträge
    476
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Da kann man sich ggf. mit Pointern helfen:

    D MyApi DS
    D Field1 ....
    :
    D FieldN ...
    Das denke ich habe ich probiert.
    Ich denke Field1 ... FieldN machst Du alle 65535 groß. Aber da liegt der Hund begraben.

    Ich habe es wie folgt definiert

    PHP-Code:
    D RcvVar          ds                       
    d  Dummy1                    65535         
    d  Dummy2                    65535 
    Und dann bringt er mir bei der Umwandlung folgenden Fehler:

    PHP-Code:
    Msg-ID  Sv Nummer Folge   Nachrichtentext                                          
    RNF0501 20     68 006800  Länge des Zeicheneintrags RCVVAR überschreitet 65535
    für
                              
    die Länge wird standardmäßig 65535 angenommen
    Oder ich habe was an Deiner Ausführung falsch verstanden

Similar Threads

  1. DTAQ Attribute auslesen
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 28-11-06, 06:48
  2. Spoolfile Attribute unter V5R4
    By Weki in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-10-06, 12:40
  3. Spoolfile Attribute im CL ermitteln
    By asb_salem in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 21-03-06, 14:32
  4. Status Zeile im Display
    By GEGE in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-02-05, 08:45
  5. Meldungen im Display
    By chr in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 12-02-01, 16:55

Berechtigungen

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