Sunday 20 May 2012

Some Impotent join conditions in Oracle apps


GL AND AP    
GL_CODE_COMBINATIONS    AP_INVOICES_ALL
code_combination_id = acct_pay_code_combination_id

GL_CODE_COMBINATIONS    AP_INVOICES_DISTRIBUTIONS_ALL
code_combination_id = dist_code_combination_id

GL_SETS_OF_BOOKS AP_INVOICES_ALL
set_of_books_id = set_of_books_id

GL AND AR
GL_CODE_COMBINATIONS    RA_CUST_TRX_LINE__GL_DIST_ALL
code_combination_id = code_combination_id

GL AND INV
GL_CODE_COMBINATIONS    MTL_SYSTEM_ITEMS_B
code_combination_id = cost_of_sales_account

GL AND PO
GL_CODE_COMBINATIONS    PO_DISTRIBUTIONS_ALL
code_combination_id = code_combination_id

PO AND AP
PO_DISTRIBUTIONS_ALL      AP_INVOICE_DISTRIBUTIONS_ALL
Po_distribution_id = po_distribution_id

PO_VENDORS           AP_INVOICES_ALL
vendor_id = vendor_id

PO AND SHIPMENTS
PO_HEADERS_ALL     RCV_TRANSACTIONS
Po_header_id = po_header_id

PO_DISTRIBUTIONS_ALL      RCV_TRANSACTIONS
Po_distribution_id = po_distribution_id

SHIPMENTS AND AP INVOICE
RCV_TRANSACTIONS           AP_INVOICE_DISTRIBUTIONS_ALL
RCV_TRANSACTION_ID = RCV_TRANSACTION_ID

PO AND  INV
PO_REQUISITION_LINES_ALL MTL_SYSTEM_ITEMS_B
item_id = inventory_item_id
org_id = organization_id

PO AND HRMS
PO_HEADERS_ALL     HR_EMPLOYEES
Agent_id = employee_id

PO AND REQUISITION
PO_DISTRIBUTIONS_ALL      PO_REQ_DISTRIBUTIONS_ALL
req_distribution_id = distribution_id

SHIPMENTS AND INV
RCV_TRANSACTIONS           MTL_SYSTEM_ITEMS_B
Organization_id         =        organization_id

INV AND HRMS
MTL_SYSTEM_ITEMS_B       HR_EMPLOYEES
buyer_id        =        employee_id

OM  AND  AR
OE_ORDER_HEADERS_ALL              RA_CUSTOMER_TRX_LINES_ALL
TO_CHAR( Order_number)    =        interface_line_attribute1

OE_ORDER_LINES_ALL                   RA_CUSTOMER_TRX_LINES_ALL
TO_CHAR(Line_id)     =        interface_line_attribute6  

OE_ORDER_LINES_ALL                   RA_CUSTOMER_TRX_LINES_ALL
reference_customer_trx_line_id       =        customer_trx_line_id

OM AND SHIPPING
OE_ORDER_HEADERS_ALL               WSH_DELIVARY_DETAILS
HEADER_ID     =        SOURCE_HEADER_ID

OE_ORDER_HEADERS_ALL              WSH_DELIVARY_DETAILS
LINE_ID         =        SOURCE_LINE_ID

AP AND AR (BANKS)
AR_CASH_RECEIPTS_ALL               AP_BANK_ACCOUNTS
REMITTANCE_BANK_ACCOUNT_ID    =        ABA.BANK_ACCOUNT_ID

AP AND AR
HZ_PARTIES                      AP_INVOICES_ALL
PARTY_ID      =        PARTY_ID

OM AND CRM
OE_ORDER_LINES_ALL         CSI_ITEM_INSTANCES(Install Base)
LINE_ID         =        LAST_OE_ORDER_LINE_ID

How to submit a concurrent program from backend


How to submit a concurrent program from backend:

   Using FND_REQUEST.SUBMIT_REQUEST Funtion and by passing the required parameters to it we can submit a concurrent program from backend. 
But before doing so, We have to set the environment of the user submitting the Request.

We have to Initialize the following parameters using FND_GLOBAL.APPS_INITIALIZE Procedure
1). USER_ID  2).RESPONSIBILITY_ID  3). RESPONSIBILITY_APPLICATION_ID

syntax:
FND_GLOBAL.APPS_INITIALIZE:

PROCEDURE APPS_INITIALIZE( user_id in number,
                                         resp_id in number,
                                         resp_appl_id in number);


FND_REQUEST.SUBMIT_REQUEST:
REQ_ID :=FND_REQUEST.SUBMIT_REQUEST(Application=> 'ApplicationName',
                                                                               Program => 'Program Name',
                                                                               Description=>'null',
                                                                              start_time=>'null',
                                                                             sub_request=>false,
                                                                             argument1=>1,
                                                                             argument2=>2,
                                                                             .
                                                                             .
                                                                             .
                                                                             . argument n=>n);

Where ,Req_id is the concurrent request id upon successful completion.And concurrent request ID returns 0 for any submission problems.
Example:-
1st get the user_id and responsibility_id by which we have to submit the program:

SELECT USER_ID,
               RESPONSIBILITY_ID,
               RESPONSIBILITY_APPLICATION_ID,
                SECURITY_GROUP_ID
FROM FND_USER_RESP_GROUPS
WHERE USER_ID =(SELECT USER_ID
                                  FROM FND_USER
                                WHERE USER_NAME='&USER_NAME')
AND RESPONSIBILITY_ID=(SELECT RESPONSIBILITY_ID
                                                   FROM FND_RESPONSIBILITY_VL
                                                   WHERE RESPONSIBILITY_NAME='&RESP_NAME');
Now create this procedure

create or replace procedure apps.call_racust (p_return_code out number,
                                                              p_org_id number,
                                                              p_return_msg  out varchar2)
IS
V_REQUEST_ID VARCHAR2(100);
P_CREATE_RECIPROCAL_FLAG VARCHAR2(1) :='N';
BEGIN
FND_GLOBAL.APPS_INITIALIZE(10081,5559,220);
V_REQUEST_ID:=APPS.FND_REQUEST.SUBMIT_REQUEST('AR',
                                                                            'RACUST',
                                                                            '' ",
                                                                            FALSE,
                                                                           P_CREATE_RECIPROCAL_FLAG,
                                                                            P_ORG_ID,
                                                                             CHAR(0));
P_RETURN_MSG:='Request submitted.ID=' || V_REQUEST_ID;
P_RETURN_CODE:=0; COMMIT;
EXCEPTION
WHEN OTHERS THAN
P_RETURN_MSG:='REQUEST SET SUBMISSION FAILED -UNKNOWN ERROR:'||SQLERRM;
P_RETURN_CODE:=2;
END; 

Saturday 19 May 2012

How to Remove Contents from MDS Repository


How to Remove Contents from MDS Repository

In 11g we can publish artifacts and commonly used schema, wsdl's in a meta data store to acccess across processes.

Often we realize that sometime we need to clean up and remove unnecessary and unwanted files from the repostiory.

There are two ways you can remove contents from MDS offline mode and online mode. I will explain both the options below
Option 1: Offline Mode


Step 1: Execute Wlst.Sh
Goto YOUR_MIDDLEWARE_HOME/Oracle_SOA1/common/bin and execute wlst.sh
Step 2: Run Command
At wlst command prompt (wls:/offline>) execute the following

sca_removeSharedData('http://yourhost:yourport', 'directory', 'adminuser', 'adminpassword')

To remove a folder named "common" folder and all it's sub-directories and files.

sca_removeSharedData('http://localhost:8001', 'common', 'weblogic', 'weblogic1')


Option 2: Online Mode


Step 1: Execute Wlst.Sh
Goto YOUR_MIDDLEWARE_HOME/Oracle_SOA1/common/bin and execute wlst.sh

Step 2: Connect To SOA Server
At wlst command prompt (wls:/offline>) execute the following

connect('adminuser', 'adminpassword', 't3://hostname:port')

ex:
connect('weblogic', 'weblogic1', 't3://localhost:8001')

Step 2: Remove Content From MDS

deleteMetadata(application='soa-infra',server='soa_server1',docs='/apps/common')

MD 50 and MD 70 Documents - Oracle application development

Documentation plays a very  important role in oracle apps implementation projects.Oracle as part of the AIM   Methodology has provided certain jargon's for various kinds of documents at different stages of the project.So here is a blog post detailing the same:



BR Documents: Business Requirement Documents,Which is mostly done by the Functional persons of the implementation Team Like Functional Project Leads/Managers.These documents are the set up Documents,which is 100% based on the BR120-Business Requirement Gatherings as provided by the business.
You can say these are as is process.So BR 100 is the To Be Process after you gather all sorts of info from the Biz and map in the Oracle Systems.

MD Documents:-Modular Designing Documents,which are is mostly done by the Technical persons of the Implementation Team like Technical Project Leads/Project Manager. These document are the Design Documents,which is again based on the BR120-Business Requirement Gathering as provided by the business.
     These MD's are of basically discussed on any customization needs or any special behavior oracle System should work which is not the standard Oracle Functionality.These also discuss about the tables and the interface tables or forms which are going  to be used in the particular modules.It also discusses about the High Level Designs Like Flows of the Business and all.
These MD's are basically made after you all Functional Design and if there is no work around Oracle System provides for a particular Test Scenario and there is no other way other than to go for the Customization. 

Now you can understand the basic difference b/w these two.
Here is the Overall flow with various documents involved in every Stage:
1st Stage:-Analysis
Document used: 
RD 120-Requirement Gathering -As Is To Be Process
BR150 - Fit GAP Analysis (It's been done on the basis of above doc)
2nd Stage: Designing
Document Used:
BR 100: Set up Document for the Functional Consultants
MD 200: Set up Document for the Technical Consultants
3rd Stage: Build -DEMO/ PROTO TYPE
Document Used:
BR 050
4th Stage:Testing
Document Used:
TE 050
5th Stage : GO Live
6th Stage: Post Production.





BPEL Persistence Properties


Ø  BPEL Persistence Properties – 11g

BPEL Persistence properties are used to control, when a process need to dehydrate. Below are the properties which we can use to control it for BPEL Component in a Composite.
InMemoryOptimization
This property indicates to Oracle BPEL Server that this process is a transient process and dehydration of the instance is not required. When set to true, Oracle BPEL Server keeps the instances of this process in memory only during the course of execution. This property can only be set to true for transient processes (process type does not incur any intermediate dehydration points during execution).
  • false (default): instances are persisted completely and recorded in the dehydration store database for a synchronous BPEL process.
  • true: Oracle BPEL Process Manager keeps instances in memory only.
CompletionPersistPolicy
This property controls if and when to persist instances. If an instance is not saved, it does not appear in Oracle BPEL Console. This property is applicable to transient BPEL processes (process type does not incur any intermediate dehydration points during execution).
This property is only used when inMemoryOptimization is set to true.
This parameter strongly impacts the amount of data stored in the database (in particular, the cube_instance, cube_scope, and work_item tables). It can also impact throughput.
  • on (default): The completed instance is saved normally.
  • deferred: The completed instance is saved, but with a different thread and in another transaction, If a server fails, some instances may not be saved.
  • faulted: Only the faulted instances are saved.
  • off: No instances of this process are saved.
<component name="mybpelproc">
...
<property name="bpel.config.completionPersistPolicy">faulted</property>
<property name="bpel.config.inMemoryOptimization">true</property>
...
</component>
OneWayDeliveryPolicy
This property controls database persistence of messages entering Oracle BPEL Server. Its used when we need to have a sync-type call based on a one way operation. This is mainly used when we need to make an adapter synchronous to the BPEL Process.
By default, incoming requests are saved in the following delivery service database tables: dlv_message
  • async.persist: Messages are persisted in the database.
  • sync.cache: Messages are stored in memory.
  • sync: Direct invocation occurs on the same thread.
<component name="UnitOfOrderConsumerBPELProcess">
...
<property name="bpel.config.transaction" >required</property>
<property name="bpel.config.oneWayDeliveryPolicy">sync</property>
...
</component>
General Recommendations:
1. If your Synchronous process exceed, say 1000 instances per hour, then its better to set inMemoryOptimization to true and completionPersistPolicy to faulted, So that we can get better throughput, only faulted instances gets dehydrated in the database, its goes easy on the purge (purging historical instance data from database)
2. Do not include any settings to persist your process such as (Dehydrate, mid process receive, wait or Onmessage)
3. Have good logging on your BPEL Process, so that you can see log messages in the diagnostic log files for troubleshooting.

Transient and Durable

BPEL processes are mainly two kinds: transient and durable.


Transient process: These are the kind that does not have any break activity or mid receive activity in their design. Dehydration process occurs at the end of the process. If the BPEL process crashes before finishing, then the instance is lost. We will not find the traces of this process in the dehydration store. To java folks, this is very much similar to a transient variable. When explicitly declared as transient the variable will not be persisted with the object state and cannot be serialized.

Durable process:
BPEL processes of this kind are dehydrated on the fly when a breakpoint or non-idempotent activity is encountered. In the event of a server crash, the BPEL process restarts from the last dehydration point.

A very important detail is that if a BPEL process fails without reaching a dehydration point then the instance will not show up on the BPEL console. This instance never gets stored to the database.

Dehydration can be forced in several ways
· adding check points
· by setting the idempotent property to false
· adding mid receive activity – if the process needs to wait for an event

Tuesday 15 May 2012

Oracle AIA Installation on windows xp32 bit

Hi Guys,
Please go through this pdf document for Oracle AIA installation on windows xp32 bit.


http://docs.oracle.com/cd/E20713_01/doc.11112/e20211.pdf


I hope this is very helpful for you......................  

Sunday 13 May 2012

Oracle SOA Suite 11.1.1.6 Installation on Windows xp 32 bit

Hi Guys,
Please follow below steps for soa suite 11.1.1.6 Installation on Windows XP 32bit.
Please download all software's  from Oracle site.
1). JDK(jdk-6u26-windows-i586).
2). Database version 11g.
3). Rcu
4). Weblogic server10.3.6
5). Soa 11.1.1.6 version

Step 1).





step:2) Database11g Installation

 Step 3).RCU Creation

Here click on Ignore Button
And select required components,Like below

 



























Monday 7 May 2012

Email Notification setup

Email Notification setup:-


Please see the this video for email notification setup's

Sunday 6 May 2012

What is Oracle AIA

Application Integration Architecture – a definition
  AIA   The foundation for Adaptive Business Solutions product offerings. AIA includes a service-oriented application architecture and standards-based enterprise business objects and services. Each component includes development and extension methodologies, implementation best practices, and infrastructure extensions required to support the delivery of Oracle’s Process Integration Packs as prepackaged, upgradeable, and supported application product offerings.






Application Integration Architecture Components 


Industry Reference Models

-Documented best-practice processes

-Pre-defined standards based enterprise business objects and services

-

Process Integration Packs



-Pre-built integrated orchestration flows – Example: Order to Cash (Siebel to E-Business Suite)
-Extensible enterprise business objects and services associated with Oracle Applications
-Methodology for building and extending Process Integration Packs and Industry Reference Models
-Combination of Oracle Fusion Middleware, common object /service definitions, best practice designs, extension methodologies and life cycle management tool add-ons  

AIA Terminology:-

-Enterprise Business Service (EBS)‏

These are application-agnostic web services that are used by calling applications to interface with different applications. This helps the cross-application processes to be participating-application unaware. The EBM containing the canonical object is the payload of the enterprise service and contains business-specific messages.

-Enterprise Business Object (EBO)‏

A standard business data object definition used in the canonical data model. Enterprise business objects contain components that satisfy the requirements of business objects from participating application data models.
-Enterprise Business Message (EBM)‏

The EBM is the payload that is paired to an EBS. The response returned by the EBS will also be an EBM.

-Enterprise Business Flow (EBF)‏

A cross-functional BPEL flow is used to coordinate the flow of a single EBS operation that is complex, potentially long-lived, and spans multiple services. These flows only interact with EBSs to keep them agnostic of participating applications.

-Application Business Connector Service (ABC Service)‏

     The name for APIs developed to transform application business objects into enterprise business objects, and vice versa. Components of this service include the ABC implementation service and the ABC interface service.

 “Order to Fulfillment”
What is an EBO…
1).  Common Object definition of  business concepts such as a customer, a sales order, a payment etc
 2)Defined using inputs from multiple applications and content   standards
3).  Precise definition of each business component and attribute by adoption of standards for both content as well as naming and design
4) Designed for extensibility





Why EBO …
            •         Standard Services require standard payloads to be truly         
                      application independent

-EBOs are standardized representations of business objects that will serve as the payload (input or output) for standard services
-EBOs are based on standards published by international standards organizations
UN/CEFACT Core Components Technical Specification (CCTS)
Open Applications Group Integration Specification (OAGIS)


ØEliminates Point to Point Duplication- 
      P2P works when connecting two systems but requires a complete re-implementation when you introduce a second service provider / requester


ØSupports One to Many Model
     For Integrations that map one service request to many service providers (or vice versa), EBOs allow re-use of initial implementation and reduces overall number of transformation maps to generate


ØHot Pluggable- 
       Common Objects abstracts application service providers from service requesters and centralizes routing and mediation which allows any application to plug into the integrated process flow


ØStandards Based Content to drive Interoperability- 
EBOs are based on OAG content and rationalized against Oracle Applications for the most common A2A and B2B integration use cases


Enterprise Business Object (EBO)‏

Logical Model Representation
UML Class Diagram
ISO 11179 Compliant
CCTS Support
Core Common Model
Common Attribute Validation
Common Enterprise Services
Leverage OAG as base
Rationalized against Oracle Apps
Reconciled against Fusion Apps
Versioning SupportBackward and Forward Compatibility


What is Enterprise Business Service?
Standardized Service definitions across applications

Standard service definitions that are implemented by all Oracle applications
-A single service supporting multiple operations – e.g. SalesOrder Service may support Create, Cancel, Update Operations
-Each operation will use application independent data structures as standard input and/ or output
-Multiple applications may provide the same service e.g. E-Business Suite (EbizS), Siebel, Enterprise and E1 can support Create Sales Order
-Objective is to be able to switch the service provider without affecting the service e.g. switch from EbizS or E1 to Fusion (or any other partner applications that provide the same service

Enterprise Business Services:-



Service Types:-



Entity Services
-Each of the Enterprise Business Object will have a service
-Common Enterprise Business Services:
Item
Invoice
SalesOrder
-Entity Services will have following types of operations
CRUD Operations
Custom Actions
Bulk Processing
Process Services
-Business Processes  will have their own services
SalesOrderOrchestration
                      PriceDropOrchestration


Enterprise Business Flow – An Example


Application Business Connector Service:-

Facilitates the exposing of core business transactions as well as data access as web services
Serves as a glue  to integrate applications with Enterprise business services
Allows for participating applications to become service providers as well as service consumers without disruption to code
Allows for applications having non standard connectivity to expose their functionality as services

AIA Integration Scenario – End-to-End Flow