Você está na página 1de 33

LSMW

LSMW

LEGACY SYSTEM MIGRATION WORKBENCH

LSMW

LSMW X Batch Imput (Excel)

LSMW é uma transação standard do SAP pela qual é possível desenvolver programas para carga de dados. Existem algumas vantagens essenciais na utilização de LSMW :

- Facilidade e Rapidez no desenvolvimento

- Carga com um número bem maior de registros (65000)

- Facilidade na montagem de arquivos para carga

- Permite utilização de programação

- Maior rapidez e precisão da carga

Vale ressaltar que o SAP entende cada LSMW como um programa. Sendo assim o procedimento de desenvolvimento é o mesmo de um produto : Criação em ambiente de desenvolvimento com geração de request, necessitando transporte para produção.

Algumas transações podem não permitir a criação de LSMW’s onde um ponto importante seria a atenção na hora da criação e mapeamento, pois cada caso é um caso.

LSMW

TRANSAÇÃO LSMW - CRIANDO

Observação! Os printscreens usados nesta apostila são da versão SAP 4.7 e podem diferir em outras versões.

A transação utilizada para a criação e execução é a mesma -> LSMW.

A versão mais atual é a 4.0.0 de (01.07.2001).

LSMW . A versão mais atual é a 4.0.0 de (01.07.2001). Project – Grupo de LSMWs

Project – Grupo de LSMWs Subproject – Sub Grupo (Módulo) Object - LSMW

Antes de mais nada precisamos criar um grupo e um sub grupo a qual o LSMW estará relacionado.

Clique em

.
.
um sub grupo a qual o LSMW estará relacionado. Clique em . Preencha os campos com:

Preencha os campos com:

Nome do Projeto Descrição do Projeto Nome Subprojeto Descrição Subprojeto Nome Objeto (LSMW) Descrição Objeto (LSMW)

Clique em

para começar a desenvolver o LSMW.Descrição do Projeto Nome Subprojeto Descrição Subprojeto Nome Objeto (LSMW) Descrição Objeto (LSMW) Clique em 3

LSMW

Exemplo Utilizado :

Carga de Materiais em Massa – Transação MB1C

Utilizado : Carga de Materiais em Massa – Transação MB1C Este é o menu da transação,

Este é o menu da transação, onde no desenvolvimento temos os passos numerados que nos ajudarão no desenvolvimento. Duplo clique para selecionar o passo.

LSMW

Passo 1 : Maintain Object Attributes

Este passo consiste na simulação do processo, onde o sistema gerará um recording com o mapeamento dos campos para carga.

Clique em

Selecione

Clique em

do processo, onde o sistema gerará um recording com o mapeamento dos campos para carga. Clique
5
5

LSMW

Clique em

LSMW Clique em para iniciar uma criação de uma nova simulação (recording). Preencha os campos com

para iniciar uma criação de uma nova simulação (recording).

iniciar uma criação de uma nova simulação (recording). Preencha os campos com : Recording: Nome do

Preencha os campos com :

Recording: Nome do Recording (Simulação) . Description: Descrição do Recording (Simulação)

. Description: Descrição do Recording (Simulação) Entre com a transação que será utilizada. ATENÇÃO: A

Entre com a transação que será utilizada.

ATENÇÃO:

A transação será aberta e você deverá realizar o processo que você deseja automatizar para

carga em massa. Faça o processo pelo menor caminho possível tomando cuidado com os botões que são acionados e dados que são passados para que caminhos e campos desnecessários não sejam mapeados.

O mapeamento de transações varia de caso para caso, mas normalmente o recording (simulação)

é encerrado ao clique do botão

. .
.
.

LSMW

LSMW Preste atenção na tela acima. Não foram mapeados somente os campos na qual informamos mas

Preste atenção na tela acima. Não foram mapeados somente os campos na qual informamos mas sim todos os campos utilizados no processo. O trabalho que temos agora é analisar os campos que realmente nos interessam, ou seja, devemos excluir campos automáticos e desnecessários. Muito cuidado e atenção para esta análise.

Para facilitar nossa análise e para dar continuidade ao mapeamento clique no botão

.
.

7

LSMW

LSMW Como você pode ver, os nomes dos campos e de scrições apareceram, o que facilita

Como você pode ver, os nomes dos campos e descrições apareceram, o que facilita bastante nossa análise. Preste atenção que há campos que neste caso não há necessidade como :

BLDAT – Data no Documento BUDAT – Data de Lançamento no documento

Estes campos são gerados automaticamente pelo sistema, pela data atual. Então podemos eliminar do mapeamento. Para isso selecione o campo desejado e clique em

Para isso selecione o campo desejado e clique em . Note que há campos mapeados com

.

Note que há campos mapeados com ‘ X ‘. Preste muita atenção nestes casos. Em algumas transações estes equivalem aos “ENTER” que damos no mapeamento. Em outros casos equivalem aos flags em um CHECKBOX. Analise a necessidade de estar mapeando ou não estes X, caso não haja necessidade você pode elimina-los também.

Finalizada esta análise basta salvar

necessidade você pode elimina-los também. Finalizada esta análise basta salvar o mapeamento e clique em voltar

o mapeamento e clique em voltar

necessidade você pode elimina-los também. Finalizada esta análise basta salvar o mapeamento e clique em voltar

.

necessidade você pode elimina-los também. Finalizada esta análise basta salvar o mapeamento e clique em voltar

8

LSMW

Todos os mapeamentos (recordings) associados ao mesmo projeto aparecerá neste tela, possibilitando consulta e alteração dos mesmos.

Clique em voltar

consulta e alteração dos mesmos. Clique em voltar novamente. Voltando a esta tela associe ao campo

novamente.

Voltando a esta tela associe ao campo Recording o nome do mapeamento desejado.

Voltando a esta tela associe ao campo Recording o nome do mapeamento desejado. Clique em salvar

Clique em salvar

Voltando a esta tela associe ao campo Recording o nome do mapeamento desejado. Clique em salvar

e depois em voltar

Voltando a esta tela associe ao campo Recording o nome do mapeamento desejado. Clique em salvar

.

LSMW

Passo 2 : Maintain Source Structures

Neste segundo passo precisamos saber o que precisamos passar como parâmetro e o que terá valor fixo. Como assim? Por exemplo, neste nosso caso temos os seguintes campos que foram mapeados no passo 1 :

Tipo de movimento Centro Depósito Nº do material Quantidade na unidade de medida do registro Unidade de medida do registro Data da produção do lote

Precisamos analisar qual a nossa necessidade. Se na sua carga você terá somente um tipo de

movimento (Ex – 561) não tem porque enviarmos sempre como parâmetro, sendo assim poderíamos

deixar o valor como fixo. O mesmo pode acontecer para Centro, Unidade de Medida, Depósito

isso vai variar de acordo com a sua necessidade. Por isso nesta segunda fase tenha já detalhado o que será enviado como parâmetro, ou seja, o que não será fixo. Mais pra frente abordaremos mais detalhadamente como funciona o processo de passagem de parâmetros. Neste segundo passo precisamos definir o nome de uma estrutura que receberá os parâmetros, ou seja, uma espécie de tabela temporária que receberá os dados importados da nossa planilha excel.

Mas

receberá os dados importados da nossa planilha excel. Mas Clique em . Clique em . Você

Clique em

.
.
Clique em .
Clique em
.
da nossa planilha excel. Mas Clique em . Clique em . Você pode escolher qualquer nome

Você pode escolher qualquer nome para a tabela, mas geralmente nomeamos como “ARQUIVO”.

Clique em salvar

escolher qualquer nome para a tabela, mas geralmente nomeamos como “ARQUIVO”. Clique em salvar e depois

e depois em voltar

escolher qualquer nome para a tabela, mas geralmente nomeamos como “ARQUIVO”. Clique em salvar e depois

.

LSMW

Passo 3 : Maintain Source Fields

Uma vez definido o nome da estrutura precisamos precisamos agora defini-la com os campos que serão passados como parâmetros, ou seja, criaremos uma espécie de tabela temporária que receberá os dados importados da nossa planilha excel.

que receberá os dados importados da nossa planilha excel. Selecione o nome (ARQUIVO) e clique em

Selecione o nome (ARQUIVO) e clique em

.
.
que receberá os dados importados da nossa planilha excel. Selecione o nome (ARQUIVO) e clique em

Clique em

.
.
que receberá os dados importados da nossa planilha excel. Selecione o nome (ARQUIVO) e clique em

11

LSMW

Temos que preencher os campos baseados na estrutura já existente no SAP. Para isso, na própria transação em questão clique no campo e tecle F1 .

no SAP. Para isso, na própria transação em questão clique no campo e tecle F1 .

De dois cliques no nome do campo .

no SAP. Para isso, na própria transação em questão clique no campo e tecle F1 .

12

LSMW

Abrirá uma estrutura default dos campos do SAP. Nesta tela você deverá copiar :

Nome do Campo (Componente) e o Número de Casas (Comprimento). Isso vale para todos os campos.

Assim, os campos :

Field Name = Componente Type = C (char) – Para todos os campos Length = Número de Casas (Comprimento) Field Label = Descrição (Qualquer sobre o campo)

.

Clique em salvar

e depois em voltar

= Descrição (Qualquer sobre o campo) . Clique em salvar e depois em voltar Clique em

Clique em salvar

e depois em voltar

.

LSMW

Passo 4 : Maintain Source Fields

LSMW Passo 4 : Maintain Source Fields Para este passo apenas entre na Opção Maintain S
LSMW Passo 4 : Maintain Source Fields Para este passo apenas entre na Opção Maintain S

Para este passo apenas entre na Opção Maintain Souce Fields e retorne O sistema associará automaticamente o recording à tabela criada no passo 3.

a tela.

LSMW

Passo 5 : Maintain Field Mapping and Conversion Rules

LSMW Passo 5 : Maintain Field Mapping and Conversion Rules Precisamos agora relacionar os campos mapeados

Precisamos agora relacionar os campos mapeados com os valores que devem receber, sejam eles fixos ou não. Neste caso temos 8 campos mapeados. Para cada um você já deve saber se ele será passado como parâmetro ou terá valor fixo.

Antes de qualquer coisa clique em

ou terá valor fixo. Antes de qualquer coisa clique em para liberar a alteração. No primeiro

para liberar a alteração.

No primeiro campo por exemplo (Tipo de Movimento) teremos valor fixo = “561”. Para isso clique duas vezes sobre o nome do campo (coluna esquerda -> “BWARTWA”) .

o nome do campo (coluna esquerda -> “BWARTWA”) . Abrirá a seguinte tela com a mensagem

Abrirá a seguinte tela com a mensagem “* Target Field : NOME DO CAMPO + DESCRIÇÃO” Para atribuir o valor fixo apague tudo que venha antes do nome do campo ( * Target Field: ) e tudo que venha depois do nome do campo (descrição). Atribua o valor fixo ao nome do campo com o caracter igual e o valor entre Aspas simples. Assim :

campo (descrição). Atribua o valor fixo ao nome do campo com o caracter igual e o

LSMW

MB1C_REC-BWARTWA = ‘561’. Note a utilização do ponto final. Nunca esqueça de coloca-lo ao final de cada comando. Vale ressaltar que esta tela permite a utilização de programação, assim, com conhecimentos um pouco mais aprofundados em ABAP você poderia impor alguma condição, associar dado de alguma tabela, puxar a data do sistema e etc

Para campos não fixos, ou seja, que passaremos como parâmetro fazemos da seguinte forma :

Exemplo: (Número do Material)

Clique uma vez sobre o nome do campo.

Clique em

do Material) Clique uma vez sobre o nome do campo. Clique em Serão listados todos os
do Material) Clique uma vez sobre o nome do campo. Clique em Serão listados todos os

Serão listados todos os campos da estrutura que definimos no passo 3.

Selecione o campo que equivale ao campo desejado e clique em

Selecione o campo que equivale ao campo desejado e clique em . Faça esses processos para

.

Faça esses processos para todos os campos mapeados na tela e clique em

que equivale ao campo desejado e clique em . Faça esses processos para todos os campos

.

16
16

LSMW

LSMW

Passo 6 : Montando Arquivos para carga

Até aqui apenas criamos o LSMW. Dos passos 6 em diante estaremos aprendendo a executa-lo. Primeiramente precisamos montar o arquivo que desejamos carregar via LSMW. O tipo de arquivo mais utilizado e mais seguro para carga é o tipo CSV. O tipo CSV é um tipo de arquivo gerado pelo excel que separa os campos por “ponto e vírgula” ( ; ). Para começarmos a montar nosso arquivo precisamos voltar ao passo 3, onde especificamos os campos que passaremos como parâmetro para carga. Neste caso temos a seguinte estrutura:

para carga. Ne ste caso temos a seguinte estrutura: Note as ordens dos campos. Devemos bas

Note as ordens dos campos. Devemos basear nosso arquivo nesta estrutura. Abra um arquivo excel e preencha os dados nesta ordem.

Abra um arquivo excel e preencha os dados nesta ordem. Assim, exemplo : 9636 = Código

Assim, exemplo :

9636 = Código do Material 100 = Quantidade

140306

= Lote

140306

= Data de Produção

LSMW

Uma vantagem da utilização do LSMW é o número de registros para massa que tem sua limitação pela quantidade de linhas do excel (65.536 linhas).

Após o preenchimento das linhas desejadas salve o arquivo com a extensão CSV (separado por vírgulas).

e o arquivo com a extensão CSV (separado por vírgulas). O arquivo será formatado da seguinte

O arquivo será formatado da seguinte forma :

9636;100;140306;140306

44644;100;140306;140306

49450;100;140306;140306

41203;100;140306;140306

Os campos serão separados por ponto e vírgula.

Importante: Sempre que exportar um arquivo para CSV reabra ele com o bloco de notas e confira se não há “lixo” ao final do arquivo.

LSMW

Passo 7 : Specify Files

Voltemos agora para o SAP. Continuando na transação LSMW o próximo passo é associar o arquivo para carga. Clique duas vezes sobre Specify Files.

para carga. Clique duas vezes sobre Specify Files . Clique no 1º Legacy Data e aperte

Clique no 1º Legacy Data e aperte o botão

Files . Clique no 1º Legacy Data e aperte o botão para liberar a alteração do

para liberar a alteração do campo.

Legacy Data e aperte o botão para liberar a alteração do campo. Agora clique duas vezes

Agora clique duas vezes sobre o 1º Legacy Data .

LSMW

LSMW No campo FILE clique no botão e associe o arquivo .CSV que deseja dar carga.

No campo FILE clique no botão

LSMW No campo FILE clique no botão e associe o arquivo .CSV que deseja dar carga.

e associe o arquivo .CSV que deseja dar carga.

Obs –O SAP via CITRIX não enxerga sua máquina local, apenas diretórios da rede. Assim, se você não utiliza SAP local (GUI) disponibilize o arquivo na rede para a associação.

No campo NAME complete com “ARQUIVO”.

Na divisão Separators flegue a opção (x) Semi-Colon . Aqui estamos especificando que o LSMW entenderá campos diferentes separados por ponto e virgula, como formatado em nosso arquivo para carga.

LSMW

Assim nossa tela deverá ficar da seguinte forma:

LSMW Assim nossa tela deverá ficar da seguinte forma: Clique em . Clique em . 22

Clique em

.
.

Clique em

.
.

LSMW

Passo 8 : Assign Files

Se essa é a primeira vez que você estará rodando o LSMW você deve passar por este passo. Caso contrário você pode pular para o passo 9.

Aqui basta entrar em Assign Files com duplo clique

9. Aqui basta entrar em Assign Files com duplo clique O SAP associará automaticamente seu arquivo

O SAP associará automaticamente seu arquivo a estrutura criada no passo 3.

Clique em

Assign Files com duplo clique O SAP associará automaticamente seu arquivo a estrutura criada no passo

.

LSMW

Passo 9 : Import Data

Aqui estaremos importando os dados do nosso arquivo para o SAP.

estaremos importando os dados do nosso arquivo para o SAP. - Clique em (F8) para importar

- Clique em

importando os dados do nosso arquivo para o SAP. - Clique em (F8) para importar os

(F8) para importar os dados .

A seguinte tela será mostrada com o status da importanção. É importante conferir as quantidades de linhas que foram importadas.

conferir as quantidades de linhas que foram importadas. No nosso caso acusam 4 registros lidos e

No nosso caso acusam 4 registros lidos e 4 registros gravados (importados), que bate com a nosso arquivo original CSV.

Clique em

Clique em .

.

Clique em

Clique em .

.

24

LSMW

Passo 10 : Display Imported Data

Aqui estaremos conferindo se a importação e a divisão dos campos foi feita com sucesso.

importação e a divisão dos campos foi feita com sucesso. Clique em . Clique em qualquer

Clique em

e a divisão dos campos foi feita com sucesso. Clique em . Clique em qualquer linha

.

e a divisão dos campos foi feita com sucesso. Clique em . Clique em qualquer linha

Clique em qualquer linha (registro) para análise .

LSMW

LSMW Aqui você poderá conferir se os campos fo ram importados e separados de forma correta.

Aqui você poderá conferir se os campos foram importados e separados de forma correta.

Clique em

Clique em .

.

Clique em

Clique em .

.

LSMW

Passo 11 : Convert Data

Aqui estaremos convertendo nossos arquivos recém importados. Os campos mapeados e programados serão gerados.

Os campos mapeados e programados serão gerados. Clique em (F8) para converter os dados. A seguinte

Clique em

(F8) para converter os dados.Os campos mapeados e programados serão gerados. Clique em A seguinte tela será mostrada com o

A seguinte tela será mostrada com o status da conversão. É importante conferir as quantidades de linhas que foram convertidas.

confer ir as quantidades de linhas que foram convertidas. No nosso caso acusam 4 registros lidos

No nosso caso acusam 4 registros lidos e 4 registros gravados (convertidos), que bate com a nosso arquivo original CSV.

Clique em

Clique em .

.

Clique em

Clique em .

.

27

LSMW

Passo 12 : Display Converted Data

Aqui estaremos conferindo se a conversão e os campos programados foram gerados com sucesso.

e os campos programados foram gerados com sucesso. Clique em . Clique em qualquer linha (registro)

Clique em

e os campos programados foram gerados com sucesso. Clique em . Clique em qualquer linha (registro)

.

e os campos programados foram gerados com sucesso. Clique em . Clique em qualquer linha (registro)

Clique em qualquer linha (registro) para análise .

28

LSMW

,
,

Aqui são mostrados todos os campos que mapeamos inicialmente. É mostrado também as tabelas e transações envolvidas.

Caso tivéssemos algum campo programado como por exemplo a data do sistema ou algum dado de outra tabela, ele poderá ser visualizado analisado neste passo.

Clique em

Clique em .

.

Clique em

Clique em .

.

29

LSMW

Passo 13 : Create Batch Input Session

Aqui estaremos criando a pasta de Batch Input a ser executada porteriormente.

a pasta de Batch Input a ser executada porteriormente. Aqui você deverá alterar o campo “Name

Aqui você deverá alterar o campo “Name of Batch Input Folder(s)” para um nome qualquer desejado. Sugestão: Automaticamente é trazido um nome default (No nosso caso, “MB1C”). Este será o nome da pasta de BI a ser criada. Para melhor controle nomeia a pasta com algo que a identifique melhor.

Exemplo: LSMW_MB1C

Flegue a opção “Keep Batch Input Folder(s)?”. Assim a pasta de BI continuará existindo ao termino da carga. Caso não esteja flegado e se não houver nenhum erro durante a carga a pasta sumirá da SM35.

Assim:

flegado e se não houver nenhum erro durante a carga a pasta sumirá da SM35. Assim:

Clique em

flegado e se não houver nenhum erro durante a carga a pasta sumirá da SM35. Assim:

(F8) para criar a pasta.

LSMW

LSMW 31

LSMW

Passo 14 : Run Batch Input Session

Aqui você pode tanto clicar na opção ou ir direto na transação SM35, filtrando pelo nome da pasta que acabou de criar.

SM35, filtrando pelo nome da pasta que acabou de criar. O status informa que a pasta

O status

filtrando pelo nome da pasta que acabou de criar. O status informa que a pasta está

informa que a pasta está disponível para execução.

Selecione a pasta e clique em

que acabou de criar. O status informa que a pasta está disponível para execução. Selecione a

.

que acabou de criar. O status informa que a pasta está disponível para execução. Selecione a

32

LSMW

Flegue as seguinte opções :

(x)

Background

(x)

Log ampliado

Obs - Caso queira efetuar um teste com processamento visível deixe flegado a opção Processamento Visível.Flegando a opção Background a carga ocorrerá em modo “Invisível” onde será gerado um JOB que poderá ser acompanhado pela transação SM37.

Clique em

.
.

Caso a opção tenha sido Background consulte o andamento do Job pela transação SM37. O nome do job criado assume o mesmo nome da pasta criada.

Ao final, consulte a SM35 para a verificação do sucesso do Batch e/ou visualização de erros ocorridos.