Anmelden

View Full Version : CHGCMDDFT mit mehreren Werten



GSM
28-10-05, 15:40
Hallo,

ich möchte mittels CHGCMDDFT beim Befehl CRTBNDRPG unter CVTOPT sowohl *VARCHAR als auch *DATETIME vorbelegen. Wie wird denn das eingegeben ?
Einträge wie
CHGCMDDFT CMD(CRTBNDRPG) NEWDFT('CVTOPT(*VARCHAR, *DATETIME)') oder
CHGCMDDFT CMD(CRTBNDRPG) NEWDFT('CVTOPT(*VARCHAR)(*DATETIME)') erkennt das System nicht.

Fuerchau
28-10-05, 15:44
Tja, da hat man leider Pech gehabt !
Ein Kommando-Parameter kann genau nur EINEN Defaultwert haben, Parameterlisten werden dabei nicht unterstützt.

Aber für RPGLE kannst du diese Defaults ja in der H-Zeile der Quellen absetzen. Es gibt auch irgendwo dazu eine DTAARA, die allerdings etwas eingeschränkt ist.

GSM
28-10-05, 16:00
In den H-Bestimmungen läßt sich bei CVTOPT leider auch nur ein Wert eintragen.

Fuerchau
28-10-05, 18:52
Auszug aus der F1-Hilfe im SEU-Editor:

CVTOPT(*{NO}DATETIME *{NO}GRAPHIC *{NO}VARCHAR *{NO}VARGRAPHIC)
Dieses Schlüsselwort angeben, um festzulegen, wie das ILE
RPG-Umwandlungsprogramm Datums-, Zeit-, Zeitmarken- und
Grafikdatenarten sowie Datenarten variabler Länge bearbeitet, die
aus extern beschriebenen Datenbankdateien abgerufen werden.
Es kann jede beliebige Datenart oder es können alle Datenarten in
beliebiger Reihenfolge angegeben werden. Wird jedoch eine Datenart
angegeben, kann der Parameter *{NO} für dieselbe Datenart nicht
ebenfalls verwendet werden, und umgekehrt. Wird beispielsweise
*GRAPHIC angegeben, kann nicht auch *NOGRAPHIC angegeben werden und
umgekehrt.

Die Parameter durch einen Doppelpunkt voneinander trennen. Ein
Parameter darf nicht mehr als einmal angegeben werden.

Anmerkung: Enthält das Schlüsselwort CVTOPT keine Angabe eines
Paars, wird der im Befehl für diese spezifische Datenart
angegebene Wert verwendet. Wird beispielsweise das Schlüsselwort
CVTOPT(*DATETIME : *NOVARCHAR : *NOVARGRAPHIC) in der
Steuerbestimmung angegeben, wird für das Paar (*GRAPHIC,
*NOGRAPHIC) der Wert verwendet, der implizit oder explizit im
Befehl angegeben wurde.

Also:

h cvtopt(*varchar:*datetime)