[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jun 2015
    Beiträge
    336

    SQL-Fehler 0312

    Hallo !

    Diesen Fehler bekomme ich beim Übersetzen eines simplen SQLRPGLE.

    Offensichtlich ist dieser Fehler ja ein dehnbarer Begriff. Hat dennoch jemand
    das Problem auch schon gehabt ?

  2. #2
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Dann würde ich doch mal das simple Programm posten......

    Weil Glaskugel und so ist doof

  3. #3
    Registriert seit
    Jun 2015
    Beiträge
    336
    will ich gerne tun !

    ************************************************** ************************
    H**** Name - MCPPGDHIST ****
    H**** Function - Tägliche Bereinigung MCPPF2YJ / MCPPF5YJ ****
    H**** Author - AM (BMN) am 03.08.2016 ****
    H**** Copyright - AM (BMN) 2016 ****
    H**** letzte Änd. - ****
    H**** Release - 3.1 ****
    ************************************************** *************************
    H CCSID(*GRAPH : *SRC) CCSID(*UCS2 : 1200)
    H CCSID(*CHAR : *JOBRUN)
    ************************************************** *************************
    **‚ E r s t e l l u n g s o p t i o n e n
    ************************************************** *************************
    **GEN* BeginCreateOptions(SQLRPGLE)
    **GEN* BeginCompileOptions
    **GEN* SRTSEQ(*JOBRUN) LANGID(*JOBRUN) COMMIT(*NONE)
    **GEN* EndCompileOptions
    **GEN* BeginBindOptions
    **GEN* EndBindOptions
    **GEN* EndCreateOptions
    ************************************************** *************************
    **‚ H - Specs ... Allgemeine Headerbestimmungen
    ************************************************** *************************
    H/Copy ROTSFMODLE,ROTMDCPYR1
    ************************************************** *************************
    **‚ F - Specs ... Dateibestimmungen
    ************************************************** *************************
    ************************************************** *************************
    **‚ D - Specs ... Globale Deklarationen
    ************************************************** *************************
    **‚Globale Importe
    **================
    D/COPY ROTSFMODLE,ROTMD$DTIO
    D/COPY ROTSFMODLE,ROTMDSYSDS
    D/COPY ROTSFMODLE,ROTMD$0003
    D/COPY ROTSFMODLE,ROTMD$TIME
    D/COPY ROTSFMODLE,ROTMD$$UFA unit feedback area
    D/COPY ROTSFMODLE,ROTMD$$SFA SDS
    D/COPY ROTSFMODLE,ROTMD$0022 Standard arrays
    D/COPY ROTSFMODLE,ROTRHDLMSG
    ************************************************** *************************
    **‚Interne Konstanten
    **===================
    ************************************************** *************************
    **‚Interne Strukturen
    **==================
    ************************************************** *************************
    **‚Arbeitsvariablen
    **=================
    D LoeschDatum 6 0
    ************************************************** *************************
    **‚Redefinitionen für Nachrichten
    **===============================
    ************************************************** *************************
    **‚Interne Prozeduren
    **===================
    ************************************************** *************************
    D InitPgm PR N ExtProc('InitPgm')
    D DoPgm PR ExtProc('DoPgm')
    D LDatum Like(LoeschDatum)
    ************************************************** *************************
    **‚ H a u p t r o u t i n e - Mainline **
    ************************************************** *************************
    **
    /Free
    If InitPgm();
    Exsr $Rttim;
    Exsr $DatRue;
    DoPgm(LoeschDatum);
    EndIf;
    *InLR = *On;
    Return;
    /End-Free
    C************************************************* ************************
    **‚ Subroutinen **
    C************************************************* ************************
    C*/COPY ROTSFMODLE,ROTMDSYSCN
    C/COPY ROTSFMODLE,ROTMDDTD11
    C/COPY ROTSFMODLE,ROTMDDTD12
    C/COPY ROTSFMODLE,ROTMDERROR error handling rout
    C/COPY ROTSFMODLE,ROTMDRTTIM time preparation
    C/COPY ROTSFMODLE,ROTMDUSRAT user attach
    C************************************************* ************************
    C*04* $DATRUE - Vom Tagesdatum ein halbes Jahr rückrechnen ****
    C************************************************* ************************
    C $DATRUE BEGSR
    C*
    C* ein halbes Jahr zurückgehen
    C*
    C $006DT SUB 183 LoeschDatum
    C*
    C DATRUE$ ENDSR
    C************************************************* ************************
    **‚ DoPgm.. AHP-Datei bereinigen **
    ************************************************** *************************
    **žFunktionsschnittstelle€ €
    P DoPgm B
    D DoPgm PI
    D LDatum Like(LoeschDatum)
    **žInterne Variablen€ €
    **-------------------------------------------------------------------------
    //žSätze ein halbes Jahr zurück löschen (MCPPF2YJ)
    C/EXEC SQL
    C+ Delete from ALEX/MCPPF2YJ where CrdtYJ < :LDatum
    C/END-EXEC
    //žSätze ein halbes Jahr zurück löschen (MCPPF5YJ)
    C/EXEC SQL
    C+ Delete from ALEX/MCPPF5YJ where CrdtYJ < :LDatum
    C/END-EXEC
    /Free
    //žZurück zum Aufrufer:
    Return;
    /End-Free
    **-------------------------------------------------------------------------
    P DoPgm E
    C************************************************* ************************
    **‚ InitPgm ... Initialisierung des Programms **
    ************************************************** *************************
    ** Funktionsschnittstelle
    P InitPgm B
    D InitPgm PI N
    ** Interne Variablen
    **-------------------------------------------------------------------------
    /Free
    //žZurück zum Aufrufer:
    Return *ON;
    /End-Free
    **-------------------------------------------------------------------------
    P InitPgm E


    ANGEMECKERT wird im SQL-Delete-Statement das Feld LDatum !!!

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Mal so aus der Glaskugel:
    Variable &1 nicht definiert oder nicht verwendbar.

    Dies spricht zumindest auf ein Release vor V7, denn ab V7 gibts da nur noch später einen Laufzeitfehler.
    Ansonsten muss man sich jetzt halt mal um das generierte Spool kümmern. So ganz unwichtig sind die nämlich nicht.
    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

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Dann prüfe mal dein Spool wo und wie diese Variable definiert ist.
    Im Gegensatz zu RPG, wo ich Variablen auch am Ende definieren kann, benötigt SQL diese am Anfang.
    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
    Jun 2015
    Beiträge
    336
    genau - nicht definiert und verwendbar ist die Meldung !

  7. #7
    Registriert seit
    Jun 2015
    Beiträge
    336
    aber wir haben V7R1 !

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.243
    Dann passt der Typ der Variable LDatum nicht zum Tabellen-Feld "CrdtYJ".
    Vergleiche mal die Definitionen.
    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
    Aug 2001
    Beiträge
    2.875
    ... die Variable ist in einer Deiner vielen Copy-Strecken definiert (ansonsten würden wir sie sehen) und vermutlich ist die Copy-Strecke sogar mehrfach verschachtelt.
    Im Compile-Befehl hast Du Option RPGPPOPT (RPG-Vorprozessoroptionen) mit *NONE übergeben.
    Setze die Option mal auf *LVL1 oder *LVL2.

    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

  10. #10
    Registriert seit
    Jun 2015
    Beiträge
    336
    Auszug Dateibeschreibung:

    PLPSYJ Positionsnr.Planauf. 4 0
    MFLPYJ Planungs-KZ MCP 5
    DATEYJ Tagesdatum 6 0
    CRDTYJ Anlagedatum 6 0


    Definition Vergleichsvariable im Programm:

    D LoeschDatum 6 0

    und LDatum ist mit LIKE LoeschDatum definiert

  11. #11
    Registriert seit
    Jun 2015
    Beiträge
    336
    Hallo !
    hat leider nix gebracht. Aber die Variable ist schon in der Source zu sehen.
    Eine Variable heisst LoeschDatum und LDatum ist mit LIKE aus LoeschDatum entstanden.

  12. #12
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Soweit ich da sehe übergibst Du das Datum als Parameter.
    Versuch mal folgendens:
    Definiere zusätzlich eine lokale Variable für das Datum (gerne auch über LIKE), übertrage den Parameter-Wert in diese Variable und verwende diese Variable als Host-Variable im SQL

    Der Precompiler kann wahrscheinlich Variablen, die nur als Eingabs-Parameter über LIKE und Arbeistvariable definiert sind, nicht verwenden (deshalb die Fehlermeldung)

    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

Similar Threads

  1. SQL- Fehler SQL0900
    By svit in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 01-03-19, 19:03
  2. Antworten: 7
    Letzter Beitrag: 23-03-15, 17:21
  3. RDi 9.01 Fehler Connection
    By camouflage in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 03-02-14, 09:45
  4. Fehler beim GET im FTP
    By malzusrex in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-04-03, 17:15
  5. Fehler bei FTP
    By K_Tippi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-12-02, 11:41

Berechtigungen

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