Anmelden

View Full Version : CHGDTAARA



Joe
19-07-06, 15:34
Hallo Forum.

Da der Befehl CHGDTAARA einen vorhandenen Wert nicht
anzeigt, hab ich folgendes CL erstellt:


RTVDTAARA DTAARA(&LIBR/&DTAARA *ALL) RTNVAR(&RTNVAR)

CHGDTAARA ??DTAARA(&LIBR/&DTAARA *ALL) ??VALUE(&RTNVAR)

Das funktioniert bei Datenbereichen vom Typ *DEC und bei *CHAR bedingt.
Sobald ich *char mit rein numerischen Werten
ausgebe, müssen diese zwischen Hochkomma stehen.
'1234567'

Wie kann ich nach dem RTVDTAARA den Rückgabewert mit Hochkomma verketten bzw. wie definiere ich 1-fach Hochkomma im CLP?
CHGVAR VAR(&RTNVAR) VALUE('HK' *TCAT &RTNVARA *TCAT + 'HK')


Gruß
Joe

malzusrex
19-07-06, 15:43
sollte eigentlich mit

CHGVAR VAR(&RTNVAR) VALUE('''' *TCAT 'hallo' *TCAT '''')

gehen

gruß
ronald

kuempi von stein
19-07-06, 15:45
Hello,

da gibt es viele Wege....

Nur ein Beispiel:


PGM
DCL VAR(&ZAHLSTRING) TYPE(*CHAR) LEN(5) +
VALUE('12345')
DCL VAR(&HK) TYPE(*CHAR) LEN(1) VALUE('''')
DCL VAR(&NEU) TYPE(*CHAR) LEN(7)
CHGVAR VAR(&NEU) VALUE(&HK *CAT &ZAHLSTRING *CAT &HK)
SNDPGMMSG MSG(&NEU)
ENDPGM

gruss

k.

ups, da war jemand schneller
:-)

Joe
19-07-06, 16:17
Danke für die Anworten.

Das verketten mit &HK ('''') geht schon - aber das OS
fügt beim Anzeigen nochmal Hochkomma hinzu.
CHGDTAARA ??DTAARA(&LIBR/&DTAARA *ALL) ??VALUE(&RTNVAR)
Das ist mein Problem.

Gruß
Joe

pwrdwnsys
19-07-06, 16:23
Bei den Taatools gibt es das nette kleine Tool "EDTDTAARA". Einfach runterladen und installieren.

kuempi von stein
19-07-06, 16:28
Das sollte nix zur Sache tun.

Drück mal auf enter und schau Dir hinterher die DTAARA an.

Dann müssten eigentlich die vom System eingefügten HK wieder weg sein.

Ansonsten, wenn Du unbedingt ne Editiermöglichkeit dafür brauchst (da läuft es doch hin?), würde ich empfehlen ein zusätzliches RPG zu basteln was nen Input/outputschirm hat, was ähnlich dem CHGDTAARA aussieht.
Alles easy, hatte ich früher auch gebastelt solche Tools...

Und btw. Du solltest auch *LDA und DTAARAs vom Typ *LGL mit in Deinem Programm berücksichtigen, das kommt immer gut.
Mit DTAARAs vom Typ *DDM hab ich noch nicht gearbeitet.

So long

k.