Direktes Senden
Im Quellsystem wird bei der Ausgangsverarbeitung durch einen Funktionsbaustein der Anwendung ein Stammdaten-IDoc (z.B. zum Nachrichtentyp DEBMAS des Kundenstamms bzw. zum Nachrichtentyp CREMAS des Lieferantenstamms) aufgebaut und an die ALE-Schicht weitergeleitet . In diesem Fall muß die Anwendung zusätzlich den Aufbau des abhängigen Adreß-IDocs initiieren. Dazu dienen die Funktionsbausteine
MASTERIDOC_CREATE_REQ_ADRMAS für Organisationsadressen
MASTERIDOC_CREATE_REQ_ADR2MAS für Personenadressen
MASTERIDOC_CREATE_REQ_ADR3MAS für Arbeitsplatzadressen
der Business Address Services, die entsprechend aufgerufen werden müssen. Diese ermitteln ausgehend vom Objekttyp und Objektkey die lokale Adreßnummer (Personennummer) und füllen die BAPI-Strukturen der BAS mit den Daten zu dieser Nummer. Für die Bestimmung der Adreßnummer muß die Anwendung einen Callback-Funktionsbaustein mit Eingabeparametern zum Verwendungsnachweis und der Adreß- / Personennummer als Ausgabeparameter zur Verfügung stellen und den Funktionsbaustein über die Transaktion SM30 in der Tabelle TSADRV eintragen.
Für Adreßtyp 1 ist der Name des Callback-Funktionsbausteins im Feld FUNC_AD1 einzutragen. Als Vorlage für die Schnittstelle dient der Baustein ADDR_BUS000_GET_ADDR1_KEY.
Für Adreßtyp 2 ist der Name des Callback-Funktionsbausteins im Feld FUNC_AD2 einzutragen. Als Vorlage für die Schnittstelle dient der Baustein ADDR_BUS000_GET_ADDR2_KEY.
Für Adreßtyp 3 ist der Name des Callback-Funktionsbausteins im Feld FUNC_AD3 einzutragen. Als Vorlage für die Schnittstelle dient der Baustein ADDR_BUS000_GET_ADDR3_KEY.
Die so definierten Callback-Funktionsbausteine dienen auch bei der Einbuchung (SAVEREPLICA-BAPIs) und den anderen BAPIs der BAS (Change, GetDetail) zur Ermittlung der lokalen Adress- und Personennummer.
Nachdem die obigen BAS-Funktionsbausteine die BAPI-Strukturen gefüllt haben, werden gemäß dem ALE-Verteilungsmodell die Empfänger ermittelt und abhängig vom Adreßtyp die Funktionsbausteine ALE_ADDRESSORG_SAVEREPLICA, ALE_ADDRESSPERS_SAVEREPLICA und ALE_ADDRCONTPART_SAVEREPLICA aufgerufen, welche die BAPI-Strukturen in IDocs umwandeln.
Zur Ermittlung der Empfänger im ALE-Customizing übergibt der BAS-Funktionsbaustein dem Funktionsbaustein ALE_ASYNC_BAPI_GET_RECEIVER neben Objekttyp (BUS4001, BUS4002 oder BUS4003) und Methode (Savereplica) eine Tabelle mit Filterobjektwerten. Mit Hilfe dieser Filterobjektwerte kann im Verteilungsmodell eine geeignete Verknüpfung zwischen dem Stammobjekt und dem Adress-IDoc definiert werden. Beispielhaft kann dies anhand des Vorschlagsmodells für Kunden und Lieferanten nachvollzogen werden (siehe auch: Einstellungen im ALE-Customizing).
Als Filterobjektwerte werden übergeben:
Adreßtyp 1
AD_OBJTYPE |
Der Objekttyp des Owners |
AD_OBJKEY |
Der Objektschlüssel des Owners |
AD_CONTEXT |
Die semantische Bedeutung der Adresse |
Im Sonderfall des Kundenansprechpartners (Objekttyp BUS1006001) werden zusätzlich Objekttyp (AD_OBJTYPE2) und Objektschlüssel (AD_OBJKEY2) des Objekts, auf den der Ansprechpartner referenziert (= Kunde), übergeben, da der Kundenansprechpartner kein eigenes Verteilungsobjekt besitzt, sondern mit dem Kundenstamm verteilt wird. Die Werte dafür werden mittels des Funktionsbausteins WY_KNVK_REF_OBJTYPE_ID ermittelt.
Adreßtyp 2
Die Filterobjektwerte werden genau analog zu Adresstyp 1 ermittelt |
Adreßtyp 3
AD_OBJTYPE |
Der Objekttyp des Owners |
AD_OBJKEY |
Der Objektschlüssel des Owners |
AD_CONTEXT |
Die semantische Bedeutung der Adresse |
AD_OBJTYP1 |
Der Objekttyp des übergeordneten Objekts |
AD_OBJKEY1 |
Der Objektschlüssel des übergeordneten Objekts |
Damit bei der Auswahl des Filterelements "Objektschlüssel des Owners" während der Definition einer Verteilungsmodellsicht die möglichen Nachrichtentypen der Anwendung (z.B. DEBMAS, CREMAS) zugeordnet werden können, ist es nötig, daß die Abhängigkeit zwischen den SAVEREPLICA-Methoden und dem Nachrichtentyp von den Anwendungsentwicklern über die Transaktion BD48 gepflegt wird.