[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2005
    Beiträge
    50

    CL Prog.: Variable (Datum) wird beim CRTDIR nicht übergeben

    Hallo zusammen,

    ich habe mir ein kleines CL Programm erstellt, mit dem ich im IFS, Verzeichnisse mit dem aktuellen Datum erstellen will.
    Leider klappt das nicht so ganz. Erst mal das Programm:

    DCL VAR(&YEAR) TYPE(*CHAR) LEN(2)
    DCL VAR(&MONTH) TYPE(*CHAR) LEN(2)
    DCL VAR(&DAY) TYPE(*CHAR) LEN(2)
    DCL VAR(&DATE) TYPE(*CHAR) LEN(8)

    RTVSYSVAL SYSVAL(QMONTH) RTNVAR(&MONTH)
    RTVSYSVAL SYSVAL(QDAY) RTNVAR(&DAY)
    RTVSYSVAL SYSVAL(QYEAR) RTNVAR(&YEAR)

    CHGVAR VAR(&DATE) VALUE('20' *TCAT &YEAR *TCAT +
    &MONTH *TCAT &DAY)

    QSYS/CRTDIR +
    DIR('/.../.../.../&DATE')

    Was jetzt passiert ist folgendes: Das Programm erstellt ein Verzeichnis mit dem Namen: "&DATE".
    Warum wird die Variable nicht übergeben?

    Ich habe ein ähnliches Programm, bei dem ich auf der gleichen Art und Weise SAVF (CRTSAVF) erstelle, und da klappt es ohne Probleme.

    Habt ihr noch einen Tipp für mich?

    Besten Dank im Voraus!

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    versuche es mal so
    PHP-Code:
    DCL VAR(&YEARTYPE(*CHARLEN(2)               
    DCL VAR(&MONTHTYPE(*CHARLEN(2)              
    DCL VAR(&DAYTYPE(*CHARLEN(2)                
    DCL VAR(&DATETYPE(*CHARLEN(8)               
    DCL VAR(&DIRTYPE(*CHARLEN(250)              
                                                    
    RTVSYSVAL SYSVAL(QMONTHRTNVAR(&MONTH)         
    RTVSYSVAL SYSVAL(QDAYRTNVAR(&DAY)             
    RTVSYSVAL SYSVAL(QYEARRTNVAR(&YEAR)           
                                                    
    CHGVAR VAR(&DATEVALUE('20' *TCAT &YEAR *TCAT +
    &
    MONTH *TCAT &DAY)                              
                                                    
    CHGVAR &DIR ('/.../.../.../' *TCAT &DATE)              
    QSYS/CRTDIR +                                   
    DIR(&DIR

    Das Problem ist, dein &DATE steht zwischen den beiden Anführungszeichen. Somit interpretiert er das als Text und nicht als Variable
    Gruß Ronald

  3. #3
    Registriert seit
    Mar 2005
    Beiträge
    50
    Hi Roland,

    danke für deine Hilfe.
    Aber irgendwie scheint das auch nicht viel zu helfen, bekomme jetzt eine CPFA089, Pattern not allowed in path name.
    Was ich nur nicht verstehe ist, dass das PDM mir einige zusätzliche Hochkommata verpasst, ist das normal?

    CHGVAR VAR(&DIR) +
    VALUE('''/QIBM/UserData/.../.../.../'' *TCAT + &DATE')


    EDIT:
    Also beim debuggen meines ursprünglichen Programms sehe ich sogar bis zu der Stelle wo das Datum zusammengesetzt wird, dass alles seine Richtigkeit hat.
    Selbst beim CRTDIR kann ich die Variable sehen (Display Program Variables), die dort eigentlich stehen müsste. Ich verstehe das nicht...

    EDIT2:
    Also bei deinem Vorschlag (Roland) wird folgendes als Variable erstellt:
    '/QIBM/UserData/.../.../.../' *TCAT &DATE

  4. #4
    Registriert seit
    Mar 2005
    Beiträge
    50
    @Ronald (Sorry, habe vorhin deinen Namen falsch gelesen )

    So jetzt geht's. Ich habe 2 Tippfehler gehabt:
    1. Beim "+" hatte ich ein Leerzeichen vergessen
    2. Und im Pfad selbt war ein Leerzeichen zuviel

    Also, vergiß was ich gesagt habe. Dein Vorschlag geht doch

  5. #5
    Registriert seit
    May 2002
    Beiträge
    1.121
    Zitat Zitat von QSECOFR-1 Beitrag anzeigen
    @Ronald (Sorry, habe vorhin deinen Namen falsch gelesen )
    Null Proplemo (würde ein haariges Wesen sagen)

    Damit lebe ich schon seit 37 Jahren, aber die Buchstaben bleiben ja immer die gleichen. Nur halt in einer anderen Reihenfolge.

    Ronald

Similar Threads

  1. num. CL Variable in Alpha umsetzen?
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-01-07, 14:31
  2. cl declare variable
    By TARASIK in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-08-06, 10:09
  3. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00
  4. Dialogprogramm + erfasste Daten übergeben an RPG Prog
    By Toschie in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 06-01-05, 14:44
  5. CL Variable an SQL übergeben
    By Jenne in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 23-08-04, 10:45

Berechtigungen

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