Book a Demo

Author Topic: Help - Build 1310 professional I don't have a menu to transfer eap file to feap!  (Read 9958 times)

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
I have a large project which contains 3 models on a file-based repository in my computer.  It's Access 3.5 (Sparx default).  My EA is version 13 build 1310 Professional.  Windows 10 professional.
I want to transfer the whole project to Firebird file repository.  The manual and this forum says to use Configure > Model > Transfer > Project Transfer in the ribbon menu.  But I don't have any Project Transfer menu!  My transfer menu has a grayed out "Shared repository" and usable "Export reference data", "Import reference data" menus.  Nothing else.
I checked in Options etc. and no menus are disabled.  As far as I remember I am using all default settings in this EA instance.
The "Check integrity" ribbon menu has a "Manage Firebird" usable option.

Can anyone help me understand how to run the transfer?  Thanks!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Hi Richard,

I just checked, and that is exactly where the Project Transfer option is in my EA v1310.
I guess it is hidden because of the professional license.
In earlier days this option was never needed for this edition as it didn't have access to DBMS repositories, and the only file based repository was .eap (so a simple copy/paste of the file was enough to transfer a model)
Now with the firebird option that is different of course.

You can try to see if this works in v15, but I would buy an upgrade to the corporate edition if I were you.
The professional edition isn't really suited for "professional" use. ???

Geert

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Thanks for confirmation Geert.  So seems like it's a license issue.  If no other workaround, I'll download an evaluation copy of V15 corporate, transfer the model, then reopen with my V13. 

Would there be any backward compatibility problems if I did that?  It's a critical model so I can't afford any data corruption/crashes etc.

p.s. When I evaluated EA I could not find reason to go beyond Professional... I need the model file on my own hard disk thank you very much, plus not enough skilled UML people around to use the collaboration features.  Visio for colorful artwork is seen as the gold standard of professional excellence (bonus points if you use Powerpoint).  But I digress.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
If it's a one time job just go with the trial version. Or find a kind soul to do the job for you.

q.

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
I downloaded V15 and the transfer to Firebird feap worked fine.  I checked file integrity before transfer.
I re-opened the Firebird file project using my own V13, everything including diagrams was fine.
I tested adding an element to a package: got an error message "Primary key something" .
I added a tagged value to this new element: it showed duplicate in the tagged value window.  I deleted both tagged values, recreated a new one and this time it created OK
I tried to save the feap model: "Save as" is grayed out an unaccessible in menu of my V13.  No 'Save" menu.  I tried CTRL-S.
I added another element and a tagged value to it.
I closed EA, then restarted and checked the added elements: the first one was gone, the second one was still there. 
Very troubling for a mission-critical model.  Any suggestions?  Would resetting GUIDS help?  But why no save menu?

Thanks for any help!

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Huh??  I created a brand new feap firebird project in V13 and it also has 'Save as' grayed out. Is the lack of 'save' a feature of Firebird file repository?  Is it normal behaviour? 

'Save' and 'Save as' are always available in all my eap models.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
You don't need a Save option. All changes get saved immediately in the database.
Only diagram layout changes have to be saved explicitly.

Instead of Save As, you can simply copy/paste the .feap file.

But I would be worried about the weird errors you are getting.

Geert

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Thank you Geert I thought it may be a possibility but the user manual seemed to say that both eap and feap can be saved via the Save as menu.  Thanks for clarifying!
I'm rebooting everything and retrying from scratch, we'll see how I go this time...

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Update: after rebooting I got the same error message: the first new element I created caused a "primary key" error message to appear on EA; everything else was OK (no issues with repeating tagged value).
Note that I ran a project integrity check before transferring eap to feap, after opening the feap and again after the error message appeared.  All 3 integrity checks showed no issues.
So it may be a bug or some quirk of Firebird.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Richard, have you tried resetting IDs?  In the past transferring to/from an MS Access file could leave the IDs in an anomalous state.  We always compacted and repaired the file after the transfer to reset the IDS.  Now, EA is supposed to do that automatically.  However, for a Firebird file you may still need to reset the IDs via the appropriate menu option.

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Hi Paolo I thought about resetting, had not made up my mind, but will do it based on your prompt

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Success!  Integrity check before transfer (minor issues corrected: datatype mismatch on some elements), reset GUIDs after transfer, integrity check again (no issues found), then everything works including no Primary Key error message when creating new elements!  Thank you everyone!

Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
FYI - I think you mean reset IDs not GUID.
The attribute object_ID contains IDs like 1,2,3, etc and GUIDs are considered to be immutable.
Had a similar problem after transferring a model and did exactly the same to fix it. Glad to hear you managed to fix it.
Happy to help
:)

Richard Freggi

  • EA User
  • **
  • Posts: 498
  • Karma: +18/-7
    • View Profile
Thanks Sunshine I didn't know that.  I thought the menu reset the GUIDs.

Happy to report all smooth sailing, except for one glitch.  This JOIN to query tagged values of Memo type was working in Access, but I get an error " ADOB.Fields Item cannot be found in the collection" in Firebird.  It actually works if I remove op.8 and following JOINs.  Any ideas?

-- ACCESS CODE
FROM ((((((((((((t_object
LEFT OUTER JOIN t_package ON t_object.Package_ID = t_package.Package_ID)
LEFT OUTER JOIN t_objectproperties op1 ON (t_object.Object_ID = op1.Object_ID AND op1.Property LIKE ('*Process*')))
LEFT OUTER JOIN t_objectproperties op2 ON (t_object.Object_ID = op2.Object_ID AND op2.Property LIKE ('*System*')))
LEFT OUTER JOIN t_objectproperties op3 ON (t_object.Object_ID = op3.Object_ID AND op3.Property LIKE ('*Variance*')))
LEFT OUTER JOIN t_objectproperties op4 ON (t_object.Object_ID = op4.Object_ID AND op4.Property LIKE ('*Remark*')))
LEFT OUTER JOIN t_objectproperties op5 ON (t_object.Object_ID = op5.Object_ID AND op5.Property LIKE ('*Action*')))
LEFT OUTER JOIN t_objectproperties op6 ON (t_object.Object_ID = op6.Object_ID AND op6.Property LIKE ('*SME*')))
LEFT OUTER JOIN t_objectproperties op7 ON (t_object.Object_ID = op7.Object_ID AND op7.Property LIKE ('*riorit*')))
LEFT OUTER JOIN t_objectproperties op8 ON (t_object.Object_ID = op8.Object_ID AND op8.Property LIKE ('*implementation constraint*')))
LEFT OUTER JOIN t_objectproperties op9 ON (t_object.Object_ID = op9.Object_ID AND op9.Property LIKE ('*implementation reference*')))
LEFT OUTER JOIN t_objectproperties op10 ON (t_object.Object_ID = op10.Object_ID AND op10.Property LIKE ('*implementation task ID*')))
LEFT OUTER JOIN t_objectproperties op11 ON (t_object.Object_ID = op11.Object_ID AND op11.Property LIKE ('*security requirements*')))


-- FIREBIRD CODE
FROM ((((((((((((t_object
LEFT OUTER JOIN t_package ON t_object.Package_ID = t_package.Package_ID)
LEFT OUTER JOIN t_objectproperties op1 ON (t_object.Object_ID = op1.Object_ID AND UPPER(op1.Property) LIKE ('%PROCESS%')))
LEFT OUTER JOIN t_objectproperties op2 ON (t_object.Object_ID = op2.Object_ID AND UPPER(op2.Property) LIKE ('%SYSTEM%')))
LEFT OUTER JOIN t_objectproperties op3 ON (t_object.Object_ID = op3.Object_ID AND UPPER(op3.Property) LIKE ('%VARIANCE%')))
LEFT OUTER JOIN t_objectproperties op4 ON (t_object.Object_ID = op4.Object_ID AND UPPER(op4.Property) LIKE ('%REMARK%')))
LEFT OUTER JOIN t_objectproperties op5 ON (t_object.Object_ID = op5.Object_ID AND UPPER(op5.Property) LIKE ('%ACTION%')))
LEFT OUTER JOIN t_objectproperties op6 ON (t_object.Object_ID = op6.Object_ID AND UPPER(op6.Property) LIKE ('%SME%')))
LEFT OUTER JOIN t_objectproperties op7 ON (t_object.Object_ID = op7.Object_ID AND UPPER(op7.Property) LIKE ('%PRIORITY%')))
LEFT OUTER JOIN t_objectproperties op8 ON (t_object.Object_ID = op8.Object_ID AND UPPER(op8.Property) LIKE ('%IMPLEMENTATION CONSTRAIN%')))
LEFT OUTER JOIN t_objectproperties op9 ON (t_object.Object_ID = op9.Object_ID AND UPPER(op9.Property) LIKE ('%IMPLEMENTATION REF%')))
LEFT OUTER JOIN t_objectproperties op10 ON (t_object.Object_ID = op10.Object_ID AND UPPER(op10.Property) LIKE ('%IMPLEMENTATION TASK ID%')))
LEFT OUTER JOIN t_objectproperties op11 ON (t_object.Object_ID = op11.Object_ID AND UPPER(op11.Property) LIKE ('%SECURITY%')))

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
The join to op8 is the first one to have a space in the Like parameter.
You might need to do something special in that case.

I don't you need Like in these case. Can you use a simple "=" without wildcards?
Should be faster as well.

Geert