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