[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2002
    Beiträge
    56

    Question CL & Hochkomma

    Hallo,

    Ich suche ein Möglichkeit bei der ein CL-Programm eine definierten Variable nicht in Hochkommas setzt:

    Folgendes passiert mit den Datenträger-ID's bei dem Befehl SAV

    CL:
    SAV DEV('/qsys.lib/tapmlb01.devd') OBJ((&LOGFILE)) VOL(&TAPES)

    der Inhalt von &TAPES wird aus einer DTAARA gelesen , aber beim Ausführen des Programms leider irgendwie mit Hochkomma's versehen:

    Joblog:
    SAV DEV '/qsys.lib/tapmlb01.devd') OBJ(('/verzeichnis/*.Q10302*')) VOL('NU0033 NU0035 NU0036 NU0038 NU0039 NU0041 NU0044 NU0045 NU0047 NU0048')

    Die Datenträger müssen aber ohne Hochkommas eingetragen werden, da es sonst einen Syntax-Error gibt.

    Kennt jemand eine Möglichkeit, wie man da ohne Hochkommas da rein bekommen kann ?


  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    Meine Kristallkugel ist gerade ausgefallen ...

    a) was steht in der DtaAra ?

    b) wie wird der Inhalt gelesen ?

    Gruß
    Rolf

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241

    Post

    Hochkommata werden automatisch dann genommen, wenn die Zeichenkonstante mehrere Worte enthält, was ja hier der Fall ist.

    Übrigens, ob ein Zeichenparameter in Hochkomma oder nicht angegeben wird, ist vollkommen egal, Hauptsache die Länge wird nicht überschritten.
    An das Programm wird der Wert immer ohne Hochkomma weitergegeben.

    Der Parameter VOL enthält aber eine Werteliste !

    Diese Werteliste kann nicht in EINEM Feld übergeben werden sondern muss so:

    ...VOL(&F1 &F2 &F3 &F4 ....)

    angegeben werden.

    Wenn die Anzahl nicht bekannt ist, mußt du das Kommando in einer Variablen mit CHGVAR zusammenbauen und dann per CALL QCMDEXC ausführen.
    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

  4. #4
    Registriert seit
    Jan 2002
    Beiträge
    56

    Talking

    In der DTAARA stehen auch nur ab einer bestimmten Postition die Datenträger-ID's mit Leerzeichen (wie oben im Joblog) drin - ohne Hochkomma's.
    Sie wird einfach mit RTVDTAARA (und berechneten Offsetpositionen) in einem Stück ausgelesen (gibt es denn noch eine andere Möglichkeit ?).

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
    Der Parameter VOL enthält aber eine Werteliste !

    Diese Werteliste kann nicht in EINEM Feld übergeben werden sondern muss so:

    ...VOL(&F1 &F2 &F3 &F4 ....)

    angegeben werden.
    [/quote]

    Daher wird es wohl mit den Hochkommas nicht gehen ? Schaut erstmal logisch aus - werde es morgen mal ausprobieren. Ist zwar etwas umständlicher als es in einem Stück zu verwenden, aber wenn es damit klappt ist mir damit sehr geholfen.

    Vielen Dank !


Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  3. cl declare variable
    By TARASIK in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-08-06, 10:09
  4. DLYJOB im CL
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 18-07-06, 21:04
  5. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00

Berechtigungen

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