If the variable exists... vs, null vs. undefined object variable

The first part of this script seems to work fine, it iterates through each document and if the name of the document matches a particular regex pattern, it gives a specific variable to be used later in the script

On line 37 of the script when I try to us if a variable exists however as a condition of an if statement, things don't assess true or false as expected.

What I'm doing wrong here?

// iterate through all docs assigning variables to templates and art


for (i = 0; i < documents.length; i++){
    var curDoc = app.activeDocument = app.documents[i];
    var curDocNoExt = curDoc.name.split(".");
    var workingName = curDocNoExt[0];
    if(workingName.match(/^\d{5,6}$/) != null) {  
        var frontArt = app.documents[i];
        var targetName = frontArt.name
    } else {   
    if(workingName.match(/^\d{5,6}(b))$/) != null) {   
        var backArt = app.documents[i];
        var backToggle = 1;
    } else {
     if(workingName.match(/^fkeep$/) != null) {  
        var frontTemp = app.documents[i];
    } else {
     if(workingName.match(/^fxkeep$/) != null) {  
        var frontSquare = app.documents[i];
    } else {
     if(workingName.match(/^bkeep$/) != null) {  
        var backTemp = app.documents[i];
    } else {
     if(workingName.match(/^bxkeep$/) != null) {  
        var backSquare = app.documents[i];
      }
     }   
    }
   }
  }
 } 
}

//use variables to do stuff!

if (backArt != null) {
    app.activeDocument = backTemp;
    var namedBackTemp = backTemp.duplicate(targetName + "B");
}

I also have this line 37, but they do not seem to fix things:

if (backArt != 'undefined') {

Are there not / ^ \d{5,6}(b))$ / first closing of brackets too (the one before the dollar sign character)?

Tags: Photoshop

Similar Questions

  • Windows Media Player Script ERREURUne error has occurred on this page of script line: 303 tank: 25 error: the value of the property 'btnfinish_onclick' is null or undefined, not a function of object Code: 0

    Where to find information on the album in Media Player, I get the following message appears when I click on the button "Finish":

    An error has occurred on this page of script
    Online: 303
    Tank: 25
    Error: the value of the property 'btnfinish_onclick' is null or undefined, not a function object
    Code: 0
    URL: HTTP://FAI.MUSIC.METASERVICES.MICROSOFT.COM/FAI/ALBUMMATCH.ASPX?LOCALE=409&GEOID=F4&VERSION=11.0.6002.18311&USERLOCALE=409
    Do you want to continue?
    By clicking 'Yes' or 'No' doesn't produce any action. Does 'Cancel' which is there for that.
    This feature works flawlessly for months and now I can't download the album or graphics information.
    Help, please. Thank you
    original title: Windows Media Player Script error

    I solved this on my machine after a few game.

    When you arrive at the last stage of the search for album information, before you click on finish, click the small globe in the upper left corner of the dialog box.  This refreshes the connection to the server.  Click on finish, then it started working again.

    Refresh a couple of times before that it worked but so far 2 of 2 machines working again on my other maching.

    Hope this helps!

    Thank you thank you. Sometimes, it takes "Refresh" several times but finally the player "seems" to calm down.

  • Why isn't 'if the variable does not equal null"work?

    Pretty simple thing, I thought, but it drives me batty...

    The Captivate 8.

    I have a widget for checkbox and assigned variables to all 6 boxes (framework1, evaluation2... assessment6). I also have a variable called 'null' (thanks to lilybiri). The variable has no value for her.


    So, I in my Advanced actions:


    If assessment1 is not equal to v_null or

    If evaluation2 does not equal v_null or

    If assessmen3 is not equal to v_null

    Le n

    See submit it (button)


    That means that if no the framework1, 2 or 3 etc... are verified, the assessment variables will be 'something' and not 'null' and should trigger showing button, but it does not work...


    Any ideas?


    Thank you!


    Sorry, I give up. You seem not to understand that you need another approach. Especially your answer 1 is not correct, why has the right of v_none, you are not in the mind of the person who checked it? 2 you give the opposite, what happens if the user has archived v_none really because he won't? Anywat that it is not possible to verify this with a single action advanced conditional with two decisions, because the sequence needs to be reversed for the second situation compared with the first situation. Everything should be in a single decision, with THEN/ELSE, but I do not understand the logic, so you can not help.

  • Check if the variable is null / not affected

    Hello

    I've been unable to find explicitly for an answer to the question how to check if a variable is null or Unassigned or not defined. As some analog to java fi (var == null).

    The variable in question is of type xsd: Integer. I use the assign activity where I use oraext:lookup - table. If the (integer) value is not found in the database, then the variable remains unaffected. However, I am of ideas of how to do to check if it's still not affected or not

    Thank you!

    To check if the value of a variable (in bpel) is null or empty, I think you can use this expression - bpws:getVariableData('variable') = "(just two quotes together), in a condition of switch-case / if-else.

  • Storage in double-layer in the variable 'function object is undefined.

    Im trying to write a script that duplicates and reflects a layer in the central axis. It is also my first script in sequels to try to get the feel for it.

    However, I'm not sure what the problem is. Is the problem with storing the layer duplicated in the variable? Or I use the object/processing of scale it the right solution.

    #target aftereffects
    
    var center = 3840;
    var layers = app.project.activeItem.selectedLayers;
    
    for (x in layers) {
        var old_position = layers[x].transform.position.value;
        var new_position = (center-old_position[0]) + center;
        var new_layer = layers[x].duplicate();
        new_layer.transform.scale(-100, 100);
        new_layer.transform.position(new_position, old_position[1], old_position[2]);
    }
    

    Check in After Effects script guide documentation of the objects of the property.

    Properties must be defined with the function setValue and need for arrays as arguments.

    scale.setValue ([-100, 100]) instead of scale (-100, 100);

    etc.

  • What is the variable of links selected for myLinks = var

    Hi, I need to run a script only for the selected links in the

    the links Panel, but I don't know the variable, for example the myLinks var = myDoc.links is for all document´s links

    Here's a version that rebuilt all the links - missing not only those.

    #target indesign
    
    if (Number(String(app.version).split(".")[0]) < 5) ErrorExit("This script requires InDesign CS3 or higher.");
    if (app.documents.length == 0) ErrorExit("Please open a document and try again.");
    
    var gDoc = app.activeDocument;
    var gLinks = gDoc.links;
    
    if (gLinks.length == 0) ErrorExit("This document doesn't contain any links.");
    //~ if (GetMissingLinks().length == 0) ErrorExit("This document doesn't contain any missing links.");
    
    if (app.extractLabel("Kas_RepairMissingLinksInSelectedFolders_ver3.0") != "") {
         var gSet = eval(app.extractLabel("Kas_RepairMissingLinksInSelectedFolders_ver3.0"));
    }
    else {
         var gSet = {}
         gSet.folders = [];
    }
    
    var gCounter = 0;
    var gSelectedFolders = [];
    
    CrearLabels();
    
    CreateDialog();
    
    //-------------------------------------- FUNCTIONS ---------------------------------------------
    function CreateDialog() {
         var dlg = new Window("dialog", "Repair missing links");
         dlg.orientation = "column";
         dlg.alignChildren = "top";
         dlg.btnPnl = dlg.add("panel", undefined, "Folders");
         dlg.btnPnl.orientation = "column";
         dlg.btnPnl.helpTip = "The script will search missing images in these folders";
         dlg.btnPnl.listBox = dlg.btnPnl.add("listbox", undefined, gSet.folders, {multiselect:true});
         var myListBoxBounds = [0, 0, 467, 160];
         dlg.btnPnl.listBox.bounds = myListBoxBounds;
    
         // Buttons
         dlg.btnPnl.grp = dlg.btnPnl.add("group");
         dlg.btnPnl.grp.orientation = "row";
         dlg.btnPnl.grp.addBtn = dlg.btnPnl.grp.add("button", undefined, "Add");
         dlg.btnPnl.grp.addBtn.helpTip = "Add a  folder to the list";
         dlg.btnPnl.grp.removeBtn = dlg.btnPnl.grp.add("button", undefined, "Remove");
         dlg.btnPnl.grp.removeBtn.helpTip = "Remove the selected  folders from the list";
         dlg.btnPnl.grp.remAllBtn = dlg.btnPnl.grp.add("button", undefined, "Remove All");
         dlg.btnPnl.grp.remAllBtn.helpTip = "Remove all  folders from the list";
    
         // Ok & Cancel
         dlg.grp = dlg.add("group");
         dlg.grp.orientation = "row";
         dlg.grp.alignment = "center";
         dlg.grp.okBtn = dlg.grp.add("button", undefined, "OK");
         dlg.grp.cancelBtn = dlg.grp.add("button", undefined, "Cancel");
         // ---------------------------------------------------------------
         dlg.btnPnl.grp.addBtn.onClick = function() {
              var myFolder = Folder.selectDialog ("Select a folder");
              if (myFolder != null) {
                   if (!IsInArray(myFolder.fsName, gSet.folders)) {
                        gSet.folders.push(myFolder.fsName);
                        var myBounds = dlg.btnPnl.listBox.bounds;
                        dlg.btnPnl.remove(dlg.btnPnl.listBox);
                        dlg.btnPnl.listBox = dlg.btnPnl.add("listbox", myBounds, gSet.folders, {multiselect:true});
                        dlg.btnPnl.listBox.bounds = myListBoxBounds;
                   }
                   else {
                        alert("This folder has been already added.");
                   }
              }
         }
         // ---------------------------------------------------------------
         dlg.btnPnl.grp.removeBtn.onClick = function() {
              if (dlg.btnPnl.listBox.selection != null) {
                   for (var i = dlg.btnPnl.listBox.selection.length - 1; i  >= 0; i --) {
                        gSet.folders.splice(dlg.btnPnl.listBox.selection[i].index, 1);
                        dlg.btnPnl.listBox.remove(dlg.btnPnl.listBox.selection[i]);
                   }
              }
         }
         // ---------------------------------------------------------------
         dlg.btnPnl.grp.remAllBtn.onClick = function() {
              dlg.btnPnl.listBox.removeAll();
              gSet.folders = [];
         }
         // ---------------------------------------------------------------
         dlg.grp.okBtn.onClick = function() {
              gSet.folders = [];
              for (j = 0; j < dlg.btnPnl.listBox.items.length; j++) {
                   gSet.folders.push(dlg.btnPnl.listBox.items[j].text);
              }
              dlg.close(1);
         }
         // ---------------------------------------------------------------
         dlg.grp.cancelBtn.onClick = function() {
              dlg.close(0);
         }
         // ---------------------------------------------------------------
         var myDialogResult = dlg.show();
         if (myDialogResult) {
              app.insertLabel("Kas_RepairMissingLinksInSelectedFolders_ver3.0", gSet.toSource());
              Main();
         }
    }
    //--------------------------------------------------------------------------------------------------
    function Main() {
         if (gSet.folders.length == 0) ErrorExit("No folders have been selected in the dialog box.", true);
         var missingFolders = [];
    
         for (var f = 0; f < gSet.folders.length; f++) {
              var theFolder = new Folder(gSet.folders[f]);
              if (theFolder.exists) {
                   gSelectedFolders.push(theFolder);
                   AddSubFolders(theFolder);
              }
              else {
                   missingFolders.push(theFolder);
              }
         }
    
         if (gSelectedFolders.length == 0) ErrorExit("All selected folders don't exist.", true);
         if (missingFolders.length > 0) {
              var missingFoldersList = [];
              for (var m = 0; m < missingFolders.length; m++) {
                   missingFoldersList.push(missingFolders[m].displayName);
              }
              if (!confirm("These folders are missing:\r" + missingFoldersList.join("\r") + "\r\rDo you want to continue?", false, "Warning")) exit();
         }
    
         var w = new Window ("window", "Starting relinking files");
         var pb = w.add ("progressbar", [12, 12, 350, 24], undefined, undefined);
         var txt = w.add("statictext");
         txt.bounds = [0, 0, 340, 20];
         txt.alignment = "left";
         w.show();
         var pbCounter;
    
         for (var s = 0; s < gSelectedFolders.length; s++) {
              var currentFolder = gSelectedFolders[s];
              w.text = "Current folder - \"" + currentFolder.displayName + "\"";
    
              pb.minvalue = 0;
              pbCounter = 0;
              pb.maxvalue = gLinks.length;
    
              for (var i = gLinks.length-1; i >= 0 ; i--) {
                   pbCounter++;
                   pb.value = pbCounter;
                   var theLink = gLinks[i];
                   txt.text = String("Relinking file - " + theLink.name + " (" + (gCounter +1) + ")");
    
                   if (theLink.extractLabel("relinked") != "yes") {
                        var oldImageFile = new File(theLink.filePath);
                        var oldPath = oldImageFile.toString();
                        var newPath = currentFolder.absoluteURI + "/" + theLink.name.replace(" ", "%20");
                        if (oldPath != newPath) {
                             if ( // If the link is not a text file
                                  theLink.linkType != "InCopyInterchange" &&
                                  theLink.linkType != "InCopyStory" &&
                                  theLink.linkType != "InCopyMarkup" &&
                                  theLink.linkType != "Microsoft Excel Import Filter" &&
                                  theLink.linkType != "Microsoft Word Import Filter" &&
                                  theLink.linkType != "RTF Import Filter" &&
                                  theLink.linkType != "Text"
                                  ) {
    
                                  Relink(newPath, theLink);
    
                             }
                        }
                   }
              }
    
         } // end for
    
         w.close();
    
         if (gCounter == 1) {
              alert("One file has been relinked.", "Finished");
         }
         else if  (gCounter > 1) {
              alert(gCounter + " files have been relinked.", "Finished");
         }
         else {
              alert("Nothing has been relinked.", "Finished");
         }
    }
    //--------------------------------------------------------------------------------------------------
    function Relink(myNewPath, myLink) {
         var myNewLink =  new File(myNewPath);
         if (myNewLink.exists) {
              myLink.relink(myNewLink);
    
              try {
                   var myCurrentLink = myLink.update();
              } catch(e){}
    
              if ( app.version.substr(0, 3) == "6.0" && (parseInt(app.version.substr(4, 1)) >= 4) ) {
                   myLink.insertLabel("relinked", "yes");
              }
              else {
                   myCurrentLink.insertLabel("relinked", "yes");
              }
              gCounter++;
         }
         else {
         }
    }
    //--------------------------------------------------------------------------------------------------
    // Clear labels in case this script has been already run on the current document
    function CrearLabels() {
         for (var f =  0; f < gDoc.links.length; f++) {
              if (gDoc.links[f].extractLabel("relinked") != "") {
                   gDoc.links[f].insertLabel("relinked", "");
              }
         }
    }
    //--------------------------------------------------------------------------------------------------
    function ErrorExit(myMessage, myIcon) {
         alert(myMessage, "Repair missing links", myIcon);
         exit();
    }
    //--------------------------------------------------------------------------------------------------
    function IsInArray(myString, myArray) {
         for (x in myArray) {
              if (myString == myArray[x]) {
                   return true;
              }
         }
         return false;
    }
    //--------------------------------------------------------------------------------------------------
    function AddSubFolders(theFolder) {
         var fileList = theFolder.getFiles();
         for (var i = 0; i < fileList.length; i++) {
              var theFile = fileList[i];
              if (theFile instanceof Folder) {
                   gSelectedFolders.push(theFile);
                   AddSubFolders(theFile);
              }
         }
    }
    //--------------------------------------------------------------------------------------------------
    
  • Bind the Variable in a dynamic query

    The procedure below uses a variable binding for the deptno and run it with a ref cursor The expected result is to display the ename from EMP for the deptno passed for the p_deptno parameter, but the procedure fails with an exception.

    CREATE OR REPLACE PROCEDURE dynamic_query(p_deptno NUMBER)
    AS
        lv_deptno number(4);
    --    l_lookup_type    VARCHAR2(30):='PBAMERICAS_CO';
        lv_query VARCHAR2(15000) :=' SELECT  ename,''Year'' from emp where deptno='|| p_deptno;
        lv_cursor  SYS_REFCURSOR;
        lv_lookup VARCHAR2(20);
        lv_emp_rec emp%rowtype;
        lv_ename VARCHAR2(10);
        lv_year   VARCHAR2(10);
    BEGIN
        dbms_output.put_line(lv_query);
        OPEN lv_cursor FOR lv_query USING p_deptno ;
        Loop
            FETCH lv_cursor INTO lv_ename,lv_year;
            dbms_output.put_line(lv_ename || ',' ||lv_year);
          EXIT WHEN lv_cursor%NOTFOUND;
         END LOOP;
        CLOSE lv_cursor;
    END dynamic_query;       
    
    
    

    
    
    SQL> exec dynamic_query(10);
    SELECT  ename,'Year' from emp where deptno=10
    BEGIN dynamic_query(10); END;
    
    
    *
    ERROR at line 1:
    ORA-01006: bind variable does not exist
    ORA-06512: at "APPS.DYNAMIC_QUERY", line 13
    ORA-06512: at line 1
    
    
    
    
    
    
    

    I can change the code slightly and change the where clause to work but wanted to know what am I did wrong which makes the procedure fails with the above code.

    CREATE OR REPLACE PROCEDURE APPS.dynamic_query(p_deptno NUMBER)
    AS
        lv_deptno number(4);
       lv_query VARCHAR2(15000) :=' SELECT  ename,''Year'' from emp ' ;
        lv_cursor  SYS_REFCURSOR;
        lv_lookup VARCHAR2(20);
        lv_emp_rec emp%rowtype;
        lv_ename VARCHAR2(10);
        lv_year   VARCHAR2(10);
    BEGIN
    
    
        IF p_deptno IS NOT NULL THEN
            lv_query := lv_query || ' Where deptno =' || TO_CHAR(p_deptno);
         END IF;
             dbms_output.put_line(lv_query);
        OPEN lv_cursor FOR lv_query  ;
        Loop
            FETCH lv_cursor INTO lv_ename,lv_year;
            dbms_output.put_line(lv_ename || ',' ||lv_year);
          EXIT WHEN lv_cursor%NOTFOUND;
         END LOOP;
        CLOSE lv_cursor;
    END dynamic_query;
    /
    
    

    PS: I use the table EMP for this example includes so not CREATE TABLE and INSERT.

    The procedure below uses a variable binding

    No, it isn't.

    You're just concatenation of the value of p_deptno in the query, such as a literal.

    It's using a variable binding:

    lv_query VARCHAR2 (15000): = ' 'year', SELECT ename from emp where deptno =: 1';

    Then, the variable may be correctly bound (by post) via the USING clause.

  • PL/SQL, help in the validation of the data exists in a table.

    Greetings,

    I'm still new to PL/SQL and try to create a stored procedure that would allow me to check if a user exists in the connection table.  The final objective is to have a connection of the user to an ASP.net web application and have a stored procedure validate the user exists in the table user.

    To start, I just want to test the SP only from the DB.  So, I'm wondering how I can configure the parameter with a value to imitate an application by passing a value to this parameter.

    Here is my code for the SP that was compiled without error.

    CREATE OR REPLACE PROCEDURE SP_LOGIN_CHK

    (

    P_USRNAME IN VARCHAR2

    ) IS

    v_login_id VARCHAR2 (20);

    BEGIN

    Select login_id

    in v_login_id

    of login_user where v_login_id = p_usrname;

    END SP_LOGIN_CHK;

    Here is what I use to run the stored procedure...

    exec sp_login_chk('Chris');

    I get an error "no data found".  However, when I run this query on the database, I get 1 line returned.

    Select login_id login_user where login_id = "Chris";

    Hello

    cjpicc11 wrote:

    Greetings,

    I'm still new to PL/SQL and try to create a stored procedure that would allow me to check if a user exists in the connection table.  The final objective is to have a connection of the user to an ASP.net web application and have a stored procedure validate the user exists in the table user.

    To start, I just want to test the SP only from the DB.  So, I'm wondering how I can configure the parameter with a value to imitate an application by passing a value to this parameter.

    Here is my code for the SP that was compiled without error.

    CREATE OR REPLACE PROCEDURE SP_LOGIN_CHK

    (

    P_USRNAME IN VARCHAR2

    ) IS

    v_login_id VARCHAR2 (20);

    BEGIN

    Select login_id

    in v_login_id

    of login_user where v_login_id = p_usrname;

    END SP_LOGIN_CHK;

    Here is what I use to run the stored procedure...

    exec sp_login_chk('Chris');

    I get an error "no data found".  However, when I run this query on the database, I get 1 line returned.

    Select login_id login_user where login_id = "Chris";

    At the same time that you run the query, the local variable v_login_id has the value NULL, then the condition:

    where v_login_id = p_usrname;

    won't be true.  I bet you want to use the column in the table in this condition, not the local variable, like this:

    where login_id = p_usrname;

  • Change the order of the variable by number

    Working in 2013 Teststand on equipment that is shared by several developers.  It seems that something has changed with the way in which the variables are classified in the Variables pane, but cannot identify how to change back, or who may have changed.

    I have a list of FileGlobals which are numbered sequentially, (Test0, Test1, Test2, etc.).  Previously, they have been displayed in the pane in the same sequential order.  Now, the variables are classified based on the first digit (Test0, Test100, Test10, Test11... Test18 Test19, Test1, Test20...).  It is more difficult to go through the list in the order during debugging, especially since there are more than 100 of them.  Any ideas of how this could have been changed and how to change it back?  Thank you.

    GSinMN

    Not sure if it of right or not, but at the top of your variable component for each column, you can click on the column header.  It will change the order.  There are 3 modes.  If an arrow appears that means that the column is sorted from A to Z.  If an arrow appears it means that the column is sorted Z.-a.  If you do not see an arrow, it means that the column is sorted according to the index in which the variable exists in the file.  You can click on the column heading to change to each mode.

    Hope this helps,

  • TS API: Verify the presence of the variable

    Hello

    Using the TS API, is there a chance to see a variable as is?

    For example, I'm not sure I have defined it called digital variable loss (Locals.Loss) and I would check it exists or not.

    Y at - it order API to do?

    PropertyExists ("propertyName")

    Returns True if the property exists.

  • How to get the variable 'dn' in a script

    Hello

    I have a problem, get the variable "dn" of the script is not a "public" variable, but I'm able to see in the log file. I bet it's in an object java somewhere - I don't know how to access it. No one knows how to get it. I have attached some of the newspaper:)

    CN = 8485 [5-6] XX, dn = 8485601 = 9812 cgn, ani = null, dnis = null, clid = null, atype = FORWARD_ALL lrd = 9817, ocn = 9817,

    I have a similar problem but I did not find the repo. package... Where?

    Thank you

  • RowAlreadyDeletedException so that the line exists in the database

    Hello

    JDev 11.1.2.4

    I put in place the mechanism to keep the current line on the restoration.

    http://andrejusb.blogspot.ch/2013/03/ADF-rollback-and-keep-current-row.html

    In a managed bean I call the restore operation, and if the restoreCurrentRow is called on all your.

    The code is in the VOImpl database which all your runs from:

    protected void restoreCurrentRow() {}

    If (currentRowKey! = null) {}

    _logger.fine ("START RESET CURRENT ROW");

    _logger.info ("restoreCurrentRow" + this.getClass () + "" + currentRowKey + "" + this.getName ());

    this.executeQuery (); < = RowAlreadyDeletedException thrown here

    Key k = new Key (currentRowKey.getAttributeValues ());

    [] Found line = this.findByKey (k, 1);

    If (found! = null & & found.length == 1) {}

    Line r = this.getRow (k);

    this.setCurrentRow (r);

    If (r! = null & & currentRowIndexInRange > = 0) {}

    this.scrollRangeTo (r, currentRowIndexInRange);

    }

    }

    _logger.fine ("FINISHING RESET CURRENT ROW");

    }

    currentRowKey = null;

    }

    For on VO, I get an RowAlreadyDeletedException exception:

    < Utils > < buildFacesMessage > ADF: addition of the following JSF error: line entity with key oracle.jbo.Key [2044346 null] is not in VwWrkdclWrkTitle.

    oracle.jbo.RowAlreadyDeletedException: Houston-25019: line entity with key oracle.jbo.Key [2044346 null] is not in VwWrkdclWrkTitle.

    at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelectForAltKey(OracleSQLBuilderImpl.java:875)

    at oracle.jbo.server.BaseSQLBuilderImpl.doEntitySelect(BaseSQLBuilderImpl.java:552)

    at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:8311)

    at oracle.jbo.server.EntityImpl.populate(EntityImpl.java:6975)

    at oracle.jbo.server.EntityImpl.merge(EntityImpl.java:7314)

    at oracle.jbo.server.EntityCache.addForAltKey(EntityCache.java:1087)

    at oracle.jbo.server.EntityCache.add(EntityCache.java:541)

    at oracle.jbo.server.ViewRowStorage.entityCacheAdd(ViewRowStorage.java:3173)

    at oracle.jbo.server.ViewRowImpl.entityCacheAdd(ViewRowImpl.java:3799)

    at oracle.jbo.server.ViewObjectImpl.createInstanceFromResultSet(ViewObjectImpl.java:5913)

    at oracle.jbo.server.QueryCollection.populateRow(QueryCollection.java:3637)

    at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:3492)

    at oracle.jbo.server.QueryCollection.get(QueryCollection.java:2209)

    at oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:5125)

    at oracle.jbo.server.ViewRowSetIteratorImpl.doFetch(ViewRowSetIteratorImpl.java:2961)

    at oracle.jbo.server.ViewRowSetIteratorImpl.ensureRefreshed(ViewRowSetIteratorImpl.java:2817)

    at oracle.jbo.server.ViewRowSetIteratorImpl.refresh(ViewRowSetIteratorImpl.java:3058)

    at oracle.jbo.server.ViewRowSetImpl.notifyRefresh(ViewRowSetImpl.java:2797)

    at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1255)

    at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1413)

    at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1319)

    at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1304)

    at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:7211)

    at org.xxx.common.model.adfbc.base.MyViewObjectImpl.restoreCurrentRow(MyViewObjectImpl.java:238)

    at org.xxx.common.model.adfbc.base.MyViewObjectImpl.afterRollback(MyViewObjectImpl.java:230)

    at oracle.jbo.server.DBTransactionImpl.rollback(DBTransactionImpl.java:2544)

    at oracle.adf.model.bc4j.DCJboDataControl.rollbackTransaction(DCJboDataControl.java:1600)

    VwWrkdclWrkTitle is a SQL view.

    In the managed bean, I call a PL/SQL operation. PL/SQL commits the changes, and then I call the restore operation.

    So I set a breakpoint after the operation of PL/SQL and test the SQL and I get a single record. Because the PL/SQL is committed, before restoring SQL must return the same as the restoreCurrentRow method.

    I do not understand this RowAlreadyDeletedException exception because the line exists.

    Thank you

    I changed to a primary key that is never zero, and it works. Seems to be a bug in the ADF.

  • is it possible to pass the value of the variable validation function return Boolean message?

    Selection_012.pngSelection_013.png

    Assume that L_BATCH_NAME is the name of the variable which will receive the value as

    declare

    l_batch_name: = "NA";

    BEGIN

    L_BATCH_NAME: = FUNCTION (PARAMETERS);

    IF CONDITION > 0

    THEN

    RETURN FALSE;

    ON THE OTHER

    RETURN TRUE;

    END IF;

    END;

    Hi Reema,

    ReemaPuri wrote:

    Assume that L_BATCH_NAME is the name of the variable which will receive the value as

    declare

    l_batch_name: = "NA";

    BEGIN

    L_BATCH_NAME: = FUNCTION (PARAMETERS);

    IF CONDITION > 0

    THEN

    RETURN FALSE;

    ON THE OTHER

    RETURN TRUE;

    END IF;

    END;

    1. create a hidden item I say P1_HIDDEN_ITEM

    2 type the error message for this element in your process of

    declare
    l_batch_name:='NA';
    
    BEGIN
    :P1_HIDDEN_ITEM := FUNCTION(PARAMETERS);
    IF CONDITION > 0
    THEN
    RETURN FALSE;
    ELSE
    RETURN TRUE;
    END IF;
    END;
    

    3 and refer to this element hidden in the error message.

    Record for the batch '||&P1_HIDDEN_ITEM.||' already exists.
    

    Kind regards

    Jitendra

  • Is there an action or a script to remove the variables?

    I have about 500 files created from a source model and a variable (of 500 sets of data). Each of the 500 output files includes the library of variables. I want to separate the object and remove the variable in each of these output files. It will take hours to open each file and manually remove the variable, so I hope that it might be possible to automate this process with a script or a batch action. Unfortunately, however, I don't know enough script to create the script myself. Are there commands that can be combined in an action, or y at - it an existing, to achieve this script?

    Thank you very much.

    Maybe that someone else can promote the use of 'actions' for this?

    About scripting:

    Give a try on a "test copy" of one of your files and see if it's what you want.

    function removeDataSetsAndVariables() {
        if (app.documents.length > 0) {
            var doc = app.activeDocument;
            var dS = doc.dataSets.length;
            var v = doc.variables.length;
            var curV;
            if (v > 0) {
                for (var i = v - 1; i >= 0; i--) {
                    curV = doc.variables[i];
                    curV.remove();
                }
            }
            if (dS > 0) {
                doc.dataSets.removeAll();
            }
        }
    }
    removeDataSetsAndVariables();
    

    In my quick test, the code snippet above will remove all the variables and data sets, is that what you need/want? If Yes, then we can proceed from there. Let us know.

  • Release of connect-viserver added to the variable - how?

    Hello

    I'm fighting to understand a problem with a script that I write to stop our vSphere & NetApp infrastructure when our UPS battery is critical.  If someone would be so kind help where I am wrong, I would be happy.

    A function connects to vSphere, gets the list of running virtual machines and this output to a csv file.  The value of the csv path is then returned by the function to be used elsewhere in the script.

    The problem I encounter is that the output of the command connect-viserver is being added for the returned data, and so I did not have a clean file to a csv file name more.  When I put a breakpoint on the return line, the value of $RunningVM_File is: C:\Path\To\file.txt, continue the script and check the value of the variable of the function is returned to, and the returned value has changed:

    Port of user name

    ----                           ----  ----

    vCenter_Server_NAme 443 domain\username

    C:\Path\To\file.txt

    Here is the function of the origin of the problem:

    function Initialize-vSphereShutdown

    {

    [CmdletBinding()]

    [OutputType ([string])]

    Param

    (

    # Description helps Param1

    [Parameter (mandatory = $true,)]

    ValueFromPipelineByPropertyName = $true,

    Position = 0)]

    $vSphereServer,

    # Description helps Param2

    [string]

    $BasePath,

    [pscredential]

    $Credential,

    # Description helps Param

    [Parameter]

    [string] $Logfile

    )

    Begin

    {

    #Connect to vSphere

    SE connect-VIServer-Server $vSphereServer - Credential $Credential # - User $UserName - Password $Password

    Write-debug ' connected to: $vSphereServer.

    Write-output ((Get-Date-f o) +"- connected to vCenter / ESXi host:"+ $vSphereServer) | out-file $Logfile - Append

    $RunningVM_File = ($BasePath) + "RunningVMs.txt".

    }

    Process of

    {

    If (Test-Path ($RunningVM_File)) {}

    Remove-Item ($RunningVM_File)

    }

    #Return list of all ESXi hosts managed by the host connected/vCenter

    $ESXiSRV = get-VMHost | Select-Object - ExpandProperty name | Out-string

    Write-debug ' following ESXi hosts are available:

    $ESXiSRV write-debug

    Write-output ((Get-Date-f o) +"- the following ESXi hosts are available:"+ $ESXiSRV) | out-file $Logfile - Append

    $vCenterESXiHost = get-VMHost - VM $vSphereServer | Select-Object - ExpandProperty name | Out-string

    $vCenterESXiHost | Out-file ($BasePath + "vCenterESXiHost.txt")

    Write-debug ' vCenter Server running on host: $vCenterESXiHost.

    Write-output ((Get-Date-f o) +' - vCenter Server running on the host: "+ $vCenterESXiHost) | out-file $Logfile - Append

    Debugging of Scripture "implementation of virtual machines.

    $RunningVM = get - VM | Where-Object {$_.} PowerState - eq "Receptor"} | SELECT name, folder, VApp

    $RunningVM | Export-Csv $RunningVM_File - NoTypeInformation

    Write-debug ' list of virtual computers running sauvΘs: $RunningVM_File.

    Write-output ((Get-Date-f o) +' "-list of virtual machines running recorded at:" + $RunningVM_File) | out-file $Logfile - Append

    }

    End

    {

    return $RunningVM_File

    }

    }

    Send the output of the cmdlet COnnect-VIServer into a black hole ;-)

    Like this

    SE connect-VIServer-Server $vSphereServer - Credential $Credential # - User $UserName - Password $Password | Out-Null

Maybe you are looking for