Pergunta

Eu tenho um aplicativo SAS que eu estou testando com a SAS recém-lançado 9.2. Eu tenho uma chamada para a função metadat_newobj para criar um novo objeto de Biblioteca no repositório de metadados SAS:

rc = metadata_newobj( "SASLibrary", URI, Name );

Em 9.1.3, quando a função foi executada com êxito (rc = 0), a variável URI foi preenchida com o URI do objeto Biblioteca recém-criado.

Em SAS 9.2, embora o valor de retorno é 0 (com êxito) e o objeto Biblioteca faz são criados (I verificado manualmente usando o console de gerenciamento), a URI estadias variáveis ??em branco para que as operações subsequentes, para definir atributos etc falhar.

A documentação para ambas as versões listas URI como um parâmetro desta função de saída.

Alguém tem qualquer conhecimento sobre isso?

EDIT: O código que eu estava usando é a seguinte:

put libraryName=;
rc = metadata_newobj("SASLibrary", libraryUri, libraryName);
if rc ne 0 then do;
  /* Error handler */
  return;
end;
put libraryUri=;

e a saída:

libraryName=HRLIB10
libraryUri=

Eu estou tentando contornar isso usando PROC METADATA vez, que parece estar funcionando. : \

EDIT # 2:. Eu só percebi que eu não tenha mencionado que este é no código SCL

Foi útil?

Solução 2

Eu não encontrei nada que sugira metadata_newobj tinha mudado na nova versão. No entanto, ele só se recusou a trabalhar para mim. Então eu converti minhas funções para uso PROC METADATA e agora ele funciona em SAS 9.1.3 e SAS 9.2

Obrigado a todos.

Outras dicas

Ela trabalhou para mim. Com base no exemplo que você deu Eu sugiro colocar aspas em torno NOME. Também talvez usar uma instrução comprimento de configurar uri antes de executar metadata_newobj. Caso contrário, no interesse da partilha, deixe-nos saber se você resolvê-lo com alguma outra técnica.

Aqui está o que eu corri:

data _null_;
    length uri $256;
    rc=0;
    rc=metadata_newobj("SASLibrary",
                       uri,
                       "testlib");
    put uri=;
run;

Aqui está o meu log:

NOTE: Variable uri is uninitialized.
uri=OMSOBJ:SASLibrary\A5M6IOB0.AZ000007
NOTE: DATA statement used (Total process time):
      real time           0.07 seconds
      cpu time            0.01 seconds
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top