BL_CONTROL= Data Set Option

Identifies the file that contains control statements.

Valid in: DATA and PROC steps (when accessing DBMS data using SAS/ACCESS software)
Categories: Bulk Loading
Data Set Control
Alias: FE_EXECNAME [Teradata]
Default: DBMS-specific
Restriction: Teradata: Starting in SAS 9.4M9, this option is no longer used.
Requirement: To specify this option, you must first specify BULKLOAD=YES.
Data source: Oracle, Teradata
See: BL_DATAFILE= data set option, BL_DELETE_DATAFILE= data set option, BL_DELETE_ONLY_DATAFILE= data set option, BULKLOAD= data set option, DBSLICEPARM= LIBNAME option, DBSLICEPARM= data set option

Syntax

BL_CONTROL=path-and-control-file-name [Oracle]
BL_CONTROL=path-and-data-file-name [Teradata]

Syntax Description

path-and-control-file-name [Oracle]

specifies the SQL*Loader file (where SQLLDR control statements are written) that describe the data to include in bulk loading.

path-and-data-file-name [Teradata]

specifies the name of the control file to generate for extracting data with SAS/ACCESS using FastExport multithreaded Read.

BL_<table>_<unique-ID>.ctl [Oracle, Teradata (UNIX or PC Hosts)]

the default file name on most platforms, where:

table

specifies the table name

unique-ID

specifies a number that is used to prevent collisions in the event of two or more simultaneous bulk loadings of a particular table. The SAS/ACCESS engine generates the number.

Details

Specifics for Oracle

The Oracle interface creates the control file by using information from the input data and SAS/ACCESS options. The file contains Data Definition Language (DDL) definitions that specify the location of the data and how the data corresponds to the database table. It is used to specify exactly how the loader should interpret the data that you are loading from the DATA file (DAT file). By default, SAS/ACCESS creates a control file in the temporary file directory that is specified by the UTILLOC= system option or in another directory that is based on your default file specifications. If you do not specify this option and a control file does not already exist, a file is created in the temporary file directory or in another directory that is based on your default file specifications. If you do not specify this option and a control file already exists, the Oracle interface reuses the file and replaces the contents with the new control statements.

Specifics for Teradata

Note: Starting in SAS 9.4M9, SAS/ACCESS no longer supports non-TPT FastExport. Because this option applies only to non-TPT FastExport, this option is not used. Documentation remains for users who have not upgraded to SAS 9.4M9.

To specify this option, you must first specify DBSCLICEPARM=ALL as a LIBNAME or data set option for threaded Reads. By default, SAS creates a data file in the temporary file directory that is specified by the UTILLOC= system option with a platform-specific name. If you do not specify this option and a control file does not exist, SAS creates a script file in the temporary file directory or in another location that is based on your default file specifications. This file is deleted when the partitioning process is complete.

Note: Do not specify DBSLICEPARM=ALL in SAS 9.4M9 or later.

The script file contains FastExport Language definitions that specify the location of the data and how the data corresponds to the database table. It is used to specify exactly how the FastExport should interpret the data that you are loading from the DATA (.DAT) file. Because the script file that SAS generates for FastExport must contain logon information in clear text, it is recommended that you secure the script file by specifying a directory path that is protected.

File Naming for Teradata under z/OS

By default under z/OS, the control file name is prefixed with your user ID. This happens automatically without having to specify it. However, you can suppress the addition of your user ID to the file name and add text of your choice instead. Typically, you would add a security group ID to the beginning of the file name in place of your user ID. When the addition of your user ID is suppressed, you specify the text to add to the beginning of the file name. To prevent adding your user ID to the file name, enable the TD_RACF environment variable when you start SAS. To set the TD_RACF environment variable, include the following code in your SAS command:

Alternatively, you can specify TD_RACF as a SAS option.

Note: You can use the TD_RACF environment variable even when you use a security method other than RACF.

For more information, see Under z/OS: Add a Security Group Name to the File Name.

Example: Generate Teradata Script Files

Note: Do not specify DBSLICEPARM=ALL in SAS 9.4M9 or later. These examples pertain only to releases prior to SAS 9.4M9.

This example generates a Teradata script file, C:\protdir\fe.ctl on Windows.

DATA test;
SET teralib.mydata(DBSLICEPARM=ALL BL_CONTROL="C:\protdir\fe.ctl");
run;

This example generates a Teradata script file, /tmp/fe.ctl, on UNIX.

DATA test;
SET teralib.mydata(DBSLICEPARM=ALL BL_CONTROL="/tmp/fe.ctl");
run;

This example generates a script file, USERID.SECURE.SCR.CTL, by appending CTL and prepending the user ID.

DATA test;
SET teralib.mydata(DBSLICEPARM=ALL BL_CONTROL="SECURE.SCR");
run;
Last updated: February 3, 2026