Search Results pjm_tasks_mtll_v




Overview

PJM_TASKS_MTLL_V is a read-only database view owned by the APPS schema in Oracle E-Business Suite. It belongs to the PJM (Project Manufacturing) product family and is documented in ETRM with the description "Tasks view for Project Locators." Its purpose is to present a simplified, filtered list of project tasks suitable for consumption by project locator functionality and related material transaction flows, rather than exposing the full detail of the underlying PA_TASKS table.

The view is defined over PA_TASKS and PA_LOOKUPS, and it derives its filtering and display logic from the profile option PA_TASK_DISPLAYED through the FND_PROFILE package. It also invokes PA_TASK_UTILS.CHECK_CHILD_EXISTS to evaluate task hierarchy when a "LOWEST" display mode is selected. The view has a VALID status in the documented environment and is therefore safe to reference in custom reports, concurrent programs, and integrations that need a pre-qualified task list.

Rather than storing data, the view computes a VALID_FLAG column at query time. This makes it a convenient single source for user interfaces and locator validations that must honor the organization's configured task display preference without replicating that logic in application code.

Underlying Base Objects

The ETRM metadata documents four referenced base objects:

  • PA_TASKS (SYNONYM) — The primary source of task rows, supplying PROJECT_ID, TASK_ID, TASK_NUMBER, TASK_NAME, and CHARGEABLE_FLAG used in the flag computation.
  • PA_LOOKUPS (VIEW) — Supplies the PA_TASKS_TO_DISPLAY lookup values that control which tasks are eligible for display.
  • FND_PROFILE (PACKAGE) — Resolves the current value of the PA_TASK_DISPLAYED profile option, defaulting to 'ALL' when the profile is not set.
  • PA_TASK_UTILS (PACKAGE) — Provides CHECK_CHILD_EXISTS, used to determine whether a task is a leaf (lowest-level) task when the profile is set to 'LOWEST'.

Because the view joins PA_TASKS to PA_LOOKUPS on the PA_TASKS_TO_DISPLAY lookup type, it effectively returns only tasks whose inclusion is permitted by the configured lookup row and the concurrent profile setting. The join logic means that every row in the view has passed both the lookup filter and the profile-based DECODE evaluation.

Key Columns

The documented columns exposed by the view are:

  • PROJECT_ID — The identifier of the project to which the task belongs; the primary join key back to project-related tables.
  • TASK_ID — The unique identifier of the task within PA_TASKS; used as the foreign key in transaction and locator contexts.
  • TASK_NUMBER — The user-facing task number, typically the value displayed in locator and task selection lists.
  • TASK_NAME — The descriptive name of the task.
  • VALID_FLAG — A computed indicator. It returns '*' when the task satisfies the current display rule (all tasks, chargeable tasks only, or lowest-level tasks only), and NULL otherwise. Note that the DECODE for 'CHARGEABLE' returns '*' only when CHARGEABLE_FLAG = 'Y', and the DECODE for 'LOWEST' returns '*' only when the task has no children.

Common Use Cases and Queries

This view is typically used in project manufacturing locator setup, material issue and receipt validations, and custom task-selection LOVs. A basic query retrieves the valid tasks for a given project:

  • SELECT task_number, task_name FROM pjm_tasks_mtll_v WHERE project_id = :project_id AND valid_flag = '*';

A common integration pattern is to join the view to PA_TASKS for additional attributes, or to a locator table to validate that a referenced task is currently displayable. Administrators can also use the view to verify the effect of the PA_TASK_DISPLAYED profile option, since changing the profile from 'ALL' to 'CHARGEABLE' or 'LOWEST' changes which rows return a non-null VALID_FLAG.

Because the view depends on FND_PROFILE, query results are session-sensitive; the profile value is resolved at execution time under the current user and responsibility. Custom code should therefore avoid caching view output across sessions. As with all APPS-owned objects, direct DML against the view is not supported; it is intended strictly for query and validation purposes.