Wednesday, December 11, 2013

How to identify the personlizations on an OAF page?

Here are several ways to identify if there are Personalization’s made to a page and what those Personalizations are:

1. The first and easiest way is to go to the page you want to check for Personalization’s, then click on the 'About this page' link at the bottom left of the page.
Click on the Personalization tab.
Then you should see a list of 'Effective Personalization’s', what elements have been customized and when they were customized/personalized.


2. Another way is to use the Functional Administrator.
The first thing to do to use the Functional Administrator is to identify the Document Path.
For example, go to the Notifications link from the Workflow User Web Applications responsibility, and then click on the Personalize Page link. Notice that the Document path for the Notifications page is:
/oracle/apps/fnd/wf/worklist/webui/NotificationsPG.

From the Functional Administrator responsibility Home page, click on the Personalization tab in the upper left hand corner. Insert the document path for the document you want to check - for example: Document Path  =  /oracle/apps/fnd/wf/worklist/webui/NotificationsPG and then click on the 'Go' button to get a list of Personalization’s for this page.

3. A third way to check to see if there are personalizations on a page is to use sqlplus and run the JDR_UTILS program.
You will need the Document path to the page in question - again using the Document path for the Notifications page:
/oracle/apps/fnd/wf/worklist/webui/NotificationsPG

Run the listDocuments function to drill down and find all documents that have been personalizations under a certain Meta Data region:
Run from sqlplus:
set serveroutput on
exec JDR_UTILS.listDocuments('/oracle/apps/fnd/wf/worklist/webui/');
/oracle/apps/fnd/wf/worklist/webui/customizations/
Note, you do not include the Page ID (NotificationsPG) with this query. In my test case, notice that there are 'customizations' in this MDS region webui.  The 'customizations' indicates that personalizations have been made to the 'webui' region.

Run the query again with the new path and notice that there are 'site' level customizations, although there could be other levels such as user, responsibility, ...:
exec JDR_UTILS.listDocuments('/oracle/apps/fnd/wf/worklist/webui/customizations/');
/oracle/apps/fnd/wf/worklist/webui/customizations/site/

Run the query again with the new path and notice that the customizations are at site level '0':
exec JDR_UTILS.listDocuments('/oracle/apps/fnd/wf/worklist/webui/customizations/site/');
/oracle/apps/fnd/wf/worklist/webui/customizations/site/0/

Run the query one more time with the new path and notice that the customizations are made to the 'NotificationsPG':
exec JDR_UTILS.listDocuments('/oracle/apps/fnd/wf/worklist/webui/customizations/site/0/');
/oracle/apps/fnd/wf/worklist/webui/customizations/site/0/NotificationsPG

Once we have identified a particular page or pages that have customizations/personalization’s, then we can use the printDocument to see what personalizations have been made to the page:

exec
JDR_UTILS.printDocument('/oracle/apps/fnd/wf/worklist/webui/customizations/site/0/NotificationsPG');
-------------
<?xml version='1.0' encoding='UTF-8'?>
<customization xmlns="http://xmlns.oracle.com/jrad" version="9.0.5.4.89_554"
xml:lang="en-US"
customizes="/oracle/apps/fnd/wf/worklist/webui/NotificationsPG">
<modifications>
<modify element="MainRegion.NtfView" rendered="false"/>
</modifications>
</customization>
-------------

As you can see, rendered has been set to "false" for "MainRegion.NtfView".

You can then use the deletedocument function to remove this personalization exec
jdr_utils.deletedocument('/oracle/apps/fnd/wf/worklist/webui/customizations/site/0/NotificationsPG');



Wednesday, May 29, 2013

Tips for Successful Material Transaction Processing



  
Transactions - Processing
-----------------------------------------------

Setup:

1. Setting transaction profile options:
        TP:INV Transaction Processing Mode profile:
        You establish the method of transaction processing by choosing one of
        the following options:

         On-line processing     
            Processes transactions while you wait and returns control to you
            once it finishes.

         Background processing
            Returns control immediately to you. With this option, Oracle
            Inventory processes transactions on a periodic basis via the
            Inventory Transaction Manager.

         Immediate concurrent processing
            Spawns a concurrent process when you commit the transaction and
            returns control immediately to you, allowing you to continue
            working.

         Form level processing
            Processes transactions using the processing control option you
            choose for that particular type of transaction. You must also set
            the profile options for Cycle Count Approvals, Cycle Count
            Entries, Enter Replenishment Count, Inter-Organization Transfer,
            Miscellaneous Issue and Receipt, Receive Customer Return, Return
            to Customer, Transfer Between Subinventories, and
            Update Average Cost. If you are using Oracle Work-in-Process,
            you must set the WIP profile options Completion Material Processing,
            Completion Transaction Form, Material Transaction Form,
            Move Transaction, Operation Backflush Setup, and Shop Floor
            Processing.

        If you have many material transactions to process, it is recommended
        that you use Concurrent processing or Background processing to save
        on time you might spend idle while Inventory locks
        the transaction window and processes transactions.


2. Launching Transaction Managers:
       You must start the material cost transaction manager to cost material
       transactions. This manager processes costing of all material transactions.
       You do not have to launch the material transaction manager if you decide to process all your
       transactions on-line and do not use the transaction interface.
       The use of multiple transaction workers enables parallel processing of
       transactions. This is especially helpful when processing a large batch
       of transactions

3. Setting control options and restrictions:
       You can specify whether an item is under lot, serial, or revision control.
       If control is enabled, you must enter a valid lot number, serial number,
       or revision number to receive or issue the item


4. Defining Default Subinventories and Locators:

       If you want your Oracle applications products to default subinventories and locators during
       shipping and receiving transactions, use the Item Transaction Defaults window to define default
       shipping and receiving subinventories and locators for your items. If you have already defined a
       restricted list of subinventories and locators for your item, you must choose a default subinventory
       and locator from that list.

       Oracle Order Entry displays the default shipping subinventory and locator when you perform a                     
       shipment transaction where the OE: Reservations system profile option is set to No.
       Oracle Purchasing displays the default receiving subinventory and locator when you perform a
       receipt transaction for the item. You can always override the defaults.

5. Converting Units Of Measure:
       If you want to perform material transactions in units of measure other than the primary unit of measure
       of an item, you must define unit of measure conversions. Oracle Inventory tracks transaction quantities                      
       for your items in both the primary unit of measure and the transaction unit of measure.

6. Defining transaction source types:
       A transaction source type is the type of entity against which Oracle Inventory charges a transaction.
       Along with a transaction action, it uniquely identifies the type of transaction you perform.
       
       Oracle Inventory predefines a list of transaction source types for you. You can add more source
       types to this list or update the predefined types, however, you cannot delete the predefined types.
       You can add source types for miscellaneous transactions, inter-organization and subinventory
       transfers, and account transactions.

7. Should Define Transaction Types:
      A transaction type is the combination of a transaction source type and a transaction action. It is
      used to classify a particular transaction for reporting and querying purposes. You define transaction   
      source types in the Transaction Source Types window.


8. Defining Account Aliases:
       An account alias is an easily recognized name or label representing a general ledger account number. 
       You can view, report, and reserve against an account alias. During a transaction, you can use the
       account alias instead of an account number to refer to the account.

9. Check the periods from Inventory, Purchasing and General Ledger:
        To find the periods in the various applications, the navigation paths
        are:

        Inventory           -> accounting close cycle/inventory accounting periods
        Purchasing         -> setup/financials/accounting/control purchasing period
        General Ledger  -> setup/financials/accounting/open and close periods

        You cannot do transactions in a period that is not open.

10. Transactions errors out if the System Items Flexfeild has more than ONE structure:
        Additional structure is a Non-supported customization. By having more than one structure
        Identified for the system items flexfield errors may occur when doing transactions. System
        Items Flexfield only supports ONE structure.

11. Transactions will fail if there is a value for the expiration_date in the Segment Values form.
      Values are entered in this form when using "Independent" validation type.
      Setup/ Flexfields/ Validation/ Values.

12. Open Transaction Interface supports the following type of transactions:
        Inventory issues and receipts (including user-defined transaction types)
          With a miscellaneous transaction you can issue material to or receive material from general
          ledger accounts in your current organization
        Subinventory transfers
        Direct inter-organization transfers
        Intransit Shipments
        WIP component issues and returns
        WIP assembly completions and returns
        Sales Order shipments
        Inventory Average Cost Updates

13. The following flexfields must be defined for transactions to process.

         Account Aliases - MDSP
          This key flexfield supports only one structure.

        Item Catalogs - MICG
          This key flexfield supports only one structure.

        Item Categories - MCAT
          You must design and configure your Item Categories Flexfield before you can start
          defining items since all items must be assigned to categories. You can define multiple
          structures for your Item Categories Flexfield, each structure corresponding to a
          different category grouping scheme. You can then associate these structures with the
          categories and category sets you define.

        Sales Orders - MKTS
          The Sales Order Flexfield is a key flexfield used by Oracle Inventory to uniquely
          identify sales order transactions Oracle Order Entry interfaces to Oracle Inventory.

          Your Sales Order Flexfield should be defined as Order Number, Order Type, Order Source.
          This combination guarantees each transaction to Inventory is unique.

          This flexfield must be defined before placing demand or making reservations in Order Entry.
          The profile OE: Source Code should be 'ORDER ENTRY'.
          For your value sets, you MUST use Dynamic Inserts and the Validation Type should be None.
          Value Required should be Yes to improve performance of concurrent programs. The value set
          must be alphanumeric. The value set maximum size must be 40.
          You should set the Required field to Yes in the Validation Information region when enabling
          the flexfield segments. Setting this field to Yes, improves performance when updating
          existing demand or reservations by guaranteeing that Oracle Order Entry always supplies a
          value. Set Right-justify Zero-fill Numbers to No so sales order numbers are not padded with
          zeros.


        Stock Locators - MTLL
          You can use the Stock Locators Flexfield to capture more information about stock locators in
          inventory. If you do not have Oracle Inventory installed, or none of your items have locator
          control, it is not necessary to set up this flexfield. If you keep track of specific locators
          such as aisle, row, bin indicators for your item, you need to configure your stock Locators
          Flexfield and implement locator control in your organization. This key flexfield supports
          only one structure.

        System Items - MSTK
          You can use the System Items Flexfield (also called the Item Flexfield) for recording and
          reporting your item information. You must design and configure your Item Flexfield before you
          can start defining items. All Oracle Applications products that reference items share the Item
          Flexfield and support multiple_segment inplementations. However, this flexfield supports only
          one structure. You must set up your OE:Item Flexfield profile option to specify the Item
          Flexfield structure that you will use for your Oracle applications. Users can also set up the
          OE: Item Flexfield Entry Method profile option to specify your preferred method of entry for
          this field.