Search over 500+ Posts

Oct 31, 2009

Can we have ATO Model in Sales Order Without BOM

Recently I found a google hit , that ask the question , Can we have ATO Model in Sales Order Without BOM.
Answer is NO , NOT at all.

BOM(Bill of material) is the place where we built the structure of our Model like
Option Class
Options
Finished goods etc

In case someone want to create a Sales Order for Model and don't want to Generate the Work order in WIP (Reason - Configuration already exists) , in that case they have to look for BOM profile options that look for the existing Stock before creating the WorkOrder in WIP.

For Complete Flow from SO to WIP , refer my existing blog http://eoracleapps.blogspot.com/2009/05/in-this-blog-i-will-explain-what-are.html

Oct 22, 2009

How to get complete Techniacal details of a Applications(Module)

Oracle Application has shipped a standard concurrent Program "Diagnostic Apps check" concurrent Program.
This Concurrent program take application name like (Order Management, Bill of Material, Account Receivable etc) as parameter and PRINTS the complete details about that Application (Module) like

1.All tables included custom if created in that instance
2.All triggers/Indexex
3.All Packages including custom also print the standard package file name along with the version.
4.All Profile options.

This is very interested and useful package if you want to see what all objects are associated with a particular Module.

Oct 20, 2009

Drop Ship Order Stuck in Awaiting Receipt Status

Many a times Drop Ship Order stuck with the status Awaiting receipt and when you try to do the receiving it throws error "rvtpcontrol failed Receiving Transaction failed because the status of this drop-ship transaction's backing Sales Order lines is non-updateable"






In such case try to check the shipped_quantity field on oe_order_lines_all table.If the value is > 0 then that is cause of this Error.

Please note that in case of drop ship sales Order , shipped quantity is populated at the tim eof receiving goods in the virtual inventory.

Oracle Workflow background Process

Here I will provide some more insight on Oracle Workflow background process from the prospect of Order Management.


Workflow background process is very interesting concurrent program. This program is designed to process the workflow, which is in DEFERRED status.
Most of the time this concurrent program is executed in scheduled manner says 5 , 10, 15 and a required minutes.
Customer should not stop executing this program if they have workflow which as DEFERRED activity in the workflow. Because doing will results in of hundred or thousands (depend on business 2 business) of records STUCK in deferred status and once you resume execution of this process again it will really take time to clear the backlog and that might really affect/impact your business.
In case there is some issue with this process you should act immediately.


Many a time this type of situation is unavoidable and you have to end up with killing this concurrent program and no running it for hours and days. Now how to handle the backlog once you start executing this process, best and safe option is to increase the # of threads of this concurrent program to 3-5 and be little patient. If you have large amount of inflow of the data which then clearing of backlog is really very painful, but you have to be patient, because there are only few shortcuts available and they are not safe.


Running multiple threads of this program may result in LOCKING issue, usually it happened if you have > 4 threads, so safe bet is 4 threads, but if required increase the threads.
# of threads doesn’t matter if you have only STANDARD item , in that case you can start 5-6 threads , but if you have Model/Fulfillment set then locking issue do occurred (please note that locking will be resolved very much by this process).if system will not be able to lock the model/fulfillment set then they mark the record as DEFERRED and start processing the next record

Oct 17, 2009

What are the Differnt Line Status in B2B Order in Oracle Application.

In Oracle Application , when we Create B2B (back 2 back) Order Line, it’s inital status is
ENTERED.
Once we book it become PO_REQ_REQUESTED.
On execution of Requisition Import , it will be PO_REQ_CREATED.
On execution of Auto Create , once PO created and approve , it become PO_CREATED.
Once we receive against PO , it become  
PO_RECEIVED and then  
Awaiting Shipping , Shipped & finally Closed.

IMPORTANT 
In R12 , Oracle has Introduced New flow Status code for B2B Orders.Below are the details of New Flow Sttaus code for B2B Orders in R12 On wards.


EXTERNAL_REQ_OPEN
EXTERNAL_REQ_PARTIAL
EXTERNAL_REQ_REQUESTED
PO_REQ_CREATED
PO_REQ_REQUESTED

How to Create a BPEL process to insert data in Oracle Table table.

In this blog I will explain with Simple example How to Create a BPEL process to insert data in table.

Step -1 # In my example I have table with 26 columns , and requirement is to Insert all 26 columsn manually.Please note that by default the for any BPEL process as only 1 inpit variable.

Step -2 #  To design input for BPEL process that take 26 argument , design the XML Schema document with 26 Element and make sure that datatype of elements is same as the type of the columns in table where you want to Insert.

Below is the  XSD I have created for ,y test case.




Step -3 # Once XSD created , Import the schema that we have created above into BPEL process , as shown below.



Step -4 # - BPEL Process is Request Message as well as response Message.Request Message will has inputput  with 1 argument (by default). Assign your XML schema that you have imported to Request Message as shown below.



 

Step -5 # - BPEL process receive activity.







Step -6 # - Drag Database Adapter and configure it to insert /update data into table (26 columns).


NOTE - In case you need additional info. on how to config database adaptor , please refer my earlier blog on same subject.


 

In step 7 I have config database adapter to insert data into table so_order_info.This table has 26 column.
Please note that in above steps , we have configure the Request Message also woth a message with 26 input variables.



Step -7 # -  Add  the Transform activity in your BPEL Process . With Transform activity will define Mapping.



Step -8 # - Config the Transform activity.



Step -9 # - Map the Request Message Type Variable with the Input Variable of the Invoke activity (Invoke activity will call the database adapter).


 

Step -10 # - Add a Dummy Assign activity .This activity print the Order # that we have inserted into the so_order_info table.


 

Step -11 # - Complete Process.



Step -12 # -Compile/Deply and Run the Process.


NOTE - In case you need additional info. on how to config database adaptor , please refer my earlier blog on same subject.

Oct 16, 2009

How to Select Data from Database table with BPEL flow.










































How to call PL/SQL Procedure from BPEL

This is a Simple blog where I explain
1.How to Create a DBAdaptor (Partner link) in BEPL to call a PL/SQL  procedure .
In case visibility is not clear , double click the screen Shot.

Lots of such examples available at www.oracle.com

Step -1  Create a BEPL Application in JDev11g.




 
Make Sure it is Synchronous template.
 


Step - 2
Drag Database Adapter and configure it.
 
Step 3
Select the Operation Type.
In my example it is "Call a Store Procedure/Function".
 
Step 4
Select the Procedure.

 

Step5
Drag Invoke activity in the BPEL flow and then Invoke the DB Adapter from it. 
 
Step 6
Our Process is ready , Now to make this BPEL flow work , I add to dummy Assign activity in the flow.
Assign_1 and Assign_2
Assign_1 - This will assign the input variable to Input variable of Invoke activity.

Assign_2 - This will assign the output variable of Invoke activity to output variable of BPEL Flow.

Why I called them as dummy activity , because I am not using values input to this process any where .
My example PL/SQL Procedure has one INSERT Clause that just Insert hardcoded values in table.

 

I/p variable for Invoke activity.
 

Step 7
Copy functionof ASSIGN_1 , it just copy input variable of BPEL process to Input variable of Invoke activity.

Step 8
Add Assign_2 and perform COOPY operation.
 

Step 9 - Complete Process
 
Step 10 - Deployment

 

Step 11 - Testing -1
 
Step 11 - Testing -2
 

Step 11 - Testing -3
 
Step 11 - Testing -4
 

Oct 14, 2009

How to design BPEL Process for a Simple Assign Activity.


#1
Select New Application, Provide Application Name, and Application Template. In My case
Application Name - BPEL Blogs and
Template               - SOA Application.




#2 Choose the Template



#3
Name BPEL Process and Select the Template as “Synchronous BPEL Process”.




#5
Jdev will create Default Process with ReceiveInput  and one ReplyOutput activities.









#6
Drag Assign activity in flow , as shown below .Assign activity used to Assign the value between variables. 



#7
Double click the Assign Activities to open the property of the assign activity. Select the Copy Operations tab.

Select the Copy Operations.In Copy Operations we can Copy value from Source to Destination.



#8
In my example we use “Expression” in from activity. In Expression, we concat the “Hello” string with the Input Variable.



















#9
As shown below we concat. the “Hello”
with the input value and then assign to output variable.
Assign the Input to Output variable.










#10
compile & Deploy in Weblogic.










#11
Enter the login/password for Application server.














#12
Login to Weblogic Server , locate your BEPL Process and Press Test




.
.






#13
In my example , I enter input as “eoracleapps” , and my BPEL process will concat “Hello” with it , as shown below.