This page summarises the Asset Queries currently shipping with S2PX. Asset Queries are similar to MettleCI Compliance Queries in that they parse your DataStage Server Jobs' designs to identify design patterns that could impede S2PX’s ability to convert your Server Job to a Parallel equivalent that behaves identically.
The asset queries in S2PX are embedded within the MettleCI s2px analysis CLI command which is used for the pre-conversion identification of aspects of your DataStage Server jobs which will affect the conversion effort. The Asset Queries are classified below by the kind of information they produce and the actions they might prompt:
|
Query Classification |
Description |
|---|---|
|
Advisory |
Queries identifying Jobs with issues you may want to be informed of, but about which no action is either possible or required. |
|
Coverage |
Utility queries, useful for effort estimation, which describe the components of each Server Job which are not converted by S2PX. |
|
Custom Functions |
Queries identifying Jobs that don't contain custom Server routines and so potentially offering a quicker path to a Unit Testing result of their S2PX-generated Parallel equivalents. |
|
Decomposition |
Queries describing how many Parallel artefacts or Job Sequences your Server Job will be decomposed into as part of conversion. See Job Decomposition. |
|
Functions |
Queries identifying Jobs with issues relating to the use of functions. |
|
Known Issues |
Queries identifying where S2PX will unavoidably generate a solution susceptible to a defect in the DataStage Parallel environment. |
|
One Time Tasks |
Queries describing the conversion tasks that require remediation activity per artefact, rather than a remediation for each reference to that artefact. For example, a Custom Routine needs to be converted once, regardless of the number of times it is referenced within Jobs. |
|
Remediation |
Queries describing the conversion tasks that unavoidably require a human to make a DataStage design decision, and implement the change manually within one or more generated artefact(s). |
S2PX Asset Queries
| Asset Query | Server Asset Type | Analysis Type | Description |
|---|---|---|---|
| Sort Specification with External Map File |
Sort stage |
Remediation |
Returns the stage, sort column and external map file name where an external map file has been included in the Sort Specification |
| Sequential File Incomplete Column Abort |
Sequential File stage |
Advisory |
Describes the Stage, Link and Column that are not set to the default Missing Column Action value. |
| Hashed Files Non-Exclusive |
Hashed File stage |
Hashed Files |
Identifies jobs featuring Hashed Files that are both read from and written to, but the write operation appends to previous contents instead of overwriting. |
| Row Splitter stages with Multiple Lines Property |
Row Splitter stage |
Remediation |
Reports Row Splitter stages that have the Multiple Lines property enabled |
| Folder Stage with input links |
Folder stage |
Known Issues |
Identify where Folder stages will generate a solution susceptible to a defect in the DataStage Parallel environment |
| Sequential File with Suppress Truncation Warnings |
Sequential File stage |
Remediation |
Checks if a Sequential file stage in a Server job has a Sequential File configured to suppress Row truncation warnings. |
| Sequential File with Backup |
Sequential File stage |
Remediation |
Sequential file output uses input link with ‘backup before’ property set. |
| Same Column Name with Different Cases |
Job, Shared Containers |
Remediation |
Identifies Jobs containing link metadata and/or stage variable with the same column/stage variable names but different cases. |
| Hashed File Synchronisation |
Hashed File stage |
Hashed Files |
Identifies jobs featuring Hashed Files that do not read and write from the same stage. |
| No Custom Functions |
Custom Functions |
Custom Functions |
Identify Jobs that don't contain custom Server routines. |
| Reserved Words in Transformer Stages |
Transformer stage |
Remediation |
Identifies all Server Transformer Stages using a Job Parameter or Stage Variable name featuring a DataStage Reserved word |
| Hashed File Not Clearing Before Writing |
Hashed File stage |
One-time task |
Identifies Hashed Files output (write) stages where the Clear file before writing option has not been checked, and so the Hashed File represent data that persists between job invocations. |
| Job Growth due to Decomposition |
Job |
Decomposition |
Describes the number of Parallel Jobs and sequences converting each Server Job will generate. |
| Job Control Routines |
Job |
Decomposition |
Identifies Jobs that use a Job Control Routine |
| Transformer has Reject Links |
Transformer Stage |
Remediation |
Transformer reject links are not available in the Parallel engine |
| Sequential File with Omit Last NewLine |
Sequential File stage |
Remediation |
Checks if a Sequential file stage in a Server job has an input link where "Omit Last New-Line" has been set. |
| Folder Stage not preserving new lines |
Folder stage |
Coverage |
Identify Folder stages using the ‘Preserve CRLF’ property |
| Merge Stage with Escape Character |
Merge stage |
Coverage |
Template |
| Sequential File Bad Column Headers |
Sequential File stage |
Advisory |
Checks if a Sequential file stage in a Server job has a link where "First line is column headers" has been set. |
| Sequential File Uses Named Pipes |
Sequential File stage |
Remediation |
Returns the name of any stage that is set use Named Pipes. |
| Unsupported Macros |
Job, Shared Container |
Remediation |
A sub-set of DataStage Macros available in Server Jobs are not available in the Parallel engine. |
| Hashed File with Selection |
Hashed File stage |
Remediation |
Identifies Hashed Files stages using a SELECT clause. |
| Unsupported System Variables |
Job, Shared Container |
Remediation |
A sub-set of DataStage System Variables available in Server Jobs are not available in the Parallel engine. |
| Char Function Call |
Transformer stage |
Remediation |
Identifies Transformers which call |
| Custom Basic Transform Routines |
Routines |
One-time task |
List custom routines used by jobs |
| Sequential File Incomplete Column Handling |
Sequential File stage |
Remediation |
Describes the Stage, Link and Column that are not set to the default Missing Column Action value. |
| Sort with Temporary Directory |
Sort stage |
One-time task |
Reports on stages where a Temporary Directory has been set to write temporary sort files |
| Active Stage Before or After Routines |
Active Stages |
Remediation |
Identifies active stages that call a before- or after-stage routine, with call details |
| Disable Schema Reconciliation |
Database Connectors |
Remediation |
List of Connectors supporting Schema Reconciliation that have Fail on type mismatch property set to True |
| Sequential File with Concurrent Write Operations |
Sequential File stage |
Remediation |
Describes the Stage, file name and Link names involved in concurrent write operations to the same Sequential File. |
| Row Splitter with Fixed Width Property |
Row Splitter stage |
Remediation |
Reports Row Splitter stages that have the Fixed Width property enabled |
| Server Function Calls |
Job, Shared Container |
Functions |
List every call of Server only functions, custom routines and transforms using unsupported functions |
| Transaction Grouping Enabled |
Database Connectors and legacy Stages |
Remediation |
Reports any stages that have Enable Transaction Grouping enabled |
| S2PX Functionality Gap by Stage Type |
Job, Shared Container |
Coverage |
Identifies Jobs where all of their constituent stage types are supported by S2PX |
| Row Merger with Fixed Width Property |
Row Merger stage |
Remediation |
Reports Row Merger stages that have the Fixed Width property enabled |
| Hashed Files Unmatched Access |
Hashed File stage |
Hashed Files |
Identifies jobs featuring Hashed Files that are either read from or written to, but not both |
| Link Partition Using Hash Partitioning Algorithm |
Job, Shared Containers |
Remediation |
Identifies Jobs using Link Partition stage with Partitioning Algorithm set to Hash |
| VarChar Null and Empty Overlap |
Job, Shared Container |
Advisory |
Server Jobs differentiating Null and empty strings which requires modifications to achieve in the Parallel engine. |
| Column Name Contains Unsupported Characters |
Job, Shared Containers |
Remediation |
Identifies Jobs containing link metadata with column names containing specific characters |
| Row Merger stages with Multiple Lines Property |
Row Merger Stage |
Remediation |
Reports Row Merger stages that have the Multiple Lines property enabled |
| Fixed Width Sequential File With Line Termination |
Sequential File stage |
Advisory |
Checks if a Sequential file stage in a Server job is set to Fixed Width and has Line Endings NOT set to “none”. |
| Hashed Files to be Migrated to DB |
Hashed File stage |
One-time task |
Identifies Hashed Files used by each job (design-time list, may be parameterised) |