Stores the signed 32-bit value of an integer expression at the specified memory location.
Syntax
PUT-LONG ( destination , position ) = expression
destination
A variable of type RAW or MEMPTR. If destination is the Unknown value (?), it remains the Unknown value (?). If destination is a MEMPTR and its region in not allocated (by a SET-SIZE statement or by a Windows dynamic link library (DLL) or UNIX shared library routine), the AVM generates a run-time error.
position
An integer value greater than 0 that indicates the byte position where the AVM stores expression. If position is less than 1, the AVM generates a run-time error.
For a RAW destination, if position is greater than the length of destination, the AVM increases the length of destination to position plus the remaining bytes needed to store expression. The gap between the original destination length and position is padded with null bytes.
For a MEMPTR destination, if position is greater than the length of destination or does not leave sufficient room to store expression, the AVM generates a run-time error.
expression
The integer value of a constant, field, variable, function, or expression.
Notes
For examples of how to use the PUT-LONG statement, see the PUT-BYTE statement reference entry.
This statement supports byte-swapping only if destination is a MEMPTR data type. The statement will first examine the byte-order setting of the MEMPTR and then swap the bytes appropriately while putting the data into the MEMPTR memory.
For more information on accessing DLL routines from ABL, see OpenEdge Development: Programming Interfaces.