I love that in 2003 I said "Dexterity has "at least" nine years of life ahead of it.... and that is a really long time in the IT world."
I was wrong it had at least 25 years.
Your developer is correct, this window has changed since that article was written.
You would need a different method.
A Trigger after the Form Procedure rmPopulateRMOpenTempTable of form RM_Cash_Apply, with parameters:
in 'Customer Number' sCustNo;
in 'RM Document Type-All' nCrdDocType;
in 'Document Number' sCrdDocNo;
in boolean fAutoApplyNA;
inout table RM_OPEN_TEMP;
out integer oErrorStatus;
This will give you access to the table RM_OPEN_TEMP.
You can then use the assign as key command to create a virtual key on the fields you want and fill window as you want. Store the key as a global variable. You can then check it and avoid creating multiple virtual keys.
Then a trigger after RM_Apply_Document l_FillWdw_CHG will allow you to fill the window using the virtual key stored in the global variable.
The code in the RM_Apply_Document l_FillWdw_CHG which calls rmPopulateRMOpenTempTable of form RM_Cash_Apply actually does something similar if using national accounts.
if fAutoApplyNA and NationalAccountsRegistered() then
assign nKey as key for table RM_OPEN_TEMP using 'Corporate Customer Number' of table RM_OPEN_TEMP, 'RM Document Type-All' of table RM_OPEN_TEMP,
'Document Number' of table RM_OPEN_TEMP, 'Email Type' of table RM_OPEN_TEMP;
fill window RM_Applied_Document_Scroll by number nKey;
else
fill window RM_Applied_Document_Scroll;
end if;
The user might see a flicker as the window will fill twice, once by the original code and once with your trigger.
Good luck.
David