Skip to main content

Hi, I'm doing migration from [Server Express 5.1] to [Visual Cobol 8.0] on Redhat Linux.

My target is get the same running results on both sides.

But in this case:

[PARA1] 's length is only 9 characters but display to 50 characters.

then the value of next variable ("WXQSVARS-AREA" and "AIR ") also displayed.

But it is fine actually. The problem is running results are not same on Server Express and Visual Cobol.

The results are like : 

Server Express  : [12345       WXQSVARS-AREAAIR  ]

Visual Cobol      : [12345           WXQSVARS-AREA    ]

I think the compile command is the same.

Could you please help me to find a solution? 

 

Hi, I'm doing migration from [Server Express 5.1] to [Visual Cobol 8.0] on Redhat Linux.

My target is get the same running results on both sides.

But in this case:

[PARA1] 's length is only 9 characters but display to 50 characters.

then the value of next variable ("WXQSVARS-AREA" and "AIR ") also displayed.

But it is fine actually. The problem is running results are not same on Server Express and Visual Cobol.

The results are like : 

Server Express  : [12345       WXQSVARS-AREAAIR  ]

Visual Cobol      : [12345           WXQSVARS-AREA    ]

I think the compile command is the same.

Could you please help me to find a solution? 

 

Hi Li,

You are depending on compatible results for an operation whose results are specified as undefined. Specifying a reference modified length outside of the length of the actual data item is illegal but is not checked at run-time therefore the results are undefined.

The documentation states:

Note: There is no check that the evaluation of leftmost-position and length produce valid values. If these evaluations do not conform to the restrictions stated in this rule, the result is undefined and other data items may be corrupted.

I am not sure if there is a directive to cause equivalent behavior in this case, but I will check into it but I don't have high hopes.


Hi Li,

You are depending on compatible results for an operation whose results are specified as undefined. Specifying a reference modified length outside of the length of the actual data item is illegal but is not checked at run-time therefore the results are undefined.

The documentation states:

Note: There is no check that the evaluation of leftmost-position and length produce valid values. If these evaluations do not conform to the restrictions stated in this rule, the result is undefined and other data items may be corrupted.

I am not sure if there is a directive to cause equivalent behavior in this case, but I will check into it but I don't have high hopes.

Thanks for the response.

I will look forward to your updates