Remote Connection Statements
Most transformations within a job can specify their own execution host. When SAS Data 
Integration Studio generates code for a job, a host is considered local or remote in 
relation to the SAS Application Server that executes the job. If the host is one of the 
machines that is specified in the metadata for the SAS Application Server that executes 
the job, it is local. Otherwise, it is remote.
A remote connection statement is generated if a remote machine has been specified as 
the execution host for a transformation within a job:
options
comamid=connection_type; 
%let remote_session_id=host_name <host_port>;
signon remote_session_id
<user=userID
password=password>;
rsubmit remote_session_id; 
... SAS code ... 
endrsubmit;
Note: This is done implicitly for users if the machine is remote. Users can also use the 
Data Transfer transformation to explicitly handle moving data between machine 
environments when needed. The Data Transfer transformation provides more control 
over the transfer when needed, such as support for locale-specific settings.
See also “User Credentials in Generated Code ” on page 258.
Macro Variables
When SAS Data Integration Studio generates the code for a job, the code includes the 
macro variables that are listed in the following table:
Macro Variable
Description
etls_jobName
Specifies the name as supplied on the job properties panel.
etls_userID
Specifies the user ID that is used to generate the code for the 
job.
_INPUT
Specifies the libref.tablename of the first input table.
_INPUT_count
Specifies the count of input tables.
_INPUT_connect
Specifies the connect statement for the table. This macro 
variable is used for explicit pass-through statements.
_INPUT_engine
Specifies the library engine. This macro variable can be used 
for explicit pass-through statement construction.
_INPUT_memtype
Specifies the member type of the table, either DATA or 
VIEW. Users can use this variable to write transformation 
code to enable creation of views on output tables or to know 
whether the input is a VIEW.
About Code Generated for Jobs
257
Convert multi page pdf to single jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf page to jpg; .pdf to jpg converter online
Convert multi page pdf to single jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
change pdf to jpg online; convert pdf file to jpg file
Macro Variable
Description
_INPUT_options
Specifies the table option string, such as COMPRESS=YES 
ENCRYPT=YES. This macro option is found on the table 
options dialog box from physical storage tab on the table’s 
properties window.
_INPUT_alter
Specifies an alter or password option text so that the table can 
be deleted or altered. This macro variable is a subset of the 
_options string.
_INPUT_path
Specifies the location of table on metadata server.
_INPUT_type
Specifies a macro given by the prompting framework. This 
macro variable should always be 1 for usage with SAS Data 
Integration Studio.
jobID
Specifies the unique metadata ID code that is given to the job 
when the job is first created.
JOB_RC
Specifies a status handling macro variable that is set and reset 
(as the job runs) to be the maximum return code value 
(&trans_rc) of the completed transformations.
_OUTPUT_count
Specifies the count of output tables.
SYSLAST
Specifies the name of the transformation's output table. In 
general, accept the default value of YES when the current 
transformation creates an output table that should be the input 
of the next transformation in the process flow. Otherwise, 
select NO.
trans_rc
Specifies a status handling macro variable that is set based on 
the return code of individual steps within a transformation.
Note: Any variable that begins with _INPUT or _OUTPUT deals with the macros that 
are always generated with transformations that have inputs, outputs, or both. The 
_INPUT and _OUTPUT variables are present on the first table by default because 
SAS Data Integration Studio uses a legacy macro set. If identical _INPUT and 
_INPUT1 variables are present, _INPUT1 is the name that the user chose when 
setting up the INPUT macro variable, or it is the default if a name was not specified 
for the macro.
Users can add references to any of these in user-written code. See “About User-Written 
Code” on page 263. SAS Data Integration Studio uses these macro variables in header 
comments and in code that is associated with the status handling features of the Return 
Code Checker, SQL Join, and loader transformations.
User Credentials in Generated Code
By default, SAS Data Integration Studio looks up user credentials rather than explicitly 
including them in the code that it generates when it accesses tables in a library. This 
behavior can be changed by selecting Tools 
ð
Options from the main menu, clicking 
the General tab, and then selecting or deselecting the Use runtime lookup for 
credentials for statements requiring credentials check box. When this option is 
258
Chapter 12 2 • • Working with Generated Code
C# PDF Convert to Tiff SDK: Convert PDF to tiff images in C#.net
Using this .NET PDF to TIFF conversion control, C# developers can render and convert PDF document to TIFF image Both single page and multi-page Tiff image
c# pdf to jpg; change pdf to jpg on
JPG to PNG Converter | Convert JPEG to PNG, Convert PNG to JPG
space & pixel depth; Ability to convert single-page images between JPEG How to Convert Single JPEG Image to PNG. Select "Convert to PNG"; Select "Start" to start
convert pdf to gif or jpg; convert pdf to jpg file
selected, the code generated by SAS Data Integration Studio does not contain user 
names and passwords for SAS Connect sign-on statements. Instead, the user name and 
password are looked up at run time, using the Authentication Domain that has been 
specified for the user is his or her metadata identify on the SAS Metadata Server.
If this option is not selected, the code that is generated is based on the credentials and 
permission settings of the user who generated the code. When required, such as in 
LIBNAME statements to a relational DBMS, for pass-through, or for remote machine 
data movement, the generated code might also contain embedded credentials, with 
encoded passwords.
If the credentials of the person who created the job are changed and a deployed job 
contains outdated user credentials, then the deployed job fails to execute. The solution is 
to redeploy the job with the appropriate credentials.
Displaying the Code Generated for a Job
Problem
You want to see the code that you generated for a job.
Solution
SAS Data Integration Studio uses the metadata in a job to generate code or to retrieve 
user-written code. You can display the SAS code for a job by opening the job in the Job 
Editor window and selecting the Code tab. You can also view the SAS Code in the 
properties window for an unopened job. Note that SAS Data Integration Studio must be 
able to connect to a SAS Application Server with a SAS Workspace Server component 
in order to generate the SAS code for a job.
Tasks
View Code Displayed in the Job Editor Window
To view the code for a job that is currently displayed in the Job Editor window, click the 
Code tab. The generated code for the job is displayed on the Code tab.
View Code for a Job Not Displayed in the Job Editor Window
Perform the following steps to view the code for a job that is not displayed in the Job 
Editor window:
1. Right-click the job. Then, click Properties in the pop-up menu to open the properties 
window for the job.
2. Click the Code tab to display the generated code for the job.
Displaying the Code Generated for a Job
259
C# TIFF: C#.NET Code to Convert JPEG Images to TIFF
transform & convert various image forms, like Jpeg, Png, Bmp, Gif, and REImage object to single or multi-page Tiff image Use C# Code to Convert Jpeg to Tiff.
convert multiple page pdf to jpg; conversion pdf to jpg
JPG to Word Converter | Convert JPEG to Word, Convert Word to JPG
Open JPEG to Word Converter first; Load JPG images from local folders in "File" in toolbar Windows Explorer; How to Convert Single Word Image to JPEG.
changing pdf file to jpg; convert pdf to jpg for online
Displaying the Code Generated for a 
Transformation
Problem
You want to see the code that you generated for a transformation.
Solution
You can review the code for a transformation on the Code tab in the properties window 
for the transformation.
Tasks
Perform the following steps to see the generated code for a transformation:
1. Open the properties window for the transformation.
2. Click the Code tab. The code that is generated for the transformation is displayed. 
The value in the Code generation mode field defaults to Automatic, which displays 
both the generated code for the transformation and the wrapper code that places it 
into the job. If you want to see the generated code for the transformation without the 
wrapper code, click View Step Code.
Specifying Options for Jobs
Problem
You want to set code generation options for SAS Data Integration Studio jobs, such as 
enabling parallel processing and configuring grid processing.
Solution
In most cases the appropriate code generation options are selected by default, but you 
can override the default options. Use the Code Generation tab in the Options window to 
set global options for all new jobs. Use the Options tab in the properties window for a 
job to set local code generation options for that job.
Tasks
Set Global Options for Jobs
Use the Code Generation tab in the Options window to set global options for all new 
jobs. To display the tab, select Tools 
ð
Options 
ð
Code Generation from the menu 
bar. Then, specify the desired options.
260
Chapter 12 2 • • Working with Generated Code
JPG to JBIG2 Converter | Convert JPEG to JBIG2, Convert JBIG2 to
Ability to preserve original images without any affecting; Ability to convert image swiftly between JPG & JBIG2 in single and batch mode;
batch convert pdf to jpg; convert .pdf to .jpg online
JPG to DICOM Converter | Convert JPEG to DICOM, Convert DICOM to
Open JPEG to DICOM Converter first; Load JPG images from local folders in "File" in toolbar Windows Explorer; How to Convert Single DICOM Image to JPEG.
change file from pdf to jpg on; changing pdf to jpg file
Set Local Options for a Job
Use the Options tab in the properties window for a job to set local options for that job. 
Right-click a job and select Properties to display the properties window. Click the 
Options tab. Set the appropriate options. These local options override global options for 
the selected job, but they do not affect any other jobs.
Specifying Options for a Transformation
Problem
You want to set options for a SAS Data Integration Studio transformation, such as SAS 
Sort, SQL Join, or Extract.
Solution
You can specify SAS system options, SAS statement options, or transformation-specific 
options on the Options tab or other tabs in the properties window for many 
transformations. Use this method to select these options when a particular transformation 
executes.
Tasks
Perform the following steps to display the Options tab in the properties window for a 
transformation in a job:
1. Open the job to display its process flow.
2. Right-click the transformation and select Properties from the pop-up menu.
3. Select the Options tab.
For a description of the available options for a particular transformation, see the Help for 
the Options tab or other tabs that enable you to specify options. If the Options tab 
includes a System Options field, you can specify options such as UBUFNO for the 
current transformation. Some transformations enable you to specify options that are 
specific to that transformation. For example, the Options tab for the Sort transformation 
has specific fields for sort size and sort sequence. It also has a PROC SORT Options 
field where you can specify sort-related options that are not otherwise surfaced in the 
interface. These options are described in “Optimizing Sort Performance” on page 427.
Modifying Configuration Files or SAS Start 
Commands for Application Servers
There are several ways to customize the environment where the code generated by SAS 
Data Integration Studio runs. When you submit a SAS Data Integration Studio job for 
execution, it is submitted to a SAS Workspace Server component of the relevant SAS 
Application Server. The relevant SAS Application Server is one of the following:
• the default server that is specified on the SAS Server tab in the Options window
Modifying Configuration Files or SAS Start Commands for Application Servers
261
C# Imaging - Planet Barcode Generation Guide
bar codes on documents such as PDF, Office Word, Excel, PowerPoint and multi-page TIFF. BarcodeHeight = 200; barcode.AutoResize = true; //convert barcode to
batch convert pdf to jpg online; convert pdf pages to jpg online
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
Open JPEG to PDF Converter first; Load JPG images from local folders in "File" in toolbar Windows Explorer; How to Convert Single PDF Image to JPEG.
convert multipage pdf to jpg; best convert pdf to jpg
• the SAS Application Server to which a job is deployed with the Deploy for 
Scheduling option
To set SAS invocation options for all SAS Data Integration Studio jobs that are executed 
by a particular SAS server, specify the options in the configuration files for the relevant 
SAS Workspace Servers, batch or scheduling servers, and grid servers. (You do not set 
these options on SAS Metadata Servers or SAS Stored Process Servers.) Examples of 
these options include UTILLOC, NOWORKINIT, or ETLS_DEBUG.
To specify SAS system options or startup options for all jobs that are executed on a 
particular SAS Workspace Server, modify one of the following for the server:
• config.sas file
• autoexec.sas file
• SAS start command
For example, your SAS logs have become too large and you want to suppress the 
MPRINT option in your production environment. Perform the following steps to invoke 
the ETLS_DEBUG option in the autoexec.sas:
1. Open the autoexec.sas file.
2. Add the following code to the autoexec.sas file for your production run:
%let etls_debug=0;
3. Save and close the file.
Note: If the condition etls_debug=0 is true, then the logic in the deployed job 
prevents execution of the OPTIONS MPRINT; statement. To turn on the MPRINT 
option again, remove %let etls_debug=0; from the autoexec.sas file.
CAUTION:
It is strongly recommended that you do not turn off MPRINT in a development 
environment.
262
Chapter 12 2 • • Working with Generated Code
JPG to GIF Converter | Convert JPEG to GIF, Convert GIF to JPG
Open JPEG to GIF Converter first; Load JPG images from local folders in "File" in toolbar Windows Explorer; How to Convert Single GIF Image to JPEG.
advanced pdf to jpg converter; .net pdf to jpg
Chapter 13
Working with User-Written Code
About User-Written Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Adding User-Written Code to the Precode and Postcode Tab . . . . . . . . . . . . . . . . 264
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Adding a User Written Code Transformation to a Job . . . . . . . . . . . . . . . . . . . . . 266
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Creating and Using a Generated Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Maintaining a Generated Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Editing the Generated Code for a Job or Transformation . . . . . . . . . . . . . . . . . . . 278
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Replacing the Generated Code for a Job or Transformation . . . . . . . . . . . . . . . . . 279
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Converting a SAS Code File to a Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
About User-Written Code
By default, SAS Data Integration Studio uses the metadata for a job to generate code for 
the job. If the generated code does not do what you want, you can do the following:
• add user-written code that will be executed before or after a job or transformation
263
• add a User-Written Code transformation to a job
• use the Transformation Generator wizard to create a custom transformation and add 
it to a job 
• edit the generated code for a job or transformation
• replace the generated code for a job or transformation
• convert a SAS program and import into SAS Data Integration Studio as a job
Adding User-Written Code to the Precode and 
Postcode Tab
Problem
You want to set a SAS option, assign a libref, or perform some other action immediately 
before or after a job or transformation is executed.
Solution
You can add the user-written code on the Precode and Postcode tab in the properties 
window for a job or transformation. For example, you can add a libref to an existing job 
that enables you to use a table from an unregistered library, as in the following sample 
job.
Tasks
Add the User-Written Code to the Precode or Postcode Field
Perform the following steps to insert the user-written code:
1. Create a job, or open an existing job. The sample job, which is named Extract Job, is 
shown in the following display.
Display 13.1 Sample Process Flow
2. Open the Precode and Postcode tab in the properties window for the transformation 
or job that you need to change. In the sample job, the code is added to the job itself 
in order to provide access to the target table, ALL_FEMALE_EMP.
3. Select the appropriate Precode or Postcode check box. The check box that you 
select depends on whether the user-written code that you add runs before or after the 
source code for the job or transformation. The sample job requires precode.
4. Enter the user-written code in the field that is associated with the selected check box. 
The code shown in the following display is entered into the sample job.
264
Chapter 13 3 • • Working with User-Written Code
Display 13.2 Sample User-Written Precode
Save the User-Written Code to a File
This is an optional task. Perform the following steps to save the user-written code to a 
file that you can reuse:
1. Click the Save As button to access the Save As window. 
2. Select the File check box. Then, enter a server, name, and location for the file in the 
appropriate fields. The settings for the sample job are shown in the following 
display.
Display 13.3 Sample Save As Window
Note: You can also select the Metadata check box and save the user-written code to 
the metadata server. In any case, the Save As window applies your changes to the 
current session. To make your changes persist after the current session, you must 
save the entire job. To save the entire job, select File 
ð
Save from the menu bar 
on the desktop.
Adding User-Written Code to the Precode and Postcode Tab
265
3. Click OK to save the file and return to the properties window. Later, you can reuse 
the code in the file. Simply click the appropriate Open button on the Precode and 
Postcode tab.
4. Open the Code tab to verify that the user-written code is added to the job. The 
following display shows a portion of the Code tab for the sample job.
Display 13.4 Sample Code Tab Content
5. Click OK to save the changes to the job or transformation and close the properties 
window.
Adding a User Written Code Transformation to a 
Job
Problem
You want to add user-written code to a job. One method is to use the User Written Code 
transformation that is provided in Transformations tree. After you place this 
transformation in a job, you can add user-written code on the Code tab of its properties 
window and map its columns to the target table. This approach works particularly well 
with jobs that need quick custom code or that require only one input and output and no 
parameters. More complicated situations are handled more effectively with the 
Transformation Generator wizard.
Solution
You can create a job that includes the User Written Code transformation. You need to 
add the code to the job in the User Written Code transformation. Then, you need to map 
the columns from the transformation to the target table. Perform the following tasks:
• “Create and Populate the Job” on page 266
• “Add User-Written Code to the User Written Code Transformation and Map 
Columns” on page 267
• “Run the Job” on page 268
• “View the Output” on page 268
Tasks
Create and Populate the Job
Perform the following tasks to create a job that uses the User Written Code 
transformation:
266
Chapter 13 3 • • Working with User-Written Code
Documents you may be interested
Documents you may be interested