Problem with positioning an input field on a Service order Header screen (W31, IW32, IW33). 

The service order header contains several areas and the user wants to have these set out differently from the standard. This works fine until the user expands the "Date" area with the default button to show more dates. The "First operation" area doesn't move down (like in the standard) when the user displays more dates using the "Date details" button. Instead it overwrites the "First operation" fields. Do you know a solution whereby the "First operation" fields move downwards when the user selects to display more dates?

Please use relative positioning for the InputField instead of absolute coordinates, e.g. replace

InputField (10,1) "mylabel" (10,10) ...

with

InputField F[Material]+(1,0) "mylabel" F[Material]+(1,10) ....

Alternatively, you can use the Offset command

Offset F[Material]

InputField (0,1) "mylabel" (0,10) ...

To reset the "Offset" later on in the script, you can use

Offset (0,0)  

There are additional possibilities:

(a)

With if

if F[....]

endif

or

if P[...]

...

endif

you can disinguish the cases, based on the existence of a suitable field or button, and then use different coordinates.

(b)

There is a new keyword

GetFieldAttribute

in version 2006Q202 which returns (along with other information) the coordinates of existing screen elements, so that you can calculate the coordiantes for your own fields from them.

(c)

When you use relative coordinates, you can also work with negative offsets, taking a field below as reference.