>There is a table called po_no which is used to get the next po #. When the user chooses to add a po, the po # is the current value in po_no.next_no. Then the table value is incremented by one (value of next PO). This works just fine when I have one instance of the program running. When I try to run two instances, the table value has not been update when I try to add the second po (they both try to use the same #). The following code is used:
>
> SELECT po_no
> temp_pono = po_no.next_no
> THISFORM.txtPO_no.VALUE = temp_pono
> REPLACE po_no.next_no WITH (temp_pono+1)
>
>
>What should I do to force the table update?
Wrap the operation in an RLOCK()
SELECT po_no
IF RLOCK()
temp_pono = po_no.next_no
THISFORM.txtPO_no.VALUE = temp_pono
REPLACE po_no.next_no WITH (temp_pono+1)
ENDIF
UNLOCK
If you're using any buffering, you'll need to issue a TABLEUPDATE() to force the data in the buffer to update the table.