All my codes are on when_validate_item, but when i navigate through the fields with my mouse cursor the cursor change positioning but the functionality is not working properly for example : if i press F9 to chose a value from the LOV, the LOV populated is for the previous item validated and if i select a value from the LOV, the value is filled in the previous item validated. Well visually you see the cursor change positioning but practically he stayed in the last field validated.
But if you use the Tab button the cursor change position and the functionality work properly.
I guess you talk about a lov-button in a multi-record-block, the button is non-navigable and you click on the button in a different row?
If so, write a WHEN-MOUSE-CLICK-trigger at the button, in it check if SYSTEM.CURSOR_RECORD is different from SYSTEM.MOUSE_RECORD and if so issue a GO_RECORD to SYSTEM.MOUSE_RECORD.
I agree with Francois - you just haven't given us enough information to help you. In addition to your Forms version, how is your block organized? Are you using a standard LOV or is this a custom (eg, one you created) LOV? Do you have a Key-ListVal trigger on your item that displays the LOV and if so, can you provide us with the code in your Key-ListVal trigger? Also, can you provide us with a Code Sample from your When-Validate-Item trigger?