Wednesday, 27 March 2024

FND LOAD SCRIPTS

 FNDLOAD SYNTAX IN R12


In the following links I have discussed on how to migrate

1) Concurrent Programs


2) Value sets

from one instance to another using FNDLOAD.

Now I will try to cover several other objects that can be migrated using FNDLOAD.


The syntax for moving any objects using FNDLOAD is almost the same except few changes. Following is the list of .lct files that are used for different objects

1) Concurrent Program –> afcpprog.lct


2) Value Sets –> afffload.lct


3) Menus –> afsload.lct

Download

-----------

FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=’XXXX’

Upload

--------

FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt


4) Lookups –> aflvmlu.lct

Download

---------

FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=’XXXX’ LOOKUP_TYPE=’XXXX’

Upload

--------

FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt


5) Flexfield –> afffload.lct


Descriptive Flexfield

Download

------------------------------------

FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX APPLICATION_SHORT_NAME=’XXXX’ DESCRIPTIVE_FLEXFIELD_NAME=’XXXX’

Upload

--------

FNDLOAD apps/APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt


Key Flexfield 

Download

----------------------

FNDLOAD apps/APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX APPLICATION_SHORT_NAME=’XXXX’ DESCRIPTIVE_FLEXFIELD_NAME=’XXXX’

Upload

-------------

FNDLOAD apps/APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt


6) Profile Options –> afscprof.lct

Download

FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME=’XXXX’ APPLICATION_SHORT_NAME=’XXXX’

Upload

FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt


7) Responsibility –> afscursp.lct

FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY=’XXXX’

Upload

FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt


8) Request Groups –> afcpreqg.lct

Download

FNDLOAD apps/APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME=’XXXX’ APPLICATION_SHORT_NAME=’XXXX’ REQUEST_GROUP_UNIT UNIT_NAME=’XXXX’

Upload

FNDLOAD apps/APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt


9) Menus –> afsload.lct

Download

FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=’XXXX’

Upload

FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt


10) Forms Personalization –> affrmcus.lct

Download

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt FND_FORM_CUSTOM_RULES FUNCTION_NAME=’XXXX’

Upload

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt


These following are the other entity data types that we can move with FNDLOAD

1 – Printer Styles

FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME=”printer style name”

2 – Lookups
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=”FND”
LOOKUP_TYPE=”lookup name”

3 – Descriptive Flexfield with all of specific Contexts
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX P_LEVEL=COL_ALL:REF_ALL:CTX_ONE:SEG_ALL APPLICATION_SHORT_NAME=”FND” DESCRIPTIVE_FLEXFIELD_NAME=”desc flex name” P_CONTEXT_CODE=”context name”

4 – Key Flexfield Structures
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX P_LEVEL=COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL APPLICATION_SHORT_NAME=”FND” ID_FLEX_CODE=”key flex code” P_STRUCTURE_CODE=”structure name”

5 – Concurrent Programs
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct file_name.ldt PROGRAM APPLICATION_SHORT_NAME=”FND” CONCURRENT_PROGRAM_NAME=”concurrent name”

6 – Value Sets
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME=”value set name”

7 – Value Sets with values
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME=”value set name”

8 – Profile Options
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME=”profile option” APPLICATION_SHORT_NAME=”FND”

8 – Request Groups
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME=”request group” APPLICATION_SHORT_NAME=”FND”

10 – Request Sets
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET
APPLICATION_SHORT_NAME=”FND” REQUEST_SET_NAME=”request set”

11 – Responsibilities
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY=”responsibility”

12 – Menus
FNDLOAD username/password@database O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=”menu_name”

13 – Forms Personalization

FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt FND_FORM_CUSTOM_RULES function_name=FUNCTION_NAME

14 – Functions:

FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFUNNAME.ldt FUNCTION FUNC_APP_SHORT_NAME=”XXCUST” FUNCTION_NAME=”XXFUNNAME”
15 – Forms:
FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFRMNAME.ldt FORM APPLICATION_
SHORT_NAME=”XXCUST” FORM_NAME=”XXFRMNAME”
16 – FND Users:
FNDLOAD username/password@database 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XXUSERNAME.ldt FND_USER USER_NAME=’XXUSERNAME’
17 – Data Definitions for XML Publisher Report Template:
FNDLOAD username/password@database 0 Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XXBRPRPOPRINT_XML_DD.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME=’XXCUST’ DATA_SOURCE_CODE=’XXBRPRPOPRINT_XML’

Note: UPLOAD command is same for all except replacing the .lct and passing any extra parameters if you want to pass

Eg: FNDLOAD username/password@database 0 Y UPLOAD $FND_TOP/patch/115/import/corresponding.lct upload_file.ldt

Monday, 18 March 2024

OAF Forms

 *)What is the Architecture of the OAF.

-------------------------------------------------------

OAF is based on the Model View Controller Architecture.


Model:

---------

The "Model" is where we handle the business logic. All the BC4J components in OAF comes under Model 

like AM (Application Module), VO (View Object), EO (Entity Object), VL (View Link) & AO (Association Object). 


View:

-------

The "View" is where application handles the user interface. 


Controller:

--------------

The "Controller" where application handles the user interaction. When we create a controller a java class file has been created. 


*)What are the Components of OAF Page?

-------------------------------------------------------------

EO: - "Entity Object" encapsulate business rules associated  with a row in a table. 

Entity object has direct link with Data base table. Application interact with Database with the help of EO.


VO: - "View Object" helps the application to deal with the EO. 

View Object may base on EO or it could be based on independent sql query which has no relation with the EO.


AM: -"Application Module" is a container which provide or manage access to the BC4J model object.

Application module has complete control on the Application page.

An OAF page cannot be run without the Application module. And we cannot access any object in the Page without the AM.


CO: -"Controller" responds user action and maintain application flow. Controller contains two Blocks.

We write our business logic in the controller. It helps to put validation and to meet out our business logic.


*)What are the Methods available in the Oracle Controller?

--------------------------------------------------------------------------

Process Request:

----------------------

When the page loads process request will fire. So, if we want to initialize some default values when the page load put this under Process Request.


Process form Request:

------------------------------

When we press the button, Process form request executed. So, if we want to execute some code after user press the Submit button we will put under this block.


*)What is SPEL in OAF?

------------------------------------

In Personalizations, we have two ways to change properties of the OAF Page Components like Rendered or Read Only or Required.


1.  One Way to hardcode a value of True/False during personalization. This is Static Personalization

2.  Second Way to do the personalization more dynamic with the help of 'SPEL'.

we can use a SPEL syntax to these properties via personalization. SPEL is nothing but an expression that returns TRUE or FALSE.


*)Can we run the OAF Page without the Application Module?

----------------------------------------------------------------------------

No, we cannot run the OAF page without the application Module. Application module is most important object in the OAF page to run in the Application. We can run the OAF page without VO, EO but cannot run without from AM.


*)How to Debug and See Log Messages in OAF Pages?

-------------------------------------------------------------------------

Step1:- You have to Enable 'FND: Diagnostics ' Profile option for the User in which you want to see these Log messages.

 

Step2:- If you want to Put the Custom Messages in your Controller then you can put these messages like below.

 

public void processRequest(OAPageContext paramOAPageContext, OAWebBean paramOAWebBean)

    {

/*This is the Custom Message which will be show in OAF page in Oracle Application*/

      paramOAPageContext.writeDiagnostics(this, "XX Start PR ", 1); 

Step3:- After Enable the Profile Option Go to the Home page of your Application and go to 'Diagnostics' as below.


Step4:-  Then You need to Choose Diagnostic Option 'Show Log on Screen' as below.


*)What is Auto Customization Criteria in OAF ?

--------------------------------------------------------------------

Auto Customization is one of the property of the OAF search page Query Region.

When we create the Search Page in OAF through Query Region then Auto Customization is one of the Property of this Region ,

which decides how the Search Criteria will be created for the OAF Search Page. 

Auto Customization Criteria Sets through Construction Mode Property of the Query Region.


Query Region Construction Mode has three List of Values

1. Result Based Search

2.Auto Customization Criteria


*)How to do the Exception Handling in OAF?

-------------------------------------------------- ----------

There are 3 types of exceptions can be thrown on OAF pages (java).

 

a)Warning  : This will display the custom message and no effect in the oaf page execution

b)Information  : This will display the custom message and no effect in the oaf page execution

c)Error : This will display the custom message and has effect in the oaf page execution.

 

It stops the page execution by throwing message as an exception

 

Exception handling in oaf page has done through Try and catch block syntax.

 

Try Block :- All logic should be kept in a try block to handle exceptions.

In this block we do all our coding part , so that if any exception raised in the logic or coding part then it will be handled through catch block.

Catch Block – Once control find any exception in the try block, it goes to catch block. Catch block will be used to handle the raised exception.


*)How to get the Name of the Oaf Page Components?

----------------------------------------------------------------------

We need to put this Below code in the Controller Process Request Method and this will give the name of the components of the OAF page.



// This below code will get the name of all the objects of OAF page as a Parameter.


 Enumeration e = pageContext.getParameterNames();

// This below code will print the name of the objects and their values in sequence


      while(e.hasMoreElements())

      {

              parameterName = (String)e.nextElement();

        System.out.println( "Parameter Name=>" + parameterName + " Parameter Value=> " + pageContext.getParameter(parameterName));   

     

*)How to check the Value of View Object(VO) all Columns during Run Time of OAF Page ?

--------------------------------------------------------------------------------------------------------------

You must just put you code in the controller against the View object for which you want to know its complete details.


With the help of System.out.println() & Pagecontext.writediagnostics() function you can print everything

about the view object in the oaf page and you will get a good understanding of the object and you can do extension in right way.


OAApplicationModule am = pageContext.getApplicationModule(webBean);

   ViewObject vo = am.findViewObject("SupplierVO");


          if (vo!=null) {

vo.executeQuery();


              while (vo.hasNext()) {

                      Row row = vo.next();

          String rowDataStr = "";


 // To Check How many attributes (columns) is the View Object using?


                      int numAttrs = vo.getAttributeCount();

                      // Column /Attributes numbers start with 0, not 1.


                      for (int columnNo = 0; columnNo < numAttrs; columnNo++) {

                        // See also Row.getAttribute(String name).

                        Object attrData = row.getAttribute(columnNo);

                        rowDataStr += (attrData + "\t");

                      }

                      pageContext.writeDiagnostics(this,rowDataStr,2);

                       System.out.println( "Data of View Object SupplierVO:"+rowDataStr);

                   }}

 

*)How many Types of Search Pages we can Create in the OAF ?

-----------------------------------------------------------------

In OAF , We can create Three Types of Search Pages in OAF Page to search the Page in the Result type table formats.

These are the Below search Types available in the OAF.

1.Query Based Search Page.

2.Advanced Search Page.

2.Manaul Search Page.

 

*)What are the Steps of the VO Extension in OAF ?

------------------------------------------------------

 VO Extension Steps

1.Indentify that Which VO we need to Extend

2.Download the VO from Oracle Java_Top Location to Your Local Desktop under My Projects folder of Your JDev setup.

3.Then We create New view Object(VO) which extends the Standard View Object.

4.Then We substitute the New Custom View Object with the Standard View Object.

5.Then we upload the New Custom View Object to Oracle Java_Top Location.

6.Then we Register the New View Object in the Oracle application Through XML Importer script.

8.After Import/Register , We add the new field in the OAF page through Personalization

   and then give reference in this Field for the New Custom View Object(VO).


  

   

EAM Asset number and Attributes

 The two item interface tables to populate are MTL_EAM_ASSET_NUM_INTERFACE (MEANI), and the MTL_EAM_ATTR_VAL_INTERFACE (MEAVI). The MTL_EAM_ASSET_NUM_INTERFACE table stores relevant Asset Number information. If the asset's attributes are also imported, that information is stored in the MTL_EAM_ATTR_VAL_INTERFACE.

Column Name (partial list of columns)Instruction
BATCH_IDEnter an arbitrary number. Rows designated with the same BATCH_ID will process together.
PROCESS_FLAGEnter a P for pending. This value will change to S if the import is successful, or E if the row contains an error.
IMPORT_MODEEnter 0 to create new rows (asset numbers), or 1 to update existing rows.
IMPORT_SCOPEEnter 0 to import both Asset Numbers and Attributes, 1 to import Asset Numbers only, or 2 to import Attributes only.
INVENTORY_ITEM_IDEnter the Asset Group to associate with the imported Asset Number(s).
SERIAL_NUMBEREnter the name of the Asset Number.
ORGANIZATION_CODEEnter the current organization.
OWNING_DEPARTMENT_CODEEnter the Owning Department of the asset number(s).
ERROR_CODEThis column will update by the Import process if an error occurs.
ERROR_MESSAGEThis column will update by the Import process if an error occurs.
INTERFACE_HEADER_IDThis is used with the identically named column in the MEAVI table, to relate the Attributes associated with an Asset Number.
Column Name (partial list of columns)Instruction
PROCESS_STATUSEnter P (Pending). This value will change to S if the import is successful, or E if the row contains an error.
INTERFACE_HEADER_IDForeign key of the identically named column in the MEANI table to relate to the Asset Number an Attribute is associated with.
INTERFACE_LINE_IDA unique key
END_USER_COLUMN_NAMECorresponds with the Attribute Name
ATTRIBUTE_CATEGORYCorresponds with the Attribute Group
LINE_TYPEEnter 1 if the Attribute is of type VARCHAR2, 2 if it is of type NUMBER, or 3 if it is of type DATE.
ATTRIBUTE_VARCHAR2_VALUEValue of the Attribute; used with LINE_TYPE = 1
ATTRIBUTE_NUMBER_VALUEValue of the Attribute; used with LINE_TYPE = 2
ATTRIBUTE_DATE_VALUEValue of the Attribute; used with LINE_TYPE = 3
ERROR_NUMBERThis column will update by the Import process if an error occurs.
ERROR_MESSAGEThis column will update by the Import process if an error occurs.

EAM Columns

Column Names (partial list of columns) Instruction

-------------------------------------------------------------

PROCESS_FLAG--> Enter 1 for pending data to be imported.

After running the import process, the PROCESS_FLAG of the corresponding rows will be set to different values, 

indicating the results of the import (1 = Pending, 2 = Assign complete, 3 = Assign/validation failed,

 4 = Validation succeeded; import failed, 5 = Import in process, 6 = Import succeeded)


TRANSACTION_TYPE--> Enter CREATE to create a new item, or UPDATE to update existing items.


SET_PROCESS_ID--->Enter an arbitrary number. Rows designated with the same value for SET_PROCESS_ID will process together.


ORGANIZATION_CODE -->Enter the organization that the new item will import into.


SEGMENT1~20 --> Corresponds to the item name (for example, the name of the Asset Group, Asset Activity, or Rebuildable Item)


DESCRIPTION --> Enter the description of the item.


EAM_ITEM_TYPE --> Enter 1 for Asset Group, 2 for Asset Activity, or 3 for Rebuildable Item.


INVENTORY_ITEM_FLAG -->Enter Y for eAM items.


MTL_TRANSACTIONS_ENABLED_FLAG --> Enter N for eAM items.


EFFECTIVITY_CONTROL -->Enter 2 for Unit Effectivity Control for eAM Asset Groups.


SERIAL_NUMBER_CONTROL_CODE --> Enter 2 (Predefined) for Asset Groups; this should be NULL for Asset Activities.


AUTO_SERIAL_ALPHA_PREFIX --> Serial Number Prefix


START_AUTO_SERIAL_NUMBER ---> Start Serial Number 

EAM ,BOM ,WIP

 INV

-----------

select * from mtl_system_items_b where segment1='AS5499';


select * from mtl_system_items_tl where inventory_item_id=237063;


select * from mtl_item_categories  where  inventory_item_id =237063;


select * from mtl_item_revisions where inventory_item_id=237063;


select * from mtl_customer_items where customer_item_number='lenovo 15"led india';


select * from mtl_customer_item_xrefs where customer_item_id=13237;


select * from MTL_RESERVATIONS;

LINK MSIB.ORGANIZATION_ID=MR.ORGANIZATION_ID AND  MSIB.SEGMENT1='DELL 26" LCD';


select * from mtl_parameters;


select * from org_organization_codes;


MTL_PARAMETERS (MP)

MTL_SYSTEM_ITEMS_B (MSIB)

MTL_MATERIAL_TRANSACTION (MTT)

MTL_SERIAL_NUMBERS (MSN)

MTL_ITEM_REVISIONS (MIR)

MTL_ITEM_CATEGORIES (MIC)

MTL_DEMAND (MD)

MTL_TRANSACTION_TYPES (MTTY)

MTL_CATEGORIES (MC)

CST_ITEM_COSTS (CIC)

CST_COST_ELEMENTS (CCE)




Reservation Quantity

----------------------------

SELECT SUM(MR.RESERVATION_QUANTITY) ITEM

      FROM MTL_RESERVATIONS MR,

           MTL_SYSTEM_ITEMS_B MSIB

     WHERE MSIB.ORGANIZATION_ID=MR.ORGANIZATION_ID

      AND  MSIB.SEGMENT1='DELL 26" LCD'

     

Item Onhand Quantity

-----------------------------  

SELECT MOQ.TRANSACTION_QUANTITY ONHAND_QUANTITY

       FROM MTL_ONHAND_QUANTITIES MOQ,

            MTL_SYSTEM_ITEMS_B MSIB,

            MTL_PARAMETERS MP

       WHERE MOQ.INVENTORY_ITEM_ID=MSIB.INVENTORY_ITEM_ID

    AND  MOQ.ORGANIZATION_ID=MSIB.ORGANIZATION_ID

        AND  MSIB.ORGANIZATION_ID=MP.ORGANIZATION_ID

    AND  MOQ.ORGANIZATION_ID=MP.ORGANIZATION_ID

        AND   MSIB.SEGMENT1='DELL 26" LCD'

        AND  MP.ORGANIZATION_CODE='M1'

      

Master Organizations

--------------------------      

SELECT ORGANIZATION_CODE MASTER_ORGANIZATION_CODE

      FROM  MTL_PARAMETERS MP

      WHERE ORGANIZATION_ID=MASTER_ORGANIZATION_ID


Child Organizations

----------------------------   

SELECT ORGANIZATION_CODE CHILD_INV_ORG_CODE

      FROM  MTL_PARAMETERS MP

      WHERE ORGANIZATION_ID<>MASTER_ORGANIZATION_ID

  

Child under Master Organizations

------------------------------------     

SELECT MPC.ORGANIZATION_CODE,MPM.ORGANIZATION_CODE MASTER_ORGANIZATION_CODE

     FROM MTL_PARAMETERS MPC,

          MTL_PARAMETERS MPM

     WHERE MPC.MASTER_ORGANIZATION_ID=MPM.ORGANIZATION_ID  

    

SELECT MPC.ORGANIZATION_CODE,DECODE(MPC.ORGANIZATION_CODE,MPM.ORGANIZATION_CODE,'ITSELF',MPM.ORGANIZATION_ID) MASTER_ORGANIZATION_CODE

     FROM MTL_PARAMETERS MPC,

          MTL_PARAMETERS MPM

     WHERE MPC.MASTER_ORGANIZATION_ID=MPM.ORGANIZATION_ID

    

Combine Items

------------------

SELECT MSIB.SEGMENT1 ITEMS

      FROM MTL_SYSTEM_ITEMS_B MSIB,

           MTL_PARAMETERS MP

      WHERE MSIB.ORGANIZATION_ID=MP.ORGANIZATION_ID

      AND MP.ORGANIZATION_CODE='M1'      INTERSECT

SELECT MSIB.SEGMENT1 ITEMS

      FROM MTL_SYSTEM_ITEMS_B MSIB,

           MTL_PARAMETERS MP

      WHERE MSIB.ORGANIZATION_ID=MP.ORGANIZATION_ID

      AND MP.ORGANIZATION_CODE='M2'  


M1-M2      

-------------

SELECT MSIB.SEGMENT1 ITEMS

      FROM MTL_SYSTEM_ITEMS_B MSIB,

           MTL_PARAMETERS MP

      WHERE MSIB.ORGANIZATION_ID=MP.ORGANIZATION_ID

      AND MP.ORGANIZATION_CODE='M2'  

     MINUS

SELECT MSIB.SEGMENT1 ITEMS

      FROM MTL_SYSTEM_ITEMS_B MSIB,

           MTL_PARAMETERS MP

      WHERE MSIB.ORGANIZATION_ID=MP.ORGANIZATION_ID

      AND MP.ORGANIZATION_CODE='M1'

     

SELECT SUM(MOQ.TRANSACTION_QUANTITY) ONHAND_QUANTITY

      FROM MTL_ONHAND_QUANTITIES MOQ,

           MTL_SYSTEM_ITEMS_B MSIB

      WHERE MSIB.INVENTORY_ITEM_ID=MOQ.INVENTORY_ITEM_ID

      AND MSIB.ORGANIZATION_ID=MOQ.ORGANIZATION_ID

      AND MSIB.SEGMENT1='DELL 26" LCD'



EAM

-----------

Interface tables

---------------------- 

New Asset Groups      ---- MTL_SYSTEM_ITEMS_INTERFACE

Revision Details      ---- MTL_ITEM_REVISIONS_INTERFACE

Item Categories       ---- MTL_ITEM_CATEGORIES_INTERFACE


the Table / View Name of the Asset Groups

----------------------------------------

 View Name – MTL_SYSTEM_ITEMS_VL

 

the Asset Group / Item Code is stored

----------------------------------------

SEGMENT1 or

CONCATENATED_SEGMENTS of MTL_SYSTEM_ITEMS_B_KFV

SELECT inventory_item_id, accounting_rule_id, invoicing_rule_id,

           segment1 asset_group, segment2, segment3, segment4, segment5

    FROM mtl_system_items

    WHERE eam_item_type = 1


BOM

---------

1.BOM_INVENTORY_COMPONENTS

2.BOM_BILL_OF_MATERIALS

BOM_RESOURCES (BR)

BOM_BILL_OF_MATERIALS (BBOM)

BOM_DEPARTMENTS (BD)

BOM_OPERATIONAL_ROUTINGS (BOR)

BOM_OPERATION_SEQUENCES (BOS)

BOM_OPERATION_SEQUENCES (BOS)

BOM_INVENTORY_COMPONENTS (BIC)

BOM_STANDARD_OPERATIONS (BSO)


Query

-------

select

bom.assembly_item_id,

(select msi.segment1 from mtl_system_items msi where msi.inventory_item_id=bom.assembly_item_id and msi.organization_id=85) parent_item,

lpad(' ',2*(level-1),' ')||

(select msi.segment1 from mtl_system_items msi where

msi.inventory_item_id=bic.component_item_id and msi.organization_id=207) child_item,

bic.component_item_id child_item_id,

bic.bill_sequence_id ,

bic.operation_seq_num ,

bic.bom_item_type ,

bic.item_num ,

level,

bic.component_quantity

from

bom_inventory_components bic,

(select * from bom_bill_of_materials where organization_id=85) bom

where bom.bill_sequence_id=bic.bill_sequence_id

start with bom.assembly_item_id=:P_BOM_ITEM_ID

connect by prior bic.component_item_id=bom.assembly_item_id;



WIP

---------

WIP_PARAMETERS (WP)

WIP_DISCRETE_JOBS (WDJ)

WIP_ENTITIES (WE)

WIP_OPERATIONS (WO)

WIP_REQUIREMENT_OPERATIONS (WRO)

WIP_OPERATION_RESOURCES (WOR)

WIP_TRANSACTIONS (WT)

WIP_TRANSACTION_ACCOUNTS (WTA)

WIP_LINES (WL)

WIP_EAM_WORK_REQUESTS (WEWR)

WIP_EAM_PARAMETERS (WEP)


Saturday, 16 March 2024

EAM About Asset Group

 Asset Groups – Oracle eAM

-----------------------------------

*)What is Asset Group?

   Asset groups represent groups of assets that are virtually identical. Generally,

   an asset group is defined for each Manufacturer and Model Number combination (Make, Model, and Year).


*)What is the Maximum length of the Asset Group Code and Description?

   Asset Group Code: Generally the length of the Asset Group is the length of the Item Segment defined

   in the -Inventory System Items KFF. (Per segment Maximum 40).

   Asset Group Description:  240 Characters


*)Some Important Pre-required setups and Profile Options for Asset Groups:-

   Asset Group Template and their attribute Controls with default values

       INV: Default Primary Unit of Measure

       INV: Updateable item name à Yes / No

       Default Category Sets (Category Sets)

       Enable Service Fulfillment Manager (SFM) Event Manager Queue Service

      Defining and Freezing the Oracle Install Base Parameters


*)What is the Name of the Template used by EAM Asset Groups?

    @Asset Group


*)Asset Group – Naming Conventions and its Components?

Function   ----  Washing Machine

Make       ----  LG

Model      ----  S11-P02

Model Year ----  2014


eAM Asset Group Template and their default values:

---------------------------------------------------

User Item Type     -----  Asset Group

Item Status        -----  Active

Primary Unit of Measure   ----- Each

Inventory Item     ------  Enabled

Transactable       ------- Disabled

Serial Number Generation  ----- Predefined / At Receipt

Effectively Control      ----- Model / Unit Number

EAM Item Type          ------- Asset Group

BOM Allowed             -------  Yes

Track in Installed Base  --------  Yes

 


*)What is the relationship between Asset Group and Inventory Item?

     Basically every Asset Group is an Inventory Item. Its item type is Asset Group.


*)In how many ways an Asset Group can be created?

Asset Groups Form in Oracle eAM

Inventory Master Items (Apply Asset Group Template)

Importing Inventory Items


*)What is the name of the Table / View Name of the Asset Groups?

    View Name – MTL_SYSTEM_ITEMS_VL

*)In which COLUMN_NAME the Asset Group / Item Code is stored?

SEGMENT1 or

CONCATENATED_SEGMENTS of MTL_SYSTEM_ITEMS_B_KFV


What is the actual name of the Database Table in which the Asset Group Details are stored?

MTL_SYSTEM_ITEMS_B_KFV


What is the Name of the Interface Table that is used for Mass upload of Asset Groups?

New Asset Groups      ---- MTL_SYSTEM_ITEMS_INTERFACE

Revision Details      ---- MTL_ITEM_REVISIONS_INTERFACE

Item Categories       ---- MTL_ITEM_CATEGORIES_INTERFACE


*)In case of Centralized Maintenance architecture, where all the Assets of INV Organizations are maintained by EAM Organization,

  how the Asset Groups are created and organizational assignment is done?


Asset Groups created should be first assigned to INV organization followed by EAM Organization.

Also the INV organization should be given EAM Responsibility (for Organizational Access).

 

*)Can we change the Asset Group Starting Prefix, once the Assets are created in the eAM Asset Numbers Form?

One cannot change the Asset Group Starting Prefix (subject to Uniqueness) and Starting serial Number from the EAM Asset Group Form Functionality.

Whereas the same can be changed from the Inventory Master Items.

*)Can we change the Asset Group Starting Number, once the Assets are created in the eAM Asset Numbers Form?

Yes, one change the Starting Prefix (subject to Uniqueness) and Starting Serial Number even after creation of Asset Numbers from EAM.

But one can change the same from Inventory Master Items form but not from EAM Asset Groups Form.


*)Can we change the Asset Group Code and Description?

   One can change the Asset Group Description, but not the Asset Group Code. The profile options that needs to be setup is INV: Updateable item name.


*)What are the functions available from Asset Group Form?

View Item Details (Tools a Item Details)

View Failure Analysis and Maintain Failure Codes and sets (Tools a Maintain Failure Set)

Various Functions available for an Asset Group from Master Items Form:-

Categories (Tools a Categories)

Items Costs

Cross References

Item Subinventories

Item Relationships

Revisions

Catalog

Export the Asset Groups to Excel (File à Export)


*)Can we change the Asset Group associated with an Asset Number?

No we cannot Change the Asset Group Associated with an Asset Number.

However one can change the Asset Group Description subject to profile setting up (INV: Updateable item name)

 


*)What are the automation features available in eAM that can be automated / associated or attached at the Asset Group Level?

Activity Association Template

Meter Templates

Failure Codes and Sets

Asset Attribute Groups

Collection Plans

PM Schedule Template

Bills of Materials

Budget Forecasting

Activity Suppression Templates


*)What are the Serial Generation Options available for an eAM Asset Group?

At Receipt

Pre-defined

No Control


*)How to Export all the Asset Groups to Excel?

Change the Organization

Open the Master Item Window

Open the Search Window

Search for Asset Item Type a Asset Groups

Search Results are Displayed

File a Export (to export the search results to Excel Sheet).


*)SQL Query used to extract the Asset Groups from Database?

SELECT inventory_item_id, accounting_rule_id, invoicing_rule_id,

           segment1 asset_group, segment2, segment3, segment4, segment5

    FROM mtl_system_items

    WHERE eam_item_type = 1


What are the Setups that need to be completed for automatic generation of EAM Asset Number in while creating Asset Number?

At the Asset Group Level setup the following:-

Serial Generation  --  Predefined OR At Receipt

Starting Prefix

Starting Serial Number

In the EAM Parameters set the following:-

CHECK à Asset Serial Number Auto Generation

 


*)What are the uses of (a) Starting Prefix Number and (b) Starting Number in the Asset Group Definition Form?

  When EAM Asset Numbers are generated automatically,the system will use tie Starting Prefix and Starting Number

  to automatically generate the Asset Number when defining in the EAM Asset Numbers Form.

  

*)In order to Move an Asset, what the Main Attribute that should be CHECKED or made ACTIVE for the Asset Group?

Transactable as Yes (CHECKED)


*)For all the Asset Groups, which will be considered as Fixed Assets, for which Purchase Requisitions

 and POs will be created, How the Costing Parameters are setup?

Costing should be disabled when they are receiving into Asset Sub Inventory.

If costing is enabled, then they should be received into an Expense Sub inventory.


*)What are pre-requisite to create an Asset Group with No Serial Controls?

Asset Groups cannot be created with No Serial Control option.


*)How to create and use an Asset Group without a Serial Control? What is the Best Scenario?

Ans: No. An Asset Groups Cannot be created with Serial Generation – No Control. 

     Whereas Rebuildables can be created with Serial Generation – No Control Option.


*)When trying to create An Asset Group with No Serial Control, then the following errors are encountered:-

If an item is under “Model/Unit Number Effectively” control then Serial Number Generation Must be “At Receipt” or “Predefined”.

Asset Group must be Serial Controlled Item with “Predefined” or “At Receipt”.


*)What is the profile option with which the Asset Group Attribute can be updated?

INV: Updateable item name

 


*)Is it necessary to compulsorily use the System Generated Auto Numbers for EAM Asset Numbers?

No, It is not necessary to use the system generated / suggested EAM Asset Number.

The same cane be changed manually to any desired number or a number suggested

by the users (subject to Uniqueness of EAM Asset Number and EAM Asset Serial Number).


*)What is the API for Creation of Items?

Item Creation and Updation

EGO_ITEM_PUB.PROCESS_ITEM(S)

This API provide functionality to create and update an item(s).


*)What is the API for Item Category Code Creation?

Category Code Creation Public API

INV_ITEM_CATEGORY_PUB.CREATE_CATEGORY

This API provide functionality to create a category


*)What is the API for Item Category Assignment?

Item Category Assignment Public API

EGO_ITEM_PUB.PROCESS_ITEM_CAT_ASSIGNMENT

This API provide functionality for the user to assign/remove a catalog to/from 

an item and will verify whether user has edit item privilege on item.


*)What is the API for Item Catalog Descriptive Element?

Item Catalog Descriptive Element Public API

EGO_ITEM_PUB.PROCESS_ITEM_DESCR_ELEMENTS

This API provide functionality for the user to give the values of item catalog category descriptive

elements and will verify whether user has edit item privilege on item.

 

*)What is the API for Item Revision Creation and Updation?

Item Revision Creation and Updation Public API.

EGO_ITEM_PUB.PROCESS_ITEM_REVISION

This API provide functionality to create and update Item Revision


What is the API for Implement Item Pending Changes?

Implement Item Pending Changes Public API.

EGO_ITEM_PUB.IMPLEMENT_ITEM_PENDING_CHANGES

This API provide functionality to implement pending changes (phase and/or status) for an item/item revision.


What is the API for Item Lifecycle?

Item Lifecycle Public API

EGO_ITEM_PUB.PROCESS_ITEM_PHASE_AND_STATUS

This API provide functionality for changing the status of an item or promote/demote the lifecycle of an item/item revision


What is the API for The Item Grant?

Item Grant public API

EGO_ITEM_PUB.PROCESS_ITEM_ROLE

This API provide functionality to create/updation/deletion one role grant on one item


What is the API for Item User-Defined Attributes Data?

Item User-Defined Attributes Data Public API

EGO_ITEM_PUB.Process_User_Attrs_For_Item

This API provide functionality to create/updation/deletion on

one or more rows of user-defined attributes data for an item.


What is the API for Item Assignment to an Organization?

Item Assignment to an Organization Public API

EGO_ITEM_PUB.ASSIGN_ITEM_TO_ORG

This API provide functionality to assign one item to an organization

EGO_ITEM_PUB.PROCESS_ITEM_ORG_ASSIGNMENTS

This API provide functionality to assign one/more items to an organization(s)


What are Logical Asset Groups?

Sometimes for the purpose of maintaining proper Asset Hierarchy,

we need to map the assets with the locations, areas or departments which are not physical assets,

for which a Non Maintainable, Non Transactable Assets with costing disabled can be created.

To achieve this purpose, it is better to create a separate Item Template with required attributes and default values.

Asset Groups – Some Important Oracle Support Documents

Asset Group Must Be Unit Effective When Defining Asset Groups (Doc ID 297959.1)

Error = ‘Insert procedure failed with the following error message 22’ When Creating Asset Group in EAMITMDF (Doc ID 1352238.1)

Asset Groups Created On The Master Item Screen Shows ‘X’ As The Asset Group In EAM Self Service Pages (Doc ID 859832.1)

EAMITMDF – Error ‘Expense Account Is Required’ Is Received When Creating EAM  Asset Group (Doc ID 1113173.1)

Asset Group Can Be Seen In The Material Select List For Work Order (Doc ID 1218093.1)

Primary Unit Of Measure Is Invalid Error When Defining Asset Group (Doc ID 813563.1)


How To Transfer A Whole Asset Group Between Org’S With Rebuildables & Components (Doc ID 601389.1)

When trying to create an Asset Group Using the Item Master Form Get Message 

‘Tracking Install Base Flag must be set for Asset Group or Rebuildable  Serial controlled item’ (Doc ID 560461.1)

Assign One Asset Group to Multiple Failure Sets (Doc ID 1567721.1)


How To Change Asset Group For Existing Asset Numbers (Doc ID 1573422.1)

Asset Group Must Be Unit Effective When Defining Asset Groups (Doc ID 297959.1)

Is an Asset Number Possible to be Moved to Another Asset Group (Doc ID

1542361.1)

How To Update Asset Group In Asset Number Form After It Is Saved And Used  (Doc ID 1588183.1)

How to Assign an Asset Category To an Asset Group (Doc ID 884811.1)

EAMFANDF:Asset Group Not Defaulting From Asset Number In Asset Route Form  (Doc ID 1350169.1)

When trying to create an Asset Group Using the Item Master Form Get Message ‘Tracking Install Base Flag must be set for Asset Group or Rebuildable Serial controlled item’ (Doc ID 560461.1)

Can I Mass Assign Asset Groups? (Doc ID 1942653.1)

Monday, 11 March 2024

EAM Activity, Asset group, and Asset Number links inventory tables

 In Oracle E-Business Suite R12, linking EAM activities, asset groups,

and asset numbers with inventory tables involves understanding how inventory items are utilized

within Enterprise Asset Management (EAM) operations. Below are some potential links between EAM activities,

asset groups, asset numbers, and inventory tables:


EAM Module Tables:

----------------------

1. EAM_ACTIVITIES: Contains information about maintenance activities, including activity IDs, descriptions, types, etc.


2. EAM_ASSET_GROUPS: Stores details about asset groups, such as group IDs, descriptions, etc.


3. EAM_ASSETS: Holds data related to assets, including asset IDs, descriptions, statuses, etc.


Inventory Module Tables:

-----------------------

1. MTL_SYSTEM_ITEMS_B: Stores basic item information, including inventory item IDs, descriptions, etc.


2. MTL_CATEGORY_SETS: Contains information about category sets used to categorize inventory items.


3. MTL_CATEGORIES_B: Holds data about categories that inventory items belong to.


Potential Join Links:

-------------------------

1. Join between EAM Activity and Inventory Item:

   - This could be a logical link where certain maintenance activities are associated with specific inventory items.

     For example, if a maintenance activity requires the use of a specific part stored in inventory.

   - No direct link between EAM activities and inventory items might exist in the base tables.

     However, you can establish a link based on business logic or custom attributes.


2. Join between EAM Asset Group and Inventory Category:

   - If there is a correlation between EAM asset groups and inventory categories,

     you can join these tables based on common attributes such as category IDs.

   - `EAM_ASSET_GROUPS.CATEGORY_ID = MTL_CATEGORIES_B.CATEGORY_ID`


3. Join between EAM Asset Number and Inventory Item:

   - If there's a direct relationship between EAM asset numbers and inventory items,

     you can establish a link based on specific attributes or custom mappings.

   - No direct link between asset numbers and inventory items might exist in the base tables.

     However, you can establish a link based on business logic or custom attributes.


It's important to note that the exact join conditions may vary depending on how your organization

has configured and customized Oracle E-Business Suite. You may need to incorporate additional tables or custom attributes

based on your specific implementation and business requirements.

Inventory tables and EAM Tables join links

 In Oracle E-Business Suite R12, the Inventory and Enterprise Asset Management (EAM) modules

have several tables that can be joined to establish links between them.

The integration typically revolves around the usage of inventory items within maintenance activities managed by EAM.

Below are some tables from both modules and their potential join links:


Inventory Module Tables:

--------------------------

1. MTL_SYSTEM_ITEMS_B: This table holds basic item information such as item number, description, unit of measure, and other attributes.


2. MTL_UNITS_OF_MEASURE: Contains unit of measure details which can be used to convert quantities between different units.


3. MTL_ITEM_LOCATIONS: Stores item quantities and other location-specific information.


4. MTL_TRANSACTION_ACCOUNTS: Contains accounting information for inventory transactions.


EAM Module Tables:

----------------------

1. EAM_WORK_ORDERS: Holds information about work orders, including work order numbers, descriptions, statuses, etc.


2. EAM_TASKS: Contains details of tasks associated with work orders.


3. EAM_MATERIAL_ISSUES: Stores information about material issue transactions made during maintenance activities.


4. EAM_RESOURCES: Holds data about resources (e.g., employees, tools) assigned to tasks.


Potential Join Links:

-------------------------

1. Join between Inventory Item and EAM Material Issue:

   - `MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = EAM_MATERIAL_ISSUES.ITEM_ID`


2. Join between Inventory Item and EAM Work Order:

   - `MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = EAM_WORK_ORDERS.ITEM_ID`


3. Join between Inventory Item and EAM Task:

   - This can be done through a chain of joins: 

     - `MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = EAM_MATERIAL_ISSUES.ITEM_ID`

     - `EAM_MATERIAL_ISSUES.TASK_ID = EAM_TASKS.TASK_ID`


4. Join between Inventory Item and EAM Resource:

   - This can be done through a chain of joins: 

     - `MTL_SYSTEM_ITEMS_B.INVENTORY_ITEM_ID = EAM_MATERIAL_ISSUES.ITEM_ID`

     - `EAM_MATERIAL_ISSUES.RESOURCE_ID = EAM_RESOURCES.RESOURCE_ID`


These join links allow you to connect inventory-related tables from the Inventory module with tables from the EAM module.

By joining these tables appropriately, you can retrieve integrated information about inventory items

used in maintenance activities managed by the EAM module in Oracle E-Business Suite R12.

Inventory and Enterprise Asset Management (EAM) modules

 In Oracle E-Business Suite Release 12 (R12), the Inventory and Enterprise Asset Management (EAM) modules are often integrated to manage inventory items that are used in asset maintenance and repair activities. The link between these modules typically involves the transfer of information regarding inventory items, such as spare parts and consumables, to support maintenance and repair operations conducted through the EAM module.


The primary link between the Inventory and EAM modules is established through the usage of inventory items in maintenance activities within EAM. Here's how this linkage generally works:


1. Inventory Module: 

In the Inventory module, items are defined and managed. These items can include spare parts, consumables, tools, and other materials needed for maintenance and repair activities.


2. Item Master: 

Within the Inventory module, each item is assigned a unique item number and is associated with relevant attributes such as description, unit of measure, cost, and other details.


3. EAM Module Integration: 

The EAM module integrates with the Inventory module to access information about inventory items. This integration allows maintenance technicians and planners to utilize inventory items when performing maintenance tasks.


4. Work Order Material Requirements:

 When creating work orders in the EAM module, maintenance planners specify the materials and parts needed to complete maintenance activities. These material requirements can include inventory items managed in the Inventory module.


5. Material Issue Transactions:

 During execution, as maintenance technicians perform tasks outlined in work orders, they may issue materials and parts from inventory to complete the work. These material issue transactions are recorded in both the EAM module and the Inventory module to reflect the usage of inventory items.


6. Inventory Adjustments:

 Material issue transactions from the EAM module may trigger adjustments in inventory levels within the Inventory module. Inventory quantities are decremented accordingly to reflect the usage of items in maintenance activities.


7. Costing and Accounting Integration:

 Any costs associated with the usage of inventory items in maintenance activities are captured and accounted for in both the EAM and Inventory modules, ensuring accurate financial tracking and reporting.


By integrating the Inventory and EAM modules in Oracle Apps R12, organizations can effectively manage and track inventory items used in maintenance and repair operations, optimizing asset uptime and minimizing downtime.

Some commonly used views in the EAM module of Oracle Apps R12

 In Oracle E-Business Suite Release 12 (R12), the Enterprise Asset Management (EAM) module utilizes

several views to present data from underlying base tables in a more structured and user-friendly format.

These views offer a convenient way to access and analyze asset-related information.

Here are some commonly used views in the EAM module of Oracle Apps R12:


1. FA_BOOKS_V: Provides a view of asset book information, including depreciation rules.


2. FA_CATEGORIES_V: Presents a view of asset category information.


3. FA_LOCATIONS_V: Offers a view of asset locations.


4. FA_TRANSACTION_HEADERS_V: Presents a view of transaction header information in the Fixed Assets module.


5. FA_TRANSACTION_LINES_V: Offers a view of transaction line details such as units and amounts for each transaction.


6. FA_DEPRN_SUMMARY_V: Provides a summarized view of depreciation expense information for assets.


7. EAM_WORK_ORDERS_V: Presents a view of work order information in EAM.


8. EAM_TASKS_V: Offers a view of task information associated with work orders.


9. EAM_RESOURCES_V: Provides a view of resource information (e.g., employees, tools) assigned to tasks.


10. EAM_MAINTENANCE_REQUESTS_V: Presents a view of maintenance request information.


11. EAM_MATERIAL_ISSUES_V: Offers a view of material issue transactions in EAM.


12. EAM_TOOL_ISSUES_V: Provides a view of tool issue transactions in EAM.


13. EAM_USAGE_RECORDS_V: Presents a view of usage records captured for assets or resources.


14. EAM_SCHEDULES_V: Offers a view of maintenance schedules defined in EAM.


15. EAM_WORK_PLAN_STEPS_V: Provides a view of work plan steps associated with maintenance tasks.


These views offer a simplified and structured way to query and analyze data within the Enterprise Asset Management module of Oracle Apps R12. They encapsulate complex joins and logic from underlying tables, making it easier for users to retrieve relevant information for reporting, analysis, and decision-making purposes.

User EAM Base tables links in Oracle Apps R12

 In Oracle E-Business Suite Release 12 (R12), the Enterprise Asset Management (EAM) module uses several base tables

to store asset-related information. These tables are linked together through common keys to provide a comprehensive view of asset data.

Here's an overview of the key base tables and their links:


1. FA_ASSET_HISTORY:

   - Links to: FA_ASSET_ID


2. FA_ASSET_RETIREMENTS:

   - Links to: FA_ASSET_ID


3. FA_ADDITIONS_B:

   - Links to: FA_ASSET_ID


4. FA_BOOKS:

   - Links to: FA_BOOK_TYPE_CODE


5. FA_CATEGORIES_B:

   - Links to: FA_CATEGORY_ID


6. FA_DEPRN_DETAIL:

   - Links to: FA_TRANSACTION_HEADER_ID


7. FA_LOCATIONS:

   - Links to: LOCATION_ID


8. FA_PERIODS:

   - Links to: FA_CALENDAR_NAME


9. FA_TRANSACTIONS:

   - Links to: FA_TRANSACTION_HEADER_ID


10. FA_TRANSACTION_HEADERS:

    - Links to: FA_TRANSACTION_HEADER_ID


11. FA_TRANSACTION_LINES:

    - Links to: FA_TRANSACTION_HEADER_ID


12. FA_MASS_ADDITIONS:

    - Links to: FA_MASS_ADDITION_ID


13. EAM_WORK_ORDERS:

    - Links to: WORK_ORDER_ID


14. EAM_TASKS:

    - Links to: TASK_ID, WORK_ORDER_ID


15. EAM_RESOURCES:

    - Links to: RESOURCE_ID, TASK_ID


These links represent the primary relationships between the key base tables in the Enterprise Asset Management module of Oracle Apps R12.

By joining these tables using the appropriate keys, you can construct queries to extract comprehensive asset-related information,

including asset history, additions, retirements, depreciation details, locations, transactions, work orders, tasks, and assigned resources.

EAM Base Tables in Oracle Apps R12

 In Oracle E-Business Suite Release 12 (R12), the Enterprise Asset Management (EAM) module utilizes

several base tables to store asset-related information. These tables store data related to assets,

work orders, maintenance activities, resource assignments, and more. Below are some of the key base tables used in Oracle EAM in R12:


1. FA_ASSET_HISTORY: This table stores the history of changes to asset attributes.


2. FA_ASSET_RETIREMENTS: Contains information about retired assets.


3. FA_ADDITIONS_B: Stores basic asset information such as asset number, description, location, etc.


4. FA_BOOKS: Contains asset book information, including depreciation rules.


5. FA_CATEGORIES_B: Stores asset category information.


6. FA_DEPRN_DETAIL: Stores detailed information about depreciation expenses for assets.


7. FA_LOCATIONS: Contains information about asset locations.


8. FA_PERIODS: Stores information about accounting periods used for depreciation calculations.


9. FA_TRANSACTIONS: Contains details of asset transactions such as additions, adjustments, and retirements.


10. FA_TRANSACTION_HEADERS: Stores information about transaction headers in the Fixed Assets module.


11. FA_TRANSACTION_LINES: Contains transaction line details such as units and amounts for each transaction.


12. FA_MASS_ADDITIONS: Stores information about mass additions.


13. EAM_WORK_ORDERS: Contains information about work orders in EAM.


14. EAM_TASKS: Stores information about tasks associated with work orders.


15. EAM_RESOURCES: Contains information about resources (e.g., employees, tools) assigned to tasks.


These tables are the primary sources of data for the Enterprise Asset Management

module in Oracle E-Business Suite R12. Depending on your specific requirements,

you may need to query and join these tables to retrieve the desired information

about assets, work orders, maintenance activities, and related data.

To retrieve activity and asset information along with asset group

 To retrieve activity and asset information along with asset group from Oracle Apps R12,

you would typically query the relevant tables in the Oracle E-Business Suite database.

Below is an example query that you can use:


sql


SELECT

    fa.asset_number,

    fa.asset_id,

    fa.asset_category_id,

    fai.asset_group,

    fa.description AS asset_description,

    fai.tag_number,

    fai.asset_key,

    fai.asset_creation_date,

    faa.transaction_units,

    faa.transaction_date,

    fat.description AS transaction_type,

    fa.location_id,

    fl.location_code,

    fa.installation_date,

    fa.in_service_date

FROM

    fa_additions fa

    JOIN fa_additions_b fai ON fa.asset_id = fai.asset_id

    JOIN fa_transaction_headers fth ON fai.transaction_header_id = fth.transaction_header_id

    JOIN fa_transaction_lines ftl ON fth.transaction_header_id = ftl.transaction_header_id

    JOIN fa_asset_categories_fac fac ON fa.asset_category_id = fac.asset_category_id

    JOIN fa_asset_books fab ON fa.asset_id = fab.asset_id

    JOIN fa_book_controls fbc ON fab.book_type_code = fbc.book_type_code

    JOIN fa_locations fl ON fa.location_id = fl.location_id

    JOIN fa_adjustments faa ON faa.transaction_header_id = fth.transaction_header_id

    JOIN fa_transaction_types fat ON faa.transaction_type_id = fat.transaction_type_id

WHERE

    fat.transaction_type_code = 'ADDITION'

    AND faa.transaction_units > 0;



This query retrieves information about assets, including their number, group, description,

creation date, transaction details (like units, date, and type), and location. Adjust the joins and conditions

based on your specific requirements and the structure of your Oracle Apps R12 instance.

Sample Query to get the Asset Number Details

 SELECT   (SELECT organization_code

            FROM org_organization_definitions

           WHERE organization_id = last_vld_organization_id) "Inventory Org",

         (SELECT DISTINCT segment1

                     FROM mtl_system_items_b

                    WHERE inventory_item_id =

                                           c.inventory_item_id)

                                                               "Asset Groups",

         instance_number "Asset Number",

         instance_description "Asset Number Description",

         c.serial_number "Asset Serial Number",

         (SELECT department_code

            FROM bom_departments

           WHERE department_id =

                       (SELECT owning_department_id

                          FROM eam_org_maint_defaults

                         WHERE object_id = c.instance_id))

                                                          "owning department",

         (SELECT meaning

            FROM fnd_lookup_values

           WHERE lookup_type = 'MTL_EAM_ASSET_CRITICALITY'

             AND enabled_flag = 'Y'

             AND lookup_code = c.asset_criticality_code) "criticality",

         (SELECT accounting_class_code

            FROM eam_org_maint_defaults

           WHERE object_id = c.instance_id) "accounting_class_code",

         (SELECT location_codes

            FROM mtl_eam_locations

           WHERE location_id = (SELECT area_id

                                  FROM eam_org_maint_defaults

                                 WHERE object_id = c.instance_id)) "area"

    FROM csi_item_instances c, mtl_serial_numbers msn

   WHERE c.serial_number = msn.serial_number

     AND c.inventory_item_id = msn.inventory_item_id

ORDER BY instance_number