New interface inputs added to a current workflow/process model v17.2

I'm adding new interface inputs to a current process model.  The process will now connect to a database and I want to replace the current CDT that is being used with a CDT that will be used to write directly to the database using the 'Write to Data Store' smart node.  Once I move these updated interfaces and process model to production, the current running instances will be over-written with the updates interfaces but will not have the new interface input and/or process variables.  This results in data in the running instances no longer being collected.
How can an updated process model and it's corresponding interfaces (with new interface inputs) be moved into production without impacting the current running instances?  What can be done for this so that the current running instances are not impacted?  How do your other Customers handle this type or similar situation?  Thanks...

  Discussion posts and replies are publicly visible

Parents
  • Hi sswilliams,

    I followed one workaround, but not accepted globally, and am not implemented this in any Live environment.

    Let's say, You added a new field on screen and added a field to cdt.

    On interface, button submit. will implement logic.

    In buttonSubmit saveinto, I'll check whether the case id (Ideally every screen has unique identified for workflow) is generated before the deployment or not. (compare case created date time with deployment date time) If the case is generated before deployment, i'll run the process which will update new value into database.

    a!buttonWidgeSubmit(
    value: "SUBMIT",
    saveInto: {
    a!save(ri!buttonAction, save!vale),
    if(
    rule!MMS_Expr_CheckToUpdateNewVariableInDatabaseOrNotForOldCases(ri!caseId),
    a!startProcess(
    processModel: cons!PROCESS_MODEL_ID,
    processParameters: {
    txt_value: local!newValue,
    int_caseId: local!caseId
    }
    ),
    {}
    )
    }
    )
Reply
  • Hi sswilliams,

    I followed one workaround, but not accepted globally, and am not implemented this in any Live environment.

    Let's say, You added a new field on screen and added a field to cdt.

    On interface, button submit. will implement logic.

    In buttonSubmit saveinto, I'll check whether the case id (Ideally every screen has unique identified for workflow) is generated before the deployment or not. (compare case created date time with deployment date time) If the case is generated before deployment, i'll run the process which will update new value into database.

    a!buttonWidgeSubmit(
    value: "SUBMIT",
    saveInto: {
    a!save(ri!buttonAction, save!vale),
    if(
    rule!MMS_Expr_CheckToUpdateNewVariableInDatabaseOrNotForOldCases(ri!caseId),
    a!startProcess(
    processModel: cons!PROCESS_MODEL_ID,
    processParameters: {
    txt_value: local!newValue,
    int_caseId: local!caseId
    }
    ),
    {}
    )
    }
    )
Children
No Data