Sunday, August 17, 2014

What is ERP (Enterprise resource planning)? Advantages and Disadvantages of ERP?

Enterprise resource planning (ERP) is business process management software that allows an organization to use a system of integrated applications to manage the business and automate back office functions. ERP software integrates all facets of an operation, including product planning, development, manufacturing processes, sales and marketing.

Advantages of ERP (Enterprise Resource Planning) System:

1. Complete visibility into all the important processes across various departments of an organization (especially for senior management personnel).

2. Automatic and coherent work-flow from one department / function to another to ensure smooth transition/ completion of processes.

3. A unified and single reporting system to analyze the statistics/ numbers/ status etc in real-time, across all the functions / departments.

4. Since same software is used across all departments – this can avoid individual departments having to buy and maintain their own software systems.

5. Certain ERP vendors can extend their ERP systems to provide Business Intelligence functionalities as well.

6. Advanced e-commerce integration is possible with ERP systems that can handle web-based order tracking/ processing.

7. There are various modules in an ERP system like Finance/ Accounts, Human Resource Management, Manufacturing, Marketing / Sales, Supply Chain / Warehouse Management, CRM, Project Management, etc.

8. Since ERP is a modular software system, its possible to implement either a few modules (or) many modules based on the requirements of an organization. If more modules implemented, the integration between various departments might be better.

9. Single Database is implemented on the back-end to store all the information required by the ERP system and that enables centralized storage / back-up of all enterprise data.

10. ERP systems are more secure as centralized security policies can be applied to them and all the transactions happening via the ERP systems can be tracked.

11. ERP systems provide visibility and hence enable better/ faster collaboration across all the departments.

12. It is possible to integrate other systems (like bar-code reader, for example) to the ERP system through an API (Application Programing Interface).

13. ERP systems make it easier for order tracking, inventory tracking, revenue tracking, sales forecasting and related activities.

14. ERP systems are a boon for managing globally dispersed enterprise companies.

Disadvantages of ERP (Enterprise Resource Planning) Systems:

1. The cost of ERP Software, planning, customization, configuration, testing, implementation, etc is too high.

2. ERP deployments take 1-3 years to get completed and fully functional.

3. Too little customization may not integrate the ERP system with the business process & too much customization may slow down the project and make it difficult to upgrade.

4. The cost savings/ payback may not be realized immediately after the ERP implementation & it is quite difficult to measure the same.

5. The participation of users is very important for successful implementation of ERP projects – So, exhaustive user training and simple user interface might be critical. But ERP systems are generally difficult to use (and learn).

6. There maybe additional indirect costs like new IT infrastructure, upgrading the WAN links, etc.

7. Migration of existing data to the new ERP systems is always difficult to achieve as with integrating ERP systems with other stand alone software systems.

8. ERP implementations are difficult to achieve in decentralized organizations with disparate business processes and systems.


9. Once an ERP systems is implemented it becomes a single vendor lock-in for further upgrades, customizations etc.






Friday, August 15, 2014

Table Registration in Oracle Apps

Table Registration in Oracle Apps

Custom Schema: It is created by DBA person for customization purpose.

  • Oracle Alerts & Flex Fields: At only product will dependent on table registration. hence we need to register table in oracle apps
  • Instead of connecting to individual schema directly we will login to APPS schema (centralized) and work for any schema objects.
Table Registration Approach:
  1. Create oracle table in custom schema.
  2. Give grants to apps schema.
  3. create public synonym in apps schema.
  4. register table using the API AD_DD, Register_Table
    Those records stored in FND_TABLES. 
  5. Register columns using the API AD_DD.Register_Column
    Those records stored in FND_COLUMN.
NOTE: 4 & 5 points are mandatory when we are using table for flex fields & oracle alerts.

Table Registrations in oracle apps steps:

Step 1: open Toad and Connect by using login credentials
     
            Then click on connect

           Example: XXAO/XXAO@VIS

Step 2: create table in oracle apps custom top

            create table XX_EMP_STAG
                              (First_Name  varchar2(20),
                               Last_Name   varchar2(20),
                               Sal                number(7,2),
                               Deptno         number(2))

               then Execute (Run) in Toad using (CTRL+Enter)

Step 3: Give all grants to apps schema.

          Example: Grant all on XX_EMP_STAG to apps

         Then execute (Run) in Toad using (CTRL+Enter)

Step 4: connect apps schema by using login credentials
         
             Example: username: APPS
                             password: APPS
                             database : VIS


Step 5: create public synonym

           create public synonym XX_EMP_STAGSYN for AO.XX_EMP_STAG

           Then compile synonym in Toad (CTRL+Enter)

Step 6: Register Table

             Begin
                      AD_DD.register_table
                                    ('AO', -- Application short name
                                     'XX_EMP_STAG', -- Table Name
                                     'T',    -- Table type
                                     512,  -- Next Extension
                                     10,    -- PCT free
                                     70);   -- PCT used
             COMMIT;
             End;
 
   Select Total Code ( Begin to End;) and click on F5(Compile Code).

Step 7: Register Column

      Begin
        AD_DD.register_column('PO',  -- Application short name
                                                 'XX_EMP_STAG', -- Table Name
                                                 'EMP_NAME', -- Column Name
                                                 1,                        -- Column Sequence
                                                 'VARCHAR2',    -- Data Type
                                                 20,                      -- Data Type
                                                 'Y',                      -- Nullable
                                                 'Y',                      -- Translate
                                                 null,                    -- Precision
                                                 null);                   -- Scale
                                              
         AD_DD.register_column('PO',  -- Application short name
                                                 'XX_EMP_STAG', -- Table Name
                                                 'JOB', -- Column Name
                                                 2,                        -- Column Sequence
                                                 'VARCHAR2',    -- Data Type
                                                 20,                      -- Data Type
                                                 'Y',                      -- Nullable
                                                 'Y',                      -- Translate
                                                 null,                    -- Precision
                                                 null);                   -- Scale
       COMMIT;
    END;

Select Total code & Click on F5 (Compile)

Step 8: Check Table Registration in Front End


   Application Developer  --> Application --> Database --> Table 
    --> F11

Enter Table Name : XX_EMP_STAG 
Then Ctrl+F11

  
                                                            

Value Sets


Value Set: Value set is nothing but list of values with validations which will be used to to restrict the user without entering the invalid data in the Parameters

we will use value sets in two locations.
1) Concurrent Progam parameters
 2) Flexfields

NONE:

We are not providing any LOV, we can apply some format conditions as per that conditions user should enter the data

Notes:
          1) Once we create the Value set we can not Delete if we would like to delete we have to release the  value set from the all the concurrent program parameters then only we can delete.
          2) Value set name is case sensitive
          3) Once we create Value set we can use for multiple Program parameters.

Navigation:

System administrator => Application=>Validation=>set=>
Enter value set name
   format type
   max size
Select validation type = "None" to create None type of Value sets.

Independent:

When we would like to provide list of values to the user then we will go for selection of Independent value set.where we will provide LOV. User must select the Value from the list otherwise values are not accepted.

Open the Value set form create value set by selecting the validation type=Independnent
Go to Values screen enter the value set name , Select Find Buttion
enter the values whatever we would like to display as LOV.
attach the value set to the Parameter.

Note:
1) Once we enter the values we can not delete instead of that we can disable by selecting the Enabled   check box or Effective Dates.

Dependent value Set:

This is another LOV which will be used to displays the list of values which are depending on the previous parameter value.

Before going to create Dependent first we have to create Independent then we have to create Dependent

First parameter will be Independent Second parameter will be Dependent.

Note:Without Independent we can not create Dependent Value set.

Country IND
        US
        UK
City   Banglore Chennai Delhi Mumbai  Pune
         Chikago  California      Anderson
         London   Hungrant

1) We have to create Independent value set and enter the values.
2) Create Dependent value set attach independent and then enter values.


Job  Manager
 Developer
 Programmer

Position   Delivery Manager   Project manager Financce manager
  Software Developer Test Developer
  Trainee  Fresher

Navigation:

1)Open the Value set form create Value set by selecting the validation type =Independent
2)Open the Values screen enter the VAlues .
3)Open the value set form enter Dependent value set by select validation type=Dependent
 Select the Button called Edit Information button enter the Independent value set
4)open the values form  enter the Dependent value set=>Find
  enter the values based on the Independent values.

Table Value set :

Table value set will be used to displays the list of values from the oracle apps base tables.
we have to give the table name and column name which will automatically displays the values.

Note: If values are not stored in the database table then we have to go for Independent  value set.
      If values are there in the table then we will create table value set.

1.Open the value set form Select  validation type as table select the button called Edit Information enter table name and column name in the value field
2.Use where/Order By clause to implement Where/Order By clause.
3.Use Additional Columns field to displays extra columns for reference purpose.
4.Use the ID column to pass the internally other columns data for ex displaying username to the user and     pass userID internally.
5.If multiple tables are required then enter the table names in the
  table name field with alias name and enter the Join Condition in the
  Where clause field.

6.If we know the table name we can find the Table application name from Application Developer responsibility
Application Developer => Application => Database => table
Query the records based on the table Name.

Note: If we are displaying additional Columns we are suppose to give the Alias Name

Translated Independent and Translated Dependent:

Both  value sets will work like Independent and Dependent value sets will be used to displays the translation values which will be enabled. if there is multi language implementation.

Special and Pair:

Both Value sets will be used to displays the Flexfield data as LOV to
the User.




FLEXFIELDS

FLEXFIELDS:

 
Flexfield are made up with Attribute columns or Segment columns .
 which are more flexible than the normal fields.

we have two type of flexfields
1) DFF (Descriptive Flex Field)
2) KFF (Key Flex Field)

DFF: It will be used to capture the Extra information from the end user
         without change the code in the form and without Alter the DB object.
         ATTRIBUTE Columns will be used to Capture the DFF data.

KFF: it will be used to Capture the Key information from the User
         in code language for every code there will be a specific meaning.
         SEGMENT Columns will be used Capture the KFF Data

We can find all the flexfield details in Application Developer
Responsibility

Flexfield=>Descriptive=>register=> CTRL+F11 for all DFF
Flexfield=>Key        =>register=> CTRL+F11 for all KFF

We will Use the Segment form to Customize the DFF.

Differences Between DFF and KFF


                DFF                                                    KFF 

1)  DFF Will be used to capture the Extra                    1) KFF will be used to Capture the Key
     Information.                                                                Information

2)  ATTRIBUTE Columns will be used                       2) SEGMENT columns will be used

3) We can have max DFF in the Application                3) We have 30 KFF already defined by Oracle
     there is no Limit                                                       we can customize existing KFF. We are not
                                                                                  suppose to define the new KFF. We will not
                                                                                  get support from Oracle.

4) In DFF we will Context Field to define                    4) In KFF we will define Structure Column
    Multiple Structures                                                   to define the Multiple Structures.







Difference Between Inbound Interfaces and Conversions

Difference Between Inbound Interface and Conversion:
===================== ====================

                    Interface                                                                       Conversion
                 =========                                                                     ==========

1) Interface will be used to upload the data multiple times. 1) Conversion is one-Time Data Transfer                                                                                                          Regularly every week or month or day.                                                                  
2) Client Will be using Legacy system.                              2) Client will use Only Oracle Applications.
  and also Oracle Applications                                                   once data is uploaded from legacy then
                                                                                            legacy system will be closed.

3) We will not be knowing the Data file volume.                3) Here we will be knowing the data file volume                                                                                                exactly.                                                   

4) In Customization and as well as                                    4) Normally in the Implementation Projects we
    implementation projects we will be                                         will be using.
    developing Interface.