September 13, 2013 \ Ananth TM Datastage Server Job Code Walkthrough Checklist Category Checkpoint General Check if naming conventions are followed for job names General Check if annotations are used where appropriate descriptions General Check if the flow of stages is from left to right General Check if the extract, lookup, transformation and load process are separate for restart purpose General Check if stage names are meaningful and as per the standards defined for the project General Check if link names are meaningful and used as per the standards defined for the project Sequential File Stage Check if the input and output filenames are parameterized Sequential File Stage Check if the stage refers to the correct input and output filenames Sequential File Stage Check if the properties set in the format tab matches the sequential file format, for example delimiter and quote character Sequential File Stage Check if the column metadata matches with the layout of the file Sequential File Stage Use “View Data” to see if the file can be accessed successfully and ignore any error if the file is a new output file Database Stages like ODBC, Oracle, DB2/UDB Check if the Database source name, User ID, Password are parameterized Database Stages like ODBC, Oracle, DB2/UDB Check if the table name is specified and the generated SQL matches with the desired operation Database Stages like ODBC, Oracle, DB2/UDB Check that user defined SQL is used in unavoidable circumstances and select list includes column names instead of “SELECT *” Database Stages like ODBC, Oracle, DB2/UDB Check if necessary filters are applied on the table using WHERE clause in stage output Database Stages like ODBC, Oracle, DB2/UDB Check if the columns specified for ORDER BY clause are correct in stage output Database Stages like ODBC, Oracle, DB2/UDB Check if the required Update action is specified for the table in stage input Database Stages like ODBC, Oracle, DB2/UDB Check if the column metadata matches with the table DDL Database Stages like ODBC, Oracle, DB2/UDB Use “View Data” to see if the table can be accessed successfully Database Stages like ODBC, Oracle, DB2/UDB Check if the job utilizes native connectivity to databases using plug-in database stages instead of ODBC Transformer Stage Check if all the required derivations are performed for columns in output links Transformer Stage Check if validations are performed for numeric and date fields even if not mentioned in design Transformer Stage Check if null check is performed for all the columns used in expressions Transformer Stage Check if appropriate error message is generated for invalid values for numeric or date fields validations Transformer Stage Check if data types of columns and constants used in expressions matches to avoid needless type conversions Transformer Stage If multiple column derivations use the same part of expressions, check if the part of expression is coded and referenced using stage variables Transformer Stage Check if the stage variable names are meaningful Transformer Stage If an expression includes calculated constant values, check if it is declared as stage variable and an initial value is specified in the variables list Transformer Stage Check if the constraint conditions are valid and correct Transformer Stage Check if reject link is used to capture rejected records during processing Transformer Stage If the subsequent stage is a database stage, check if the columns in outputs links does not output NULL values for NOT NULL columns in the table Transformer Stage If reference input link is used, check if the key expression on the reference link is correct Transformer Stage If there are more than one output link, check to see if the output links are in the desired execution order Transformer Stage Check if any before or after-stage subroutines are required and used with correct input values Transformer Stage Check if it is possible to optimize and combine the derivations from multiple transformers into a single transformer Hashed File Stage Check if the input and output filenames are parameterized Hashed File Stage Check if the stage refers to the correct input and output filenames Hashed File Stage If the Hashed File stage is used to write and read from the same file, check if the same filename is specified in input and output tabs Hashed File Stage Check if the column metadata matches with the layout of the file Hashed File Stage Use “View Data” to see if the file can be accessed successfully and ignore any error if the file is a new output file Sort Stage Sort Stage Check if the input and output columns metadata are the same Sort Stage Check if the Sort specifications are valid and correct per requirements Sort Stage Check if any before or after-stage subroutines are required and used with correct input values Aggregator Stage Aggregator Stage Check if the column derivation in Output tab corresponds to the required aggregations Aggregator Stage Check if any before or after-stage subroutines are required and used with correct input values Job properties Check if the short & full Job descriptions are entered as per standards Job properties Check if any before or after-stage subroutines are required and used with correct input values Job properties Check if parameters are used in the jobs instead of hard-coding Job properties Check if parameter naming conventions are followed Job properties Check if correct data types are assigned for parameters Job properties Check if default values for parameters are set correctly especially for batch jobs Job properties Check if parameters involving passwords are encrypted Job properties Check if appropriate help text for parameters are provided (this is useful if the job is called in the job sequence) Job properties In an NLS environment, some date transforms will not work for most formats. Check if time/date locale for the job is set to OFF.