[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2002
    Beiträge
    792

    Erstellung Command und Valuelist

    Hi,

    ich habe einen Command mit einem Feld wo ich nur zwei Werte zulassen will. Der Compiler baut blöderweise einfach den Standardwert ' ' ein. Es MUSS!!! aber einer der beiden Werte eingegeben werden. Kann ich irgendwie einstellen das der Command IMMER! erst einmal gepromptet wird? oder besser noch das wenn man in der Commandline den Parameter nicht angibt auf jeden Fall der Prompt kommt?

    Gruß

    Sascha

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    PARM ... RSTD(*YES) MIN(1)
    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

  3. #3
    Registriert seit
    Apr 2002
    Beiträge
    792
    Zitat Zitat von Fuerchau
    PARM ... RSTD(*YES) MIN(1)
    So ist es ja eingestellt:
    PHP-Code:
    PARM      KWD(MYPARMTYPE(*CHARLEN(4)  +
                 
    RSTD(*YESVALUES('*Val1' '*Val2') +
                 
    MIN(1ALWUNPRT(*NOALWVAR(*NO) +
                 
    FULL(*NOKEYPARM(*NOPROMPT('myparm'

    Leider baut wie gesagt der Compiler DTF(' ') automatisch ein. Wenn ich dann "MYCMD" ohne Parameterangabe aufrufe. Gibt es ' ' an das Befehlsverarbeitungsprogramm. Da ich den Command aber wirklich nur interaktiv benutze (Bei Umwandlung *INTERACT) würde ich gern IMMER den Prompt sehen.

    Gruß

    Sascha

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das liegt ggf. an der Reihenfolge der Parameter.
    Min(x) muss immer vor Parametern mit Min(0) angegeben werden.
    Allerdings kannst du auch einen der Value-Werte als DFT vorgeben.
    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
    Apr 2002
    Beiträge
    792
    Zitat Zitat von Fuerchau
    Das liegt ggf. an der Reihenfolge der Parameter.
    That's it. Danke. Das ist das Problem gewesen. Danke für den Tip. Einen Grundsätzlichen Prompt kann man aber nicht einstellen oder?

    Gruß

    Sascha

  6. #6
    Registriert seit
    Dec 2002
    Beiträge
    301
    Wenn das nicht funktioniert, dann kann es nur noch daran liegen, dass vor dem Parameter MYPARM ein anderer Parameter definiert ist mit DFT(Ingendwas). In der Quelle müssen zuerst alle Parameter mit MIN() definiert werden und erst danach die Parameter mit DFT(). Dann wird der Befehl auch wirklich automatisch gepromptet, wenn bei einem Parameter mit MIN nichts eingegeben wurde. Ansonsten wird MIN ignoriert.
    Frank Hildebrandt

  7. #7
    Registriert seit
    Apr 2002
    Beiträge
    792
    Hi,

    jo also das der Promt nicht gekommen ist lag an der falschen Reihenfolge. Es ging jetzt nur noch mal darum ob es möglich ist dem Command immer zu prompten wenn er ohne Parameter aufgerufen wird, auch wenn über Default alle Parameter einen Wert haben.

    Gruß

    Sascha

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Nein, das geht leider nicht, da ja Commands (unabhängig von der Erlaubnis) ggf. auch im CLP verwendet werden.
    Mittels CHGCMD kann ALLOW ja jederzeit geändert werden.

    Die einzige Chance ist, den 1. Parameter mit MIN(1) und ohne DFT zu definieren.
    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
    Dec 2002
    Beiträge
    301
    Einen generellen Prompt bekommt man dann, wenn man dem Befehl ein ? voransetzt, also z.B. ?WRKSPLF. Aber ob Deine Benutzer das dann immer so machen?????. Ansonsten gibt es da irgendwo einen Exitpoint bei dem man ein eigenes Programm einfügen kann, welches immer dann aufgerufen wird, bevor ein Befehl ausgeführt wird. Vielleicht kann man ja da etwas einstellen. Nur welcher Exit das ist, das fällt mir gerade auch nicht ein. Da müsste ich selber in der Doku suchen.
    Frank Hildebrandt

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Über Exits (WRKREGINF) sollte man das nicht versuchen, da diese bei jedem Kommando aufgerufen würden.

    Aber wenn der 1. Parameter tatsächlich MIN(1) enthält kommt der Prompt automatisch (aus der Kommandozeile) wenn keine Werte angegeben wurden.

    Beim Aufruf aus CLP/QCMDEXC gibts nur CPF0001.

    Aber wie Frank schon sagt:
    Bindest du das Kommando z.B. in einem Menü/CLP ein, kannst du mit selektivem Prompten (?CMD / ??CMD ...) das Kommando genau steuern.
    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

  11. #11
    Registriert seit
    Apr 2002
    Beiträge
    792
    Hi,

    okay danke ihr beiden. Da der Command wohl überwiegend aus einem Menü aufgerufen wird, werde ich des dann wohl mit ?CMD machen. Danke.

    Gruß

    Sascha

  12. #12
    Registriert seit
    Aug 2004
    Beiträge
    923
    mhh...

    also ich bin mir ziemlich sicher, sowas mal vor Jahrzehnten gemacht zu haben.
    Der Trick ging irgendwie über das Gültigkeitprüfprogramm.
    Habe dann da an der Stelle ein zweites CMD einfach im Promptmodus (mit dem vorangestelltem?) aufgerufen, welches genauso aussah, nur eben ein anderes war.
    War ne nette Frickelei wenn ich mich entsinne....

    Hab das aber auf irgendnem Band in irgendnem Schrank.
    Frag mich mal wie das war...

    kuempi

Similar Threads

  1. Overlay Erstellung
    By sommert in forum NEWSboard Drucker
    Antworten: 7
    Letzter Beitrag: 16-02-06, 09:55
  2. was braucht man für erstellung eines overlays?
    By h_u_d in forum NEWSboard Drucker
    Antworten: 12
    Letzter Beitrag: 18-07-05, 06:12
  3. Antworten: 1
    Letzter Beitrag: 13-11-02, 10:30

Berechtigungen

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