Hello below is my TPT script:
/*USING CHAR SET UTF8*/
DEFINE JOB MyJob_jb
DESCRIPTION 'Loading'
(
DEFINE OPERATOR LOAD_ALL
TYPE {OPERATEUR}
SCHEMA *
ATTRIBUTES (
TdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
VARCHAR LogTable = 'MyJob_jb_LOG',
VARCHAR ErrorTable1 = 'MyJob_ERR1',
VARCHAR ErrorTable2 = 'MyJob_ERR2',
VARCHAR TargetTable = 'MyJob_TMPTD',
VARCHAR WorkTable = 'MyJob_TMPTD_WK',
DropErrorTable = 'Yes',
QueryBandSessInfo = 'UtilityDataSize={QBSI};'
);
DEFINE SCHEMA DATA_SCHM_LMXXXX_MSG
(
"ERRCODE" VARCHAR(20),
"MESSAGE" VARCHAR(255),
"MyTable" VARCHAR(100)
);
DEFINE OPERATOR FILE_WRTR_LMXXXX_MSG
TYPE DATACONNECTOR CONSUMER
SCHEMA *
ATTRIBUTES
(
VARCHAR FileName = 'LMXXXX.msg',
VARCHAR Indicator ='N',
VARCHAR OpenMode = 'Write',
VARCHAR TextDelimiter = '|',
VARCHAR Format = 'Delimited'
);
DEFINE OPERATOR SQL_SEL_LMXXXX_MSG
TYPE SELECTOR
SCHEMA DATA_SCHM_LMXXXX_MSG
ATTRIBUTES
(
tdpiD = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt=' SELECT DISTINCT CAST(A.ETC_ErrorCode AS VARCHAR(20)),
B.Errortext, ''L_M'' AS MyTable
FROM L_M_ERR_IS
A INNER JOIN DBC.ERRORMSGS B
ON B.ERRORCODE=A.ETC_ErrorCode;'
);
DEFINE SCHEMA DATA_SCHM1_L_M
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350)
);
DEFINE OPERATOR FILE_WRTR1_L_M
TYPE DATACONNECTOR CONSUMER
SCHEMA *
ATTRIBUTES
(
VARCHAR FileName = @BadFile,
VARCHAR Indicator = 'N',
VARCHAR OpenMode = 'WriteAppend',
VARCHAR TextDelimiter = '|',
VARCHAR Format = 'Delimited'
);
DEFINE OPERATOR SQL_SEL1_L_M
TYPE SELECTOR
SCHEMA DATA_SCHM1_L_M
ATTRIBUTES
(
tdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt = 'SELECT
A."ID",
A."NAME",
A."CD"
FROM L_M_TMPTD A
INNER JOIN L_M_ERR_IS B
ON A.ROWID=B.ETC_ROWID;'
);
DEFINE SCHEMA DATA_SCHM1_L_M_PI
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350)
);
DEFINE OPERATOR SQL_SEL1_L_M_PI
TYPE SELECTOR
SCHEMA DATA_SCHM1_L_M_PI
ATTRIBUTES
(
tdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt = 'SELECT
"ID",
"NAME",
"CD"
FROM L_M_TMPTD
WHERE FLAG=''1'';'
);
DEFINE SCHEMA SCHEMA_GENERIC
(
COL0 VARCHAR(350),
COL1 VARCHAR(350),
COL2 VARCHAR(350),
COL3 VARCHAR(350)
);
DEFINE OPERATOR DDL_OPERATOR
TYPE DDL
ATTRIBUTES (
TdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
DateForm = 'ansiDate',
DropErrorTable = 'Yes',
ARRAY ErrorList = ['3807']
);
DEFINE OPERATOR READER_G
TYPE DATACONNECTOR PRODUCER
SCHEMA SCHEMA_GENERIC
ATTRIBUTES (
AcceptMissingColumns = 'Y',
AcceptExcessColumns = 'Y',
FileName = @FileName,
Format = 'Delimited',
TextDelimiter = ';',
OpenMode = 'Read'
);
STEP DROPG_STG(
APPLY
('DROP TABLE MyJob_jb_LOG;'),
('DROP TABLE MyJob_ERR1;'),
('DROP TABLE MyJob_ERR2;'),
('DROP TABLE MyJob_TMPTD_WK;'),
('DROP TABLE MyJob_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_ERROR_TABLE(
APPLY
('DROP TABLE L_M_ERR_IS;'),
('CREATE ERROR TABLE L_M_ERR_IS FOR L_M;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_STG(
APPLY
'CREATE MULTISET TABLE MyJob_tmptd
( COL0 VARCHAR(350),
COL1 VARCHAR(350),
COL2 VARCHAR(350),
COL3 VARCHAR(350)
NO PRIMARY INDEX;'
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_INTER(
APPLY
('DROP TABLE L_M_TMPTD;'),
('CREATE MULTISET TABLE L_M_TMPTD
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350),
FLAG BYTEINT)
;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP LOAD_TABLE_STG
(
APPLY
(
'INSERT INTO MyJob_TMPTD
(
"COL0",
"COL1",
"COL2",
"COL3"
)
VALUES
(
:COL0,
:COL1,
:COL2,
:COL3
);'
)
TO OPERATOR (
LOAD_ALL[1]
)
SELECT
"COL0",
"COL1",
"COL2",
"COL3"
FROM OPERATOR (
READER_G[1]
);
);
STEP LOAD_DWH1(
APPLY(
'INSERT INTO L_M_TMPTD
(
"ID",
"NAME",
"CD",
"FLAG"
)
SELECT
COL1,
COL2,
COL3,
CASE WHEN (G_COL1 ='''') THEN 1 ELSE 0 END
FROM MyJob_TMPTD
;'
)
TO OPERATOR(
DDL_OPERATOR
);
);
STEP ERROR_EXP_L_M_PI(
APPLY
TO OPERATOR (FILE_WRTR1_L_M())
SELECT * FROM OPERATOR (SQL_SEL1_L_M_PI());
);
STEP DEL_EXP_L_M_TMPTD(
APPLY
('DELETE FROM L_M_TMPTD WHERE FLAG = ''1'';')
TO OPERATOR(DDL_OPERATOR);
);
STEP LOAD_DWH101(
APPLY(
'INSERT INTO L_M
(
"ID",
"NAME",
"CD"
)
SELECT
"ID",
"NAME",
"CD"
FROM L_M_TMPTD
LOGGING ALL ERRORS WITH NO LIMIT ;'
)
TO OPERATOR(
DDL_OPERATOR
);
);
STEP ERROR_EXP_JJ(
APPLY
TO OPERATOR (FILE_WRTR1_L_M())
SELECT * FROM OPERATOR (SQL_SEL1_L_M());
);
STEP ERROR_MSG_LMXXXX(
APPLY
TO OPERATOR (FILE_WRTR_LMXXXX_MSG())
SELECT * FROM OPERATOR(SQL_SEL_LMXXXX_MSG());
);
STEP DROP_ERROR_TABLE(
APPLY
('DROP TABLE L_M_ERR_IS;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP DROP_INTER_TABLE(
APPLY
('DROP TABLE L_M_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP DROPG_STG_END(
APPLY
('DROP TABLE MyJob_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
);
Teradata Parallel Transporter Version 14.10.00.08
Hello below is my TPT script:
/*USING CHAR SET UTF8*/
DEFINE JOB MyJob_jb
DESCRIPTION 'Loading'
(
DEFINE OPERATOR LOAD_ALL
TYPE {OPERATEUR}
SCHEMA *
ATTRIBUTES (
TdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
VARCHAR LogTable = 'MyJob_jb_LOG',
VARCHAR ErrorTable1 = 'MyJob_ERR1',
VARCHAR ErrorTable2 = 'MyJob_ERR2',
VARCHAR TargetTable = 'MyJob_TMPTD',
VARCHAR WorkTable = 'MyJob_TMPTD_WK',
DropErrorTable = 'Yes',
QueryBandSessInfo = 'UtilityDataSize={QBSI};'
);
DEFINE SCHEMA DATA_SCHM_LMXXXX_MSG
(
"ERRCODE" VARCHAR(20),
"MESSAGE" VARCHAR(255),
"MyTable" VARCHAR(100)
);
DEFINE OPERATOR FILE_WRTR_LMXXXX_MSG
TYPE DATACONNECTOR CONSUMER
SCHEMA *
ATTRIBUTES
(
VARCHAR FileName = 'LMXXXX.msg',
VARCHAR Indicator ='N',
VARCHAR OpenMode = 'Write',
VARCHAR TextDelimiter = '|',
VARCHAR Format = 'Delimited'
);
DEFINE OPERATOR SQL_SEL_LMXXXX_MSG
TYPE SELECTOR
SCHEMA DATA_SCHM_LMXXXX_MSG
ATTRIBUTES
(
tdpiD = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt=' SELECT DISTINCT CAST(A.ETC_ErrorCode AS VARCHAR(20)),
B.Errortext, ''L_M'' AS MyTable
FROM L_M_ERR_IS
A INNER JOIN DBC.ERRORMSGS B
ON B.ERRORCODE=A.ETC_ErrorCode;'
);
DEFINE SCHEMA DATA_SCHM1_L_M
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350)
);
DEFINE OPERATOR FILE_WRTR1_L_M
TYPE DATACONNECTOR CONSUMER
SCHEMA *
ATTRIBUTES
(
VARCHAR FileName = @BadFile,
VARCHAR Indicator = 'N',
VARCHAR OpenMode = 'WriteAppend',
VARCHAR TextDelimiter = '|',
VARCHAR Format = 'Delimited'
);
DEFINE OPERATOR SQL_SEL1_L_M
TYPE SELECTOR
SCHEMA DATA_SCHM1_L_M
ATTRIBUTES
(
tdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt = 'SELECT
A."ID",
A."NAME",
A."CD"
FROM L_M_TMPTD A
INNER JOIN L_M_ERR_IS B
ON A.ROWID=B.ETC_ROWID;'
);
DEFINE SCHEMA DATA_SCHM1_L_M_PI
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350)
);
DEFINE OPERATOR SQL_SEL1_L_M_PI
TYPE SELECTOR
SCHEMA DATA_SCHM1_L_M_PI
ATTRIBUTES
(
tdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
SelectStmt = 'SELECT
"ID",
"NAME",
"CD"
FROM L_M_TMPTD
WHERE FLAG=''1'';'
);
DEFINE SCHEMA SCHEMA_GENERIC
(
COL0 VARCHAR(350),
COL1 VARCHAR(350),
COL2 VARCHAR(350),
COL3 VARCHAR(350)
);
DEFINE OPERATOR DDL_OPERATOR
TYPE DDL
ATTRIBUTES (
TdpId = @TDPID,
UserName = @UserName,
UserPassword = @Password,
DateForm = 'ansiDate',
DropErrorTable = 'Yes',
ARRAY ErrorList = ['3807']
);
DEFINE OPERATOR READER_G
TYPE DATACONNECTOR PRODUCER
SCHEMA SCHEMA_GENERIC
ATTRIBUTES (
AcceptMissingColumns = 'Y',
AcceptExcessColumns = 'Y',
FileName = @FileName,
Format = 'Delimited',
TextDelimiter = ';',
OpenMode = 'Read'
);
STEP DROPG_STG(
APPLY
('DROP TABLE MyJob_jb_LOG;'),
('DROP TABLE MyJob_ERR1;'),
('DROP TABLE MyJob_ERR2;'),
('DROP TABLE MyJob_TMPTD_WK;'),
('DROP TABLE MyJob_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_ERROR_TABLE(
APPLY
('DROP TABLE L_M_ERR_IS;'),
('CREATE ERROR TABLE L_M_ERR_IS FOR L_M;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_STG(
APPLY
'CREATE MULTISET TABLE MyJob_tmptd
( COL0 VARCHAR(350),
COL1 VARCHAR(350),
COL2 VARCHAR(350),
COL3 VARCHAR(350)
NO PRIMARY INDEX;'
TO OPERATOR (
DDL_OPERATOR
);
);
STEP CREATE_INTER(
APPLY
('DROP TABLE L_M_TMPTD;'),
('CREATE MULTISET TABLE L_M_TMPTD
(
"ID" VARCHAR(350),
"NAME" VARCHAR(350),
"CD" VARCHAR(350),
FLAG BYTEINT)
;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP LOAD_TABLE_STG
(
APPLY
(
'INSERT INTO MyJob_TMPTD
(
"COL0",
"COL1",
"COL2",
"COL3"
)
VALUES
(
:COL0,
:COL1,
:COL2,
:COL3
);'
)
TO OPERATOR (
LOAD_ALL[1]
)
SELECT
"COL0",
"COL1",
"COL2",
"COL3"
FROM OPERATOR (
READER_G[1]
);
);
STEP LOAD_DWH1(
APPLY(
'INSERT INTO L_M_TMPTD
(
"ID",
"NAME",
"CD",
"FLAG"
)
SELECT
COL1,
COL2,
COL3,
CASE WHEN (G_COL1 ='''') THEN 1 ELSE 0 END
FROM MyJob_TMPTD
;'
)
TO OPERATOR(
DDL_OPERATOR
);
);
STEP ERROR_EXP_L_M_PI(
APPLY
TO OPERATOR (FILE_WRTR1_L_M())
SELECT * FROM OPERATOR (SQL_SEL1_L_M_PI());
);
STEP DEL_EXP_L_M_TMPTD(
APPLY
('DELETE FROM L_M_TMPTD WHERE FLAG = ''1'';')
TO OPERATOR(DDL_OPERATOR);
);
STEP LOAD_DWH101(
APPLY(
'INSERT INTO L_M
(
"ID",
"NAME",
"CD"
)
SELECT
"ID",
"NAME",
"CD"
FROM L_M_TMPTD
LOGGING ALL ERRORS WITH NO LIMIT ;'
)
TO OPERATOR(
DDL_OPERATOR
);
);
STEP ERROR_EXP_JJ(
APPLY
TO OPERATOR (FILE_WRTR1_L_M())
SELECT * FROM OPERATOR (SQL_SEL1_L_M());
);
STEP ERROR_MSG_LMXXXX(
APPLY
TO OPERATOR (FILE_WRTR_LMXXXX_MSG())
SELECT * FROM OPERATOR(SQL_SEL_LMXXXX_MSG());
);
STEP DROP_ERROR_TABLE(
APPLY
('DROP TABLE L_M_ERR_IS;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP DROP_INTER_TABLE(
APPLY
('DROP TABLE L_M_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
STEP DROPG_STG_END(
APPLY
('DROP TABLE MyJob_TMPTD;')
TO OPERATOR (
DDL_OPERATOR
);
);
);
Teradata Parallel Transporter Version 14.10.00.08