[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    Record/Satz ändern

    Hallo,

    beim Durchstöbern des Forum habe ich mal einen Eintrag von B.Hauser gelesen, wo Sie einen Codesnipes angeführt hatte.
    Dort hat Sie von einer Datei 2 Sätze über eine Datenstruktur verglichen ob er sich verändert hat.

    Bei uns werden alles Felder in neue einzelne Hilfsfelder abgespeichert und dann wieder zurück überwiesen.

    Hat jemand für mich ein kurzes Beispiel, finde einfach den Beitrag von der Frau Hauser nicht mehr.

    Dank im Voraus

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    759
    Hallo,

    mit dem Suchbegriff LIKEDS findest Du Brigittas Beitrag sicher wieder...

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Eventuell auch mal nach EXTNAME suchen.

  4. #4
    Registriert seit
    Apr 2012
    Beiträge
    360
    Nach den Schlüsselwörtern hatte ich leider schon gesucht(array, vergleichen, etc.)

  5. #5
    Registriert seit
    Feb 2009
    Beiträge
    391
    Du mußt an das Schlüsselwort PREFIX denken, sonst bekommen die Felder die gleichen Namen und überschreiben sich gegenseitig. Das ist das wichtige.
    Wenn die Records ggf. unwichtige Metadaten etc. beinhalten mußt Du ggf. diese Felder für den Vergleich ausschließen.
    Also suche mal nach "PREFIX"

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Chris.jan Beitrag anzeigen
    Du mußt an das Schlüsselwort PREFIX denken, sonst bekommen die Felder die gleichen Namen und überschreiben sich gegenseitig. Das ist das wichtige.
    Wenn die Records ggf. unwichtige Metadaten etc. beinhalten mußt Du ggf. diese Felder für den Vergleich ausschließen.
    Also suche mal nach "PREFIX"
    Aber nur dann, wenn nicht mit qualifizierten Datenstrukturen gearbeitet wird und die Ausgabe nicht direkt in eine Datenstruktur erfolgt!

    Bei Prefix muss man außerdem noch darauf achten, dass der neue Feld-Name 10 Stellen nicht überschreitet. Eine Übernahme mit EVAL-CORR ist in Verbindung mit PREFIX (ohne Qualifizierte Datenstruktur) nicht möglich.

    Mit LIKEREC werden die Datenstrukturen automatisch qualifiziert, mit EXTNAME muss das Schlüssel-Wort QUALIFIED angegeben werden.

    Qualifizierte Datenstrukturen sind wesentlich flexibler als PREFIXierte Felder. Aus diesem Grund verwende ich seit Release V5R2 (fast) ausschließlich qualifizierte Datenstrukturen.

    Birgitta
    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

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Ich denke Du solltest eher nach LikeRec suchen.

    Und hier hast Du auch Birgittas Beispiel:
    http://newsolutions.de/forum-systemi...rgleichen.html
    kf

  8. #8
    Registriert seit
    Feb 2009
    Beiträge
    391
    Guter Einwand Birgitta. Leider haben mich jahrelanges Pochen auf Abwärtskompatibilität (diverse /copy und Datums-DS) seitens meiner Chefs immer von qualifizierten DS abgehalten. Ich fürchte das gilt immer noch für den Großteil der Anwendungen.

    Man kann bei Prefix allerdings auch die Anzahl der Stellen angeben, die vor dem Voranstellen des neuen Prefixes erst noch entfernt werden sollen. Aber ein Limit auf 10 Stellen habe ich noch nie erlebt. Längere selbsterklärende Prefixe wie "alt_" etc. habe ich da des öfteren benutzt. Wo genau gilt das Limit auf 10 Stellen denn genau?

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    In Ilerpg ist das Limit jetzt bei 120 Zeichen!
    Ist der Name länger als für die D-Zeile definiert, setzt man die Definition mit "..." fort:

    D DasIstMeinLangerName...
    D __________ 100
    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
    Registriert seit
    Apr 2012
    Beiträge
    360
    Hallo Frau Hauser,

    leider habe ich Ihren Beitrag immer noch nicht gefunden.
    Sie habe da mal ein Beispiel angeführt, wo Sie mit 2 Datenstrukturen in EINER Datei verglichen haben, ob sich der Satz verändert hat.

    Hätte Sie ein Beispiel für mich?

    Dank im Voraus

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Fuerchau Beitrag anzeigen
    In Ilerpg ist das Limit jetzt bei 120 Zeichen!
    Ist der Name länger als für die D-Zeile definiert, setzt man die Definition mit "..." fort:

    D DasIstMeinLangerName...
    D __________ 100
    Bei Feldnamen aus Dateien, die in den F-Bestimmungen definiert wurden ist das Limit weiterhin 10 Zeichen. Es sei denn man gibt in Release 7.1 das Schlüssel-Wort ALIAS an, dann können Spalten-Namen mit bis zu 128 Zeichen (Maximale Länge von SQL-Namen) verarbeitet werden, jedoch nur dann, wenn die Ausgabe in eine Datenstruktur erfolgt.

    Das mit den 120 Zeichen ist wohl ein bisschen untertrieben. Mich würde ja mal interessieren, wo Du das her hast!
    Variablen- und Prozedur-Namen können mit bis zu 4.096 Zeichen definiert werden und das nicht erst seit Release V5R1!
    ... zugegeben 120 Zeichen lange Namen sind auch ausreichend

    Birgitta
    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

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dass die PF die Beschränkung hat ist mir schon klar, aber beim Prefix(XXX) gibts die halt nicht.
    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

Berechtigungen

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