Complent for jbo:PostChange in UIX
Hello
I studied the old OnlineOrder Application (BC4J). In this application the primary key for the order entity was created through a trigger on the order table. Before doing a <jbo:commit> there was posted a <jbo:PostChange> to send the rowdata to the isolated database session, in order to produce the new primary key for the Bc4J row.
The same way i want to work with UIX.
For background: I use postgresql as database and so i can't use the SequenceImpl in the create method of my BC4J entity to get the primary key; i usually do my own jdbc-select ow this new value in the create method; this works without problem in BC4J-JSP applications. But with uix the value of this new key is differently rendered depending on the browser i use. In mozilla for example i always get the value 1, always. In konqueror i get the right value, Internet Explorer also. To undergo these problems i want to produce the value in the way i described above. But i always get problems because there exists no way to post the data to database without committing. There is no <bc4j:PostChange> only <bc4j:commit>!....
Anybody knows a workaround??
Carsten
Someone suggested that you do your PostChange in your event handler.
I hope that helps!
Jeanne
Similar Messages
-
Missing the jbo:PostChange in UIX ????
Hello
I studied the old OnlineOrder Application (BC4J). In this application the primary key for the order entity was created through a trigger on the order table. Before doing a <jbo:commit> there was posted a <jbo:PostChange> to send the rowdata to the isolated database session, in order to produce the new primary key for the Bc4J row.
The same way i want to work with UIX.
For background: I use postgresql as database and so i can't use the SequenceImpl in the create method of my BC4J entity to get the primary key; i usually do my own jdbc-select ow this new value in the create method; this works without problem in BC4J-JSP applications. But with uix the value of this new key is differently rendered depending on the browser i use. In mozilla for example i always get the value 1, always. In konqueror i get the right value, Internet Explorer also. To undergo these problems i want to produce the value in the way i described above. But i always get problems because there exists no way to post the data to database without committing. There is no <bc4j:PostChange> only <bc4j:commit>!....
Anybody knows a workaround??
Carstenmerging with thread
Complent for jbo:PostChange in UIX -
Hi
I am using Jdeveloper 10.1.2 and I am getting this error on one of the UIX page. I don't know what is wrong. The error is
oracle.jbo.JboException: JBO-33001: Cannot find the configuration file /abcfile/common/bc4j.xcfg in the classpath
I got this error after adding and removing the submit button in the page.
Thanks
MallikI have found the problem , and now its working!!!
The problem was that the java.exe that was running on the server was not the correct.
Thanks anyway,
Till next
Fernando -
Jbo:InputSelectLOV using UIX
Hello, I'm building an application using Business Components and UIX - JSP. I want to put a Combo Box or a Drop Down control that shows the information (an attribute) of another table, but when I use the jbo:InputSelectLOV, it apears at the top of the page.
How can I put that control where I need.
Best Regards
SantiagoWrap the jbo tag inside of a uix:rawText tag and it will show up in the right location in the page.
-
How to apply stlesheet to change stlye for jbo:InputSelect tag?
Hi,
I wonder how can i apply a my own style sheet for all BC4J's object render from a jsp page?
Please advice.
Thanks.The following should work.
<jbo:InputSelect datasource="foo" etc...>
<jbo:SetHtmlAttribute name="CLASS" value="style" />
</jbo:InputSelect> -
Which library do I import for JBO?
Hi,
Which library do I import into my project (from project properties) in JDeveloper if I want to use oracle.jbo.domain.date/number classes?
Are there classes/tools/already written code for converting domain.date to java.util date?
Thank you.The getValue method of Date class returns java.util.Date.
The dateValue method returns java.sql.Date.
oracle.jbo.domain.Date date;
java.util.Date date2=date.getValue();
java.sql.Date date3=date.dateValue(); -
UIX JSP For Business Components
I am looking for option under Web Tier - UIX JSP For Business Components - Complete UIX JSP Application. I cannot see that option in Jdeveloper 10g which was avaialble in 9i. What is the turnaround for it.
I have an application which I wanted to convert it to jsp, so that I could deploy it on the web.
Thanks in advance.We removed the "complete application" wizard in JDeveloper 9.0.5 since the application it was generating was hard to customize. Check out the tutorials on the JDeveloper home page to see how to build a complete application.
-
Equivalent tag in uix for html:errors/
hi,
i am handling the exception by struts in uix pages. if the input page is the jsp page i can use the following struts-html tag.
<html:errors/>
But i am using the uix page as my input page. any one pls give me the equivalent tag for <html:errors/> in uix.
any suggestions would be appreciated.
with rgds
parameswaranhi,
i am handling the exception handling using struts in uix pages. if the input page is the jsp page i can use the following struts-html tag.
<html:errors/>
But i am using the uix page as my input page. any one pls give me the equivalent tag for <html:errors/> in uix.
any suggestions would be appreciated.
with rgds
parameswaran -
Inconsistent Update error: JBO: 25014. Help Needed from Jdev team
Hi,
***Please help me in solving this issue. urgent!!!. Thanks.***
I need to know how can i Update after i browse throw a rowset
and set the row attributes. Simple posting the changes and
commit is giving me following error.
I am getting JBO:25014 when i try to update a detail table for
selected number of rows.
I have a JSP page which allows the user to select either at
master level or detail level using Radio Button and
2 Text fields, one for date and other for comments at master
level. This will appear mandatorily.
In detail level, Number of rows which will be dynamically
populated. If this level is selected, and say 5 lines are
displayed, I will be having 5 text fields for dates and 5 text
fields for comments. Upon submit, I pass these text fields
values as params and receive in JSP page as String arrays in a
seperate validation page .
At the database end, I have Order Master table and Lines detail
table.
For some records in Order table, I am able to update records in
both the tables. But for certain records in Order table, I am
unable to update the detail table and throws me a JBO:25014
error: : Another user has changed the row with primary key
oracle.jbo.Key
This record is very similar to other records and i am unable to
update this record from sql*plus.
In the validation Page, where i receive the parameters, I use
View objects for Orders and Details, executeQuery for selected
Order. Then I use Row Iterator for each of the view objects, in
between the row iterator tags, I set the row attributes with the
individual lines values if Libe level is selected or the common
header date and comments value to all lines.
Then i post changes and commit.
The code is below for the way I update lines records.
<jbo:DataSource id="ds"
appid="LivePoheaders.LivePoheadersAppModule"
viewobject="MyPOLinesView"/>
<jbo:RowsetIterate datasource="ds" >
<%
//trying to get a row object
rowln = ds.getRowSet().getCurrentRow();
// formatting my date input to a valid string
lnDateStr = PohdrFcastYear+"-"+PohdrFcastMon+"-"+PohdrFcastDay;
out.println(PohdrComments);
out.println("Header date" + lnDateStr);
formatter.applyPattern("yyyy-MMM-dd");
tempDate = formatter.parse(lnDateStr);
formatter.applyPattern("yyyy-MM-dd");
lnDateStr = formatter.format(tempDate);
lnVenFcastDate = new oracle.jbo.domain.Date(lnDateStr);
// setting the two attributes with input values
rowln.setAttribute("VendorForecastDate", lnVenFcastDate);
rowln.setAttribute("VendorComments",PohdrComments);
}catch( Exception e)
currErrorStatus = err.putErrorDesc(e.getMessage());
err.setCurrentErrorStatus(currErrorStatus);
%>
<jbo:RollBack appid="LivePoheaders.LivePoheadersAppModule"/>
<%
throw new oracle.jbo.JboException(e);
%>
</jbo:RowsetIterate>
<%
try
%>
<P> <b>Posting Changes ...</b> </P>
<jbo:PostChanges appid="LivePoheaders.LivePoheadersAppModule"/>
<P> <b>Committing Changes...</b> </P>
<jbo:Commit appid="LivePoheaders.LivePoheadersAppModule"/>
<P> <b>Commit Successful...</b> </P>
<%
currErrorStatus = "-1";
err.setCurrentErrorStatus(currErrorStatus);
}catch( Exception e)
currErrorStatus = err.putErrorDesc(e.getMessage());
err.setCurrentErrorStatus(currErrorStatus);
%>
<jbo:RollBack appid="LivePoheaders.LivePoheadersAppModule"/>
<%
throw new oracle.jbo.JboException(e);
%>From the JDeveloper 3.2.3 online documentation:
JBO-25014: RowInconsistentException
Cause: Comparison of the cached entity failed with the values in
the database for that entity. This could happen when another
user or operation has committed modifications to the same entity-
row in the database. This exception can also be thrown if the
equals() method on one of the domain-type attributes in the
entity fails.
Action: Choose from the following options:
--Verify that another user or operation has not modified the
same row in the database. If this entity has attributes of a
domain type verify that the equals() method on these domains do
not fail when comparing the existing cached value with the newly
fetched value.
--For any attributes/columns that are updated by the database,
modify the entity attribute definition by selecting Refresh
after update on the Attribute Settings page of the Entity Object
Wizard.
--Use view.executeQuery() frequently, especially after any
operations that result in data being changed. -
How to get the value of an jbo:InputSelectLOV field
I am trying to get the value that was picked by the user by jbo:InputSelectLOV field. The value just set by this is required for another field. The only way I can do this is by doing a commit every time the user picks a value. Any suggestions?. Note:I tried Jbo:PostChanges, it did not work.
Here is the code snippet. The first Lov gets the value for LocationId. Contacts has LocationId as the foreign key, and I need this to pick ContactId.
<tr>
<td>Customerlocation</td>
<td>
<jbo:InputSelectLOV datasource="ds" dataitem="Customerlocationid"
displaydatasource="CL" displaydataitem="Locationtype,Address1,Address2,City,State,Zip,Locationid"
displayvaluedataitem="Locationid" formname="WorkfilesView_form"/>
</td>
</tr>
<tr>
<td>CustomerContactid</td>
<td>
<jbo:InputSelectLOV datasource="ds" dataitem="Customercontactid"
displaydatasource="CC" displaydataitem="Contacttype,Contactinfo,Locationid,Contactid"
displayvaluedataitem="Contactid" formname="WorkfilesView_form"/>
</td>
</tr><BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Charles (JDev team) ([email protected]):
You can't do it right away, you have to submit first.
When you return from the first lov, the locationId value is set the form input field but not to the datasource yet, which is what you need to be able to see it in the second lov.
You need to submit the change immediately after the first lov is done and then forward to the same page.<HR></BLOCKQUOTE>
Charles:
Two questions:
1. How to call the editSubmit.jsp automatically after the value is "picked". Right now I have a kludgy "Click Here" link which calls editSubmit.jsp
2. I tried jbo:postchanges with out success. I have to commit to see the changes. Is this the right?.
null -
My BC4J-UIX application is throwing this error for all pages in my application when I try to update or insert records into any table.
What is wrong?
Thanks in advance
Rafael
PS.: I not copy the message for JBO-27020 because it is in portugueseSung,
I did what you asked and I receive the messages followed, no stack trace were shown but in uix page the JBO-27020 were. This log message is only when I click on the submit button.
[836] Reusing a cached session application module instance
[837] OracleSQLBuilder Executing Select on: PERMISSAO (true)
[838] Built select: 'SELECT CDPERFIL, CDMENU, CDPROGRAMA, SEQVERTICAL, SEQHORIZONTAL, HOTKEY FROM PERMISSAO Permissao'
[839] Executing LOCK...SELECT CDPERFIL, CDMENU, CDPROGRAMA, SEQVERTICAL, SEQHORIZONTAL, HOTKEY FROM PERMISSAO Permissao WHERE CDPERFIL=:1 AND CDMENU=:2 AND CDPROGRAMA=:3 FOR UPDATE NOWAIT
[840] Application Module failover is enabled
[841] Getting a connection for internal use...
[842] Creating internal connection...
[843] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
[844] <AM MomVer="0">
<cd/>
<TXN Def="0" New="1">
<EO Name="com.parceria.bc.Permissao">
<![CDATA[000300000002C103000000018000000002C102]]>
<PermissaoRow PS="2" PK="Y">
<Cdperfil>2</Cdperfil>
<Cdmenu>0</Cdmenu>
<Cdprograma>1</Cdprograma>
<Hotkey null="true"/>
</PermissaoRow>
</EO>
</TXN>
<VO>
<VO Sz="100" St="0" Def="com.parceria.bc.ProgramaView" Name="ProgramaView">
<Key>
<![CDATA[000100000002C107]]>
</Key>
</VO>
<VO Sz="100" St="0" Def="com.parceria.bc.PerfilView" Name="PerfilView">
<Key>
<![CDATA[000100000002C103]]>
</Key>
</VO>
<VO Sz="10" St="0" Def="com.parceria.bc.PermissaoView" Name="PermissaoView">
<Key>
<![CDATA[000300000002C102000000018000000002C105]]>
</Key>
</VO>
</VO>
</AM>
[845] **insert** id=1, parid=-1, collid=16553, keyArr.len=-1, cont.len=1127
[846] stmt: begin insert into "PS_TXN" values (:1, :2, :3, empty_blob(), sysdate) returning content into :4; end;
[847] stmt: update "PS_TXN" set content=:1 where collid=:2 and id=:3
[848] **commit** #pending ops=1
[849] **insert** id=-1, parid=0, collid=16553, keyArr.len=-1, cont.len=665
[850] stmt: begin insert into "PS_TXN" values (:1, :2, :3, empty_blob(), sysdate) returning content into :4; end;
[851] stmt: update "PS_TXN" set content=:1 where collid=:2 and id=:3
[852] **commit** #pending ops=1
[853] Getting a connection for internal use...
[854] Creating internal connection...
[855] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
[856] **retrieve** id=-1, collid=16552, keyonly=false, parid=0, ret=oracle.jdbc.driver.OracleBlobInputStream
[857] stmt: select parentId, content from "PS_TXN" where id=:1 and collid=:2
[858] **retrieve** id=1, collid=16552, keyonly=false, parid=-1, ret=oracle.jdbc.driver.OracleBlobInputStream
[859] stmt: select parentId, content from "PS_TXN" where id=:1 and collid=:2
[860] **deleteAll** collid=16552
[861] stmt: delete "PS_TXN" where collid=:1
[862] **commit** #pending ops=1
Thanks
Rafael -
Error Message: JBO-26018
Error Message: JBO-26018: Cannot insert a new row with no attribute set in entity Kssegtobjbasdat
I have the following error. Could you help me to solve the problem.
When I run that on JDeveloper it works but when I run on the webserver it doesn't:
The source code for the insert page is:
<%@ taglib uri="../webapp/DataTags.tld" prefix="jbo" %>
<jbo:ApplicationModule configname="PkgSeg.PkgSegModule.PkgSegModuleLocal" id="PrjSegJSP_PkgSeg_PkgSegModule" />
<jbo:DataSource id="dtsObjBasDat" appid="PrjSegJSP_PkgSeg_PkgSegModule" viewobject="KssegtobjbasdatView" ></jbo:DataSource>
<form name="KssegtobjbasdatView_Submit" action="kssegm0010d.jsp">
<p> </p>
<jbo:Row id="newrow" datasource="dtsObjBasDat" action="Create" ></jbo:Row>
<table border="0">
<tr>
<td> <FONT class="eticam"> Nombre único del Objeto:
</font> </td>
<td> <FONT class="camdat"><jbo:InputText datasource="dtsObjBasDat" dataitem="Nomuniobj" /></font> </td>
</tr>
<tr>
<td> <FONT class="eticam"> Descripción
del Objeto: </font> </td>
<td><FONT class="camdat"> <jbo:InputText datasource="dtsObjBasDat" dataitem="Desobj" cols = "50"/></font> </td>
</tr>
<tr>
<td> <FONT class="eticam"> Tipo de Objeto: </FONT> </td>
<td> <select name="Tipobj">
<option value="TA">Tabla</option>
<option value="VI">Vista</option>
<option value="TA">Secuencia</option>
<option value="PA">Paquete</option>
<option value="PR">Procedimiento</option>
<option value="FU">Funcisn</option>
<option value="SN">Snapshoot</option>
<option value="SI">Sinsnimo</option>
</select>
</td>
</tr>
</table>
<br>
<input type="submit" value="Guardar"/>
<input type="reset" value="Limpiar"/>
</form>
The source code for the submit page is:
<% String mypage = request.getParameter("PageNameValue"); %>
<% String nomuniobj = request.getParameter ("Nomuniobj");%>
<% String tipobj =request.getParameter ("Tipobj");%>
<% String desobj =request.getParameter ("Desobj");%>
<%@ taglib uri="../webapp/DataTags.tld" prefix="jbo" %>
<jbo:ApplicationModule configname="PkgSeg.PkgSegModule.PkgSegModuleLocal" id="PrjSegJSP_PkgSeg_PkgSegModule" />
<jbo:DataSource id="dtsObjBasDat" appid="PrjSegJSP_PkgSeg_PkgSegModule" viewobject="KssegtobjbasdatView" ></jbo:DataSource>
<jbo:Row id="nuevo" datasource="dtsObjBasDat" action="Create" >
<jbo:SetAttribute dataitem="Nomuniobj" value="<%= nomuniobj %>" />
<jbo:SetAttribute dataitem="Desobj" value="<%= desobj %>" />
<jbo:SetAttribute dataitem="Tipobj" value="<%= tipobj %>" />
</jbo:Row>
<jbo:PostChanges appid="PrjSegJSP_PkgSeg_PkgSegModule" />
<jbo:RefreshDataSource datasource="dtsObjBasDat" />
nullDid you ever got an answer on this.
Kamran -
I've got a quick question I can't seem to find the answer to anywhere else so here goes:
I've been tasked by my company to do some JSP development for a simple application (accessing a DB, printing reports, etc). They'd like it done in UIX because of the preformatted feel. Since I'm relatively new to this technology I've been using the wizards and hacking the pages as needed.
So far so good. But on one of the editing pages (i.e. where you add/modify records) I'd like to not use the default input renderer (<bc4juix:InputRender...>) that the wizard provides (which produces a textbox) and use a combo box instead. The problem is if i use <jbo:InputSelect...> the combo box is kicked out of the UIX layout and defaults to the upper lefthand corner of the screen. Also, if i use <uix:choice...> I can't figure out how to map the values to the column in the table i'm using.
I know this probably has a simple answer to it, but I'd appreciate help on either figuring out how to get jbo:InputSelect to fall into the UIX page layout or how to map the information in uix:choice to the database. Any other suggestions would be helpful
If this doesn't make sense, let me know. Also can anyone suggest some good resources (either on the 'net or bookwise) for JSP and/or UIX development?
Thanks in advance.Not sure how to customize the <bc4juix:InputRender> JSP tag, but you can find more information about many UIX topics in the UIX Developers Guide in the JDeveloper Help system.
Also available online, at:
http://helponline.oracle.com/uix/help/
Kind Regards. -
Hi Steve
Can you advice me a tool for unit testing my UIX pages apart from HttpUnit and HtmlUnit frameworks?
HttpUnit gives javascript errors. HtmlUnit is not practical for the complex HTML produced from a UIX page.
ThanksCactuz?
-
How to bind to a dynamic View in UIX
I wish to have a UIX page access data from a dynamic View (i.e. the View is created at runtime). Since the View is not created at design time, I cannot create bindings for it in the UIX page's UIModel. Therefore, how do I reference this view in the UIX page?
BradSanjay,
No -- but I'm experimenting with something simillar to what you mention. Actually, there is a way to iterate over each element if you made the childData attribute of your contents child of the messageChoice your rangeSet, i.e.:
<messageChoice>
<contents childData="${bindings.myIterator.rangeSet}">
<option text="${uix.current.myfield}"/>
</contents>
<messageChoice>
The problem is that this causes a problem with the subsequent submit, the current row, and what selection shows when the page is re-rendered. I am becoming more convinced because of this and some other things I've run into that there are either problems with using ViewLinks, or problems in UIX components where ViewLinks are involved. I'm pretty much abandoning use of ViewLinks altogether. I haven't seen much of anything work with them that isn't done exactly like tutorials and examples. And with regards to those, most tutorials and examples offer very little UIX help (most of them are JSPs), and even the ones that do have in-a-vaccuum style in-line databinding rather than database databinding (you'd think Oracle, a database company, might actually use database examples), which doesn't clarify a bunch of issues someone writing a reall application runs into.
As to an answer -- no unfortunately. Getting an answer to any ADF/UIX question is a time-consuming, frustrating, and most often fruitless process. Of my 45 some-odd posts on this forum, about 30 of them are unresponded-to posts.
B
Maybe you are looking for
-
Silent install of iTunes 10 for Windows
I am trying to deploy iTunes 10 to about 100 windows machines. Is there a command I can use to make the install silent. I have seen past references to /q /n and /quiet /passive but those do not seem to work. I have also seen references at appdeploy.c
-
I am having some problems getting the XML structure I want for Arrays. Let's say I want an array that looks like this in xml: <Operation> <Element2>data1</Element2> <Element2>data2</Element2> </Operation> I would have thought I could the jws operatio
-
Mi iPod touch 5 se me ha caído y tiene una abolladura
Mi iPod touch 5 se me ha caído y tiene una abolladura, lo compre hace 5 meses, quiero saber si es posible repararlo o que lo cambien por por otro nuevo y no se sí la garantía lo cubre o yo tendría que pagarlo
-
Anyone know how to signout from a Mac?
The instructions when I search for help on this say Open an Application, click help then select signout. I think this is only applicable to windows, using a mac the signout option is not available here. I have tried various searches and also checked
-
We have a hosting customer who is wondering if they can install Lync 2013 on 1 single VM guest. I am new to Lync, so I apologize for very standard questions. 1. My understanding is that if they use Lync Standard, they can use SQL Express located on