Conforme no primeiro post "Criando 1° programa em ABAP", entre na transação SE80, digite o nome do programa "ZCURSO3".
1) Criar
uma tabela com exibir os dados na tela
2) Usar
os campos: *Programa
Teste
data: v_nome(20) type c,
v_sobrenome(20) type c,
v_onof(2) type c.
3) Usar a tabela
data: begin of i_tab occurs 10,
depto(15) type c,
contador like sy-tabix,
nome(20) type c,
sobrenome(20) type c,
salario type p decimals 2,
nascimento type d,
end of i_tab.
Carregar uma tabela
conforme modelo
v_nome = 'Fulano'.
v_sobrenome = 'de Tal'.
i_tab-nome = 'KATIA'.
i_tab-sobrenome = 'ALVES'.
i_tab-salario = 10000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19690121'.
append i_tab.
i_tab-nome = 'ELVISE'.
i_tab-sobrenome = 'BRESCIANI'.
i_tab-salario = 20000.
i_tab-depto = 'informatica'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'CRISTIANE'.
i_tab-sobrenome = 'CAETANO VELOZO'.
i_tab-salario = 200000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'SERGIO'.
i_tab-sobrenome = 'KRÜGER'.
i_tab-salario = 50000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'ALTAMIR'.
i_tab-sobrenome = 'NUNES JUNIOR'.
i_tab-salario = 100000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'TARCISIO'.
i_tab-sobrenome = 'MEIRA'.
i_tab-salario = -200.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
Efetuar um sort por DEPTO
NOME SOBRENOME.
* para efeito de impressão
Setar o campo V_ONOF = 'nn'.
Fazer um loop e usar os
recursos do comando
AT – usar
at first.
format color 6 intensified on.
write: / 'altom '.
format reset.
skip.
endat.
·
exemplo do
cores e quebras
at new depto.
sum.
format color 4 intensified on.
write: /001 'departamento:',015 i_tab-depto,090(1) space.
skip.
format reset.
endat.
if v_onof = 'nn'.
format color 2 intensified on.
v_onof = 'ff'.
else.
format color 2 intensified off.
v_onof = 'nn'.
endif.
4) Emitir
listagem com os totais observem que a cada impressão vamos mudar o tipo de cor
ou intensidade.
report zanj no standard page heading
line-size 90
line-count
60.
*------------------------------------------------------------*
* Programa Teste
*------------------------------------------------------------*
data: v_nome(20) type c,
v_sobrenome(20) type c,
v_onof(2) type c.
data: begin of i_tab occurs 10,
depto(15) type c,
contador like sy-tabix,
nome(20) type c,
sobrenome(20) type c,
salario type p decimals 2,
nascimento type d,
end of i_tab.
v_nome = 'Fulano'.
v_sobrenome = 'de Tal'.
i_tab-nome = 'KATIA'.
i_tab-sobrenome = 'ALVES'.
i_tab-salario = 10000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19690121'.
append i_tab.
i_tab-nome = 'ELVISE'.
i_tab-sobrenome = 'BRESCIANI'.
i_tab-salario = 20000.
i_tab-depto = 'informatica'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'CRISTIANE'.
i_tab-sobrenome = 'CAETANO VELOZO'.
i_tab-salario = 200000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'SERGIO'.
i_tab-sobrenome = 'KRÜGER'.
i_tab-salario = 50000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'ALTAMIR'.
i_tab-sobrenome = 'NUNES JUNIOR'.
i_tab-salario = 100000.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
i_tab-nome = 'TARCISIO'.
i_tab-sobrenome = 'MEIRA'.
i_tab-salario = -200.
i_tab-depto = 'treinamento'.
i_tab-nascimento = '19001212'.
append i_tab.
clear i_tab.
sort i_tab by depto nome sobrenome.
v_onof = 'nn'.
loop at i_tab.
at first.
format color 6 intensified on.
write: / 'Curso ABAP'.
format reset.
skip.
endat.
at new depto.
sum.
format color 4 intensified on.
write: /001 'departamento:',015 i_tab-depto,090(1) space.
skip.
format reset.
endat.
if v_onof = 'nn'.
format color 2 intensified on.
v_onof = 'ff'.
else.
format color 2 intensified off.
v_onof = 'nn'.
endif.
write: /001 i_tab-nascimento, 020
i_tab-nome,
035 i_tab-sobrenome, 074 i_tab-salario.
format reset.
at end of depto.
sum.
write: /064 '-----------------------------',
/064 'total: ' color 3 intensified on,
074 i_tab-salario color 3 intensified
on,
/064 '-----------------------------'.
endat.
at last.
sum.
write: /064 '-----------------------------',
/064 'geral: ' color 3 intensified on,
074 i_tab-salario color 3 intensified
on,
/064 '-----------------------------'.
endat.
endloop.
top-of-page.
write: 001 text-001, 070 text-002,
/001 text-008.
format reset.
uline.O resultado é:
Nenhum comentário:
Postar um comentário