Tuesday, April 28, 2015

ADF BC Declarative Built-in Rules

Oracle JDeveloper 11g Resources

Our friends from ADF Enterprise Methodology Group shared these online resource details; thought of keeping this in a single file and share with all Oracle JDeveloper 11g enthusiasts. My special thanks to Wef Fang (ADF EMG).


You can subscribe to these groups
ADF Enterprise Methodology  Group http://groups.google.com/group/adf-methodology
Oracle JDeveloper forumhttp://forums.oracle.com/forums/forum.jspa?forumID=83
Twitter         http://twitter.com/jdeveloper




Blogs
Author
URL
 Steve Muench http://blogs.oracle.com/smuenchadf/ 
 Duncan Mills http://blogs.oracle.com/groundside/
 Shay Shmeltzer http://blogs.oracle.com/shay/
 Frank Nimphius http://blogs.oracle.com/jdevotnharvest/
 Juan Ruiz http://blogs.oracle.com/jruiz/
 Andre Baranovskis http://andrejusb-samples.blogspot.com/
 Chris Muir http://one-size-doesnt-fit-all.blogspot.com/
 Susan Duncan http://www.susanduncan.blogspot.com/
 Dildier Laurent http://blogs.oracle.com/Didier/
 Edwin Biemoond  http://biemond.blogspot.com/
 Gerard Davison http://kingsfleet.blogspot.com/
 Luc Bors http://lucbors.blogspot.com/
 Olaf Heimburger http://blogs.oracle.com/olaf/
 Michael Koniotakis http://adfbugs.blogspot.com/
 Hendrik Gossenshttp://www.adf-juggernaut.org/2011/03/providing-input-parameters-for.html

Tuesday, January 15, 2013

Disable holidays in af:inputDate

How to Disable holidays in af:inputDate?



Case: Need to disable all holidays from user selection. In our case, we have of list business declared holidays for the year were stored in a table as given below. When business user choosing the future dates, the holidays were from selection.


This can be achieved multiple ways, here is an approach to disable days from af:inputDate input component.

Step 1: Create a EO and VO object for HOLIDAYS table as given below.

Step 2: Generate Application Module Class for your application.

Step 3: Create a custom method (Example: getHolidays) in your application module class. Below custom method return list of holidays from HOLIDAYS table.


Step 4: Expose the above method as client interface.



 Step 5As shown below In your page add this getHolidays as Binding.




 Step 6: Create a backing bean to implement DateListProvider to provide getDateList for list of disable days.
             You need to import org.apache.myfaces.trinidad.model.DateListProvider;

-



 Step 7: In your af:inputDate component, you should call the backing bean for list of disable days. You can call this backing bean; By setting the value for DisabledDays under Data section as given below. 


By following the above 7 steps you can disable your desired list of days from user selection. 

Hope these above steps are helpful to you. Let me know if you need any more inputs.

Thank you.

Monday, June 25, 2012

ADF Deployment Guide

Found a detailed step-by-step details to Install & Configure WebLogic Server to Run ADF 11g Applications in Production. Very good article, this is for my reference / book mark, follow the below given URL.

ADF Deployment Guide: How-To Install & Configure WebLogic Server to Run ADF 11g Applications in Production

Wednesday, December 14, 2011

How to create Excel with multiple worksheets

As many of you might have come across a requirement like business wants to open the report output in Excel file.

There is no brainier in doing this, generate the report output and save the file with .csv extension; Problem solved. Occasionally it becomes tricky when the user request the output in single Excel file with multiple worksheets. This can be achieved in many ways.
Here is a simple method which I follow to achieve this functionality; As I more cautious on cost :) 

We can achieve this functionality by generating the output in XML file format.
Let’s first see the how XML structure look like for a excel output. If you can generate the output file in the below structure, then you can achieve multiple worksheets in a single Excel file. The choice of programming language is up to you.

<?xml version="1.0"?>  
<?mso-application progid="Excel.Sheet"?> 
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
 xmlns:o="urn:schemas-microsoft-com:office:office" 
 xmlns:x="urn:schemas-microsoft-com:office:excel" 
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
 xmlns:html="http://www.w3.org/TR/REC-html40"> 
 <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> 
  <LastAuthor>Surendra</LastAuthor> 
  <Created>2009-05-11T06:30:00Z</Created> 
  <LastSaved>2009-06-16T00:50:38Z</LastSaved> 
  <Version>12.00</Version>   
 </DocumentProperties> 
 <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> 
  <WindowHeight>10005</WindowHeight> 
  <WindowWidth>10005</WindowWidth> 
  <WindowTopX>120</WindowTopX> 
  <WindowTopY>135</WindowTopY> 
  <ProtectStructure>False</ProtectStructure>  
  <ProtectWindows>False</ProtectWindows> 
</ExcelWorkbook> 
 <Styles> 
  <Style ss:ID="Default" ss:Name="Normal"> 
  <Alignment ss:Vertical="Bottom"/>  
  </Style> 
 </Styles>  
<Worksheet ss:Name="Sheet q"> 
<Table x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">  
<Row ss:AutoFitHeight="0" ss:Height="13.5">
<Cell>
<Data> 
</Data>
</Cell>
</Row> 
    </Worksheet>
</Workbook>

Here is a sample SQL*Plus script, this script to print TNAME, TABTYPE from table TAB. To show the multiple worksheets concept, i printed the same output in both the worksheets. You can run the script as is.


This script output is Excel_Ouput.xml, double click this file to open in Excel, you should be able to view 2 worksheets name First Work SheetSecond Work Sheet. As a bonus in this script I added few color coding tags too. 


Have a look at it and use it as you like.
/* Begin SQL*Plus script */

Set heading off
Set feedback off
Set verify off
Set linesize 1000
Set pagesize 0
Set space 0
Set newpage 1
Set trimspool on
Set Termout off


SPOOL  EXCEL_OUTPUT.xml;
SELECT
'<?xml version="1.0"?> ' 
||CHR(10)||
'<?mso-application progid="Excel.Sheet"?> '
||CHR(10)||
'<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" '
||CHR(10)||
' xmlns:o="urn:schemas-microsoft-com:office:office" '
||CHR(10)||
' xmlns:x="urn:schemas-microsoft-com:office:excel" '
||CHR(10)||
' xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" '
||CHR(10)||
' xmlns:html="http://www.w3.org/TR/REC-html40"> '
||CHR(10)||
' <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> '
||CHR(10)||
'  <LastAuthor>Wipro Technologies</LastAuthor> '
||CHR(10)||
'  <Created>2009-05-11T06:30:00Z</Created> '
||CHR(10)||
'  <LastSaved>2009-06-16T00:50:38Z</LastSaved> '
||CHR(10)||
'  <Version>12.00</Version>  ' 
||CHR(10)||
' </DocumentProperties> '
||CHR(10)||
' <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> '
||CHR(10)||
'  <WindowHeight>10005</WindowHeight> '
||CHR(10)||
'  <WindowWidth>10005</WindowWidth> '
||CHR(10)||
'  <WindowTopX>120</WindowTopX> '
||CHR(10)||
'  <WindowTopY>135</WindowTopY> '
||CHR(10)||
'  <ProtectStructure>False</ProtectStructure>  '
||CHR(10)||
'  <ProtectWindows>False</ProtectWindows> '
||CHR(10)||
' </ExcelWorkbook> '
||CHR(10)||
' <Styles> '
||CHR(10)||
'  <Style ss:ID="Default" ss:Name="Normal"> '
||CHR(10)||
'   <Alignment ss:Vertical="Bottom"/>  '
||CHR(10)||
'  </Style> '
||'  <Style ss:ID="s77"> '
||CHR(10)||
'   <Interior ss:Color="#00B050" ss:Pattern="Solid"/> '
||CHR(10)||
'  </Style> '
||CHR(10)||
' </Styles> ' 
FROM DUAL;
/* Work Sheet 1 */
SELECT '<Worksheet ss:Name="First Work Sheet"> '
||CHR(10)||
'<Table x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">  '
||CHR(10)||
'<Row ss:AutoFitHeight="0" ss:Height="13.5">'
||CHR(10)||
'<Cell><Data ss:Type="String">'||'TNAME'||'</Data></Cell>'||CHR(10)||
'<Cell><Data ss:Type="String">'||'TABTYPE'||'</Data></Cell>'||CHR(10)||
'</Row>' 
FROM Dual;
SELECT  '<Row ss:AutoFitHeight="0" ss:Height="13.5">'||CHR(10)||
'<Cell><Data ss:Type="String">'||A.TNAME||'</Data></Cell>'||CHR(10)||
'<Cell ss:StyleID="s77"><Data ss:Type="String">'||A.TABTYPE||'</Data></Cell>'||
'</Row>'
FROM (SELECT   TNAME,TABTYPE FROM  TAB) A;
SELECT '</Table> ' 
||CHR(10)||
'</Worksheet>'
FROM DUAL;
/* Work Sheet 2 */
SELECT '<Worksheet ss:Name="Second Work Sheet"> '
||CHR(10)||
'<Table x:FullColumns="1" x:FullRows="1" ss:DefaultRowHeight="15">  '
||CHR(10)||
'<Row ss:AutoFitHeight="0" ss:Height="13.5">'
||CHR(10)||
'<Cell><Data ss:Type="String">'||'TNAME'||'</Data></Cell>'||CHR(10)||
'<Cell><Data ss:Type="String">'||'TABTYPE'||'</Data></Cell>'||CHR(10)||
'</Row>' 
FROM Dual;
SELECT  '<Row ss:AutoFitHeight="0" ss:Height="13.5">'||CHR(10)||
'<Cell><Data ss:Type="String">'||A.TNAME||'</Data></Cell>'||CHR(10)||
'<Cell><Data ss:Type="String">'||A.TABTYPE||'</Data></Cell>'||
'</Row>'
FROM (SELECT   TNAME,TABTYPE FROM  TAB) A;
SELECT '</Table> ' 
||CHR(10)||
'</Worksheet>'
FROM DUAL;
SELECT '</Workbook>'  FROM DUAL;
SPOOL OFF;
exit;
/* End SQL*Plus script */


Tuesday, December 13, 2011

Oracle EBS R12 Payments


I attended Oracle e-Seminar Release 12 Payments. It's Very nice, you can see the recording via the given below URL's.


OPN Link: http://oukc.oracle.com/static05/opn/login/?r=-1&c=633758419&t=checkusercookies


External Link: http://download.oracle.com/opndocs/americas/67053.html


Thanks.

Personalizing and Extending OA Framework Applications


I attended Oracle e-Seminar sometime back; Basically it covers Personalizing and Extending OA
Framework Applications. Very good seminar, you can see the recording via the given below URL's.

OPN Link: http://oukc.oracle.com/static05/opn/login/?r=-1&c=601040777&t=checkusercookies

External Link: http://download.oracle.com/opndocs/americas/65621.html

Thanks.