Overview of SmartSwitch feature
The SmartSwitch feature lets you take advantage of the BMC AMI Unload for Db2 (BMC AMI Unload) product without changing your existing UNLOAD PLUS JCL. SmartSwitch dynamically "switches" jobs from UNLOAD PLUS to BMC AMI Unload, based on BMC AMI Unload capabilities and the rules that you specify to comply with your business needs. With SmartSwitch, you can enhance performance by exploiting a mixture of UNLOAD PLUS and BMC AMI Unload functions.
Licensing requirements
To use SmartSwitch, the following conditions must exist:
- You are using version 11.2.00 of UNLOAD PLUS.
- You are using version 11.2.00 or 12.1.00 of BMC AMI Unload.
- You have a license to use at least one of the following BMC solutions:
- BMC AMI Utilities for Db2
- BMC AMI Database Administration for Db2
- BMC AMI Unload-Load for Db2
Limitations
SmartSwitch is subject to the following limitations in the following cases:
- Version 11.2.00 of BMC AMI Unload cannot process UNLOAD PLUS jobs that includes an OUTPUT command to allocate the SYSREC data set.
- Version 11.2.00 of BMC AMI Unload cannot process UNLOAD PLUS jobs that contain:
- Multiple SELECT statements
The FORMAT UNLOAD option
This option is incompatible with FORMAT STANDARD in BMC AMI Unload. If you are using the FORMAT option in UNLOAD PLUS, you must specify either DSNTIAUL or STANDARD.
SmartSwitch INTO restrictions
(SPE2010) Smartswitch switches to BMC AMI Unload 12.1.00 when INTO is present in the SELECT statement. The following items prevent SmartSwitch from switching:
- Any conversion to FLOAT EXTERNAL, including when FORMAT EXTERNAL is set and no data type is supplied for a FLOAT column on the INTO statement
- Conversion from DECIMAL to FLOAT
- Conversion from FLOAT to CHAR or VARCHAR
- Conversion from CHAR or VARCHAR to FLOAT
- Conversions to FLOAT with FORMAT CSV
- Conversions when using DIRECT NO and Unicode or ASCII
- Conversions to DATE, TIME, or TIMESTAMP without EXTERNAL
- Conversions to GRAPHIC EXTERNAL or VARGRAPHIC EXTERNAL
- Use of TRIM or TRUNCATE for Numeric and Graphic datatypes
- Use of IF ERROR
- Use of ROUND function
- Conversions using CURRENT DATE, CURRENT TIME and CURRENT TIMESTAMP.
- Use of TRIM and TRUNCATE for conversions from numeric datatypes to CHAR or VARCHAR.
- Conversion of the following datatypes: DECFLOAT,DECFLOAT EXTERNAL, XML, CLOB, LOB, DBLOB, BINARY, VARBINARY and VARYING BINARY.
- IF statements that compare a numeric value to a hex value
) Differences in behavior occurrence
- Unload Plus discards rows when converting from CHAR or VARCHAR to any numeric data type where NULL values are present. BMC AMI Unload fails.
- Unload Plus discards rows where data type conversion leads to out of range values. BMC AMI Unload issues an error.
- Unload Plus ignores scale when converting DECIMAL to CHAR or VARCHAR. BMC AMI Unload honors it.
- Unload Plus and BMC AMI Unload behave differently when using INTO DECIMAL without precision or scale being specified. Unload Plus retains the data found in the scale portion whereas BMC AMI Unload only retains the precision portion of the data as no scale was supplied.
- When using IF value('xxx') with FOR BIT column, Unload Plus assigns the value as defined. BMC AMI Unload first converts the value to the encoding scheme of the table and apply the converted value. When working with FOR BIT it is recommended to use x'...' constants to avoid this conversion.
For more information about SmartSwitch, see the following references:
Task | Reference |
---|---|
How SmartSwtich works | |
SmartSwitch considerations | |
Managing SmartSwitch | |
Troubleshooting SmartSwtich |
For more information, view the Quick Course Setting up SmartSwitch. |
Related topic