[OA Framework] findIndexedChildRecursive, findChildRecursive ใช้ต่างกันอย่างไร

findIndexedChildRecursive หรือ
public OAWebBean findIndexedChildRecursive(String name)
ใช้สำหรับค้นหา component ด้วย index จาก child/grandchild ด้วยการระบุชื่อ
findChildRecursive หรือ
public OAWebBean findChildRecursive(String name)
ใช้สำหรับค้นหา component ทั้ง Index และ Name จาก child/grandchild ด้วยการระบุชื่อ
ทั้งสอง method จะคืนค่า null หากไม่พบ component ตรงกับชื่อที่ต้องการค้นหา
ปล. หากเราไม่แน่ใจว่าชื่อที่เราต้องการค้นหาเป็น Index หรือ Name ของ component ขอแนะนำให้ใช้ findChildRecursive ในการค้นหาครับ เพราะจะค้นหาทั้ง index และ name
Advertisements
[OA Framework] findIndexedChildRecursive, findChildRecursive ใช้ต่างกันอย่างไร

[OA Framework] findIndexedChildRecursive, findChildRecursive ใช้ต่างกันอย่างไร

findIndexedChildRecursive หรือ
public OAWebBean findIndexedChildRecursive(String name)

ใช้สำหรับค้นหา component ด้วย index จาก child/grandchild ด้วยการระบุชื่อ

findChildRecursive หรือ
public OAWebBean findChildRecursive(String name)

ใช้สำหรับค้นหา component ทั้ง Index และ Name จาก child/grandchild ด้วยการระบุชื่อ

ทั้งสอง method จะคืนค่า null หากไม่พบ component ตรงกับชื่อที่ต้องการค้นหา

ปล. หากเราไม่แน่ใจว่าชื่อที่เราต้องการค้นหาเป็น Index หรือ Name ของ component ขอแนะนำให้ใช้ findChildRecursive ในการค้นหาครับ เพราะจะค้นหาทั้ง index และ name

Credit: http://www.betterdevelopers.com/article/45347312/Use+of+findChildRecursive,+findIndexedChildRecursive,+findIndexedChild

[OA Framework] findIndexedChildRecursive, findChildRecursive ใช้ต่างกันอย่างไร

OAF: วิธีการใส่ Format ให้กลับจำนวนเงิน

เจอปัญหาในการใส่ Format ให้กับจำนวนเงิน สำหรับ Total Row ใน OAAdvancedTable

OAAdvancedTable
Id: showDetailTb

Id: column1
Total Value: True

Id: TrxAmount
View Attribute: TrxAmount

ถึงเราจะใส่ Format ให้กับ OAMessagedStyledTextBean id TrxAmount
Formatter formatter = new OADecimalValidater("#,###,###,##0.00;(#,###,###,##0.00)", 
                                             "#,###,###,##0.00;(#,###,###,##0.00)");

OAAdvancedTableBean adTable = (OAAdvancedTableBean) 
webBean.findChildRecursive("showDetailTb");

OAMessageStyledTextBean trxAmountTotal = (OAMessageStyledTextBean) 
adTable.findChildRecursive("TrxAmount");
trxAmountTotal.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);

แต่จำนวน Total ก็ยังไม่อยู่ในรูป Format

หลังจากลองผิดลองถูก เข้าไป set format ในเกือบทุก objects ที่อยู่ภายใต้ OAAdvancedTable ก็ได้เข้าใจว่าถ้าต้องการให้เลขใน TotalRow อยู่ในรูปแบบที่จัด Format แล้วเราต้องไปตั้งค่าที่ …

เราต้องไปตั้งค่าในส่วนของ Column ที่จะแสดง ค่า Total ซึ่งในตัวอย่างนี้คือ column1

Formatter formatter = new OADecimalValidater("#,###,###,##0.00;(#,###,###,##0.00)", "#,###,###,##0.00;(#,###,###,##0.00)");

OAAdvancedTableBean adTable = (OAAdvancedTableBean) webBean.findChildRecursive("showDetailTb");

OAMessageStyledTextBean trxAmountTotal = (OAMessageStyledTextBean) adTable.findChildRecursive("TrxAmount");
trxAmountTotal.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);

OAColumnBean column1 = (OAColumnBean) adTable.findChildRecursive("column1");
if (column1 != null)
{
column1.setAttributeValue(CURRENCY_CODE, "USD");
column1.setAttributeValue(ON_SUBMIT_VALIDATER_ATTR, formatter);
}

เมื่อ Set format ให้กับ column1 แล้ว Total Row จะอยู่ในรูปของตัวเลขที่ Format เรียบร้อย

OAF: วิธีการใส่ Format ให้กลับจำนวนเงิน

วิธีการดึงค่าจาก OAMessageLovInputBean

โดยปกติแล้วเราสามารถดึงค่าจาก OAMessageTextInputBean ด้วยการเรียกเมธอด getParameter(“String id”);

แต่สำหรับ text box ที่เป็น List of Values เรามีวิธีดึงค่าใน OAMessageLovInputBean ได้อีกวิธีคือ

 

/*

* import OAMessageLovInputBean

*/import oracle.apps.fnd.framework.webui.beans.message.OAMessageLovInputBean;

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

public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
super.processFormRequest(pageContext, webBean);
OAMessageLovInputBean lovInput = (OAMessageLovInputBean) webBean.findIndexedChildRecursive(“username”);
String username = (String) lovInput.getValue(pageContext).toString();
System.out.println(“Username : “+username);
}

 

เมื่อดึงค่าออกมาเป็น String ได้แล้วเราก็สามารถนำตัวแปรชนิด String ไปใช้งานต่อได้

วิธีการดึงค่าจาก OAMessageLovInputBean

How to set default browser when run or debug jDeveloper

Today, I will show you how to setup default browser when we ran application in jdeveloper.

Normally, when you run or debug web application in jdeveloper the browser will open up and it is chosen by Operating System. If you don’t like the browser. Can you changing it ?

Of course, you can changing to other browser which installed on your computer. It’s very easy.

I will show you step by step.

Step to change default browser in jdeveloper.

Step 1. run jdeveloper.

Step 2. select tools > preferences

Continue reading “How to set default browser when run or debug jDeveloper”

How to set default browser when run or debug jDeveloper

How to set default browser when run or debug jDeveloper

Today, I will show you how to setup default browser when we run application in jdeveloper.

Normally, when you run or debug web application in jdeveloper the browser will open up and it is chosen by Operating System. If you don’t like the browser. Can you changing it ?
Of course, you can change to other browser which installed on your computer. It’s very easy.
I will show you step by step.

Step to change default browser in jdeveloper.
Step 1. run jdeveloper.
Step 2. select tools > preferences


Step 3. Navigate to “Web Browser and Proxy”
Step 4. Change value in Browser Command Line to path of browser that you want to set as default.

Step 5. click OK to save your setup.

Completely,

How to set default browser when run or debug jDeveloper

Populate current date use getCurrentDBDate()


SimpleAMImpl am = (SimpleAMImpl) pageContext.getApplicationModule(webBean);
SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss.S”);
SimpleDateFormat formatDate = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
oracle.jbo.domain.Date convertDate = applicationModule.getOADBTransaction().getCurrentDBDate();
java.util.Date date = format.parse(convertDate.toString());
String convStr = formatDate.format(date);
System.out.println(“Date from database: ”+convertDate.toString());
System.out.println(“java.util.Date: “+date.toString());
System.out.println(“String date: “+convStr);

ขอแปะ code ไว้ก่อนแล้วจะมาอธิบายนะครับ

Populate current date use getCurrentDBDate()