Tag Archives: Oracle E-Business Suite

EBS 12.2 Thousands of Invalid Objects from one Grant? Yes…

Remember that editioning support introduced the concept of stub objects – those that point to the “real” version of the object when multiple editions are present (which is pretty much all the time in 12.2).

This is why the synonym for an object like APPS.FND_USER points to a current editioned object named APPLSYS.FND_USER#, which may exist in different forms in multiple editions.

The trouble is when you perform a simple grant DDL:

SQL> grant SELECT on APPS.FND_USER to XXCUSTOM;

Even if you have the whole middle-tier services down, or follow the instructions in Granting Privileges On An Object May Cause Invalidations (Doc ID 1987947.1) if you then check your usual source for invalid objects (such as using $AD_TOP/sql/adutlrcmp.sql) you’ll be blessed with hundreds and perhaps thousands of invalid stubs, all of which need to be re-compiled lest you start receiving the dreaded ORA-04062: signature of package “APPS.FND_GLOBAL” has been changed (meaning it was automatically re-compiled while in-use by another process), or ORA-07445: exception encountered: core dump (something was valid, but a bunch of dependent stub objects no longer are valid.)

What I’ve discovered in 12.2.6, with an 11.2.0.4 DB, even if you issue the DDL commands in a proper patching cycle, you still get thousands of invalid stubs.  So, really there’s only one solution – use the new API (introduced in patch 19674458:R12.AD.C) and present generally after AD.Delta.6

--As APPS:
SQL> exec AD_ZD.revoke_privs('SELECT','FND_RESPONSIBILITY','MSC');

Syntax:
————
ad_zd.grant_privs(
X_PERMISSIONS in varchar2, /* comma-seperated permission list */
X_OBJECT_NAME in varchar2, /* name of APPS object or APPS synonym */
X_GRANTEE in varchar2, /* grantee schema or role */
X_OPTIONS in varchar2 default NULL); /* grant options, example: ‘WITH
GRANT OPTION’ */

exec AD_ZD.grant_privs(‘SELECT’, ‘FND_RESPONSIBILITY’, ‘MSC’,X_GRANT_TO_TABLE=>TRUE)
PL/SQL procedure successfully completed.

Instead of:

SQL> grant SELECT on FND_RESPONSIBILITY to MSC;

Advertisement

Oracle eBusiness Suite R12.2.7 – New Features/Just the Facts

r1227_new_feat.banner
Oracle e-Business Suite R12.2.7 Released

Oracle eBusiness Suite R12.2.7 – New Features/Just the Facts

Full PDF Presentation here – Oracle eBusiness Suite R1227_Highlights_jlui

Summary Based Upon Presentation by Cliff Godwin, Oracle E-Business Suite Release 12.2.7 Highlights, September 2017 – Watch the video here.

Roadmap [image]

iProcurement 12.2.7

  • Auto-Suggest Catalog Items
  • New Supplier Creation Flow for Non-Catalog & Contractors
  • New Supplier Creation Flow for Spot Buys
  • Show Procurement Activities to Requesters
  • New Requester Notifications for P.O. Status Updates
  • Simplified Shopping Cart UI

Auto-Suggested Catalog Items [image]

Supplier On-boarding Flow [image]

Supplier Creation Flow for Spot Buys [image]

PO Information to Requesters [image]

Purchasing / Contracts 12.2.7

  • Purchasing
    • Automated Grouping of Multiple Requests to PO’s
    • Validate Agreement Line Amounts During Order/Release Submission
  • Procurement Contracts
    • Content Search
  • Procurement Command Center
    • Partial Searches / Snippet Preview

PO Requisition Auto-Grouping [image]

PO Line Amount Validation [image]

Contracts Content Search [image]

iSupplier / Supplier Lifecycle Mgt

  • Improved Automatic Recurring Assessments
  • Contact and Address Purpose and Associated Notifications
  • Visibility of Dynamic Supplier Lists

Supplier LCM – Recurring Assessments [image]

Supplier LCM / iSupplier Portal [image]

Project Procurement 12.2.7

  • Support for Technical Specifications
  • Support for Buyer Notes
  • Support for Descriptive Flexfields
  • Planning by Need-By Date
  • Change History Page UX Enhancements

Projects 12.2.7

  • Project Costing
    • Calculate Overtime Labor for Work-Based Timecard Layouts
  • Project Planning & Control
    • Work Plan Lifecycle
  • Advanced Project Planning & Controls
    • Support for Unit Rate Contract Schedule of Values

PP&C Workplan Lifecycle [image]

AP&C Unit Rate Contracts [image]

Order Management 12.2.7

  • Order Management
    • Milestone Billing
    • Manual Item Substitution After Booking
    • Schedule Order Enhancements
  • Quoting
    • Quote Status Flow by OU; Defaults, Updates
  • iStore
    • Order Type per Specialty Site; Email Notification Style
  • Customer Hub
    • Enhanced Party Merge

OM: Milestone Billing [image]

Quote Status Flow by OU [image]

Logistics / Inventory 12.2.7

  • Inventory / WMS
    • Material Workbench UI
    • Enhanced Receiving & Shipping UI
    • Enhanced Shipping / Oracle Transportation Mgt Integration
  • Material Supply Chain Administration (MSCA)
    • Label Reprints by Any User; Default Org on Login

Material Workbench UI

Manufacturing 12.2.7

  • Discrete MES
    • Enhanced Supervisor Review of Operator Times
    • Express Complete for Related Job Operations
  • Process Manufacturing
    • Automated Time-Based Sampling
  • Cost Management
    • Accrual Reconciliation for Inventories

Express Complete for Related Job Operations

Automated Time-Based Sampling

Value Chain Planning 12.2.7

  • Functional Security for ADF UI’s
  • Org & Function Security in Supply & Service Parts Planning ADF Work Areas
  • Production Scheduling of Phantoms

Org & Function Security

Asset Lifecycle Management 12.2.7

  • Enterprise Asset Management
    • Work Order Mass Updates
    • Generate Preventative Maintenance Work Order Report
    • Operation Completion as Mandated
    • Add Supplier Info for Work Order Directives
  • Installed Base
    • WebADI for Extended Attributes

WebADI for Installed Base Extended Attributes

Service 12.2.7

  • Advanced Scheduling
    • Add Resource Cost Factoring
  • Spares Mgt
    • Error Packing and Shipping Instructions for Parts Requirements; Copy Requirements to Internal Orders
  • Field Service
    • Self-Assign Labor Debrief Checklist Consolidated Debrief
  • TeleService
    • Enhanced UI’s
  • Depot Repair / Depot Info Discovery
    • Improved Graphs, Drilldowns

Depot Repair Information Discovery

Channel Revenue Management 12.2.7

  • Multi-Currency Approval Rule for Claims
  • Standalone Installation Support

Channel Revenue Mgt Standalone Support [image]

Human Capital Management 12.2.7

  • Time & Labor
    • Timecard Entry for Terminated Employees
    • Timekeeper Grouping by Supervisor
    • OT Calc for Project Work-Based Layout
  • Payroll
    • Dynamic Assignment Sets UI/WebADI
  • Learning Management
    • Test Overview for Online Assessments
    • Certification-Only Classes

Payroll Dynamic Assignment Sets [image]

Learning Mgt: Online Assessments [image]

ATG OAF User Experience 12.2.7

  • Administrator Personalizations
    • Admin Personalization Workbench
    • Themes
  • End-User Interactions
    • HGrid Column Freeze
    • Add to Favorites via Icons
    • Enhanced Look-Ahead LOV’s
    • Enhanced Attachments

OAF Roadmap 12.2.x [image]

Admin Personalization Workbench [image]

OAF Themes [image]

Oracle Configuration Manager Quick Tip – EBS R12.2 Disconnected Collections

Collecting Disconnected Mode OCM data for e-Business Suite R12.2
per MOS Document ID 1447334.1 - Oracle E-Business Suite Release 12.2: Release Notes for Oracle Configuration Manager
My Oracle Support - Download Collector page
MOS Oracle Configuration Manager Collector Download screen.
This method is used whenever your EBS instance is behind a firewall and no proxy server is available to reach the OCM collector end-point (ccr.oracle.com)

The reason you want to use OCM is not only because it provides a complete catalog of your Oracle software versions, modules and plug-ins, so that they can easily be associated with a Service Request (SR) instead of the analyst asking for every RDA script being run for every component in your application and database. 

It also enables the full functionality of that Systems Tab in My Oracle Support (buried just above your Settings menu) that allows you to do light versions of lifecycle management comparisons (such as what the instance looked like 2 weeks ago versus now) without having to own the OEM Lifecycle Management license. It comes compliments of your support agreement.

This also enables the full functionality of the patch and security recommendations section vital towards identifying high priority one-off patches specific to your particular configuration and platform.

Basically, instead of having a cron job periodically automatically upload the configurations to ccr.oracle.com, you will be creating the same staged configuration file, but uploading it to your Customer Support Identifier (CSI) via a Draft Service Request (SR) or a currently Open SR via the File Attachment... feature of the SRs.

In the background of MOS is a managed file transfer handler that looks for the specifically named "ocmconfig.jar" files and when detected, route them over to the Configuration Manager engine for automatic uploading to your CSI account.

While not as convenient as the automatic cron method, for those of use with no direct internet connectivity to ccr.oracle.com, our OEM and MOS functionalities become quite limited if the configurations aren't present under our CSI's.e.g. ORACLE_BASE=/u01/app/oracle
# Oracle DB Home cd $ORACLE_HOME unset ORACLE_CONFIG_HOME export JAVA_HOME=$ORACLE_HOME/jdk cd $ORACLE_HOME/ccr # Clear prior CCR installation, if required. rm -rf $ORACLE_HOME/ccr/* cd $ORACLE_HOME unzip <patch_stage_dir>/p5567658_<ver>_<platform>.zip cd $ORACLE_HOME/ccr/bin # Run setupCCR in Disconnected mode ./setupCCR -s -d # Create ORACLE_OCM user and related grants . $ORACLE_HOME/ccr/admin/scripts/installCCRSQL.sh collectconfig -s <SID> -r SYS # Additional grants for APPS EBS Collector . $ORACLE_HOME/ccr/admin/scripts/installCCRSQL.sh ebs_collectconfig -u <APPSUSERNAME> # Run the collection and generate the ocmconfig.jar cd $ORACLE_HOME/ccr/bin ./emCCR collect # ocmconfig.jar location $ORACLE_HOME/ccr/hosts/$HOSTNAME/state/upload # Oracle 10.1.2 iAS Home . $ORACLE_BASE/EBSapps.env run export ORACLE_HOME=$ORACLE_HOME export ORACLE_CONFIG_HOME=$INST_TOP/ora/10.1.2 export JAVA_HOME=$ORACLE_HOME/jdk # Remove prior OCM config, if needed rm -rf $ORACLE_HOME/ccr/* rm -rf $ORACLE_CONFIG_HOME/ccr/* cd $ORACLE_HOME unzip <patch_stage_dir>/p5567658_<ver>_<platform>.zip # Bugfix specific to HP-UX Itanium - verify file permissions to execute chmod 754 $ORACLE_HOME/ccr/bin/deployPackages chmod 754 $ORACLE_HOME/ccr/bin/emSnapshotEnv cd $ORACLE_HOME/ccr/bin ./setupCCR -s -d # Disconnected mode # Run the collection and generate the ocmconfig.jar cd $ORACLE_HOME/ccr/bin ./emCCR collect # ocmconfig.jar location $INST_TOP/ora/10.1.2/ccr/state/upload #Repeat for patch filesystem; . $ORACLE_BASE/EBSapps.env patch # Oracle FMW WebLogic Home # source the Domain environment . $ORACLE_BASE/EBSapps.env run . $EBS_DOMAIN_HOME/bin/setDomainEnv.sh export ORACLE_HOME=$FMW_HOME/utils export ORACLE_CONFIG_HOME=$INST_TOP/ora/FMW # Remove prior OCM config, if needed rm -rf $ORACLE_HOME/ccr/* rm -rf $ORACLE_CONFIG_HOME/ccr/* cd $ORACLE_HOME unzip <patch_stage_dir>/p5567658_<ver>_<platform>.zip # Bugfix specific to HP-UX Itanium - verify file permissions to execute chmod 754 $ORACLE_HOME/ccr/bin/deployPackages chmod 754 $ORACLE_HOME/ccr/bin/emSnapshotEnv cd $ORACLE_HOME/ccr/bin ./setupCCR -s -d # Disconnected mode # Run the collection and generate the ocmconfig.jar cd $ORACLE_HOME/ccr/bin ./emCCR collect # ocmconfig.jar location $INST_TOP/FMW/ccr/state/upload #Repeat for patch filesystem; . $ORACLE_BASE/EBSapps.env patch # Upload all of your ocmconfig.jar files (can be named uniquely - e.g. mydbocmconfig.jar) per MOS Document ID 763142.1 - How to upload the collection file ocmconfig.jar to My Oracle Support for Oracle Configuration Manager (OCM) running in Disconnected Mode.
# Also can ZIP up all of them at once and upload them to your Draft SR (or current open SR as long as you're happy with the CSI (Customer Support Identifier) that will receive the new configurations.
# Trick is have the string "ocmconfig" and .jar as the extension of each file
Have fun with your new Systems tab in My Oracle Support!

R12.2 Overview for Developers (Oracle e-Business Suite)

We are upgrading our Oracle e-Business Suite from 12.1.3.6 to 12.2.3.

This is a preparatory session prepared for our Development Team and may be useful to others.  All copyrights reserved; no reproduction without permission.

AUS_R12_2_for_Developers_@jhlui1 (PDF Link)

Contents Outline:

  • R12.2 Overview For Developers
  • May 5, 2014
  • James H. Lui, OCP
  • Sr. Oracle Applications DBA
  • @jhlui1

What’s Covered

  • What’s an Edition?
  • What’s an Online Patch?
  • How is Development Affected?
  • Examples
  • What Can I Do?

What’s an Edition? (Doc ID 1489116.1)

  • An edition is like a workspace or private environment where database objects are redefined. When we are satisfied with the change that we have made, those changes in the edition can be then rolled out to all the application users.
  • With Edition-Based Redefinition you can have two objects with the same name, as long as they are in different Editions.
  • An edition is effectively a version label that can be assigned to all editionable objects in a schema.

–When a new edition is used by a schema, all editionable objects are inherited by the new edition from the previous edition.

–These objects can subsequently then be altered or dropped as desired, but doing so will stop the inheritance of that object.

–From Oracle database 11gR2 onwards, each database has at least one edition, the default being ORA$BASE.

–The default edition can be displayed using the DATABASE_PROPERTIES view.

<illustration>

What Objects Can Be Editioned?

  • (Doc ID 1489116.1)
  • <illustration>

The following object types are editionable:

  • FUNCTION
  • LIBRARY
  • PACKAGE and PACKAGE BODY
  • PROCEDURE
  • TRIGGER
  • TYPE and TYPE BODY
  • SYNONYM
  • VIEW

Review contents of the APPS versus APPS_NE schemas for detai

What are The Rules for Editioning?

  • (Doc ID 1489116.1 – there are more…)

A non-editionedobject cannot depend on an editioned object.

Some examples:

– A public synonym cannot refer to an editioned object.
(why APPS-owned synonyms take precedence)

– A function-based index cannot depend on an editioned function.

– A materialized view cannot depend on an editioned view.
(why a lot of MV’s are invalidated in 12.2)

– A table cannot have a column of a user-defined data type (collection or Abstract Data Type/ADT) whose owner is editions-enabled (APPS is, APPS_NE isn’t.)

– A noneditioned subprogram cannot have a static reference to a subprogram whose owner is editions-enabled.
(APPS_NE.<package> cannot reference APPS.<function>)

Editioning Example: PTCHARMK

  • (adop phase=prepare in-progress)
  • SQL Statement which produced this data:
  • SELECT * FROM dba_editions;
  • <illustration>
  • What’s an Edition? (Doc ID 1489116.1)
  • SELECT property_value
    FROM database_properties
    WHERE property_name = ‘DEFAULT_EDITION’;
    <illustration>
  • ALTER SESSION SET edition=V_20140428_1435;

<illustration>

  • SELECT SYS_CONTEXT(‘USERENV’, ‘SESSION_EDITION_NAME’) AS edition FROM dual;

<illustration>

What’s an Online Patch?(Doc ID 1583902.1)

  • Online patching is a new patching mechanism that allows the application of patches while the system is up and running, and the users are working as normal (…while ensuring object version consistency.)
  • What are the phases that make up the Online Patching cycle?

–Prepare a virtual copy (patch edition) of the running application (run edition).

–Apply patches to the patch edition of the application.

–Finalize the system in readiness for the cutover phase.

–Cutover to the patch edition and make it the new run edition.

–Cleanup obsolete definitions or data to recover space.

  • When a patch is applied, adop will:

Synchronizethe contents of the run file system to the patch file system. (phase=prepare)

Apply patching actions on the patch file system. (phase=apply)

–During the cutover phase, the adoputility (phase=cutover) :

  • Restartsthe application tier services.
  • Swap [Patch FS] <-> [Run FS]

Online Patching: Our Filesystem (note: we moved the $INST_TOP down a level from /u01 to facilitate preservation as a separate NFS mount during refreshes)

  • /u01

–fs1/

–fs2/

–fs_ne/

–inst/

–oraInventory/

  • Online Patching: The Environment

<illustration>

Online Patching: Switching Envs(Doc ID 1545584.1 – Requires 12.2.2 minimum)

Change directory to the Base directory and run script EBSapps.env giving “run” or “patch” as argument, eg:

cd /u01/oracle/EBS122

. ./EBSapps.env run

E-Business Suite Environment Information

—————————————-

RUN File System : <EBS base dir>/fs1/EBSapps/appl

PATCH File System : <EBS base dir>/fs2/EBSapps/appl

Non-Editioned File System : <EBS base dir>/fs_ne

DB Host: <hostname.domain name> Service/SID: <SID>

Sourcing the RUN File System …

Online Patching: Switching Envs(Doc ID 1545584.1 – for PTCHARMK at 12.2.0)

Use fsauto<SID>.sh(already included in the applptch .profile)

cd ~

. ./fsauto${ORACLE_SID}.sh

Running fsauto 1.0 :

Context Name (<SID_host>) : PTCHARMK_aburpaofinm01

RUNEdition APPL_TOP     : /u01/fs1

PATCHEdition APPL_TOP   : /u01/fs2

APPL_TOP environment file : /u01/fs1/EBSapps/appl/APPSPTCHARMK_aburpaofinm01.env

Non-Editioned File System : /u01/fs_ne/EBSapps/appl

Instance Top Directory   : /u01/inst/fs1/inst/apps/PTCHARMK_aburpaofinm01

Admin Scripts Home       : /u01/inst/fs1/inst/apps/PTCHARMK_aburpaofinm01/admin/scripts

Setting RUN Edition APPL_TOP environment for /u01/fs1 …

Current PATCH_TOP: /mnt/nfs/ebs/122postinstall

applptch@aburpaofinm01 $>

What’s an Online Patch?

  • (Checking for Active Patching Sessions)
  • SELECT ADOP_SESSION_ID,
  • PREPARE_STATUS,
  • APPLY_STATUS,
  • FINALIZE_STATUS,
  • CUTOVER_STATUS,
  • CLEANUP_STATUS,
  • ABORT_STATUS,
  • STATUS,
  • ABANDON_FLAG,
  • NODE_NAME
  • FROM AD_ADOP_SESSIONS
  • ORDER BY ADOP_SESSION_ID;

What’s an Online Patch?

  • (Why should I care?)

Q: Based on the below information querying the AD_ADOP_SESSIONS table in PTCHARMK:

<illustration>

  1. Which patching session will go first, and when?
  2. Which filesystem (fs1 or fs2) and edition is Run versus Patch?
  3. Where should my custom object/code/form/report go to test in this instance?
    <illustration>
  • What’s an Online Patch?
    (Why should I care?)

Q: Based on the below information querying the AD_ADOP_SESSIONS table in PTCHARMK:

  1. Which patching session will go first, and when?
  2. Which filesystem and edition is Run versus Patch?
  3. Where should my custom object/code/form/report go to test in this instance?
    <illustration>

Examples: Editioned View
(Why we use APPS.AR_DEBUGinstead of AR.AR_DEBUG)

/* ObjName | ObjType | ObjParent | ObjOwner
AR_DEBUG | TABLE | | AR
AR_DEBUG# |VIEW | | AR
AR_DEBUG | SYNONYM | | APPS

Synonym APPS.AR_DEBUG */
/* Formatted on 5/1/2014 3:26:22 PM (QP5 v5.256.13226.35510) */
CREATE OR REPLACE FORCE EDITIONING VIEW AR.AR_DEBUG#
(
DEBUG_TYPE,
ITEM_TYPE,
ITEM_KEY,
ACTIVITY_NAME,
EXECUTION_DATE,
DEBUG_MESSAGE
)
AS
SELECT DEBUG_TYPE DEBUG_TYPE,
ITEM_TYPE ITEM_TYPE,
ITEM_KEY ITEM_KEY,
ACTIVITY_NAME ACTIVITY_NAME,
EXECUTION_DATE EXECUTION_DATE,
DEBUG_MESSAGE DEBUG_MESSAGE
FROM “AR”.”AR_DEBUG”;
CREATE OR REPLACE SYNONYMAPPS.AR_DEBUGFOR AR.AR_DEBUG#;

GRANT DELETE, INSERT, SELECT, UPDATE, DEBUG ON AR.AR_DEBUG#TO APPS WITH GRANT OPTION;

GRANT SELECT ON AR.AR_DEBUG# TO XXUSR_SELECT_R;

Examples: PL/SQL Package
(APPS.ACCOUNT_MGR)

<illustration>

Examples: PL/SQL Package
(APPS.ACCOUNT_MGR)

<illustration>
How is Development Affected?
(Doc ID 1489116.1)
Not using an APPS.<editioned object synonym>

–Views: disappearing/appearing columns, indexes, even data

–PL/SQL: dropped/altered/changed API’s, usage, references

–Triggers: disappearing/appearing constraints, functional changes

–Types: disappearing/appearing columns, indexes, even data

–Synonyms: pointers change: ViewsóTables, all the above

  • Invalid Objects Appear After Patching
  • Functional Code Behavior Changes After Patching
  • If another Developer is using an Edition:The DEFAULT_EDITION can change without warning

What to Do?

  • Always Be Aware of other Patching or Development activity going on in the instance
  • Stage Filesystem-based Code in both RUN_BASE and PATCH_BASE
  • Scheduling of Data Changes is Critical (changes can vanish)
  • Announce to all other Users if Creating/Cutting-Over a New Edition
  • Flag all Base-Object Customizations for Detection during PPA

How to Flag a Customization

  • (OAM -> Site Map -> [Maintenance] -> Register Flagged Files)
  • <illustration>

How to Flag a Customization

  • (OAM -> Site Map -> [Maintenance] -> Register Flagged Files)
  • <illustration>

MOS References

  • (support.oracle.com – CSI: 19086017)
  • Deploying Customizations in Oracle E-Business Suite Release 12.2 (Doc ID 1577661.1)
  • Master Note: Overview of Oracle Edition-Based Redefinition (EBR) (Doc ID 1489116.1)
  • Oracle E-Business Suite Release 12.2: Online Patching FAQ
    (Doc ID 1583902.1)
  • Oracle Application Framework Release Notes for Release 12.2.3 (Doc ID 1593782.1)
  • Where to Deploy Custom Java [default: $JAVA_TOP/*]
    (Doc ID 1609939.1)
  • Oracle E-Business Suite Release 12.2 Information Center
    (Doc ID 1583153.1)

An in-depth white paper prepared for the NorCalOAUG by John Peters (2/2014):

http://jrpjr.com/paper_archive/12_2_development.pdf

The Oracle Database 12c “Formerly-known-as-Next-Generation” at Collaborate 13

#C13DEN Session 671 – Monday 4/8 9:45A Mineral Hall Ballroom 3B (the room right next to my Introduction to Fusion Middleware- same Monday 9:45A, but MHB 3C) – These rooms are on the First Floor down in front of the main theatre.

Rich Niemiec speaks on Database 12c Features and Functionality in the way only Rich can do it (meaning 200+ pages of slide deck).

Oracle Magazine March 2013 - Database 12c Printed Publically
Oracle Magazine March 2013 – Database 12c Printed Publically

Here’s why we can call it “12c” – Oracle printed it for us to share in last month’s Oracle Magazine: