[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    MCH3601 bei CRTRPGSQLI

    Hallo zusammen,

    es soll natürlich CRTSQLRPGI heißen.

    ich bekomme beim Kompilieren meiner SQLRPGLE-Quelle einen MCH3601. Ich habe keine Ahnung wo ich anfangen soll zu suchen.

    Beim Abbruch bringt er
    Ausgangsmodul GRPFSTST
    Ausgangsprozedur check_nullind_consistency
    Nachricht: Zeiger für angegebene Position nicht gesetzt
    Ursache: Es wurde ein zeiger, entweder direkt oder als ein Basiszeiger verwendet, für den keine Adresse festgelegt worden war

    Umwandlung gestoppt. Interner Fehler aufgetreten

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Hast Du einmal geprüft, ob der Compile-Fehler auch auftritt, wenn Du den Quellentyp auf RPGLE änderst?
    Wenn Du dann auch den Fehler MCH3601 bekommst liegt das Problem bei Dir.

    Außerdem ...
    Es gab mal vor einiger Zeit das Problem, dass, wenn es keine globalen D-Bestimmungen gibt, die SQLCA an die falsche Stelle kopiert wurde. Vielleicht ist das Dein Problem.
    Versuch' einfach eine Dummy-Variable in den globalen D-Bestimmungen zu definieren und probier's dann nochmal.
    Ansonsten sind die Informationen, die Du uns gegeben hast ein bisschen dürftig.
    Ohne den vom Precompiler generierten RPG-Code zu sehen ist es da schwierig auch nur irgendetwas zu sagen.
    Ansonsten ist das wahrscheinlich ein Bug, den Du der IBM melden solltest.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    May 2004
    Beiträge
    444
    Ich hab den Fehler gefunden. Aber da kann der einem das doch ganz normal mitteilen und nicht gleich irgendwelche Abbrüche melden und Probleme in der Qsysopr bringen mit Softwareproblemdaten für QRN4MAIN protokolliert.

    Also das Problem war folgendes:

    Die fehlerhafte RPG-Anweisung die das ausgelöst hat: eval %nullind(Dateifeld) = IsNullVal(%char(Anderes Dateifeld))

    IsNullVal ist eine eigene Funktion die im ersten Parameter ein 10 character feld erwartet und options(*nullind) hat. Das Feld das ich aber angegeben hatte (Anderes Dateifeld) war ein 2-stellig numerisches Feld aus einer anderen Datei. Durch das Kopieren hatte ich vergessen dies zu ändern.
    Aber trotzdem finde ich den Abbruch ziemlich heftig.

Similar Threads

  1. MCH3601 - ZEIGER FÜR ANGEGEBENE POSITION NICHT GESETZT
    By Dominic K. in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 22-05-17, 17:34
  2. MCH3601 in Prozedur
    By Hubert in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 27-04-07, 10:33
  3. MCH3601
    By HPKahn in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 30-01-07, 14:22
  4. Antworten: 4
    Letzter Beitrag: 23-02-06, 16:01

Berechtigungen

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