Académique Documents
Professionnel Documents
Culture Documents
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Informaes Gerais
Identificao do GAP
Ttulo do GAP
ATM 446797
Mdulo
Identificao do Programa
MM
Transao do Programa
Tipo de Programa
ZMIGMM02
Requisitante Sonda
Consultor Sonda
Rosangela Morelli
Requisitante do Cliente
Consultor BC
Data Incio
Data Trmino
-----------
Data da Reviso
Aprovado por
-----------
Data da Aprovao
Prioridade
-----------
Complexidade
Mdia
Definio do GAP
Descritivo do Programa:
Criar tabelas e programa para extrao dos dados das Classes de Materiais, referentes tabela CLS_MAT.
Objetos DD relacionados:
Tabelas Transparentes:
T023T
ZTMM_CLS_MAT
Logical Database:
<N/A>
Views:
<N/A>
Classe de Desenvolvimento:
ZMIG
Classe de mensagem:
ZMIG1
Transao:
ZMIGMM02
Preparado Por - PREPARED BY
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 2
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Objeto de bloqueio:
EZTMM_CLS_MAT
Periodicidade:
No definida.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 3
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Digrama do Fluxo Tcnico
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 4
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 5
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Layout de Tabelas
Criao de tabelas:
Entrega e Atualizao:
Classe de Entrega: A
Data Browser/Atu: X Exibio/Atualizao permitida
Configuraes Tcnicas:
Categ. de dados:
APPL0
Categ. de tamanho: 1
Categoria de Ampliao:
No amplivel
Atualizao de Tabela:
Chave
X
CODCLS
Tipo
Referencia no SAP
Descrio
OBS
CHAR 09
DSCCLS_MAT
CHAR 60
INDENS_TIP
CHAR 01
DPROCE
DATS 8
DATS
Data do processamento
HPROCE
TIMS 6
TIMS
Hora do processamento
UPROCE
CHAR 12
UNAME
Usurio processamento
Objeto de Bloqueio
Criao do Objeto de Bloqueio:
Objeto de bloqueio:
Descrio breve:
EZTMM_CLS_MAT
Migrao-MM-Bloqueio para a tabela ZTMM_CLS_MAT
Tabelas:
Nome:
Modo bloqueio:
ZTMM_CLS_MAT
E
Parmetros de Bloqueio:
No marcar nenhum campo.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 6
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Layout de Telas
Layout das telas do programa
Tela inicial 1000
Tipo do Campo
Nome
Descrio
Referncia
Observaes
PARAMETER
P_SAV
Gravar dados
RADIOBUTTON GROUP G1
USER-COMMAND flag1
DEFAULT X
PARAMETER
P_DEL
Deletar dados
RADIOBUTTON GROUP G1
SELECT-OPTIONS
S_MATKL
Classe de Material:
T023T-MATKL
PARAMETER
P_TAB
Tabela de dados:
CHAR16
DEFAULT
ZTMM_CLS_MAT
PARAMETER
P_BACK
Background:
CHAR1
DEFAULT
NO-DISPLAY
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 7
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
************************************************************************
* TYPES
************************************************************************
************************************************************************
* INCLUDES
************************************************************************
Fazer a chamada do include j existente: ZIXX_MACROS_MIGRACAO.
************************************************************************
* DECLARAES: VARIVEIS, TABELAS INTERNAS, ESTRUTURAS...
************************************************************************
Variveis:
NOME
TIPO
TAMANHO
DECIMAL
V_OBJ
V_MOD
V_JOBNAME
V_ANSWER
V_RETURN
V_REG
CHAR
CHAR
TBTCJOB-JOBNAME
CHAR
SY-SUBRC
INT
40
40
---1
10
1
0
0
---0
0
Tabelas Internas:
NOME
TIPO
HEADER LINE
T_FINAL
T_PARAMS
T_T023T
ZTMM_CLS_MAT
RSPARAMS
T023T
No
No
No
Estruturas:
NOME
TIPO
E_FINAL
E_T023T
ZTMM_CLS_MAT
T023T
************************************************************************
* TELA
************************************************************************
Detalhado no item Layout de Tela.
************************************************************************
* INITIALIZATION
************************************************************************
O programa dever ter a lgica para desabilitar o campo P_TAB na inicializao do programa, exibindo o
campo fechado com o valor default ZTMM_CLS_MAT, conforme abaixo:
Preparado Por - PREPARED BY
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 8
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Para isso, basta chamar a macro j definida para essa finalidade no include ZIXX_MACROS_MIGRACAO,
utilizando a instruo abaixo:
m_desabilita_campo_tab 'P_TAB'., onde:
'P_TAB' = nome do parmetro, entre aspas simples, a ser desabilitado na tela.
************************************************************************
* At Selection Screen OUTPUT
*
************************************************************************
Nesse ponto do programa deve-se repetir a lgica anterior para desabilitar o parmetro de tela P_TAB,
exibindo o valor default ZTMM_CLS_MAT.
Tambm se deve criar uma lgica para no exibir o parmetro de tela S_MATKL, caso a opo DELETAR
DADOS (P_DEL) esteja marcada, conforme aparece abaixo:
Para isso, deve-se checar se o parmetro de tela P_DEL = X. Se sim, basta dar um LOOP na estrutura
SCREEN desabilitando os parmetros de tela (screen-name) S_MATKL, passando o valor zero para o
campo screen-active. A cada loop, se houver alterao de valores, deve-se utilizar o comando
MODIFY SCREEN para efetivar a alterao feita.
Exemplo:
IF p_del
EQ 'X'.
LOOP AT SCREEN.
IF screen-name CS 'S_MATKL'.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 9
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
************************************************************************
* START-OF-SELECTION
************************************************************************
A execuo principal do programa dever verificar se o processamento est sendo feito atravs da opo do
menu PROGRAMA EXECUTAR EM BACKGROUND. Se sim, ou seja, se a varivel do sistema SYBATCH = X, no permitir a continuao do programa, pois o mesmo s deve ser executado de modo
Online. Para fazer essa validao, utilizar a macro j definida no include ZIXX_MACROS_MIGRACAO,
bastando utilizar a instruo abaixo:
m_checar_proce p_back sy-batch., onde:
P_BACK = valor do parmetro de tela P_BACK.
SY-BATCH = valor da varivel do sistema SY-BATCH.
Em seguida, verificar qual opo foi marcada para a execuo do programa: P_SAV (para gravao dos
dados) ou P_DEL (para deleo dos dados).
Se o parmetro P_SAV estiver com valor X, ento:
Se o parmetro P_BACK estiver com valor em branco, a execuo dever chamar os FORMS
abaixo:
Z_VERIFICAR_DADOS
Z_BLOQUEAR_TABELA
Z_GERAR_JOB
Seno se o parmetro P_BACK = X, a execuo dever chamar os FORMS abaixo:
Z_SELECIONAR_DADOS
Z_PROCESSAR_DADOS
Z_GRAVAR_DADOS
Z_DESBLOQUEAR_TABELA
Fim SE
Seno se parmetro P_DEL estiver com valor X, ento:
O programa dever chamar o FORM Z_DELETAR_DADOS.
Fim SE.
Preparado Por - PREPARED BY
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 10
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
************************************************************************
* FORMS
************************************************************************
A lgica de cada FORM citado anteriormente est descrita abaixo:
FORM Z_VERIFICAR_DADOS:
O Form dever selecionar todos os campos da tabela ZTMM_CLS_MAT atravs do comando SELECT
SINGLE * e armazenar os dados na estrutura E_FINAL.
Se a estrutura E_FINAL possuir dados, ento um popup dever ser exibido ao usurio, utilizando a funo
'POPUP_TO_DECIDE' com os seguintes parmetros de entrada:
DEFAULTOPTION
TEXTLINE1
TEXTLINE2
TEXTLINE3
TEXT_OPTION1
TEXT_OPTION2
TITEL
CANCEL_DISPLAY
= '2'
= 'J existem dados na tabela ZTMM_CLS_MAT. Os
= 'mesmos sero substitudos pela nova execuo.'
= 'Deseja continuar?'
= 'Sim'
= 'No'
= 'Ateno'
= space
Se o valor do parmetro de retorno (ANSWER) dessa funo for 2, ento o programa no dever
prosseguir, devendo ser interrompido atravs do comando leave list-processing.
Se o valor do parmetro de retorno (ANSWER) dessa funo for 1, ento o programa dever prosseguir
normalmente.
FORM Z_BLOQUEAR_TABELA:
O Form dever verificar se o programa j est em processamento por outro usurio, para que no ocorra
conflito na gravao dos dados. Para isso iremos utilizar o objeto de bloqueio criado EZTMM_CLS_MAT.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 11
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
v_obj
FORM Z_GERAR_JOB:
O Form dever gerar um job para a execuo de algumas etapas do programa em background.
Para iniciar se devem definir os parmetros de tela a serem informados no job e armazen-los na tabela
interna T_PARAMS j definida anteriormente. Para cada parmetro da tela deve-se utilizar a macro do
include ZIXX_MACROS_MIGRACAO, atravs da instruo:
m_preencher_param_s 'S_MATKL'
S_MATKL., onde:
'S_MATKL'
S_MATKL
Ser obrigatrio nesse momento, passar o parmetro de tela P_BACK preenchido com o valor X, que
define que ser executado em background. Sendo assim, incluir a instruo a seguir logo abaixo das linhas
anteriores:
m_preencher_param_p 'P_BACK' 'X'., onde:
'P_BACK'
'X'
= Valor fixo X.
O prximo passo do Form ser gerar o nome do job, que dever ser armazenado na varivel V_JOBNAME
e seguir a nomenclatura abaixo, atravs do comando CONCATENATE.
MIG-MM-CLS_MAT-20141118-13:58, sendo:
MIG
MM
CLS_MAT
20141118
13:58
Sigla de Migrao
Sigla do Mdulo
Nome da tabela a ser gravada
Data da execuo no formato AAAAMMDD (sy-datum)
Hora da execuo (sy-uzeit)
Com o nome do job e os parmetros j definidos, basta chamar a funo j existente 'ZFXX_GERAR_JOB',
passando os seguintes parmetros de entrada:
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 12
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
JOBNAME
PROGRAM
T_PARAMS
= v_jobname
= sy-repid
= t_params
Se o parmetro de retorno dessa funo RETURN tiver o valor 0 (zero), significa que no ocorreram erros e
o programa gerou o job corretamente. Nesse caso exibir uma mensagem informativa ao usurio, utilizando a
mensagem 001 da classe de mensagem ZMIG1 passando a varivel v_jobname.
Se o parmetro de retorno dessa funo RETURN tiver qualquer valor diferente de 0 (zero), significa que
ocorreram erros. Nesse caso, deve-se desbloquear a tabela ZTMM_CLS_MAT, atravs da macro j definida
no include ZIXX_MACROS_MIGRACAO, atravs da instruo:
m_desbloqueia_tab v_obj v_mod., onde:
v_obj = Valor fixo 'DEQUEUE_EZTMM_CLS_MAT'.
v_mod = Valor fixo 'MODE_ZTMM_CLS_MAT'.
Em seguida, para finalizar o processo, exibir uma mensagem informativa ao usurio, utilizando a mensagem
002 da classe de mensagem ZMIG1 passando a varivel v_jobname.
FORM Z_SELECIONAR_DADOS:
Nesse Form ser feita a busca dos dados a serem gravados na tabela final ZTMM_CLS_MAT, conforme
lgica abaixo:
Antes de iniciar a busca dos dados, a tabela interna T_T023T j definida anteriormente, deve ser inicializada
atravs do comando REFRESH.
A primeira seleo de dados deve buscar todos os campos da tabela T023T, armazenando os dados na
tabela interna T_T023T e considerando os critrios abaixo:
MATKL IN S_MATKL
SPRAS IN (P,PT)
Se a tabela interna T_T023T estiver vazia, ento dever ser impressa na tela, atravs do comando WRITE a
mensagem 003, j definida na classe de mensagem ZMIG1 e finalizar o processo atravs do comando
leave list-processing.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 13
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Aps a seleo acima, a tabela interna T_T023T deve ser ordenada, atravs do comando SORT, pelo
campo MATKL.
FORM Z_PROCESSAR_DADOS:
Nesse Form sero mapeados todos os dados contidos nas tabelas internas para a tabela interna T_FINAL.
Atravs do comando LOOP na tabela interna T_T023T mapear cada campo para a estrutura E_FINAL,
sendo:
Iniciar o LOOP na tabela T_T023T na estrutura E_T023T.
Limpar a estrutura E_FINAL atravs do comando CLEAR.
E_FINAL-CODCLS
E_T023T-MATKL
E_FINAL-DSCCLS_MAT
E_T023T-WGBEZ60
E_FINAL- INDENS_TIP
N.
E_FINAL-DPROCE
SY-DATUM
E_FINAL-HPROCE
SY-UZEIT
E_FINAL-UPROCE
SY-UNAME
Inserir os dados contidos na estrutura E_FINAL para a tabela interna T_FINAL, atravs do
comando APPEND.
Fim do LOOP principal.
FORM Z_GRAVAR_DADOS:
Esse Form far a gravao dos dados contidos na tabela interna T_FINAL na tabela final ZTMM_CLS_MAT,
sobrepondo os dados j existentes.
Antes de gravar os dados novos, deve ser feita a eliminao dos dados j existentes na tabela
ZTMM_CLS_MAT atravs do comando:
DELETE FROM ZTMM_CLS_MAT WHERE CODCLS IN S_MATKL.
COMMIT WORK.
Preparado Por - PREPARED BY
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 14
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Agora, iremos seguir com a gravao dos novos dados.
Deve-se verificar se a tabela interna T_FINAL possui dados. Se sim, a insero dos dados deve ser feita
atravs do MODIFY ZTMM_CLS_MAT FROM TABLE T_FINAL. Logo aps essa linha, inserir o comando
COMMIT WORK para efetivar a gravao no banco de dados.
Para finalizar o Form deve-se buscar a quantidade de registros existentes na tabela T_FINAL atravs do
comando DESCRIBE TABLE e armazenar na varivel local V_REG j definida anteriormente.
O log final de processamento dever ser impresso na tela do programa pela macro j definida no include
ZIXX_MACROS_MIGRACAO, atravs da instruo:
m_exibir_log '----' v_reg., onde:
'----'
= Valor fixo '----', pois no existe parmetro empresa para esse programa.
V_REG
FORM Z_DESBLOQUEAR_TABELA:
Esse Form far o desbloqueio da tabela ZTMM_CLS_MAT, pois o programa chegou ao final do processo.
FORM Z_DELETAR_DADOS:
Antes de eliminar os dados da tabela ZTMM_CLS_MAT, um popup dever ser exibido ao usurio, utilizando
a funo 'POPUP_TO_DECIDE' com os seguintes parmetros de entrada:
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 15
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
DEFAULTOPTION
TEXTLINE1
TEXTLINE2
TEXT_OPTION1
TEXT_OPTION2
TITEL
CANCEL_DISPLAY
= '2'
= 'Deseja realmente deletar os dados da tabela,
= 'ZTMM_CLS_MAT?'
= 'Sim'
= 'No'
= 'Ateno'
= ' '
Se o valor do parmetro de retorno (ANSWER) dessa funo for 1, ento o programa dever prosseguir
normalmente, fazendo a deleo dos dados na tabela ZTMM_CLS_MAT, atravs do comando:
DELETE FROM ZTMM_CLS_MAT.
Logo aps essa linha de comando, inserir o comando COMMIT WORK para efetivar a deleo no banco de
dados e informar o usurio sobre o sucesso da eliminao, atravs da mensagem 005 da classe de
mensagem ZMIG1.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 16
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
Requests
Listagem das requests referentes ao desenvolvimento:
REQUEST
DESCRIO
USURIO SAP
DREK950527
ABAP29
Informaes Adicionais
Condies de Testes e Resultados:
Para teste no ambiente de homologao (QRE), basta executar a transao ZMIGMM02 e informar os parmetros
abaixo:
GRAVAR DADOS
CLASSE DE MATERIAL: (deixar em branco)
Prximos passos:
1. Na transao standard SM37, deve-se acompanhar o job at a sua finalizao. Em seguida, verificar o log
de processamento do programa atravs do boto
A mensagem do log de processamento deve ser como abaixo, informando os dados de processamento:
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE
PAG 17
07/01/15
ATM - 446797
ESPECIFICAO TCNICA
DELETAR DADOS
O programa dever exibir um popup informando se deseja continuar com a eliminao dos dados.
Clicar sem SIM.
O programa dever exibir a seguinte mensagem:
Dados eliminados com sucesso!
Prximos passos:
1. Na transao standard SE16, deve-se verificar o contedo da tabela ZTMM_CLS_MAT. No dever existir
dados.
Rosngela Morelli
Resp. Documento/Aprovado - DOC. RESPONS/APPROVED
No do Gap - N GAP
446797
Arquivo FILE