ابتدا بايد کلاسهاي Application Module خود را ايجاد کرده و در کلاس AppModImpl.java متدي تعريف کرده و کد هاي زير رو به متد اضافه کنيد
public void fun(long fileNo, long servNo) {</p>
<p>CallableStatement plsqlBlock = null;<br />
String statement =<br />
"BEGIN PackageName.ProcedureName(:1,:2,:3,:4,:5); END;";</p>
<p>plsqlBlock = getDBTransaction().createCallableStatement(statement, 0);</p>
<p>// 1 and 2 : input parameter<br />
// 3, 4, 5 : output parameter<br />
// first should define type of output parameter</p>
<p>plsqlBlock.registerOutParameter(3, OracleTypes.NUMBER);<br />
plsqlBlock.registerOutParameter(4, OracleTypes.VARCHAR);<br />
plsqlBlock.registerOutParameter(5, OracleTypes.NUMBER);</p>
<p>// set value for input parameter<br />
plsqlBlock.setLong(1, fileNo);<br />
plsqlBlock.setString(2, Long.toString(servNo));</p>
<p>plsqlBlock.executeUpdate();</p>
<p>// get the value of output parameter<br />
int r = plsqlBlock.getInt(3);<br />
String s1=plsqlBlock.getString(4));<br />
int r2 s2=plsqlBlock.getInt(5));</p>
<p>/*<br />
for call function<br />
String statement =<br />
"" + "BEGIN :1 := PackageName.FunctionName(:2,:3,:4,:5); END;";<br />
1: function output<br />
2,3,.. : function input<br />
continue like above<br />
*/<br />
}مي توانيد يک View obj خالي ايجاد کرده و مقادير بدست امده را در View Obj ذخيره کنيد و در لايه View از View Obj استفاده کنيد (البته قبلش بايد متد موجود در Application Module رو در صفحه خود فراخواني کنيد)
یا در داخل EO یا AppModule که دسترسی به متد getDBTransaction دارید میتوانید فراخوانی را انجام دهید.
برای فراخوانی procedure:
url2 =<br />
"{call package_name.Procedure_name(?,?,?)}";<br />
try {<br />
cs = getDBTransaction().createCallableStatement(url2, 1);<br />
cs.setString(1, dept);<br />
cs.setString(2, pose);<br />
//register the out parameter<br />
cs.registerOutParameter(3, Types.INTEGER);<br />
cs.execute();<br />
//store the value on the a variabe in the Temp class<br />
t.a = new Integer(cs.getInt(3));<br />
} catch (SQLException e) {<br />
System.out.println("error in get last year in getcartableinformation" +<br />
e.getMessage());<br />
} finally {<br />
try {<br />
if (cs != null)<br />
cs.close();<br />
} catch (SQLException e) {<br />
System.out.println("error in closing get last year in getcartableinformation" +<br />
e.getMessage());<br />
}<br />
cs = null;<br />
}
رویال ویژن





سپس یک دکمه با action برابر asDialog در صفحه قرار میدهیم و سایر ويژگیهای دکمه را همانند تصویر زیر تنظیم مینماییم
در مرحله بعد یک task flow ایجاد مینماییم که شامل یک صفحه خواهد بود. صفحه مذکور شامل یک دکمه بازگشت میباشد که action آن برابر با Return قرار گرفته شده است. Task flow را همانند تصویر زیر آماده نمایید

نظر خود را وارد کنید: