Unable to deliver Rhapsody files using SCM command line tool. getting exception while deliver command.
Hi all,
I am using EWM with RTC, want to deliver Rhapsody files from the RTC using scm command line tool
I have performed below operation but getting error at deliver command
- created workspace
- loaded Rhapsody files in workspace
- added Files/Block using Rhapsody UI in offline mode
- created changeset
- checked in files
- added comment with changeset
- executed deliver command but getting following error
C:\newTest2108>scm deliver ./ -s NewTestWorkspace_2108
Process Reports:
Name: Deliver
Operation Reports:
Name: Source Control Operation
Name: Deliver
Participant Reports:
Name: Trigger Architecture Management indexing
An unhandled exception occurred during "Trigger Architecture Management
indexing".
Failed to index the delivered data.
1. CRRMM0129E Failed to parse file 'TestBlock2108.clsx'.
CRRMM0134E Missing or not matching FieId in file 'TestBlock2108.clsx'. Some Rhapsody Model Manager data are missing in file. This may happens while merging files with its another instance(s). Load file in Rhapsody Client, save it and then
deliver again. If the issue persists, please report it to IBM support.
Problem running 'deliver':
'Deliver' failed.
Can anyone knows how to resolve this error?
2 answers
The error message suggests what the problem is and what is required to address the issue (granted the message could probably be improved further). Given your exact steps, it is true when the error message says: "Some Rhapsody Model Manager data are missing in file". Unless you save your changes in Rhapsody when connected to RMM (ex: Rhapsody EWM Eclipse client-plugin is connected and logged-in, and the RMM status in the Rhapsody client is 'Online' and not 'Offline' [in your case]), the Rhapsody file will not contain all the required 'meta-data' that is required for RMM on change set delivery.
As more implementation detail: When a new element is created in Rhapsody, Rhapsody needs to ask RMM which 'RMM server-id' to assign to it. Since the RMM data is saved in the RMM server, it is the server that needs to generate new IDs, and give them back to the Rhapsody client so that they can update the file with this RMM specific 'meta-data'. On delivery RMM code will assert that all model elements have correct RMM data (such as IDs in this case, and that their values are correct). If not, it will reject the change set delivery. If the validation passes OK however, post change set delivery, RMM is able to parse the Rhapsody File (XML) in order to identify the model elements that should be saved to the RMM database (which in turn are what get shown in the RMM web-ui for example...)