Hallo zusammen,
ich brauche eure Hilfe.
Wir möchten Daten von einem Mandanten in einen anderen Mandanten im gleichen System einspielen. Dies geschieht mittels ALE.
Folgendes Problem: Die Kreditoren werden über den Nachrichtentyp CREMAS verschickt, es werden IDocs produziert und auf der Empfängerseite eingespielt.
Dies klappt soweit alles wunderbar.
Jetzt müssen manche Daten im Stammsatz allerdings umgeschlüsselt werden. Vorgabe ist, dass dies über LSMW geschehen soll, welche auf eine eigene Tabelle im SAP zugreifen soll. Mit LSMW habe ich allerdings überhaupt keine Erfahrung.
Jetzt möchte ich probeweise mal die Kreditorennummer einfach umschlüsseln.
In der Tabelle gibt es jetzt die Felder MANDT, LIFNR_ALT und LIFNR_NEU.
Über die Transaktion LSMW habe ich ein Projekt angelegt.
- 1. Bei den Objektattributen habe ich bei IDoc den Nachrichtentyp (CREMAS) und Basistyp (CREMAS03) gepflegt.
2. Bei der Quellstruktur habe ich den Namen meiner Tabelle angegeben
3. Danach habe ich die Quellfelder (Mandt, Lifnr_alt und Lifnr_neu) angelegt.
4. Unter dem Punkt "Strukturbeziehungen pflegen" habe ich der Struktur E1LFA1M meine Tabelle zugewiesen.
5. Beim Fieldmapping habe ich dem Feld E1LFA1M-Lifnr das Quellfeld "eigene Tabelle-Lifnr_neu" zugewiesen
6. Danach habe ich eine eigene Routine definiert:
Code: Alles auswählen.
FORM formname
USING p_in1
p_in2
CHANGING p_out.
* aus alter Kreditorennummer die neue LIFNR auslesen
select single lifnr_neu from tabelle
into p_out
where objart = p_in1
and lifnr_alt = p_in2.
ENDFORM.
Danach kommen Punkt über Dateien mit denen ich nichts anzufangen weiß.
Wenn ich hier eine Textdatei hinterlege, die auch die Felder Mandt, Lifnr_alt und Lifnr_neu enthält,
dann wird ja nicht mehr auf meine Tabelle im SAP zugegriffen, oder doch?
Kann mir jemand weiterhelfen?
Ziel ist es, dass vor dem Einspielen der IDocs in meinem Beispiel die Kreditorennummer verändert wurde.
Vielen Dank im Voraus.
Gruß
Mrs. Hilflos