CDT in Process model

Certified Senior Developer

Hi all,

I have defined a process variable in a process model with CDT type. It is working fine in all environments. Now I am adding some new fields into the CDT and published the datastore. Its working fine in dev. When I moved these changes to higher environment( just moving the CDT and scripts and not the process model where the pv is defined as CDT type), its not working as expected. The newly added fields are not present in the CDT type process variable in the process history while debugging and the pv datatype shows with ^ symbol. Can anyone help with this?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Active process instances will keep the old version indicated by the ^. Instances created after the deployment will pick up the new version.

    You write "its not working as expected". What exactly is your expectation?

  • 0
    Certified Senior Developer
    in reply to Stefan Helzle

      , I was debugging the issue. I found that test datastore is still having the old cdt(showing with ^ symbol) even though the new CDT has been deployed to test. I am not able to understand this behaviour. Any insights on this? 

  • 0
    Certified Lead Developer
    in reply to Sarathkumar R

    When the documentation says "immediately begin using the new version of the data type", the actual behaviour depends a bit on the type of the dependent object. A process model will be re-deployed automatically, same for data stores. Expressions und Interfaces pick up the new type automatically.

    So, when you open the process modeller on your higher environment, then, in parallel, deploy a modified CDT from the lower environment, a new version of the model is created in the background. When you now start the process, you run the old version.

    Does this resonate with you?

  • 0
    Certified Senior Developer
    in reply to Stefan Helzle

    I am not able to catch fully but you are saying that if i have opened a process model and in the parallel background, CDT has been deployed. Now if I try to start the process model, it will still run with the old CDT since I had opened it in the first place.

    Sorry if I misunderstood it but I am not able to understand why this issue is occuring in higher environments and not in dev. Especially that data store still having the old CDT version. We even published the datastore in higher environment, but the issue has not yet been resolved.


  • 0
    Certified Lead Developer
    in reply to Sarathkumar R

    It is a bit difficult to analyse this from remote. What I want to say is, that depending on what exactly you are doing, you might get into a situation as you described.

    E.g. a datastore can get a new version at deployment time, but that new version is not published. Typically because the automatic schema management is not enabled. Then you end up in a slightly inconsistent state. The CDT is not deployed because the data store cannot make the changes in the DB. And your processes then still use the last published version instead of the new one.

Reply
  • 0
    Certified Lead Developer
    in reply to Sarathkumar R

    It is a bit difficult to analyse this from remote. What I want to say is, that depending on what exactly you are doing, you might get into a situation as you described.

    E.g. a datastore can get a new version at deployment time, but that new version is not published. Typically because the automatic schema management is not enabled. Then you end up in a slightly inconsistent state. The CDT is not deployed because the data store cannot make the changes in the DB. And your processes then still use the last published version instead of the new one.

Children