Usando o EXCEPT

Discussão em 'Comandos Básicos' iniciado por fdantas, Fevereiro 3, 2009.

  1. fdantas

    fdantas Administrator Moderador

    /******************** STATEMENTS**********************************
    **
    ** AS LOGICAL (DEFINE VARIABLE...)
    ** Define o data type de uma variavel co-
    ** mo sendo do tipo LOGICAL. Por default,
    ** toda variavel logica possui o valor
    ** inicial igual NO.
    **
    ** FORMAT "valor-1/valor-2" (DEFINE VARIABLE var-1 AS LOGICAL...)
    ** No record buffer o valor armazenado
    ** sempre e YES/NO, mas e possivel masca-
    ** rar estes valores com outros formatos,
    ** nesta ordem.
    **
    ** DO - Tratase de um bloco. Como os demais,
    ** seu escopo deve ser definido sempre,
    ** com colon :)) no inicio e "END." no
    ** final.
    **
    ** UPDATE (MESSAGE...)
    ** E possivel usar o UPDATE, SET ou
    ** PROMPT-FOR (com INPUT), na sintaxe
    ** do MESSAGE. A finalidade, e que o
    ** usuario interaja com a variavel no
    ** mesmo espaco da linha de mensagem.
    ** (vantagem estetica).
    **
    ** EXCEPT (INSERT...)
    ** O except excetua um determinado campo
    ** ou campos de uma tabela de serem habi-
    ** litados para a interacao com usuario
    ** durante um INSERT, UPDATE, SET ou
    ** um PROMPT-FOR.
    **
    **********************************************************************/

    Código:
    DEF VAR CONFIRMA AS LOGICAL 
        FORMAT "SIM/NAO". 
        
    PROMPT-FOR state.state.
    FIND state USING state.state NO-ERROR.
    IF AVAILABLE state  THEN
         DISPLAY state.           
    ELSE
     DO:
        MESSAGE "DESEJA CRIAR?" UPDATE CONFIRMA.
        IF CONFIRMA = YES THEN  
           DO:
              INSERT state EXCEPT state.state .    
              ASSIGN state.state.
           END. 
        ELSE
           MESSAGE "INCLUSAO CANCELADA".     
     END. 

Compartilhe esta Página