Variable becomes invalid during loop (CS6 based)
First off I know that CC fixed this, but unfortunately my hands are tied and I have to use CS6 for this process. The script below is built to allow user to select precomp layers within a master comp. It then strips each precomp down to just itself and then the project is reduced to just the master comp and associated assets. It's actually inspired by Jeff Almasol's script he made for me years ago. I've just customized my own variation due to an issue in CS6 with the Reduce Project function. The issue arrising is that the loop goes off and processes the first selected precomp properly, but the master comp variable becomes invalid upon the second precomp processed. The script involves saving the project file and reopening the main source project during the loop process. Any thoughts as to why the variable is becoming invalid? The lines marked BOLD and ITALIC are the trouble spots.
function compToProjectsScript(thisObj){
try{
var masterComp, curItem, selLayerIndices, selLayerIndicesLength, curLayer, curLayerName, saveFolder, newFileInfo, curLayerIndex, folderString, allItems;
///FUNCTIONS
//retrieveSelectedLayersIndex
function retrieveSelectedLayersIndex(compObj){
var selLayers, selLayersLength, layerIndex;
layerIndex = new Array();
selLayers = compObj.selectedLayers;
selLayersLength = selLayers.length;
for(var l=0; l<selLayersLength; l++){
if(selLayers[l].source instanceof CompItem){
layerIndex.push(selLayers[l].index);
return layerIndex;
//reduceCompToLayer
function reduceCompToLayer(layerObj, compObj){
var layerCount = compObj.numLayers;
var lastLayer = compObj.layer(layerCount);
layerObj.moveBefore(lastLayer);
for(var i=1; i<=layerCount-2; i++){
firstLayerLocked = compObj.layer(1).locked;
if(firstLayerLocked == true){
firstLayerLocked = false;
compObj.layer(1).remove();
}else{
compObj.layer(1).remove();
//retrieveParentCompIndexNum
function retrieveParentCompIndexNum(){
var proj, openedComp, parentComp, itemcount;
proj = app.project;
openedComp = proj.activeItem;
itemcount = proj.numItems;
if(openedComp instanceof CompItem){
parentComp = {'name': openedComp.name, 'id': openedComp.id};
for(var i=1; i<=itemcount; i++){
if(proj.item(i).name == parentComp.name && proj.item(i).id == parentComp.id){
return i;
masterComp = app.project.item(retrieveParentCompIndexNum()); //VARIABLE SET
selLayerIndices = retrieveSelectedLayersIndex(masterComp);
selLayerIndicesLength = selLayerIndices.length;
var curProjFile = app.project.file;
if(curProjFile != null){
saveFolder = Folder.selectDialog("Choose a \"save to\" folder.");
if(saveFolder != null){
folderString = Folder.decode(saveFolder).toString();
app.project.save(new File(folderString + "/_Duplicate_" + curProjFile.name));
var dupFile = app.project.file;
app.beginUndoGroup("compToProject");
for(var i=0; i<selLayerIndicesLength; i++){
app.beginSuppressDialogs();
curLayerIndex = selLayerIndices[i];
curLayer = masterComp.layer(curLayerIndex); //BECOMES INVALID ON SECOND PASS
curLayerName = curLayer.name;
reduceCompToLayer(curLayer, masterComp);
app.project.reduceProject(masterComp);
newFileInfo = folderString + "/" + curLayerName + ".aep";
app.project.save(new File(newFileInfo));
app.endSuppressDialogs(true);
app.open(curProjFile);
app.endUndoGroup();
writeLn("All done.");
}else{
alert("Save project first, then try again.");
}catch(err){alert("Error at line #" + err.line.toString() + "\r" + err.toString());}
compToProjectsScript(this);
Here's that final setup I went with:
//START
function compToProjectsScript(thisObj){
try{
var masterComp, curItem, selLayerIndices, selLayerIndicesLength, curLayer, curLayerName, saveFolder, newFileInfo, curLayerIndex, folderString, allItems;
///FUNCTIONS
//retrieveSelectedLayersIndex
function retrieveSelectedLayersIndex(compObj){
var selLayers, selLayersLength, layerIndex;
layerIndex = new Array();
selLayers = compObj.selectedLayers;
selLayersLength = selLayers.length;
for(var l=0; l<selLayersLength; l++){
if(selLayers[l].source instanceof CompItem){
layerIndex.push(selLayers[l].index);
return layerIndex;
//reduceCompToLayer
function reduceCompToLayer(layerObj, compObj){
var layerCount = compObj.numLayers;
var lastLayer = compObj.layer(layerCount);
layerObj.moveBefore(lastLayer);
for(var i=1; i<=layerCount-2; i++){
firstLayerLocked = compObj.layer(1).locked;
if(firstLayerLocked == true){
compObj.layer(1).locked = false;
compObj.layer(1).remove();
}else{
compObj.layer(1).remove();
//retrieveParentCompIndexNum
function retrieveParentCompIndexNum(){
var proj, openedComp, parentComp, itemcount;
proj = app.project;
openedComp = proj.activeItem;
itemcount = proj.numItems;
if(openedComp instanceof CompItem){
parentComp = {'name': openedComp.name, 'id': openedComp.id};
for(var i=1; i<=itemcount; i++){
if(proj.item(i).name == parentComp.name && proj.item(i).id == parentComp.id){
return i;
compIndex = retrieveParentCompIndexNum();
masterComp = app.project.item(compIndex);
selLayerIndices = retrieveSelectedLayersIndex(masterComp);
selLayerIndicesLength = selLayerIndices.length;
var curProjFile = app.project.file;
if(curProjFile != null){
saveFolder = Folder.selectDialog("Choose a \"save to\" folder.");
if(saveFolder != null){
folderString = Folder.decode(saveFolder).toString();
app.project.save(new File(folderString + "/_Duplicate_" + curProjFile.name));
var dupFile = app.project.file;
app.beginUndoGroup("compToProject");
for(var i=0; i<selLayerIndicesLength; i++){
app.beginSuppressDialogs();
sourceComp = app.project.activeItem;
curLayerIndex = selLayerIndices[i];
curLayer = sourceComp.layer(curLayerIndex);
curLayerName = curLayer.name;
reduceCompToLayer(curLayer, sourceComp);
app.project.reduceProject(sourceComp);
newFileInfo = folderString + "/" + curLayerName + ".aep";
app.project.save(new File(newFileInfo));
app.endSuppressDialogs(true);
app.open(dupFile);
app.endUndoGroup();
writeLn("All done.");
}else{
alert("Save project first, then try again.");
}catch(err){alert("Error at line #" + err.line.toString() + "\r" + err.toString());}
compToProjectsScript(this);
//END
Similar Messages
-
When do VI and queue references become invalid?
Hi all,
I have a fairly complicated problem, so please bear with me.
1) I have a reentrant SubVI (let's call it VI "Assign") that has an input cluster of (VI ref, queue ref) (let's call the cluster type "Refs"). If the VI ref is invalid (first execution), the VI ref and queue ref are assigned values and are passed on as an output cluster of same type. (The VI does other things too, but for simplicity only this is important.)
2) The VI that calls VI "Assign" (let's call it VI "Store") is not reentrant and has a local variable of type "Refs" that is wired to the input and output of VI "Assign". This VI effectively stores the references. The references returned by VI "Assign" are always valid right after the call, but after the problem condition described below, they are invalid at the start of all calls before they are passed to VI "Assign".
3) VI "Store" is called by multiple non-reentrant VIs, so the local variables of VI "Assign" retain their values (Has been tested and verified to retain their values). The VI causing the problem in this case is a template VI of which multiple copies are launched (let's call it VI "Template").
The problem is that the moment an instance of VI "Template" is closed, the queue reference becomes invalid, although the actual variant value of the reference remains the same. The VI ref can become invalid or not, depending on small changes, but is always reproducible. I assume there must be some similarity between VI and queue refs. After spending some time researching, the Labview help states for the Open VI Ref component "If you do not close this reference, it closes automatically after the top-level VI associated with this function executes." In this case I assumed it means that the moment the reentrant VI "Assign" finishes, the references will get cleared ?? So I made a non-reentrant VI (let's call it VI "NR Assign") that only assigns values to the references and VI "Assign" now calls this VI (It effectively does what I described VI "Assign" does). I keep this VI alive by using it in a VI which never terminates and since it never terminates, the references should never become invalid. Anyone still following? This didn't solve the problem though. If I reproduce the same scenario using only one instance of the template VI, it works just fine. Furthermore, the VI and queue references are never closed, to aid analysis of the problem. Can anyone shine some light on what happens when a template VI terminates? Could this be the problem?
Unfortunately I cannot include the code.
Thank you whoever is able to make sense of this.
ChristieChristie wrote:
Hi all,
I have a fairly complicated problem, so please bear with me.
1) I have a reentrant SubVI (let's call it VI "Assign") that has an input cluster of (VI ref, queue ref) (let's call the cluster type "Refs"). If the VI ref is invalid (first execution), the VI ref and queue ref are assigned values and are passed on as an output cluster of same type. (The VI does other things too, but for simplicity only this is important.)
2) The VI that calls VI "Assign" (let's call it VI "Store") is not reentrant and has a local variable of type "Refs" that is wired to the input and output of VI "Assign". This VI effectively stores the references. The references returned by VI "Assign" are always valid right after the call, but after the problem condition described below, they are invalid at the start of all calls before they are passed to VI "Assign".
3) VI "Store" is called by multiple non-reentrant VIs, so the local variables of VI "Assign" retain their values (Has been tested and verified to retain their values). The VI causing the problem in this case is a template VI of which multiple copies are launched (let's call it VI "Template").
The problem is that the moment an instance of VI "Template" is closed, the queue reference becomes invalid, although the actual variant value of the reference remains the same. The VI ref can become invalid or not, depending on small changes, but is always reproducible. I assume there must be some similarity between VI and queue refs. After spending some time researching, the Labview help states for the Open VI Ref component "If you do not close this reference, it closes automatically after the top-level VI associated with this function executes." In this case I assumed it means that the moment the reentrant VI "Assign" finishes, the references will get cleared ?? So I made a non-reentrant VI (let's call it VI "NR Assign") that only assigns values to the references and VI "Assign" now calls this VI (It effectively does what I described VI "Assign" does). I keep this VI alive by using it in a VI which never terminates and since it never terminates, the references should never become invalid. Anyone still following? This didn't solve the problem though. If I reproduce the same scenario using only one instance of the template VI, it works just fine. Furthermore, the VI and queue references are never closed, to aid analysis of the problem. Can anyone shine some light on what happens when a template VI terminates? Could this be the problem?
Unfortunately I cannot include the code.
Thank you whoever is able to make sense of this.
Christie
All LabVIEW refnums do get deallocated automatically when the top-level VI in whose hierarchy the refnum was created goes idle (stops executing). You will have to make sure that the creation of a refnum is done inside a VI hierarchy that stays running for the entire time you want to use that refnum.
Rolf Kalbermatter
Message Edited by rolfk on 06-27-2007 11:52 AM
Rolf Kalbermatter
CIT Engineering Netherlands
a division of Test & Measurement Solutions -
Value for user-exit variable is invalid
Hi Gurus,
My Value for a Fiscal Year Prd returns a invalid value for the 12th month of each year( for Example 12/2004, returns the error "Value 200313 for User-exit variable is invalid.
This is the code that is being used.
*Rolling 12 months for entered month
when 'ZCALM12'.
clear: v_mth, v_yr.
REFRESH E_T_RANGE.
CLEAR L_S_RANGE.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZCALMON'.
exit.
endloop.
v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
concatenate v_yr v_mth into L_S_RANGE-LOW.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
APPEND L_S_RANGE TO E_T_RANGE.
Thanks in Advance.Hi Ravi,
when 'ZCALM12'.
clear: v_mth, v_yr.
REFRESH E_T_RANGE.
CLEAR L_S_RANGE.
LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
WHERE VNAM = 'ZCALMON'.
exit.
endloop.
<b>-->> Here, you are not checking any thing.</b> <i>On which logic you are reducing year by one and increasing month by 1..?</i>
v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
-->><i>IF month is 200512 you will get output from above code is :</i> please check.
v_yr = 2005 - 1 = 2004
v_mth = 12 +1 = 13.
L_S_RANGE-SIGN = 'I'.
L_S_RANGE-OPT = 'BT'.
concatenate v_yr v_mth into L_S_RANGE-LOW.
L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
APPEND L_S_RANGE TO E_T_RANGE.
Try to debug the code by keeping break point after When. and execute the report, you will be debugging mode.
Hope it Helps
Srini -
Object Fields Mysteriously Becoming Invalid
I am not exactly sure what code to post with this considering the nature of what's going on, so I'll do my best to explain and then perhaps I can provide code based on your responses.
When my application loads in the AppDelegate I create 3 objects of the "Item" type and then create an array out of those objects and add that array to an ItemListController which has a property for an NSMutableArray. The program then loads a UINavigationController with each of those objects in it being drawn with a subClass of UITableViewCell. As it stands now, if I click on any one of those objects more than 3 times, the object itself does not become nil, but all of the fields within it do.
- (void)applicationDidFinishLaunching:(UIApplication *)application {
Item *sword = [[Item alloc] initWithName:@"Sword" description:@"This is a sword"];
//sword.itemPrice = (int *)524;
Item *shield = [[Item alloc] initWithName:@"Shield" description:@"This is a shield"];
//shield.itemPrice = (int *)322;
Item *subligar = [[Item alloc] initWithName:@"Subligar" description:@"This is a subligar"];
//subligar.itemPrice = (int *)1034;
[subligar setImageWithPath:@"Hello.png"];
if(self.itemListController == nil) {
ItemListController *controller = [[ItemListController alloc] init];
self.itemListController = controller;
[controller release];
NSMutableArray *itemArray = [[NSMutableArray alloc] initWithObjects:sword, shield, subligar, nil];
self.itemListController.items = itemArray;
[itemArray release];
// Configure and show the window
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
The click handler of my TableView right now simply calls the AppDelegate's instance of ItemListController and then gets the object back from the items array at the index at which the user clicked. From there, I set a few properties and load a view tailored to that Item.
Presently, all of the logic that sets properties with the Item and loads the view for that object is commented out and so the only behavior occurring is the Item being retrieved from the AppDelegate's ItemListController.items and then being stored in a temporary object which is later released. But like I said above, *after 3 requests for my object all of its fields become invalid*. I have no idea what is causing it because the object itself is never being released within that time. Below is the code from the click event of the table cell:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
calls++;
NSLog(@"Hit Count: %d", calls);
iPhoneHelloWorldAppDelegate *appDelegate = (iPhoneHelloWorldAppDelegate *)[[UIApplication sharedApplication] delegate];
Item *item = (Item *)[appDelegate.itemListController.items objectAtIndex:indexPath.row];
//lastItem = item;
if(self.itemView == nil) {
ItemViewController *viewController = [[ItemViewController alloc] initWithNibName:@"ItemViewController" bundle:[NSBundle mainBundle]];
self.itemView = viewController;
[viewController release];
if(calls > 3) {
NSLog(@"item retainCount = %d", [item retainCount]);
[item release];
Here's a snapshot from the debugger after my Item object dies:
http://img514.imageshack.us/img514/4567/picture2az5.pngHi,
Item *item = (Item *)[appDelegate.itemListController.items objectAtIndex:indexPath.row];
//lastItem = item;
if(self.itemView == nil) {
ItemViewController *viewController = [[ItemViewController alloc] initWithNibName:@"ItemViewController" bundle:[NSBundle mainBundle]];
self.itemView = viewController;
[viewController release];
if(calls > 3) {
NSLog(@"item retainCount = %d", [item retainCount]);
// Why do you relase item? I don't see any retain or method wich increases the retain-count.
[item release]; -
looks like my serial number has become invalid. how can I check the licence?
how can I call service?Dear Mr Janszen,
Thank you for your answer. I read the user conditions in my Surfspot Vault and it says nothing about the limited validity of the software, see beneath in Dutch. It only says I can only install it on one pc. Do I have to contact Surfspot or Adobe for some new serial numbers?
Kind regards,
B. Kranenburg
Gebruikersvoorwaarden
- Dit artikel valt onder het door jouw (onderwijs)instelling/school afgesloten Adobe contract waardoor je Adobe CS6 Master Collection extra voordelig kunt aanschaffen, het betreft hier de volledige versie van de software - Adobe CS6 Master Collection mag en kan op één computer geïnstalleerd en gebruikt worden - Adobe CS6 Master Collection kent een tijdelijk gebruiksrecht, dit houdt in dat je alleen van het artikel gebruik mag maken zolang je als medewerker aan een (onderwijs)instelling of school verbonden bent - Het is niet mogelijk om Adobe CS6 Master Collection te registreren bij Adobe -
Can we assign value to a variable in PL/SQL Loop
Hi
Can we assign value to a variable in PL/SQL Loops?
DECLARE
V_Num NUMBER;
BEGIN
LOOP
V_Num := 10;
DBMS_OUTPUT.put_line(V_num);
V_Num := V_Num - 1;
EXIT WHEN V_Num = 0;
END LOOP;
END;
In the above program, Can we assign V_num with a value 10????????
Thanks & Regards,
Hari Babu
Edited by: 1004977 on Jun 5, 2013 2:40 AMHi,
1004977 wrote:
Hi
Can we assign value to a variable in PL/SQL Loops?
DECLARE
V_Num NUMBER;
BEGIN
LOOP
V_Num := 10;
DBMS_OUTPUT.put_line(V_num);
V_Num := V_Num - 1;
EXIT WHEN V_Num = 0;
END LOOP;
END;
In the above program, Can we assign V_num with a value 10????????Yes; the example you posted does that.
When the loop starts, the value 10 is assigned to v_num. You should see that value displayed by the put_line statement.
After that, v_num is set to 10 - 1 = 9.
Next, the EXIT condition is evaluated. At this point, v_num is 9, not 0, so the loop runs again. V_num is set to 10 again, and the loop continues forever (or, in some versions, until the dbms_output buffer is filled and an error occurs.) -
My iPhone 4 has become unresponsive during the latest update I have a progress bar about half way through the update and it hasn't moved for about an hour can anyone help???
Hey Ali.M27,
Thanks for the question. I understand you are experiencing issues with your iPhone during an iOS update. If your issues persist, you may need to restore your device in recovery mode:
iOS: Unable to update or restore
http://support.apple.com/kb/HT1808
Thanks,
Matt M. -
How can I add a watch to a variable or expression during javascript debugging
Since the new update to safari 6 I am looking for a way to add a watch to a variable or expression during javascript debugging. I don't want to go to the console line every time to type in the separate variables and expressions over and over again. Also hovering over a variable doesn't show the value.
I couldn't find the answer either (I submitted an enhancement request to http://www.apple.com/feedback/safari.html in hopes that it will get added back in), but downloading a nightly build of webkit (http://nightly.webkit.org) will give you an alternative version of Safari that still uses the version 5 inspector, which to me is preferable anyway.
-
MATERIALIZED VIEW BECOMES INVALID AFTER REFRESH
Hello All,
I have wierd problem ,
In my enviroinment we have a MATERIALIZED VIEW ,which is refreshed by a sheduled DBMS_SNAPSHOT.REFRESH Job post the refresh it becomes invalid and every time we have to compile it manually ,Could anybody help with a solution .Thanks a lot in Advance .
DETAILS :
======
VERSION:Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
HOST: IBM AIXIs the MV part of a refresh group?
Post the command and parameters used by the scheduled job to do the refresh as well as the parameters you use when you do it manually. -
PL/SQL Functions becoming 'invalid'
We have created a set of functions which are used by
applications and triggers within our system. Everything ran over
the weekend and all triggers were operating and functions were
performing as expected. Yesterday the it was noticed that one of
the functions had become 'Invalid' which stopped the processing
of the system. The function is invoked by a trigger on insert
into a table.
Does anyone know what would cause a function to go 'Invalid'
like this?
Thanks
Jeff M.Hi,
If you alter or modify the objects(DDL Operations), then the
procedures, functions, views..etc will be invalid. And also it
applies recursively,i.e,if these procedures and functions are
referred in some other procedure and functions, they also will
become invalid. So before applying a DDL operation on any object
better find the it's references from DBA_dependencies and
recompile them after the DDL operation.
Regards,
G. Rajakumar. -
JBO-25005: Object name 1 for type Variable is invalid(help please)
Hi Guys,
when i connect my application to the DB locally, everything works fine. however, once i deploy my application to the server by connecting to the same DB, i tried 10 users which i already tested loaclly and work fine,
i got the following problem:
all of 10 users are able to access to any pages on the web application, except when one of the users tries can not access one specific page, i got the following error:
500 Internal Server Error
JBO-30003: The application pool (ca.bluecross.ab.eca.model.services.ECAServiceLocal) failed to checkout an application module due to the following exceptionracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.InvalidObjNameException, msg=JBO-25005: Object name 1 for type Variable is invalid at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2002) at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1998) at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453) at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419) at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1517) at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1381) at oracle.adf.model.BindingContext.beginRequest(BindingContext.java:683) at oracle.adf.model.BindingRequestHandler.invokeBeginRequest(BindingRequestHandler.java:349) at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:166) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:161) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234) at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29) at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)## Detail 0 ##oracle.jbo.InvalidObjNameException: JBO-25005: Object name 1 for type Variable is invalid at oracle.jbo.common.VariableImpl.validateName(VariableImpl.java:234) at oracle.jbo.common.VariableImpl.setVariableKind(VariableImpl.java:301) at oracle.jbo.server.ViewObjectImpl.activateParams(ViewObjectImpl.java:13417) at oracle.jbo.server.ViewObjectImpl.doActivateSettings(ViewObjectImpl.java:13479) at oracle.jbo.server.ViewObjectImpl.doActivateSettings(ViewObjectImpl.java:13328) at oracle.jbo.server.ApplicationModuleImpl.activateVOs(ApplicationModuleImpl.java:7181) at oracle.jbo.server.ApplicationModuleImpl.doActivateState(ApplicationModuleImpl.java:6981) at oracle.jbo.server.ApplicationModuleImpl.doActivateAMState(ApplicationModuleImpl.java:6960) at oracle.jbo.server.Serializer.activate(Serializer.java:274) at oracle.jbo.server.DBSerializer.activateRootAM(DBSerializer.java:330) at oracle.jbo.server.ApplicationModuleImpl.activateState(ApplicationModuleImpl.java:5549) at oracle.jbo.server.ApplicationPoolMessageHandler.doPoolMessage(ApplicationPoolMessageHandler.java:178) at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7777) at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:4074) at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule(ApplicationPoolImpl.java:2161) at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1961) at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1998) at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453) at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424) at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419) at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1517) at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1381) at oracle.adf.model.BindingContext.beginRequest(BindingContext.java:683) at oracle.adf.model.BindingRequestHandler.invokeBeginRequest(BindingRequestHandler.java:349) at oracle.adf.model.BindingRequestHandler.beginRequest(BindingRequestHandler.java:166) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:161) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:313) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.AJPRequestHandler.run(AJPRequestHandler.java:199) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234) at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29) at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303) at java.lang.Thread.run(Thread.java:595)
please help, i am stuck for days.
Thank you"Let me understand more about this.
Does this happen always only with one user or username?
Does this happen only when he/she accesses a particular page?"
it happens only with one user when she/he accesses a particular page -
JBO-25005: Object name 1 for type Variable is invalid
Facing the error as below when clicking on messagedownload field on an OAF search page.
below are the properties set
ID : Attachment
Item Style : messageDownload
file MiIME type : text/HTML
Data Type : BLOB
ViewInstance : SerchReqVO1
ViewAttribute : FileName
File ViewAttribute : Filedata
Please let me know if any other properties are to be changed to prevent this error.
Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: oracle.jbo.InvalidObjNameException: JBO-25005: Object name 1 for type Variable is invalid
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.processFormRequest(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(Unknown Source)
at OA.jspService(_OA.java:71)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)Hi,
If the primary key of the table is checked as Key attribute by clicking Edit VO->Attributes->Primary key field
this issue can be prevented. -
Hi,
I've a index that becomes invalid almost every day. I get the error message
ORA-29902: error in executing ODCIIndexStart() routine
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-13203: failed to read USER_SDO_GEOM_METADATA view
ORA-29400: data cartridge error
ORA-01013: user requested cancel of current operation
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 286
after rebuilding the index everything works fine again.
Does anybody know a solution on that problem?
PeterIs there a nightly process that is causing things to change? I think we need more info to be able to help you.
Is it possible that this index is in a different tablespace and backups aren't shutting them down/bringing them back up in the right order?
Any manner of things could cause this, beyond the Oracle bug for spatial indexes in 10G, with large number of records. Ours handle this fine night after night, so something must be causing your data to change or affecting the index.
What happens every night, or at the end of the day that could be affecting it? -
Problem: Objects become invalid so easily
Hi All,
We are running Oracle 9i Standard Edition, which was downgraded from the Enterprise Edition, because they want to save $50K/year.
I have noticed even in the enterprise edition that some objects (sprocs, functions, triggers, packages) could become invalid for no reason (no schema changes and no changes in some sprocs/functions called by some others). I have googled this problem and found a few tips on the the internet and at least one seasoned DBA said Oracle objects can become invalid for no obvious reasons. After the downgrade, things got worse. The DBA runs a script to compile all packages, sprocs, functions, triggers once every hour. Then things got even worse. But I think the DBA script did not run more than once in a row to resolve some dependency issues. So now the DBA runs his script every two minutes. The problem is gone, but is there any better way to do this? Or should it happen in the first place? I figure that if Oracle runs like this, it should be out of business soon, because the MS SQL guys say they never have to explicitly re-compile invalid obejcts. At first the DBA thought that when PowerBuilder calls the sprocs, the sprocs do not re-compile because Sybase does not know how to program against Oracle. Then one day I was using SQL*Plus to run the sprocs and got the explicit error message for invalid objects and then the DBA was convinced otherwise.
Thanks.
BenThanks a lot. Yes you are right. The re-complie did cause other objects to be invalid. that's why I asked to dba to run his script more than once in a row. Now the problem seems to be gone. But here is what I found at http://www.dbazine.com/oracle/or-articles/hordila2. It is true when a package or sproc becomes invalid, they often times do not auto re-compile. See his comments on that.
Application Malfunctions and Data InconsistenciesPart of maintaining quick response times for the database is making sure that as many objects as possible have a valid status. At least frequently used objects should not be invalid. Some objects (views, triggers, procedures, functions, packages, package bodies) can become invalid under certain circumstances: after massive data loads, imports, batches, even without explicit schema changes, after schema restructuring (drop, re-name, alter of objects). Very often, developers leave behind on purpose lots of invalid objects, to serve as a library of source code for future needs, or as a source code backup for the production objects. Some of these events are thought of as normal, or maybe bad style, while others are treated as bugs.
Anyway, if this happens, applications may stop working at all or may start working slower, incorrectly or incompletely. Mal-functioning triggers calling invalid procedures, etc., for example, can lead to data inconsistencies, missed data propagation, etc. In a complex system, this is a serious situation and may go undetected for some length of time.
Failed RecompilingFor some objects (views, triggers), the Oracle system may attempt automatically to recompile and validate them at the first run. This will slow the first runs of the application, but the system will function correctly, and be faster on the next runs. For stored programs, most of the time, this auto-recompile does not happen. The DBA needs to detect and recompile them as soon as possible.
Some objects need to be re-developed/edited for references to be successfully recompiled and to become valid again. And other objects may
Ben -
ORA-12842: Cursor invalidated during parallel execution Database driver err
Hi gurus,
I have got an PL/SQL package in DWH environment and sometimes it generates the follwoing error message:
ORA-12842: Cursor invalidated during parallel execution Database driver error...
When I restart the process, it runs successfully.
Any ideas about this behaviour?
Regards
BerndMore info needed.
Which Oracle version?
Are you running up against a known bug? Check metalink.
Cheers,
Colin
Maybe you are looking for
-
Can't access community members list in event receiver when item is updated in console application
Hi, we attached an event receiver to a list in a community site template. In the ItemUpdated event we access different lists from the site. Everything is working fine when we update a list item in the web frontend logged in as Administrator (applicat
-
I have Firefox 3.6.3 on a mac os x 10.5.8 laptop. Often when I open Firefox there are updates available for plugins & addons and I install them. Now Firefox often crashes while in use and/or I must force quit. I finally went to the Help menu on the F
-
Hi All, please help very urgenttt!!!!!!!!!!!!!!!!!!! Breif overview of the Screen: user selects a customer and clicks go button then the results will be displayed in a table(query bean). user has an option to add a new row. My Requirement: Initially
-
Options for loading data from legacy mainframe to SAP CRM and ECC
Hello All, I am new to SAP. As part of data conversion planning from legacy mainframe to SAP CRM and ECC systems, I need to know the different tools available for loading the data and comparative analysis of the tools by showing the features. Please
-
Do I need to render before saving?
Hi, Do I need to render the video before the final render in the output format I want? As I add titles and effects, I'm currently rendering the video - primarily because it's easier for me to work on the project if I can watch smoother video. At the