Data Modeler : Comparing models
Hi,
A ct of mine is trying to compare data models, they have some questions:
1) Is there am easy way to change the "from" and "to" models, I mean depending on the first file you open you set the "from" model. It could be good to change: compare model A agisnt B, and B against A.
2) Another thing when you compare models if you have the "Tables" option selected and then expand the menu, all the tables are unmarked, is it the expected behaviour?
3) Also is it possible to syn with a svn repository?
Rgds
L
Hi Luis,
what version of Data Modeler do you use?
1) Is there am easy way to change the "from" and "to" models, I mean depending on the first file you open you set the "from" model. It could be good to change: compare model A agisnt B, and B against A.no, not for 3.0
2) Another thing when you compare models if you have the "Tables" option selected and then expand the menu, all the tables are unmarked, is it the expected behaviour?they are unmarked if there are no differences - you can use check box in front of "Tables" to mark them all
3) Also is it possible to syn with a svn repository?yes in 3.0 (including early adopters versions), you can look at demonstrations here http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html
Philip
Similar Messages
-
Data Modeller: compare models
Hello,
when i go through the compare models dialog. The table columns are highlighted as been different. Inspection revels that the difference is in the data type:
On the source model it is set to the domain presentation and on the target - to it's a logical type representation.
I'm not sure how to change this?
Another question:
same dialog - the length of varchar is shown in chars on target and in bytes on the target.
Where do i need to change this ?
thank you
Andrew
Edited by: AndrewZ on Jan 11, 2010 12:19 PMHello Philip,
"how did you create these models - with domains and without and that char - byte difference?"i created a logical model using domains. Each domain has been defined in the "domain administration" dialog and mapped to logical type with ( in case of char/varchar types ) "char" length.
For example :
loan_id is specified as "domain (short text)". Which is defined ( in "domains administration" ) as char(50).
After logical model was complete, i generated the relational , did "DDL generation" ran the script in the DB.
After that i made some changes to the logical ( added and changed some entities ).
To generate the diff i followed Sue's tutorial.
These were the steps I used to get to this situation.
So now i have ( in "Compare Models" dialog) the situation that all tables are different, and the difference is in a type presentation.
Here is the link to the screenshot i made.
"also, you can create domains in model without domains"hmmm, what would be an advantage of using this approach?
Thank you
Andrew
Edited by: AndrewZ on Jan 10, 2010 7:04 PM -
Data Modeler - Compare Models and DDL file
I have been generating DDL files by data dictionary import. In the Compare Models window, the orange triangles with exclamation marks show the tables that are somehow different in database and in my data model.
That would be very helpful feature, if it didn't notice the kind of information that never goes to database. For example I have used the Notes-field and Table Types and the compare functionality shows that those information are missing in database. In other words, it shows the exclamation marks in every table even if I had changed one table in my model.
Is there some reason for it to work like this? Or is this going to be fixed in the future?Ok, that's good to hear!
Now I have another thing about DDL that I noticed. I have a sequence in my database that has cache size of 20. I removed the cache size from Data Modeler and made the DDL file with import from data dictionary. The DDL file was empty, so Data Modeler didn't notice that the sequence had changed. -
Oracle SQL Data Modeler -COMPARE/MERGE
Hi all,
I am trying to compare/merge or just trying to merge a relation model with another in Oracle SQL Developer DATA MODELER.
Scenario:
I have tried to import from data dictionary the hr schema into 3 parts.
Table employee is alone imported in one design model's relational model(say DataModelerDesign1- DMD1).
Table Departments,Locations and Countries in another design model's relational model(say DMD2).
Table Job_history,Jobs and Regions in another design model's relational model(say DMD3).
Now, I tried to merge all this into one design model's relational model, here into DMD3.
Requirement:
I want all of this relational model's tables to get merged with exact mappings as if it is in HR schema all connected to each other. But they are all getting merged as separate entities not conencted to each other when taken from Compare/merge option. How should i do this task?
Issues:
1) I can never see anything in the compare model when i try to click on view compare mapping. Can anytime we see any data here?
2) In realtime scenario, when will we try to merge a table into another or split it. Because some foriegn key violations are happening here. Is it ever possible to succeed our requirement while merging itself instead of creating relationships between entities manually in main relationship model DMD3 in example here.I have found on occasions the diagram pdf would be missing a few relationship lines. Usually it happens after I have been doing a lot of work in the tool or printing a bunch of diagrams. Seems to be a memory leak of some sort. If I close Data Modeler, re-open it, then print to PDF, the diagram is fine.
-
Hello,
I have a Data Modeler Relational and physical, the data model has three. The three tables are in a BBDD. The primary key generate is usssing index , and when I generated the DDL only show alter table add constraint .... . until here everything OK.
if I compare the bbdd with Data Modeler , I get differences in indices that generated oracle when I create the primary key.
¿Is a bug or is there some way to fix it by configuration options?
ThanksHello,
So you have a Relational Model containing 3 Tables. I assume the Physical Model is for an Oracle database.
The primary key generate is usssing index , and when I generated the DDL only show alter table add constraint .... . until here everything OK.
I assume you are doing a DDL generation of your model (using the Generate DDL button above the diagram or using Export > DDL File from the File menu).
In the DDL Generation Options phase of the DDL generation, can you go to the Tables tab and check that the "Selected" check box for the relevant Tables is selected.
(This should normally be selected, but if you deselected it in a previous DDL generation, it will remember that setting.)
The "PK and UK Constraints" and "Indexes" tabs also allow you to control whether the constraints and Indexes are included in the generated DDL.
if I compare the bbdd with Data Modeler , I get differences in indices that generated oracle when I create the primary key.
¿Is a bug or is there some way to fix it by configuration options?
I assume here that you have input your generated DDL to your database and you are then doing a File > Import > Data Dictionary to compare your database definitions with your initial model.
It is likely that there will be some differences shown, due to defaults used by the database when the DDL is input (e.g storage properties for your indexes and tables).
I suggest you examine the differences (which will be highlighted in red on the Details, Storage Details or Physical Details tabs) for each object in the Compare Models dialog, and provided they are acceptable, select the Merge button to merge them into your model.
If you do not want some of the property differences to be merged, you should unset the "Selected" check box for that property before merging.
Note that it is possible to exclude specific properties from the comparison by selecting the Options tab in the Compare Models dialog, and then selecting the Properties Filter, Physical Properties Filter or Storage Properties Filter tab as appropriate.
I hope this helps.
David -
Trigger/Sequence not in ddl preview when comparing models
Hi,
I've a problem with incremental DDL generation and trigger/sequence (auto-increment).
First case :
I've created a table and generated it in my Oracle database.
Then, I've defined on my primary key column the "Auto-increment" and "Identity column" to Yes (and of course sequence and trigger names filled).
If I generate DDL (File/Export or Generate DDL button), no problem. The DDL script contains the sequence and trigger defined in auto-increment properties.
But if I compare my model and the database (Import data dictionnary, swap target...), the sequence and the trigger are not in the DDL preview.
Second case :
If I create a new table in my relational model, with filled auto-increment properties, and then I compare model and db, the new table is created, with associated sequence and trigger. This is completely normal.
Last case :
A trigger manually defined in physical model is not in DDL preview if the table already exists in database. If the table doesn't already exist in db, all statements (table, sequence, trigger) are generated.
my conclusion : auto-increment properties are not taken into account in the incremental DDL generation if the table already exists.
Can you confirm this ?
thanks
regards
Fabrice
(Data modeler 3.1.4)Hi Fabrice,
A trigger manually defined in physical model is not in DDL preview if the table already exists in database.Yes. This is true.
my conclusion : auto-increment properties are not taken into account in the incremental DDL generation if the table already exists.The actual situation is that auto-increment properties are not taken into account in the incremental DDL generation if the column already exists.
David -
Compare Model - Comment vs Comment in RDBMS
Hi:
Version 3.1.0.691 on Windows 7 Enterprise 64-bit SP1
In Designer (Version 10.1.2.0.2, Configuration 4.0.12.97.6, Build 10.1.2.6.18), the Edit Table dialog box (Columns tab, Advanced button) has a section called Documentation, and under that it has a field called Comment, and also one called Description.
I imported a non-versioned Designer application folder into Data Modeler (DM) and did a compare against a model that was schema-captured via DM. In DM's compare tool, the Designer "Comment" is mapping to DM "Comment in RDBMS" and the Designer "Description" is mapping to DM "Comment", as shown in the target section (Designer, right hand side) of the Compare Models - Detail tab.
The DM "Comment" field has its Selected check box checked, and the "Comment in RDBMS" is not checked. The Options - DDL Options tab has its Include Comments box unchecked.
I'd like to bring across Designer's Description and put it into DM's Comment field but if I do that my master model will always show a delta when a future target schema is captured for comparison, since the Oracle database doesn't have a place to store a generic Designer "description", or DM Comment.
Question #1:
Is there a way to globally disable the check box for DM's Comment field in the Compare tool? The Include Comments check box doesn't seem to affect it or the "Comment in RDBMS" field. This would also be a nice thing to know how to do in general for any DM field one might not want to consider in a comparison.
Thanks,
DocHi:
Version 3.1.0.691 on Windows 7 Enterprise 64-bit SP1
In Designer (Version 10.1.2.0.2, Configuration 4.0.12.97.6, Build 10.1.2.6.18), the Edit Table dialog box (Columns tab, Advanced button) has a section called Documentation, and under that it has a field called Comment, and also one called Description.
I imported a non-versioned Designer application folder into Data Modeler (DM) and did a compare against a model that was schema-captured via DM. In DM's compare tool, the Designer "Comment" is mapping to DM "Comment in RDBMS" and the Designer "Description" is mapping to DM "Comment", as shown in the target section (Designer, right hand side) of the Compare Models - Detail tab.
The DM "Comment" field has its Selected check box checked, and the "Comment in RDBMS" is not checked. The Options - DDL Options tab has its Include Comments box unchecked.
I'd like to bring across Designer's Description and put it into DM's Comment field but if I do that my master model will always show a delta when a future target schema is captured for comparison, since the Oracle database doesn't have a place to store a generic Designer "description", or DM Comment.
Question #1:
Is there a way to globally disable the check box for DM's Comment field in the Compare tool? The Include Comments check box doesn't seem to affect it or the "Comment in RDBMS" field. This would also be a nice thing to know how to do in general for any DM field one might not want to consider in a comparison.
Thanks,
Doc -
4.0 EA3 import from designer and database leads to differences in compare models
Hello,
I followed two ways to import a model in Data Modeler:
1 - an import from Oracle Designer
2 - an import from the database generated on basis from Oracle Designer
Then I compare the two models in Data Modeler, and found differences ...
One of the differences is in Table check constraints. The text is the same when viewing it in the compare model.
So I opened the corresponding XML files for the tables and compared the XML for the constraint text. And there are differences:
example:
<rule>(file_locatie is not null and file_naam_org is not null) or<br/>(file_locatie is null and file_naam_org is null)</rule>
<rule>(file_locatie is not null and file_naam_org is not null) or<br>(file_locatie is null and file_naam_org is null)</rule> <<-- designer
the design imported from designer contains br, the databse imported version contains br/
This should not be considered during comparision, or better: boths imports should use the same way of formatting.
JoopThe Rule specification is not re-formatted in Data Modeler code; it is stored as extracted from the database.
For Oracle Database, the Rule is extracted using SQL of the form SELECT search_condition FROM dba_constraints/all_constraints WHERE constraint_type = 'C';
For Oracle Designer, the Rule is extracted using SQL like SELECT txt_text FROM rm_text_lines WHERE txt_type = 'CDWHCL';
Are you able to tell how your Table Check Constraint is represented (with respect to the 'br') in your Database and Designer?
Regards,
Tony -
Display Data from multiple models in one table
Hi Experts,
Is it possible to display data from multiple models in one table smltnsly.
I have created a table dynamically.Now I would like to display data from multiple models... If this possible,can anyone give me a lead as to how to do it..
Regards
SUHi
Your Model Nodes be
Model1
---Output_Model1
Attrib1
Attrib2
Model2
---Output_model2
Attrib1
Attrib2
and the value node is
ValueNode
---Attrib1
---Attrib2
Now the coding.
int size;
IPrivate<ViewName>.IOutput_mode1Node node1 = wdContext.nodeOuptut_Model1();
IPrivate<ViewName>.IValueNodeElement elem;
size = node1.size();
for(int i=0; i<size; i++)
elem = wdContext.createValueNodeElement();
elem.setAttrib1( node1.getOutput_Model1ElementAt(i).getAttrib1() );
elem.setAttrib2( node1.getOutput_Model1ElementAt(i).getAttrib2();
wdContext.nodeValueNode().addElement( elem );
similar code for Model Node 2
Regards
Abhimanyu L -
How to open a popup and get some data from a model class
Hi experts,
mi problem is the next.
I am opening a popup from a view that is controlled by a controller named identificador.do, the controller class is z_identity_cl.
the window that is opened is other view controlled by nocupentes.do, with a controller class, z_nocupantes_cl.
In the do_init event of the z_nocupantes class i have added the next code:
<i> DATA: cl_parent TYPE REF TO Z_IDENTtity_CL.
Recuperamos el atributo parent
cl_parent ?= me->m_parent.
model is the class i want to recover, it is defined in the attibutes of the class z_identity_cl
model ?= cl_parent->get_model( 'mo' ).</i>
When i open the popup i get the next error:
<i>BSP exception : the object numero_ocup.htm(this is the page i want to open) in URL sap/ZHR_PDWEB_GDPT/numero_ocup.htm is a view. Initialize the controller.</i>
what do i have to do?
any help?
thanks in advanceHi Eduardo,
you should be calling the Controller in the URL not the View. after calling the controlles in the URL create the view in the DO_REQUEST of the Controller. This should resolve the issue.
In the the DO_INIT define the Parent class of the Controller.
METHOD do_init.
DATA: lr_my_parent TYPE REF TO zcl_hr_main_control.
* set (MVC) model
lr_my_parent ?= me->m_parent.
set_model( model_instance = lr_my_parent->model
model_id = 'Z' ).
me->model = lr_my_parent->model.
ENDMETHOD.
method DO_REQUEST.
* datadeclaration
DATA: abs TYPE REF TO if_bsp_page.
* if input is available, dispatch this input to subcomponent.
* this call is only necessary for toplevel controllers.
dispatch_input( ).
* if any of the controllers has requested a navigation,
* do not try to display, but leave current processing
IF is_navigation_requested( ) IS NOT INITIAL.
RETURN.
ENDIF.
* output current view (create, set attibutes, and call)
abs = create_view( view_name = 'to_disp.htm' ).
* set attribute model if needed
abs->set_attribute( name = 'model' value = model ).
* call master views
call_view( abs ). "calls itself
endmethod.
Cheers
Amandeep -
How to get the data from the model node like a table ?
I want to get the data from the model node once a record ,and the node is bound to a internal table in the RFM which I called in the R/3 system. Who can give me some advice to achive it?Thank you!!
Hi,
To get the data from the node:
wdContext.node[your node name].current[node name]_InputElement().get[specific element in the node];
or you van use:
wdContext.current[your node]Element().get[your element in the node];
examples:
wdContext.nodeZ_Mepro_Po_Detail_Stock_Distri_Input().currentZ_Mepro_Po_Detail_Stock_Distri_InputElement().getUcpd_Flag();
wdContext.currentT_Delv_ReqsElement().getShelflife();
regards, -
While I'm trying to use the getting started guide for Plugin DTP the following erroe occurs......
Data Tools Platform Model Base (1.5.0.200707041) requires feature "org.eclipse.emf (2.2.0)", or later version.
This the download from the Oracle Site up to date?
Thanks in advance
SimonDid you try the steps 7 & 8 of section 2.2 in http://www.oracle.com/technology/tech/eclipse/dtp/files/gettingstarted.html ?
-
"Error occurs when loading transaction data from other model" - BW loading into BPC
Hi Experts,
I'm having a problem with my data loading from BW, using the standard Load InfoProvider Selections data manager package.
If I run for a period without data it succeeds (with warning) but if there is data to be extracted I get the following error:
Task name CONVERT:
No 1 Round:
Error occurs when loading transaction data from other model
model: AIACONS. Package status: ERROR
As it runs ok when there isn't data it appears there is something preventing the movements of data out of the cube itself, rather then a validation issue.
Has anyone encountered similar or have any ideas as to the problem?
Best,
ChrisHi Vadim,
It's not specific to the transformation file as I have tried with others for the same BW cube and get the same result.
We get a warning when we try and validate the transformation file:
"Error occurs when loading transaction data from other model".
This only appears in the validation pop up and doesn't throw up any warnings about the transformation file itself. The validation log says:
Validate and Process Transformation File Log
Log creation time
3/7/2014 16:09
The result of validation of the
conversion file
SUCCESS
The result of validation of the
conversion file with the data file
FAIL
Validation Result
Validation Option
ValidateRecords = NO
Message
Error occurs when loading transaction data from other model
Reject List
I can't find any errors anywhere else.
Best,
Chris -
Error occurs when loading transaction data from other model
Hello Experts, I am trying to validate my transformation file and I can see peculiar behaviour of the transformation file. Even though the transformation file is not complete/ complete with all the mappings, i am getting the same error as above.
I can see options, mapping and conversion sections are validating successfully and throwing the above error.
Incomplete Transformation File
*OPTIONS
FORMAT = DELIMITED
HEADER = YES
DELIMITER = ,
AMOUNTDECIMALPOINT = .
SKIP = 0
SKIPIF =
VALIDATERECORDS=YES
CREDITPOSITIVE=YES
MAXREJECTCOUNT= 10
ROUNDAMOUNT=
*MAPPING
CUSTOMER = *NEWCOL (NO_CUST)
Validating the transformation files
Validating options...
Validation of options was successful.
Validating mappings...
Validation of mappings was successful.
Validating conversions...
Validation of the conversion was successful
Creating the transformation xml file. Please wait...
Transformation xml file has been saved successfully.
Begin validate transformation file with data file...
[Start test transformation file]
Validate has successfully completed
ValidateRecords = YES
Error occurs when loading transaction data from other model
Validation with data file failed
I am getting the same error with complete transformation file also. Please let me know where I am doing the mistake or is it a system error?
Thanking you
PraveenHi,
By
*MAPPING
CUSTOMER = *NEWCOL (NO_CUST)
you want CUSTOMER to receive a fixed string "NO_CUST"?
If so use,
*MAPPING
CUSTOMER = *STR (NO_CUST) -
Join data from various model / transpose data in models
Hello there,
is there a best practice or pattern to re-use data from a model when the original layout does not match the control's necessities right? Consider the following example:
var oData = {
"persons": [
{"name": "Sonja Software", "phones": ["12345", "54321"]},
{"name": "Conrad Coder", "phones": []},
{"name": "Mike Mailinglist", "phones": ["6789"]},
{"name": "Hugo Hacker", "phones": ["54321"]}]};
This could be easily used to set up a table for example, see this gist here.
What is the best way to also show a table of all telephone numbers? I could manually go over the data and set up another model to achieve this:
var oDataTransposed = {
"phones": [
{"number": "12345", "persons": ["Sonja Software"]},
{"number": "54321", "persons": ["Sonja Software", "Hugo Hacker"]},
{"number": "6789", "persons": ["Mike Mailinglist"]}]};
But this would make the two models get out of sync once, e.g. a name is changed. The above mentioned gist has three files. The `exampleTransposed.js` contains a manual inversion making the phone numbers the primary items. But there is certainly a more elegant way to achieve this, isn't it? Maybe by creating a model which itself is bound to the original model by some kind of databinding or some sort of calculated properties, see this comment on knockoutjs.
M.
PS: Maybe one should also add a
{"number": undefined, "persons": ["Conrad Coder"]}
In order to not to loose some of the persons but this is just a minor detail.Hello Martin,
in the example https://gist.github.com/ricma/cf81829181cfd4e86354 the JSONModel is used. JSONModel is a client-side model. Each of the two tables (person table, phone table) needs its own data and model. In order to synchronize models after editing a table cell, two conversion functions are needed. One function converts person data into phone data, the other converts phone data into person data (see example for implementation):
function makePhoneList(oPersonList) {
function makePersonList(oPhoneList) {
Furthermore, two callback functions are needed. These callback functions shall be called whenever a table cell is modified:
function personModelChanged(oControlEvent) {
oPhoneData = makePhoneList(oPersonData);
oPhoneModel.setData(oPhoneData);
oPersonTable.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "Name"}),
template: new sap.ui.commons.TextField({
value: "{personModel>name}",
change: personModelChanged})}));
function phoneModelChanged(oControlEvent) {
oPersonData = makePersonList(oPhoneData);
oPersonModel.setData(oPersonData);
oPhoneTable.addColumn(new sap.ui.table.Column({
label: new sap.ui.commons.Label({text: "Phone Number"}),
template: new sap.ui.commons.TextField({
value: "{phoneModel>number}",
change: phoneModelChanged})}));
The solution works but has some disadvantages:
data and models have to be synchronized manually
for n models, 2n-2 conversion functions are needed
every modification causes creation of at least n-1 data structures and models
Best regards,
Frank
Maybe you are looking for
-
I have an airport extreme for my ipad and mac. is there a way to increase the range within my home? there are some rooms it does not connect on the internet to my ipad. thanks
-
I created some hyperlinks in Microsoft Visio then saved the document as a PDF. When I opened the document and scroll over the shape I set the hyperlink to, it doesn't even register it as a hyperlink. The cursor doesn't change shape as a click able ob
-
AUC related conceptual problems?
Hi, I have some question in my mind: Que: We have asset classes with Investment measure checked but system can't let us make the Asset master if we want to. why? Que: How do we collect the cost as investment measure, how do we convert it to AUC and h
-
Reg : display of tree in parts
hi all I have a tree which displays customer list. If the list is too long, say 1000 customers , I want to display tree with 10 customers and if clicked on some button, I want to display next part of the tree with next 10 customers and so on. Is this
-
Auto-accept (in permission group setting) feature not behaving correctly in SP 2013
We have created a permission group and in setting selected Auto-accept - Yes means now when we will share the url of this group to business user. He just need to click on that and should be part of that group but when user is clicking on group url it