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

    Felder in mehreren DS verwenden

    Hallo
    ich habe eine Datei die u.a. 5 TextbausteinNr. enthällt.

    Diese Datei ist auch als externe DS am Pgm, (z.B. für Clear Satzformat)

    Meine 'Feldgruppendefinition'

    Code:
    D tbds    ds
    D   abtb01
    D   abtb02
    D   abtb03
    D   abtb04
    D   abtb05
    D  abt         dim(5) like(abtb01) overlay(tbds)
    läuft un auf einen Umwandlungsfehler weil ABTB01 schon definiert ist.

    Hab ich was übersehen?
    Wieso kann ich nicht die Dateifelder als Feldgruppe definieren?

    (Ein BASE ON ...also eine Pointerlösung geht nicht, das ist hier nicht erlaubt)

    der ILEMax

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Diese Definition ist direkt hinter der externen DS anzugeben wobei die Positionen der redefinierten Felder zu beachten sind:

    D MYTABLE E DS
    D MYREDEF 100 119 <=== Positionen der Ursprungsfelder
    D MYAB LIKE(ABTB01) DIM (5) OVERLAY(MYREDEF)

    RPG erlaubt eben eindeutige Namen nur 1 x über alle Grenzen.

    Mittels qualified kann man ja Eindeutigkeit schaffen, dann kommt man aber um den Move hin und zurück nicht herum.
    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
    Nov 2003
    Beiträge
    2.403
    Diese Felder werden vermutlich schon durch die externe Datenstruktur definiert.

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    425
    Danke euch Beiden,

    ja, die Definition ist durch die E DS schon da.

    RPG erlaubt eben eindeutige Namen nur 1 x über alle Grenzen.
    Das ist (meiner Meinung nach) Mist
    Man braucht doch immer wieder ein und das selbe Feld in zig zusammenhängen.

    Also werd ich nochmal nach der Erlaubnis für Pointer fragen und dann das ganze mit 5 eval's lösen..

    Das Leben könnte so schön sein ...

    Der ILEMax

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von ILEMax Beitrag anzeigen
    ja, die Definition ist durch die E DS schon da.

    Das ist (meiner Meinung nach) Mist
    Man braucht doch immer wieder ein und das selbe Feld in zig zusammenhängen.
    Das ist schon richtig so, sonst würde ja keiner wissen ob du das Feld von der externen Definition meinst oder irgendein anderes.
    Du kannst ja mit Qualified arbeiten. Dann kann es das Feld öfters geben.
    (Natürlich immer nur mit einer DS mit Qualified)

    lg Andreas

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Auch wenn das deiner Meinung nach Mist ist, das war bei RPG schon immer so.

    Wenn du dir die Auflösung deiner externen DS im Spool anschaust, kannst du doch locker eigene D-Zeilen hinter die DS stellen, die Redefinitionen vornimmt!
    Schließlich generiert der Compiler die D-Zeilen der Struktur auf die man dann Bezug nehmen kann.

    Warum ist das so schwer?
    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

  7. #7
    Registriert seit
    Sep 2005
    Beiträge
    425
    das war bei RPG schon immer so.
    Das macht es nicht besser!

    kannst du doch locker eigene D-Zeilen hinter die DS stellen, die Redefinitionen vornimmt!
    Schließlich generiert der Compiler die D-Zeilen der Struktur auf die man dann Bezug nehmen kann.

    Warum ist das so schwer?
    Oh man, ich steh auf'm Schlauch!
    Ich verstehe überhaubt nicht, was du meinst.

    Doch sicher NICHT das ich mit FESTEN Positionsangaben die DateiDS überlagere?

    (geht hier gar nicht, da sich alle paar Tage die Dateistrukturen 'wild' ändern, aber nur Pgmme angefasst werden, die die neuen Felder auch brauchen. Der Rest wird bei Projektaktivierung nur umgewandelt )

    Det ILEMax

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Aber genau das meine ich.
    Wenn sich die Dateistrukturen laufend ändern und dann nicht alle Programme gewandelt werden müsst ihr ja mit Levelcheck *NO arbeiten, sonst knallts ja fürchterlich.
    Damit aber bestehende Programme weiter arbeiten können, können neue Felder ja nur am Ende dazukommen.
    Somit bleiben die absoluten Positionen der Felder immer gleich.

    Was spricht also dagegen?
    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

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Nunja, mit Pointern ist das auch sehr einfach (ohne eval's):

    d MyDsPtr S * inz(%addr(abtb01))
    d MyDs ds based(MyDsPtr)
    d abtb like(abtb01) dim(5)
    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
    Sep 2005
    Beiträge
    425
    ne ne, levelcheck *yes ist an.

    und gewandelt wird 'alles' bei aktivierung in der Echtumgebung.

    Nur werden leider die Felder da zwischen geschoben, wo es der Chef haben will. Und das ist NIE am Ende.

    leider
    also fixe Pos. Angaben geht auf keine Fall

    also muß der alte Ewald ran..

  11. #11
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von ILEMax Beitrag anzeigen
    ne ne, levelcheck *yes ist an.

    und gewandelt wird 'alles' bei aktivierung in der Echtumgebung.

    Nur werden leider die Felder da zwischen geschoben, wo es der Chef haben will. Und das ist NIE am Ende.

    leider
    also fixe Pos. Angaben geht auf keine Fall

    also muß der alte Ewald ran..
    Würdest Du mit qualifizierten Datenstrukturen arbeiten, dann könntest Du mit EVAL-CORR arbeiten und die Unterfelder mit gleichem Namen auf einen Rutsch hin- und herschieben.

    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
    Sep 2005
    Beiträge
    425
    Danke Birgitta

    aber, wie schon in einem anderen Thread geschrieben stehe ich mit dem qualified Kram noch auf Kriegsfuß.

    hört sich gut an ...
    aber z.Zt. fehlt die Zeit das zu inhalieren.

    Hast du vielleicht einen Link, in dem das etwas erklährt wird. ?

    Vielleicht tu ich mir das am WE mal rein ...

    der ILEMax

Similar Threads

  1. iSeries mit mehreren virtuellen Instanzen
    By Christian.Hesse in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-11-06, 05:57
  2. SQL: Aus mehreren Feldern ein Datum erkennen
    By I0N in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 21-11-06, 12:44
  3. DS Übergabe
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 24-10-06, 08:44
  4. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  5. externe DS als Parameter übergeben
    By psd-400 in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 07-10-04, 12:06

Berechtigungen

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