Problem with DictionaryStep (ModifyTable) in G9

Hi,

we are about to mirgate our customer from 8.4R6 to 9.2R3. During the migration the customer asked us to add one new field in one of our tables created with DictionaryStep in the earlier SuperOffice version.

We created a new dictionaryStep in the new version as usually, but if we thied to start it we got an error:

This table was created with DictionaryStep with a name "SP", and could be extended in 8.4 without any problem.

In order to check how it is with generating code for Row and TableInfo in the new version, we tried to start the tool directly after the DB update to 9.2 without any changes in tables or fields:

That worked in 8.4R06 without any problem.

Well, we could try to create all the tables new in the new version (with new names, we can't delete the old tables too), but we still can't generate the code for new version of the table.

Has anyone already experienced that? Is something wrong with our tables? Created with DictionarySteps, this was listed under "SuperOffice Tables" in the old version.

Thanks in advance for your help!

With best regards, Andrey

 

 

 

RE: Problem with DictionaryStep (ModifyTable) in G9

I doubt that our tables caused the problem with DevNet.Toolbox.

deleted all the additional tables before the conversion, after the conversion the tool causes the same error.
Tried three another customers DBs in 9.2 R03 and 9.2 R07, the same error.

 

For the problem with tables there is a solution: to delete all the custom tables in 8.4, and then create new in G9.
After that fill the tables from the old DB copy and set SEQUENCE new.

 

I'm afraid I have to write all the code for the new field manually.

Af: Andrey Stupak 21. maj 2021

RE: Problem with DictionaryStep (ModifyTable) in G9

Hi Andrey!

That doesn't sound good. I don't have the environment to reproduce your observed problem, but can say that tool depends on the CDD libraries. The version of CDD libraries available in the download (here on community) are geared for version 8.5R11. 

I know that I'd initially thought that using assembly bindings the newer CDD dlls would work, in typical .net fashion, but because of the nature of certain structures binary compatability doens't always come though as expected. Then there is the whole versioning issue...

I'd really like to just open-source this this tool and post it on Github, and then add the CDD dependency to the nuget package, thereby allowing you (and all) to grab this and build it yourself with the latest CDD nuget package. 

Thoughts?

Alternatively, and probably the best shot at success is to do it yourself. Take a look at the Using Continuous Database article, and see the source code on github for working with the API.

 

Af: Tony Yates 25. maj 2021

RE: Problem with DictionaryStep (ModifyTable) in G9

I think we've seen this before - that partner-defined tables for some mysterious reason have the "OwnedBySuperOffice" bit set, prohibiting further changes. This calls for some tooling to fix it - hang in there for a few days while I put something together.

Cheers,

Marek

 

Af: Marek Vokáč 26. maj 2021

RE: Problem with DictionaryStep (ModifyTable) in G9

Hello Tony,

thank you for your response.

I just tried to replace all the DSL assemblies with new version in hope it works somehow.
No chance, dependency on 8.5

It would be really great, if you could upload the tool as opensource to Github.

Or if the interfaces of CDD libraries are identically over the versions 8.5->9.x, you could probably compile the tool without the version dependency:
<reference include="Superoffice.CD.DSL.Implementation" />

kindly grateful,
Andrey

 

 

Af: Andrey Stupak 26. maj 2021

RE: Problem with DictionaryStep (ModifyTable) in G9

Hello Marek,

We converted now only the test database of the customer.
If you could offer the solution in the next few weeks, that would be great, we could avoid the problem on productive database.

Thank you in advance,

Andrey

Af: Andrey Stupak 26. maj 2021