18 July 2014

Print out table to excel file button

I use oracle JDeveloper 11g release1









Just click the button and the table will exported to excel.
This is nice...

16 June 2014

Oracle service crash and could not connect to database

Oou dear...
monday morning attack from oracle service that found crashed (dead).

I was just having my application demo and tested with my client/user on friday afternoon.
but when i want to start my job this monday morning, my apps could not connect to database.

the error description is ORA-00600.
Another problems was i could not login to Database control on my database server even when user and password are correct. hmmpphh...

Then i found this solution from oracle community (https://community.oracle.com/thread/840511?tstart=0)
the solution steps are quite easy to follow.
1. open your command prompt
2. go to sqlplus (provide your user credential)
3. write this on sql>

  • shutdown 











  • startup mount;









  • alter database open;
Run the application again. than whoalaa.... it back to normal. phfiew...

*taken from https://community.oracle.com/thread/840511?tstart=0

23 April 2014

Insert queries direct from AM (AppModule) - ADF

I am using this because my App Module couldn't do the getDBTransaction().commit();
that's weird... all previous steps was running fine. but it stops on the commit line.

the case was like this...
(if somebody read this and know the cure.. please enlighten me)

I was doing Master-Detail transaction.
but this time i use another view object with transient fields as a table reference.

when doing the master part, was fine. but when i want to commit the detail part. i couldn't do it.



This is the reason that i take a work around and using direct query from App Module.
Thanks to http://jneelmani.blogspot.com/2009/11/adf-insert-using-storeprocedure.html for providing a way clearly. This way, solved the problem.


phew...

08 April 2014

Bingung memilih atau memilih untuk bingung. Keputusan ditangan Anda...

Temans, Esok saatnya memilih para pemimpin bangsa. mulai dari CALEG sampai dengan Presiden nantinya. Mengenai ini, saya teringat akan cerita ketika Samuel memilih anak-anak Isai orang Betlehem (1 Sam 16) menjadi raja Israel menggantikan Saul.

Sudah tentu kita bingung memilih atas pilihan yang begitu banyak untuk menjadi pemimpin-pemimpin bangsa kita. Lalu bagaimana kita memilih CALEG kita esok hari?
Firman Tuhan dalam 1 Samuel 16 semoga membantu kita memilih dengan pasti.
Dalam bacaan itu hanya 1 prinsip yang Tuhan bisikan, yaitu jangan melihat paras atau perawakan, lihat hatinya.

Bagaimana kita mengetahui isi hati seseorang? Bagaimana saat itu Samuel mengetahui yang mana pilihan Allah? TIDAK ADA YG TAHU sampai Tuhan sendiri yang menunjukannya.
Yang perlu kita lakukan adalah peka dalam mendengar suara Tuhan dan percaya pilihanNya adalah yang terbaik bagi kita.

Berdoalah minta hikmat Tuhan dalam menentukan pilihan dan hasil-nya kita serahkan kembali kepada Tuhan. Biarlah yang terpilih adalah yang Tuhan sudah tentukan bagi kita. Janganlah kita tidak memilih dan menjadi 'GolPut' karena dengan begitu kita tidak melakukan kehendak Tuhan dan kebenaran.

Salam pesta demokrasi.
Tuhan Yesus memberkati

11 March 2014

Matters of Date in ADF

Thanks to http://www.ecotronics.ch/webdesign/javadate.htm


Taskjava.util.Datejava.util.Calendarjava.sql.Dateoracle.jbo.domain.Date
Inheritance
java.lang.Object
  java.util.Date
java.lang.Object
  java.util.Calendar (abstract)
    java.util.GregorianCalendar
java.lang.Object
  java.util.Date
    java.sql.Date
java.lang.Object
  oracle.sql.Datum (1)
    oracle.sql.DATE
      oracle.jbo.domain.Date
Current date and time
public java.util.Date 
  getUtilDateNow() {
  return new java.util.Date();
}
public java.util.Calendar 
  getUtilCalendarNow() {
  return java.util.Calendar.getInstance();
}
-
SQL Date values do not have 
a time component
public oracle.jbo.domain.Date getJboNow() {
  return new oracle.jbo.domain.Date(
    new java.sql.Timestamp(
       System.currentTimeMillis()));
}
Current date
public java.util.Date getUtilDateToday() {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  String datestring = 
    sdf.format(new java.util.Date());
  java.util.Date today = null;
  try {
    today = sdf.parse(datestring);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return today;
}
public java.util.Calendar getUtilCalendarToday() {
  java.util.Calendar now =
    new java.util.GregorianCalendar();
  java.util.Calendar today =
    new java.util.GregorianCalendar(
      now.get(java.util.Calendar.YEAR),
      now.get(java.util.Calendar.MONTH),
      now.get(java.util.Calendar.DATE));
  return today;
}
public java.sql.Date getSqlToday() {
  return new java.sql.Date(
    System.currentTimeMillis());
}
public oracle.jbo.domain.Date getJboToday() {
  return new oracle.jbo.domain.Date(
    oracle.jbo.domain.Date.getCurrentDate());
}
Date value for yesterday
public java.util.Date getUtilDateYesterday() {
  java.util.Calendar now =
  new java.util.GregorianCalendar();
  java.util.Calendar cal =
    new java.util.GregorianCalendar(
      now.get(java.util.Calendar.YEAR),
      now.get(java.util.Calendar.MONTH),
      now.get(java.util.Calendar.DATE));
  cal.add(java.util.Calendar.DAY_OF_MONTH, -1);
  return cal.getTime();
}
public java.util.Date getUtilCalendarYesterday() {
  java.util.Calendar now =
  new java.util.GregorianCalendar();
  java.util.Calendar cal =
    new java.util.GregorianCalendar(
      now.get(java.util.Calendar.YEAR),
      now.get(java.util.Calendar.MONTH),
      now.get(java.util.Calendar.DATE));
  cal.add(java.util.Calendar.DAY_OF_MONTH, -1);
  return cal;
}
public java.util.Date getSqlYesterday() {
  java.util.Calendar now =
  new java.util.GregorianCalendar();
  java.util.Calendar cal =
    new java.util.GregorianCalendar(
      now.get(java.util.Calendar.YEAR),
      now.get(java.util.Calendar.MONTH),
      now.get(java.util.Calendar.DATE));
  cal.add(java.util.Calendar.DAY_OF_MONTH, -1);
  return new java.sql.Date(
    cal.getTimeInMillis());
}
public oracle.jbo.domain.Date getJboYesterday() {
  oracle.jbo.domain.Date tmp =
    new oracle.jbo.domain.Date(
      oracle.jbo.domain.Date.getCurrentDate());
  return new oracle.jbo.domain.Date(
    tmp.addJulianDays(-1,0));
}
Last date of month
public java.util.Date getUtilDateLastDateOfMonth(
  java.util.Date date) {
  java.util.GregorianCalendar cal = 
    new java.util.GregorianCalendar();
  cal.setTime(date);
  cal.set(java.util.Calendar.DAY_OF_MONTH,
    cal.getActualMaximum(
      java.util.Calendar.DAY_OF_MONTH));
  return cal.getTime();
}
public java.util.Calendar getUtilCalendarLastDateOfMonth(
  java.util.Calendar cal) {
  java.util.GregorianCalendar tmp =
    new java.util.GregorianCalendar();
  tmp.setTime(cal.getTime());
  cal.set(java.util.Calendar.DAY_OF_MONTH,
    cal.getActualMaximum(
      java.util.Calendar.DAY_OF_MONTH));
  return cal;
}
public java.sql.Date getSqlLastDateOfMonth(
  java.sql.Date sql) {
  java.util.GregorianCalendar cal =
    new java.util.GregorianCalendar();
  cal.setTimeInMillis(sql.getTime());
  cal.set(java.util.Calendar.DAY_OF_MONTH,
    cal.getActualMaximum(
      java.util.Calendar.DAY_OF_MONTH));
  return new java.sql.Date(cal.getTimeInMillis());
}
//beware of oracle.jbo.domain.Date.lastDayOfMonth,
//oracle forgot to implement it!
public oracle.jbo.domain.Date getJboLastDateOfMonth(
  oracle.jbo.domain.Date jbo) {
  java.util.GregorianCalendar cal =
    new java.util.GregorianCalendar();
  cal.setTime(jbo.dateValue());
  cal.set(java.util.Calendar.DAY_OF_MONTH,
    cal.getActualMaximum(
      java.util.Calendar.DAY_OF_MONTH));
  return new oracle.jbo.domain.Date(
    new java.sql.Date(cal.getTimeInMillis()));
}
Convert to formatted String
public static String formatUtilDateAsSimpleDate(
  java.util.Date date) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  return sdf.format(date);
}
public static String formatUtilCalendarAsSimpleDate(
  java.util.Calendar cal) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  return sdf.format(cal.getTime());
}
public static String formatSqlAsSimpleDate(
  java.sql.Date sql) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  return sdf.format(sql.getTime());
}
public static String formatJboAsSimpleDate(
  oracle.jbo.domain.Date jbo) {
  java.text.SimpleDateFormat sdf =
  new java.text.SimpleDateFormat("dd.MM.yyyy");
    return sdf.format(jbo.getValue());
}
Convert from String
//datestring has to be something like 31.1.2008
public static java.util.Date
  convertStringToUtilDate(String datestring) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  java.util.Date date = null;
  try {
    date = sdf.parse(datestring);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return date;
}
//datestring has to be something like 31.1.2008
public static java.util.Calendar
  convertStringToUtilCalendar(String datestring) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  java.util.Date date = null;
  java.util.Calendar cal = 
    new java.util.GregorianCalendar();
  try {
    date = sdf.parse(datestring);
    cal.setTime(date);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return cal;
}
//datestring has to be something like 31.1.2008
public static java.sql.Date
  convertStringToSqlDate(String datestring) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  java.text.SimpleDateFormat sdfsql =
    new java.text.SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date = null;
  try {
    date = sdf.parse(datestring);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return java.sql.Date.valueOf(
    sdfsql.format(date));
}
//datestring has to be something like 31.1.2008
public static oracle.jbo.domain.Date
  convertStringToJboDate(String datestring) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  java.text.SimpleDateFormat sdfsql =
    new java.text.SimpleDateFormat("yyyy-MM-dd");
  java.util.Date date = null;
  try {
    date = sdf.parse(datestring);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return new oracle.jbo.domain.Date(
    sdfsql.format(date));
}
Convert to java.util.Date
-
public static java.util.Date
  convertUtilCalendarToUtilDate(java.util.Calendar cal) {
  return cal.getTime();
}
public static java.util.Date
  convertSqlToUtilDate(java.sql.Date sql) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("dd.MM.yyyy");
  String datestring = sdf.format(
    new java.util.Date(sql.getTime()));
  java.util.Date date = null;
  try {
    date = sdf.parse(datestring);
  } catch (Exception exc) {
    System.out.println("Date error");
  }
  return date;
}
public static java.util.Date
  convertJboToUtilDate(oracle.jbo.domain.Date jbo) {
  return jbo.dateValue();
}
Convert to java.util.Calendar
public static java.util.Calendar
  convertUtilDateToCalendar(java.util.Date date) {
  java.util.Calendar cal = 
    new java.util.GregorianCalendar();
  cal.setTime(date);
  return cal;
}
-
public static java.util.Calendar
  convertSqlToUtilCalendar(java.sql.Date sql) {
  java.util.Calendar date =
    new java.util.GregorianCalendar();
  date.setTimeInMillis(sql.getTime());
  //remove the time that comes along
  java.util.Calendar cal =
    new java.util.GregorianCalendar(
      date.get(java.util.Calendar.YEAR),
      date.get(java.util.Calendar.MONTH),
      date.get(java.util.Calendar.DATE));
  return cal;
}
public static java.util.Calendar
  convertJboToUtilCalendar(oracle.jbo.domain.Date jbo) {
  java.util.Calendar cal =
    new java.util.GregorianCalendar();
  cal.setTime((java.sql.Date) jbo.dateValue());
  return cal;
}
Convert to java.sql.Date
public static java.sql.Date
  convertUtilDateToSqlDate(java.util.Date date) {
  return new java.sql.Date(date.getTime());
}
public static java.sql.Date
  convertUtilCalendarToSqlDate(java.util.Calendar cal) {
  return new java.sql.Date(cal.getTimeInMillis());
}
-
public static java.sql.Date
  convertJboToSqlDate(oracle.jbo.domain.Date jbo) {
  return jbo.dateValue();
}
Convert to oracle.jbo.domain.Date
public static oracle.jbo.domain.Date
  convertUtilDateToJboDate(java.util.Date date) {
  return new oracle.jbo.domain.Date(
    new java.sql.Date(date.getTime()));
}
public static oracle.jbo.domain.Date
  convertUtilCalendarToJboDate(java.util.Calendar cal) {
  return new oracle.jbo.domain.Date(
    new java.sql.Date(cal.getTimeInMillis()));
}
public static oracle.jbo.domain.Date
  convertSqlToJboDate(java.sql.Date sql) {
  return new oracle.jbo.domain.Date(sql);
}
-
Is a date before 
another one?
public boolean isDate1BeforeDate2(java.util.Date date1,
  java.util.Date date2) {
  return date1.before(date2);
}
public boolean isDate1BeforeDate2(
  java.util.Calendar date1,
  java.util.Calendar date2) {
  return date1.before(date2);
}
public boolean isDate1BeforeDate2(
  java.sql.Date date1,
  java.sql.Date date2) {
  return date1.before(date2);
}
public boolean isDate1BeforeDate2(
  oracle.jbo.domain.Date date1,
  oracle.jbo.domain.Date date2) {
  return (date1.compareTo(date2) == -1) ;
}
Long date string in a foreign Locale
public static String formatUtilDateAsLongLocaleDate(
  java.util.Date date) {
  java.util.Locale loc = new java.util.Locale("pt", "BR");
  java.text.DateFormat df =
    java.text.DateFormat.getDateInstance(
      java.text.DateFormat.LONG, loc);
  java.text.DateFormat dft =
    java.text.DateFormat.getTimeInstance(
      java.text.DateFormat.MEDIUM, loc);
  return df.format(date) + " " + dft.format(date);
}
public static String formatUtilCalendarAsLongLocaleDate(
  java.util.Calendar cal) {
  java.util.Locale loc = 
    new java.util.Locale("pt", "BR");
  java.text.DateFormat df =
    java.text.DateFormat.getDateInstance(
      java.text.DateFormat.LONG, loc);
  java.text.DateFormat dft =
    java.text.DateFormat.getTimeInstance(
      java.text.DateFormat.MEDIUM, loc);
  return df.format(cal.getTime()) + " " 
    + dft.format(cal.getTime());
}
public static String formatSqlAsLongLocaleDate(
  java.sql.Date sql) {
  java.util.Locale loc = 
    new java.util.Locale("pt", "BR");
  java.text.DateFormat df =
    java.text.DateFormat.getDateInstance(
      java.text.DateFormat.LONG, loc);
  java.text.DateFormat dft =
    java.text.DateFormat.getTimeInstance(
      java.text.DateFormat.MEDIUM, loc);
  return df.format(sql) + " " + dft.format(sql);
}
public static String formatJboAsLongLocaleDate(
  oracle.jbo.domain.Date jbo) {
  java.util.Locale loc = 
    new java.util.Locale("pt", "BR");
  java.text.DateFormat df =
    java.text.DateFormat.getDateInstance(
      java.text.DateFormat.LONG, loc);
  java.text.DateFormat dft =
    java.text.DateFormat.getTimeInstance(
      java.text.DateFormat.MEDIUM, loc);
  return df.format(jbo.dateValue()) + " " 
    + dft.format(jbo.timeValue());
}
Weekday as integer
//Week goes from Sunday=1 to Saturday=7
public int getWeekdayAsInt(java.util.Date date) {
  java.util.Calendar cal =
    new java.util.GregorianCalendar();
  cal.setTime(date);
  return cal.get(java.util.Calendar.DAY_OF_WEEK);
}
//Week goes from Sunday=1 to Saturday=7
public int getWeekdayAsInt(java.util.Calendar cal) {
  return cal.get(java.util.Calendar.DAY_OF_WEEK);
}
//Week goes from Sunday=1 to Saturday=7
public int getWeekdayAsInt(java.sql.Date sql) {
  java.util.Calendar cal =
    new java.util.GregorianCalendar();
  cal.setTimeInMillis(sql.getTime());
  return cal.get(java.util.Calendar.DAY_OF_WEEK);
}
//Week goes from Sunday=1 to Saturday=7
public int getWeekdayAsInt(oracle.jbo.domain.Date jbo) {
  java.util.Calendar cal =
    new java.util.GregorianCalendar();
  cal.setTime(jbo.dateValue());
  return cal.get(java.util.Calendar.DAY_OF_WEEK);
}
Weekday as Text
public String getWeekdayAsString(java.util.Date date) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("EEEE");
  return sdf.format(date);
}
public String getWeekdayAsString(java.util.Calendar cal) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("EEEE");
  return sdf.format(cal.getTime());
}
public String getWeekdayAsString(java.sql.Date sql) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("EEEE");
  return sdf.format(sql);
}
public String getWeekdayAsString(
  oracle.jbo.domain.Date jbo) {
  java.text.SimpleDateFormat sdf =
    new java.text.SimpleDateFormat("EEEE");
  return sdf.format(jbo.dateValue());
}


28 February 2014

How to restore .dmp oracle file by using import

I take it as a challenge for myself when a friend in workplace ask for a help about how to restore a dmp file to a local machine.

Honestly, i have never done it before. so I went to google activity and found this related article. Thanks to Frenda on (http://frenda.wordpress.com/2013/01/05/importing-oracle-dmp-file-using-cmd/)

This was the summary that i have done on local machine
1. create user on oracle db (login using system)
2. setting connection on tns file
3. open command prompt | entry 'IMP'
4. follow the instructions. (image attached)

5. database are imported to my local machine

that's it and it works


21 February 2014

Validate date in excel

I now realize that Excel is a powerful tool..  hehehe

to validate a date in cell, put a formula next to it like this
=isnumber(datevalue([cell]))
it's simple right?

:)

19 February 2014

Got a formula in excel cell as text and you want it to work as a formula? here is how to do it

When you have a formula in excel as text, and we want to parse it as a formula.
use this steps to do it:

1. For a simple example, text in cell A1 is like this  ="=B1+C1"
2. Press alt+F11 to open Excel VBA
3. Insert new module to that excel file
4. Put this on the module text window
Function Eval(Ref As String)
    Application.Volatile
    Eval = Evaluate(Ref)
End Function
5. Save & close it.
6. Change the text in A1 into something like : =Eval("=B1+C1")
7. Just click enter then it would run the module that we have inserted to it.


Could not connect to Oracle XE (using Toad) : ORA-12541: TNS:no listener

A little confusing when i want to connect to my oracle database using toad after i restart my computer.
It show me error : ORA-12541: TNS:no listener. It was fine before i restart my computer.

The solution to this matter was the service to oracle TNS Listener should be turned on.
Open your control panel  |  administrative tools  |  select service.
On the Services window, find 'OracleXETNSListener' and just started it.

whoalaa... that should be it.
try the oracle connection again. It should be running now.


09 January 2014

Several things to do when you want to use method on Application module on ADF

These few steps i tend to forget. Really.. this piss me off... aarrghh!!

after you create method(s) on Aplication Module(AM or ApMod), don't forget to :
1. Register it to client interface java classes on AppModule xml. Just select them from the left pane.

2. Should do 'REFRESH' on left windows Data controls and see if the method that you just create is/are already in the data controls windows. -Don't worry, they usually appear when refresh button was clicked-

3. Open user interfaces that you want to place the method(s) and select binding pane (located on the bottom). Then create control binding | method action | AppModuleDataControl | choose the method in 'Operation' drop down list. then clicked ok.

that's it... I hope that i will remember when it comes to do it again. phew.

Twiit.. Twiit... Gulp