Try OpenEdge Now
skip to main content
ABL Data Types Addenda
INT64 data type : Passing INT64 variables as parameters
 

Passing INT64 variables as parameters

When using INT64 and INTEGER parameter combinations between an ABL client or an Open Client and an AppServer, the same rules apply as for local parameters. If the parameter is a ProDataSet or a temp-table, then the data types of the fields in the tables must match exactly. That is, a temp-table with an INT64 field does not match a parameter on the other side with an INTEGER field in the same position, and vice versa.
However, for simple parameters you can have an INT64 on one side and an INTEGER on the other side. If the parameter is an INPUT INTEGER parameter in the callee, it is checked for overflow in the callee. Likewise, if the parameter is an OUTPUT INTEGER, or an OUTPUT INT64, and the caller's type is INTEGER, it is checked for overflow in the caller and generates an error during callee output processing. This means that neither the ABL client nor the Open Client need to do any checking, since the callee (the AppServer) makes sure no violations can happen on both input and output. However, the client might need to use INT64 so that there are no overflows in the proxies.
Caution: If you specify NO-SCHEMA when you define a temp-table, the INT64/INTEGER parameter matching is not checked, just as other types of checking are bypassed when you specify NO-SCHEMA.