Chrisw75 & dje thanks for the help
I initially tried this code
data valex.BG;
set cmn.Camt_promo_history;
keep contact_urn source_account response_code campaign_ID date_extracted ;
where substr(response_code,1,5, in ('XP87P','XP88P','XP89P','XP90P','XP92P','XP93P',
'XP94P','XP95P','XP91P','XP97P','XP98P','XP99P'))
and date_extracted ='13DEC2004'd;
run;
but this did not seem to work, therefore I amended this to the following
data valex.BG;
set cmn.Camt_promo_history;
keep contact_urn source_account response_code campaign_ID date_extracted ;
where (response_code = 'XP85PP' or
response_code = 'XP86PP' or
response_code = 'XP87PP' or
response_code = 'XP88PP' or
response_code = 'XP89PP' or
response_code = 'XP90PP' or
response_code = 'XP91PP' or
response_code = 'XP92PP' or
response_code = 'XP93PP' or
response_code = 'XP94PP' or
response_code = 'XP95PP' or
response_code = 'XP97PP' or
response_code = 'XP98PP')
and date_extracted='13DEC2004'd;
run;
and this works. I dont understand why, therefore I created the following Proc SQL
proc sql;
create table valex.BG as
select contact_urn,
source_account,
response_code,
campaign_ID,
date_extracted
from cmn.Camt_promo_history
where (response_code = 'XP85PP' or
response_code = 'XP86PP' or
response_code = 'XP87PP' or
response_code = 'XP88PP' or
response_code = 'XP89PP' or
response_code = 'XP90PP' or
response_code = 'XP91PP' or
response_code = 'XP92PP' or
response_code = 'XP93PP' or
response_code = 'XP94PP' or
response_code = 'XP95PP' or
response_code = 'XP97PP' or
response_code = 'XP98PP')
and date_extracted='13DEC2004'd
;
quit;
run;
and this worked OK.
Therefore is there a problem when SAS talks to Oracle, that I need to be aware of.