Steg-för-steg SAP Lsmw Developer Guide

Basics

LSMW är ett standard SAP-verktyg för att göra alla typer av massdataändringar. Det har ett antal sätt att uppdatera data i systemet:

  • BAPI
  • IDOC
  • Batchinspelning
  • direktinmatning

BAPI är det snabbaste sättet, men det finns ett begränsat antal BAPIs tillgängliga för kunden.

i 99% fall använder vi Batchinspelning som fungerar som makron i MS Excel/Word. Systemet följer användarens steg, inspelning skärm för skärm. När detta är gjort kartlägger vi datafilen till dessa skärmar och datafält. Än systemet upprepar samma steg som användaren skulle göra manuellt.

organisera lsmw-projekt

i lsmw-transaktionen har vi projekt, delprojekt och objekt.

helst bör det finnas ett globalt projekt för rutinuppdateringar, ett för datamigrering.

delprojektet är något meningsfullt, som OM, PA, PT och PY för olika HR-områden. Eller det kan vara ett delprojekt för alla infotyper, oavsett.

ett objekt representerar vanligtvis vad som ändras: infotyp, bord eller något annat.

för att starta måste vi skapa alla tre enheter: projekt, delprojekt, objekt eller välja dem om de redan är skapade.

här är det viktigaste lsmw-fönstret. Steg ” definiera Objektattribut ”till” tilldela filer ” är inställningar, andra för körning för slutanvändaren.

lsmw anpassa steg

alla steg ska fortsätta en efter en i samma ordning som på skärmen.

definiera Objektattribut

här ställer vi in hur vi vill ladda data i systemet. Återigen, för 99% är det ’Batch Input Recording’. Vanligtvis skapar vi en ny inspelning för varje ny massändring. För att skapa en ny inspelning, klicka på knappen ’Recordings: Overview’ till höger.

innan vi börjar spela in måste vi se till att vi har alla data för alla fält till hands. När vi spelar in användaraktiviteter registrerar systemet alla steg. Om vi klickar på listan för att välja ett värde för något fält kommer det också att spelas in. Vi vill inte att systemet ska spela in dessa skärmar med hjälpvärden.

Klicka På Skapa. Det är en bra praxis att ge prefix för inspelningar som här r står för inspelning.

för OM – modul (infotyper 1000-1999) vi pp02 transaktion.

Var uppmärksam vi anger Alla data utan att använda några hjälpvärden eller listor.

Klicka På Skapa.

Klicka På Spara. Avsluta sedan transaktionen.

systemet tar oss tillbaka till inspelningen. Klicka på ’Standard alla’ knappen för att fylla fältnamn automatiskt. Vi kommer att använda dessa namn i kartläggningsregler.

spara och gå tillbaka till huvudskärmen med ’ändra Objektattribut’. Välj vår inspelning från listan.

spara och gå tillbaka till huvudmenyn.

definiera Källstrukturer

Källstrukturen återspeglar data från en fil. Om vi har en hierarki i en fil eller har flera filer att ladda på en gång skapar vi på struktur per varje dataenhet eller fil. Det är en bra praxis att använda ett prefix i namngivning, som här ZS – Z står för customer object, S – structure.

spara och gå tillbaka.

definiera källfält

källfält skapade för varje struktur. Det är en bra praxis att

  • hålla de verkliga filfälten ordning samma i källstrukturen
  • använd SAP-ordboksnamn i strukturen

Välj struktur och klicka på tabellikonen. Det är bekvämare att ange alla fält på en skärm.

ange alla fält som du vill ladda från filen. Om du har Fält med konstanta värden kan de utelämnas och definieras i senare steg som konstanter.

spara och återgå till huvudmenyn.

definiera Strukturrelationer

här måste vi definiera relationer mellan våra inspelningar och strukturer. Om det är en inspelning och struktur systemet föreslår relation. Allt vi behöver är att spara och återvända.

definiera fältmappning och Konverteringsregler

Detta är det mest komplicerade steget. Här definierar vi hur våra data från en fil (källstruktur) kartor till inspelningsfält. På skärmen ser vi alla inspelade fält från det första steget. För varje fält måste vi tilldela något värde. Det finns några alternativ:

knapp i verktygsfältet betydelse
källfält tar data från filen (källstruktur)
regel konverterar data med några fördefinierade konverteringsregler eller anpassad ABAP-kod
Initial lämna värde som är från infotyp logiken
konstant konstant värde
flytta kopiera ett fält eller en del av det
fast värde fast värde från någon fördefinierad lista
översättning konvertering genom mappning ”om det här värdet väljer du det värdet”

definiera fasta värden, översättningar, användardefinierade rutiner

här kan vi definiera fasta värden, översättningar eller ABAP-procedurer som används i föregående steg. För enkla uppgifter i 99% behövs detta inte.

ange filer

här skapar vi en filreferens.

klicka på äldre Data på datorn och klicka på Skapa. Det betyder att filen kommer att laddas ner från din dator, inte SAP-server.

fil-fullständig sökväg till fil.

namn-tekniskt namn. Använd prefix, som ZF.

beroende på fil Välj rätt avgränsare.

det är en bra praxis att ha fältnamn i den allra första raden i filen och följa ordningen från källstrukturen. Så kryssa i båda kryssrutorna under’ filstruktur ’ ram.

filen skulle se ut så här.

spara och avsluta.

tilldela filer

här tilldelar vi filreferens till källstrukturen. Vanligtvis är det en fil till en struktur.

spara och avsluta.

Läs Data

här läser systemet filen och konverterar till internt format på servern.

om filen är stor och vi vill testa vårt lsmw-projekt, avgränsa ett antal poster att läsa och bearbeta.

Display läsa Data

här kan vi dubbelkolla oss om filen organiserades korrekt och data placeras i rätt fält.

om du klickar på dataposten visar den postinnehåll som analyseras i källstrukturen.

konvertera Data

systemet konverterar data från källstrukturen till inspelningsstrukturen inklusive alla typer av kartläggning vi har gjort på ’Definiera fältmappning och Konverteringsregler’ steg.

Visa konverterade Data

samma som Visa läsa data steg men visar redan konverterade data. Dessa data kommer att matas in under simulering (batchingång).

skapa Batchinmatningssession

om du vill behålla alla inspelningar för dina poster markerar du ’Behåll batchinmatningsmappar’. Annars raderar systemet alla framgångsrika inspelningar. Endast misslyckades kommer att förbli i systemet tills de bearbetas.

kör Batchinmatningssession

SAP öppnar en SM35-transaktion med Batchinmatningssessioner.

Välj inspelningen och klicka på ’Process’.

för 1 post för att testa det rekommenderas att använda ’Process / förgrund’ som systemet visar varje steg på skärmen med data ifyllda.

Displayfel är bara att köra processen i förgrunden och sluta bara på fel, så att användaren kan reagera på något sätt.

vid en stor volym är det bättre att köra i bakgrunden. Det är det snabbaste sättet.

om posten inte bearbetades skulle det visa fel i loggen.

om vi dubbelklickar på inspelningen finns en flik med en logg. När Fel fixade (vanligast anställd eller OM objektet är låst av en annan användare) kan du starta om inspelningsprocessen. Den körs endast för felaktiga poster.

när alla fel har åtgärdats och inspelningen har bearbetats försvinner den från listan.

det betyder att inget mer fel inträffade och vi kan verifiera data.

Affärsscenariospecifika detaljer

det finns några scenariospecifika rekommendationer.

platt pa infotyper (som 0, 1, 2, etc.)

det är samma som förklarades ovan. För att ladda upp dessa infotyper använder PA30 transaktion.

tabell pa infotyper (8, 27)

dessa infotyper har tabeller, så laddningen är lite annorlunda. Innan vi laddar måste vi se till att vi vet max antal rader i uppladdningsdata. Om, låt oss säga, det finns max 3 rader (en per lönetyp eller kostnadscenter), än i vår inspelning måste vi fylla tre rader, så systemet skulle ge tre fält för lönetyper, priser etc. Om vi bara fyller den första raden har vi bara ett fält och poster med 2-3 rader hoppas över.

pa-åtgärder (PA40)

du måste se till att det inte finns några åtgärder i pa40-transaktionen som behöver du bläddra på skärmen. Om så är fallet måste du ändra användargruppsparametern i SU3 till UGR = 10 för att bara visa amerikanska åtgärder. Om detta är helt omöjligt kan åtgärder laddas i PA30 i infotype 0000.

systemtabeller uppdatering (som T510, T710 för priser ökar)

när du sparar data i dessa systemtabeller frågar den efter en transportbegäran. Dessutom frågar det bara första gången. Så transportförfrågningsskärmen visas under lsmw-inspelning och inte igen. LSMW kommer att försöka hitta data för den skärmen och kommer inte att hitta det kasta ett fel. För att undvika detta skapa parposter manuellt, spara dem i transportbegäran. Avsluta sedan inte sessionen, öppna LSMW, gör en inspelning och dataöverföring inom en session. System lagrar transportbegäran i sessionsminnet och ber inte om det förrän du avslutar. Så alla lsmw-aktiviteter kommer att utföras utan att kräva transportförfrågan eftersom den angavs under de första manuella datainmatningarna.

Flat om infotyp

Fortsätt som beskrivet ovan.

Tabell OM infotype

Fortsätt som beskrivs i tabell PA infotype avsnitt.

avancerade tekniker

SAP Lsmw Översättningsregler

avancerad lsmw använd exempel

lsmw fel när du arbetar med filer

så här laddar du flera filer i SAP LSMW

enkelt sätt att mass ändra något fält i SAP

så här kör du en funktionell modul med indata från textfil

Lämna ett svar

Lämna ett svar

Din e-postadress kommer inte publiceras.