Вы находитесь на странице: 1из 2

SET SERVEROUTPUT ON;

DECLARE
p_return_status varchar2(1);
p_ret_msg varchar2(2000);
p_msg_cnt number;

rej_dtls_TAB IBY_IMPORT_PMT_ACK_DATA_PUB.Reject_dtls_tbl_type ;
rej_dtl_rec IBY_IMPORT_PMT_ACK_DATA_PUB.REJECT_DTLS_REC;

BEGIN
rej_dtl_rec.BANK_ERROR_CODE := 'ICI-123';
rej_dtl_rec.BANK_ERROR_MESSAGE := 'Lack of funds';
rej_dtl_rec.BANK_ERROR_LOCATION := 'Processing';

rej_dtls_TAB(1) := rej_dtl_rec;

rej_dtl_rec.BANK_ERROR_CODE := 'ICI-123';
rej_dtl_rec.BANK_ERROR_MESSAGE := 'Missing Signature';
rej_dtl_rec.BANK_ERROR_LOCATION := 'Processing';

rej_dtls_TAB(2) := rej_dtl_rec;

iby_import_pmt_ack_data_pub.Create_Acknowlegment
(
P_PAYMENT_REF_NUMBER => 1000,
P_PMT_INSTRUCTION_REF_NUMBER => 47091,
P_BANK_STATUS_CODE => 'Accepted',
P_ACKNOWLEDGEMENT_DATE => sysdate,
P_BANK_ASSIGNED_REF_CODE1 => 'SBI ACC',
P_BANK_ASSIGNED_REF_CODE2 => 'SBI MDH',
P_PAYER_NAME => 'Advanced Network Devices',
P_PAYER_BANK_NAME => 'Bank of America',
P_PAYER_BANK_BRANCH_NAME => 'New York',
P_PAYER_BANK_SWIFT_CODE => '',
P_PAYER_BANK_ACCOUNT_NUMBER => '10271-17621-987',
P_PAYER_BANK_IBAN_NUMBER => '',
P_PAYEE_NAME => 'Advanced Network Device',
P_PAYEE_BANK_NAME => 'Bank of America',
P_PAYEE_BANK_BRANCH_NAME => 'New York',
P_PAYEE_BANK_SWIFT_CODE => '',
P_PAYEE_BANK_ACCOUNT_NUMBER => '10271-17621-619',
P_PAYEE_BANK_IBAN_NUMBER => '',
P_PAYMENT_AMOUNT => 981 ,
P_BANK_CHARGE_AMOUNT => 10,
P_PAYMENT_CURRENCY_CODE => 'USD',
P_EXCHANGE_RATE => 45,
P_VALUE_DATE => sysdate,
P_REQUESTED_EXECUTION_DATE => sysdate,
P_P_REJECT_DTLS_TBL_TYPE => rej_dtls_TAB,
x_return_status => p_return_status,
x_return_message => p_ret_msg,
x_msg_count => p_msg_cnt
);
DBMS_OUTPUT.PUT_LINE('p_return_status: '||p_return_status);
DBMS_OUTPUT.PUT_LINE('p_ret_msg: '||p_ret_msg);
DBMS_OUTPUT.PUT_LINE('p_msg_cnt: '||p_msg_cnt);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('SQLERRM: '||SQLERRM);
rollback;
raise;
END;

Вам также может понравиться