Pessoal, tudo bem?
Estou com um problema que não faço ideia de como resolver.
Tenho o código abaixo para definir o tamanho de uma variável que criei em um IF, porém ela fica sempre com o mesmo tamanho apesar de definir ela com LENGTH. Tentei com o FORMAT, INFORMAT também e nada.
DATA WORK.WANT;
SET WORK.HAVE;
FORMAT CART2 $50.;
FORMAT CARTA3 $50.;
LENGTH OKR_CLASSIFICACAO $50;
IF FINALIDADE = 'CUSTEIO' THEN
DO;
OKR_CLASSIFICACAO = 'CUSTEIO';
END;
ELSE IF FINALIDADE = 'INVESTIMENTO' THEN
DO;
OKR_CLASSIFICACAO = 'INVESTIMENTO';
END;
ELSE IF (FINALIDADE = 'COMERCIALIZACAO' OR FINALIDADE = 'INDUSTRIALIZACAO') AND (INTCK('DAY',INPUT(DT_OP_CNTR, MMDDYY10.),INPUT(DT_VCMT_CNTR, MMDDYY10.)) <= 720 ) THEN
DO;
OKR_CLASSIFICACAO = 'CUSTEIO';
OKR_DATA = (INTCK('DAY',INPUT(DT_OP_CNTR, MMDDYY10.),INPUT(DT_VCMT_CNTR, MMDDYY10.)));
END;
ELSE IF (FINALIDADE = 'COMERCIALIZACAO' OR FINALIDADE = 'INDUSTRIALIZACAO') AND (INTCK('DAY',INPUT(DT_OP_CNTR, MMDDYY10.),INPUT(DT_VCMT_CNTR, MMDDYY10.)) > 720 ) THEN
DO;
OKR_CLASSIFICACAO = 'INVESTIMENTO';
OKR_DATA = (INTCK('DAY',INPUT(DT_OP_CNTR, MMDDYY10.),INPUT(DT_VCMT_CNTR, MMDDYY10.)));
END;
ELSE IF FINALIDADE = 'CREDITO SEM DIRECIONAMENTO' THEN
DO;
OKR_CLASSIFICACAO = 'FORA DO OKR';
END;
ELSE
DO;
OKR_CLASSIFICACAO = 'VERIFICAR';
END;
RUN;
Alguém poderia me dizer o que estou fazendo de errado?