Display not showing

adept

New Member
Hi all

My Company is running Progress Character version 9.1A.

I have come across a problem while writing a program to modify a purchase order on our system.

What I do is:

1. Select the purchase order from a browse.
2. Display the purchase order header details.
3. Display the purchase order detail lines within an updateable
browse.
4. After updating the price I do a for each loop of the GL
allocations for updating the amounts for the current line.
This display does not show on the screen.

Is there any help out there??
 
>This display does not show on the screen.

What does this mean?

Do you mean that the changes that you made have disappeared, or that you can't see the changes? Have you tried re-displaying the data or re-opening the browse query?

What you see on screen is a snapshot of the data - if data is changed in the database, you must re-display it to see those changes.
 

adept

New Member
What I mean is:

for each po_gl_line of po_porder_line:
update po_gl_line.
end.

The above sample code does not display on the screen. You are not given a chance to update the fields.
 
There are two causes that I can think of.

1) There are no records found by the FOR EACH loop. Try doing this and see what happens:

if can-find(first po_gl_line of po_porder_line) then
for each po_gl_line of po_porder_line:
update po_gl_line.
end.
else
message "There are no GL order lines for order".

You should check whether you have any FIND triggers active on the po_gl_line table. If the triggers are security triggers, they may be denying read-access.

2) Your output stream is not to the terminal.
 

adept

New Member
Maybe I should be still clearer.

The program first displays the purchase order header details between lines 1 and 14.

The purchase order detail lines are next displayed in a browse widget between lines 15 and 19.

On leave of the price on a line the GL allocation details should display in a separate pop-up window between lines 8 and 12.

This last window does not display. There are items in for the GL allocation table as they were captured on creating the purchase order.
 
Perhaps it's underneath the main window/frame. Try using a MOVE-TO-TOP() method, to see what happens. Or try hiding the main frame before you display the second. You should check which frame that the UPDATE statement is scoped to. It should be different to the main frame.

You said 'The above sample code does not display on the screen. You are not given a chance to update the fields'. If you have this statement:

for each po_gl_line of po_porder_line:
update po_gl_line.
end.

Then this *will* present details for update, *if* there are any records available. It can't really fail to can it?
 
One other thought, have you checked that the LEAVE trigger is actually firing? Have to got more than one LEAVE trigger for the same widget?
 
Top