set feedback off;
set long 99000;
set serveroutput on size 1000000;
set escape '\'
declare
cursor c1 is
select
rtrim(STATIONNO),
substr(replace(ACCTNO,'-',''),1,12),
substr(replace(MERCHANTNM,'&','\&'),1,40),
DECODE (ATTENTION, '', 'N/A', substr(replace(replace(replace(ATTENTION,'<','\<'),'>','\>'),'&','\&'),1,27)),
substr(replace(STREETTXT,'&','\&'),1,30),
substr(replace(CITYNM,'&','\&'),1,25),
STATECD,
substr(ZIPCD,1,5),
rtrim(CNTCTPHNNO),
rtrim(SLSPERSNCODE),
rtrim(STATUSCD),
rtrim(CANCELCD),
rtrim(SUSPENDDT),
rtrim(SLSREGION),
rtrim(AMFIRSTNAME),
rtrim(AMLASTNAME),
rtrim(AMPHONE),
rtrim(AMPHNEXT),
rtrim(AMEMAIL),
rtrim(MERCHTYPE),
rtrim(SERVDESC),
rtrim(REST1),
rtrim(REST2),
rtrim(REST3),
rtrim(REST4),
rtrim(REST5),
rtrim(POSTYPE),
rtrim(HLPDSKPROVIDER),
rtrim(STARTDT),
rtrim(SERVICECD1),
rtrim(SERVICECD2),
rtrim(SERVICECD3),
rtrim(SERVICECD4),
rtrim(SERVICECD5),
rtrim(TERRITORY),
rtrim(HEATGENDATE),
rtrim(HEATMODDATE),
rtrim(MFDELDT)
from profile
where HEATMODDATE= TO_CHAR(SYSDATE,'YYYY-MM-DD') and datasource = 'Mainframe';
tStationNo Profile.StationNo%TYPE;
tAcctNo Profile.AcctNo%TYPE;
tMerchantNm Profile.MerchantNm%TYPE;
tAttention Profile.Attention%TYPE;
tStreetTxt Profile.StreetTxt%TYPE;
tCityNm Profile.CityNm%TYPE;
tStateCD Profile.StateCD%TYPE;
tZipCD Profile.ZipCD%TYPE;
tCntctPhnNo Profile.CntctPhnNo%TYPE;
TSlsPersnCode Profile.SlsPersnCode%TYPE;
tStatusCd Profile.StatusCd%TYPE;
tCancelCd Profile.CancelCd%TYPE;
tSuspendDt Profile.SuspendDt%TYPE;
tSlsRegion Profile.SlsRegion%TYPE;
tAMFirstName Profile.AMFirstName%TYPE;
tAMLastName Profile.AMLastName%TYPE;
tAMPhone Profile.AMPhone%TYPE;
tAMPhnExt Profile.AMPhnExt%TYPE;
tAMEmail Profile.AMEmail%TYPE;
tMerchType Profile.MerchType%TYPE;
tServDesc Profile.ServDesc%TYPE;
tRest1 Profile.Rest1%TYPE;
tRest2 Profile.Rest2%TYPE;
tRest3 Profile.Rest3%TYPE;
tRest4 Profile.Rest4%TYPE;
tRest5 Profile.Rest5%TYPE;
tPOSType Profile.POSType%TYPE;
tHlpDskProvider Profile.HlpDskProvider%TYPE;
tStartDt Profile.StartDt%TYPE;
tServiceCD1 Profile.ServiceCD1%TYPE;
tServiceCD2 Profile.ServiceCD2%TYPE;
tServiceCD3 Profile.ServiceCD3%TYPE;
tServiceCD4 Profile.ServiceCD4%TYPE;
tServiceCD5 Profile.ServiceCD5%TYPE;
tTerritory Profile.Territory%TYPE;
tHeatGenDate Profile.HeatGenDate%TYPE;
tHeatModDate Profile.HeatModDate%TYPE;
tMFDelDt Profile.MFDelDt%TYPE;
action VARCHAR2(1);
l_file_hdl utl_file.file_type;
BEGIN
l_file_hdl:= utl_file.fopen('/apps/heatstg/htcs/data','ccs45.txt','W',32767);
utl_file.put_line(l_file_hdl,'<?xml version="1.0" encoding="UTF-8"?>');
utl_file.put_line(l_file_hdl,'<merchant_import xsi:noNamespaceSchemaLocation="[URL unfurl="true"]http://xml.test.com/import_v1.2.xsd"[/URL] xmlns:xsi="[URL unfurl="true"]http://www.w3.org/2001/XMLSchema-instance">');[/URL]
open c1;
loop
[b] fetch c1 into [/b]
tStationNo,
tAcctNo,
tMerchantNm,
tAttention,
tStreetTxt,
tCityNm,
tStateCD,
tZipCD,
tCntctPhnNo,
tSlsPersnCode,
tStatusCd,
tCancelCd,
tSuspendDt,
tSlsRegion,
tAMFirstName,
tAMLastName,
tAMPhone,
tAMPhnExt,
tAMEmail,
tMerchType,
tServDesc,
tRest1,
tRest2,
tRest3,
tRest4,
tRest5,
tPOSType,
tHlpDskProvider,
tStartDt,
tServiceCD1,
tServiceCD2,
tServiceCD3,
tServiceCD4,
tServiceCD5,
tTerritory,
tHeatGenDate,
tHeatModDate,
tMFDelDt;
if tHeatGenDate = TO_CHAR(SYSDATE,'YYYY-MM-DD')
then action := 'A';
else
if (tHeatGenDate <> TO_CHAR(SYSDATE,'YYYY-MM-DD') or
tHeatGenDate is null)
then action := 'C';
End if;
End if;
exit when c1%notfound;
utl_file.put_line(l_file_hdl, '<merchant>');
utl_file.put_line(l_file_hdl, ' <action>' || action || '</action>');
utl_file.put_line(l_file_hdl, ' <alternate_id>' || '9999999' || '</alternate_id>');
utl_file.put_line(l_file_hdl, ' <customer_id>' || 'CCS45' || '</customer_id>');
utl_file.put_line(l_file_hdl, ' <merchant_id>' || tAcctNo || '</merchant_id>');
utl_file.put_line(l_file_hdl, ' <merchant_name>' || tMerchantNm || '</merchant_name>');
utl_file.put_line(l_file_hdl, ' <merchant_address1>' || tStreetTxt || '</merchant_address1>');
utl_file.put_line(l_file_hdl, ' <merchant_address2>' || '' || '</merchant_address2>');
utl_file.put_line(l_file_hdl, ' <merchant_city>' || tCityNm || '</merchant_city>');
utl_file.put_line(l_file_hdl, ' <merchant_state>' || tStateCD || '</merchant_state>');
utl_file.put_line(l_file_hdl, ' <merchant_zip>' || tZipCD || '</merchant_zip>');
utl_file.put_line(l_file_hdl, ' <merchant_country>' || 'US' || '</merchant_country>');
utl_file.put_line(l_file_hdl, ' <merchant_phone>' || tCntctPhnNo || '</merchant_phone>');
utl_file.put_line(l_file_hdl, ' <merchant_contact>' || tAttention || '</merchant_contact>');
utl_file.put_line(l_file_hdl, ' <merchant_email_address>' || '' || '</merchant_email_address>');
utl_file.put_line(l_file_hdl, ' <email_address_required>' || '0' || '</email_address_required>');
utl_file.put_line(l_file_hdl, ' <rep_id>' || tSlsPersnCode || '</rep_id>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Sales Rep Name' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || 'N/A' || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Station Number' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tStationNo || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Status' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tStatusCd || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Suspend Reason' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tCancelCd || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Suspend Date' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tSuspendDt || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Sales Region' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tSlsRegion || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Manager First Name' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tAMFirstName || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Manager Last Name' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tAMLastName || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Manager Phone Number' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tAMPhone || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Manager Phone Ext' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tAMPhnExt || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Manager E-mail' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tAMEmail || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Account Type' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tMerchType || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Description' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServDesc || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Restriction 1' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tRest1 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Restriction 2' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tRest2 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Restriction 3' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tRest3 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Restriction 4' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tRest4 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Restriction 5' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tRest5 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'POS Type' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tPOSType || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Help Desk Provider' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tHlpDskProvider || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Start Date' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tStartDt || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Code 1' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServiceCD1 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Code 2' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServiceCD2 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Code 3' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServiceCD3 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Code 4' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServiceCD4 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'Service Code 5' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tServiceCD5 || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <field_name>' || 'POS Transaction Type' || '</field_name>');
utl_file.put_line(l_file_hdl, ' <field_value>' || tTerritory || '</field_value>');
utl_file.put_line(l_file_hdl, ' </customer_spec_info>');
utl_file.put_line(l_file_hdl, ' <ship>');
utl_file.put_line(l_file_hdl, ' <ship_name>' || tMerchantNm || '</ship_name>');
utl_file.put_line(l_file_hdl, ' <ship_address1>' || tStreetTxt || '</ship_address1>');
utl_file.put_line(l_file_hdl, ' <ship_city>' || tCityNm || '</ship_city>');
utl_file.put_line(l_file_hdl, ' <ship_state>' || tStateCD || '</ship_state>');
utl_file.put_line(l_file_hdl, ' <ship_zip>' || tZipCD || '</ship_zip>');
utl_file.put_line(l_file_hdl, ' <ship_phone>' || tCntctPhnNo || '</ship_phone>');
utl_file.put_line(l_file_hdl, ' <ship_contact>' || tAttention || '</ship_contact>');
utl_file.put_line(l_file_hdl, ' <ship_country>' || 'US' || '</ship_country>');
utl_file.put_line(l_file_hdl, ' </ship>');
utl_file.put_line(l_file_hdl, '</merchant>');
end loop;
utl_file.put_line(l_file_hdl, '</merchant_import>');
utl_file.fflush(l_file_hdl);
close c1;
utl_file.fclose(l_file_hdl);
end;
/
exit;