Example: orders.4gl (Function item_delete)
This function implements the SQL row deletion for an order item row.
Function
item_delete
(orders.4gl): 1 PRIVATE FUNCTION item_delete(x INTEGER) RETURNS BOOLEAN
2
3 TRY
4 DELETE FROM items
5 WHERE items.stock_num = orditems[x].stock_num
6 AND items.order_num = order_rec.order_num
7 CATCH
8 CALL comutils.mbox_ok(title2,SQLERRMESSAGE)
9 RETURN FALSE
10 END TRY
11
12 MESSAGE msg10
13 CALL comp_order_total()
14 RETURN TRUE
15
16 END FUNCTION
Note:
- Line
1
declares the function with thex
integer parameter representing the index in theorditems
array, and returns a boolean to indicate if the SQL command succeeds. - Lines
3
thru10
implement the SQLDELETE
command, to remove the row from theitems
table that has thestock_num
equal to the current order item of the list (orditems[x].stock_num
), and the order number equal to the current order number (order_rec.order_num
) - Lines
8
and9
are executed when an SQL error occurs, and returns from the function withFALSE
. - Line
12
shows a message to the user to indicate that the SQL operation succeeded. - Line
13
re-computes the order total by calling thecomp_order_total
function. - Line
14
returnsTRUE
to the caller.