Technical Articles
Como importar Regras e Esquemas utilizando LSMW
Exportar as nossas regras e esquemas é uma rotina comum, recomendada e muitas vezes necessária, para termos maior controle das alterações, e pode ocorrer da implementação ao suporte. Uma extração atualizada momentos antes de qualquer manutenção trazem segurança ao cliente à equipe de consultores.
Com o programa RPDASC00 gera um arquivo texto com todos os esquemas e regras que selecionarmos.
Com a seleção abaixo, podemos extrair um longo arquivo com todos os esquemas e regras continua à partir do esquema BR00.
Note que os esquemas e subesquemas aparece em azul e as regras em preto.
O layout também é no formato de tabela para poupar espaços no arquivo, e é este arquivo que deve ser guardado.
Até aqui nenhuma novidade.
Mas em muitas situações podemos ter que recorrer a o nosso backup para remontar uma regra a um estado anterior ou até mesmo levá-la para outros ambientes.
Ao contrário do processo simples de download, não existe como fazer upload de regras e esquemas sem que tenhamos que recorrer ao copy & paste. E trabalhar com a visão de tabelas em regras pode ser uma tarefa bem complicada.
Para resolver isto podemos analisar três possibilidades.
- Já falamos do copy and paste, mas dependendo da quantidade ou tamanho das regras, esta opção pode ser inviável.
- Download de request. Neste caso, podemos gerar uma request com todas as regras e esquemas, liberá-la, e baixarmos os arquivos data e cofiles.No sistema destino, importamos os arquivos na transação STMS.Este processo é detalhado neste artigo https://blogs.sap.com/2013/08/24/how-to-download-upload-transport-request-from-to-a-server/.
O problema desta abordagem são as autorizações para baixar arquivos de sistema (data/cofiles), e importar no ambiente destino. Atenção: Se o ID da request da origem existir no destino, ela será sobregravada.
- Quando as demais opção são inviáveis, podemos recorrer a transação LSMW para efetuar uma carga (batch-input), com os dados extraídos pelo RPDASC00. Vamos detalhar este processo.
Vamos criar uma LSMW para carga de regras.
O processo para esquemas é muito semelhante e ainda mais simples que as regras.
A primeira coisa que temos que entender é como a visão de tabela funciona na transação PE02.
Criar uma regra.
Modificar a regra e garantir que a visão de tabela está selecionada.
Ao entrar na regra será necessário informar o ABART e rubrica.
Entre * e **** e pressione enter.
Agora a regra está disponível para ser preenchida.
Note que temos múltiplos campos iguais na tela, um para cada linha.
Cada linha possui 4 campos que podemos preencher, além do primeiro campo que é preenchido automaticamente com o sequencial da linha.
Dica: Não é uma boa ideia querer preencher via LSMW todos os campos da tela.
Ao invés disso vamos pensar em preencher apenas a primeira linha.
O campo de comando também será útil.
Aqui podemos criar linhas e ir para um alinha específica.
Vamos aos comandos:
i n = Adiciona uma linha no final da tela, onde n é um número de 1 a 9.
a n = Posiciona na linha desejada, onde n é o número da linha.
Exemplo: i 2, a 130
Mas como faremos a LSMW funcionar?
O fluxo de inputs será:
-
Entrar na regra via PE02.
-
Informar o abart e rubrica, enter
-
Inserir uma linha (comando i 1), enter
-
Posicionar na linha desejada (comando a n), enter
-
Entrar com dados nos 4 campos da linha
-
Salvar sem verificar (explicarei abaixo)
-
Informar a request ( se o mandante estiver habilitado para isto)
-
Voltar e encerrar o processo.
-
Reiniciar o ciclo
Com os passos acima podemos criar um recording na LSMW, informando os campos necessários.
A ideia é gravar apenas a primeira linha.
Criar recording
Passo 1 do fluxo, clique em modificar…
Passo 2 do fluxo, enter…
Passo 3 do fluxo, enter…
Passo 4 do fluxo, enter…
Passo 5 do fluxo, enter.
Passo 6 do fluxo. Selecione Gravar sem verificar.
Passo 7 do fluxo. Entre com uma request previamente criada e enter.
Clique em voltar 2x para criar o recording.
Recording completo:
Recording
Obs.: Alterei o segundo campo COMND para COMND2, porque aparecem duas vezes e assim não entrarão em conflito.
Agora montamos a estrutura do arquivo que vamos importar, de acordo com os campos que podemos mapear.
Note que os 4 campos da regra que vamos preencher sempre serão os terminados em “_01”, graças ao comando a n que posiciona a linha escolhida sempre no inicio da tela. Ou seja, se formos para a 300 por exemplo, o campo de tela será VARGT_01, SEQNO_01, RUTYP_01 e VINFO_01.
A próxima etapa mapeamos os campos.
- O campo COMND deve ter o valor fixo: i 1 , para sempre inserir uma linha.
- O campo TRKORR deve ter o valor fixo com o ID da request.
Um pouco de excel!
Vamos montar um arquivo conforme a lista de campos da nossa estrutura.
Para isto, vamos utilizar o arquivo da RPDASC00, e o excel.
planilha de carga
Em azul temos a regra original extraída do RSDASC00 e colada no excel.
A parte da direita da tabela, apena separamos, via fórmula, cada campo da regra.
Estas são as fórmulas de cada coluna:
Coluna |
Fórmula |
B | =ARRUMAR(EXT.TEXTO($A3;B$1;B$2)) |
C | =ARRUMAR(EXT.TEXTO($A3;C$1;C$2)) |
D | =ARRUMAR(EXT.TEXTO($A3;D$1;D$2)) |
E | =ARRUMAR(EXT.TEXTO($A3;E$1;E$2)) |
F | =ARRUMAR(EXT.TEXTO($A3;F$1;F$2)) |
G | =ARRUMAR(EXT.TEXTO($A3;G$1;G$2)) |
H | =EXT.TEXTO($A3;H$1;H$2) |
I | =”A ” & J3 |
J | =SE(D3<>D2;10;J2+10) |
Agora é só copiar e colar as colunas B a I, sem header e colar em um arquivo txt para importação.
Agora basta informar o arquivo na LSMW e carrega-lo.
Ao executar a pasta batch-input selecione modo “exibir erros”.
Obrigado!
Eduardo Marcelino
Very good! Congraculations.
This will help me a lot!