<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Erro na documentação da Task Customizada in Forum em português</title>
    <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/784023#M765</link>
    <description>&lt;P&gt;Olá Carlos.&lt;/P&gt;&lt;P&gt;Boa noite.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Agradeço pelo retorno e aproveito para informar que esses comentários foram feitos a partir das tentativas que apliquei, onde não estava funcionando, com as mudanças, passou a funcionar. Então, observando a própria documentação encontrei essas discrepâncias e decidi compartilhar para que outras pessoas mais próximas ao SAS (sou apenas um mero estudante independente) possam analisar e ver se realmente a documentação de fato precisa de uma correção nesses pontos.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Além disso, a imagem que compartilhou da documentação mostra que a variável &lt;EM&gt;charvar&lt;/EM&gt;&amp;nbsp;continua sendo usada quando, na verdade, deveria utilizar, em todos os pontos que destaquei, a variável &lt;EM&gt;character&lt;/EM&gt; que, inclusive, recebeu a propriedade definida na Rule capturando a coluna a ser utilizada (campo requirido). Com isso, na imagem que compartilhou não parece que as mudanças foram realizadas, pois "charvar" continua lá.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Eu fiz todos os testes, realizei as mudanças e compartilhei tudo funcionando no &lt;A href="https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Tarefas-Customizadas-no-SAS-Studio/m-p/782695" target="_blank" rel="noopener"&gt;PDF anexo a neste post&lt;/A&gt;&amp;nbsp;e por este motivo acredito que a documentação precisa ser alterada esses pontos.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Grato,&lt;/P&gt;&lt;P&gt;Danilo Castro&lt;/P&gt;</description>
    <pubDate>Fri, 03 Dec 2021 22:21:50 GMT</pubDate>
    <dc:creator>DaniloTrindade</dc:creator>
    <dc:date>2021-12-03T22:21:50Z</dc:date>
    <item>
      <title>Erro na documentação da Task Customizada</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/782775#M758</link>
      <description>&lt;P&gt;Saudações,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gostaria de compartilhar uma dificuldade que enfrentei durante os estudos sobre tarefas customizadas utilizando a ferramenta SAS Studio e como a resolvi. Trata-se de um erro na documentação ou erro de interpretação de minha parte ao utilizar a documentação para estudar. Se puder me ajude a entender.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Após finalizar o curso &lt;A title="Curso gratuito" href="https://support.sas.com/edu/schedules.html?crs=CWTSS&amp;amp;ctry=BR" target="_blank" rel="noopener"&gt;&lt;EM&gt;Writing a Custom Task for SAS Studio&lt;/EM&gt;&lt;/A&gt;&amp;nbsp;decidi fazer o que sempre faço para fixar o conteúdo, escrever anotações. Desta vez escrevi um arquivo mostrando os passos para criar uma task customizada, explicando com minhas palavras o processo que entendi nas aulas e &lt;A title="SAS® Studio 3.8: Writing Your First Custom Task" href="https://documentation.sas.com/doc/en/webeditorcdc/3.8/webeditortaskgs/titlepage.htm" target="_blank" rel="noopener"&gt;documentação&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class="lia-align-center"&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;Identificando e Resolvendo o Primeiro Erro&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;O primeiro erro que apareceu durante o estudo foi com relação ao código reescrito para mostrar a facilidade de usar macro variáveis em um código SAS. Observe o problema, no curso foi apresentado o seguinte exemplo:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;%let inDS = work.character;
%let outDS = work.numDates;
%let convert = EnrollDate;
%let newCol=&amp;amp;convert.New;
%let informat = ddmmyy10;

data &amp;amp;outDS;
	set &amp;amp;inDS;
	&amp;amp;newCol = input(&amp;amp;convert, &amp;amp;informat..);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Observa-se claramente que para cada entrada na etapa do processo DATA há uma macro variável correspondente, ou seja, output, input, newColumn, convert e informat. Tudo certo neste exemplo.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Já na documentação está faltando uma macro variável no exemplo que é ensinado, ou seja, não há a macro variável de saída. Observe o código abaixo, ele deu origem a um erro justamente por não ter a macro variável que define o destino de saída dos dados, uma outlibname, mas ela foi utilizada no código, mesmo sem ser definida.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;%let inlibname = work;
%let indsname = character;
%let invarname = date;
%let outdsname = character_out;
%let informat = ddmmyy10;

data &amp;amp;outlibname.&amp;amp;outdsname;
	set &amp;amp;inlibname..&amp;amp;indsname;
	&amp;amp;invarname._new = input(&amp;amp;invarname,&amp;amp;informat..);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Além disso, também está faltando mais um ponto que é responsável por informar a biblioteca que o arquivo será salvo na etapa de saída dos dados, ou seja, &lt;STRONG&gt;&amp;amp;outlibname.&amp;amp;outdsname&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Para resolver este problema e fazer o código funcionar sem erros, precisei corrigir alguns pontos para rodar o programa com sucesso, para isso realizei as seguintes alterações:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;Criei a macro variável que &lt;FONT color="#d62e4e"&gt;não foi criada&lt;/FONT&gt; na documentação, a &lt;STRONG&gt;outlibname&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;%let outlibname = work;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Adicionei mais um ponto entre &lt;STRONG&gt;&amp;amp;outlibname&lt;/STRONG&gt; e &lt;STRONG&gt;&amp;amp;outdsname&lt;/STRONG&gt; na demonstração de saída.&lt;/P&gt;&lt;P&gt;data &lt;SPAN&gt;&amp;amp;outlibname.&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;&amp;amp;outdsname&lt;/SPAN&gt;;&lt;/P&gt;Um ponto serve para que a variável funcione, e o outro para acessar um arquivo dentro de uma biblioteca específica, neste caso, a biblioteca que irá receber o arquivo de saída.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P align="center"&gt;&lt;FONT size="4"&gt;&lt;STRONG&gt;Erro na Aplicação do Apache Velocity&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ao implementar o elemento CodeTemplate com a linguagem Apache Velocity, segundo o &lt;A title="Código de exemplo" href="https://documentation.sas.com/doc/en/webeditorcdc/3.8/webeditortaskgs/p0otfb0bqoce93n128bdmjsdhyis.htm" target="_blank" rel="noopener"&gt;exemplo mostrado na documentação&lt;/A&gt;, o código deveria funcionar exatamente como mostra o código abaixo. Mas ele gera um erro por não encontrar a variável "charvar". Onde ela foi definida?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;#set($character=$invarname.get(0))
#set($informat = "${informatType}${informatWidth}.")

data $outputDSName;
#if ($samename == '1')
	#set($newCol = "${charvar}_old")
	set $inlibname(rename = $charvar=$newCol);
	$charvar = input($newCol, $informat);
	drop $newCol;
#else
	#set($newCol = "${charvar}_new")
	set $inlibname;
	$newCol = input($charvar, $informat);
#end
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Este é o&amp;nbsp; código gerado quando não será necessário renomear coluna.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data WORK.Test0001;
       set WORK.CHARACTER;
       ${chavar}_new=input($charvar, BEST10.);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Este é o código gerado quando será necessário renomear coluna.&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data WORK.Test0001;
       set WORK.CHARACTER(rename=$charvar=${charvar}_old);
       $chavar=input(${charvar}_old, BEST10.);
       drop ${charvar}_old;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Analisando o restante do documento CTM, mais precisamente no elemento DataSource, percebi que essa variável deveria receber a informação que vem do campo invarname. Com isso, ali na primeira linha do Velocity estamos definindo que &amp;amp;character irá receber o valor que vem desse campo. Portanto, todas as variáveis destacadas deveriam ser &lt;STRONG&gt;character&lt;/STRONG&gt; e não&lt;STRONG&gt; charvar&lt;/STRONG&gt;. Mas isso é explicado em que ponto na documentação?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fiz as mudanças e o programa funcionou corretamente, as alterações realizadas poderá ser conferida no código a seguir.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;#set($character=$invarname.get(0))
#set($informat = "${informatType}${informatWidth}.")

data $outputDSName;
#if ($samename == '1')
	#set($newCol = "${character}_old")
	set $inlibname(rename = $character=$newCol);
	$character = input($newCol, $informat);
	drop $newCol;
#else
	#set($newCol = "${character}_new")
	set $inlibname;
	$newCol = input($character, $informat);
#end
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Este é o código do script corrigido quando não será necessário renomear a coluna.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data WORK.Test0001;
	set WORK.CHARACTER;
	EnrollDate_new=input(EnrollDate, BEST10.);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Este é o código do script corrigido quando for necessário renomear a coluna.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;data WORK.Test0001;
	set WORK.CHARACTER(rename=EnrollDate=EnrollDate_old);
	EnrollDate=input(EnrollDate_old, BEST10.);
	drop EnrollDate_old;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Analisando essas informações com calma você acha que realmente a documentação precisa ser corrigida nesses pontos ou é apena um equívoco de minha parte?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Você pode verificar a veracidade das informações que apresentei analisando a própria documentação nesses links. Confira também o resultado deste meu estudo completo &lt;A title="Compartilhando estudo" href="https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Tarefas-Customizadas-no-SAS-Studio/m-p/782695" target="_blank" rel="noopener"&gt;neste post&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;A title="Exemplo 1 - doc" href="https://documentation.sas.com/doc/en/webeditorcdc/3.8/webeditortaskgs/p1m80hnkrdnkiwn1tzauqoz9x8e0.htm" target="_blank" rel="noopener"&gt;About the SAS Program for This Example&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A title="Exemplo 2 - doc" href="https://documentation.sas.com/doc/en/webeditorcdc/3.8/webeditortaskgs/p0otfb0bqoce93n128bdmjsdhyis.htm" target="_blank" rel="noopener"&gt;Step 5: Add the Apache Velocity Code&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Obrigado pela atenção e ajuda.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Nov 2021 04:39:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/782775#M758</guid>
      <dc:creator>DaniloTrindade</dc:creator>
      <dc:date>2021-11-29T04:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: Erro na documentação da Task Customizada</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/784013#M764</link>
      <description>&lt;P&gt;Olá Danilo.&lt;/P&gt;
&lt;P&gt;Boa tarde.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Agradeço por nos alertar das suas desconfianças de erros da documentação.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Com relação ao primeiro erro relatado (uso de outlibname como macro sem declarar e sem o ponto adicional), eu tive a mesma impressão que você: estes detalhes parecem faltar na documentação.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Já enviei o seu comentário para o time que prepara documentações e, creio, isso deve ser corrigido em breve.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Com relação ao segundo, creio que ele já foi corrigido (com todas as menções sendo a $charvar):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="cepmiranda_0-1638563557907.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/66393i787FC7A7D0EF3F5C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="cepmiranda_0-1638563557907.png" alt="cepmiranda_0-1638563557907.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Espero ter contribuído.&lt;/P&gt;
&lt;P&gt;Mas, se eu não tiver, comente aqui e a comunidade poderá nos ajudar.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;atte.&lt;/P&gt;
&lt;P&gt;Carlos Miranda&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Dec 2021 20:34:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/784013#M764</guid>
      <dc:creator>cepmiranda</dc:creator>
      <dc:date>2021-12-03T20:34:50Z</dc:date>
    </item>
    <item>
      <title>Re: Erro na documentação da Task Customizada</title>
      <link>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/784023#M765</link>
      <description>&lt;P&gt;Olá Carlos.&lt;/P&gt;&lt;P&gt;Boa noite.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Agradeço pelo retorno e aproveito para informar que esses comentários foram feitos a partir das tentativas que apliquei, onde não estava funcionando, com as mudanças, passou a funcionar. Então, observando a própria documentação encontrei essas discrepâncias e decidi compartilhar para que outras pessoas mais próximas ao SAS (sou apenas um mero estudante independente) possam analisar e ver se realmente a documentação de fato precisa de uma correção nesses pontos.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Além disso, a imagem que compartilhou da documentação mostra que a variável &lt;EM&gt;charvar&lt;/EM&gt;&amp;nbsp;continua sendo usada quando, na verdade, deveria utilizar, em todos os pontos que destaquei, a variável &lt;EM&gt;character&lt;/EM&gt; que, inclusive, recebeu a propriedade definida na Rule capturando a coluna a ser utilizada (campo requirido). Com isso, na imagem que compartilhou não parece que as mudanças foram realizadas, pois "charvar" continua lá.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Eu fiz todos os testes, realizei as mudanças e compartilhei tudo funcionando no &lt;A href="https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Tarefas-Customizadas-no-SAS-Studio/m-p/782695" target="_blank" rel="noopener"&gt;PDF anexo a neste post&lt;/A&gt;&amp;nbsp;e por este motivo acredito que a documentação precisa ser alterada esses pontos.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Grato,&lt;/P&gt;&lt;P&gt;Danilo Castro&lt;/P&gt;</description>
      <pubDate>Fri, 03 Dec 2021 22:21:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Forum-em-portugu%C3%AAs/Erro-na-documenta%C3%A7%C3%A3o-da-Task-Customizada/m-p/784023#M765</guid>
      <dc:creator>DaniloTrindade</dc:creator>
      <dc:date>2021-12-03T22:21:50Z</dc:date>
    </item>
  </channel>
</rss>

