[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2007
    Beiträge
    235

    Question SQL-Precompiler mitten in einer DCL-DS

    Guten Morgen wertes Forum.

    Ich bastle gerade an ein paar Programme welche denselben Copysource mit einer Datenstrukturdefinition includen.

    Beim letzten Programm knallt mir jedoch der SQL-Precompiler seine Copystrecken mitten in die DCL-DS (siehe Bild) und das dies nun nicht mehr zu compilieren ist versteh ich ...

    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Unbenannt.png 
Hits:	25 
Größe:	70,7 KB 
ID:	530

    Hat dies schon jemand gehabt bzw weiß wer wie ich das lösen kann (PTF etc) und/oder warum das der Precompiler so macht ?

    OS 7.2

    Vielen lieben Dank und Grüße
    Christian
    Grtx
    Christian
    Anwendungsentwickler und ein bissal Systemoperator

    https://github.com/prsbrc

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    761
    Hi,

    also die Fehlermeldung sagt das der END-DS fehlt.

  3. #3
    Registriert seit
    May 2007
    Beiträge
    235
    Jeb, da die SQLCA vor dem END-DS hinein gemogelt wurde :-)

    Code:
    **FREE
    
    /IF DEFINED (PARM_SET1)
    
    DCL-DS InParameters_Set1_Template TEMPLATE QUALIFIED;
      Company CHAR(3);
      Division CHAR(3);
      CustomerNumber CHAR(10);
      ItemNumber CHAR(10);
    END-DS;
    
    DCL-DS Parameter_Set1_Template TEMPLATE QUALIFIED;
      DCL-DS InParameter LIKEDS(InParameters_Set1_Template);
      OutParameter CHAR(130) DIM(27);
    END-DS;
    
    DCL-DS DynamicCallDS_Set1_Template TEMPLATE QUALIFIED;
      Parameters LIKEDS(Parameter_Set1_Template);
    END-DS;
    
    /UNDEFINE PARM_SET1
    
    /ENDIF
    Grtx
    Christian
    Anwendungsentwickler und ein bissal Systemoperator

    https://github.com/prsbrc

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.520
    M.E. ist der verschachtelte DCL-DS falsch!

    Versuch mal die Datenstruktur-Definition wie folgt zu ändern:
    Code:
    DCL-DS Parameter_Set1_Template TEMPLATE QUALIFIED;
      InParameter LIKEDS(InParameters_Set1_Template);
      OutParameter CHAR(130) DIM(27);
    END-DS;
    Birgitta
    Birgitta Hauser

    Contractor for Fresche Solutions Inc.
    Anwendungsmodernisierung, Beratung, Schulungen im Bereich RPG, SQL und Datenbank

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.520
    Sorry! Doppelt geposted

    Birgitta
    Birgitta Hauser

    Contractor for Fresche Solutions Inc.
    Anwendungsmodernisierung, Beratung, Schulungen im Bereich RPG, SQL und Datenbank

  6. #6
    Registriert seit
    May 2007
    Beiträge
    235
    Einen wunderschönen guten Morgen.
    Danke für den Hinweis. Des Fehler hab ich gestern auch schon entdeckt oder Fehler... unschönheit da sich die anderen Programme ja mit dieser Copystrecke komillieren lassen :-)

    Ich habe testweise die Definition folgendermaßen umgebaut sowie den INCLUDE in eine Prozedur verschoben:
    Code:
    DCL-DS DynamicCallDS_Set1_Template TEMPLATE QUALIFIED;
     DCL-DS Values;
      DCL-DS InParameter;
       Company CHAR(3);
       Division CHAR(3);
       CustomerNumber CHAR(10);
       ItemNumber CHAR(10);
      END-DS;
      OutParameter CHAR(130) DIM(27);
     END-DS;
    END-DS;
    Jedoch leider mit einem ähnlichem Ergebnis.
    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Unbenannt.png 
Hits:	2 
Größe:	60,5 KB 
ID:	531
    Nun knallt der Precompiler zwar nicht mehr die SQLCA hinein (die landet knapp vor der Main PROC - somit global) sondern die Arbeitsfelder SQL_00... zwischen dem OutParameter und END-DS. Scheinbar ein nicht lösbares Problem bei mir hier somit baue ich die Programme wieder auf nicht verschachtelte DS retour ... :-)

    Edit: Im Herbst gibts dann ein neues Blech dann versuch ichs mitn neuen Release erneut.
    Edit2: Easy cheesy Arrays anstatt DS und schon lässt es sich kompillieren.

    LG
    Grtx
    Christian
    Anwendungsentwickler und ein bissal Systemoperator

    https://github.com/prsbrc

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.520
    M.E. brauchst Du die verschachtelten DCL-DS nicht anzugeben.
    Versuch mal die Datenstruktur wie folgt zu definieren:
    Code:
    DCL-DS DynamicCallDS_Set1_Template TEMPLATE QUALIFIED;
      Values;
        InParameter                        Overlay(Values);
          Company        CHAR(3)           Overlay(InParameter);
          Division       CHAR(3)           Overlay(InParameter: *Next);
          CustomerNumber CHAR(10)          Overlay(InParameter: *Next);
          ItemNumber     CHAR(10)          Overlay(InParameter: *Next);
        OutParameter     CHAR(130) DIM(27) Overlay(Values: *Next);
     END-DS;
    Birgitta
    Birgitta Hauser

    Contractor for Fresche Solutions Inc.
    Anwendungsmodernisierung, Beratung, Schulungen im Bereich RPG, SQL und Datenbank

  8. #8
    Registriert seit
    Jul 2001
    Beiträge
    2.307
    Zitat Zitat von prsbrc Beitrag anzeigen
    Edit: Im Herbst gibts dann ein neues Blech dann versuch ichs mitn neuen Release erneut.
    Um neue Releases zu testen, musst Du nicht unbedingt auf ein neues Blech warten. Da gibt es doch externe Lösungen ;-)

    -h
    RZKH GmbH -- wir bunkern Ihre IBM i - Daten!
    www.RZKH.de
    Common / CEAC

  9. #9
    Registriert seit
    May 2007
    Beiträge
    235
    Guten Morgen in die Runde.
    Herzlichen Dank Birgitta für die Anregung. Habs so umgesetzt und läuft natürlich wunderbar :-)
    Dank auch an Holger für seine PUB400.

    greets
    Grtx
    Christian
    Anwendungsentwickler und ein bissal Systemoperator

    https://github.com/prsbrc

Ähnliche Themen

  1. Noch einmal: Update einer Tabelle mit Wert aus einer anderen
    Von Hubert im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 17-10-18, 14:55
  2. SQL-Precompiler
    Von DKSPROFI im Forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 19-10-17, 06:54
  3. Nutzung von **free RPG und SQL Precompiler wirft Fehler?
    Von Dominic K. im Forum NEWSboard Programmierung
    Antworten: 21
    Letzter Beitrag: 14-09-16, 15:43
  4. Antworten: 1
    Letzter Beitrag: 17-10-02, 13:32
  5. FTP auf einer 150er (4.5.0)
    Von PS im Forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-01-02, 12:13

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •