A pre or post deploy script that makes use of the template variable DMBLNID to return the baseline ID, may have difficulty if the baseline ID is longer than 40 characters. When the variable is substituted, it will receive only the first 40 characters of the baseline ID.
The following three methods in the SBM Script Guide say that the return value for all of these is a Long Integer but in my testing it looks like these all return a Boolean value. The customer wants to know for sure because in their code they are trying to use the actual value without using an If statement. At the end is the appscript I used to test this and the value displayed in the event viewer was always "True" rather than a 0 or Non Zero.
The relate scripts are correctly created but they never seem to be executed by the migration utility. When running those scripts manually the relationships are created correctly.
The workaround is to not use the ts_internalname in the script (can't be modified after deploy), but to shorten the ts_name in Composer and use that in the script (this can be modified after a deploy).
Workarounds: Refrain from using the "Log On as Another User" when testing long redo messages Shorten the Shell.RedoMessage in the script or test with fewer unfilled required fields
However, the DMBLNID and DMREQUEST fields are not currently supplied, and the one-to-one relationship of item to contributing change document is no longer meaningful. The current round of changes is to implement merging the deployment changeset to area change set and update area into a single call, and to create the missing fields.