Código: DEF VAR x AS LOGICAL. DEF VAR y AS LOGICAL. DEF VAR rec AS ROWID. DEF BUTTON bt-fim LABEL "&Ok" SIZE 10 BY 1. DEF BUTTON bt-inc LABEL "&Inclui" SIZE 10 BY 1. DEF QUERY q-cust FOR customer SCROLLING. DEF BROWSE b-cust QUERY q-cust DISPLAY customer.cust-num customer.name customer.credit-limit ENABLE customer.name customer.credit-limit WITH SIZE 44.8 BY 7.6 SEPARATORS. OPEN QUERY q-cust FOR EACH customer WHERE customer.name BEGINS "XYZ". DEFINE FRAME a SKIP(1) SPACE(3) b-cust SKIP(2) bt-inc AT ROW 12 COLUMN 04 SKIP(1) bt-fim AT ROW 12 COLUMN 15 SKIP(1) WITH CENTERED ROW 1 VIEW-AS DIALOG-BOX SIZE 53 BY 14. DISPLAY b-cust bt-fim WITH FRAME a. ENABLE ALL WITH FRAME a. ON CHOOSE OF bt-inc DO: MESSAGE "Nova Linha?" VIEW-AS ALERT-BOX QUESTION BUTTONS YES-NO UPDATE y. IF y THEN DO: IF AVAILABLE(customer) THEN x = b-cust:INSERT-ROW("AFTER"). ELSE DO: CREATE customer. ASSIGN rec = ROWID(customer). OPEN QUERY q-cust FOR EACH customer WHERE ROWID(customer) = rec. DISPLAY customer.cust-num WITH BROWSE b-cust. APPLY "ENTRY" TO BROWSE b-cust. END. END. ELSE MESSAGE "INCLUSAO CANCELADA" VIEW-AS ALERT-BOX ERROR. END. ON ROW-LEAVE OF BROWSE b-cust DO: IF b-cust:NEW-ROW IN FRAME a THEN DO: CREATE customer. ASSIGN INPUT BROWSE b-cust customer.name customer.credit-limit. DISPLAY customer.cust-num WITH BROWSE b-cust. END. x = b-cust:CREATE-RESULT-LIST-ENTRY(). END. WAIT-FOR CHOOSE OF bt-fim. CLOSE QUERY q-cust.