RE: Dimension not updated
In 2009 there is no dimension Set ID concept it was introduced in the later version, are you trying to update Sales Shipment Line Dimension Set ID ? What you need, is to create the dimensions which you can check for the functions in dimension management and once you create them it has the function to return the dimension set ID which you can assign to Sales Shipment Line.
For example, check the OBJECT Table 96 G/L Budget Entry there is a function in it which is used to update the dimension set id for that record, you need to write something like that for sales shipment line.