Anmelden

View Full Version : CMD mit teilweise farbigem Parameter



Robi
10-09-25, 10:08
Moin zusammen,

Wir prompten an verschiedenen Stellen vorausgefüllte CMD (überwiegend eigene).

In einem muß der User einen bestimmten Teil anpassen.
Das klappt öfter nicht (Anwender halt ...)

Bsp:

Pfad...: '/QNTC/SERVER/FREIGABE/EDV/KD_Daten/hier nun bitte den Dateinamen eingeben
(ein eigenes ermitteln ist nicht möglich, dazu müssten zuviele andere Prozesse umgestellt werden)

Idee war nun

DCL &R TYPE(*char) LEN(1) VALUE(X'28') /* ROT */
DCL &Pfad ... Value('/QNTC/SERVER/FREIGABE/EDV/KD_Daten/')

chgvar &Pfad &pfad *tcat &R *tcat 'hier nun bitte den Dateinamen eingeben'

?MEINCMD ??&PFAD

Das funzt aber nicht, dann wird beim Pfad alles als Hexwert angezeigt

gibt es da eine andere Möglichkeit?
Oder muß ich deshalb aus dem CMD ein PGM mit DSPF machen?

Danke

Fuerchau
10-09-25, 10:43
Du kannst nicht per ??& eine Variable sondern nur einen CMD-Parameter prompten.
Zu MEINCMD kannst du noch ein Promptprogramm PMTOVRPGM schreiben, dass Parameter vorbelegt sowie ein Validation-Programm VLDCKR, dass die Parameter dann prüft und ggf. ESC-Messages sendet.

Das Ganze macht aber i.W. nur Sinn, wenn MEINCMD häufiger auch im Batch verwendet wird.
Ansonsten ist es halt besser und vor allem einfacher, eine DSPF zu erstellen, die man auch mit CLP/CLLE verarbeiten kann.

Robi
10-09-25, 11:40
ja, schon klar

das sollte
?meincmd ??pfad(&path) heissen

Fuerchau
10-09-25, 11:55
Da das CMD den Parameter als CHAR definiert hat, wird automatisch auf HEX-Eingabe umgeschaltet, wenn ungültige Zeichen, die halt nicht eingegeben werden können, enthalten sind.
Immerhin erlaubt uns unser tolles System auch per X'....' Hex-Werte übergeben zu können.

M.a.W: Farben sind in CMD's nicht möglich.

Pikachu
17-09-25, 12:35
Vielleicht mit Bedienertext "Pfad >>>>" rot blinkend oder ähnlich...

PARM KWD(PFAD) TYPE(*PNAME) LEN(5000) PROMPT(X'2BD7868184406E6E6E6E20')

Fuerchau
17-09-25, 13:27
Schon mal ausprobiert, was dabei rauskommt?