Professional Documents
Culture Documents
Introduction ................................................................................... 3
Goal ........................................................................................... 3
Available APIs .......................................................................... 3
Pre-requisites ............................................................................. 4
Page 2
Introduction
Goal:
Available APIs:
Page 3
Pre-requisites:
R12.PJ_PF.B.delta.2 (12.1.2)
R12.PJ_PF.B.delta.3 (12.1.3)
Page 4
Lease Create API
Page 5
2- Create the Concurrent Program Executable.
Page 6
3- Create the API Concurrent program.
Page 7
4- Assign the Concurrent program to the Property
Manager Request Group to be able to run the program
from the Property Manager Responsibilities
Page 8
5- Submit the concurrent program PN Create Lease API
Page 9
Lease Create API Example:
Details Tab:
Execution Date: 01-JAN-2010
Commencement Date: 01-JAN-2010
Termination Date: 31-DEC-2010
Proration Rule: 365 Days/Year
User Responsible: SYSADMIN
Locations Tab:
Type: Office
Location Code: KN_NEW1-F1-O4
Usage : Office Space
Estimated Occupancy Date: 01-JAN-2010
Actual Occupancy Date: 01-JAN-2010
Expiration Date: 31-DEC-2010
Customer Name: A. C. Networks
Bill To Site: Provo (OPS)
Page
10
Billings Tab:
Term Template: KM_BILL_TT
Purpose: Rent
Type: Base Rent
Frequency: Quarterly
Normalize: Yes
Schedule Day: 1
Start Date: 01-JAN-2010
End Date: 31-DEC-2010
Customer Name: A. C. Networks
Bill To Site: Provo (OPS)
Payment Term: IMMEDIATE
Transaction Type: Invoice
Actual Amount: 1,000
Currency: USD
Page
11
Lease Create API procedure:
The API is designed to get the org_id while running the concurrent
program from the PN responsibility used through the variable
fnd_profile.VALUE ('ORG_ID') in the package pn_lease_pub.
The Lease create API can create the lease with the other information
like Contacts, Options, Insurance, Notes ..etc.
The following structures can be used for inserting the header and tabs
information of the lease
Page
12
The API procedure is a simple code to create 1 lease.
IS
lv_mesg varchar2(2000);
lv_api_version number;
lv_init_msg_list varchar2(100);
lv_validate varchar2(100);
lv_lease_rec pn_lease_pvt.lease_rec;
lv_lease_tenancies_rec pn_lease_pvt.lease_tenancies_rec;
lv_lease_payment_term_rec pn_lease_pvt.lease_terms_rec;
lv_lease_exp_rev_accounts_rec pn_lease_pvt.lease_account_rec;
lv_lease_accrual_account_rec pn_lease_pvt.lease_account_rec;
lv_lease_liab_rcvl_account_rec pn_lease_pvt.lease_account_rec;
lv_contacts_tbl pn_lease_pvt.lease_contacts_tbl;
lv_tenancies_tbl pn_lease_pvt.lease_tenancies_tbl;
lv_insurance_tbl pn_lease_pvt.lease_insurance_tbl_type;
lv_right_tbl pn_lease_pvt.lease_right_tbl_type;
lv_obligation_tbl pn_lease_pvt.lease_obligation_tbl_type;
lv_option_tbl pn_lease_pvt.lease_option_tbl_type;
lv_lease_payment_term_tbl pn_lease_pvt.lease_terms_tbl;
lv_note_tbl pn_lease_pvt.lease_note_tbl_type;
lv_msg_count number;
lv_msg_data varchar2(1000);
lv_return_status varchar2(10);
lv_lease_context varchar2(1000);
begin
Page
13
-- Details Tab
-- Locations tab
lv_lease_tenancies_rec.location_code := 'KN_NEW1-F1-O4';
lv_lease_tenancies_rec.tenancy_usage_lookup_code := 'OFFICE';
lv_lease_tenancies_rec.occupancy_date := to_date('01-JAN-2010' , 'DD-MON-YYYY');
lv_lease_tenancies_rec.estimated_occupancy_date := to_date('01-JAN-2010' , 'DD-MON-YYYY');
lv_lease_tenancies_rec.expiration_date := to_date('31-DEC-2010' , 'DD-MON-YYYY');
lv_lease_tenancies_rec.fin_oblig_end_date := to_date('31-DEC-2010' , 'DD-MON-YYYY');
lv_lease_tenancies_rec.creation_date := Trunc(SYSDATE);
lv_lease_tenancies_rec.created_by := 1013756;
lv_lease_tenancies_rec.last_update_date := Trunc(SYSDATE);
lv_lease_tenancies_rec.last_updated_by := 1013756;
lv_lease_tenancies_rec.status := 'A';
lv_lease_tenancies_rec.primary_flag := 'N';
lv_lease_tenancies_rec.customer_id := 1290;
lv_lease_tenancies_rec.allocated_area_pct := 100;
lv_lease_tenancies_rec.location_assignable_area := 100;
lv_lease_tenancies_rec.assignable_flag := 'N';
lv_lease_tenancies_rec.subleaseable_flag := 'N';
lv_lease_tenancies_rec.tenants_proportionate_share := 0;
lv_lease_tenancies_rec.lease_assignable_area := null;
lv_tenancies_tbl(1) := lv_lease_tenancies_rec;
lv_lease_payment_term_rec.term_template_name := 'KM_BILL_TT';
lv_lease_payment_term_rec.lease_id := lv_lease_rec.lease_id;
lv_lease_payment_term_rec.lease_change_id := lv_lease_rec.lease_change_id;
lv_lease_payment_term_rec.frequency_code := 'QTR';
lv_lease_payment_term_rec.start_date := lv_lease_rec.lease_commencement_date;
lv_lease_payment_term_rec.end_date := lv_lease_rec.lease_termination_date;
Page
14
lv_lease_payment_term_rec.actual_amount := 1000;
lv_lease_payment_term_rec.lease_status := 'ACT';
lv_lease_payment_term_tbl(1) := lv_lease_payment_term_rec;
pn_lease_pub.create_lease
(p_api_version => 1.0
, p_init_msg_list => FND_API.g_false
, p_commit => FND_API.g_true
, p_validate => FND_API.g_false
, p_lease_rec => lv_lease_rec
, p_lease_exp_rev_accounts_rec => lv_lease_exp_rev_accounts_rec
, p_lease_accrual_account_rec => lv_lease_accrual_account_rec
, p_lease_liab_rcvl_account_rec => lv_lease_liab_rcvl_account_rec
, p_contacts_tbl => lv_contacts_tbl
, p_tenancies_tbl => lv_tenancies_tbl
, p_insurance_tbl => lv_insurance_tbl
, p_right_tbl => lv_right_tbl
, p_obligation_tbl => lv_obligation_tbl
, p_option_tbl => lv_option_tbl
, p_lease_payment_term_tbl => lv_lease_payment_term_tbl
, p_note_tbl => lv_note_tbl
, x_msg_count => lv_msg_count
, x_msg_data => lv_msg_data
, x_return_status => lv_return_status
, p_lease_context => lv_lease_context);
commit;
END;
Page
15
Lease Update API
The lease Update API program can be created with the same
steps as the Lease Create API program as following:
Page
16
2- Create the Concurrent Program Executable.
Page
17
3- Create the API Concurrent program.
Page
18
4- Assign the Concurrent program to the Property
Manager Request Group to be able to run the program
from the Property Manager Responsibilities.
Page
19
5- Then submit the concurrent program PN Update Lease
API from the Property Manager responsibility
Page
20
Lease Update API Example:
Page
21
The API can be created as following:
IS
lv_mesg varchar2(2000);
lv_api_version number;
lv_init_msg_list varchar2(100);
lv_validate varchar2(100);
lv_lease_rec pn_lease_pvt.lease_rec;
lv_lease_tenancies_rec pn_lease_pvt.lease_tenancies_rec;
lv_lease_payment_term_rec pn_lease_pvt.lease_terms_rec;
lv_lease_exp_rev_accounts_rec pn_lease_pvt.lease_account_rec;
lv_lease_accrual_account_rec pn_lease_pvt.lease_account_rec;
lv_lease_liab_rcvl_account_rec pn_lease_pvt.lease_account_rec;
lv_contacts_tbl pn_lease_pvt.lease_contacts_tbl;
lv_tenancies_tbl pn_lease_pvt.lease_tenancies_tbl;
lv_insurance_tbl pn_lease_pvt.lease_insurance_tbl_type;
lv_right_tbl pn_lease_pvt.lease_right_tbl_type;
lv_obligation_tbl pn_lease_pvt.lease_obligation_tbl_type;
lv_option_tbl pn_lease_pvt.lease_option_tbl_type;
lv_lease_payment_term_tbl pn_lease_pvt.lease_terms_tbl;
lv_note_tbl pn_lease_pvt.lease_note_tbl_type;
lv_msg_count number;
lv_msg_data varchar2(1000);
lv_return_status varchar2(10);
lv_lease_context varchar2(1000);
begin
lv_lease_rec.lease_num := '4093';
lv_lease_rec.creation_date := sysdate;
lv_lease_rec.created_by := 1013756;
lv_lease_rec.last_update_date := sysdate;
lv_lease_rec.last_updated_by := 1013756;
lv_lease_context := 'ED';
lv_lease_payment_term_rec.term_template_name := 'KM_BILL_TT';
lv_lease_payment_term_rec.lease_id := lv_lease_rec.lease_id;
lv_lease_payment_term_rec.lease_change_id := lv_lease_rec.lease_change_id;
lv_lease_payment_term_rec.frequency_code := 'MON';
lv_lease_payment_term_rec.start_date := to_date('01-JAN-2010','DD-MON-YYYY');
lv_lease_payment_term_rec.end_date := to_date('31-DEC-2010','DD-MON-YYYY');
lv_lease_payment_term_rec.actual_amount := 700;
lv_lease_payment_term_rec.lease_status := 'ACT';
lv_lease_payment_term_tbl(1) := lv_lease_payment_term_rec;
Page
22
pn_lease_pub.update_lease
(p_api_version => 1.0
, p_init_msg_list => FND_API.g_false
, p_commit => FND_API.g_false
, p_validate => FND_API.g_false
, p_lease_rec => lv_lease_rec
, p_lease_exp_rev_accounts_rec => lv_lease_exp_rev_accounts_rec
, p_lease_accrual_account_rec => lv_lease_accrual_account_rec
, p_lease_liab_rcvl_account_rec => lv_lease_liab_rcvl_account_rec
, p_lease_contacts_tbl => lv_contacts_tbl
, p_lease_tenancies_tbl => lv_tenancies_tbl
, p_insurance_tbl => lv_insurance_tbl
, p_right_tbl => lv_right_tbl
, p_obligation_tbl => lv_obligation_tbl
, p_option_tbl => lv_option_tbl
, p_lease_payment_term_tbl => lv_lease_payment_term_tbl
, p_note_tbl => lv_note_tbl
, x_msg_count => lv_msg_count
, x_msg_data => lv_msg_data
, x_return_status => lv_return_status
, p_lease_context => lv_lease_context);
commit;
END;
Page
23