PDA

View Full Version : %bitor



kaifeba
13-06-06, 16:13
Ich möchte das 1. Bit auf '1' setzen (z.B. Kleinbuchstaben auf Grossbuchstaben setzen)

In RPG400:

BITON '1' Byte

Wie erhält man das gleiche Resultat im FreeForm RPG mit der Funktion %bitor?

Besten Dank

Felix

Fuerchau
13-06-06, 16:15
%bitor(Feld:x'80') !!!!!!!!!!

kaifeba
13-06-06, 16:29
Danke für den schnellen reply; aber:

a='a';
%bitor(a:x'80');
====> aaaaaab c
NF0955 30 a 018800 Eintrag als linke Seite einer Operation EVAL ungültig.
NF0955 30 b 018800 Eintrag als linke Seite einer Operation EVAL ungültig.
NF5347 30 c 018800 Für die Operation EVAL wird ein Zuordnungsoperator
erwartet.


Danke

Felix

Fuerchau
13-06-06, 16:43
So ist das nun mal mt BuiltIn's:

Feld = %bitor(Feld:x'80);

cbe
14-06-06, 11:43
Hallo,


Ich möchte das 1. Bit auf '1' setzen (z.B. Kleinbuchstaben auf Grossbuchstaben setzen)
...

Für Klein auf GROSS umsetzen finde ich XLATE sympatischer

Hier ein Beispiel (nicht schön, aber läuft)


C 'ABCDEFGH' CAT(P) 'IJKLMNOP' §A30 30
C CAT 'QRSTUV':0 §A30
C CAT 'WXYZÄÖ':0 §A30
C CAT 'Ü':0 §A30
C 'abcdefgh' CAT(P) 'ijklmnop' §A30B 30
C CAT 'qrstuv':0 §A30B
C CAT 'wxyzäö':0 §A30B
C CAT 'ü':0 §A30B
C §A30:§A30B XLATE #MTCM §MTCM


Gruß
Christian

Fuerchau
14-06-06, 12:35
Diese Version funktioniert nicht bei verschiedenen CCSID's !

cbe
16-06-06, 11:42
geht denn die biton-Variante bei verschiedenen ccsid?

Fuerchau
16-06-06, 12:11
Biton an sich funktioniert.
Was ich meine ist die Umsetzung von Groß/Kleinschreibung mittels Biton/%xor. Dafür ist SQL UPPER/LOWER besser geeignet.

cbe
16-06-06, 12:43
ok, einverstanden.

Gruß
Christian