|
Archives of the TeradataForumMessage Posted: Thu, 24 May 2012 @ 15:36:02 GMT
Thanks for the suggestions on how to get the ActivityCount from Bteq, which appear to be either use a Stored Procedure to run the DML, or use a scripting language to 'grep' it from the log file. Well, I've decided to do the latter approach and, if I say it myself, I'm pretty pleased with the end result. So, for anyone who's thinking of doing something similar, this is pretty much how I've done it (leaving out some technical specifics, which don't help in the explanation): ------------------------------------------------------------------ bteq << EOI . . lots of bteq stuff . . /* Update existing rows */ UPDATE $ENV$TARGET_DB.CORCOV01 TGT1 SET EDW_LOAD_TD=CORCOW02.EDW_LOAD_TD, CON_DELETE_IN=CORCOW02.CON_DELETE_IN, CON_ADD_TD=CORCOW02.CON_ADD_TD, CON_ROW_UPDT_TD=CORCOW02.CON_ROW_UPDT_TD and other Columns WHERE TGT1.CON_ID=CORCOW02.CON_ID /* Insert new rows */ INSERT INTO $ENV$TARGET_DB.CORCOV01 (CON_ID ,EDW_LOAD_TD ,CON_DELETE_IN ,CON_SHIPPER_TYP_CD ,CON_ROW_UPDT_TD and other Columns FROM CORCOW02 WRK2 WHERE NOT EXISTS (SELECT 1 FROM $ENV$TARGET_DB.CORCOV01 TGT1 WHERE TGT1.CON_ID= WRK2.CON_ID ) ; .If ErrorCode <> 0 Then .Exit 12; .OS python $py_path/processLogfile.py ${table_name}.log ${out_file} >> ${log_file} .IMPORT VARTEXT '|' FILE = /edw/dataloads/service/coadmin/consignment/data/corcot01_${C3}_log.txt, SKIP=1 USING (DB_NM VARCHAR(30) ,TB_NM VARCHAR(30) ,INS_CT VARCHAR(5) ,UPD_CT VARCHAR(5) ,DEL_CT VARCHAR(5)) EXEC DEVDBA_X.LOAD_LOG_M (:DB_NM ,:TB_NM ,:INS_CT ,:UPD_CT ,:DEL_CT); . . .Exit 0; EOI ------------------------------------------------------------------ So, the Operating System call runs my script (processLogfile.py), which is passed the name of the log file (containing the DML log entries for the previous DML statements), then after finding the ones it needs, writes them to an output file. From there, an Import will use that written data to write (via a simple Macro) to an Audit Table. Simple, but I'd say fit for purpose. Regards David Clough
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||