BookmarkSubscribeRSS Feed
Andressa3
Calcite | Level 5

Seria: 

%PUT A alíquota de &IMPOSTO em &UF é de &ICMS_SP;
AltairSouza
Calcite | Level 5

Segue

%LET ICMS_SP = 0.020;
%LET ICMS_RJ = 0.025;
%LET ISS_SP = 0.030;
%LET ISS_RJ = 0.028;

%LET UF = SP;
%LET IMPOSTO = ICMS_;

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO&UF.;

PauloMelo
Calcite | Level 5

%PUT A alíquota de &IMPOSTO em &UF é de Symget(&IMPOSTO.!!_!!&UF);

Ariel_FD
Calcite | Level 5
%LET ICMS_SP = 0.020;
%LET ICMS_RJ = 0.025;
%LET ISS_SP = 0.030;
%LET ISS_RJ = 0.028;

%LET UF = SP;
%LET IMPOSTO = ICMS;

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO._&UF..;
felipealencar10
Fluorite | Level 6

Eu respondi da seguinte forma:

 


%LET ICMS_SP = 0.020;
%LET ICMS_RJ = 0.025;
%LET ISS_SP = 0.030;
%LET ISS_RJ = 0.028;

%LET UF = SP;
%LET IMPOSTO = ICMS;

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO._&UF;

 

Desta forma o %PUT  fica bem automatizado, ele traz de forma automática o nome do imposto, uf e alíquota de imposto correta, e o código fica bem dinâmico 

jan_souza_
Calcite | Level 5

É preciso colocar o "gatilho" de macro, o & mais 2 vezes antes da combinação de macros, ficando:

 

&&&IMPOSTO._&UF

 

se colocarmos apenas &IMPOSTO._&UF ou &&IMPOSTO._&UF, a macro será resolvida para "ICMS_SP", mas não estará chamando a macro &ICMS_SP. Por isso a necessidade de mais 2 & antes da combinação,

 

Sérgio_T_Junior
Calcite | Level 5

Faltou um ponto para separar o que até onde vai o nome da macro. Além disso após criar o nome que desejamos chamar, devemos chmar novamente a macro com &&&& antes de &IMPOSTO._&UF

 

Ficaria assim:

 

%LET ICMS_SP = 0.020;
%LET ICMS_RJ = 0.025;
%LET ISS_SP = 0.030;
%LET ISS_RJ = 0.028;

%LET UF = SP;

%PUT A alíquota de &IMPOSTO em &UF é de &&&&&IMPOSTO._&UF;

RenatoMazzone
Calcite | Level 5
%PUT A alíquota de &IMPOSTO em &UF é de &IMPOSTO._&UF;
FernandaWitos
Calcite | Level 5
Trocar -> %PUT A alíquota de &IMPOSTO em &UF é de &IMPOSTO_&UF;
Por isso -> %PUT A alíquota de &IMPOSTO em &UF é de &ICMS_SP;
RodrigoHigashi
Calcite | Level 5
Trocar -> %PUT A alíquota de &IMPOSTO em &UF é de &IMPOSTO_&UF;
Por isso -> %PUT A alíquota de &IMPOSTO em &UF é de &&&&&IMPOSTO._&UF;
cris_diniz82
Calcite | Level 5

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO._&UF.;

AndreRoGon
Fluorite | Level 6
Spoiler
Corrigir a última linha para:

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO._&UF;


Ewerton
Calcite | Level 5

Alem da declaração final estar errada, existe um espaço no inicio do %let iniciais. o correto seria a forma abaixo:

 

%LET ICMS_SP = 0,020;
%LET ICMS_RJ = 0,025;
%LET ISS_SP = 0,030;
%LET ISS_RJ = 0,028;

%LET UF = SP;
%LET IMPOSTO = ICMS;

%PUT A alíquota de &IMPOSTO em &UF é de &ICMS_SP ;

BrunoRusso
Calcite | Level 5

Final: &ICMS_SP;

RxJunior
Fluorite | Level 6
%LET ICMS_SP = 0.020;
%LET ICMS_RJ = 0.025;
%LET ISS_SP = 0.030;
%LET ISS_RJ = 0.028;

%LET UF = SP;
%LET IMPOSTO = ICMS;

%PUT A alíquota de &IMPOSTO em &UF é de &&&IMPOSTO._&UF.;

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!