The signature of an Integration Server service specifies the
data types for the parameters of the service. There are three data types:
String
, Record
and Object
. Parameters of
type String
are mapped to an IDL alphanumeric data type,
parameters of type Record
to IDL groups. Parameters of type
Object
cannot be mapped to an IDL data type and thus result in an
error. If such an error occurs, the IDL program which contains the invalid data
type mapping is written to the IDL file, however, all lines are comments.
Starting with version 9.12 Fix 1 of the EntireX Adapter a subset of the Java Wrapper types are mapped to IDL types.
This subset has been chosen so it is compatible to the JSON data type mapping in Integration Server.
Integration Server Object Type Java Wrapper Types |
Software AG IDL Data Type | ||
---|---|---|---|
Adapter Version 10.3 or higher | Adapter Version 9.12 Fix 1 or higher | Adapter Version 9.12 or lower | |
java.lang.String |
See table below | See table below | See table below |
java.lang.Long |
N19 |
N19 |
error |
java.lang.Integer |
I4 |
I4 |
error |
java.lang.Float |
F4 |
F4 |
error |
java.lang.Double |
F8 |
F8 |
error |
java.lang.Boolean |
L |
L |
error |
java.util.Date |
Same as String , see table below
|
error | error |
byte[] |
BV , BV256 (depending on target language)
|
BV , BV256 (depending on target language)
|
error |
All other wrapper types or record without subcomponents | Input parameter: ignored; output parameter: same as String , see table below
|
error | error |
No wrapper type | BV , BV256 if extracting from EntireX Adapter Service (1) ; otherwise see above
|
error; or BV , BV256 if extracting from EntireX Adapter Service (1) |
error; or BV , BV256 if extracting from EntireX Adapter Service (1) |
(1) A parameter of an EntireX Adapter
service of type Object
is mapped to an IDL binary data type.
Depending on the target language, it is either mapped to BV
(for
Natural
and Other
) or to BV256
(for
COBOL
and PL/I
).
All parameters of type String
are mapped to an IDL
alphanumeric data type, available as variable (AV
,
AVn
) or fixed (An
) length. Which alphanumeric type is
used is specified in the wizard page of the IDL Extractor for Integration Server or as a
parameter of the generation service.
Parameters of type String
may have an associated context
type which is specified in the constraints of the parameter's properties.
This content type is only used if all parameters are of type String.
This content type may influence the data type mapping.
The following table shows the mapping.
Integration Server Content Type | Software AG IDL Data Type | |
---|---|---|
boolean |
L |
Logical |
decimal |
Nx , Nx.y or An , AV , AVn |
Unpacked decimal or Alphanumeric (1) |
float |
F4 |
Floating point (small) |
double |
F8 |
Floating point (large) |
Date |
An , AV , AVn |
Alphanumeric (2) |
dateTime |
An , AV , AVn |
Alphanumeric (2) |
base64Binary |
An , AV , AVn |
Alphanumeric (2) |
byte |
I1 |
Integer (small) |
unsignedByte |
NU3 |
Unpacked decimal unsigned |
short |
I2 |
Integer (medium) |
unsignedShort |
NU5 |
Unpacked decimal unsigned |
int |
I4 |
Integer (large) |
unsignedInt |
NU10 |
Unpacked decimal unsigned |
long |
N19 |
Unpacked decimal |
unsignedLong |
NU20 |
Unpacked decimal unsigned |
integer |
N29 |
Unpacked decimal |
positiveInteger |
NU29 |
Unpacked decimal unsigned |
nonPositiveInteger |
N29 |
Unpacked decimal |
negativeInteger |
N29 |
Unpacked decimal |
nonNegativeInteger |
NU29 |
Unpacked decimal unsigned |
string |
An , AV , AVn |
Alphanumeric (3) |
all others |
An , AV , AVn |
Alphanumeric (2) |
Notes:
Nx.y
is used. If only a total
number of digits is specified, then Nx
is used. If no total number
of digits is specified, or the total number exceeds the maximum allowed value,
or the number of fraction digits exceeds the maximum allowed value, then a
string according to (2) is used. The maximum allowed value for the total number
of digits is 29, for COBOL it is 31. The maximum allowed value for the number
of fraction digits is 7, for COBOL it is 31 and for Natural it is 29.
AV
, AVn
or An
is used.
len
, then
Alen
is used. If the content type specifies a maximum length
max
, then AVmax
or Amax
is used, see (2)
for the choice between A
versus Av
. If neither length
nor maximum length is specified, the choice is the same as in (2).