EXPORT statement

Converts data to a standard character format and displays it to the current output destination (except when the current output destination is the screen) or to a named output stream. You can use data exported to a file in standard format as input to other ABL procedures.

Syntax

EXPORT [ STREAM stream | STREAM-HANDLE handle ] [ DELIMITER character ]
   {expression...
      | record [ EXCEPT field... ]
    }
  [ NO-LOBS ]
EXPORT [ STREAM stream | STREAM-HANDLE handle ] { memptr | longchar }
STREAM stream
The name of a stream. If you do not name a stream, the AVM uses the unnamed stream. See the DEFINE STREAM statement reference entry and the chapter on alternate I/O sources in OpenEdge Development: Programming Interfaces for more information on streams.
STREAM-HANDLE handle
Specifies the handle to a stream. If handle it is not a valid handle to a stream, the AVM generates a run-time error. Note that stream handles are not valid for the unnamed streams. See the chapter on alternate I/O sources in OpenEdge Development: Programming Interfaces for more information on streams and stream handles.
DELIMITER character
The character to use as a delimiter between field values. The character parameter must be a quoted single character. The default is a space character.

If you specify more than one character as a delimiter, ABL uses the first character as the delimiter.

expression . . .
One or more expressions that you want to convert into standard character format for display to an output destination.
record
The name of the record buffer with fields that you want to convert into the standard character format to display to an output destination.

To use EXPORT with a record in a table name used in multiple databases, you must qualify the record's table name with the database name. See the Record phrase reference entry for more information.

EXCEPT field . . .
The AVM exports all fields except those fields listed in the EXCEPT phrase.
memptr
A variable of data type MEMPTR that contains the text to export. The EXPORT statement may contain a MEMPTR in its field list as long as it is the only field in the list.
longchar
A variable of data type LONGCHAR that contains the text to export. The EXPORT statement may contain a LONGCHAR in its field list as long as it is the only field in the list.
NO-LOBS
Directs the AVM to ignore large object data when exporting records that contain BLOB or CLOB fields.

Examples

This procedure converts the data in the Customer table into standard character format and sends that data to the customer.d file:

r-exprt.p

OUTPUT TO customer.d.
FOR EACH Customer NO-LOCK:
  EXPORT Customer.
END.
OUTPUT CLOSE.

The next procedure shows how each EXPORT statement creates one line of data (that is, fields are not wrapped onto several lines):

r-exprt2.p

OUTPUT TO custdump.
FOR EACH Customer NO-LOCK:
  EXPORT Customer.CustNum Customer.Name Customer.CreditLimit.
END.
OUTPUT CLOSE.

That procedure creates a text file, custdump, with one line for each Customer. This is a typical line of output:

1 "Lift Line Skiing" 58400

Use the DELIMITER option to specify a character other than a space to separate fields in the output file. For example, the following procedure uses a semicolon:

r-cstout.p

OUTPUT TO custdump2.
FOR EACH Customer NO-LOCK:
  EXPORT DELIMITER ";" Customer.CustNum Customer.Name Customer.CreditLimit.
END.
OUTPUT CLOSE.

This is a typical line of output from this code:

1;"Lift Line Skiing";58400

The following example displays using a MEMPTR to EXPORT mixed character and binary data:

r-expmem.p

/* Character and binary data mixed */
DEFINE VARIABLE z AS MEMPTR NO-UNDO.

ASSIGN
  SET-SIZE(z)      = 100
  PUT-STRING(z,1)  = "hi there"
  PUT-LONG(z,10)   = 235
  PUT-STRING(z,14) = "afterint"
  PUT-LONG(z,22)   = 76.

OUTPUT TO abc BINARY NO-CONVERT.
EXPORT z.
OUTPUT CLOSE.

Notes

See also

COPY-LOB statement, DEFINE STREAM statement, DISPLAY statement, IMPORT statement, OUTPUT CLOSE statement, OUTPUT TO statement, PUT statement, Stream object handle, STRING function