Validating primary key in Detail block...
Dear Oracle Friends..
I have a master-detail form. Detail blk (further referred as dtl) has primary key on 2 cols namely CODE1 and CODE2. CODE1 is foreign key to the master blk. CODE2 will have unique values with respect to CODE1.
When I create the master-detail form the user can enter more that 1 records in detail block. Now I want to trace that the value of CODE2 field should not be duplicate while the entry of multiple records.
I cannot POST the record as my some other functions will mal-function then. One thing to note that this field is a list item.
I tried to validate it in when-validate-item using loop on all the fetched values by going on FIRST_RECORD and scanning all the values of CODE2 but it is restricted built-in and not supported here.
POST_CHANGE trigger also not works.
Can anybody suggest me a solution
Thanks
UMESH
Hi
There is the (in)famous solution of the 1-millisecond timer.
In the item when-validate-item trigger, create a
non-repeating timer of 1 ms, and in the form when-timer-expired
trigger you can navigate by all the records and check if
there is some duplicity, because there you can use restricted
built-ins.
Luis Cabral
Dear Oracle Friends..
I have a master-detail form. Detail blk (further referred as dtl) has primary key on 2 cols namely CODE1 and CODE2. CODE1 is foreign key to the master blk. CODE2 will have unique values with respect to CODE1.
When I create the master-detail form the user can enter more that 1 records in detail block. Now I want to trace that the value of CODE2 field should not be duplicate while the entry of multiple records.
I cannot POST the record as my some other functions will mal-function then. One thing to note that this field is a list item.
I tried to validate it in when-validate-item using loop on all the fetched values by going on FIRST_RECORD and scanning all the values of CODE2 but it is restricted built-in and not supported here.
POST_CHANGE trigger also not works.
Can anybody suggest me a solution
Thanks
UMESH
Similar Messages
-
Dear Experts,
I've a master detail form.
I detail form there is no primary key. When it is executed the following error displayed :
FRM-30100: Block must have at least one primary key item.
Block: ASSETS_ISSUE_DTL
Form: FORM_ASSETS_ISSUE_DTL
What to do?I got it.
Create a dummy text box item in detail block.
Write rowid in column name.
Set Primary key YES.
Thanks. -
Who can I update primary key field in master block
Hi,
I want to update the primary key field in master block when there are some records are present in detail block, when I edit the primary key filed there is an error FRM-40509 unable to update record. The primary key is also referred by the detail table.
So kindly give me the solution who can I update the primary key in master block when there is child records exists in detail block?.
Best regard,
shahzadpls tell us a little more about, why you want to update a PK in a master block.
I haven't done that my whole time. Maybe you need something different.
The problem is, that your child-data references to the master-pk, so there is the point you have to go deep into the codings. But better don't do it. Tell us first why. I think there are other solutions for that.
try it
Gerd -
CHILD form error FRM-30100: Block must have at least one primary key item.
Hi friends,
I have increased the DML array of the child block from 1 to 10, but it throws me error:
FRM-30100: Block must have at least one primary key item.
Block: CEC_ADJUSTMENT_RECON
Form: CEC_ADJ
FRM-30085: Unable to adjust form for output.
How does a form know that the table does not have primary key? Is it referring to it?
Thanks a lotI dont understand why do you increase the DML array size..
Because it says in the HELP
Specifies the maximum array size for inserting, updating, and deleting records in the database at one time.
A larger size reduces transaction processing time by reducing network traffic to the database, but requires more memory. The optimal size is the number of records a user modifies in one transaction.
The FRM-30100 comes not because of the above property..
If your query data source type is other than TABLE, it is a must to set at least one database field's PRIMARY KEY ITEM PROPERTY in the block to be a YES. -
EF beta - views with no primary key
When importing views into the entity framework designer, it often gives this error (in the edmx file only; no error is shown in the UI):
warning 6013: The table/view '[view name]' does not have a primary key defined and no valid primary key could be inferred. This table/view has been excluded. To use the entity, you will need to review your schema, add the correct keys, and uncomment it.
I don't want to cloud the issue by going into the details of the views in question; there will always be views where no PK can be inferred automatically, for many reasons. And I am quite happy to define the key fields myself after import. The problem is that it can't be imported at all. So my question to the ODP.NET developers is: can you just import it, and leave me to define the PK?
The workaround I am using is:
1) define a temp table of the same structure
2) temporarily recreate the view as "select * from [temp table]"
3) update the model from database
3) recreate the proper view
But it's a pain. I have to remember to do that every time I update the model from the database. If I forget, it wipes the mapping, and I have to redefine it manually, field by field.Unfortunately there is still a problem, in a minority of cases:
Error 75: Key Part: '[field name]' for type [view name] is not valid. All parts of the key must be non nullable.
This happens when the view field is not marked "not null". Generally it flows through from the underlying table field. But one of my views involves a "union all". The underlying table fields are marked "not null" but it doesn't make it through the "union all". The view has a primary key, but still the error.
I would rather it just trust me that primary key fields will never be null. -
Multiple composite primary key in Master Table
Dears ,
I am try to find any solution about Multiple composite primary key by search in forum , but i didn't success ... i am try to built master detail , the master structure table built with multiple composite primary key , i know that apex 4.2 still support tow primary key , in detail table i solved the problem by depend on rowid , and now i can use multiple composite primary key in detail table , the problem with master table because it's support only tow primary key , there are any solution by manual process or any something else ?
Thanks
Abo YahyaHi,
I've never done this so all I can do is give some suggestions. It takes more effort because you are going beyond what APEX currently supports. That said, you might try searching the forum with this search string:
key AND table AND instead
Make sure the ANDs are capitailized in the search criteria. Also, look at this thread {thread:id=395870} and the forum thread asociated with this message {message:id=10542916}.
Best wishes,
Howard -
Hi all...
I hace created a Master table and a detail table. the detail table can have multiple records corresponding to a code in master table.this is the case which i want but its giving error of violation of primary key in detail table due to bydefault field Code in the table
Thanks in advanceHi
Good way are creating of UDO using these tables:
- Master = MASTER_DATA;
- Details = MASTER_DATA_ROWS.
If you import data you need to give values to saome SAP attributes.
Look this link [Thread: How to import data from excel to UserDefined Fields|How to import data from excel to UserDefined Fields;. May be it can help you.
Regards
Sierdna S. -
Primary key in master detail form
i have a situation where i need to access the value of primary key (primary key is hidden) in a master-detail form.
i need to access the primary key in the javascript onClick event of the button. i'm using the following code in the ...before displaying the form event :-
htp.p('<script language="JavaScript1.3">
<!--
function getField(form,fieldName)
var objName = "";
var tmp = "";
var dAction = "";
var sel_idx = 0;
var cnt = 0;
var instance = 0;
var slicedName;
var fillData = new Array();
for (var i = 0; i < form.length; i++)
slicedName = form.elements.name.split(".");
tmp = slicedName[2];
instance = parseInt(slicedName[3],10);
if (!tmp)
continue;
objName = tmp;
if (objName == fieldName)
return form.elements[i].value;
//-->
</script>');
and then i'm calling this javascript in onClick event of the button as follows :
var_get_val = getField(this.FORM,'PROD_ID');
this script works for a form with single block but, does not work with the master detail form.
what is wrong here ... ??
any ideas or suggestions ...??
thanx a lot.
nullThank you, Denes,
but isn_t there a simplier way to use a third column ?
I will keep your idea in mind and try out as soon as possible.
With kind regards,
Hergen. -
Master-detail with auto-generated primary key(master)
Hello,
I have the following master-detail setup:
Master - block A primary key is: codeA
Detail - block B
codeA is genrated only at commit time and is obtained from a sequence.
User needs to add detail records. This is easy to do since he has to click on the insert icon on the toolbar. At commit time, use commit_form.
Prob: the requirements as asked by the client is to add a button (which we will label INSERT DETAIL). When the user click on the button, it opens a window where he can enter the detail info then click on save. This should bring him back to the master-detail form and the record in the detail block is inserted.
What is the problem here ? since the detail block has the foreign key tied to the master primary key, the window-form (with the call_form) that we opened for the detail entry won't be able to save since at this point we still have not assigned a value for the primary key (and hence a value for the foreign key).
Possible Suggestions:
-Use a temp database table to hold the detail record from the second form and use it to transfer values to the detail record in the master-detail
-Use a global record group
-We can't use parameter list to pass back these values.
So my question is:
What would be the most efficient way to have an insert button on the detail block that would allow the user to have a pop up where he can insert his values and then be brought back to the master-detail.
Thanks.Hello again,
May be I was not clear enough.
Scenario 1: We use the master-detail form as is with the default oolbar. In this case, the user can insert the detail records one by one without needing the primary-foreign key value since this is handled by default.
Once we save the form (commit_form), I use the pre-insert trigger to get the master block primary key generated from the sequence and since the detail block key is copied from this value, both are saved correctly and it is the end of the story.
Scenario 2: As explained in the initial post, the user will populate the detail records one by one by clicking on the -INSERT DETAIL- button and hence has a window where he can insert the detail info and then be brought back to the master-detail form every time he enters a new detail record.
The problem here is that I can't generate the primary key for the master block since the client has the following requirement:
The user can always change his mind and not complete, meaning save the form, his process
As such, the key should be generated in the last step before Commit. -
Foreign key validation while creating master/detail record in document mode
I am creating master/detail records in the document mode. And I am generating the master primary key in the create() method of the master Entity Object. Now I valdate the foreign key in the detail Entity Object's validateEntity() method by doing a query to the master table through some View Object.
But since the master record has not yet been posted (since it hasn't been committed) to the database, this query does not return any record and the validation fails in detail object.
And thus the create fails.
Please let me know if this is the right approach for doing this. If so where I am going wrong? Else please let me know if there are any better approach to do this.
KunalKunal:
Use a code snippet like the following:
--- Assuming you're in the detail EO's create method ---
oracle.jbo.server.EntityDefImpl eDef = oracle.jbo.server.EntityDefImpl.findDefObject(<package-qualified-name-of-the-master-Entity-Object>);
oracle.jbo.Row masterRow = eDef.findByPrimaryKey(this.getDBTransaction(), <foreign-key>);
If the row does not exist, masterRow will be null.
findByPrimaryKey first checks the entity cache (which will include your new master row(s)) and then go out to database (if it's not in cache).
Thanks.
Sung -
Change primary key field in Master-Detail Form (Urgent)
Hi,
Can some experts share your valuable experience on the problem below?
We have created a form Master-Detail relation. For some reasons, we have to allow the primary key field to be editable. But we couln't achieve it in Form 6i. It gives update error during commit.
Your kind help will be highly appreciated.
Regards,
YMHi there,
I think the problem is because u are updating the primary key in the master block but since it is a master detail block u need to update it in the detail block as well.so what i suggest u to do is in the pre-insert trigger assign the value of master primarykey to the detail primary key....
just check this out hopefully this shud help u.
Bye
Atul -
BC4J Custom API: Batch Validation with Sequence-based primary key
Hi people,
I am trying to create a BC4J Custom API using the Batch Validation feature of iSetup Framework. However, my entity object has a sequence-based primary key, and this key is carried to the View Object. This way, i have three attributes marked as key attributes in the VO: InvoiceTypeId (the sequence), OrganizationId and InvoiceTypeCode (The alternate, developer key). the primary key is marked AZ_EXPORTABLE=FALSE, because it must be rebuilt in the target using the alternate key.
I was able to successfully extract a single row to XML using this API (i am testing locally). When i try to import this XML file containing a single row, i get the following exception. Is this feature supported in Batch Validation mode?
Regards
Thiago Souza
** Exception starts **
Started import...
An exception occurred in API 'CLL Invoice Types'.
oracle.apps.fnd.framework.OAException: An exception occurred in API 'CLL Invoice Types'.
at oracle.apps.az.fwk.BEUtil.wrapperException(BEUtil.java:395)
at oracle.apps.az.fwk.server.BEImport.populateTempTableForBatchValidation(BEImport.java:1927)
at oracle.apps.az.fwk.server.BEImport.importXML(BEImport.java:371)
at oracle.apps.az.fwk.server.BEApplicationModuleImpl.importFromXML(BEApplicationModuleImpl.java:404)
at R12APITester.importFile(R12APITester.java:205)
at R12APITester.importFile(R12APITester.java:180)
at R12APITester.main(R12APITester.java:65)
## Detail 0 ##
oracle.apps.fnd.framework.OAException: java.sql.SQLException: ORA-06550: line 32, column 29:
PL/SQL: ORA-00904: "KEY31": invalid identifier
ORA-06550: linha 32, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 33, coluna 29:
PL/SQL: ORA-00904: "KEY32": invalid identifier
ORA-06550: linha 33, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 34, coluna 29:
PL/SQL: ORA-00904: "KEY33": invalid identifier
ORA-06550: linha 34, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 35, coluna 29:
PL/SQL: ORA-00904: "KEY34": invalid identifier
ORA-06550: linha 35, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 36, coluna 29:
PL/SQL: ORA-00904: "KEY35": invalid identifier
ORA-06550: linha 36, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 37, coluna 29:
PL/SQL: ORA-00904: "KEY36": invalid identifier
ORA-06550: linha 37, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 38, coluna 29:
PL/SQL: ORA-00904: "KEY37": invalid identifier
ORA-06550: linha 38, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 39, coluna 29:
PL/SQL: ORA-00904: "KEY38": invalid identifier
ORA-06550: linha 39, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 40, coluna 29:
PL/SQL: ORA-00904: "KEY39": invalid identifier
ORA-06550: linha 40, coluna 1:
PL/SQL: SQL Statement ignored
ORA-06550: linha 41, coluna 29:
PL/SQL: ORA-00904: "KEY40": invalid identifier
ORA-06550: linha 41, coluna 1:
PL/SQL: SQL Statement ignored
at oracle.apps.fnd.framework.OAException.wrapperException(Unknown Source)
at oracle.apps.az.fwk.server.BEValidationXMLParser.executeSql(BEValidationXMLParser.java:288)
at oracle.apps.az.fwk.server.BEValidationXMLParser.collectUKFKValues(BEValidationXMLParser.java:254)
at oracle.apps.az.fwk.server.BEImport.populateTempTableForBatchValidation(BEImport.java:1897)
at oracle.apps.az.fwk.server.BEImport.importXML(BEImport.java:371)
at oracle.apps.az.fwk.server.BEApplicationModuleImpl.importFromXML(BEApplicationModuleImpl.java:404)
at R12APITester.importFile(R12APITester.java:205)
at R12APITester.importFile(R12APITester.java:180)
at R12APITester.main(R12APITester.java:65)Hi Thiago,
I would suggest to test your API first with row by row validation mode where you would be resolving the foreign and primary keys as specified in the framework. This would help you to understand the framework better and once it starts working for you and then you can try with batch validation mode.
Thanks
Mugunthan. -
Null value in detail table's primary key
I use Business Components Data Form to define a master-detail java panel.
I don't display the primary key column in the detail grid control.
Then I click on "+" to add a row, enter a value (the 2nd part of the detail table's primary key) and click commit.
I get an error saying that the primary key column that's not displayed is null and the row cann't be committed.
How do I fix this error?My fields are varchar2's.
-- simplified to protect the guilty:
-- (made up from memory, so sql keywords may --be misspelled, but you get the idea)
create table proj (
proj varchar2(10) not null,
constraint proj_pk
primary key(proj)
insert into proj values ('abc');
commit;
-- this table has legal values for -- the master.legal field.
-- in master, legal was changed to a -- ComboBoxControl control from -- TextFieldControl that the wizard -- generated.
create table legal_values (
proj varchar2(10) not null,
legal varchar2(10) not null,
display_order integer not null,
constraint legal_values_pk
primary key (proj, legal)
insert into legal_values
values ('abc', 'one', 1);
insert into legal_values
values ('abc', 'two', 2);
insert into legal_values
values ('abc', 'three', 3);
commit;
create table master (
proj varchar2(10) not null,
masterKey varchar2(15) not null,
legal varchar2(10) not null,
constraint master_pk
primary key (proj, masterKey)
create table detail (
proj varchar(10) not null,
masterKey varchar(15) not null,
detailkey varchar(10) not null,
display_order integer not null,
status varchar2(12) not null, -- user can only update this field
constraint detail_pk
primary key(proj, masterkey, detailkey)
-- legal rows for detail table
create table detail_values (
proj varchar2(10) not null,
detailkey varchar2(10) not null,
display_order integer not null,
constraint detail_values_pk
primary key(proj, detailkey)
insert into detail_values values
('abc', 'status a', 1);
insert into detail_values values
('abc', 'status b', 2);
commit;
-- if their is a foriegn key on details back
-- to master, then you get the
-- "mutating table" error when trigger
-- occurs.
create or replace trigger master_tr
after insert on master
for each row
begin
insert into detail
(masterKey, detailKey, status, display_order, status)
select :new.masterkey, detail_key, display_order, ' '
from detail_values;
end;
-- detail.status is a comboboxControl getting --its values of of another db table too.
-- there's also "after update" triggers on master and detail tables that copy the record to master_history and "detail_history" tables if the corresponding table is modified. Thus we have a history of the changes made to the records. The 2 history tables have 2 additional fields than their parents, "modified_date date default sysdate not null" and "modified_by varchar2(30) default user not null" that record when and who made the change. There's also a change type field that records where the change is an insert, delete or update (there 3 triggers per table , so we can correctly record change type as being insert, delete or update into the change_type field).
If you want to make it more real to life, the status value is initially blank, then can be changed to a legal status value (complete or not complete), but can not be changed back to blank.
***P.S. I have to have this ready for production by monday.****
P.P.S After you reply and change to ComboBoxControls in 2 places, try changing the table names and/or the column names (say to follow the DBA's naming convention) or add another field to the composite primary key (and unstated foriegn key) (using drop table/create table). Now try getting the existing code to run. No writing down the old/new table (or column) name pair names. Just run the code and try to fix the code based on the error messages. Are the error messages giving you adequate information to find the problem? -
Problem with primary key violation in master-detail screens
Hi,
I found a problem/bug in master-detail screens in which the PK of the detail table consist of the PK of the master table and an additional column. E.g. a manually entered sequence 'in parent'.
I will use the following simple scenario to explain the problem (it's easy to reproduce):
PROJECT table
# id (PK)
* name
PROJECT REQUIREMENTS table
# prj_id (PK)
# sequence_id (PK)
* description
Just create the BC EO, VO and AM and set both display properties of the prj_id attribute of the project requirements VO to hidden.
Create a new screen in the application structure file in which you can select a project (table-form layout) and display the details (table layout) on the same page.
With this basic setup you can generate the app to enter, update and delete projects and their requirements.
The problem occurs if you have a project with a least 1 requirements stored in the database and you try to enter a second requirement with an existing sequence_id within the project. This is an use case in which a end-user enters wrong data.
So assume we have in the database:
prj_id sequence_id description
====== =========== ===========
1 1 req1
and the end-user enters (prj_id is entered automatically as it's not displayed):
1 1 req2 >> user should have enterd sequence_id 2...
Step 1. If you try to save an error will be displayed:
JBO-25013: Too many objects match the primary key oracle.jbo.Key[227300 1 ].
And the sequnece_id is emptied automatically.
Step 2. So the end-user re-enters the sequence_id but fills in 2 now and saves.
Another error is displayed: JBO-27014 sequence_id in AppModule is required
How strange? Everything is filled in already.
Step 3. If you just hit save again (without changing anything) you got a transaction completed successfully.
I checked the logfiles and noticed an exception during after executing step 2.
oracle.jbo.AttrValException: JBO-27014: Attribute SequenceId in AppModule.ProjectRequirementsView2 is required at oracle.jbo.AttrValException.<init>(AttrValException.java) at oracle.jbo.server.JboMandatoryAttributesValidator.validate(JboMandatoryAttributesValidator.java) at oracle.jbo.server.EntityDefImpl.validate(EntityDefImpl.java:2051) at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:1373) at mypackage1.ProjectRequirementsImpl.validateEntity(JwTekeningnummerImpl.java:273) at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:1508) at oracle.jbo.server.EntityImpl.validateChildren(EntityImpl.java:1232) at oracle.jbo.server.EntityImpl.validateEntity(EntityImpl.java:1339) at oracle.jbo.server.EntityImpl.validate(EntityImpl.java:1508) at oracle.jbo.server.DBTransactionImpl.validate(DBTransactionImpl.java:3965) at oracle.adf.model.bc4j.DCJboDataControl.validate(DCJboDataControl.java:967) at oracle.adf.model.binding.DCBindingContainer.validateInputValues(DCBindingContainer.java:1683) at oracle.jheadstart.view.adfuix.JhsInitModelListener.validateInputValues(JhsInitModelListener.java:193) at oracle.jheadstart.view.adfuix.JhsInitModelListener._doModelUpdate(JhsInitModelListener.java:166) at oracle.jheadstart.view.adfuix.JhsInitModelListener.eventStarted(JhsInitModelListener.java:92) at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source) at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source) at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source) at oracle.adf.controller.struts.actions.StrutsUixLifecycle$NonRenderingPageBroker.handleRequest(StrutsUixLifecycle.java:325) at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source) at oracle.adf.controller.struts.actions.StrutsUixLifecycle._runUixController(StrutsUixLifecycle.java:215) at oracle.adf.controller.struts.actions.StrutsUixLifecycle.processUpdateModel(StrutsUixLifecycle.java:106) at oracle.jheadstart.controller.strutsadf.action.JhsStrutsUixLifecycle.processUpdateModel(JhsStrutsUixLifecycle.java:140) at oracle.adf.controller.struts.actions.DataAction.processUpdateModel(DataAction.java:317) at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.processUpdateModel(JhsDataAction.java:622) at oracle.adf.controller.struts.actions.DataAction.processUpdateModel(DataAction.java:508) at oracle.adf.controller.lifecycle.PageLifecycle.handleLifecycle(PageLifecycle.java:112) at oracle.adf.controller.struts.actions.StrutsUixLifecycle.handleLifecycle(StrutsUixLifecycle.java:70) at oracle.adf.controller.struts.actions.DataAction.handleLifecycle(DataAction.java:223) at oracle.jheadstart.controller.strutsadf.action.JhsDataAction.handleLifecycle(JhsDataAction.java:389) at oracle.adf.controller.struts.actions.DataAction.execute(DataAction.java:155) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1485) at oracle.jheadstart.controller.strutsadf.JhsActionServlet.process(JhsActionServlet.java:127) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:527) at javax.servlet.http.HttpServlet.service(HttpServlet.java:765) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239) at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20) at oracle.jheadstart.controller.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:645) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)
This also explains why I got a error message within the application at step 2, but not an expected error message!
From the logfile I can see something is going wrong in the oracle.jbo.server.EntityImpl.validateEntity method.
To get more insight what was goning on I overridden the validateEntity method in my VO Impl class:
protected void validateEntity()
System.out.println("MARCEL>> sequenceId=" + getSequenceId());
System.out.println("MARCEL>> description=" + getDescription());
super.validateEntity();
In step 1 the validateEntity is not called.
In step 2 the sequeceId = null (and description = reg2)
I expected the sequeceId to be 2 now as I entered this. Furthermore if I look at the (JhsActionServlet) request parameters in the log, I can see that the value of the sequenceId was 2. I guess something is going wrong at this point in converting the request parametes to the EO.
In step 3 the sequeceId = 2 (as expected)
Note that I'm using the evaluation copy version of JHeadstart 10.1.2.
If this was patched in any later build, could you please tell which changes I have to make to the JHS sources to solve this problem.
Regards,
MarcelMarcel,
I cannot reproduce this in version 10.1.2.2. We did not "fix" this, although changes in the runtime might have fixed this "silently". I suggest you upgrade to 10.1.2.2 and see whether you still get the error.
Steven Davelaar,
JHeadstart Team. -
Validation on Primary Key value in TMG
Hi,
I have a custom table with field Outcome_id as primary key. I have to put some validation on this primary key value.
For the above I hv used a TMG Event '01' and written the code for validating the values.
On save when validation fails the primary key field gets disabled even though entry is prevented from being saved.Since the value of the primary key cannot be changed the validation fails recursively.
How cn I keep the primary key fields enabled when the validation fail.
Rgds,
Swati.Hi,
As per basic Module pool programming a screen field gets disabled after throwing an error.
You will have to use Field statement in the module pool program generated for your tables TMG and modify it.
But please note- any time TMG is regenerated all changes are lost.
"refering sap help "
Checking Single FieldsIf you send a warning or error message from a module mod that you called using a FIELDstatement as follows:
FIELD f MODULE mod.
the corresponding input field on the current screen is made ready for input again, allowing the user to enter a new value. If the field is only checked once, the PAI processing continues directly after the FIELDstatement, and the preceding modules are not called again.
refer this :
[http://help.sap.com/saphelp_nw04s/helpdata/en/9f/dbaa4735c111d1829f0000e829fbfe/content.htm]
Edited by: sap_wiz on Jun 22, 2011 5:20 PM
Maybe you are looking for
-
am trying to import from macbook to macbook pro using migration assistant...tells me that i need to update old mac but macbook tells me it is up to date???? any hints on how i fix this issue? running 10.4.11 and it wont update further...please help.
-
How to handle large images?
Hi, Does anyone know how to handle big jpg images (1280*960) so that they could be presented in a midlet. The problem is that the images requires so much memory that they can't be decoded to an Image object with Image.createImage method. One solution
-
Just purchased an Iphone 5. The I want to delete apps but the x at the top corner of the apps icon is missing, how do I get it back?
-
I want to change my simulate view of document in transaction code F-02
Dear all I want to change my simulate view of document in transaction code F-02 and want to display line item text there in my simulation.The standard layout in edit option"FB00" is "SAP01 SAP standard".This is in Doc. overview line layout. I want to
-
WebLogic 8.1 to 9.2 migration errors
Hi, We have migrated from BEA webLogic 8.1 to 9.2. The request.getParameter values in the JSPs are getting set to "null" on page load in webLogic 9.2. But, the same are getting set to a blank ( "" ) in webLogic 8.1 Also, no code changes have been mad