Search Results ozf_period_tbl_type




Overview

OZF_ALLOCATION_ENGINE_PVT is the private implementation package body for the Oracle E-Business Suite Trade Management (formerly Oracle Funds Capture / Oracle Marketing) allocation engine, residing in the APPS schema. It provides the computational core that distributes budgeted trade funds, account targets, and product targets across time periods, products, and customer accounts based on predefined allocation rules. The package is classified as a PVT (private) API, meaning it is not intended for direct external invocation; instead it is called by public wrapper packages and by the allocation setup forms. In ETRM 12.1.1 and 12.2.2, this engine supports accrual planning and fund consumption tracking, ensuring that budget amounts entered at the fund level cascade correctly to the time, product, and account dimensions used for reporting and claim validation.

Key Procedures and Functions

The package body exposes nine documented procedures and functions:

  • SETUP_PRODUCT_SPREAD — Establishes the initial spread of a fund or account budget across the product dimension according to the defined allocation method.
  • CASCADE_PRODUCT_SPREAD — Propagates an established product-level spread down to subordinate levels, ensuring consistency between parent and child product allocations.
  • ALLOCATE_TARGET — Performs the primary allocation operation, distributing a target amount across the applicable dimension (time, product, or account) using the active allocation rule.
  • GET_TARGET — Retrieves the target amount associated with a given allocation context for use by downstream calculations.
  • GET_TARGET_PKEY — Returns the primary key of the target record, enabling callers to reference the persisted allocation row.
  • GET_SALES — Obtains sales or performance data used as a driver when allocations are based on actual or forecast sales.
  • GET_PROD_ALLOC_COUNT — Returns the count of product allocation records for a given context, typically used to validate whether allocations exist before processing.
  • ADJUST_ACCOUNT_TARGETS — Reconciles and adjusts account-level targets, ensuring that the sum of account allocations matches the parent budget after rounding or rule changes.

Tables Accessed

The engine reads and writes a broad set of transactional and setup tables through APPS synonyms. Allocation persistence relies on OZF_TIME_ALLOCATIONS and OZF_TIME_ALLOCATIONS_S (the user-searched object), along with OZF_PRODUCT_ALLOCATIONS, OZF_PRODUCT_ALLOCATIONS_S, OZF_ACCOUNT_ALLOCATIONS, and OZF_ACCOUNT_ALLOCATIONS_S. Fund and budget context is drawn from OZF_FUNDS_ALL_B and its VL view. Performance metrics come from OZF_ACT_METRICS_ALL and OZF_ACT_METRIC_FACTS_ALL, while activity/product relationships are resolved through AMS_ACT_PRODUCTS. Customer and territory targeting uses AMS_PARTY_MARKET_SEGMENTS, OZF_PARTY_MARKET_SEGMENTS_T, JTF_TERR_RSC_ALL, JTF_TERR_RSC_ACCESS_ALL, and JTF_TERR_ALL. Product hierarchy classification relies on MTL_ITEM_CATEGORIES, and sales drivers are sourced from OZF_ORDER_SALES_V. Supporting processing uses OZF_TIME_ENT_PERIOD, OZF_TIME_ENT_QTR, and OZF_PERIOD_TBL_TYPE for period and quarter mapping.

Usage Notes

Because OZF_ALLOCATION_ENGINE_PVT is a private package, it is invoked indirectly. The most common entry points are the public allocation packages such as OZF_TIME_ALLOCATIONS_PKG, OZF_PRODUCT_ALLOCATIONS_PKG, and OZF_ACCOUNT_ALLOCATIONS_PKG, which are called from the Trade Management allocation setup forms when a user saves or generates allocations. The package also participates in concurrent programs that mass-generate allocations across funds and periods. Internally it depends on FND_API, FND_MSG_PUB, FND_MESSAGE, FND_GLOBAL, and WF_EVENT for error handling and workflow notification, and on OZF_UTILITY_PVT, OZF_LOCATION_PVT, and OZF_TIME_API_PVT for shared utilities. Custom development should never call this package directly; callers should use the corresponding public _PKG or _PUB APIs. The package is not referenced by any other database object, confirming its role as a terminal implementation layer.