You are on page 1of 12

=============================================================== = JOB : YESCMSP1#0AAAAAAAAAAAESC2.EMAILDB_FSA_AUTO_CREATE = USER : jobs Uniweb batch account = JCLFILE : /u/jobs/emdb_jobs/bin/tr_fsa.

sh = Job Number: 17358 = Thu 10/06/11 09:00:30 EDT =============================================================== TWS for UNIX/JOBMANRC 8.2 AWSBJA001I Licensed Materials Property of IBM 5698-WKB (C) Copyright IBM Corp 1998,2003 US Government User Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. AWSBIS307I Starting /opt/maestro/jobmanrc /u/jobs/emdb_jobs/bin/tr_fsa.sh TWS for UNIX (SOLARIS)/JOBINFO 8.2 (9.5) Installed for user 'maestro'. Locale LANG set to "C" ENV file is edbenv remove old files from last run Start extracting the data from ecom to staging table + . /u/jobs/emdb_jobs/env/edbenv + MY_ENV=PROD + export MY_ENV + APPHOME=/u/jobs + export APPHOME + umask 002 + ORACLE_HOME=/oracle/product/10.2.0/client + ORACLE_SID=edbp + export ORACLE_HOME ORACLE_SID + LANG=en_US.UTF-8 + export LANG + NLS_LANG=AMERICAN_AMERICA.UTF8 + export NLS_LANG + EDB_MKT_MGR= + export EDB_MKT_MGR + ZIPCMD=/usr/bin/gzip + export ZIPCMD + CLASSPATH=/oracle/product/10.2.0/client/jdbc/lib/classes111.zip + PATH=/u/jobs/bin:/oracle/product/10.2.0/client/bin:/u/jobs/bin:/oracle/product /10.2.0/client/bin:/bin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/local/bin:/usr /ccs/bin + LD_LIBRARY_PATH=/u/jobs/lib:/oracle/product/10.2.0/client/lib:/oracle/product/ 10.2.0/client/jdbc/lib:/usr/dt/lib:/usr/openwin/lib:/usr/lib + export PATH LD_LIBRARY_PATH CLASSPATH + EDB_HOME=/u/jobs/emdb_jobs + EDB_CONNECT=edbopr/edbusr214@edbp + EDB_BIN=/u/jobs/emdb_jobs/bin + EDB_CTL=/u/jobs/emdb_jobs/ctl + EDB_DDL=/u/jobs/emdb_jobs/ddl + EDB_SQL=/u/jobs/emdb_jobs/sql + EDB_ARCHIVE=/u/jobs/emdb_jobs/archive + EDB_LOGS=/u/jobs/emdb_jobs/log + EDB_DATA=/u/jobs/emdb_jobs/data + export EDB_MF EDB_HOME EDB_CONNECT + export EDB_BIN EDB_CTL EDB_DDL EDB_SQL EDB_ARCHIVE EDB_LOG + YESCMS_INPUT=/UniWeb/cms/Prod/appdata/EMDB + YESCMS_OUTPUT=/UniWeb/cms/Prod/appdata/EMDB/output + export YESCMS_INPUT YESCMS_OUTPUT

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

YESDBD_OUTPUT=/UniWeb/cms/Prod/appdata/EMDB/data export YESDBD_HOST YESDBD_OUTPUT EDIALOG_HOST=ftp.e-dialog.com EDIALOG_USER=bol_fps EDIALOG_PASSWD=d0gear EDIALOG_DIR=/transactional export EDIALOG_HOST EDIALOG_USER EDIALOG_PASSWD EDIALOG_DIR DSSBSW_HOST=10.104.9.42 DSSBSW_USER=dssftp DSSBSW_PASSWD=dssftp01 DSSBSW_REMOTE=/dssftp2/ftpmail export DSSBSW_HOST DSSBSW_USER DSSBSW_PASSWD DSSBSW_REMOTE DIRECT1_HOST=10.104.234.31 DIRECT1_USER=emailftp DIRECT1_PASSWD=Testing1 DIRECT1_REMOTE=/raw export DIRECT1_HOST DIRECT1_USER DIRECT1_PASSWD DIRECT1_REMOTE IGODIGITAL_HOST=ftp.igodigital.com IGODIGITAL_USER=dbi IGODIGITAL_PASSWD=sc@ld3r export IGODIGITAL_HOST IGODIGITAL_USER IGODIGITAL_PASSWD UNSUB_HOST=ftp1.columbiahouse.com UNSUB_USER=bsdba UNSUB_PASSWD=b00ksp4n export UNSUB_HOST UNSUB_USER UNSUB_PASSWD HYPHO_HOST=ftp.hyphos360.com HYPHO_USER=BDNA_FTP_Process HYPHO_PASSWD=Ph5Z&$_3 export HYPHO_HOST HYPHO_USER HYPHO_PASSWD EAPPEND_HOST=ftp.hyphos360.com EAPPEND_USER=hyphos360\bmusic EAPPEND_PASSWD=softball export EAPPEND_HOST EAPPEND_USER EAPPEND_PASSWD EGAIN_HOST=10.200.40.58 EGAIN_USER=edbuser EGAIN_PASSWD=egain01 EGAIN_REMOTEDIR=GCExtract export EGAIN_HOST EGAIN_USER EGAIN_PASSWD EGAIN_REMOTEDIR NTFTP_HOST=10.200.133.56 NTFTP_USER=ftpusr NTFTP_PASSWD=ftpusr01 NTFTP_REMOTEDIR="/cognos/E-mail Campaigns" NTFTP_CUSTSVCDIR=CustomerService export NTFTP_HOST NTFTP_USER NTFTP_PASSWD NTFTP_REMOTEDIR NTFTP_CUSTSVCDIR ZMAILZ_HOST=10.201.16.80 ZMAILZ_USER=edbftp ZMAILZ_PASSWD=edbftp export ZMAILZ_HOST ZMAILZ_USER ZMAILZ_PASSWD ZERO_PAYER_HOST=pay.bkspan.com ZERO_PAYER_USER=bkspanpayment ZERO_PAYER_PASSWD=eqSftKin export ZERO_PAYER_HOST ZERO_PAYER_USER ZERO_PAYER_PASSWD AXCION_HOST=ftp2.merchantmail.net AXCION_USER=dgna_book_club AXCION_PASSWD=36b795Zg AXCION_DIR=/outgoing/export ACXION_INDIR=/incoming export AXCION_HOST AXCION_USER AXCION_PASSWD AXCION_DIR ACXION_INDIR OUTFILE=/UniWeb/cms/Prod/appdata/EMDB/data/EDB_email.txt.gz XPNID=eeap0002

+ SFTPCMD=/usr/bin/sftp + export OUTFILE XPNID SFTPCMD + ZIPCMD=/usr/bin/gzip + UNZIPCMD=/usr/bin/gunzip + ZIPEXT=.gz + export ZIPCMD UNZIPCMD ZIPEXT + EDB_OWNER=sean.chatterton@directbrands.com + EDB_ADDRESSEE=Raj.Kandathi@directbrands.com denise.miller@directbrands.com sho bha.tatineni@contractors.directbrands.com kalvin.liang@directbrands.com sean.cha tterton@directbrands.com richard.brooks@directbrands.com + EDB_DEVELOPER=denise.miller@directbrands.com shobha.tatineni@contractors.direc tbrands.com kalvin.liang@directbrands.com vic.kumar@directbrands.com + export EDB_OWNER EDB_ADDRESSEE EDB_DEVELOPER + EDB_EMAIL_PROD_RPT=denise.miller@directbrands.com shobha.tatineni@contractors. directbrands.com kalvin.liang@directbrands.com sean.chatterton@directbrands.com DBI-TWS-Support@hcl.in + EDB_USER_ADDRESSEE=Raj.Kandathi@directbrands.com TeamBookspan@e-dialog.com ADS Announcing@directbrands.com FSA_DSAGroup@directbrands.com + ESERVICING_OWNER=barbara.davies@directbrands.com sherry.chou@directbrands.com + EPRIMARY_OWNER=barbara.davies@directbrands.com sherry.chou@directbrands.com Pa ul.Storozum@DirectBrands.com Joe.Junker@directbrands.com + EBILLING_ADDRESSEE=stephen.alexander@directbrands.com jennifer.angelo@directbr ands.com eileen.joseph@directbrands.com terry.lehn@directbrands.com + EDB_TRACER_ADDRESSEE=jennifer.angelo@directbrands.com + OSOP_USER_ADDRESSEE=robert.andrew@directbrands.com + UNSUB_ADDRESSEE=justin.peterson@directbrands.com + ESHIP_USER_ADDRESSEE=robert.andrew@directbrands.com + ZMAILZ_OWNER=mathew.jose@directbrands.com shyamnath.kamalanath@directbrands.co m + EDB_EMAIL_ALERTS=neena.tripathi@directbrands.com jennifer.angelo@directbrands. com gina.ciliberto@directbrands.com + EDB_EXPERIAN=Bill.Chaloux@experian.com Ryan.Stevens@Experian.com Glenn.Delacru z@Experian.com + export EDB_USER_ADDRESSEE ESERVICING_OWNER EPRIMARY_OWNER EBILLING_ADDRESSEE E DB_TRACER_ADDRESSEE OSOP_USER_ADDRESSEE UNSUB_ADDRESSEE ESHIP_USER_ADDRESSEE ZMA ILZ_OWNER EDB_EMAIL_ALERTS EDB_EXPERIAN + SEND_TO_LIST_FOR_ACXIOM_UNSUB=kalvin.liang@directbrands.com + LOGFILE=/UniWeb/cms/Prod/appdata/EMDB/output/Ecom_Accountid.log + sqlplus -S ecomopr/ecomopr1@ecomp + 0<< SET PAGESIZE 1000000 SET LINESIZE 500 SET HEADING OFF <=== SET TRIM ON SET FOOTER OFF SET ECHO OFF SET FEEDBACK OFF SET NEWPAGE NONE SPOOL /UniWeb/cms/Prod/appdata/EMDB/Ecom_accountId.txt select distinct account_id FROM ecm_user where account_id is not null; SPOOL OFF COMMIT; EXIT; 1> /UniWeb/cms/Prod/appdata/EMDB/output/Ecom_Accountid.log 2>& 1 Finished loading the data from ecom to staging table Finish loading the data from ecom to staging table Finished copy mainframe file to data dir Finished unzip mainframe file could not open /dev/kbd to get keyboard type US keyboard assumed

could not get keyboard type US keyboard assumed Renamed mainframe file EXECUTING SQL: SP_EXTRACT_ANN_FSA.sql execution of sql command started at Thu Oct 6 10:56:20 EDT 2011 SQL*Plus: Release 10.2.0.1.0 - Production on Thu Oct 6 10:56:21 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> Connected. SQL> SQL> SQL> SQL> SQL> SQL> SQL> SET SERVEROUTPUT ON SIZE 1000000 SQL> SQL> declare 2 -- Logfile Variables 3 V_LOG_FILEHANDLE UTL_FILE.FILE_TYPE; 4 V_LOGFILE_DIR VARCHAR2(30) := 'EDB_DATA'; 5 V_LOGFILE_NAME VARCHAR2(60) := 'FSauto_log_' || TO_CHAR(sysdate, ' yyyymmdd') || '.txt'; 6 7 -- INFILE Variables 8 V_INFILE_FILEHANDLE UTL_FILE.FILE_TYPE; 9 V_INFILE_DIR VARCHAR2(30) := 'EDB_DATA'; 10 V_INFILE_NAME VARCHAR2(120) := 'SP_EXTRACT_ANN_FSA_IN PUT'; 11 12 13 -- OUTFILE Variables 14 V_OUTFILE_FILEHANDLE UTL_FILE.FILE_TYPE; 15 V_OUTFILE_DIR VARCHAR2(30) := 'EDB_DATA'; 16 V_OUTFILE_NAME VARCHAR2(70) := 'BOOKSPAN_FSauto'; 17 18 V_OUTFILE2_FILEHANDLE UTL_FILE.FILE_TYPE; 19 V_OUTFILE2_NAME VARCHAR2(70) := 'BOOKSPAN_FSauto_EncryptMe'; 20 21 -- REJFILE Variables 22 V_REJFILE_FILEHANDLE UTL_FILE.FILE_TYPE; 23 V_REJFILE_DIR VARCHAR2(30) := 'EDB_DATA'; 24 V_REJFILE_NAME VARCHAR2(70) := 'BOOKSPAN_FSauto_reject_' || TO_ CHAR(sysdate, 'yyyymmdd') || '.txt'; 25 26 -- OUTFILE Variables 27 V_TESTLINE VARCHAR(2000); 28 V_CUST_ACCT_ID NUMBER := 0; 29 V_EMAIL_TX VARCHAR2(150); 30 V_COMPANY_ID NUMBER := 0; 31 V_COMPANY_ID_CODE VARCHAR2(2); 32 V_CLUB_ID NUMBER := 0; 33 V_CLUB_ID_CODE VARCHAR2(3); 34 V_FILLER2 VARCHAR2(500); 35 V_EMAIL_FILLER VARCHAR2(150); 36 V_EMAIL_TYPE_ID VARCHAR2(50); 37 V_SELL_STRCTR_CD VARCHAR2(50); 38 V_RPLY_BY_DATE VARCHAR2(50); 39 V_PROMO_PRD_ID VARCHAR2(50); 40 V_ANN_SPLT_ID VARCHAR2(50); 41 V_PROMO_SCHDL_ID VARCHAR2(50); 42 V_PROMO_PRD1_ID VARCHAR2(50); 43 V_PROMO_PRD2_ID VARCHAR2(50); 44 V_PROMO_PRD3_ID VARCHAR2(50); 45 V_ALT_PRD1_ID VARCHAR2(50);

46 V_ALT_PRD2_ID VARCHAR2(50); 47 V_ALT_PRD3_ID VARCHAR2(50); 48 V_ALT_PRD4_ID VARCHAR2(50); 49 V_ALT_PRD5_ID VARCHAR2(50); 50 V_ALT_PRD6_ID VARCHAR2(50); 51 V_TX_ERROR VARCHAR2(400); 52 V_ANNC_TYPE VARCHAR(50); 53 V_FIRST_NAME VARCHAR2(50); 54 V_LAST_NAME VARCHAR2(50); 55 V_FILLER1 VARCHAR2(240); 56 V_ANN_TRACK VARCHAR2(100); 57 V_ANN_DESC VARCHAR2(100); 58 V_INFILELINE VARCHAR(4000); 59 V_SUBJECT_LINE VARCHAR2(100); 60 V_PROMO_BANNER1 VARCHAR2(50); 61 V_PROMO_BANNER2 VARCHAR2(50); 62 V_PROMO_BNR1_LINK_TX VARCHAR2(100); 63 V_PROMO_BNR2_LINK_TX VARCHAR2(100); 64 V_OFFER_BANNER VARCHAR2(50); 65 V_PLAIN_TEXT_TX VARCHAR2(150); 66 V_YTID_TX VARCHAR2(50); 67 V_YCODE_TX VARCHAR2(50); 68 V_FOOTER_DT VARCHAR2(50); 69 V_ACCT_START_DT VARCHAR2(50); 70 V_FILLER VARCHAR2(100); 71 72 V_INCOUNT NUMBER := 0; 73 V_OUTCOUNT NUMBER := 0; 74 V_REJCOUNT NUMBER := 0; 75 V_FLUSH_COUNT NUMBER := 0; 76 C_PROGRAM_NAME VARCHAR2(30) :='SP_EXTRACT_ANN_FSA'; 77 OUT_RETURN_CODE NUMBER:= 0; 78 V_DT_START DATE := sysdate; 79 80 V_OUTCOUNT_FOR_ENCRYPT NUMBER := 0; 81 82 V_ANNOUNCE_DATE VARCHAR2(20); 83 V_AUTOSHIP_DATE VARCHAR2(20); 84 V_LIVE_ONSITE_DATE VARCHAR2(20); 85 86 87 V_ENCRYPT_FOR_COMPANY_CLUBS VARCHAR2(50) := 'NONE'; -- CTY|TVD '0100 3|07002' 88 89 V_OUTFILE_LINE VARCHAR2(1000); 90 V_TOKEN_KEYS VARCHAR2(1000); 91 92 93 BEGIN 94 -- Open Input, Output and Reject Files 95 V_INFILE_FILEHANDLE := UTL_FILE.fopen(V_INFILE_DIR, V_INFILE_NAME, 'r ', 2000); 96 97 V_OUTFILE_FILEHANDLE := UTL_FILE.fopen(V_OUTFILE_DIR, V_OUTFILE_NAME , 'w', 2000); 98 V_OUTFILE2_FILEHANDLE := UTL_FILE.fopen(V_OUTFILE_DIR, V_OUTFILE2_NAM E, 'w', 2000); 99 100 V_REJFILE_FILEHANDLE := UTL_FILE.fopen(V_REJFILE_DIR, V_REJFILE_NAME, 'w', 2000);

101 102 -- Open and prep log file 103 V_LOG_FILEHANDLE := UTL_FILE.FOPEN(V_LOGFILE_DIR, V_LOGFILE_NAME, 'w' , 2000); 104 UTL_FILE.PUT_LINE(V_LOG_FILEHANDLE, 105 '************************************************** **************************'); 106 UTL_FILE.PUT_LINE(V_LOG_FILEHANDLE, 107 'SP_EXTRACT_ANN_FSA Processing Started ' || systimestamp); 108 UTL_FILE.PUT_LINE(V_LOG_FILEHANDLE, ' '); 109 UTL_FILE.FFlush(V_LOG_FILEHANDLE); 110 111 UTL_FILE.put_line(V_OUTFILE_FILEHANDLE, 112 'CUST_ACCT_ID|CO_ID|CLUB_ID|CUST_1ST_NM|CUST_LAST_NM|EMAIL_ID|EMA IL_TYP_ID|SELL_STRCTR_CD|ESRV_TYPE_ID|RPLY_BY_DATE|PROMO_PRD_ID|ANN_SPLT_ID|PROM O_SCHDL_ID|PROMO_PRD1_ID|PROMO_PRD2_ID|PROMO_PRD3_ID|ALT_PRD1_ID|ALT_PRD2_ID|ALT _PRD3_ID|ALT_PRD4_ID|ALT_PRD5_ID|ALT_PRD6_ID|TRCK_ID|TRCK_DESC_TX|SUBJCT_LINE_TX |PROMO_BNR1_TX|PROMO_BNR2_TX|PROMO_BNR2_LINK_TX|PROMO_BNR2_LINK_TX|OFR_BNR_TX|PL AIN_TEXT_TX|YTID_TX|YCODE_TX|FOOTER_DT|ACCT_STRT_DT|EDATA'); 113 114 LOOP 115 BEGIN 116 -- read file block 117 UTL_FILE.get_line(V_INFILE_FILEHANDLE, V_INFILELINE, 4000); 118 V_INCOUNT := V_incount + 1; 119 V_CUST_ACCT_ID := SUBSTR(V_INFILELINE, 1, 9); 120 V_COMPANY_ID := SUBSTR(V_INFILELINE, 10, 2); 121 V_COMPANY_ID_CODE := lpad(V_COMPANY_ID, 2, '0'); 122 V_CLUB_ID := SUBSTR(V_INFILELINE, 12, 3); 123 V_CLUB_ID_CODE := lpad(V_CLUB_ID, 3, '0'); 124 V_FIRST_NAME := UPPER(SUBSTR(V_INFILELINE, 15, 25)); 125 V_LAST_NAME := UPPER(SUBSTR(V_INFILELINE, 40, 35)); 126 V_EMAIL_FILLER := SUBSTR(V_INFILELINE, 75, 128); 127 V_EMAIL_TYPE_ID := SUBSTR(V_INFILELINE,203,1); 128 V_SELL_STRCTR_CD := SUBSTR(V_INFILELINE,204,4); 129 V_ANNC_TYPE := SUBSTR(V_INFILELINE, 208, 1 ); 130 V_RPLY_BY_DATE := SUBSTR(V_INFILELINE, 209, 10); 131 V_PROMO_PRD_ID := SUBSTR(V_INFILELINE, 219, 4); 132 V_ANN_SPLT_ID := SUBSTR(V_INFILELINE, 223, 2); 133 V_PROMO_SCHDL_ID := SUBSTR(V_INFILELINE, 225, 2); 134 V_PROMO_PRD1_ID := SUBSTR(V_INFILELINE, 227, 13); 135 V_PROMO_PRD2_ID := SUBSTR(V_INFILELINE, 240, 13); 136 V_PROMO_PRD3_ID := SUBSTR(V_INFILELINE, 253, 13); 137 V_ALT_PRD1_ID := SUBSTR(V_INFILELINE, 266, 13); 138 V_ALT_PRD2_ID := SUBSTR(V_INFILELINE, 279, 13); 139 V_ALT_PRD3_ID := SUBSTR(V_INFILELINE, 292, 13); 140 V_ALT_PRD4_ID := SUBSTR(V_INFILELINE, 305, 13); 141 V_ALT_PRD5_ID := SUBSTR(V_INFILELINE, 318, 13); 142 V_ALT_PRD6_ID := SUBSTR(V_INFILELINE, 331, 13); 143 V_ANN_TRACK := SUBSTR(V_INFILELINE, 344,2) ; 144 V_ANN_DESC := SUBSTR(V_INFILELINE, 346,60); 145 V_SUBJECT_LINE := SUBSTR(V_INFILELINE,406,100); 146 V_PROMO_BANNER1 := SUBSTR(V_INFILELINE,506,50); 147 V_PROMO_BANNER2 := SUBSTR(V_INFILELINE,556,50); 148 V_PROMO_BNR1_LINK_TX := SUBSTR(V_INFILELINE,606,80); 149 V_PROMO_BNR2_LINK_TX := SUBSTR(V_INFILELINE,686,80);

150 V_OFFER_BANNER := SUBSTR(V_INFILELINE,766,50); 151 V_PLAIN_TEXT_TX := SUBSTR(V_INFILELINE,816,100); 152 V_YTID_TX := SUBSTR(V_INFILELINE,916,50); 153 V_YCODE_TX := SUBSTR(V_INFILELINE,966,15); 154 V_FOOTER_DT := SUBSTR(V_INFILELINE,981,10) ; 155 V_ACCT_START_DT := SUBSTR(V_INFILELINE,991,10); 156 157 V_ANNOUNCE_DATE := SUBSTR(V_INFILELINE,1001,10); 158 V_AUTOSHIP_DATE := SUBSTR(V_INFILELINE,1011,10); 159 V_LIVE_ONSITE_DATE := SUBSTR(V_INFILELINE,1021,10); 160 161 V_FILLER := SUBSTR(V_INFILELINE,1031,50); 162 163 EXCEPTION 164 WHEN utl_file.read_error THEN 165 begin 166 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'utl_file.read_erro r: ' || SQLERRM || ' ' || V_INFILELINE); 167 RAISE_APPLICATION_ERROR(-20001, 'utl_file.read_error'); 168 end; 169 170 WHEN NO_DATA_FOUND THEN 171 begin 172 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'NO_DATA_FOUND: ' | | SQLERRM || ' ' || V_INFILELINE); 173 EXIT; -- no more rows, exit loop. 174 end; 175 WHEN OTHERS THEN 176 BEGIN 177 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'inexpected excep tion: ' || SQLERRM || ' at row ' ||V_INCOUNT ); 178 RAISE_APPLICATION_ERROR(-20001, 'input_file.format_er ror.line:'||V_INCOUNT); 179 END; 180 END; -- read file block 181 182 BEGIN 183 --Displays Default if ANN_TRACK is 0 184 185 IF V_ANN_TRACK = '00' 186 THEN V_ANN_DESC := 'Default'; 187 END IF ; 188 189 END; 190 191 BEGIN 192 -- select block 193 IF V_ANNC_TYPE = 'Y' then 194 if V_SELL_STRCTR_CD <> '0002' then 195 -- EPRIMARY ACCOUNTS NEG Opt 196 SELECT email_tx 197 INTO V_email_tx 198 FROM (SELECT email_tx 199 FROM email_address, SOURCE 200 WHERE cust_acct_id = V_cust_acct_id 201 AND email_address.status_cd = 'V' 202 AND email_address.delete_flag <> 'Y' 203 AND email_address.source_cd not in ('EA', 'HY', 'EC') 204 AND email_address.source_cd = SOURCE.source_cd

205 ORDER BY usage_cd DESC, 206 priority ASC, 207 email_address.last_mdfy_ts DESC) 208 WHERE ROWNUM = 1; 209 else 210 -- EPRIMARY ACCOUNTS POS Opt 211 SELECT email_tx 212 INTO V_email_tx 213 FROM (SELECT email_tx 214 FROM email_address, SOURCE, email_opt_in 215 WHERE cust_acct_id = V_cust_acct_id 216 AND email_address.status_cd = 'V' 217 AND email_address.email_uid = email_opt_in.email_uid 218 AND email_address.delete_flag <> 'Y' 219 AND email_address.source_cd not in ('EA', 'HY', 'EC') 220 AND email_address.USAGE_CD = 'P' 221 AND opt_in_cd = 'P' 222 AND opt_in_flag = 'Y' 223 AND email_opt_in.delete_flag <> 'Y' 224 AND email_address.source_cd = SOURCE.source_cd 225 ORDER BY usage_cd DESC, 226 priority ASC, 227 email_address.last_mdfy_ts DESC) 228 WHERE ROWNUM = 1; 229 end if; 230 ELSIF V_ANNC_TYPE = 'N' then 231 if TO_DATE(V_ACCT_START_DT, 'YYYY-MM-DD') >= TO_DATE('2008-02-07' , 'YYYY-MM-DD') then 232 -- PPRIMARY ACCOUNTS enrolled date from file >= 2/7/2008 and have an e-mail address 233 SELECT email_tx 234 INTO v_email_tx 235 FROM (SELECT email_tx 236 FROM email_address, email_opt_in 237 WHERE cust_acct_id = v_cust_acct_id 238 AND email_address.email_uid = email_opt_in.email_uid 239 AND email_address.delete_flag <> 'Y' 240 AND email_address.status_cd = 'V' 241 AND email_address.USAGE_CD = 'P' 242 AND opt_in_cd = 'P' 243 AND opt_in_flag = 'Y' 244 AND email_opt_in.delete_flag <> 'Y' 245 ORDER BY usage_cd DESC, email_address.last_mdfy_ts DESC 246 ) 247 WHERE ROWNUM = 1; 248 else 249 -- PPRIMARY ACCOUNTS CHECK OPT IN FLAG AND EPRIMARY POST OPT 250 SELECT email_tx 251 INTO v_email_tx 252 FROM (SELECT email_tx 253 FROM email_address, SOURCE, email_opt_in, EMAIL_TRANSA CTIONS 254 WHERE email_address.cust_acct_id = v_cust_acct_id 255 AND EMAIL_TRANSACTIONS.SR_ID = v_cust_acct_id 256 AND email_address.source_cd = SOURCE.source_cd 257 AND email_address.source_cd not in ('EA','HY','EC') 258 AND email_address.email_uid = email_opt_in.email_uid 259 AND email_address.delete_flag <> 'Y' 260 AND email_address.status_cd = 'V' 261 AND email_address.USAGE_CD = 'P'

262 AND opt_in_cd = 'P' 263 AND opt_in_flag = 'Y' 264 AND email_opt_in.delete_flag <> 'Y' 265 ORDER BY usage_cd DESC, priority ASC, email_address.la st_mdfy_ts DESC) 266 WHERE ROWNUM = 1; 267 end if; 268 269 ELSE 270 RAISE VALUE_ERROR; 271 272 END IF; 273 274 begin 275 276 V_OUTFILE_LINE := lpad(V_CUST_ACCT_ID, 9, '0') || 277 V_COMPANY_ID_CODE || 278 V_CLUB_ID_CODE || 279 rpad(nvl(V_FIRST_NAME, ' '), 25, ' ') | | 280 rpad(nvl(V_LAST_NAME, ' '), 35, ' ') || 281 rpad(nvl(V_EMAIL_TX, ' '), 128, ' ') || 282 rpad(nvl(V_EMAIL_TYPE_ID,' '),1, ' ')|| 283 rpad(nvl(V_SELL_STRCTR_CD,0),4,' ') || 284 rpad(nvl(V_ANNC_TYPE,' '),1,' ') || 285 rpad(nvl(V_RPLY_BY_DATE,''),10,' ') || 286 rpad(nvl(V_PROMO_PRD_ID ,0),4,' ') || 287 rpad(nvl(V_ANN_SPLT_ID,0),2,' ') || 288 rpad(nvl(V_PROMO_SCHDL_ID,0),2,' ') || 289 rpad(nvl(V_PROMO_PRD1_ID,' '),13,'0') | | 290 rpad(nvl(V_PROMO_PRD2_ID,' '),13,'0') | | 291 rpad(nvl(V_PROMO_PRD3_ID,' '),13,'0') | | 292 rpad(nvl(V_ALT_PRD1_ID,' '),13,'0') || 293 rpad(nvl(V_ALT_PRD2_ID,' '),13,'0') || 294 rpad(nvl(V_ALT_PRD3_ID,' '),13,'0') || 295 rpad(nvl(V_ALT_PRD4_ID,' '),13,'0') || 296 rpad(nvl(V_ALT_PRD5_ID,' '),13,'0') || 297 rpad(nvl(V_ALT_PRD6_ID,' '),13,'0') || 298 rpad(nvl(V_ANN_TRACK, ' '),2, ' ')|| 299 rpad(nvl(V_ANN_DESC, ' '),60, ' ')|| 300 rpad(nvl(V_SUBJECT_LINE, ' '),100, ' ') || 301 rpad(nvl(V_PROMO_BANNER1, ' '),50, ' ') || 302 rpad(nvl(V_PROMO_BANNER2, ' '),50, ' ') || 303 rpad(nvl(V_PROMO_BNR1_LINK_TX,' '),80,' ') || 304 rpad(nvl(V_PROMO_BNR2_LINK_TX,' '),80,' ') || 305 rpad(nvl(V_OFFER_BANNER, ' '),50, ' ')| | 306 rpad(nvl(V_PLAIN_TEXT_TX,' '),100,' ') || 307 rpad(nvl(V_YTID_TX,' '),50,' ') || 308 rpad(nvl(V_YCODE_TX,' '),15,' ') || 309 rpad(nvl(V_FOOTER_DT,' '),10,' ') ||

310 rpad(nvl(V_ACCT_START_DT,' '),10,' ') 311 ; 312 313 -- need to generate encrypted token for NEG-OP members of the de signated clubs 314 if V_SELL_STRCTR_CD = '0001' and 315 V_ENCRYPT_FOR_COMPANY_CLUBS like '%' || V_COMPANY_ID_CODE || V_CLUB_ID_CODE || '%' 316 then 317 318 V_OUTCOUNT_FOR_ENCRYPT := V_OUTCOUNT_FOR_ENCRYPT + 1; 319 320 V_TOKEN_KEYS := lpad(V_CUST_ACCT_ID, 9, '0') 321 || '|' || V_COMPANY_ID_CODE 322 || '|' || V_CLUB_ID_CODE 323 || '|' || rtrim(V_FIRST_NAME) 324 || '|' || rtrim(V_LAST_NAME) 325 || '|' || rtrim(V_EMAIL_TX) 326 || '|' || V_SELL_STRCTR_CD 327 || '|' || V_RPLY_BY_DATE 328 || '|' || V_ANNOUNCE_DATE 329 || '|' || V_AUTOSHIP_DATE 330 || '|' || V_LIVE_ONSITE_DATE 331 || '|' || lpad(V_PROMO_PRD_ID, 5 , '0') 332 || '|' || lpad(V_ANN_SPLT_ID, 5, '0') 333 || '|' || lpad(V_PROMO_SCHDL_ID, 5, '0') 334 ; 335 336 UTL_FILE.put_line(V_OUTFILE2_FILEHANDLE, V_OUTFILE_LINE | | V_TOKEN_KEYS); 337 338 else 339 340 UTL_FILE.put_line(V_OUTFILE_FILEHANDLE, V_OUTFILE_LINE); 341 342 end if; 343 344 end; 345 346 347 V_outcount := V_outcount + 1; 348 IF V_FLUSH_COUNT > 1000 THEN 349 V_FLUSH_COUNT := 0; 350 UTL_FILE.PUT_LINE(V_LOG_FILEHANDLE, 351 '1000 rows processed' || SYSTIMESTAMP | | 352 'account=' || V_cust_acct_id); 353 UTL_FILE.FFlush(V_LOG_FILEHANDLE); 354 355 ELSE 356 V_FLUSH_COUNT := V_FLUSH_COUNT + 1; 357 END IF; 358 359 EXCEPTION 360 WHEN utl_file.write_error THEN 361 begin 362 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'utl_file.write_erro

r: ' || SQLERRM || ' ' || V_INFILELINE); 363 end; 364 365 WHEN NO_DATA_FOUND THEN 366 -- record the row to error file. 367 begin 368 UTL_FILE.put_line(V_REJFILE_FILEHANDLE, V_INFILELINE ); 369 V_rejcount := V_rejcount + 1; 370 end; 371 372 WHEN VALUE_ERROR THEN 373 -- record the row to error file. 374 begin 375 UTL_FILE.put_line(V_REJFILE_FILEHANDLE, V_INFILELINE); 376 V_rejcount := V_rejcount + 1; 377 end; 378 379 WHEN OTHERS THEN 380 -- record error in log file 381 begin 382 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'Write: ' || SQLERRM || ' ' || V_INFILELINE); 383 end; 384 385 END; -- select block 386 END LOOP; 387 388 UTL_FILE.fclose(V_OUTFILE_FILEHANDLE); 389 UTL_FILE.fclose(V_OUTFILE2_FILEHANDLE); 390 UTL_FILE.fclose(V_INFILE_FILEHANDLE); 391 392 -- write logfile 393 UTL_FILE.put_line(V_LOG_FILEHANDLE, 'process count: ' || V_INCOUNT); 394 UTL_FILE.put_line(V_LOG_FILEHANDLE, 395 'cust_acct_id match count: ' || V_OUTCOUNT); 396 397 UTL_FILE.put_line(V_LOG_FILEHANDLE, 398 'need encryption count: ' || V_OUTCOUNT_FOR_E NCRYPT); 399 400 UTL_FILE.fclose(V_LOG_FILEHANDLE); 401 UTL_FILE.fclose(V_REJFILE_FILEHANDLE); 402 403 404 SP_LOG(C_PROGRAM_NAME, 405 V_DT_START, 406 SYSDATE, 407 V_INCOUNT, 408 NULL, 409 NULL, 410 NULL, 411 NULL, 412 NULL, 413 NULL, 414 NULL, 415 NULL, 416 V_REJCOUNT, 417 V_OUTCOUNT, 418 NULL,

419 OUT_RETURN_CODE, 420 SQLERRM ); 421 422 END; 423 / declare * ERROR at line 1: ORA-20001: input_file.format_error.line:3 ORA-06512: at line 178 Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64 bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options =============================================================== = Exit Status : 1 = System Time (Seconds) : 486 Elapsed Time (Minutes) : 115 = User Time (Seconds) : 5987 = Thu 10/06/11 10:56:21 EDT ===============================================================

You might also like