Em SAS, o que são boas técnicas / opções para a captura de erros de sintaxe?

StackOverflow https://stackoverflow.com/questions/836157

  •  08-07-2019
  •  | 
  •  

Pergunta

No editor reforçada, a coloração pode lhe dar uma dica. No entanto, no mainframe Eu não acredito que haja qualquer coisa, no editor, que irá ajudá-lo.

Eu uso

OPTIONS OBS=0 noreplace;

Os obs = 0 opção especifica que 0 observarions são lidos a partir da entrada conjunto de dados e noreplace diz SAS não overwite um conjunto de dados SAS existente com um dos mesmo nome. Se você estiver criando um novo datastet, ele será criado com todos os atributos, mas com 0 observações. (Certifique-se de redefinir as opções, se necessário, para Opções Obs = max substituir, quando há mais erros de sintaxe são encontrados).

Eu estaria interessado em quaisquer outras técnicas. Graças

Explicação sobre as opções veio aqui.

Foi útil?

Solução

Eu uso a opção na declaração run cancelar. Ele irá verificar a sintaxe da etapa de dados, então terminá-lo sem realmente executá-lo. É o analógico etapa dados para a opção noexec no SQL proc.

data something;
<stuff here>
run cancel;

Muito mais detalhes neste SUGI pdf

Outras dicas

Eu escrevo todo o meu código no meu PC com a SAS no meu PC e, editor codificado cor melhorada. Eu, então, usar SAS / CONNECT para processá-lo no mainframe. Se os conjuntos de dados estão no DASD, eu uso SAS / CONNECT e Enterprise Guide para diretamente executar o código onthe de mainframe (sem JCL!) Se houver uma fita de dados envolvidos e, portanto, deve ser uma corrida lote, eu uso SAS / CONNECT e SAS ftp motor para enviar o código para a fila batch mainframe. Eu uso o motor de email SAS para me enviar de volta a minha saída e meu log. Eu coloquei e ODS sanduíche aound meu código para ter o mainframe gerar um documento do Word para a saída. Eu uso um download PROC baixar a saída para o meu servidor para que eu possa abri-lo no Word.

Este conselho é agnóstico linguagem.

Eu diria que uma técnica preferível para a captura de sintaxe (e lógica) erros é realizar uma leitura perto (ou inspeção) de seu próprio código (que deve pegar a maioria dos erros de sintaxe), seguido por testes de unidade em pequenos conjuntos de dados (que vai pegar erros de sintaxe restantes, assim como muitos erros de lógica, se os testes são bem desenhados).

Eu concordo que há algum valor para a verificação de sintaxe isoladamente, mas de ler e compreender o seu código completamente o suficiente antes da primeira compilação de modo que você sei ele irá compilar é um bom ideal para se esforçar. Steve McConnell toca essa idéia em código completo (veja a página 827 do 2nd Edition).

P.S. Você mencionou destaque de sintaxe em seu post original; existem outros editores (como o VIM) que irá executar destaque de sintaxe em arquivos SAS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top