/******************** STATEMENTS************************************** ** ** (INPUT parameter, OUTPUT parameter) (RUN) ** E uma forma de passar informacoes ** entre programa pai e programa filho, ** porem predefinindo as direcoes. ** **********************************************************************/ Código: DEFINE VARIABLE ender AS RECID. DEF BUTTON bt-fim LABEL "FI&M". DEFINE FRAME A SKIP(1) customer.cust-num COLON 18 customer.name COLON 18 customer.credit-limit COLON 18 customer.balance COLON 18 customer.phone COLON 18 SKIP(1) SPACE(4) bt-fim WITH CENTERED ROW 4 SIZE 42 BY 9 SIDE-LABELS. PROCEDURE show: DISP customer.cust-num customer.name customer.credit-limit customer.balance customer.phone bt-fim WITH FRAME A. END. FIND FIRST customer. RUN show. ENABLE customer.cust-num bt-fim WITH FRAME A. ON F5 OF customer.cust-num DO: RUN programaFilho.i (INPUT RECID(customer), OUTPUT ender). FIND customer WHERE RECID(customer) = ender. RUN show. END. WAIT-FOR CHOOSE OF bt-fim. Conteudo Programa Filho Código: /******************** STATEMENTS************************************** ** ** DEF INPUT PARAM... ** E um alocacao de memoria preparada ** para receber um determinado valor do ** programa pai. ** ** DEF OUTPUT PARAM... ** E um alocacao de memoria preparada ** para enviar um determinado valor ao ** programa pai. ** ** REPOSITION ** Coloca o hightlight em uma determinada ** linha do BROWSE. ** **********************************************************************/ DEF INPUT PARAM nr-id AS RECID. DEF OUTPUT PARAM ENDER AS RECID. DEF QUERY q-cust FOR customer. DEF BROWSE b-cust QUERY q-cust DISPLAY customer.cust-num customer.name WITH SIZE 33 BY 10 SEPARATORS TITLE "CLIENTES". OPEN QUERY q-cust FOR EACH customer. REPOSITION q-cust TO RECID nr-id. DEF BUTTON bt-fim LABEL "FI&M". DEFINE FRAME A b-cust SKIP(1) SPACE(10) bt-fim SKIP(1) WITH CENTERED SIDE-LABEL ROW 4. DISP b-cust bt-fim WITH FRAME A. ENABLE ALL WITH FRAME A. ON VALUE-CHANGED OF b-cust ASSIGN ender = RECID(customer). ON MOUSE-MOVE-DBLCLICK OF B-CUST APPLY "CHOOSE" TO BT-FIM. ON RETURN OF B-CUST APPLY "CHOOSE" TO BT-FIM. ON CHOOSE OF bt-fim APPLY "VALUE-CHANGED" TO b-cust. ON CHOOSE OF BT-FIM APPLY "WINDOW-CLOSE" TO CURRENT-WINDOW. WAIT-FOR CHOOSE OF bt-fim.