Restructure signed packed field

Document ID : KB000016116
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

I want to restructure a database record changing the following:

•             RECORD-ELEMENT            from Comp-3 S9(2)V9(4) to Comp-3 S9(2)V9(6)

I have tried restructuring the record and it is not initializing the new byte with a zero as the last byte of the element, but as the first byte of the element.

IDMSRSTT FIELD=(XL1'0',37,1,NEW) INIT RECORD-ELEMENT

IDMSRSTT FIELD=(37,38,4) COPY RECORD-ELEMENT

 

Can this be done through the restructure utility? or do I need a conversion program to do this?

Answer:

Restructuring a packed field in this manner would require RESTRUCTURE to manipulate the packed sign bytes along with potential data in those last bytes. It does not have that ability. You should do the restructure and then run a conversion program that multiplies that field in each record by 100 to realign the data with the additional 0's at the end of the field.