[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Nov 2009
    Beiträge
    222
    Habe das gerade mal ein wenig probiert,
    mit "alter Table" geht das auf DDS beschriebene PF, das ist gut.
    Gelöschte Sätze werden mitgezählt, das ist schlecht.
    ein RGZPFM nummeriert neu durch, das wäre eine Katastrophe, dann wären ja alle abh. Dateien falsch!
    kann man das einstellen?

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von dibe Beitrag anzeigen
    Habe das gerade mal ein wenig probiert,
    mit "alter Table" geht das auf DDS beschriebene PF, das ist gut.
    Gelöschte Sätze werden mitgezählt, das ist schlecht.
    ein RGZPFM nummeriert neu durch, das wäre eine Katastrophe, dann wären ja alle abh. Dateien falsch!
    kann man das einstellen?
    Lass das! Spätestens bei der nächsten DDS-Änderung hast Du die Identity vergessen!

    Konvertiere die Tabelle nach DDL und füge dann die Spalte hinzu.
    Erstelle das SQL Skript über Reverse Engineering (ACS Wizard - Generate SQL oder SQL Stored Procedure GENERATE_SQL), achte darauf, dass CREATE OR REPLACE TABLE angegeben ist.
    Führe das SQL Skript aus ... und schon ist die Tabelle konvertiert! Wenn Du nur konvertierst und keine neuen Spalten einfügst brauchst Du noch nicht einmal die RPG-Programme mit Native I/O zu kompilieren.

    Aber Achtung: Vor der Konvertierung musst Du sicherstellen, dass Deine physische Datei keine ungültigen numerischen Daten (z.B. *Blanks) enthält, ansonsten gehen Dir Daten verloren.
    In der Bibliothek SYSTOOLS gibt es die Funktionen VALIDATE_DATA, VALIDATE_DATA_FILE und VALIDATE_DATA_LIBRARY mit denen Du auf ungültige numerische Werte prüfen kannst. Diese müssen zunächst korrigiert werden.

    Alle Daten und abh. Objekte bleiben erhalten und müssen nicht neu erstellt werden.
    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

  3. #3
    Registriert seit
    Nov 2020
    Beiträge
    418
    Ein RGZPFM ändert nicht die Nummer bei einer Identiy Spalte.
    ei Commit-Steuerung, wenn neu erstellte Sätze doch wieder mit Rollback entfernt werden, entstehen ebenfalls Lücken im Nummernkreis.
    Das ist aber völlig egal und hat auch niemandem zu interessieren, da die Nummern nicht für eine hübsche Lesbarkeit sondern für Eindeutigkeit und Integrität bei Fremdschlüsseln dienen.

    Ich verwende (meistens) sowieso nur noch BIGINT für die ID.
    Teilweise haben wir hier noch ein Denkschema von 1980 wo jedes Byte gezählt hat.
    Heute erzeugen wir durch dieses Denkschema nur langfristige Probleme, denn von der Performance merkst du da bei den Maschienen keinen Unterschied mehr.

  4. #4
    Registriert seit
    Nov 2009
    Beiträge
    222
    Vielen Dank!

    Konvertiere die Tabelle nach DDL und füge dann die Spalte hinzu.
    Erstelle das SQL Skript über Reverse Engineering (ACS Wizard - Generate SQL oder SQL Stored Procedure GENERATE_SQL), achte darauf, dass CREATE OR REPLACE TABLE angegeben ist.
    Führe das SQL Skript aus ... und schon ist die Tabelle konvertiert! Wenn Du nur konvertierst und keine neuen Spalten einfügst brauchst Du noch nicht einmal die RPG-Programme mit Native I/O zu kompilieren.
    Sie meinen sicher erst das Reverse Engineering, dann das hinzufügen in die Source / das Script?
    ACS habe ich. (zum Glück auf deutsch)
    Wie komme ich in den Wizzard?

    Dann muß ich einen unique Key auf die Datei legen, Key = die neue Spalte?
    Und trotz Aktualitätsprüfung brauche ich nicht Wandeln?

    Das mit dem RGZ probiere ich nochmal, m.e. war das eben so, warsch. heute abend.

    DiBe

  5. #5
    Registriert seit
    Nov 2020
    Beiträge
    418
    Zitat Zitat von dibe Beitrag anzeigen
    Das mit dem RGZ probiere ich nochmal, m.e. war das eben so, warsch. heute abend.
    Sollte das der Fall sein, so wäre das der IBM als Bug zu melden.
    Ein Reorg darf niemals den Inhalt von Datensätzen verändern.

    Im ACS gehst du über das Menü "SCHEMA", dort Rechts-Klick auf Schema --> Inkludierst die Lib --> gehst in den Bereich "Tabellen" Rechts-Klick auf die gewünschte Tabelle --> SQL Generieren.
    Es gibt auch eine SQL prozedur dafür
    https://www.ibm.com/docs/en/i/7.4?to...-sql-procedure

    Die Programme müssen umgewandelt werden.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... die Programme müssen nicht gewandelt werden, wenn man der PF einen anderen Namen verpasst und unter dem alten Namen eine DDS LF mit den Feldern der alten PF und den alten Keyfeldern anlegt. Der neue Kunstkey ist dann zusätzlich, die Applikation benutzt den alten Key, die Historie den neuen generierten Key.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Nov 2009
    Beiträge
    222
    Ein Menü Schema habe ich nicht.
    Ist es doch das falsche Pgm?Click image for larger version. 

Name:	ACS.JPG 
Views:	10 
Size:	109,6 KB 
ID:	629

  8. #8
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    Dietlinde,

    Du müsstest unter der Datenbank den Eintrag "Schemata" haben, der fehlt auf deinem Screenshot. Welche Version vom ACS hast Du im Einsatz. Sonst müsstest Du oben in der Auswahl einen Menüpunkt "Schemata" finden. Und dann so weiter wie es Andreas beschrieben hat.
    Name:  ACS1188.JPG
Views: 153
Size:  11,8 KB

    Nachtrag:
    unter Aktionen findet man den Eintrag Datenbank auch. Fehlt dieser, ist der ACS unvollständig geladen.
    kf

  9. #9
    Registriert seit
    Nov 2020
    Beiträge
    418
    Es kann sein, dass du eine alte Version vom ACS hast. Der Eintrag "Schemata" ist irgendwann dazugekommen (eigentlich schon seit einigen Versionen).

  10. #10
    Registriert seit
    Nov 2009
    Beiträge
    222
    ich habe hier 1.1.5.1

    Check for Update hat vorhin eine 1.1.8? (bin nicht sicher) angezeigt.
    jetzt geht der Punkt gar nicht mehr.
    Und ich konnte auch nur OK drücken, ein Update geladen hat er nicht.
    da muß ich wohl mal nachsehen woher ich eine aktuelle Version bekomme.

    Vielen Dank Euch!
    Dietlinde Beck

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die Version gibts native mit IBM ID von den IBM-Seiten.
    https://www.ibm.com/support/pages/ib...ient-solutions
    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. SQL index auf view
    By dibe in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 01-07-18, 16:27
  2. SQL View mit Index/Key
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 19-10-16, 18:53
  3. Antworten: 4
    Letzter Beitrag: 19-07-16, 11:44
  4. LF / SQL index
    By woodstock99 in forum NEWSboard Programmierung
    Antworten: 31
    Letzter Beitrag: 18-03-15, 13:29
  5. Cobol View und Index (V5R4)
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 29-12-14, 12:01

Berechtigungen

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