High-Level Screen Management Intrinsic Library Reference Manual (32424-90002)
4- 7
CHARACTER*16 FLDID(3,5)
EQUIVALENCE (DATADESCRPT(5), FLDID)
For an example of how a record structure can be manipulated in FORTRAN,
see the COLLECT_TXNS subroutine in the FORTRAN example program in
Appendix C.
Pascal:
type
fldentry_rec = record
fldloc : integer;
fldlen : integer;
rtnfldlen : integer;
typcnvcode : integer;
fldid : packed array [1..32] of char;
end;
datadescrpt_rec = record
descrpttype : integer;
buflen : integer;
rtnbuflen : integer;
entrycnt : integer;
fldentry : array [1..5] of fldentry_rec;
end;
var
datadescrpt : datadescrpt_rec;
Data Transfer Method E
This data transfer method moves data to and from fields referenced in the
form and allows your application to specify data type conversions. This
method differs from Method D in that transferred data can come from more
than one buffer. Use method E when you need to transfer data between a
form and multiple buffers in the application.
The application passes the field address contained in the application
data space, the field length, and the data conversion operation that is
to be performed. For the HP 3000 MPE/V operating system, the address you
pass must be within plus or minus 32000 of the
databuf
address, and must
map to a location within the same data segment as
databuf
. The address
must also be DB-relative.
You indicate this kind of data transfer by assigning the value 60 or 70
to the subparameter
descrpttype
. Assign the value 60 if you want to
identify fields by number. Assign the value 70 if you want to identify
fields by name.
The values you must supply to use this data mapping method are:
descrpttype
Supply the value 60 to identify fields by
number.
Supply the value 70 to identify fields by name.
buflen
A four-byte integer. This subparameter is not
used by Hi-Li for this method, but must be
passed anyway.
rtnbuflen
A four-byte integer. This subparameter is not
used by Hi-Li for this method, but must be