You are on page 1of 1

.LOGTABLE TDFACT.

DAILY_SALES_MLOAD_LOG ;
.LOGON LOCALTD/tduser,tduser ;
.BEGIN MLOAD TABLES
TDFACT.DAILY_SALES_MLOAD;
.LAYOUT
Record_Layout;
.FIELD IN_IND
*
VARCHAR(1);
.FIELD IN_ITEMID
*
varchar(10);
.FIELD IN_SLSDT
*
varchar(8);
.FIELD IN_SALES
*
varchar(10);
.DML LABEL INSERT_DAILY;
INSERT INTO TDFACT.DAILY_SALES_MLOAD VALUES
(:IN_ITEMID, :IN_SLSDT, :IN_SALES);
.DML LABEL UPSERT_DAILY MARK MISSING UPDATE ROWS
DO INSERT FOR MISSING UPDATE ROWS ;
UPDATE TDFACT.DAILY_SALES_MLOAD
SET SALES = :IN_SALES * .25
WHERE ITEMID = :IN_ITEMID AND SALESDATE = :IN_SLSDT;
INSERT INTO TDFACT.DAILY_SALES_MLOAD VALUES
(:IN_ITEMID, :IN_SLSDT, :IN_SALES);
.DML LABEL DELETE_DAILY ;
DELETE FROM TDFACT.DAILY_SALES_MLOAD
WHERE ITEMID = :IN_ITEMID AND SALESDATE = :IN_SLSDT;
.IMPORT INFILE D:\daily_sales_vartext_mload.csv
FORMAT VARTEXT '|' DISPLAY ERRORS
LAYOUT Record_Layout
APPLY
INSERT_DAILY
WHERE IN_IND = 'I'
APPLY
UPSERT_DAILY
WHERE IN_IND = 'U'
APPLY
DELETE_DAILY
WHERE IN_IND = 'D';
.END MLOAD ;
.LOGOFF ;

You might also like