/******************** STATEMENTS************************************** ** ** ENABLE (DEF BROWSE...) ** E possivel habilitar cada uma das ** colunas de um BROWSE para interacao. ** ** VIEW-AS ALERT-BOX QUESTION (MESSAGE...) ** Gera o icon de Questao do window. ** ** x = b-cust:INSERT-ROW("AFTER") (METHOD) ** Cria uma linha apos o hightlight ** no BROWSE. ** ** ROW-LEAVE (Event) ** Evento que acontece sempre que o ** hightlight abandona uma linha do ** BROWSE. ** ** b-cust:NEW-ROW (Attribute) ** Retorna yes ou no se foi criado uma ** nova linha no BROWSE. ** ** x = b-cust:CREATE-RESULT-LIST-ENTRY(). ** Confirma criacao de qualquer alteracao ** no BROWSE. ** **********************************************************************/ Código: DEF VAR x AS LOGICAL. DEF VAR y AS LOGICAL. 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. DEF BROWSE b-cust QUERY q-cust DISPLAY customer.cust-num customer.name customer.credit-limit ENABLE customer.name customer.credit-limit WITH SIZE 47 BY 7.6 SEPARATORS. OPEN QUERY q-cust FOR EACH customer. 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 60 BY 15. 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 x = b-cust:INSERT-ROW("AFTER"). ELSE MESSAGE "INCLUSAO CANCELADA" VIEW-AS ALERT-BOX INFORMATION. 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. OPEN QUERY q-cust FOR EACH customer. END. x = b-cust:CREATE-RESULT-LIST-ENTRY(). END. WAIT-FOR CHOOSE OF bt-fim. CLOSE QUERY q-cust.