Hallo zusammen,
folgendes Problem: Es sollen HR-Personalstammdaten und Organisationsstammdaten (Objekttypen O, S, C, P) mittels Nachrichtentyp HRMD_A und Programm RHALEINI von drei dezentralen Quellsystemen in ein zentrales Zielsystem verteilt werden. Hierbei ist eine Manipulation der Key-Felder (Objekt-ID´s) der zu verteilenden Objekte notwendig (da sich die Nummernkreisintervalle der drei Quellsysteme teilweise überlappen).
Nach langer Suche bin ich auf die SAP-Erweiterung KKCD0001 (Transaktion CMOD) aufmerksam geworden. Mit Hilfe des User-Exit EXIT_SAPFKCIM_001 dieser Erweiterung, ist es möglich, die ALE-Sendestruktur zu beeinflussen.
Leider habe ich nun Probleme mit dem entsprechenden Coding, da ich im ALE-Umfeld nicht so versiert bin. Wie könnte dieses exemplarisch für das beschriebene Szenario aussehen? Der Dokumentation zur Erweiterung entnehme ich folgendes Mustercoding:
*------------------------------------------------------------*
* INCLUDE ZXKKCU01 *
*------------------------------------------------------------*
* transformation of fields for a special data transfer
data:
s like rkctdeu, " structure to be used for sender set
begin of dateval,
day(2) type c,
month(6) type c,
year(2) type c,
end of dateval,
begin of sapdate,
year(4) type c,
month(2) type c,
day(2) type c,
end of sapdate.
case REPID.
when ‚DEUBA‘.
move sender_set to s. " assign sender_set type s " (i.e., rkctdeu)
* calculation of transport date
dateval = s-trans_date.
move dateval-day to sapdate-day.
concatenate ‚19‘ dateval-year into sapdate-year.
translate dateval-month to upper case.
if dateval-month cs ‚SEP‘.
sapdate-month = ‚09‘.
else.
sapdate-month = ‚10‘.
endif.
s-trans_date = sapdate.
when ‚DREBA‘.
* different treatment of transport date
* …
when others.
* special case: unknown sender structure
* …
endcase.
move s to sender_set.
* perform the general move:
move sender_set to sender_set_new.