Powered By Blogger

Monday, December 27, 2010

XML Bursting

XML Publisher’s bursting engine accepts a data stream and splits it based on
multiple criteria, generates output based on a template, then delivers the
individual documents through the delivery channel of choice. The engine provides
a flexible range of possibilities for document generation and delivery.
Some places where we can use XML bursting-:
• Invoice generation and delivery based on customer-specific layouts and delivery preference
• Financial reporting to generate a master report of all cost centers, bursting out individual cost center reports to the appropriate manager
• Generation of pay slips to all employees based on one extract and delivered via e-mail

Advantages of XML bursting
1) No Additional Coding, just need to create XML bursting File.
2) Process of Creating XML data Definition and Template remains as it is.

Step 1:
Go to XML Administrator Responsibility and click on Administration.
Set Properties->General-Temp directory
Step 2:


Create xml file for Bursting. Content of xml file should be as shown below:-




Note:

a) tag tells busting engine , bursting should be done at the occurrence of which tag ?
b) tag tells bursting engine , which delivery mechanism to be used and on what condition ?



Step 3:

Open Data Definition function in XML Administrator responsibility. Query existing data definition and upload the bursting xml file created in step 2.




Step 4:


First run the report and then run XML Publisher Report Bursting Program. Pass request id of your report as Parameter. This program will create individual reports and mail it to respective recipients as an attachment.

Wednesday, August 4, 2010

AIM Methology



Oracle A.I.M. Methodology encompasses a project management methodology with documentation templates that support the life cycle of an implementation. The life cycle methodology and documentation templates allows A.I.M. to be a very useful tool for managing implementation projects successfully. This is a depiction of the A.I.M. methodology life cycle:

Application Implementation Method is a proven approach for all the activities required to implement oracle applications. there are eleven processes of implementation.



1. Business Process Architecture [BP] – This phase outlines:

                     Existing Business Practices
                     Catalog change practices
                     Leading practices
                     Future practices


BP.010 Define Business and Process Strategy
BP.020 Catalog and Analyze Potential Changes
BP.030 Determine Data Gathering Requirements
BP.040 Develop Current Process Model
BP.050 Review Leading Practices
BP.060 Develop High-Level Process Vision
BP.070 Develop High-Level Process Design
BP.080 Develop Future Process Model
BP.090 Document Business Procedure

2. Business Requirement Definition [RD] - This phase explains about the initial baseline questionnaire and gathering of requirements.


RD.010 Identify Current Financial and Operating Structure
RD.020 Conduct Current Business Baseline
RD.030 Establish Process and Mapping Summary
RD.040 Gather Business Volumes and Metrics
RD.050 Gather Business Requirements
RD.060 Determine Audit and Control Requirements
RD.070 Identify Business Availability Requirements
RD.080 Identify Reporting and Information Access Requirements

 
3. Business Requirement Mapping [BR] – In this phase the requirements of business are matched with the standard functionality of the oracle applications.


BR.010 Analyze High-Level Gaps
BR.020 Prepare mapping environment
BR.030 Map Business requirements
BR.040 Map Business Data
BR.050 Conduct Integration Fit Analysis
BR.060 Create Information Model
BR.070 Create Reporting Fit Analysis
BR.080 Test Business Solutions
BR.090 Confirm Integrated Business Solutions
BR.100 Define Applications Setup
BR.110 Define security Profiles

 
4. Application and Technical Architecture [TA] – This outlines the infrastructure requirements to implement oracle applications.


TA.010 Define Architecture Requirements and Strategy
TA.020 Identify Current Technical Architecture
TA.030 Develop Preliminary Conceptual Architecture
TA.040 Define Application Architecture
TA.050 Define System Availability Strategy
TA.060 Define Reporting and Information Access Strategy
TA.070 Revise Conceptual Architecture
TA.080 Define Application Security Architecture
TA.090 Define Application and Database Server Architecture
TA.100 Define and Propose Architecture Subsystems
TA.110 Define System Capacity Plan
TA.120 Define Platform and Network Architecture
TA.130 Define Application Deployment Plan
TA.140 Assess Performance Risks
TA.150 Define System Management Procedures


5. Build and Module Design [MD] – This phase emphasizes the development of new functionality (customization) required by the client. It mainly details how to design the required forms, database and reports.


MD.010 Define Application Extension Strategy
MD.020 Define and estimate application extensions
MD.030 Define design standards
MD.040 Define Build Standards
MD.050 Create Application extensions functional design
MD.060 Design Database extensions
MD.070 Create Application extensions technical design
MD.080 Review functional and Technical designs
MD.090 Prepare Development environment
MD.100 Create Database extensions
MD.110 Create Application extension modules
MD.120 Create Installation routines


6. Data Conversion [CV] – Data Conversion is the process of converting or transferring the data from legacy system to oracle applications. Ex. Transferring customer records from the legacy to the Customer Master.


CV.010 Define data conversion requirements and strategy
CV.020 Define Conversion standards
CV.030 Prepare conversion environment
CV.040 Perform conversion data mapping
CV.050 Define manual conversion procedures
CV.060 Design conversion programs
CV.070 Prepare conversion test plans
CV.080 Develop conversion programs
CV.090 Perform conversion unit tests
CV.100 Perform conversion business objects
CV.110 Perform conversion validation tests
CV.120 Install conversion programs
CV.130 Convert and verify data

 
7. Documentation [DO] – Documentation prepared per module that includes user guides and implementation manuals.


DO.010 Define documentation requirements and strategy
DO.020 Define Documentation standards and procedures
DO.030 Prepare glossary
DO.040 Prepare documentation environment
DO.050 Produce documentation prototypes and templates
DO.060 Publish user reference manual
DO.070 Publish user guide
DO.080 Publish technical reference manual
DO.090 Publish system management guide


8. Business System Testing [TE] – A process of validating the setup’s and functionality by QA(functional consultant) to certify status.


TE.010 Define testing requirements and strategy
TE.020 Develop unit test script
TE.030 Develop link test script
TE.040 Develop system test script
TE.050 Develop systems integration test script
TE.060 Prepare testing environments
TE.070 Perform unit test
TE.080 Perform link test
TE.090 perform installation test
TE.100 Prepare key users for testing
TE.110 Perform system test
TE.120 Perform systems integration test
TE.130 Perform Acceptance test

 
9. Performance Testing [PT] - Performance testing is the evaluation of transactions saving time, transaction retrieval times, workflow background process, database performance, etc


PT.010 – Define Performance Testing Strategy
PT.020 – Identify Performance Test Scenarios
PT.030 – Identify Performance Test Transaction
PT.040 – Create Performance Test Scripts
PT.050 – Design Performance Test Transaction Programs
PT.060 – Design Performance Test Data
PT.070 – Design Test Database Load Programs
PT.080 – Create Performance Test TransactionPrograms
PT.090 – Create Test Database Load Programs
PT.100 – Construct Performance Test Database
PT.110 – Prepare Performance Test Environment
PT.120 – Execute Performance Test

 
10. Adoption and Learning [AP] – This phase explains the removal of the legacy system and oracle application roll out enterprise wide.

AP.010 – Define Executive Project Strategy
AP.020 – Conduct Initial Project Team Orientation
AP.030 – Develop Project Team Learning Plan
AP.040 – Prepare Project Team Learning Environment
AP.050 – Conduct Project Team Learning Events
AP.060 – Develop Business Unit Managers’Readiness Plan
AP.070 – Develop Project Readiness Roadmap
AP.080 – Develop and Execute CommunicationCampaign
AP.090 – Develop Managers’ Readiness Plan
AP.100 – Identify Business Process Impact onOrganization
AP.110 – Align Human Performance SupportSystems
AP.120 – Align Information Technology Groups
AP.130 – Conduct User Learning Needs Analysis
AP.140 – Develop User Learning Plan
AP.150 – Develop User Learningware
AP.160 – Prepare User Learning Environment
AP.170 – Conduct User Learning Events
AP.180 – Conduct Effectiveness Assessment


11. Production Migration [PM] – The process of “decommissioning” of legacy system and the usage(adoption) of oracle application system.

PM.010 – Define Transition Strategy
PM.020 – Design Production Support Infrastructure
PM.030 – Develop Transition and Contingency Plan
PM.040 – Prepare Production Environment
PM.050 – Set Up Applications
PM.060 – Implement Production Support Infrastructure
PM.070 – Verify Production Readiness
PM.080 – Begin Production
PM.090 – Measure System Performance
PM.100 – Maintain System
PM.110 – Refine Production System
PM.120 – Decommission Former Systems
PM.130 – Propose Future Business Direction
PM.140 – Propose Future Technical Direction

Sunday, August 1, 2010

Oracle Application on Apple iPad

iPad Goes Enterprise


If you’ve been looking for an excuse to buy an Apple iPad, Citrix has just that. Citrix Receiver for iPad lets you access Windows applications (including those from Oracle) running on a virtual desktop or inside a traditional Citrix server-hosted session. Citrix Receiver is a universal client for accessing corporate resources such as XenApp or XenDesktop sessions, and is supported on Windows PCs, Macs, and Apple’s iPhone. Available in the Apple iTunes Store. Free .

Sunday, July 25, 2010

Displaying Employee Photo on the Approval Page

I tried displaying it on Workflow page but the way to display it is downloading the photo on application server and setting that in the property of Image item programatically.So what i did is i added a button on the workflow page and when user clicks on this button then system will display the photo on a diiferent page.
Following steps need to done to achieve the same:-
1) Add a new item on the page

2) Set the properies as shown below:-


3) To open the photo in different page set the Target Frame as _blank 
4) In destination URL put OA.jsp?page=/oracle/apps/xxekk/approval/webui/xxEmpPhotoPG&akRegionApplicationId=800
5) Put the logic in controller file to fetch photo from database and display it on the page.

SIT Validations

There are 2 ways of putting validation in SIT.
1) Write the validation logic in Api Hooks provided for hr_sit_api Api. This validation will be fired when user will try to enter data in SIT using Forms or Self service.
2) Another way of putting validation on self service page is writing a controller and attaching this controller to SIT self service page using personalization.

Here is the detail steps to acheive validation using personalization:-
1) Create a controller file SITCO which wil extend standard oracle controller SitUpdateCO

// Source File Name: SITCO.java

package oracle.apps.per.selfservice.specialinformation.webui;

import java.sql.Connection;
import java.sql.SQLException;
import oracle.apps.fnd.common.VersionInfo;
import oracle.apps.fnd.flexj.KeyFlexfield;
import oracle.apps.fnd.flexj.Segment;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.OAException;
import oracle.apps.fnd.framework.server.OADBTransaction;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.OAWebBeanConstants;
import oracle.apps.fnd.framework.webui.beans.OAKeyFlexBean;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.per.selfservice.common.SSHRParams;
import oracle.jdbc.driver.OracleCallableStatement;
import oracle.sql.ARRAY;
import oracle.sql.ArrayDescriptor;


public class SITCO extends SitUpdateCO

{

public SITCO()
{

}
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
   super.processRequest(pageContext, webBean);
}

public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{

       if(pageContext.getParameter("HrNext") != null)

     {

        String s = null;

        OAKeyFlexBean kffBean = (OAKeyFlexBean)webBean.findIndexedChildRecursive("HrSitKeyFlex");

        KeyFlexfield keyflexfield = (KeyFlexfield)kffBean.getAttributeValue
                                                     (OAWebBeanConstants.FLEXFIELD_REFERENCE);

        String s_struc_code = keyflexfield.getStructureCode();

        String str[] = new String[30];

       for(int i = 0; i < 10; i++)

       try

     {

        str[i] = keyflexfield.getSegment(i).getInputValue();

      }
      catch(Exception e)

    {
          str[i] = null;
    }
     OAApplicationModule am = pageContext.getRootApplicationModule();
     Connection connection = am.getOADBTransaction().getJdbcConnection();
     String v_message = null;
     Integer s_prsn = new Integer(pageContext.getEmployeeId());
     SSHRParams sshrparams = new SSHRParams(am.getOADBTransaction());
     String v_emp_id = sshrparams.getPersonId();
     sshrparams.setProfiles();
    String v_person_id = s_prsn.toString();

   try
 {

   ArrayDescriptor segvaldesc = ArrayDescriptor.createDescriptor("SEGMENT_VALUES", connection);

   ARRAY segval = new ARRAY(segvaldesc, connection, str);

  OracleCallableStatement ocs = (OracleCallableStatement)connection.prepareCall("Begin  
   XXHR_SIT_VALIDATION_PKG.VALIDATE_RECORD 
  (p_sit_code=>:1,p_segment=>:2,p_person_id=>:3,p_employee_id=>:4,p_message=>:5); end;");

  ocs.setString(1, s_struc_code);
  ocs.setARRAY(2, segval);
  ocs.setString(3, v_person_id);
  ocs.setString(4, v_emp_id);
  ocs.registerOutParameter(5, 12);
  ocs.execute();

  v_message = ocs.getString(5);
  ocs.close();
 }
catch(SQLException sqlexception)
{
throw new OAException("Error " + sqlexception.getMessage(), (byte)2);
}

if(v_message != null)
throw new OAException(v_message, OAException.ERROR);
super.processFormRequest(pageContext, webBean);
} else
{
super.processFormRequest(pageContext, webBean);
}
}
public static final String RCS_ID = "$Header$";
public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion("$Header$", "%packagename%");
}

2) Login to oracle application and click on personalize link on SIT data entry page.
3) Select Complete view and then against Default Single Column: Special Information click the personlize link
4) Enter oracle.apps.per.selfservice.specialinformation.webui.SITCO  for Controller class as shown below:-

5) Now create a package named XXHR_SIT_VALIDATION_PKG and put a function in it called VALIDATE_RECORD (p_sit_code varchar2,p_segment SEGMENT_VALUES,p_person_id  number,p_employee_id number ,p_message varchar2);
6) Structure of this package will be somewhat shown below:-

Create or replace package body XXHR_SIT_VALIDATION_PKG as

function VALIDATE_RECORD (p_sit_code varchar2,p_segment SEGMENT_VALUES,p_person_id number,p_employee_id number ,p_message varchar2) as

begin

if p_sit_code varchar2 = then
  if p_segment(1)= then
     your code here
  end if;
elsif p_sit_code varchar2 = then



end if;

exception
  when others then 
   -----

end;

end;


Saturday, July 24, 2010

Oracle Data Integrator


1) Click on Master Repository Creation to create a new master repository.

2) Select Oracle driver for driver field and then enter the connection url.

3) Enter the user name and password. For master repository I created a new schema called XXODI_MST.

4) Click OK. You will get Successful Creation message.


5) Go to Start->Oracle->Oracle Data Integrator->Topology Manager

6) A small window will open. Click on new icon.

7) Login Name : Enter “Master Repository”

User : Supervisor

Password: SUNOPSIS

User: XXODI_MST

Pwd: XXODI_MST

Driver : Oracle JDBC Driver

Driver Name: oracle.jdbc.driver.OracleDriver

Url:odbc.oracle.thin:@taylusap.oradom.ekk:1520:DEV





8) Right click on Work Repository and click on Insert Work Repository

9)Click the first tab and then expand Technologies and right click oracle and click insert data server
10) Create a Source physical data server as shown below
11) Create another data server for target data server.
12) Click on logical schema and then expand Technologies. Right click on Oracle and insert logical schema.




13) Go to ODI menu and click on Designer. Select the work repository and enter user as SUPERVISOR and password as SUNOPSIS



14) Create a new project.
15) Right click on project and click on “import Knowledge Module”
16) Select the folder impexp from ODI directory.
17) Select IKM Oracle Incremental Update and LKM SQL to SQL

18) Click on Model tab and then right click and then click on insert model folder.
19) Create a source model folder and select the values as shown below:-







20) On the Selective Reverse tab click on “Object to Reverse” and then select the table from which you want to fetch the data. Once selected then click on Reverse button




20) Similarly create Target model and select the table which you want to populate.
21) Right click on source model and select add to cdc(Changed data capture).
22) Right click on Constraint in each of the table and create a primary key. Same thing is to be done for tables in target model.
23) Click on projects and create a new interface as shown below.



24) Drag the source table and drop it in right frame as shown below. Similiarly drag the target table and drop it in Target area on the right hand side as shown below.


25) If column names in source and target are same then auto mapping will be done. Otherwise we can do manual mapping for each column in target table.
26) Click on flow tab and then click on source frame . Then select LKM SQL to SQL.
27) Then click on Target frame and select IKM Oracle Increment Update.



28) Right click on package and click on “insert Package”. Then add the interfaces to this newly created package.
29) Here we can set the sequence in which interfaces is to be executed.

30 ) Right click on package and generate the scenario.
31) Under Scenario, Scheduling option is there. Using this we can schedule the package.









32) Right click package and click on execute.
33) Go to ODI menu, click on Operator and check the status by expanding ALL Execution node