transformation script changes not saved in design

Hello

I made several scripts processing to change my relational model to the Data Modeler.

One of the scripts defined abbreviations of table for all the table based on the PK constraint. (I'm importing the model of my data dictionary which has PK constraints defined as {abbr} _PK)

After I "Apply of Scripts of Transformation Custom", I see that all tables have now an abbreviation of the table.

However, if I save my design, close and reopen it, all abbreviations are empty again.

I did a few tests and manually fill the field of abbreviation Table changes be saved.

If I check the table XML files, I can clearly see that the table for which I manually added the acronym has a < short > tag, which is not what I filled auto with the transfer script.

I noticed a similar behavior for scripts that I use to fill the parameters of Auto_inrement and others. After I run the script, I can see all the values filled in my template, but is not be saved and I lose all the changes made after closing my model.

I noticed that the changes be saved if I choose Save as and save my template in a new directory (however to register as in the same directory create a SVN error).

Is there something I should add to my .js script that changes be saved?

Is this a bug?

Does anyone else have these issues?

I use Data Modeler 4.1 early adapter on a win machine 7.

An example of .js script I use:

//******************************************************************************

//

NAME: set_table_abbreviation

AUTHOR: NVDA - NIAUW

OBJECTIVE: use this script to define abbreviations of table in the physical model for each table

VERSION: 1.0

//

PREREQUISITES:

-Table with PK constraint and name constraints = {table abbr} _PK - as it is in the designer

//

//******************************************************************************

load compatibility to 4.1 data maker script (ea)

Load("Nashorn:mozilla_compat.js");

import Java packages

importPackage (javax.swing);

//----------------------------------------------------------

Global declarations

//----------------------------------------------------------

var msg ="";

//----------------------------------------------------------

Main body

//----------------------------------------------------------

find all tables in datamodel in table

tables = model.getTableSet () .toArray ();

loop over the tables and do something with it

for (var t = 0; t < tables.length; t ++) {}

If (! table [t] .getAbbreviation ()) {}

var abbr = setAbbrv ([t] tables);

If (abbr! == ") {}

tables [t] .setAbbreviation (abbr);

tables [t] .setCommentInRDBMS ("abbreviation table: ' + abbr");

MSG += "table" table [t] .getName () + 'got abbr' abbr + "\n";

}

}

}

inform about what happened

If (msg! == ") {}

JOptionPane.showMessageDialog (null, msg);

} else {}

JOptionPane.showMessageDialog (null, ' no table (without abbr) found.) ») ;

}

//----------------------------------------------------------

Functions

//----------------------------------------------------------

FUNCTION: setTbleAbbrv

//----------------------------------------------------------

function setAbbrv (table) {}

var = abbr "

var s = table.getPKeys () .toArray ();

for (var t = 0; t < constr.length; t ++) {}

cast to string

var strConstr = constr. [t] + '.';

If (strConstr.match(/_PK./)) {}

abbr = strConstr.replace var ('_PK' ");

}

}

If (abbr = ") {}

MSG += "table" + table.getName () + "is not a PK constraint. \n » ;

}

back to abbr;

}

FUNCTION: read

//----------------------------------------------------------

function read (pMessage) {}

var input = JOptionPane.showInputDialog (pMessage);

return entry;

}

Hello

in the loop where you treat the tables, do the following:

tables [t] .setDirty (true);

This will mark the object as being edited and saved during the registration of the design.

Joop

Tags: Database

Similar Questions

  • Changes in the value of the property of Arc "Include in DDL Script" is not saved.

    I have arches in my design I want that code auto DDL will not be generated because FK are composed and the generated code for the validation of the CRA in these more complex cases is not correct, so I created an explicit constraint on the table for this validation.

    But the problem is that the property of Arc "Include in the DDL Script" is not being saved in the design.

    If I unchecked the option for CRA and generate or view a preview of the DDL code the CRA is not generated.

    But when I save the project, close and reopen the bows have this option turned on again.

    I've been checking files xml for arcs and this property is not included, then by default always generates.

    Thank you!

    This problem is corrected in Data Modeler version 4.0 EA3 which is now available for download.

    David

  • Tips for the custom transformation script change the Associations of FK table

    Hello

    I try to write a transformation script that will scroll through tables in a large model and change some
    FK associations to change the remote table at CF. By the way, the reason is that our logic model
    the logical entities that represent many areas of codes of small research. However, our relational and physical model has a
    utility single physical filing table of codes that contains all areas of these codes. Therefore, a part of the transformation
    our logic model for the relational model is to swing all FK associations for these areas of research codes
    in the table of common code. Then the paintings representing the research areas can be removed from hard.

    In any case, I'm looking at the

    oracle.dbtools.crest.model.design.relational.FKIndexAssociation

    or the

    oracle.dbtools.crest.model.design.relational.Index

    to see if one of them can be manipulated to perform the transformation I want to accomplish.

    When I perform the equivalent process manually via the property sheets there are several ways to address this problem.

    (a) the method more jolise seems to change the FK in place by clicking on the FK in the relational schema and changing
    the property called ' PK / UK Index'. Change that to the pharmacokinetics of utility code repository table that replaces the original
    table (which represents the research field). A side effect of this translates into CF mapping
    columns being nulled out. They must be remapped to original columns (which are kept).
    So in two stages, the existing FK is detached from the original, attached table to the new table, and then
    FK columns are reused in place for new CF mapping.

    (b) the brute force method is to remove the original FK and then create a completely new FK to the new table. There are
    several dialog boxes that allow you to keep the original FK columns and use them in the new FK.

    I realize, this is a somewhat complex transformation, but I would like a few algorithmic advice on which path to take
    to try to achieve. In particular, there is a script that is equivalent to that of the first process above?

    I don't even know if the CF which is represented on the relational schema is represented by the FKIndexAssociation or Index
    class in the script object model. In other words, I have to loop through the tables in the relational model what would be my
    starting point:

    FKS = table.getFKAssociationsList ();

    or

    fkIndexes = table.getAllInds_FKeyInds ();

    or something else. The names of the properties in the user interface are always with the properties of scripts not so
    It's a little difficult to understand such things.

    Once I have access to the object that is equivalent to the FK in the property/diagram worksheet, which
    is the best way to handle via script. How can I change the end of parent and away from CF to point to the new table.
    Or if I have to delete the original CF and then re-create - is there a way to save the original FK columns and reuse them
    While creating the new FK?

    ********************

    Another question. What is the best way to remove tables from a relational model. I note that there is a remove() undocumented (?)
    a method that is available on the Table. It's probably a superclass to remove other things as well.

    When I try to use this method in a loop the script throws up to dialog boxes that are similar to dialog boxes that are displayed during the execution of a removal
    manually through the user interface. Is it possible to intercept and answer dialogs programmatically?
    So for example if I get a window of dialogue as

    You want to remove generated columns of FK 'FOO' in the table 'BAR '?

    is it possible to intercept this dialog in the script and then answer Yes or no it via the script?

    ***************

    If it is too difficult to perform this type of transformation with the help of script
    is to do the transformation on the generated DDL file. But it would be cleaner to
    to do the transformation in the relational model DM if possible.

    All advice appreciated.

    Rgds, BP

    When I try to use this method in a loop the script throws up to dialog boxes that are similar to dialog boxes that are displayed during the execution of a removal
    manually through the user interface. Is it possible to intercept and answer dialogs programmatically?
    So for example if I get a window of dialogue as

    You want to remove generated columns of FK 'FOO' in the table 'BAR '?

    is it possible to intercept this dialog in the script and then answer Yes or no it via the script?

    It's in the preferences - "Data Modeler > model > relational > remove FK column strategy."

    I don't even know if the CF which is represented on the relational schema is represented by the FKIndexAssociation or Index

    Is a pair of two - FKIndexAssociation, that's what you see the pattern, but it is hidden in the table index - isFK() returns true for this type of index and you can take FK with getFKAssociation()

    Once access to the object that is equivalent to the CF in the property/diagram worksheet

    table.getFKAssociations () - returns an array of the foreign keys;
    You can get to them from the relational model:
    model.getFKIndexAssociationSet () .toArray () - FK all model

    How can I change the end of parent and away from CF to point to the new table.
    Or if I have to delete the original CF and then re-create - is there a way to save the original FK columns and reuse them
    While creating the new FK?

    There should be no problem if you use the same number of columns with the same data type and order:

    get the current FK columns
    columns = fk.getColumns ();
    newRefKey is the new key question; referred and child columns must match the data type and the order in the keys - you do not ask how to get
    fk.changeKeyObject (newRefKey, columns);

    function setting in preferences, you will get the question on the columns of FK.

    Therefore, a part of the transformation
    our logic model for the relational model is to swing all FK associations for these areas of research codes
    in the table of common code. Then the paintings representing the research areas can be removed from hard.

    You can create the hierarchy of entities with the root attribute (and PK identifier) KP holding entity and entity - your look-up - empty child relationships will be these entities of the child. With the help of the transformation of the "unique Table" you will get what you are trying to achieve now with script.

    Philippe

  • XML Source changes not saved

    Using LiveCycle Designer ss4 Version 11. Modifications for accessibility, one condition is to display the title of the document in the document window of the static PDF that results. Say the following in instructions:

    1. 1. to open the Xml source for a document, click View-> Source XML.

    Check if the following tag is available in the Xml file:

    <?originalXFAVersion http://www.xfa.org/schema/xfa-template/3.3/ ?>
    1. 2 If the tag exists, add DisplayDocTitle:1? to the tag. The tag that results should be:
    <?originalXFAVersion http://www.xfa.org/schema/xfa-template/3.3/ DisplayDocTitle:1?>

    If the tag does not exist, add the tag with the DisplayDocTitle:1? Add.

    <?originalXFAVersion http://www.xfa.org/schema/xfa-template/3.3/ DisplayDocTitle:1?>

    Note: You need to add this tag as well as the other processing instructions... in the next parent node:

    <template xmlns="http://www.xfa.org/schema/xfa-template/3.6/">

    1. 3 Save the document.

    Only problem, is Designer does not record the change in the XML Source once I'm - ideas?

    Okay resolved my problem. A couple of things that people need to know, which is clearly not Adobe.

    1. you need LiveCycle Designer ss4 SP1 to implement accessibility features. NOT that Adobe currently distributes its online store (at least not from 3 days 01/12/2015).

    LiveCycle Designer ss4 SP1 is available for Download Adobe LiveCycle ss4 Service Pack 1. Adobe provides a complete description of what is included in LiveCycle ss4 SP1.

    It has some features being treated for accessibility - mainly

    (1) the accessibility checker LiveCycle will be added to tools > menu Macro on LC Designer (read there is a, but until I downloaded the MS wondered why I couldn't).

    (2) allows the implementation of the http://www.xfa.org/schema/xfa-template/3.3/DisplayDocTitle:1? > tag in the XML source, which allows you to display the document title in the title of the window to static pdf forms.

    This is described in the LiveCycle Designer ES4 help file, adding details on the form.

  • Chang not saving settings do not

    I enable cookies, press ok and settings window will close when I open again the change I've made is cancelled

    Question by saving your preferences, try this

  • T510 Citrix FontSmoothingType configuration changes not saved

    Hi all

    We recently bought a T510 because our existing customers (T5565) are now EOL, and we try to configure the T510 with similar parameters.  One of the parameters that the FontSmoothingType change us is in the file All_Regions.ini located in writing/home/user /. ICAClient.  However, the changes we make are not persistent after a reboot.

    That's what we do:

    fsunlock

    CD/writing/home/user /. ICAClient /.

    VI All_Regions.ini

    (Change FontSmoothingType = * to FontSmoothingType = 3)

    : wq

    fslock

    After the reboot, the file All_Regions.ini has been restored and the timestamp of the file is more recent, which suggests that the file is overwritten when starting.

    I can't find any other copy of All_Regions.ini which could be a version of "master".

    Hoping someone can help.

    OS: ThinPro 4 (T6X42019)

    Martin

    You must change the All_Regions.ini in/usr/lib/ICAClient/config. This change should be persistent.

    Concerning

  • Yes, said "some files needed to accurately preview this page have been changed but not saved." Save now? "(Was: Question about possible...)"

    I said 'yes' to a box with a question that came

    ' Some files needed to accurately preview this page have been changed but not saved. Save now? "

    I had already experienced with the creation of text boxes (divs?) and what makes them different colors so I could see the difference, but now I managed to transform not only one, but ALL of my precious site pages in pink pandemonium - how can I fix it despite the fact that the coding is very well and does not correspond to what I have now on my pages... An example is attached...

    I have what looks like a bug, because it affects all pages.

    Screen Shot 0027-08-25 at 16.58.46.png

    Sounds like the file that your linked css file save you when you are prompted. Only one css file that is linked to all pages would change all your web pages. You will then need to open that and then make the changes in this file in contrast to those that you saved by mistake.

    I suspect that you used the Panel css Design to make your css revisions in order to revert the changes through that and then save the css file.

  • I have Safari 9.1, El Capitan. The changes I make in the Safari preferences are not saved after that I close the program. There is no such thing as a Library/Preferences/Safari. What should do?

    I have Safari 9.1, El Capitan. The changes I make in the Safari preferences are not saved after that I close the program. There is no such thing as a Library/Preferences/Safari. What should do?

    I think you're looking in the root folder not your home folder.   Tilde ~ in front of the first slash indicates the folder.

    Try this...

    Quit Safari.

    Open a Finder window. In the Finder menu bar, click go > go to folder

    Type or copy paste the following text:

    ~/Library/preferences/com. Apple.Safari.plist

    Click OK, and then move the com.apple.Safari.plist file to the trash.

    Restart Safari to test.

  • My computer won't recognize bluetooth headset! Error message 'Discoverablilty and connectivity settings were not saved' and 'Bluetooth Exchange folder is not found' by changing the properties of bluetooth

    Original title: my computer won't recognize bluetooth headset!

    When I checked "Allow bluetooth devices to find this computer" under the "Option" menu, I got the error message "Discoverablilty and connectivity settings were not saved. Another message error I got is "Bluetooth Exchange folder is not found".  Although I copied this file from my backup data files, the problem still exists.

    I used to use able to connect to my computer with the headset.

    Please advise me what I have to do.

    Hi Venturer016,

    Remember to make changes to the computer before this problem?

     

    Method 1: You can follow the steps mentioned in the link below

    The problems with Bluetooth devices

    http://Windows.Microsoft.com/en-us/Windows-Vista/troubleshoot-problems-with-Bluetooth-enabled-devices

    Thanks and greetings

    Ajay K

    Microsoft Answers Support Engineer
    ---------------------------------------------------------------------------------------------------------
    Visit our Microsoft answers feedback Forum and let us know what you think.

  • The changes are not saved - RV110W

    Greetings,

    I use RV110W with Firmware Version 1.2.7.1

    Under Firewall > basic settings >

    Block WAN request: Enable

    then try to change the selection, then > save changes (at the bottom of the page) are not saved.

    I also verify that different browsers (IE, Firefox, Chrome...), but without success

    any ideas?

    TNX

    Hello

    Thank you for your kind reply. Based on your post above, I can life your 1.1.0.9 for 1.2.1.7 update firmware.

    Please try to take backup of router and try to downgrade the firmware to 1.1.0.9 and check the status of configuration in this version. If it works fine please try to update the firmware version of the 1.1.0.9 > 1.2.0.10 > 1.2.1.4 > 1.2.1.7 and verify the configuration changed and made me know the status to go further.

    Thank you

    Ambareezh

  • Canvas work will not change to white in design mode.

    Canvas work will not change to white in design mode.MUSE CANVAS.JPG

    Inadvertently, you have activated the superposition of the grid. Disabling this function using the menu "show/hide grid Overlay" or by pressing ALT + CMD + SHIFT +'

  • When I edit a .wav file (noise reduction to remove the background hiss) and save them, the changes are not saved.

    I just installed hearing and have edited a few audio voiceover to remove the background hiss.  When I save the changes and reopen the file, the hiss is back.  The changes are not saved.  Why is this happening?  How to record the sound of the effects of reduction in my .wav file?

    [Ask in the correct forum allows... Left generic Cloud/Setup forum for forum specific program... MOD]

    shionak wrote:

    I capture the background hissing noise footprint > click apply > click on select, then click on apply again.

    These steps are not quite correct. You have two choices; either highlight a part of the background noise and use SHIFT + P, which captures your selection as a basis for NR or, open the Panel NR and use "Capture noise Print" from there, after making a selection first. After doing this, click on "select an entire file. What you definitely have to do is to use 'apply' at this point, and when use you it, just use it once.

    When you capture using printed, the Preview 'play' button inside the plugin to check the settings and then stop it. When you are satisfied of what he done, then click on 'Apply' - but once. This will apply for all of your noise reduction. As long as you do not use "undo" at any time, the version Number will be be recorded on the original, or if you use "save under", then the original will be left alone, and a new noise-reduced version will be saved.

  • When I close CS6 setting changes are not saved.  Restores the default settings on reopen.  Why?

    When I close CS6 setting changes are not saved.  Restores the default settings on reopen.  Why?

    Sorry Photoshop - problems resolved - I read the details - turns out you need to make changes not files opened for preferences apply to all files.

    Thank you, Al

  • Cannot remove index via the transformation script custom

    I want to remove through the Custom transformation script a clue, in the relational model.
    Le script runs without error by only the index is not deleted

    1. tables = model.getTableSet () .toArray ();
    2. for (var t = 0; t < tables.length; t ++) {}
    3. table = table [t];
    4. table.setDirty (true);
    5. constlist = table.getKeys ();
    6. for (var i = 0; i < constlist.length; i ++) {}
    7. constraint = constlist [i];
    8. constraint.setDirty (true);
    9. indname = constraint.getName () + "_IX";
    10. {if (Constraint.isFK ())}
    11. index = table.getIndexes () .getByName (indname);
    12. index = table.getObject (indname);
    13. If (index! = null) {}
    14. index.setDirty (true);
    15. {if (index. GetName(). Equals (indname))}
    16. the index. Remove;
    17. }
    18. }
    19. }
    20. }
    21. }

    Hello

    If you use "debug", probably you will see some of the problems you have.

    line 16 - index.remove;

    be - index.remove ();

    but you can't get there because you're wrong check:

    {if (Constraint.isFK ())}

    must be:

    {if (!) {(Constraint.isFK ())}

    other problems:

    (1) 4th place will put all the paintings as dirty

    table.setDirty (true);

    This should be moved after the removal of the index

    (2) the same for the constraint - you define constraints like salty, BTW, it is not necessary define elements of array as dirty, if the table is / will be defined as dirty.

    Script could be dangerous - make your tests on the copy of the drawing or model. Versioning can help here - after running the script and save the drawing, you can see in the outgoing changes (subject to a window changes) exactly what is changed by this script and probably undo the changes if you don't like them.

    Philippe

  • Article not saved when the item is in a modal dialog box of jquery

    Hi all


    I followed the instructions here:
    http://shijesh.WordPress.com/2010/04/10/jQuery-modal-form-in-Apex-4/
    to create a modal jquery dialog, this is the code that I added in the html header:
    <link rel="stylesheet" href = "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/
    redmond/jquery-ui.css" type="text/css" />
    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js"> </script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"> </script>
    <script type="text/javascript">
    $( function() {
       $('#ModalForm').dialog(
       {
            modal : true ,
            autoOpen : false ,
            width : 425,
            closeText : 'Close',
            stack : false,
            resizable : false,
            buttons  : {
                Cancel : function() {
                         closeForm();
                    } ,
                Save : function() {
                    updateMEMOVELD();
                }
                       }
       });
    });
    
    function openForm()
    {
        $('#ModalForm').dialog('open');
    }
    
    function closeForm()
    {
        //$('#ModalForm input[type="textarea"]').val('');
        $('#ModalForm').dialog('close');
    }
    
    function updateMEMOVELD () 
    {
       var get = new htmldb_Get(null, &APP_ID.,    
                        'APPLICATION_PROCESS=f_memo', 0);
       get.add('P9_MEMOVELD',$v('P9_MEMOVELD'));
       var gReturn= get.get();
       //alert(gReturn);
       //alert($v('P9_DATUM'));
      $s('P9_MEMOVELD',gReturn);
      alert($v('P9_MEMOVELD'));
      $s('P9_MEMOVELD_COPY',$v('P9_MEMOVELD'));  
      $('#ModalForm').dialog('close');
    }
    </script>
    my situation is a little different, my modal doesn't have to perform a sql update, just to change a field
    the user will then record in the main form
    for some reason any field never gets updated in the db
    I even created an application on the application called f_memo process:
    BEGIN
      APEX_UTIL.SET_SESSION_STATE('P9_MEMOVELD',:P9_MEMOVELD);
      htp.p(:P9_MEMOVELD);
    END;
    Why my domain is not send to the db?
    It works when I remove this from the header of the region:
    < d i v id="ModalForm" title="Add Person" style=" d isplay:n one  "   >
    but then of course I have more a modal dialog box



    What's wrong?


    I put the code online at apex.oracle.com
    workspace XONIXRS
    login/password demo/demo
    Run the application
    Click lijst (invoices) without (in the region of the right sidebar)
    Then click on the button Search (search)
    a report is displayed, click on edit on the first line (200900017)
    now, a form appears, click the memo of pure and simple button
    now the modal shows upward, change the field and click Save
    Click ok (for warning) and then click on save the invoice
    you stay on the same page
    Now click on town
    and then click on edit on the first line (200900017) new
    then click on note even once, you will see that the memo has not been changed

    How comes?

    KR
    Martin

    The problem is that the creation of a region of a modal rise this area of the html code. Take a look at the DOM when you run your page and not the html source code, because that does not reflect the changes to the DOM is the loading of the page. This means that your memo field is far from the FORM tags and actually only submit to the session state. The issue is not addressed when you send page! You can follow through your debugging page. Memo is not saved and untreated.
    Try saving the value of session state is not enough, it does not really matter in this case. The time that you submit the page, session state is crushed by the submitted values of the elements.
    So what I did:


    • Move P9_MEMOVELD to the FACTUUR region, as well as all other db fields

    • change the type of hidden

    • the protected value not

    • in modal region to create a new page P9_MEMOVELD_POP, type textfield element

    • Set the source to always use a page element as a source, with the source P9_MEMOVELD

    • change of function updatememoveld:

      function updateMEMOVELD ()
      {
         /*
         var get = new htmldb_Get(null, &APP_ID.,
                          'APPLICATION_PROCESS=f_memo', 0);
         get.add('P9_MEMOVELD',$v('P9_MEMOVELD'));
         var gReturn= get.get();
         //alert(gReturn);
         //alert($v('P9_DATUM'));
        $s('P9_MEMOVELD',gReturn);
        alert($v('P9_MEMOVELD'));
        $s('P9_MEMOVELD_COPY',$v('P9_MEMOVELD'));
        */
        $s('P9_MEMOVELD',$v('P9_MEMOVELD_POP'));
        $('#ModalForm').dialog('close');
      }
      

      If you want or need the session state as a whole belongs to you, it depends on if you are using this also dynamically on the page and therefore to influence results, but I don't think it will be (it's a Memo field...)



    Additional notes:

    • Be careful with the jquery libraries! The standard libraries are included, but you add previous versions too! 1.4.2 this could cause problems of...

    • Use your models better. Why did you would wrap a region in the div tags? Change or add a model of region to be DIV tags You can then easily assign a static id in this region and target. This will save you from enveloping the wrappers wrapped (cause it is what looks like the code that is generated in the end).

Maybe you are looking for