[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    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

  2. #2
    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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  4. #4
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  7. #7
    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..

  8. #8
    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

  9. #9
    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

  10. #10
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Hatte mal ein ähnliches Problem, nur das da die Felder in der Datei nicht zusammen standen. Ungefähr so: (Feldgruppe auf TBxx)
    Code:
    A      TB01    3S 0
    A      Felda  10  
    A      Feldb  11 
    A      Feldc  12
    A      TB02    3S 0
    A      Feld ...
    A ...
    A       TB03   3S 0
    A ...
    Da habe ich mich entschieden die E DS zu entfernen und
    deine erste Methode genommen.

    Zum Glück war die E DS 'nur so' an dem Pgm, einen Grund wie z.B. clear Satzformat gab es nicht.

    Ich hätte sonst weder Pointer noch Qualified verwenden können.
    Oder???


    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Auch dann wäre es gegangen, auf welcher Ebene du den Dim angibst ist doch egal:

    d MyDsPtr S * inz(%addr(abtb01))
    d MyDs ds based(MyDsPtr) dim(5) qualified
    d tbx like(tb01)
    d feld like(felda) dim(3)

    MyDs(n).tbx verweist auf TB01 - TBnn
    MyDs(n).feld(1) verweist auf Felda-Feldx
    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

  12. #12
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    puuu

    den muß ich erst mal begreifen ...

    Die DS als Feldgruppe
    und die Felder FELD1, Feld2 und Feld3 (sofern sie gleich sind)
    auch als Feldgruppe oder eben einzelnd.

    und
    MyDs(n).tbx verweist auf TB01 - TBnn

    Ok,
    echt mal was dazugelernt ...

    Danke
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

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
  •