[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2014
    Beiträge
    35

    Probleme bei Übergabe eines Parameter - Parameterlänge

    Hi,

    ich habe folgendes Problem:

    PGM PARM(&DOCNAME)

    DCL VAR(&IFSLNK) TYPE(*CHAR) LEN(121)
    DCL VAR(&DOCNAME) TYPE(*CHAR) LEN(110)
    DCL VAR(&IFSPATH) TYPE(*CHAR) LEN(21) VALUE('/home/test/dateien/')

    CHGVAR VAR(&IFSLNK) VALUE(%TRIM(&IFSPATH) *TCAT %TRIM(&DOCNAME))

    CPYFRMSTMF FROMSTMF(&IFSLNK) +
    TOMBR('/QSYS.lib/QTEMP.LIB/TEST.file/TEST.mbr') MBROPT(*REPLACE)

    Beim CPYFRMSTMF kommt die Fehlermeldung :
    CPD018A Pfadname enthält eingebettete Nullen

    Sehe vor lauter Bäumen wohl den Wald nicht - oder so..

    Kann jemand helfen. Danke im Voraus.

  2. #2
    Registriert seit
    Mar 2009
    Beiträge
    59
    Wie wird das Programm aufgerufen? Hast du dort den Parameter auch richtig definiert?

  3. #3
    Registriert seit
    Jan 2008
    Beiträge
    159
    wie wird dein programm aufgerufen bzw. wie erfolgt die parameterübergabe.
    SBMJOB, CALL oder interaktiver Aufruf über befehlszeile/-prompting ???
    Versuch doch mal &DOCNAME mit blank zu initiieren und an der letzen stelle (+1) ein gültiges zeichen hineinzuschreiben

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Wie immer dasselbe Problem. Wenn bei Programm-Parametern die Länge von 32 Byte überschritten wird müssen die Zeichen vollständig übergeben werden. Ansonsten steht im Rest der Schrott aus dem Speicher.
    Machst du den CALL aus einem Programm, gibts das Problem i.d.R. nicht.
    Machst du das wiederum per QCMDEXC musst du eine Textkonstante in Hochkommata in der definierten Länge übergeben, da ansonsten Leerzeichen am Ende entfernt werden.

    Du kannst allerdings auch ein CMD selber schreiben. Dann wird der Parameter vom CMD automatisch mit Leerzeichen aufgefüllt.
    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
    Mar 2014
    Beiträge
    35
    Hallo Herr Fuerchau,

    vielen Dank.
    Die Lösung war der CALL aus einem Programm.
    Ich hatte den Aufruf zum Testen manuell gestartet.

    Danke an alle!

  6. #6
    Registriert seit
    Nov 2020
    Beiträge
    418
    Der CALL Befehl hatte im letzten Jahr ein Update erhalten und du kannst Typ + Länge mitgeben:

    CALL PGM(PGM1) PARM(('parameter' (*CHAR 110)))

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das ist ja mal eine Erneuerung!
    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

  8. #8
    Registriert seit
    Jul 2001
    Beiträge
    2.713
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das ist ja mal eine Erneuerung!
    siehe auch

    https://www.ibm.com/support/pages/ib...e-enhancements
    IBM Champion 2022, 2023, 2024, 2025
    Common Europe Advisory Council / Hall of Fame
    http://pub400.com
    visit www.POWERbunker.com for bespoke IBM i hosting

Similar Threads

  1. SQL Funktion ruft Serviceprogramm auf - Parameter übergabe
    By loisl in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 08-11-13, 16:37
  2. problem bei Call übergabe parameter numerisch gepackt
    By labm in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 03-07-08, 09:37
  3. Parameterlänge bei crtcmd
    By TARASIK in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-08-06, 14:11
  4. QCMDEXC und Parameterlänge
    By fabax in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 27-02-04, 11:10
  5. Übergabe von Daten HTTP nach RPGLE
    By Bruno Jakob in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 28-02-02, 12:57

Berechtigungen

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