JDEVELOPER(OAF) CODE:-
CONTROLLER CODE:-
/*===========================================================================+
| Copyright (c) 2001, 2005 Oracle Corporation, Redwood Shores, CA, USA |
| All rights reserved. |
+===========================================================================+
| HISTORY |
+===========================================================================*/
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
//import [Link];
import [Link];
import [Link];
import [Link];
import [Link] ;
import [Link];
import [Link];
import [Link];
/**
* Controller for ...
*/
public class ResponsibilityCO extends OAControllerImpl
{
public static final String RCS_ID="$Header$";
public static final boolean RCS_ID_RECORDED =
[Link](RCS_ID, "%packagename%");
/**
* Layout and page setup logic for a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processRequest(OAPageContext pageContext, OAWebBean webBean)
{
[Link](pageContext, webBean);
OAApplicationModule am1 =[Link](webBean);
OAViewObject vo = (OAViewObject)[Link]("ResVO");
String userid = [Link]([Link]());
Serializable [] parameters1 = {userid};
Class paramTypes[] = {[Link]};
[Link]("assign_userid",parameters1,paramTypes);
//[Link](0,userid);
[Link]();
//-------------------------------------
//Setting default Start date
//-------------------------------------
OADBTransaction trx=(OADBTransaction)[Link]();
[Link] val=([Link]()).dateValue();
/*OAMessageDateFieldBean textbean1=(OAMessageDateFieldBean
)[Link]("StartDate");
[Link](pageContext,val);*/
//-------------------------------------
//Setting default Start date- CODE 2
//-------------------------------------
ResVORowImpl row=null;
int fetchedRowCount = [Link]();
RowSetIterator SelectIter = [Link]("SelectIter ");
if(fetchedRowCount != 0)
{
SelectIter .setRangeStart(0);
SelectIter .setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
{
row = (ResVORowImpl)SelectIter .getRowAtRangeIndex(i);
[Link]("StartDate",val);
}
}
//-------------------------------
//CODE TO SET MIN AVAIALBLE DATE
//-------------------------------
OAMessageDateFieldBean dtBean =
(OAMessageDateFieldBean)[Link]("StartDate");
OAMessageDateFieldBean dtBean1 =
(OAMessageDateFieldBean)[Link]("EndDate");
String dtSql= "Select (sysdate-1) min_date from dual";
try {
Connection conn = [Link]().getJdbcConnection();
PreparedStatement stmt = [Link](dtSql);
ResultSet rs = [Link](dtSql);
while ([Link]())
{
[Link] minDate = [Link]("min_date");
[Link](minDate);
[Link](minDate);
}
}
catch(Exception e){
[Link]();
}
}
/**
* Procedure to handle form submissions for form elements in
* a region.
* @param pageContext the current OA page context
* @param webBean the web bean corresponding to the region
*/
public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
{
[Link](pageContext, webBean);
ResponsibilityAMImpl
am=(ResponsibilityAMImpl)[Link](webBean);
OAViewObject vo = (OAViewObject)[Link]("ResVO");
if([Link]("SearchButton")!=null)
{
String userid = [Link]([Link]());
Serializable [] parameters1 = {userid};
Class paramTypes[] = {[Link]};
[Link]("assign_userid",parameters1,paramTypes);
StringBuffer whereClause = new StringBuffer(100);
String Rsp = [Link]("Search");
[Link](" RESPONSIBILITY_NAME like '"+ Rsp +"'");
[Link]([Link]());
//int userid = [Link]();
//[Link](0,userid);
[Link]();
}
//------------------
//REQUEST METHOD
//------------------
if([Link]("Request")!= null )
{
int flag=0;
[Link] startdate = null;
ResVORowImpl row=null;
String userid = new String();
String sel = new String();
String notif = new String();
int fetchedRowCount = [Link]();
RowSetIterator SelectIter = [Link]("SelectIter ");
if(fetchedRowCount != 0)
{
SelectIter .setRangeStart(0);
SelectIter .setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
{
row = (ResVORowImpl)SelectIter .getRowAtRangeIndex(i);
sel= (String)[Link]("Select");
if ("Y".equals(sel))
{
userid = [Link]([Link]());
Number resid = (Number)[Link]("ResponsibilityId");
Number appid = (Number)[Link]("ApplicationId");
String note = (String)[Link]("Notes");
startdate = ([Link])[Link]("StartDate");
[Link] enddate =
([Link])[Link]("EndDate");
if(startdate == null)
{
flag =1;
break;
}
//--------------------------
//Initiating workflow
//--------------------------
Serializable [] parameter2 = {userid,resid,appid,startdate,enddate,note};
Class paramtypes2[] =
{[Link],[Link],[Link],[Link],[Link].c
lass,[Link]};
[Link]("workflow_start",parameter2,paramtypes2);
//start = (Date)[Link]("StartDate");
//Passing APP ID for notification ID
//Inserting into the records
Serializable [] parameters1 = {userid,resid,appid,startdate,enddate,note};
Class paramTypes[] = {[Link],
[Link],[Link],[Link],[Link],[Link]
ass};
[Link]("insertAction",parameters1,paramTypes);
}
}
}
if (flag == 1)
throw new OAException("ERROR!Start date cannot be empty!",[Link]);
else
throw new OAException("Submitted for approval! " ,[Link]);
//------------------------------
//REVOKING THE RESPONSIBILITIES
//------------------------------
if([Link]("Revoke")!= null )
{
ResVORowImpl row=null;
String respon_check = new String();
String sel = new String();
int fetchedRowCount = [Link]();
RowSetIterator SelectIter = [Link]("SelectIter ");
if(fetchedRowCount != 0)
{
SelectIter .setRangeStart(0);
SelectIter .setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
{
row = (ResVORowImpl)SelectIter .getRowAtRangeIndex(i);
sel= (String)[Link]("Select");
if ("Y".equals(sel))
{
String userid = [Link]([Link]());
Number resid = (Number)[Link]("ResponsibilityId");
Number appid = (Number)[Link]("ApplicationId");
//Passing APP ID for notification ID
//Inserting into the records
Serializable [] parameters1 = {userid,resid,appid};
Class paramTypes[] = {[Link], [Link],[Link]};
[Link]("revokeAction",parameters1,paramTypes);
}
}
}
throw new OAException("ACCESS REVOKED!",[Link]);
}
if([Link]("Cancel")!= null)
{
int flag=0;
[Link] startdate = null;
ResVORowImpl row=null;
String sel = new String();
int fetchedRowCount = [Link]();
RowSetIterator SelectIter = [Link]("SelectIter ");
if(fetchedRowCount != 0)
{
SelectIter .setRangeStart(0);
SelectIter .setRangeSize(fetchedRowCount);
for (int i = 0; i < fetchedRowCount; i++)
{
row = (ResVORowImpl)SelectIter .getRowAtRangeIndex(i);
sel= (String)[Link]("Select");
if ("Y".equals(sel))
{
String userid = [Link]([Link]());
Number resid = (Number)[Link]("ResponsibilityId");
Number appid = (Number)[Link]("ApplicationId");
Serializable [] parameters1 = {userid,resid,appid};
Class paramTypes[] = {[Link], [Link],[Link]};
[Link]("cancelAction",parameters1,paramTypes);
}
}
}
throw new OAException("Request has been CANCELLED! ",[Link]);
}
}
}
APPLICATION MODULE(AM) CODE:-
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link].*;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link] ;
import [Link];
import [Link];
import [Link];
// ---------------------------------------------------------------------
// --- File generated by Oracle ADF Business Components Design Time.
// --- Custom code may be added to this class.
// --- Warning: Do not modify method signatures of generated methods.
// ---------------------------------------------------------------------
public class ResponsibilityAMImpl extends OAApplicationModuleImpl
{
/**This is the default constructor (do not remove)
*/
public ResponsibilityAMImpl()
{
}
/**Sample main for debugging Business Components code using the tester.
*/
public static void main(String[] args)
{
launchTester("[Link]", /* package name */
"ResponsibilityAMLocal" /* Configuration Name */);
}
/*public void insertFake()
{
OAViewObject vo = (OAViewObject)[Link]("ResVO");
[Link]();
}*/
//Procedure to assign the USER ID to global var in pkg
public void assign_userid(String userid)
{
OADBTransaction txn = (OADBTransaction)getTransaction();
CallableStatement cs = [Link]("begin
XXFE_APPROVERS_LIST.XX_ASSIGN_USERID(:1); end;",1);
try
{
[Link](1,[Link](userid));
[Link]();
[Link]();
}
catch(SQLException e)
{
throw [Link](e);
}
}
//Procedure for Request Button.
public void insertAction(String userid, Number resid,Number appid,[Link]
startdate,[Link] enddate,String note)
{
// int userid_i=[Link]();
int resid_i= [Link]();
int appid_i=[Link]();
OADBTransaction txn = (OADBTransaction)getTransaction();
CallableStatement cs = [Link]("begin
XXFE_APPROVERS_LIST.XX_REQUEST(:1,:2,:3,:4,:5,:6); end;",1);
String d1 = [Link]().dateToString(startdate);
String d2 = [Link]().dateToString(enddate);
[Link] startd= [Link]().stringToDate(d1);
[Link] endd= [Link]().stringToDate(d2);
try
{
[Link](1,[Link](userid));
[Link](2,resid_i);
[Link](3,appid_i);
[Link](4,startd);
[Link](5,endd);
[Link](6,note);
[Link]();
[Link]();
}
catch(SQLException e)
{
throw [Link](e);
}
}
//--------------------
//METHOD TO REVOKE ACCESS
//------------------------
public void revokeAction(String userid, Number resid,Number appid)
{
// int userid_i=[Link]();
int resid_i= [Link]();
int appid_i=[Link]();
OADBTransaction txn = (OADBTransaction)getTransaction();
CallableStatement cs = [Link]("begin
XXFE_APPROVERS_LIST.XX_REVOKE(:1,:2,:3); end;",1);
try
{
[Link](1,[Link](userid));
[Link](2,resid_i);
[Link](3,appid_i);
[Link]();
[Link]();
}
catch(SQLException e)
{
throw [Link](e);
}
}
/**Container's getter for ResVO
*/
//----------------------------
//CANCEL METHOD
//---------------------------
public void cancelAction(String userid,Number resid,Number appid)
{
{
// int userid_i=[Link]();
int resid_i= [Link]();
int appid_i=[Link]();
OADBTransaction txn = (OADBTransaction)getTransaction();
CallableStatement cs = [Link]("begin
XXFE_APPROVERS_LIST.XX_CANCEL(:1,:2,:3); end;",1);
try
{
[Link](1,[Link](userid));
[Link](2,resid_i);
[Link](3,appid_i);
[Link]();
[Link]();
}
catch(SQLException e)
{
throw [Link](e);
}
}
}
//--------------------
//WORKFLOW!!!!
//--------------------
public void workflow_start(String userid,Number resid,Number appid, [Link]
startdate,[Link] enddate,String note)
{
OADBTransaction txn = (OADBTransaction)getTransaction();
int dummy_var = 0;
int resid_i= [Link]();
int appid_i=[Link]();
String d1 = [Link]().dateToString(startdate);
String d2 = [Link]().dateToString(enddate);
[Link] startd= [Link]().stringToDate(d1);
[Link] endd= [Link]().stringToDate(d2);
CallableStatement cs = [Link]("BEGIN
XXFE_APPROVERS_LIST.XX_WORKFLOW_START(:1,:2,:3,:4,:5,:6); END;",1);
try
{
[Link](1,[Link](userid));
[Link](2,resid_i);
[Link](3,appid_i);
[Link](4,startd);
[Link](5,endd);
[Link](6,note);
[Link]();
[Link]();
}
catch(SQLException e)
{
throw [Link](e);
}
public ResVOImpl getResVO()
{
return (ResVOImpl)findViewObject("ResVO");
}
}