Search Results


Saturday, March 08, 2008

Oracle Applications

Oracle Applications


Hi All,

I have created this blog to share my knowledge in Oracle Applications. Please post your comments and suggestions.


Articles in OA Framework

  1. How to start with OAF Development?
  2. How to Deploy OA Framework Files
  3. How to Call a Concurrent Program from OA framework
  4. How to Call a PL/SQL block from OA framework
  5. What is the difference between ADF and OAF?
  6. How to hide mandatory a field filed in OAF?
  7. How to edit OA footer region?
  8. Can I leave System.out.println or System.err.println in the production code?
  9. How to debug VO, LOV and Poplist queries ?
  10. How to do logging in Oracle Applications?


Articles in Oracle Applications

  1. How to gather SQL trace in OAF and other Oracle apps technologies?
  2. What is Oracle Open Interfaces or Interfaces and conversions?
  3. What are the standard documentations needed for Oracle Apps Implementation?
  4. What are General Ledger Interface Tables?


Articles in SOA

  1. How to create Advanced Queue in Database?
  2. How to query the BPEL TreeFinder data from the dehyderation database?



...to be Continued

35 comments :

Anonymous said...

Hi,

I am looking for the official documentaion for OAF - user / developer guide for Rel12.

I simply cant find it - whatever search guide I type in it gives ms things on ADF, but I need OAF.

Would You be able to deliver a set of links on the best oracle documents to start out with REL12 OAF development in JDeveloper

Pras said...

Hi,

OAF documentation is available in the jdevDoc folder of the jdeveloper.

Please note: You have to download the "jdeveloper with OAExtension" from the metalink.

--Prasanna

Anonymous said...

Prasanna,

Many thanks for the wonderful articles.

I 've downloaded the new version of Jdeveloper 10g for R12.0.0 but it doesn't contain the dbc file.

Can you please post a sample file and then I can make the necessary changes.

Regards
Mahadev

Pras said...

dbc file contains the information about the Oracle Apps server and database connection.
Hence you need to get this file from the apps server.
Check with your DBA to get this file.

--Prasanna

Mahadev said...

Prasanna,

Thanks for your prompt reply
a)Basically it is a local installation on my laptop and I could trace the DBC file in a directory there. The connection is working now.

b)On this installation I get error like SECURITY_APPL_LOGIN_FAILED when I try simple program like Hello world. Any reason that you could remember from the top of your head. I've tried searching on Metalink but no progress. Any hints would be of great help.

Pras said...

http://prasanna-adf.blogspot.com/2008/11/new-to-oaf.html

read this blog. It would help you.

dbc file won't be there in local jdeveloper. And you can't test the page without a server.

Oracle apps server(120 GB in size) should be installed in your local machine or you need a network connection to the existing oracle apps server.

--Prasanna

Shivdeep Singh said...

dear prassana,

i want to know whether we can change the text message of the WarnAboutChanges pop up or not.

i.e this message -:

" The Changes made to the page have not been saved. If you continue the changes will be discarded.Do you wish to continue?? "

as per our requiement we need the message as follows(change discarded by saved)

The Changes made to the page have not been saved. If you continue the changes will be saved. Do you wish to continue??

kindly help in this.

regards and thanks
Shivdeep Singh

Pras said...

This is a standard message from OA framework.

You can't change it..


--Prasanna

Unknown said...

Hi Prasanna,
I am new to OA Framework. Did lot of personalization to the iSupplier Portal page as per user requirement. Created some new pages which are linked via the Account tab on iSupplier portal. trying to create a report for the user based on the custom report and have added a tab for that report to be executed. If I create a simple query page/region giving the date as selective criteria, it works perfect but i am trying to create two regions one with the items From Date and To Date and a g GO button and the second region which would display the data based on the dates selected. I have created the CO for the page which is calling the AM passing the parameters and then the AM calling the initQuery defined in the VO. but everytime it gives me No Data Found message. I do not know whether the parameters are being passed properly. When I click on the About This Page link, i can see the where clause as DATE >= :1 and DATE <=:2 but no data when I know the data is there.
Please help me on this.

Pras said...

Hi Archana,
Looks like parameters are not passed from the controller. You need to debug the controller and AM to find out the problem.

Check if the controller is fetching the value from the UI.
And if the values are received in AM correctly. etc.

if your jdeveloper is fast enough use the debugging feature in the jdeveloper or you can simply use system.out.println() in controller and application modules to find out what and where its going wrong.

--Prasanna

Unknown said...

Hi Prasanna,
Thanks for the quick response. I did the debug in jDev and till the VO initQuery my parameters are being passed, but somehow the data is not being populated. i do not know if i can post my code on the blog or not but let me know if I can put my code somewhere and you can take a look at the same.
Also on the isupplier portal, how can i remove the menu from the page footer. i could remove the Copyright link and other links easily but the menu.
Thanks.

Pras said...

Post your code in the blog itself.
I'll review it.

dont post the whole file, just post the piece of code that is setting the values.

--Prasanna

Unknown said...

Hi Prasanna,
I think talking to gurus like you make your mind start working. well my parameters are working now. I changed the VO query and put the the bind variables in the where clause and in VO initQuery am setting the parameters.
Now another question. How do I pass the user id as the parameters so that the invoices pertaining to that user only gets picked up in the query. I am giving the following statement in my VO query.
AND dtl.process_date >= :1
AND dtl.process_date <= :2
AND BNiSupplierEO.VENDOR_ID = (SELECT NUMBER_VALUE FROM AK_WEB_USER_SEC_ATTR_VALUES
WHERE WEB_USER_ID = :3 AND attribute_code = 'ICX_SUPPLIER_ORG_ID' AND attribute_application_id = 177)"
I need to pass that user ID in the bind variable :3.
Thanks in advance.

Pras said...

user_id = TO_NUMBER(FND_PROFILE.VALUE('USER_ID'))

use above condition in where clause

--Prasanna

Unknown said...

Thanks Prasanna,
That worked for me.

Unknown said...

Prasanna,
Now two things left:
one how to remove the menu from the footer and second how can we append a '$' sign before the value in the 'Price' field.

Unknown said...

Hi Prasanna,
I am sorry to bother you again with my questions but I did find something to format the number OANLSServices.formatCurrency but when i run my page it gives me error 'Null pointer exception".
Thanks in advance.

Pras said...

try this

import oracle.cabo.ui.validate.Formatter;
import oracle.apps.fnd.framework.webui.OADecimalValidater;

Formatter formatter = new OADecimalValidater("#,##0.00;(#,##0.00)","#,##0.00;(#,##0.00)");
bean.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);


--Prasanna

Unknown said...

Hi Prasanna,
I added the code provided by you and it gives me error:
Error(44,24): variable ON_SUBMIT_VALIDATER_ATTR not found in class bn.oracle.apps.xxbn.isupplier.server.BNSalesReportVOImpl
AND
Error(44,1): variable bean not found in class bn.oracle.apps.xxbn.isupplier.server.BNSalesReportVOImpl

Unknown said...

Hi again,
I was able to compile the project but when i run the page I am getting the null exception error again.
java.lang.NullPointerException
at bn.oracle.apps.xxbn.isupplier.webui.eBookReportCO.processFormRequest(eBookReportCO.java:84)

Unknown said...

OK,
I think i know why am i getting null exception. i have created a page layout with two regions one search and one result. in the search region i have two items from date and to date and a go button. when the go button is pressed the date parameters are passed to the AM and then to the VO and data is retrieved. so my result region has null values in the beginning and i am adding my code to the CO of the page. so null exception error. so if i try to give the code in the VOImpl class it does not build the class and errors out. So where do you think my code should go. do i have to do PPR?

Pras said...

You will not get null pointer exception when there is no data.

If you can't acheive the result then use to_chat() in your sql query to format the number. its a easy solution.

--Prasanna

Unknown said...

Hi Prasanna,
I think that was the best and the easiest solution.
Thanks for all the help.

Anonymous said...

Hi Prasanna, I am in Isupplier portal : PO details page
On - /oracle/apps/pos/changeorder/webui/PosViewPOPG , I extended ViewOrderPGCO.
All the items in PO, which have bill of material are made as hyper links and clicking on them pops up a window with bill of mateiral displayed.

All worked fine untill I opened Blanket PO, there is an item which should be displayed as link, but its static. so I put SOPs in extended controller after each line, and to my consternation it does not print any SOP.

Blanket POs in isupplier portal have hyphens in PO Number. Has anyone faced this problem ? why is the extension not reflecting in case of blanket po ? What am i missing ?

can you help. Thanks.

Always Learner said...

Hi Prasanna,

This is zaheer and iam new to OAF.
I did controller extensions it is working fine in that specific page, but not in some other page.
Let me explain you clearly my requirement.

I have page say notifications, when i click this it opens many notifications, when i click on any notifications it displays me details about that, in that page i have two link buttons say Item Details and Item Request, when i click directly on Item Request it it showing me null pointer exception, but when i click on Item Detail and then when i click on Item request it is working fine.

Please help me on this.

Regards
Zaheer

Always Learner said...

package oracle.apps.eng.changemgmt.webui;

import java.sql.*;
import oracle.apps.ego.item.eu.util.EgoItemContext;
import oracle.apps.ego.item.eu.util.EgoOrganizationContext;
import oracle.apps.eng.changemgmt.util.webui.EngChangeUtil;
import oracle.apps.fnd.framework.OAApplicationModule;
import oracle.apps.fnd.framework.server.OADBTransaction;
import oracle.apps.fnd.framework.webui.OAPageContext;
import oracle.apps.fnd.framework.webui.beans.OAFormattedTextBean;
import oracle.apps.fnd.framework.webui.beans.OAWebBean;
import oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean;

// Referenced classes of package oracle.apps.eng.changemgmt.webui:
// ChangeDetailPageCO

public class XXNRChangeDetailPageEXTCO extends ChangeDetailPageCO
{

public XXNRChangeDetailPageEXTCO()
{
}

public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
{
super.processRequest(oapagecontext, oawebbean);
XXNRchangeDetailIncontext(oapagecontext, oawebbean);
}

public void XXNRchangeDetailIncontext(OAPageContext oapagecontext, OAWebBean oawebbean)
{
byte byte0 = 2;
byte byte1 = 3;
EgoItemContext egoitemcontext = EgoItemContext.getItemContextObject(oapagecontext);
OAApplicationModule oaapplicationmodule = oapagecontext.getApplicationModule(oawebbean);
EgoOrganizationContext egoorganizationcontext = EgoOrganizationContext.getOrganizationContextObject(oapagecontext);
int i = egoitemcontext.getItemId();
int j = egoorganizationcontext.getOrganizationId();
StringBuffer stringbuffer = new StringBuffer();
String s = EngChangeUtil.getItemPageContextFlag(oapagecontext);
OAPageLayoutBean oapagelayoutbean = oapagecontext.getPageLayoutBean();
String s1 = XXNRgetManufactuer(oaapplicationmodule, i, j);
String s2 = null;
String s3 = "";
String s4 = EngChangeUtil.getChangeNumber(oapagecontext) == null ? "" : EngChangeUtil.getChangeNumber(oapagecontext);
if(EngChangeUtil.getChangeName(oapagecontext) != null)
{
EngChangeUtil.getChangeName(oapagecontext);
}
if(EngChangeUtil.getItemNumber(oapagecontext) != null)
{
EngChangeUtil.getItemNumber(oapagecontext);
}
String s5 = EngChangeUtil.getOrgCodeContext(oapagecontext) == null ? "" : EngChangeUtil.getOrgCodeContext(oapagecontext);
String s6 = EngChangeUtil.getOrgNameContext(oapagecontext) == null ? "" : EngChangeUtil.getOrgNameContext(oapagecontext);
String s7 = EngChangeUtil.getOrgIdContext(oapagecontext) == null ? "" : EngChangeUtil.getOrgIdContext(oapagecontext);
if(!"Y".equals(s))
{
if(s4 != null && !s4.trim().equals(""))
{
s2 = "NORMAL";
s3 = (new StringBuilder()).append("").append(EngChangeUtil.getOriginalChangeMgmtTypeName(oapagecontext)).append(": ").append(s4).append("").toString();
} else
{
s2 = "CREATE";
}
}
String s8 = (new StringBuilder()).append("").append(oapagecontext.getMessage("ENG", "ENG_ORGANIZATION_TEXT", null)).append(": ").append(s6).append(" (").append(s5).append(")").toString();
if(!"-1".equals(s7) && !"".equals(s5) && !"Y".equals(s))
{
if(s2 != null && !s2.equals("CREATE"))
{
stringbuffer.append((new StringBuilder()).append(s3).append("
").toString());
}

Always Learner said...

Hi prasanna,

I posted my entire code in oracle forums pls check if u need further.

Regards
Zaheer

Unknown said...

Can you help me on this please :

I have the following :
Adv table > (Visual Width 100%)
Col1 > (visual width - empty)
msgtextinput1 > (Visual Length- 100)
Col2 > (visual width - empty)
msgtextinput2 > (Visual Length- 100)
Col3 > (visual width - empty)
msgstyletext > (Visual Length- 10)


msg text input can take upto 1000 chars in table. When I put a long senetnce in this field, it stretches the whole page horizontally.

How can I fix the width of the column, and the long input text gets wrapped ?

Even if I remove the visual length of individual col...it doesnt work.
thanks

Unknown said...

Hi Prasanna,

I have a question regarding the DFF personalization. I have created a DFF item on my OAF page. But i am facing a wiered problem of not able to view the personalization. I have nmentioned the steps i foolowed to create the DFF item and the problem i am facing. Please help me out in resolving this issue.

Here are the steps i followed
1)Create “Flex” Item at Location Level in the “Other” section on the Hire and Rehire: Person Details page (Hire & Rehire responsibility)

2)Return to Application and check that the field is being displayed correctly:

3)Cancel the Hire & Rehire transaction.
Begin a new Hire & Rehire transaction
Enter Basic Details
Continue to the next page (Rehire: Person Details)
Note that the field is NOT displayed

4)If I were to click “Personalize Page”, then do nothing and click “Return to Application”, the field is then displayed


Thanks
Prashanth

Unknown said...

Hai Prasanna

i have email fiels is there in my creation page.i have to validate the email while saving the transaction.how to handle the email validation.

i am using the regular expression.in some cases it is not working.
public static void infoemailvalid(String email)
{
boolean isValid = false;
//Initialize reg ex for email.
String expression =
"^[\\w\\-]([\\.\\w])+[\\w]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";
int count=email.indexOf("_@");
System.out.println("The count is......"+count);
CharSequence inputStr = email;
//Make the comparison case-insensitive.
Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches())
{
isValid = true;
}
}

Regards
Sreekanth

suresh said...

Hi Prasanna,

I am trying to Extend a VO and it seems I have completed the steps needed to do that but when I use the JPXImporter, it always imports the Original VO and not the Substituted VO.

Can you please advise what I could be doing wrong?

Thanks!
Suresh

vidya said...

Hi Prassanna ,

our requiremnt is to migrate 11i code to R12 instance...
so we..
1.places .classes jar file to JAVA_TOP
2. Imported the PG's and RN's.
3. we used SOAP custom jar files for our webservices in our project so we placed it in Orion_application.xml file.

After Apache bounce....we are not getting correct response from our webservice

can u please suggest me if im missing something else...

Neetu said...

Many thanks to you Prasanna for making such a nice blog. I have followed so many of your articles to learn concepts in which I was facing trouble but from your provided explanation all my doubts were easily cleared.
sap pp

Surajita said...

I am getting the following error.
I have imported the below pck in AM file.Kindly help here.I am in bit urgent.

import oracle.cabo.ui.validate.Formatter;
import oracle.apps.fnd.framework.webui.OADecimalValidater;
import oracle.apps.fnd.framework.webui.OADecimalValidater;
import oracle.apps.fnd.framework.webui.beans.table.OATotalRowBean;

Error(830,20): variable ON_SUBMIT_VALIDATER_ATTR not found in class oracle.apps.xxpbgc.invoiceauto.server.xxpbgcInvoiceAutoAMImpl

Surajita said...

Link to the above question.
This is code I am using for formatting in Application Module in Jdeveloper:

Formatter formatter = new OADecimalValidater("#,##0.00;(#,##0.00)","#,##0.00;(#,##0.00)");
rowi.setAttribute(ON_SUBMIT_VALIDATER_ATTR, formatter);