Sei sulla pagina 1di 6

/* Setup : 1.

Receiveable activity setup for receipt write off


2. setup write off limit for users
3. Use following API
*/
DECLARE
p_api_version NUMBER;
p_init_msg_list VARCHAR2(200);
p_commit VARCHAR2(200);
p_validation_level NUMBER;
x_return_status VARCHAR2(200);
x_msg_count NUMBER;
x_msg_data VARCHAR2(200);
p_cash_receipt_id ar_cash_receipts.cash_receipt_id%TYPE;
p_receipt_number ar_cash_receipts.receipt_number%TYPE;
p_amount_applied ar_receivable_applications.amount_applied
%TYPE;
p_applied_payment_schedule_id ar_payment_schedules.payment_schedule_id%
TYPE;
p_link_to_customer_trx_id ra_customer_trx.customer_trx_id%TYPE;
p_receivables_trx_id ar_receivable_applications.receivables_tr
x_id%TYPE;
p_apply_date ar_receivable_applications.apply_date%TYP
E;
p_apply_gl_date ar_receivable_applications.gl_date%TYPE;
p_ussgl_transaction_code ar_receivable_applications.ussgl_transact
ion_code%TYPE;
p_attribute_rec AR_RECEIPT_API_PUB.attribute_rec_type;
p_global_attribute_rec AR_RECEIPT_API_PUB.global_attribute_rec_t
ype;
p_comments ar_receivable_applications.comments%TYPE;
p_application_ref_type ar_receivable_applications.application_re
f_type%TYPE;
p_application_ref_id ar_receivable_applications.application_re
f_id%TYPE;
p_application_ref_num ar_receivable_applications.application_re
f_num%TYPE;
p_secondary_application_ref_id ar_receivable_applications.secondary_appl
ication_ref_id%TYPE;
p_payment_set_id ar_receivable_applications.payment_set_id
%TYPE;
p_receivable_application_id ar_receivable_applications.receivable_app
lication_id%TYPE;
p_customer_reference ar_receivable_applications.customer_refer
ence%TYPE;
p_val_writeoff_limits_flag VARCHAR2(200);
p_called_from VARCHAR2(200);
p_netted_receipt_flag VARCHAR2(200);
p_netted_cash_receipt_id ar_cash_receipts.cash_receipt_id%TYPE;
p_secondary_app_ref_type ar_receivable_applications.secondary_appl
ication_ref_type%TYPE;
p_secondary_app_ref_num ar_receivable_applications.secondary_appl
ication_ref_num%TYPE;
gc_user_id PLS_INTEGER := -1;
gc_resp_id PLS_INTEGER := -1;
gc_appl_id PLS_INTEGER := -1;
BEGIN
p_cash_receipt_id := 564449;
p_receipt_number := 'TESTCB1-|196222576|CASH
';
p_amount_applied := 26;
p_applied_payment_schedule_id := -3;
p_receivables_trx_id := 1008; --
--select * from fnd_user where user_name = 'AAFZAL'
/*SELECT application_id FROM fnd_application
WHERE application_short_name LIKE '%LDB%'; */
/*SELECT RESPONSIBILITY_ID,f.*
FROM FND_RESPONSIBILITY f where f.RESPONSIBILITY_KEY like '%ORDER%SUP%'
WHERE APPLICATION_ID=20003; */

-- Initialize application context with user specific values


gc_user_id := 12010;-- fnd_profile.VALUE('USER_ID'); aafzal
gc_resp_id := 21623;-- fnd_profile.VALUE('RESP_ID');
gc_appl_id := 660; --20003-- fnd_profile.VALUE('APPLICATION_ID');
-- c. Set the applications context
fnd_global.apps_initialize(gc_user_id, gc_resp_id, gc_appl_id);
AR_RECEIPT_API_PUB.Activity_application(
p_api_version => 1.0,
p_init_msg_list => FND_API.G_TRUE,
p_commit => FND_API.G_TRUE,
p_validation_level => FND_API.G_VALID_LEVEL_FULL,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_cash_receipt_id => p_cash_receipt_id,
p_receipt_number => p_receipt_number,
p_amount_applied => p_amount_applied,
p_applied_payment_schedule_id => p_applied_payment_schedule_id,
p_link_to_customer_trx_id => p_link_to_customer_trx_id,
p_receivables_trx_id => p_receivables_trx_id,
p_apply_date => p_apply_date,
p_apply_gl_date => p_apply_gl_date,
p_ussgl_transaction_code => p_ussgl_transaction_code,
p_attribute_rec => p_attribute_rec,
p_global_attribute_rec => p_global_attribute_rec,
p_comments => p_comments,
p_application_ref_type => p_application_ref_type,
p_application_ref_id => p_application_ref_id,
p_application_ref_num => p_application_ref_num,
p_secondary_application_ref_id => p_secondary_application_ref_id,
p_payment_set_id => p_payment_set_id,
p_receivable_application_id => p_receivable_application_id,
p_customer_reference => p_customer_reference,
p_val_writeoff_limits_flag => p_val_writeoff_limits_flag,
p_called_from => p_called_from,
p_netted_receipt_flag => p_netted_receipt_flag,
p_netted_cash_receipt_id => p_netted_cash_receipt_id,
p_secondary_app_ref_type => p_secondary_app_ref_type,
p_secondary_app_ref_num => p_secondary_app_ref_num
);
IF (x_return_status = 'S') THEN
COMMIT;
dbms_output.put_line('SUCCESS');
dbms_output.put_line('Return Status = '|| SUBSTR (x_return_sta
tus,1,255));
dbms_output.put_line('Message Count = '||x_msg_count);
dbms_output.put_line('Message Data = '||x_msg_data);
dbms_output.put_line('p_receivable_application_id = '||p_receivable_applic
ation_id);
ELSE
ROLLBACK;
dbms_output.put_line('Rolling back.... ');
dbms_output.put_line('Return Status = '|| SUBSTR (x_return_status,1,255));
dbms_output.put_line('Message Count = '|| TO_CHAR(x_msg_count ));
dbms_output.put_line('Message Data = '|| SUBSTR (x_msg_data,1,255));
dbms_output.put_line(APPS.FND_MSG_PUB.Get ( p_msg_index => APPS.FND_MSG_PU
B.G_LAST,
p_encoded => APPS.FND_API.G_FALSE));
IF x_msg_count >=0 THEN
FOR I IN 1..10 LOOP
dbms_output.put_line(I||'. '|| SUBSTR (FND_MSG_PUB.Get(p_encoded
=> FND_API.G_FALSE ), 1, 255));
END LOOP;
END IF;
END IF;

EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Exception :'||sqlerrm);
END;
/

--------------------------------------------------------------------------------
-------------------------------------------
/* Setup : 1. Receiveable activity setup for receipt write off
2. setup write off limit for users
3. Use following API
*/
DECLARE
p_api_version NUMBER;
p_init_msg_list VARCHAR2(200);
p_commit VARCHAR2(200);
p_validation_level NUMBER;
x_return_status VARCHAR2(200);
x_msg_count NUMBER;
x_msg_data VARCHAR2(200);
p_cash_receipt_id ar_cash_receipts.cash_receipt_id%TYPE;
p_receipt_number ar_cash_receipts.receipt_number%TYPE;
p_amount_applied ar_receivable_applications.amount_applied
%TYPE;
p_applied_payment_schedule_id ar_payment_schedules.payment_schedule_id%
TYPE;
p_link_to_customer_trx_id ra_customer_trx.customer_trx_id%TYPE;
p_receivables_trx_id ar_receivable_applications.receivables_tr
x_id%TYPE;
p_apply_date ar_receivable_applications.apply_date%TYP
E;
p_apply_gl_date ar_receivable_applications.gl_date%TYPE;
p_ussgl_transaction_code ar_receivable_applications.ussgl_transact
ion_code%TYPE;
p_attribute_rec AR_RECEIPT_API_PUB.attribute_rec_type;
p_global_attribute_rec AR_RECEIPT_API_PUB.global_attribute_rec_t
ype;
p_comments ar_receivable_applications.comments%TYPE;
p_application_ref_type ar_receivable_applications.application_re
f_type%TYPE;
p_application_ref_id ar_receivable_applications.application_re
f_id%TYPE;
p_application_ref_num ar_receivable_applications.application_re
f_num%TYPE;
p_secondary_application_ref_id ar_receivable_applications.secondary_appl
ication_ref_id%TYPE;
p_payment_set_id ar_receivable_applications.payment_set_id
%TYPE;
p_receivable_application_id ar_receivable_applications.receivable_app
lication_id%TYPE;
p_customer_reference ar_receivable_applications.customer_refer
ence%TYPE;
p_val_writeoff_limits_flag VARCHAR2(200);
p_called_from VARCHAR2(200);
p_netted_receipt_flag VARCHAR2(200);
p_netted_cash_receipt_id ar_cash_receipts.cash_receipt_id%TYPE;
p_secondary_app_ref_type ar_receivable_applications.secondary_appl
ication_ref_type%TYPE;
p_secondary_app_ref_num ar_receivable_applications.secondary_appl
ication_ref_num%TYPE;
gc_user_id PLS_INTEGER := -1;
gc_resp_id PLS_INTEGER := -1;
gc_appl_id PLS_INTEGER := -1;
BEGIN
p_cash_receipt_id := 563826;
p_receipt_number := '1234';
p_amount_applied := 12;
p_applied_payment_schedule_id := -3;
p_receivables_trx_id := 1229;
-- Initialize application context with user specific values
gc_user_id := fnd_profile.VALUE('USER_ID');
gc_resp_id := fnd_profile.VALUE('RESP_ID');
gc_appl_id := fnd_profile.VALUE('APPLICATION_ID');
-- c. Set the applications context
fnd_global.apps_initialize(gc_user_id, gc_resp_id, gc_appl_id);
AR_RECEIPT_API_PUB.Activity_application(
p_api_version => 1.0,
p_init_msg_list => FND_API.G_TRUE,
p_commit => FND_API.G_TRUE,
p_validation_level => FND_API.G_VALID_LEVEL_FULL,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data,
p_cash_receipt_id => p_cash_receipt_id,
p_receipt_number => p_receipt_number,
p_amount_applied => p_amount_applied,
p_applied_payment_schedule_id => p_applied_payment_schedule_id,
p_link_to_customer_trx_id => p_link_to_customer_trx_id,
p_receivables_trx_id => p_receivables_trx_id,
p_apply_date => p_apply_date,
p_apply_gl_date => p_apply_gl_date,
p_ussgl_transaction_code => p_ussgl_transaction_code,
p_attribute_rec => p_attribute_rec,
p_global_attribute_rec => p_global_attribute_rec,
p_comments => p_comments,
p_application_ref_type => p_application_ref_type,
p_application_ref_id => p_application_ref_id,
p_application_ref_num => p_application_ref_num,
p_secondary_application_ref_id => p_secondary_application_ref_id,
p_payment_set_id => p_payment_set_id,
p_receivable_application_id => p_receivable_application_id,
p_customer_reference => p_customer_reference,
p_val_writeoff_limits_flag => p_val_writeoff_limits_flag,
p_called_from => p_called_from,
p_netted_receipt_flag => p_netted_receipt_flag,
p_netted_cash_receipt_id => p_netted_cash_receipt_id,
p_secondary_app_ref_type => p_secondary_app_ref_type,
p_secondary_app_ref_num => p_secondary_app_ref_num
);
IF (x_return_status = 'S') THEN
COMMIT;
dbms_output.put_line('SUCCESS');
dbms_output.put_line('Return Status = '|| SUBSTR (x_return_sta
tus,1,255));
dbms_output.put_line('Message Count = '||x_msg_count);
dbms_output.put_line('Message Data = '||x_msg_data);
dbms_output.put_line('p_receivable_application_id = '||p_receivable_applic
ation_id);
ELSE
ROLLBACK;
dbms_output.put_line('Rolling back.... ');
dbms_output.put_line('Return Status = '|| SUBSTR (x_return_status,1,255));
dbms_output.put_line('Message Count = '|| TO_CHAR(x_msg_count ));
dbms_output.put_line('Message Data = '|| SUBSTR (x_msg_data,1,255));
dbms_output.put_line(APPS.FND_MSG_PUB.Get ( p_msg_index => APPS.FND_MSG_PU
B.G_LAST,
p_encoded => APPS.FND_API.G_FALSE));
IF x_msg_count >=0 THEN
FOR I IN 1..10 LOOP
dbms_output.put_line(I||'. '|| SUBSTR (FND_MSG_PUB.Get(p_encoded
=> FND_API.G_FALSE ), 1, 255));
END LOOP;
END IF;
END IF;

EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Exception :'||sqlerrm);
END;
/

Potrebbero piacerti anche