Hi All,
We have prepared the xmltable select statement with the below code. How to put this code in procedure. Please help
We have tried out , but we have faced the below problems.
1)We try to use execute immediate command in the code .. we have to put the code in ' ' (single quotes). If we put the ':'(single quotes) it will treat as strong , in the xmltable function we have used ':'(semicolons) so many . that time it is asking input.
how to avoid asking input .
Below is the code we have used. Please help out for this.
create or replace procedure XML_Parsing
is
begin
execute immediate 'INSERT INTO sample1.LTE_TRANSACTION COLUMNS
(
LTTR_TRANSACTION_ID,
LTTR_TRANSACTION_TYPE_CODE,
LTTR_AGMNT_ID,
LTTR_PRODUCT_ID,
LTTR_XML_FILE,
LTTR_CORE_TX_ID,
LTTR_REFERENCES,
EXT_LTTR_ORG_ID,
LTTR_CURRENCY_CODE_LOC,
LTTR_CURRENCY_CODE_ORG,
LTTR_CURRENCY_CODE_ACCT,
EXT_LTTR_ACCT_NUMBER,
LTTR_BOOK_DATE,
LTTR_TRANS_VALUE_DATE,
LTTR_TRANSACTION_AMOUNT_ORG,
LTTR_TRANSACTION_AMOUNT_ACCT,
LTTR_TRANSACTION_AMOUNT_LOC,
LTTR_EXCHANGE_RATE,
LTTR_CORRECTION_CODE,
-- LTTR_EXECUTION_TIME,
LTTR_TRANS_CHANNEL_TYPE,
LTTR_TRANS_SERVICE_TYPE,
LTTR_CONTRA_ACCOUNT,
LTTR_EXECUTION_STATUS,
LTTR_REPORT_TO_PAYMENT,
LTTR_ACCOUNT_OPEN_DATE,
LTTR_WITHDRAWAL_CHRG
)
(SELECT LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_TRANSACTION_ID,
LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_TRANSACTION_TYPE_CODE,
LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_AGMNT_ID,
LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_PRODUCT_ID,
LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_XML_FILE ,
LTE_TRANSACTION_SEQ.NEXTVAL AS LTTR_CORE_TX_ID,
'InstrId'
||':'
||InstrId
|| ','
||'EndToEndId'
||':'
||EndToEndId
||','
||'TxId'
||':'
||TxId
||','
||'ResId'
||':'
||ResId
||','
||'MhId'
||':'
||MhId
||','
||'PwhId'
||':'
||PwhId
||','
||'TgId'
||':'
||TgId
||','
||'Tp'
||':'
||Tp
||','
||'Ref'
||':'
|| Ref AS LTTR_REFERENCES,
org_id AS EXT_LTTR_ORG_ID,
loc_cur_code AS LTTR_CURRENCY_CODE_LOC ,
org_cur_code AS LTTR_CURRENCY_CODE_ORG,
acct_cur_code AS LTTR_CURRENCY_CODE_ACCT,
acct_number AS EXT_LTTR_ACCT_NUMBER,
book_date AS LTTR_BOOK_DATE,
value_date AS LTTR_TRANS_VALUE_DATE ,
tran_amt_org AS LTTR_TRANSACTION_AMOUNT_ORG,
tran_amt_acct AS LTTR_TRANSACTION_AMOUNT_ACCT,
tran_amt_loc AS LTTR_TRANSACTION_AMOUNT_LOC,
exchang_rate AS LTTR_EXCHANGE_RATE,
correction_code AS LTTR_CORRECTION_CODE,
-- TO_TIMESTAMP( execution_time, 'HH24MI')AS LTTR_EXECUTION_TIME,
transction_ch_type AS LTTR_TRANS_CHANNEL_TYPE ,
transction_service_type AS LTTR_TRANS_SERVICE_TYPE,
contra_acct AS LTTR_CONTRA_ACCT,
execution_status AS LTTR_EXECUTION_STATUS,
report_to_payment AS LTTR_REPORT_TO_PAYMENT ,
acct_open_date AS LTTR_ACCOUNT_OPEN_DATE,
withdrawal_charge AS LTTR_WITHDRAWAL_CHRG
FROM XMLTable(XMLNAMESPACES(default 'urn:trg.payment.xx.xx.com:domain:trg-booking:v1_0','urn:trg.payment.xx.xx.com:domain:trg-booking:v1_0' AS "p",
'urn:trg.payment.xx.xx.com:ws:trg-internal-booking-ws-types:v1_0' AS "tns",
'urn:trg.payment.xx.xxx.com:domain:trg-booking-iso:v1_0' AS "i",
'
http://edb.com/ws/WSCommon_v21' AS "a",'urn:trg.payment.xx.xxx.com:domain:trg-common:v1_0' AS "c"),
'/tns:bookingExecuteRequest/tns:SnglPstg' passing xmltype( bfilename('DUMP','jaya31.xml') , nls_charset_id('AL32UTF8') ) COLUMNS -- LTTR_TRANSACTION_ID VARCHAR2(20) LTE_TRANSACTION_SEQ.NEXTVAL
InstrId VARCHAR2(200) path 'p:RefId/InstrId',
EndToEndId VARCHAR2(200) path 'p:RefId/EndToEndId',
TxId VARCHAR2(200) path 'p:RefId/TxId',
ResId VARCHAR2(200) path 'p:RefId/ResId',
MhId VARCHAR2(200) path 'p:RefId/MhId',
PwhId VARCHAR2(200) path 'p:RefId/PwhId',
TgId VARCHAR2(200) path 'p:RefId/TgId',
Tp VARCHAR2(200) path 'p:RefId/ExtRef/Tp',
Ref VARCHAR2(200) path 'p:RefId/ExtRef/Ref',
org_id VARCHAR2(20) path 'p:AcctHldgAgt/i:FinInstnId/i:Othr/i:Id',
loc_cur_code VARCHAR2(20) path 'p:AmtDtls/p:TxAmt/i:CcyXchg/i:SrcCcy',
org_cur_code VARCHAR2(20) path 'p:AmtDtls/p:TxAmt/i:CcyXchg/i:TrgtCcy',
acct_cur_code VARCHAR2(20) path 'p:AmtDtls/p:TxAmt/i:CcyXchg/i:UnitCcy',
acct_number VARCHAR2(20) path 'p:Acct/p:Id/p:Othr/i:Id',
book_date TIMESTAMP DEFAULT sysdate,
value_date TIMESTAMP path 'p:DtTm/p:ValDt',
tran_amt_org NUMBER(20) path 'p:AmtDtls/p:TxAmt/i:Amt',
tran_amt_acct NUMBER(20) path 'AmtDtls/CntrValAmt/Amt',--
tran_amt_loc NUMBER(20) path 'AmtDtls/PrtryAmt/Amt ', --
exchang_rate NUMBER(20) path 'p:AmtDtls/p:TxAmt/i:CcyXchg/i:XchgRate',
correction_code VARCHAR2(20) path 'p:Corr/p:Cd',
execution_time VARCHAR2(20) path 'DtTm/TxDtTm/Tm',--
transction_ch_type VARCHAR2(20) DEFAULT 'OTHER',
transction_service_type VARCHAR2(20) DEFAULT 'APPL',
contra_acct VARCHAR2(20) DEFAULT '123',
execution_status VARCHAR2(20) DEFAULT 'A',
report_to_payment VARCHAR2(20) DEFAULT 'Y',
acct_open_date TIMESTAMP DEFAULT sysdate,
withdrawal_charge VARCHAR2(20) DEFAULT 'Y' '));
EXCEPTION
WHEN OTHERS THEN
Raise;
End;