DB2
z/OS DB2 LUW z/OS CICS VTAM |
OORexx |
Home |
If ( OUTSQLDA.I.SQLTYPE = 492 | OUTSQLDA.I.SQLTYPE = 493 ) Then Do
OUTSQLDA.I.SQLDATA = BIGINT_FUER_OOREXX_AUFBEREITEN( OUTSQLDA.I.SQLDATA)
End
BIGINT_FUER_OOREXX_AUFBEREITEN:
/* REXX auf WIN/Linunx braucht die db2ar.dll die nicht mehr von IBM */
/* gepflegt wird, BIGINT wird als Sting Char(8) angezeigt und ist */
/* somit nicht verwendbar Darum muss das aufbereiten manuell laufen */
/* wert 1 0100000000000000 muss umgedreht werden 0000000000000001 */
/* wert -4 FCFFFFFFFFFFFFFF wird
FFFFFFFFFFFFFFFC
*/
BIGINT_WERT = Arg(1)
NUMERIC DIGITS 20
HexWert = ""
Do hexi = Length(c2x(BIGINT_WERT)) to 2 by -2
HexWert = Hexwert || Substr(c2x(BIGINT_WERT), hexi - 1, 2)
End
/* Retwert = x2d(Hexwert, 16) */
Return x2d(Hexwert, 16)
BIGINT_FUER_OOREXX_AUFBEREITEN:
NUMERIC DIGITS 20
Return x2d(c2x(Reverse(Arg(1))), 16)