How to set Currency Format on TotalRow in OAAdvancedTable

เจอปัญหาในการใส่ 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 แล้วเราต้องไปตั้งค่าที่ …

Continue reading “How to set Currency Format on TotalRow in OAAdvancedTable”

Advertisements
How to set Currency Format on TotalRow in OAAdvancedTable

Convert JAVA String to Date

    วันนี้ต้องเขียนโปรแกรมโดยรับ Parameter ประเภท Date จากหน้าจอมาในรูบแบบ String จำนวน 2 ตัวแปร จากนั้นนำมาหาผลต่างของทั้งสองค่า

วันนี้เลยขอเขียนเกี่ยวกับการ Convert JAVA String to Date

สิ่งที่ควรทำความเข้าใจ
java.lang.Object 
java.util.Date
java.lang.String
* java.text.SimpleDateFormat

ตัวอย่างการแปลง String -> Date


SimpleDateFormat formatter = new SimpleDateFormat(“dd-MMM-yyyy”);
String string = “17-Sep-2014”;
Date date = formatter.parse(string);
System.out.println(“Date: “+date);

ตัวอย่างการหาค่าต่างของจำนวนวัน 2 ค่า


String starDateStr = “01-Oct-2014”;

String endDateStr = “31-Oct-2014”;
SimpleDateFormat formatter = new SimpleDateFormat(“dd-MMM-yyyy”);
try
{
    Date startDate = formatter.parse(startDateStr);
    Date endDate = formatter.parse(endDtaeStr);
   
System.out.println(“Start Date: ” + startDate);
   
System.out.println(“End Date: ” + endDate);

    long t1 = startDate.getTime();
    long t2 = endDate.getTime();
    long diffTime = t2 – t1;
    System.out.println(“Time diff: ” + diffTime);
 

    long diffDay = diffTime / (1000 * 60 * 60 * 24);
   
System.out.println(“Days diff: ” + diffDay);
}catch(ParseException e){
    e.printStackTrace();
}


Credit:: http://stackoverflow.com/questions/4216745/java-string-to-date-conversion

Convert JAVA String to Date

วิธีการเปรียบเทียบตัวแปรวันที่ใน JAVA (Date comparison)

โดยปรกติเราสามารถเปรียบเทียบค่ามากกว่าน้อยกว่าของตัวเลข ด้วยเครื่องหมาย

“<" น้อยกว่า
“>” มากกว่า
“=” เท่ากับ

แต่ เมื่อต้องการเปรีบบเทียบตัวแปรประเภท วันที่ (Date) ไม่ว่าจะเป็น java.util.Date ro oracle.jbo.domain.Date ตัวแปรทั้งสองจะไม่ยอมให้ใช้เครื่องหมายดังกล่าวในการเปรียบเทียบ

… แล้วจะทำยังไงล่ะ ถ้าเราต้องการรู้ว่า xinputDate มากกว่า หรือน้อยกว่า todayDate

จะขออธิบายแบ่งเป็น 2 กรณี
กรณีที่ 1 java.util.Date
กรณีที่ 2 oracle.jbo.domain.Date

java.util.Date
ตัวแปร Date ของ Java จะมี method ให้เรียกใช้เพื่อเปรียบเทียบอยู่สำคัญๆ ดังนี้
after
before
compareTo
equals

oracle.jbo.domain.Date
compareTo
equals

ในบทความนี้จะขออธิบาย method compareTo เนื่องจากสามารถปรับใช้ได้ และมีประโยชน์อย่างมาก
การเปรีบเทียบตัวแปรวันที่ 2 ตัวแปร ทำได้โดย

public class Main {                                                     
public static void main(String args[])                                  
{                                                                      
Date todayDate=new Date();                                                
Date xinputDate=new Date(todayDate.getYear(),todayDate.getMonth()-1,todayDate.getDay());
if(todayDate.compareTo(xinputDate)<0)                                
     System.out.println(“Today Date มีค่าน้อยกว่า xinputDate”);
  else if(todayDate.compareTo(xinputDate)>0)                         
     System.out.println(“Today Date มีค่ามากกว่า xinputDate”);
  else                                                       
     System.out.println(“TodayDate และ xinputDate มีค่าเท่ากัน”);             
  }                                                          
}

thanks
http://stackoverflow.com/a/15925758/3386155
http://docs.oracle.com/cd/E21043_01/apirefs.1111/e10655/oracle/jbo/domain/Date.html
http://docs.oracle.com/javase/6/docs/api/java/util/Date.html

วิธีการเปรียบเทียบตัวแปรวันที่ใน JAVA (Date comparison)

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()

populate current date from getCurrentDBDate() #OAF

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 = am.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);

ไว้จะมาอธิบายเรื่อง SimpleDateFormat อีกทีนะครับ
สามารถอ่านก่อนได้จาก http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

populate current date from getCurrentDBDate() #OAF

วิธีการติดตั้ง PyDev สำหรับ eclipse

วิธีการติดตั้งผ่านอินเตอร์เน็ตโดยการติดตั้ง PyDev Extensions โดยการใช้ Eclipse Update Manager

ขั้นตอนการติดตั้ง

  1. เลือกเมนู Help > Install New Software
    Image
  2. จากนั้นจะมีหน้าต่าง Available Software ในช่อง Work with ให้เลือกปุ่ม Add  Image
  3. ช่อง Name: ให้ใส่ชื่อ PyDev หรือ PyDev and Pydev Extensions
  4. ช่อง Location: http://pydev.org/updates กด OK
    Image
  5. จากนั้นจะแสดงรายการให้เราเลือกว่าเราต้องการติดตั้ง
  6. เราก็เลือกรายการที่ต้องการติดตั้งจากนั้นกดปุ่ม Next
    Image
  7. จากนั้นจะแสดง Review Licenses ให้เลือก I accept … จากนั้นกดปุ่ม Finish
    Image
  8. ที่เหลือก็รอโหลดจนติดตั้งเสร็จ eclipse จะถามว่าต้องการให้ restart program eclipse หรือไม่
  9. ตอบ Yes ก็ได้ครับหากไม่ได้ทำงานค้างอยู่
  10. เรียบร้อยครับ สามารถตรวจสอบได้โดยการสร้างโปรเจคใหม่ของ PyDev ขึ้นมImage
วิธีการติดตั้ง PyDev สำหรับ eclipse

Changing the Java compiler version for a Java EE project in eclipse

You can change the version of Java used in Java EE project by changing the value of the Java facet.

The Java facet applies only to J2EE projects. To set Java Compiler level of a non-Java EE project, such as a Java project, see Java Compiler

Step to changing Java Compiler version.

  1. In the Project Explorer view of Java EE perspective, right-click the project and select Properties.

  2. Select the Project Facets page in the Properties window. This page lists the facets in the project and their verions.
  3. Click Modify project.
  4. Double click the version number next to the Java facets to select a different level of Java compiler.
  5. Click Finish to close the Modify Faceted Project window and then click OK.
Changing the Java compiler version for a Java EE project in eclipse