PN Schedule Approval Status Upload

Description

PN Schedule Approval Status Upload changes the approval status of existing Oracle Property Manager payment and billing schedules from Excel – Approve, Un-Approve (return to Draft), or place On Hold – replicating the Authorize Payments / Authorize Billings forms. It cannot create, delete or otherwise edit schedules.

When to use it

  • Mass-approve (authorize) many payment or billing schedules at once instead of approving them one by one.
  • Un-approve schedules back to Draft (for example to correct an item before it is exported to AP/AR).
  • Put schedules On Hold to temporarily stop them being picked up for export.
  • Change the approver and/or GL period recorded against schedules during an approval run.
  • As part of a period-close routine, approve a filtered batch of schedules before exporting to Payables/Receivables.

Before you start

  • Blitz Report is installed and you are signed in to a responsibility with access to the operating unit.
  • A lease exists with generated payment or billing schedules; for approvals, the target GL period is open or future-enterable.
  • For approval, the schedule’s underlying items must be complete (valid AP/AR setup, enabled accounting, non-zero amounts).

Step 1 – Choose a mode, set the parameters and download

In Blitz Report, open PN Schedule Approval Status Upload, choose an Upload Mode (Create, Update – the default – downloads existing schedules to amend; Create gives an empty template to paste into), and set the parameters:

ParameterPurpose
Upload ModeCreate or Create, Update. Default is Create, Update. (No new schedule is ever created – this only updates status.)
Operating Unit / Lease / Schedule Status / dates / LocationRestrict which existing schedules are downloaded.
Schedule StatusFilter by current status; defaults to Draft so un-approved schedules are pulled in for approval.

Run the upload to download and open the Excel file.

Step 2 – Set the new status

On each row set the Payment Billing Status – Approved, Draft, or On Hold. When approving, you may also set the Approved By and Period (both default automatically if left blank). The lease, schedule date and amounts are read-only – they identify the schedule.

Step 3 – Validate and Save

Click Validate and Save. This checks for missing required values and runs the upload’s validation, then saves the file. Correct anything it flags before continuing.

Step 4 – Upload and view the result

Back in Blitz Report, click Upload and select your saved file. This submits the Blitz Upload request, which applies the status change to each schedule. When it finishes, a result report opens showing each row as success or error.

What’s produced

  • Payment/billing schedules with their approval status changed (approved, returned to draft, or on hold).
  • A result report listing every row with a status (success or error) and a message.

Common questions

Can I create new payment or billing schedules with this upload?
No. It only changes the approval status of schedules that already exist.

What’s the difference between Approved, Draft and On Hold?
Approved authorizes the schedule (recording an approver and GL period) so it can be exported to AP/AR; Draft returns it to an un-approved state; On Hold temporarily prevents it from being processed. Approver and Period apply only to Approved rows.

I’m approving but left Approved By / Period blank – is that OK?
Yes. Approved By defaults to the user running the upload, and Period is derived from the schedule’s date. The Period must be open or future-enterable in the schedule’s ledger.

Why does a row say “Update not required”?
The schedule is already in exactly the status (and, for approvals, the same approver and period) you requested.

Why can’t I edit the lease, schedule date or amounts?
Those columns identify the schedule and are read-only. Only Payment Billing Status, Approved By and Period are editable.

Troubleshooting

MessageCauseWhat to do
No matching Payment Schedule foundThe key columns don’t match any schedule (typically in pasted Create-mode rows).Correct the key columns; prefer downloading rows in Create, Update mode so the schedule is identified exactly.
Multiple Payment Schedules foundThe key columns matched more than one schedule.Narrow the row’s identifying values so it points to exactly one schedule.
Period is not a valid open or future enterable periodThe Period given isn’t open or future-enterable in the schedule’s ledger.Choose a period that is Open or Future-Enterable for that ledger.
Property Manager item-completeness message (missing AP/AR setup, disabled accounting, zero amount)The schedule’s underlying items aren’t ready for approval.Complete the item setup in Property Manager, then re-run the approval.
Approved By is not a valid userThe approver isn’t a valid EBS user.Pick a valid user from the dropdown.
select
null action_,
null status_,
null message_,
null request_id_,
null modified_columns_,
ppsv.payment_schedule_id,
--
haouv.name operating_unit,
ppsv.lease_name,
ppsv.lease_number,
xxen_util.meaning(plv.status,'PN_LEASE_STATUS_TYPE',0) lease_approval_status,
xxen_util.meaning(ppsv.lease_class_code,'PN_LEASE_CLASS',0) lease_class,
xxen_util.user_name(plda.responsible_user,'N') responsible_user,
ppsv.schedule_date,
xxen_util.meaning(ppsv.payment_status_lookup_code,'PN_PAYMENT_STATUS_TYPE',0) payment_billing_status,
ppsv.user_approved_by approved_by,
ppsv.period_name period,
pnp_util_func.get_total_payment_item_amt
(ppsv.payment_status_lookup_code,
 :p_sob_currency,
 ppsv.payment_schedule_id,
 'PNTAUPMT'
) total_amount,
ppsv.user_transferred_by,
ppsv.approval_date,
ppsv.transfer_date,
--
xxen_util.meaning(ppsv.lease_status,'PN_LEASESTATUS_TYPE',0) lease_status,
ppsv.lease_id,
ppsv.lease_change_id,
:p_set_of_books_id set_of_books_id,
:p_sob_currency set_of_books_currency
from
pn_payment_schedules_v ppsv,
pn_leases_v plv,
pn_lease_details plda,
hr_all_organization_units_vl haouv
where
1=1 and
:p_upload_mode like '%' || xxen_upload.action_update || '%' and
:p_set_of_books_id=:p_set_of_books_id and
ppsv.lease_id = plv.lease_id and
ppsv.lease_id = plda.lease_id and
ppsv.org_id = haouv.organization_id and
(ppsv.status = 'F' or
 (ppsv.lease_status in ('LOF','SGN') and ppsv.status ='D')
)
Parameter NameSQL textValidation
Upload Mode
 
LOV
Operating Unit
haouv.name=:p_operating_unit
LOV
Third Party Name
nvl(plv.customer_name,plv.supplier_name) = :p_third_party_name
LOV
Lease Class
plv.lease_class = :p_lease_class
LOV
Lease Type
plv.lease_type = :p_lease_type
LOV
Lease Name
plv.lease_name = :p_lease_name
LOV
Lease Name From
plv.lease_name >= :p_lease_name_fr
LOV
Lease Name To
plv.lease_name <= :p_lease_name_to
LOV
Lease Number
plv.lease_number = :p_lease_number
LOV
Lease Number From
plv.lease_number >= :p_lease_number_fr
LOV
Lease Number To
plv.lease_number <= :p_lease_number_to
LOV
Schedule Status
ppsv.payment_status_lookup_code=:p_schedule_status
LOV
Schedule Date From
ppsv.schedule_date>=:p_schedule_from_date
Date
Schedule Date To
ppsv.schedule_date<trunc(:p_schedule_to_date)+1
Date
Transaction Date From
exists (
select 
null
from 
pn_payment_items_all ppia
where
ppia.payment_schedule_id = ppsv.payment_schedule_id and
ppia.due_date >=  :p_trx_from_date
)
Date
Transaction Date To
exists (
select 
null
from 
pn_payment_items_all ppia
where
ppia.payment_schedule_id = ppsv.payment_schedule_id and
ppia.due_date < trunc(:p_trx_to_date)+1
)
Date
Location
exists (
select
null
from
pn_tenancies_all pta,
pn_locations_all pla
where
pta.lease_id = ppsv.lease_id and
pta.location_id = pla.location_id and
pla.location_code = :p_location_code
)
LOV
Location From
exists (
select
null
from
pn_tenancies_all pta,
pn_locations_all pla
where
pta.lease_id = ppsv.lease_id and
pta.location_id = pla.location_id and
pla.location_code >= :p_location_from_code
)
LOV
Location To
exists (
select
null
from
pn_tenancies_all pta,
pn_locations_all pla
where
pta.lease_id = ppsv.lease_id and
pta.location_id = pla.location_id and
pla.location_code <= :p_location_to_code
)
LOV
Lease Responsible User
plda.responsible_user=xxen_util.user_id(:p_responsible_user)
LOV
Schedule Approved By User
ppsv.user_approved_by=:p_approved_by_user
LOV
Schedule Approved Period
ppsv.period_name=:p_approved_period
LOV