Ab V5R1 gibt es in RPGIV einen neuen Datentyp 'O' = Object.
Hier kannst du eine Java Object definieren.
Bsp.
Code:
D Obj S O CLASS(*JAVA
D :'java.lang.Object')
D Str S O CLASS(*JAVA
D :'java.lang.String')
D Num S O CLASS(*JAVA
D :'java.math.BigDecimal')
Wenn du eine Methode (Procedure) eines Java-Objects definieren willlst sieht das folgendermaßen aus.
Code:
D objectEquals PR N EXTPROC(*JAVA
D : 'java.lang.Object'
D : 'equals')
C IF objectEquals (obj1 : obj2)
C ...
C ENDIF
..und noch etwas Code
Code:
D BigDecimal C 'java.math.BigDecimal'
D add PR O EXTPROC(*Java: BigDecimal: 'add')
D otherNum O CLASS(*Java: BigDecimal)
D CONST
D ConstNum PR O EXTPROC(*Java: BigDecimal: *CONSTRUCTOR)
D GetValue PR O EXTPROC(*Java: BigDecimal: 'toString')
D CLASS(*Java: 'java.lang.Stringv)
D getLongValue PR 20I 0 EXTPROC(*Java:'java.lang.Long':
'valueOf')
D STATIC
D string O CLASS(*Java:'java.lang.String')
D CONST
D Num1 S O CLASS(*Java:BigDecimal)
D Num2 S O CLASS(*Java:BigDecimal)
D Total S O CLASS(*Java:BigDecimal)
D longInteger S 20I 0
D*
C EVAL Num1 = ConstNum(225)
C EVAL Num2 = ConstNum(175)
C EVAL total = add(Num1: Num2)
C EVAL longInteger =
getLongValue (GetValue (total))
Sehr gut beschrieben ist das alles auch hier : http://publib.boulder.ibm.com/html/a...s/c0925073.pdf
(Ab Seite 157)
Sven
[Dieser Beitrag wurde von Sven Schneider am 24. April 2002 editiert.]
Bookmarks