IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

258
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Release 4.6C HELP.BCSRVEDI

Transcript of IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Page 1: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / ElectronicData Interchange (BC-SRV-EDI

Release 4 .6C

HE

LP

.BC

SR

VE

DI

Page 2: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

2 April 2001

Copyright

© Copyright 2001 SAP AG. Alle Rechte vorbehalten.

Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchemZweck und in welcher Formauch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. Indieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändertwerden.

Die von SAP AG oder deren Vertriebsfirmen angebotenen Software-Produkte können Software-Komponenten auch anderer Software-Hersteller enthalten.

Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® und SQL Server® sind eingetrageneMarken derMicrosoft Corporation.

IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®,AS/400®, OS/390® und OS/400® sind eingetragene Marken der IBM Corporation.

ORACLE® ist eine eingetragene Marke der ORACLE Corporation.

INFORMIX®-OnLine for SAP und Informix® Dynamic ServerTM

sind eingetragene Marken derInformix Software Incorporated.

UNIX®, X/Open®, OSF/1® und Motif® sind eingetragene Marken der Open Group.

HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C®, World WideWeb Consortium,Massachusetts Institute of Technology.

JAVA® ist eine eingetragene Marke der Sun Microsystems, Inc.

JAVASCRIPT® ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter derLizenz der von Netscape entwickelten und implementierten Technologie.

SAP, SAP Logo, R/2, RIVA, R/3, ABAP, SAP ArchiveLink, SAP Business Workflow, WebFlow,SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo und mySAP.comsind Marken oder eingetragene Marken der SAP AG in Deutschland und vielen anderen Ländernweltweit. Alle anderen Produkte sind Marken oder eingetragene Marken der jeweiligen Firmen.

Page 3: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

April 2001 3

Symbole

Symbol Bedeutung

Achtung

Beispiel

Empfehlung

Hinweis

Syntax

Tip

Page 4: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

4 April 2001

Inhalt

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI) ................................ 8Verarbeitung von IDocs .............................................................................................................................10Ausgangsverarbeitung ..............................................................................................................................11

Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)...........................................................12Ausgangsverarbeitung unter NAST: Vorgehen .................................................................................14Ausgangsverarbeitung unter NAST: Technische Realisierung .........................................................15

Die direkte Ausgangsverarbeitung..........................................................................................................16Direkte Ausgangsverarbeitung: Vorgehen.........................................................................................17Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall .............................................18

Eingangsverarbeitung ...............................................................................................................................19Eingangsverarbeitung: Vorgehen ...........................................................................................................21Eingangsverarbeitung: Technische Realisierung....................................................................................22

Statusverarbeitung.....................................................................................................................................24Eingangsverarbeitung von SYSTAT01 ...................................................................................................26

Ausnahmebehandlung...............................................................................................................................27Ausnahmebehandlung: Vorgehen ..........................................................................................................29Rollenauflösung in der Ausnahmebehandlung .......................................................................................31

Kommunikation mit älteren Releases/Systemen oder R/2-Systemen ..................................................34Lange Namen..........................................................................................................................................36Einsatz von Erweiterungen .....................................................................................................................37

Ports einrichten ..........................................................................................................................................40Dateischnittstelle........................................................................................................................................42

Dateischnittstelle: Betriebssysteme vorbereiten .....................................................................................43Ausgang: Folgesystem triggern ..............................................................................................................44Eingang: SAP System triggern................................................................................................................46Statusrückmeldung: SAP System triggern..............................................................................................49Porttyp Datei: Portbeschreibung pflegen ................................................................................................52

CPI-C Verbindung zum R/2-System..........................................................................................................54Porttyp CPI-C: R/2- und R/3-System koppeln.........................................................................................56Porttyp CPI-C: Portbeschreibung pflegen...............................................................................................58Porttyp CPI-C (Eingang): Reports einplanen ..........................................................................................60

Porttyp Internet...........................................................................................................................................62Porttyp Internet: SAPconnect einrichten .................................................................................................64Porttyp Internet: Adresse für Internet einrichten .....................................................................................65Porttyp Internet: Portbeschreibung pflegen ............................................................................................66

ABAP Programmierschnittstelle (PSS) ....................................................................................................67Porttyp XML ................................................................................................................................................68

Porttyp XML: Portbeschreibung pflegen .................................................................................................69Partner vereinbaren ...................................................................................................................................70Sinn und Zweck der Vorgangscodes .......................................................................................................71

Vorgangscode Ausgang..........................................................................................................................72Vorgangscode Eingang...........................................................................................................................73Vorgangscode System ............................................................................................................................74Vorgangscode Status..............................................................................................................................75

Partnervereinbarungen im Standarddialog .............................................................................................76

Page 5: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

April 2001 5

Allgemeine Partnervereinbarung anlegen...............................................................................................77Ausgangspartnervereinbarung anlegen..................................................................................................78

Zusätzliche Parameter beim Ausgang unter NAST...........................................................................81Partnervereinbarung Eingang .................................................................................................................84

Partnervereinbarung prüfen......................................................................................................................86Schnellerfassung in den Partnervereinbarungen...................................................................................87Die Programmierschnittstelle (API) der Partnervereinbarung...............................................................88Partnervereinbarungen verschicken........................................................................................................92Partnervereinbarungen drucken..............................................................................................................93Test der Verarbeitung ................................................................................................................................94Testwerkzeug..............................................................................................................................................96

Testwerkzeug Ausgang: Vorgehen.........................................................................................................98Testwerkzeug Eingang: Vorgehen..........................................................................................................99

Test: Ausgang ab NAST ..........................................................................................................................100Test: Ausgang ab IDoc ............................................................................................................................101Test: Eingang Statusdatei .......................................................................................................................102

Statusdatei erzeugen ............................................................................................................................103Test: Eingang modifizierte Ausgangsdatei ...........................................................................................104Test: Eingang Original-Eingangsdatei ...................................................................................................105Test: Verarbeitungszyklus mit dem CATT .............................................................................................106Überwachung/Monitoring ........................................................................................................................108IDoc-Statistik.............................................................................................................................................109

Statistik erstellen: Standardauswertung................................................................................................111Statusgruppen ändern...........................................................................................................................112Statistik: Technische Realisierung ........................................................................................................113

IDoc-Listen ................................................................................................................................................114IDoc-Listen: Fehler lokalisieren.............................................................................................................115IDoc-Listen: Zeitliche Verteilung anzeigen............................................................................................116IDoc-Listen: Verteilung der Warnfarben anzeigen................................................................................117IDoc-Listen: Verteilung der Nachrichten anzeigen................................................................................118Warnfarben Statusgruppen zuordnen...................................................................................................119

IDoc-Anzeige.............................................................................................................................................120IDoc-Suche................................................................................................................................................122Aktives Monitoring ...................................................................................................................................124

Aktives Monitoring konfigurieren...........................................................................................................125Monitoring-Job einplanen (Beispiel)......................................................................................................126

Archivierung von IDocs ...........................................................................................................................127Archivierbare Status anzeigen oder ändern..........................................................................................128Archivierungsfunktionen für IDocs ........................................................................................................129

IDocs archivieren und löschen..............................................................................................................131Archiv zurückladen................................................................................................................................133Details einer Archivdatei anzeigen........................................................................................................134IDoc-Nummern im Archiv auflisten........................................................................................................135Einzelanzeige über SAP AS (BC-SRV-EDI) .........................................................................................136IDoc-Suche............................................................................................................................................137

Archivierung: Technische Realisierung ................................................................................................139Archivierung: Beschreibung der Standardreports .................................................................................141

Verknüpfungen mit IDocs löschen .........................................................................................................143

Page 6: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

6 April 2001

Aufbau, Dokumentation und Definition von IDoc-Typen .....................................................................145Aufbau eines IDocs ..................................................................................................................................146

Aufbau eines IDocs: Technische Realisierung .....................................................................................148Dokumentationswerkzeuge.....................................................................................................................150

Allgemeinen Aufbau (IDoc-Satzarten) anzeigen...................................................................................151IDoc-Typ- oder Segmentdokumentation anzeigen ...............................................................................152Ein IDoc mittels XSL-Stylesheet anzeigen............................................................................................154Dokumentation übersetzen ...................................................................................................................155

Neue IDoc-Typen definieren....................................................................................................................157Wichtige Begriffe ...................................................................................................................................158

Basistyp, Erweiterung, IDoc-Typ......................................................................................................159Segmenttyp und Segmentdefinition.................................................................................................160Kundenerweiterung, SAP- und Kundenentwicklung........................................................................161Versionierung und Freigabeverfahren .............................................................................................162Namensräume .................................................................................................................................163

Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente.......................................164Designrichtlinien beim Erstellen neuer IDoc-Typen..............................................................................166Segmenteditor .......................................................................................................................................167

Segmente ändern ............................................................................................................................168Segment definieren..........................................................................................................................169

IDoc-Typ-Editor .....................................................................................................................................171IDoc-Sichten..........................................................................................................................................172Das API zur IDoc-Typ- und Segmentdefinition .....................................................................................173Erweiterung eines IDoc-Typs ................................................................................................................176

Segmente zusammenstellen............................................................................................................178Basistyp erweitern............................................................................................................................179Nachrichtentyp Basistyp und Erweiterung zuordnen.......................................................................181Ausgangsfunktionsbaustein erweitern .............................................................................................182Partnervereinbarungen ändern (Ausgang) ......................................................................................185Ausgang testen ................................................................................................................................186Eingangsfunktionsbaustein erweitern ..............................................................................................187Zuordnung des Funktionsbausteins erweitern (direkter Eingang) ...................................................189Partnervereinbarungen prüfen (Eingang) ........................................................................................190Eingang testen .................................................................................................................................191Neu definierte Objekte freigeben .....................................................................................................193

Definition und Verwendung eines Basistyps.........................................................................................194Allgemeine Definitionen ...................................................................................................................197

Segment definieren.....................................................................................................................198Basistyp definieren .....................................................................................................................200Nachrichtentyp Basistyp zuordnen .............................................................................................202Objekttyp definieren....................................................................................................................203

Ausgang einrichten (mit Nachrichtensteuerung)..............................................................................204Funktionsbaustein anlegen (Ausgang unter NAST) ...................................................................205Vorgangscode zuordnen (Ausgang)...........................................................................................211Partner vereinbaren (Ausgang) ..................................................................................................212Ausgang testen...........................................................................................................................213

Direkten Eingang einrichten (mit ALE).............................................................................................214

Page 7: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

April 2001 7

Funktionsbaustein anlegen (direkter Eingang) ...........................................................................215Eigenschaften des Funktionsbausteins pflegen .........................................................................226Funktionsbaustein zuordnen (direkter Eingang).........................................................................227Vorgangscode zuordnen (direkter Eingang)...............................................................................228Partner vereinbaren (direkter Eingang) ......................................................................................230Aufgabe anlegen (Ausnahme)....................................................................................................232Eingang testen............................................................................................................................234Ausnahmebehandlung testen.....................................................................................................236

Eingang über Workflow einrichten ...................................................................................................237Eingangsverarbeitung als Objektmethode definieren.................................................................238Aufgabe anlegen (Eingang über Workflow)................................................................................243Vorgangscode anlegen (Eingang über Workflow)......................................................................244Aufgabe anlegen (Ausnahme)....................................................................................................245Partner vereinbaren (Eingang über Workflow) ...........................................................................247Eingang testen............................................................................................................................248Ausnahmebehandlung testen.....................................................................................................250

Neu definierte Objekte freigeben .....................................................................................................251Suche nach Fehlern in der Workflow-Verarbeitung.........................................................................252

IDoc-Administration: Anwenderparameter............................................................................................253Zusätzliche Einstellungen .......................................................................................................................254IDoc-Administration im Customizing .....................................................................................................255Weiterleitung Eingang .............................................................................................................................256Dateinamen erzeugen ..............................................................................................................................257Prüfen von Partnern nach Partnerart .....................................................................................................258

Page 8: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)

8 April 2001

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)EinsatzmöglichkeitenÜber die IDoc-Schnittstelle werden betriebswirtschaftliche Daten mit einem Fremdsystemausgetauscht.

Die IDoc-Schnittstelle besteht aus der Definition einer Datenstruktur und einer Verarbeitungslogikfür diese Datenstruktur.

Die Datenstruktur ist das IDoc. Es ist das Austauschformat, auf den sich die kommunizierendenSysteme einigen. Mit IDocs können Sie eine Ausnahmebehandlung innerhalb des R/3 Systemsüber SAP Business Workflow definieren, ohne daß die Daten bereits als SAP Anwendungsbelegvorliegen müssen.

Sie benötigen die IDoc-Schnittstelle in folgenden Szenarien:

� Elektronischer Datenaustausch (EDI)

� Application Link Enabling (ALE)

� Kopplung beliebiger anderer betriebswirtschaftlicher Anwendungssysteme (z.B. PC-Anwendungen, externe Workflow-Tools) über IDoc.

FunktionsumfangUnten aufgeführte Funktionen erreichen Sie alle aus dem Einstiegsknoten der IDoc-Schnittstelle: Vom R/3-Einstiegsbild wählen Sie Werkzeuge � Business Communication �IDoc � IDoc Basis ( ).

Verarbeitung von IDocs [Seite 10]

Der Abschnitt beschreibt die möglichen Wege in Eingangs- wie Ausgangsverarbeitung und dieStatusverarbeitung. Er wendet sich an Administratoren wie auch an die Endanwender.

Ports einrichten [Seite 40]

Hier wird die technische Kopplung an das externe System bis hinunter zur Betriebssystemebenebeschrieben. Das Einrichten von Ports ist Grundvoraussetzung für den Datenaustausch mit demexternen System. Der Abschnitt wendet sich an Administratoren.

Partner vereinbaren [Seite 70]

Eine weitere Voraussetzung für den Datenaustausch sind die Partnervereinbarungen: Hier wirdfestgelegt, wer welche Nachrichten über welchen Port mit dem R/3-System austauschen kann.Dieser Abschnitt wendet sich an Administratoren.

Test der Verarbeitung [Seite 94]

Die IDoc-Schnittstelle stellt Werkzeuge zum Testen der IDoc-Verarbeitung bereit. Sowohl beimEinsatz neuer Nachrichten wie auch bei Neudefinitionen von IDoc-Typen sollte getestet werden.Der Abschnitt wendet sich an Administratoren.

Überwachung/Monitoring [Seite 108]

Page 9: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)

April 2001 9

Es werden sowohl die passive (Verarbeitungsanzeige) als auch die aktive (Versand vonWarnungen und Hinweisen) Überwachung dokumentiert. Der Abschnitt wendet sich anAdministratoren wie auch an die Endanwender der Anwendung.

IDocs archivieren [Seite 127]

Hier werden die Möglichkeiten zur Archivierung von IDocs beschrieben. Der Abschnitt wendetsich an Administratoren.

Aufbau, Dokumentation und Definition von IDoc-Typen [Seite 145]

Hier werden die Möglichkeiten zur Kundenerweiterung von IDoc-Typen beschrieben. DerAbschnitt wendet sich an R/3 Entwickler und Administratoren.

Allgemeine KonfigurationIDoc-Administration: Anwenderparameter [Seite 253]

Dieser Abschnitt beschreibt diejenigen Parameter aus der IDoc-Administration, die häufiger zurKonfiguration im laufenden Betrieb geändert werden. Er wendet sich naturgemäß anAdministratoren.

Zusätzliche Einstellungen [Seite 254]

Sie haben noch zusätzliche Möglichkeiten, die Arbeitsumgebung Ihrer IDoc-Schnittstelle zukonfigurieren, obwohl dies im allgemeinen nicht nötig sein wird. Diese Möglichkeiten werden hieraufgelistet. Der Abschnitt wendet sich an Administratoren.

Page 10: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Verarbeitung von IDocs

10 April 2001

Verarbeitung von IDocsVerwendungDie Geschäftsdaten werden in der IDoc-Schnittstelle im IDoc-Format gespeichert und als IDocsweitergereicht. Falls Fehler auftreten, wird die Ausnahmebehandlung über Workflow-Aufgabenangestoßen. Die zuständigen, erlaubten Bearbeiter dieser Aufgaben werden in der IDoc-Schnittstelle definiert.

FunktionsumfangDie IDoc-Schnittstelle unterstützt drei Datenflüsse mit dem externen System:

� Ausgangsverarbeitung [Seite 11]

IDocs werden von Ihrem SAP System an ein Folgesystem übermittelt.

� Eingangsverarbeitung [Seite 19]

IDocs werden von einem vorgelagerten System an Ihr SAP System übermittelt.

� Statusverarbeitung [Seite 24]

Auf ausgehende IDocs wird der Verarbeitungsstatus im Folgesystem von diesem an IhrSAP System zurückgemeldet.

Bei den Datenflüssen IDoc-Ausgang und IDoc-Eingang werden Kontroll- und Datensätzeausgetauscht. Bei dem Datenfluß Statusrückmeldung werden Statussätze ausgetauscht(Ausnahme: Statusrückmeldung über den speziellen IDoc-Typ SYSTAT01).

Siehe auch:Ausnahmebehandlung [Seite 27]

Im Fehlerfall sind Ausnahmebehandlungen vorgesehen.

Rollenauflösung in der Ausnahmebehandlung [Seite 31]

Hier wird beschrieben, wie die zuständigen Bearbeiter eines Workitems in der IDoc-Schnittstelleermittelt werden.

Kommunikation mit älteren Releases [Seite 34]

Eventuell müssen hier zusätzliche Einstellungen im Customizing getätigt werden.

Page 11: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgangsverarbeitung

April 2001 11

AusgangsverarbeitungVerwendungIm Ausgang werden Belegdaten in IDocs geschrieben und an das Folgesystem versandt.

Funktionsumfang

Anwendung

NAST

Beleg

IDoc

NAST-Satz

IDoc

IDoc-Schnittstelle/ALE-Dienste

Folgesystem

Die Nachricht kann zwei verschiedene Wege von der Anwendung zur IDoc-Schnittstelle gehen:

� den indirekten Weg über die Nachrichtensteuerung [Seite 12] (NAST): Dabei werdeneine Reihe von Bedingungen (sogenannte Konditionen) geprüft, um die Nachricht zu“finden”. Ist eine dieser Bedingungen erfüllt, so wird die “gefundene” Nachricht über denentsprechenden NAST-Satz an die IDoc-Schnittstelle weitergeleitet. Über dieKonditionstechnik kann die NAST auch mehrere Nachrichten finden und versenden.Weitere Informationen zur NAST finden Sie unter R/3-Bibliothek �Anwendungsübergreifende Funktionen � Nachrichtensteuerung [Extern].

� den direkten Weg von der Anwendung zur Schnittstelle [Seite 16]. Dabei erzeugt dieAnwendung selbst ein IDoc, das über den FunktionsbausteinMASTER_IDOC_DISTRIBUTE an die IDoc-Schnittstelle übergeben wird.

Die IDoc-Schnittstelle kann die IDocs auf unterschiedlichen Wegen, den Empfängerports, an dasFolgesystem verschicken. Die Wahl des Ports hängt auch vom Folgesystem und der Hardwareab, auf dem es installiert ist. Beachten Sie hierzu auch den Abschnitt

Kommunikation mit älteren Releases [Seite 34]

Page 12: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)

12 April 2001

Die Ausgangsverarbeitung unter Nachrichtensteuerung(NAST)VerwendungIm Vertrieb (SD) und in der Materialwirtschaft (MM) werden Nachrichten (beispielsweise eineBestellung beim Lieferanten) üblicherweise über das Modul der Nachrichtensteuerung (NAST)

� gefunden und

� verarbeitet. Im Fall der IDoc-Verarbeitung heißt das, daß die Anwendungsdaten in IDocsgeschrieben werden.

VoraussetzungenWie bei jeder IDoc-Verarbeitung müssen Sie Ihre Partner vereinbaren [Seite 70]. Speziellmüssen Sie in den Partnervereinbarungen die Anwendung und die NAST-Nachrichtenarteindeutig einem IDoc-Typ zuordnen. Dies tun Sie mit den zusätzlichen Parametern beimAusgang unter NAST [Seite 81].

Aktivitäten� Die NAST “findet” eine oder mehrere Nachrichten, indem sie aus einer Menge an

vordefinierten Nachrichten die zum jeweiligen Geschäftsprozeß passende(n)heraussucht. Die Nachrichten sind in der Anwendung in sogenannten Konditionstabellendefiniert. Die gefundenen Nachrichten werden von der NAST “vorgeschlagen”: Daskönnen durchaus mehrere pro Beleg sein. In vielen Anwendungen können Sie dieNachrichten einsehen und verändern („bearbeiten“), bevor Sie die Daten freigeben, denBeleg buchen und die Nachrichten als IDocs versenden.

Im vorliegenden Fall (Nachrichtenverarbeitung durch IDoc-Versand) wird bei gefundenenNachrichten zusätzlich geprüft, ob der Nachrichtenpartner als Partner in der IDoc-Schnittstelle verarbeitet wurde. Nur wenn das der Fall ist, wird die Nachrichtvorgeschlagen und kann weiterverarbeitet werden. Viele Anwendungen stellen dieFindungsanalyse bereit, anhand derer man die Nachrichtenfindung zurückverfolgenund eventuelle Fehler aufspüren kann.

� Die NAST kann die Nachrichten sofort (nach Verbuchung des Anwendungsbeleges)verarbeiten. Sie können die gefundenen Nachrichten aber auch “von Hand” oder zueinem selbst gewählten Zeitpunkt im Hintergrund verarbeiten lassen. Da auch die IDoc-Schnittstelle die Wahl eines Zeitpunktes zur IDoc-Erzeugung ermöglicht, sollten diesebeiden Zeitpunkte sinnvoll kombiniert werden. Im Unterabschnitt “Vorgehen [Seite 14] “werden solche Kombinationen vorgestellt.

Im Einkauf soll eine Bestellung an den Lieferanten LIEF angelegt werden. DieBestellung soll sofort nach Verbuchung als IDoc vom Typ ORDERS01 über ein EDI-Subsystem versandt werden. Dazu wird in den Einkaufsstammdaten dieNachrichtenart “NEU” für LIEF vereinbart und der NAST-Versandzeitpunkt “4”(Ausgabe sofort mit Verbuchung) und das Sendemedium “EDI” festgelegt. In denPartnervereinbarungen der IDoc-Schnittstelle wird für LIEF der Ausgabemodus “IDocsofort übergeben” und “Subsystem sofort starten” eingetragen und der Kombination

Page 13: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)

April 2001 13

“Anwendung: Einkauf Bestellung”, “Nachrichtenart: NEU” die logische NachrichtORDERS zugeordnet. Dieser logischen Nachricht ist wiederum der IDoc-TypORDERS01 zugeordnet.

Siehe auch:Technische Realisierung [Seite 15]

Page 14: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgangsverarbeitung unter NAST: Vorgehen

14 April 2001

Ausgangsverarbeitung unter NAST: Vorgehen1. Nachrichtenfindung: Gehen Sie aus der Anwendung in die Stammdaten und legen die

betreffende Nachricht als Nachrichten- oder Konditionssatz an, d.h. Sie legen dieBedingungen fest, unter denen die Nachricht gefunden und vorgeschlagen werden soll,sowie deren Ausgabeeigenschaften. Als Bedingung können Sie etwa dieEinkaufsorganisation und den Handelspartner eingeben, als Ausgabeeigenschaften dasAusgabemedium (hier 6 für EDI), den Ausgabezeitpunkt und die Sprache, in der dieNachricht ausgegeben werden soll.

2. Nachrichtenverarbeitung durch IDoc-Versand: Die Nachrichten werden von der NAST soausgegeben, wie man es im Konditionssatz definiert hat, insbesondere auch zu demfestgelegten Versandzeitpunkt. Sie müssen in den Partnervereinbarungen der IDoc-Schnittstelle ebenfalls einen Versandzeitpunkt (den “Ausgabemodus”) definieren:Sinnvolle Kombinationen der beiden Zeitpunkte sind in untenstehender Tabellezusammengefaßt. Des weiteren müssen die NAST-Parameter aus denPartnervereinbarungen mit den entsprechenden Feldern der Nachrichtenartübereinstimmen. Diese Parameter sind:

� Applikation ( = Anwendung)

� Partner

� Partnerrolle

� Nachrichtenart

Kombinationen von Versandzeitpunkten der NAST und der IDoc-Schnittstelle und ihreEDI-Entsprechungen

NAST:Versandzeitpunkt

IDoc-Schnittstelle:Ausgabemodus

EDI-Entsprechung

4 (= sofort) IDoc sofort übergeben

Subsystem ( = Folgesystem) starten

Realtime

1 (= mit nächstem Selektionslaufversenden)

IDoc sofort übergeben

Subsystem starten

Fast Batch

1 IDocs sammeln

Subsystem starten

Batch

1 IDocs sammeln

Subsystem nicht starten

Batch

Wenn Sie in den Partnervereinbarungen festlegen, daß das Subsystem (d.h. dasFolgesystem) nicht gestartet werden soll, entscheidet dieses nach einem dorteingestellten Zeitplan über den Versandzeitpunkt, d.h. hier haben Sie keineKontrolle, wann das IDoc im Zielsystem ankommt.

Page 15: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgangsverarbeitung unter NAST: Technische Realisierung

April 2001 15

Ausgangsverarbeitung unter NAST: TechnischeRealisierungFür eine detaillierte Beschreibung der Nachrichtensteuerung sei außerdem auf dieDokumentation CA � Nachrichtensteuerung [Extern] verwiesen.

� Nachrichtenfindung: Die Bedingungen, unter denen eine Nachricht gefunden werden soll,sind in Konditionstabellen [Extern] abgelegt. Diese Tabellen werden in einer Zugriffsfolge[Extern] gelesen. In den Konditionstabellen finden sich auch die Schlüsselfelder derAnwendung, d.h. die Felder, mit denen die Anwendung auf die Konditionssätze zugreift(z.B. die Anwendungsfelder “Einkaufsorganisation” und “Lieferant” im Einkauf). DieKonditionstabellen werden einer Nachrichtenart zugeordnet (z.B. “NEU” für eineBestellung aus dem Einkauf). Die Nachrichtenarten wiederum sind in Schemata [Extern]zusammengefaßt, die schließlich der Anwendung (Schlüssel z.B. “EF” für “EinkaufBestellung”) zugeordnet sind.

Diese Organisationsstruktur ermöglicht, daß die Nachrichtenfindung strukturiert undunter komplexen Bedingungen verlaufen kann. Nachrichtenarten und -tabellen,Zugriffsfolgen und Schemata werden im Customizing der jeweiligen Anwendung vorabdefiniert.

Die Nachrichtenart wird manchmal auch als Konditionsart bezeichnet

� Nachrichtenverarbeitung durch IDoc-Versand: Das zentrale Selektionsprogramm derNachrichtensteuerung, RSNAST00, findet in der Tabelle TNAPR für die gewählteNachrichtenart die Formroutine EDI_PROCESSING im Programm RSNASTED und stößtsie an. EDI_PROCESSING liest die Partnervereinbarungen und bestimmt über denVorgangscode den Funktionsbaustein, der das IDoc erzeugen soll. Der Vorgangscodeentscheidet außerdem über die Art der Weiterverarbeitung, beispielsweise ob die IDocsdurch den ALE-Dienst bearbeitet werden sollen.

Die Funktionsbausteine zur IDoc-Erzeugung heißen typischerweiseIDOC_OUTPUT_<NT>, wobei <NT> für den zugehörigen Nachrichtentyp steht. Dieerzeugten IDocs werden abhängig vom Ausgabemodus entweder gesammelt odersofort zum Versand weitergeleitet. Wenn die IDocs gesammelt werden, muß der ReportRSEOUT00 eingeplant werden, der dann die Weiterleitung zum Versand übernimmt.

Page 16: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Die direkte Ausgangsverarbeitung

16 April 2001

Die direkte AusgangsverarbeitungVerwendungFür R/3-Komponenten, die nicht an die Nachrichtensteuerung angeschlossen sind, müssen Siediesen Weg der Ausgangsverarbeitung wählen. Ansonsten wird er häufig in ALE-Szenarienbeschritten, wo z.B. Stammdaten auf verschiedene R/3-Systeme verteilt werden sollen.

AktivitätenDie Anwendung übernimmt direkt die IDoc-Erzeugung, füllt also einen bestimmten IDoc-Typ mitihren Daten. Dies kann z.B. über einen eigenen Funktionsbaustein geschehen. Die Empfängerwerden durch die Anwendung oder die ALE-Dienste ermittelt. Der Automatismus derNachrichtensteuerung entfällt.

Im Controlling (CO) soll eine Erzeugniskalkulation (Anwendungskomponente CO-PC) in die Ergebniskalkulation (CO-PA) übertragen werden. Die beidenKomponenten sind in unterschiedlichen R/3-Systemen eingestellt, man hat also eintypisches ALE-Szenario. In der Übertragungstransaktion wählen Sie nun die Felder,deren Anwendungsdaten direkt in das IDoc geschrieben werden, wie etwa Material,Werk, Datum und Kalkulationsvariante.

Siehe auch:Direkte Ausgangsverarbeitung: Vorgehen [Seite 17]

Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall [Seite 18]

Page 17: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Direkte Ausgangsverarbeitung: Vorgehen

April 2001 17

Direkte Ausgangsverarbeitung: VorgehenIn der Anwendung gehen Sie in die betreffende Sendetransaktion und füllen die Parameterentsprechend aus. Dabei achten Sie darauf, daß dort angegebene Kommunikationsparameter(etwa das Zielsystem) auch als Port in den Partnervereinbarungen der IDoc-Schnittstelle gepflegtsind. Bei ALE-Szenarien sollte dort ein Port des Typs “tRFC” eingetragen sein, der Partner solltevon der Art “LS” (für “logisches System”) sein.

Page 18: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall

18 April 2001

Direkte Ausgangsverarbeitung: TechnischeRealisierung im ALE-FallWie das IDoc erzeugt wird, hängt von der jeweiligen Anwendung ab. Im folgenden soll daher nurder Beispielfall eines ALE-Szenarios betrachtet werden, in dem ein Funktionsbaustein die IDoc-Erzeugung übernimmt.

Der Funktionsbaustein wird in der Anwendungstransaktion aufgerufen. Er erzeugt einsogenanntes Master-IDoc und übergibt es an den VerwaltungsbausteinMASTER_IDOC_DISTRIBUTE, der den Kontrollsatz prüft und dann den FunktionsbausteinCOMMUNICATION_IDOC_CREATE aufruft. Dieser “filtert” das Master-IDoc (d.h. streift für dieKommunikation unwichtige Daten ab). Das “Filtrat” heißt Kommunikations-IDoc und wird vonMASTER_IDOC_DISTRIBUTE an den Funktionsbaustein EDI_OUTPUT_NEW zur weiterenVerarbeitung übergeben.

Page 19: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsverarbeitung

April 2001 19

EingangsverarbeitungVerwendungIm Eingang werden IDocs an die Schnittstelle übergeben und im R/3-System gespeichert. Ineinem zweiten Schritt werden die Belegdaten erzeugt, auch im Zuge eines Workflows.

FunktionsumfangDas vorgelagerte System übergibt ein IDoc über den R/3-Systemport an die IDoc-Schnittstelle.Daher gibt es keinen Port, den man in den Eingangspartnervereinbarungen festlegen müßte; dieIDoc-Schnittstelle muß lediglich das vorgelagerte System als Port “kennen”: Es muß also einePortbeschreibung für einen Port existieren, dessen Name das vorgelagerte System eindeutigidentifiziert. Die technischen Parameter dieser Portbeschreibung können (und werden es auch inder Regel) durch das vorgelagerte System überschrieben werden.

Anwendung

IDoc-Schnittstelle/ALE-Dienste

vorgelagertes System

Beleg

IDoc

BelegWorkflow

IDoc

Bei bekanntem vorgelagerten System wird das IDoc “akzeptiert”, d.h. es wird auf der Datenbankgespeichert. Wenn Ihr Partner mit der entsprechenden Nachricht in IhrenPartnervereinbarungen vorgesehen ist, wird es anschließend weiterverarbeitet. Dies geschiehtentkoppelt in einem zweiten Schritt. Damit ist sichergestellt, daß das externe System die Datenschnell und sicher (dialogfrei) entgegennehmen kann.

Zur Weiterverarbeitung sind folgende Wege möglich:

� Der direkte Weg über einen Funktionsbaustein, der die IDoc-Daten in denentsprechenden Anwendungsbeleg überführt.

� Der indirekte Weg über SAP Business Workflow (Einzel- oder Mehrschrittaufgabe). Dazuentsteht beim Eingang eines IDocs ein Workitem als Instanz der entsprechenden

Page 20: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung

20 April 2001

Aufgabe. Das Workitem erscheint im Eingangskorb der ausgewählten Bearbeiter.Weitere Informationen zum SAP Business Workflow finden Sie unter Basis � BusinessManagement � SAP Business Workflow [Extern].

Der IDoc-Typ TXTRAW02 wird durch die Einzelschrittaufgabe TS30000008verarbeitet: Dabei wird eine Mail an den SAPoffice-Benutzer (oder dieOrganisationseinheit) verschickt, der als Empfänger im Segment E1TXTADeingetragen ist. Fehlt dieses Segment, so wird werden die erlaubten Bearbeiter ausden Partnervereinbarungen als Empfänger ermittelt. Die Mail enthält den Text ausden Datensätzen des IDocs. Sie können Mailattribute, wie Priorität oderAusführbarkeit, mitverschicken.

Zu Release 2.1/2.2 wurde der indirekte Weg über einen Vorgang derVorgangstechnik beschritten. Diese Technik wird nicht mehr unterstützt.

AktivitätenEingangsverarbeitung: Vorgehen [Seite 21]

Eingangsverarbeitung: Technische Realisierung [Seite 22]

Page 21: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsverarbeitung: Vorgehen

April 2001 21

Eingangsverarbeitung: VorgehenEinsatzmöglichkeitenDie Eingangsverarbeitung richten Sie immer dann ein, wenn Sie einen neuen Geschäftsprozeßrealisieren wollen, bei dem Daten per IDoc empfangen werden. Ein Beispiel ist die EDI-Eingangsverarbeitung von Terminaufträgen.

VoraussetzungenEinmalig müssen Sie für die IDoc-Schnittstelle die Ereignis-Verbraucherkopplung aktivieren, dabeim Eingang eines IDocs immer ein Ereignis oder Event ausgelöst wird (Ausnahme: Porttyp„tRFC“). Dies geschieht im Customizing, Aktivität Ereignis-Verbraucherkopplung für IDoc-Eingang aktivieren [Extern].

Ablauf1. Die Ankopplung des Eingangs-IDocs an die gewünschte Verarbeitungsart geschieht in den

Partnervereinbarungen [Seite 70] über den Vorgangscode [Seite 73]. Dabei entscheiden Sie,ob Sie beim Eingang einen Workflow oder einen Funktionsbaustein anstoßen wollen.

Die im Standard ausgelieferten Vorgangscodes sind bereits Workflows oderFunktionsbausteinen zugeordnet. Diese Zuordnung können Sie anzeigen: Wählen Siedazu aus dem Einstiegsbild der IDoc-Schnittstelle (Transaktion WEDI) Steuerung �Vorgangscode Eingang. Dies ist auch der Einstieg, wenn Sie bei Neudefinitionen vonIDoc-Typen oder Verarbeitungsprozessen neu zuordnen wollen. Weitere Informationenfinden Sie unter Neue IDoc-Typen definieren [Seite 157].

Ein Lieferant erhält eine Bestellung zu einem Material über ein IDoc vom TypORDERS01. Der Lieferant hat der Nachricht ORDERS über den VorgangscodeORDE den Funktionsbaustein IDOC_INPUT_ORDERS zugeordnet, der die IDoc-Daten in die entsprechenden Anwendungsdaten überführt. Der Lieferant wählt hieralso den direkten Weg über einen Funktionsbaustein.

Es gibt IDoc-Typen, deren Eingangsverarbeitung nur in der Basis stattfindet, z.B.TXTRAW02. Diese IDoc-Typen werden nur per Workflow verarbeitet. Dieentsprechenden Aufgaben sind in der Aufgabengruppe TG70000016zusammengefaßt. Eingangsverarbeitungen per Workflow in der Logistik finden sichin der Aufgabengruppe TG20000011. Aufgabengruppen erleichtern die Suche nachAufgaben im Business Workflow Explorer (Bereichsmenü SWLD).

2. Zur Ausnahmebehandlung im Eingang müssen Sie den entsprechenden Aufgaben möglicheBearbeiter zuordnen. Sie haben zwei Alternativen:

� Im IDoc-Customizing klassifizieren Sie alle Aufgaben als generelle Aufgaben

� Sie pflegen die Zuordnung für jede einzelne Aufgabe über die Transaktion PFTC.Der Abschnitt Ausnahmebehandlung: Vorgehen [Seite 29] beschreibt, welche Aufgabenverwendet werden.

Page 22: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung: Technische Realisierung

22 April 2001

Eingangsverarbeitung: Technische Realisierung1. Die IDocs werden, abhängig vom Eingangsport, durch unterschiedliche Funktionsbausteine

oder Reports übernommen. Untenstehende Tabelle gibt einen Überblick und nennt dieSchnittstelle (Bezugsfelder bzw. -Strukturen, Importparameter). Tabellenparameter (call byreference) sind gesondert gekennzeichnet.

2. Das Abspeichern auf der Datenbank besorgt der FunktionsbausteinIDOC_INBOUND_WRITE_TO_DB. Er entscheidet zusätzlich über den Vorgangscode, obeine Bearbeitung durch ALE-Dienste stattfinden soll oder nicht.

3. Schließlich werden die IDocs durch IDOC_START_INBOUND an den Funktionsbaustein derAnwendung übergeben. Außer im Fall, daß die IDocs über den tRFC-Port übergebenwurden, wird dazu ein Ereignis (ein Event) im Workflow-Sinne ausgelöst, das dieStandardaufgabe TS30200090 auslöst.

4. IDOC_START_INBOUND startet einen Workflow oder einen Funktionsbaustein. Auch dieseEntscheidung wird über den Eingangs-Vorgangscode gesteuert.

Tabelle: Eingangsfunktionsbausteine in Abhängigkeit vom Porttyp

Porttyp:Funktionsbaustein/Report

Formalparameter:Import,Export (e), int. Tabelle(iT)

Bezugsfeld/Struktur

Bemerkungen

Datei:

EDI_DATA_INCOMING

pathname

port

EDI_PATH-PTHNAM

EDIPO-PORT

tRFC:

INBOUND_IDOC_PROCESS

idoc_control (iT)

idoc_data (iT)

EDI_DC

EDI_DD

F.Baustein fürkurze Namen(Releases vor 4.0)

tRFC:

IDOC_INBOUND_ASYNCHRONOUS

idoc_control_rec_40

idoc_data_rec_40

EDI_DC40

EDI_DD40

F.BausteinRelease 4.0 (langeNamen)

CPI-C (R/2-System):

RSEINB10

p_myport (Port im R/3-Syst.)

EDIIO-PORT als JobeinzuplanenderReport

Page 23: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsverarbeitung: Technische Realisierung

April 2001 23

Internet:

SX_OBJECT_RECEIVE(SAPconnect)

receive_info

document_data

system_data

receivers (iT)

packing_list (iT)

object_header (iT)

contents_bin (iT)

contents_txt (iT)

object_para (iT)

object_parb (iT)

SXRECINFI1

SXDOCCHGI1

SXSYSDATI1

SXEXTRECI1

SXPCKLSTI1

SOLISTI1

SXLISTI1

SOLISTI1

SOPARAI1

SOPARBI2

Inform. überSender

Dokumenteneigensch.

Empfänger

Inform. ü.Datentabellen

spezieller Kopf

binärerDokumentinhalt

ASCII-Dokum.inhalt

(Set/Get-Parameter)

(Felder, Werte fürVerarbeitung)

synchronerRFC:

IDOC_INBOUND_SYNCHRONOUS

int_edidc

online

docnum

error_before_call_application

int_edidd (iT)

EDI_DC

EDI_HELP-ONL_OPTION

EDIDC-DOCNUM

EDI_HELP-ERROR_FLAG

EDI_DD

F.Baustein fürkurze Namen(Releases vor 4.0)

IDOC_INBOUND_SINGLE

pi_idoc_control_rec_40

pi_do_commit

pe_idoc_number (e)

pe_error_prior_to_application

pt_idoc_data_records_40 (iT)

EDI_DC40

EDI_HELP-DO_COMMIT

EDIDC-DOCNUM

EDI_HELP-ERROR_FLAG

EDI_DD40

F.Baustein fürRelease 4.0 (langeNamen)

Page 24: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Statusverarbeitung

24 April 2001

StatusverarbeitungVerwendungDie Statussätze protokollieren Stationen, die das IDoc auf seinem Weg durchlaufen hat, z.B.“erzeugt” oder “versandfertig”. Sie sind daher wichtige Daten für Überwachung und Statistik derKommunikation.

FunktionsumfangVerarbeitungDas Folgesystem kann Sie über die Verarbeitungsstationen eines bei ihm eingegangen IDocsinformieren. Für diese Statusrückmeldung (oder Statusbericht) gibt es folgende Methoden:

� Statussätze können über den Datei-Port an Ihre IDoc-Schnittstelle übergeben werden.Die IDoc-Nummer dient dabei als Identifikationsmerkmal. Das Folgesystem entscheidetüber die Zeit, zu der es die Statusmeldung zurückgibt. Jeder Statussatz muß dieNummer des IDocs enthalten, auf das er sich bezieht. So kann die Verknüpfung zumIDoc und zum Anwendungsbeleg in der IDoc-Schnittstelle hergestellt werden.

Es hängt von Konfiguration und technischen Fähigkeiten des verwendeten Folge-oder Subsystems ab, welche Statussätze die Rückmeldung enthalten kann.

� Statussätze können auch als IDoc selbst (IDoc-Typ SYSTAT01) zurückgegeben werden.Dann sind alle möglichen Kommunikationswege ( = Porttypen) erlaubt.

Verwechseln Sie nicht die Statusinformationen, die in den Datensätzen vonSYSTAT01 stehen und die sich auf ein anderes, eben Ihr beim Partnereingegangenes IDoc beziehen, mit den Statussätzen von SYSTAT01 selbst! Diesewerden hier nicht betrachtet.

AusnahmebehandlungFalls die Statusrückmeldung Kommunikationsfehler berichtet, beginnt dieAusnahmebehandlung (siehe auch Abschnitt Rollenauflösung in der Ausnahmebehandlung[Seite 31]). Dabei kann beispielsweise ein Workflow angestoßen werden, in dessen Verlaufzuständige Sachbearbeiter auf den Kommunikationsfehler reagieren können.

Im Standard wird die Ausnahmebehandlung durch den Vorgangscode EDIR realisiert, der auf dieStandardaufgabe TS70008125 zeigt. Als zuständiger Sachbearbeiter zeigen Sie beim Ausführendes Workitems den Statussatz des entsprechenden Ausgangs-IDocs an. Sie können von dortaus erneut das IDoc zu versenden versuchen. Dabei werden allerdings nicht nochmals diePartnervereinbarungen gelesen: Alle für den Versand notwendigen Daten werden aus demKontrollsatz gelesen. Haben Sie also zum Beispiel den Port in den Partnervereinbarungenausgetauscht, so wird das IDoc immer noch an den ursprünglichen Port geschickt.

Als Alternative gibt es den Vorgangscode EDIS mit der Standardaufgabe TS30000078, der nurdie Anzeige eines Statussatzes erlaubt, nicht aber den erneuten Versand des Ausgangs-IDocs.

Page 25: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statusverarbeitung

April 2001 25

Bei einem Releasewechsel führen Sie die IMG-Aktivität ErweiterteAusnahmebehandlung bei Statusrückmeldung benutzen aus, um von EDIS auf EDIRumzuschalten.

Die zuständigen Sachbearbeiter werden in folgender Reihenfolge ermittelt:

1. Wenn in den Ausgangspartnervereinbarungen ein Sachbearbeiter eingetragen ist, wirddieser verständigt.

2. Andernfalls wird der Sachbearbeiter aus den allgemeinen Partnervereinbarungenverständigt.

AktivitätenWelche Status als Fehlerstatus eingestuft werden und damit die Ausnahmebehandlung einleiten,können Sie selbst entscheiden: Wählen Sie aus dem Eingangsbild der IDoc-SchnittstelleSteuerung � Statuswerte pflegen. Im Detailbild tragen Sie einen Vorgangscode ein, der aufeinen Workflow zeigt. Der Workflow realisiert im Standard die Ausnahmebehandlung. Imallgemeinen muß das aber nicht so sein. Weitere Informationen finden Sie unterAusnahmebehandlung: Vorgehen [Seite 29]

In der Statuspflege können Sie auch die Zuordnung zu Statusgruppen (Qualifizierung) anzeigenoder ändern, die in den Monitoring-Programmen eine wichtige Rolle spielt.

Page 26: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung von SYSTAT01

26 April 2001

Eingangsverarbeitung von SYSTAT01VerwendungStatusrückmeldungen über einen Port beliebigen Typs werden durch die Eingangsverarbeitungdes IDoc-Typs SYSTAT01 realisiert.

VoraussetzungenSie haben die Partnervereinbarungen [Seite 84] für die logische Nachricht STATUS gepflegt. DerVorgangscode heißt STA1.

AktivitätenDie Eingangsverarbeitung geschieht über die von SAP ausgelieferte EinzelschrittaufgabeTS30000206. Dabei werden die im IDoc übermittelten Statussätze den Ausgangs-IDocsgutgeschrieben, auf die sie sich beziehen.

Wurde im SYSTAT01 ein in der Statuspflege (s. Statusverarbeitung [Seite 24]) als fehlerhafteingestufter Status übermittelt, so schließt sich für das betroffene Ausgangs-IDoc dieentsprechende Ausnahmebehandlung der Statusverarbeitung [Seite 24] an.

Konnten nicht alle Statussätze erfolgreich den betroffenen IDocs gutgeschrieben werden, soerhält das Eingangs-IDoc vom Typ SYSTAT01 den Status 52. Konnte kein einziger derübermittelten Statussätze erfolgreich verarbeitet werden, erhält das IDoc den Status 51. Inbeiden Fällen wird die Ausnahmebehandlung des Eingangs-IDocs gestartet.

Dazu wird das Ereignis STATUSIDOCERROR ausgelöst, dessen Verbraucher dieEinzelschrittaufgabe TS30000207 ist. Als ausgewählter Bearbeiter editieren Sie das IDoc beimAusführen des Workitems. Sie können beispielsweise die Nummer des IDocs, auf das sich einbestimmter Statussatz bezieht, ändern und so den Status dem richtigen Ausgangs-IDoczuordnen. Sie können das so geänderte IDoc nochmals einspielen lassen, indem Sie in derAnzeige Bearbeiten � verarbeiten wählen. Dabei versucht das System erneut, die restlichen,nicht erfolgreich gebuchten Statussätze zu verarbeiten. Gelingt dies, so erhält das IDoc denabschließenden Status 53.

Wenn Sie die Verarbeitung des IDocs abbrechen wollen, so wählen Sie aus der IDoc-Anzeige[Seite 120] bearbeiten � verarbeiten � Löschkennzeichen setzen.

Page 27: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausnahmebehandlung

April 2001 27

AusnahmebehandlungVerwendungBei Fehlern werden zu Standardaufgaben gehörende Workitems erzeugt, die im integriertenEingangskorb der ausgewählten Bearbeiter erscheinen. Die Standardaufgaben werden überVorgangscodes identifiziert.

FunktionsumfangBearbeitung über Workflow-AufgabenDie Standardaufgaben für die IDoc-Schnittstelle sind nach Ausgangs- und Eingangsverarbeitunggetrennt. Formale Fehler können z.B. im Eingang auftreten, wenn die zum Kontrollsatz passendePartnervereinbarungen [Seite 70] nicht gefunden wurde. Sie können in denPartnervereinbarungen auch die Syntaxprüfung der IDocs einschalten. Ein Fehler bei einersolchen Syntaxprüfung ist einer speziellen Standardaufgabe zugeordnet (sieheAusnahmebehandlung: Vorgehen [Seite 29]).

Die Ausnahmebehandlung in der IDoc-Schnittstelle wird im Eingang durch dieAusnahmebehandlung der Anwendung ergänzt, die etwa auf den Status 51 (Anwendungsbelegnicht gebucht) reagieren kann.

Der Bearbeiter eines Workitems (d h. einer konkreten Ausprägung der allgemein definiertenWorkflow-Aufgabe) kann den Fehler beheben und die Umsetzung des empfangenen IDocserneut anstoßen bzw. das IDoc zum Löschen vormerken.

Erlaubte BearbeiterIn allen Ausnahmesituationen, bei denen der Absender in den Partnervereinbarungenvorgesehen ist, werden die erlaubten Bearbeiter von dort gelesen. Sind Bearbeiter für diespezielle logische Nachricht eingetragen, werden diese übernommen, sonst die in denallgemeinen Partnervereinbarungen für diesen Partner vorgesehenen Bearbeiter.

In allen Ausnahmesituationen, bei denen keine passende Partnervereinbarung gelesen werdenkonnte, wird der Bearbeiter aus der Tabelle der Systemparameter ermittelt (IDoc-Administrator[Seite 255]). Es wird dringend empfohlen, hier einen Bearbeiter einzutragen.

Als Bearbeiter können Sie neben einem SAP-Benutzernamen auch andereOrganisationseinheiten (z.B. Abteilung, Stelle) für die Benachrichtigung eintragen.

Damit die erlaubten Bearbeiter auch per Workitem benachrichtigt werden, müssen Sie derentsprechenden Standardaufgabe zugeordnet sein. Weitere Informationen finden Sie unterRollenauflösung in der Ausnahmebehandlung [Seite 31].

Externe und interne FehlermeldungenInterne Fehlermeldungen beziehen sich auf Fehler in Ihrem R/3-System. SolcheFehlermeldungen oder Fehlerstatus sind mit System-Vorgangscodes (in der IDoc-Schnittstelle)assoziiert. Externe Fehlermeldungen sind Statusrückmeldungen [Seite 24] auf Fehler imexternen System. Sie werden mit den Status-Vorgangscodes assoziiert. Bei in der Anwendungdiagnostizierten internen Fehlern (Status 51) erzeugt die Anwendung selbst auch dasentsprechende Workitem, d.h. hier werden keine Vorgangscodes in der IDoc-Schnittstellehinterlegt.

Page 28: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausnahmebehandlung

28 April 2001

Besonderheiten beim Porttyp “Datei”In Dateien können mehrere IDocs gespeichert sein, die die IDoc-Schnittstelle separat liest undauf der Datenbank abspeichert. Dadurch sind bei einem Lesefehler nur die noch nichtabgespeicherten IDocs betroffen. Die Fehlerstelle wird vorgemerkt. Kann der Fehler beseitigtwerden, kann von Hand nochmal das Lesen der Datei ab der Fehlerstelle gestartet werden(siehe Ausnahmebehandlung: Vorgehen [Seite 29]).

Der Workflow wird von der IDoc-Schnittstelle als asynchroner Prozeß im Hintergrundgestartet. Dadurch können die Daten schnell und sicher vom externen Systemübernommen werden.

AktivitätenAusnahmebehandlung: Vorgehen [Seite 29]

Die Fehlerbehandlung wird über Vorgangscodes gesteuert, die auf Standardaufgaben zeigen.Dieser Abschnitt gibt einen Überblick über die Standardaufgaben und zeigt Beispiele möglicherFehlerursachen auf.

Page 29: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausnahmebehandlung: Vorgehen

April 2001 29

Ausnahmebehandlung: VorgehenVerwendungDie folgende Tabelle gibt einen Überblick über die im Standard definierten Fehler und die damitüber den Vorgangscode gekoppelten Aufgaben. Es werden mögliche (aber nicht alle möglichen!)Fehlerursachen angegeben, um die Fehlersuche zu erleichtern.

Fehler Vorgangscode

Workflow-Aufgabe Mögliche Ursachen(Beispiele)

IDoc konnte nichterzeugt werden

EDIM TS30000020 Eingang: Dateilesefehler;Ausgang: Fehler bei IDoc-Erzeugung aus einem NAST-Satz

IDoc konnte unterNAST nicht erzeugtwerden

EDIN: wertetdiePartnerdatenaus demNAST-Satzaus

TS70008037 Kein Vorgangscode in denzusätzlichen NAST-Parametern derPartnervereinbarungen;Fehler beim Schreiben derAnwendungsdaten ins IDoc.

Statusdatei konntenicht vollständiggelesen werden

EDIL TS70008373

Fehler beiEingangsverarbeitung

EDII TS00008068 Vorgangscode existiert nicht;Fehler bei Übergabe an ALE-Dienste

Fehler beiAusgangsverarbeitung

EDIO TS00007989 Fehler bei Übergabe perRFC;Dateischreibfehler

Fehler beiAusgangsverarbeitung, der alle IDocseines IDoc-Stapelsbetrifft(„Ausgabemodus:IDocs sammeln“)

EDIP TS60001307 Fehler bei Übergabe perRFC;Dateischreibfehler;Port nicht vorhanden

IDoc-Syntaxfehler(Ausgang;Syntaxprüfung indenPartnervereinbarungen eingeschaltet)

EDIX TS00008070

Page 30: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausnahmebehandlung: Vorgehen

30 April 2001

IDoc-Syntaxfehler(Eingang;Syntaxprüfung indenPartnervereinbarungen eingeschaltet)

EDIY TS00008074

Fehlerstatusrückgemeldet

EDIS TS30000078 Konvertierung im EDI-Subsystem fehlerhaft

Fehlerstatusrückgemeldet

EDIR TS70008125: ImUnterschied zurTS30000078 könnenSie hier das IDocerneut versenden

Konvertierung im EDI-Subsystem fehlerhaft

Die Fehler werden aus den Workitems im integrierten Eingangskorb bearbeitet. Konnte z.B. nacheinem Dateilesefehler der Fehler “beseitigt” werden konnte, können die noch nicht gelesenenIDocs durch Starten des Reports RSEINB00 von Hand nachgelesen und auf der Datenbankgespeichert werden.

Der Ausnahmebehandlung in der IDoc-Schnittstelle schließt sich (im Eingang) dieAusnahmebehandlung der Anwendung an, die etwa auf den Status 51(Anwendungsbeleg nicht gebucht) reagieren kann.

Die Aufgaben zur Ausnahmebehandlung in der IDoc-Schnittstelle sind in derAufgabengruppe TG70000015 zusammengefaßt, diejenigen der Logistik-Anwendungen in der Gruppe TG20000011. Aufgabengruppen können Sie mit demBusiness Workflow Explorer (Bereichsmenü SWLD) anzeigen.

Page 31: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Rollenauflösung in der Ausnahmebehandlung

April 2001 31

Rollenauflösung in der AusnahmebehandlungVerwendungAlle im Standard für die Ausnahmebehandlung definierten Aufgaben sind mit einer Defaultrolleversehen, um die Menge der möglichen Bearbeiter auf die für die konkrete Ausnahmesituationzuständigen einzuschränken. Zu diesem Zweck leitet ein Funktionsbaustein in derRollenauflösung aus den Partnervereinbarungen zum fehlerhaften IDoc Bearbeiter ab. Schlägtdies fehl oder existiert noch gar kein IDoc, so wird der IDoc-Administrator ermittelt. Damit könnenBearbeiter ermittelt werden, die zuständig sind

� für den aktuellen Partner und die aktuelle Nachricht (Aus- oderEingangspartnervereinbarung)

� für den aktuellen Partner (allgemeine Partnervereinbarung)

� mindestens aber für die IDoc-Schnittstelle (IDoc-Administration)

IntegrationDie tatsächlichen Bearbeiter (die Empfänger) des Workitems sind die in der Rollenauflösungermittelten Bearbeiter, die gleichzeitig mögliche Bearbeiter der Standardaufgabe zum Workitemsind. Die Empfänger bilden also die Schnittmenge aus den möglichen Bearbeitern derentsprechenden Standardaufgabe und den „erlaubten Bearbeitern“ der entsprechendenPartnervereinbarung bzw. der IDoc-Administration.

Rollenauflösung

Organisationsstruktur

Aufgabe

Partnervereinbarung

IDoc-Schnittstelle

Mögliche Bearbeiter

Erlaubte Bearbeiter

Empfänger des Workitems

VoraussetzungenFür die Empfängerermittlung müssen Sie also folgendes pflegen:

Page 32: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Rollenauflösung in der Ausnahmebehandlung

32 April 2001

Partnervereinbarungen [Seite 76]

IDoc-Administration [Seite 255]

Bearbeiterzuordnung [Extern] der Standardaufgaben

Wenn die Standardaufgaben als generelle Aufgaben gepflegt sind, ist die Mengeder möglichen Bearbeiter maximal (nämlich gleich der Menge aller Anwender im R/3-System), und es läßt sich dann immer ein Empfänger bestimmen (Ausnahme: IDoc-Administrator ist nicht gepflegt).

FunktionsumfangNachfolgende Tabelle gibt die im Standard ausgelieferten Rollen mit Funktionsbaustein (FB) zurRollenauflösung wieder. Sie zeigt, welchen Standardaufgaben sie als Defaultrollen zugeordnetsind und beschreibt, was bei der Rollenauflösung passiert.

Standardrolle/FB Defaultrolle fürStandardaufgabe

Rollenauflösung

Ausgang, Eingang

30000013

EDI_ROLE_FOR_

PROCESSING

TS00008068 (Fehler beiEingangsverarbeitung),

TS00007989 (Fehler beiAusgangsverarbeitung),

TS00008070 (SyntaxfehlerAusgang),

TS00008074 (SyntaxfehlerEingang)

TS30000207 (Fehler bei derEingangsverarbeitung vonSYSTAT01 [Seite 26])

Ermittelt werden die erlaubtenBearbeiter aus denPartnervereinbarungen. Fallssich keiner findet, wird derIDoc-Administrator ermittelt.

30000001

EDI_ROLE_FOR_

MESSAGE

TS30000020 (Fehler ohneZuordnung zu IDoc),

TS60001307 (Fehler beiAusgangsverarbeitung eines IDoc-Stapels, d.h. bei Ausgabemodus„IDocs sammeln“)

Ermittelt wird der IDoc-Administrator.

Page 33: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Rollenauflösung in der Ausnahmebehandlung

April 2001 33

70000141

EDI_ROLE_FOR_NAST_MESSAGE

TS70008037 (Fehler ohneZuordnung zu IDoc bei NAST-Ausgang)

Wenn es sich um einAnwendungsproblem handelt(z.B. wenn ein Fehler beimSchreiben derAnwendungsdaten in dasIDoc passierte), wird wie beiRolle 30000013vorgegangen. Handelt es sichdagegen um ein technischesProblem (z.B. wenn derAusgangs-Vorgangscodefehlt oder ins Leere weist), sowird direkt nach dem IDoc-Administrator gesucht.

Statusrückmeldung

30000001

EDI_ROLE_FOR_

MESSAGE

TS30000078 (Fehlerstatus inStatusrückmeldung)

TS70008373 (Fehler beim Leseneiner Statusdatei)

Ermittelt wird der IDoc-Administrator

Aktives Monitoring

30200013

EDI_ROLE_FOR_

IDOC_ACT_MONIT

TS30200108 (Überschreiten desSchwellwertes im aktivenMonitoring)

Ermittelt werden die beimStart oder Einplanen vonRSEIDOCM eingetragenerlaubten Bearbeiter.

Falls sich keiner findet oderdie Bearbeiter nicht Teil desOrganisationsmodells sind,wird der IDoc-Administratorermittelt.

Page 34: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Kommunikation mit älteren Releases/Systemen oder R/2-Systemen

34 April 2001

Kommunikation mit älteren Releases/Systemen oderR/2-SystemenVerwendungWenn Sie mit SAP-Systemen älterer Releases (2.1 bis 3.1) oder externen Systemen (z.B. EDI-Subsystemen) auf diesem Stand über IDocs kommunizieren wollen, müssen Sie das IhremSystem über die Version in der Portbeschreibung mitteilen. Damit werden im Ausgang dierichtigen IDoc-Satzarten verschickt.

Nicht nur bei älteren R/3-Releaseständen, sondern auch bei R/2-Systemen können zweiProblemfälle auftreten, die zusätzlichen Aufwand erfordern:

� Sie benutzen lange Namen für Nachrichtentypen, IDoc-Typen oder Segmente. ÄltereReleases unterstützen nur Namen mit Längen bis zu

6 Stellen (Nachrichtentyp)

8 Stellen (IDoc-Typ: Basistyp oder Erweiterung)

7 Stellen (Segment)

� Sie setzen Erweiterungen ein, die Sie zu Release 4.X definiert haben. Ältere Releases(3.0, 3.1) identifizieren diese erweiterten IDoc-Typen intern über andere Felder oderunterstützen Erweiterungen überhaupt nicht (R/3-Releases 2.1, 2.2 und R/2-Systeme).

In beiden Fällen müssen Sie Umschlüsselungstabellen im Customizing pflegen, die die altenNamen und Felder auf neue abbilden. Beide Fälle können auch zusammen auftreten.

FunktionsumfangIn der Ausgangsverarbeitung bestimmt das System über die Portversion die richtigen IDoc-Satzarten.

Aus den Umschlüsselungstabellen leitet es die alten (Ausgangsverarbeitung) bzw. die neuen(Eingangsverarbeitung) Namen ab und füllt beim Einsatz neuer Erweiterungen die benötigtenFelder im Kontrollsatz (Ausgangsverarbeitung).

AktivitätenÜber die Portversion stellen Sie den Releasestand des Systems ein, mit dem Siekommunizieren. Dabei bedeutet:

� Version 1: Releases 2.1/2.2

� Version 2: Releases 3.0/3.1 und R/2-System. Da jedes R/2-System über den Porttyp„CPI-C“ mit dem R/3-System gekoppelt ist und umgekehrt jeder CPI-C-Port zu einemR/2-System führt, ist die Version 2 für diesen Porttyp fest vorgegeben und kann nicht inder Portbeschreibung eingestellt werden.

� Version 3: Releases 4.X (Vorschlagswert)

Je nach den oben beschriebenen Problemfällen pflegen Sie die entsprechendenUmschlüsselungstabellen im Customizing.

Siehe auch:Lange Namen [Seite 36]

Page 35: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Kommunikation mit älteren Releases/Systemen oder R/2-Systemen

April 2001 35

Einsatz von Erweiterungen [Seite 37]

Page 36: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Lange Namen

36 April 2001

Lange NamenVerwendungMit Release 4.0 wird der erweiterte Namensraum unterstützt. Dieses Konzept schließt dieVerwendung von Präfixen und längeren Namen ein. In der IDoc-Schnittstelle sind von denlangen Namen folgende Objekte betroffen:

Objekt Länge zu 4.0 (in Zeichen) Länge vor 4.0 (inZeichen)

Nachrichtentyp 30 6

IDoc-Typ (Basistyp oderErweiterung)

30 8

Segment 27 7

Pro Objekt gibt es eines Umschlüsselungstabelle, die im Customizing gepflegt wird.

AktivitätenSie prüfen, welche Objekte Sie mit älteren Releases oder einem R/2-System austauschenwollen, und ob es darunter Objekte mit langen Namen gibt, die von diesen Releases nichtunterstützt werden. Sie pflegen dann die entsprechenden Customizing-Tabellen.

Wenn Sie Erweiterungen in Release 4.X definieren und lange Namen verwenden wollen,müssen Sie im Customizing die entsprechende Umschlüsselungstabelle für Erweiterungenpflegen. Oder Sie definieren nur Erweiterungen mit kurzen Namen für den Austausch mit älterenReleases.

Page 37: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Einsatz von Erweiterungen

April 2001 37

Einsatz von ErweiterungenVerwendungBei älteren Releases wurden IDoc-Typen unterschiedlich definiert. Insbesondere beiErweiterungen gibt es größere Unterschiede, die in der Verarbeitung berücksichtigt werdenmüssen.

� Releases 2.1/2.2

Hier gab es noch keine Erweiterungen von Basistypen, d.h. jeder IDoc-Typ (die damaligeZwischenstruktur) war gleichzeitig ein Basistyp und wurde durch das Feld DOCTYPidentifiziert.

� Releases 3.0/3.1

Hier wurden erstmals Erweiterungen eingeführt, die damaligen Erweiterungstypen. DieseErweiterungen wurden mit Basistypen (die damaligen Basis-IDoc-Typen) zu neuen IDoc-Typen kombiniert. Die Identifizierung geschah durch die Felder IDOCTYP (Basistyp),CIMTYP (Erweiterung) und DOCTYP (IDoc-Typ).

� R/2-System

Ein R/2-System arbeitet zwar mit dem Kontrollsatz der R/3-Releases 3.0/3.1, d.h. eskennt die Felder IDOCTYP, CIMTYP und DOCTYP. Es unterstützt aber keineErweiterungen und identifiziert den IDoc-Typ ausschließlich durch das Feld DOCTYP.

Ab Release 4.0 wird der IDoc-Typ nur noch über die Felder IDOCTYP und CIMTYP identifiziert,nicht mehr zusätzlich über das Feld DOCTYP. Um bei der Kommunikation mit älteren Releasesauch neue Erweiterungen verwenden zu können, müssen daher die verschiedenenIdentifikationsfelder einander zugeordnet werden.

FunktionsumfangAusgangsverarbeitungDie Ausgangsverarbeitung leitet aus IDOCTYP und CIMTYP das Feld DOCTYP aus einerUmschlüsselungstabelle ab. Falls nur ein Basistyp verwendet wird, setzt sie DOCTYP gleichIDOCTYP.

Aus dem in der Partnervereinbarung angegebenen Port leitet sie ab, an welches Release sie dasIDoc schicken soll (über die Version in der Portbeschreibung). Daraus wird das(releaseabhängige) Format (die “Satzarten”) eines bestimmten IDoc-Typs abgeleitet.

Ein Fehler (mit anschließender Ausnahmebehandlung) tritt auf, wenn das Feld DOCTYP nichtbekannt ist:

� Releases 2.1/2.2 (Portversion 1) und R/2-System (Porttyp „CPI-C“)

Entspricht der Basistyp nicht einem damaligen IDoc-Typ (Zwischenstruktur), dann wirddie Verarbeitung mit einem Fehler unterbrochen. Eine Kombination aus Basistyp undErweiterung wird wohl nie einem damaligen IDoc-Typ entsprechen - Falls doch, so mußdiese Zuordnung ebenfalls in der Umschlüsselungstabelle definiert sein, damit keinFehler ausgelöst wird.

� Releases 3.0/3.1 bzw. R/2-System (Portversion 2)

Page 38: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Einsatz von Erweiterungen

38 April 2001

Sind Basistyp und Erweiterung zwar definiert, aber entspricht ihre Kombination keinemdamaligen IDoc-Typ, dann wird die Verarbeitung mit einem Fehler unterbrochen.

Zuordnung der Felder im Ausgang

R/3-System (Release 4.0)

IDOCTYP,CIMTYP

R/3-System(Release 3.0/3.1)

IDOCTYP, CIMTYP,DOCTYP

R/3-System(Release 2.1/2.2)

DOCTYP

DOCTYP ausUmschl.-Tabelle

oder schonbekannt

EingangsverarbeitungFalls nicht vorhanden, wird versucht, das Feld IDOCTYP und gegebenenfalls das Feld CIMTYPaus DOCTYP abzuleiten. Hierbei gibt es folgende Möglichkeiten:

� Existiert ein Eintrag in der Umschlüsselungstabelle, dann wird daraus IDOCTYP undgegebenenfalls CIMTYP abgeleitet.

� Existiert kein Eintrag, dann wird IDOCTYP gleich DOCTYP gesetzt. Dieser Fall tritt vorallem beim Empfang von IDocs aus einem R/3 System Release 2.1/2.2 ein.

Ein Fehler tritt immer dann auf, wenn der verwendete Basistyp (wie aus dem Feld IDOCTYPidentifiziert) nicht definiert ist. Des weiteren können Fehler auftreten, wenn die Erweiterung (FeldCIMTYP) nicht mit dem Basistyp kombinierbar ist.

AktivitätenSie müssen in folgenden Fällen IDOCTYP und CIMTYP auf DOCTYP umschlüsseln:

� Sie kommunizieren mit einem R/3-System von Release 3.0/3.1.

� Sie oder Ihr Partner verwendet ein EDI-Subsystem, das auf dem Stand eines älterenReleases ist.

� Sie kommunizieren mit einem R/3-System von Release 2.1/2.2 oder einem R/2-System,das Ihren erweiterten IDoc-Typ definiert hat (als damalige Zwischenstruktur) und daher“versteht”. Dieser Fall tritt äußerst selten ein.

Diese Umschlüsselung machen Sie aus dem IDoc-Typ-Editor heraus, aus dem Sie Ihre 4.X-Erweiterung definiert haben (über Umfeld � Umschlüsselung � IDoc-Typ). Sie können auch imCustomizing der IDoc-Schnittstelle umschlüsseln.

Beachten Sie, daß sich ein R/2-System zwar die IDoc-Satzarten der R/3-Releases3.0/3.1 erwartet (Portversion 2), daß sich aber Ihr R/3-System beim Versand an ein

Page 39: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Einsatz von Erweiterungen

April 2001 39

R/2-System bezüglich Erweiterungen so verhält, als würde es IDocs an R/3-Releasestände 2.1/2.2 schicken (Portversion 1).

Page 40: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ports einrichten

40 April 2001

Ports einrichtenEinsatzmöglichkeitenPorts [Extern] sind die Grundvoraussetzung für die Kommunikation über die IDoc-Schnittstelle.Pro externem System muß es mindestens einen Port geben. Die nachfolgende Abbildung zeigtden Ausgang von IDocs an zwei Folgesysteme über drei Ports.

IDoc-Schnittstelle

Port 1(z.B. Typ Datei)

Port 2(z.B. Typ Datei)

IDoc

IDoc

Port 3(z.B. Typ tRFC)

Folgesystem 1

IDoc

Folgesystem 2

Über die Portversion teilen Sie dem eigenen R/3-System mit, auf welchem Releasestand dasFolgesystem ist. Lesen Sie dazu den Abschnitt

Kommunikation mit älteren Releases/Subsystemen [Seite 34]

VoraussetzungenSie müssen auch Einstellungen außerhalb der IDoc-Schnittstelle vornehmen, damit der Portverwendet werden kann. Diese Einstellungen hängen vom gewünschten Porttyp [Extern] ab undsind in den jeweiligen Unterabschnitten genannt.

AblaufDer Ablauf hängt vom Porttyp ab. Untenstehende Tabelle enthält Einsatzgebiete und verweistauf die Detailbeschreibungen.

Porttyp EinsatzgebieteDateischnittstelle [Seite42]

Kopplung an die meisten EDI-Subsysteme

Transaktionaler RFC[Extern]

ALE-Verteilungsszenarien

CPI-C [Seite 54] Kopplung an R/2-Systeme: Die direkte Kommunikation mit einemR/2-System (ab Release 5.0F) ist nur über diesen Porttyp möglich.

Page 41: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ports einrichten

April 2001 41

Internet [Seite 62] Versand an E-Mail-Adressen

Programmierschnittstelle (PSS) [Seite 67]

Das IDoc wird nicht mit einem externen System, sondern mit einemvon Ihnen zu schreibenden Funktionsbaustein ausgetauscht. Damitwird jede beliebige Versandart möglich.

XML [Seite 68] E-Commerce

Page 42: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Dateischnittstelle

42 April 2001

DateischnittstelleDefinitionAustausch von IDocs und Statussätzen über Betriebssystem-Dateien.

StrukturAblaufDas sendende System schreibt eine Datei ins Dateisystem. Danach teilt es dem Folgesystemüber den synchronen RFC mit,

� daß die Datei übergeben wurde,

� wo sie steht (Verzeichnis) und

� wie sie heißt (Dateiname).

Dieses Mitteilen heißt Triggern. Weitere Informationen finden Sie unter

Ausgang: Folgesystem triggern [Seite 44]

Eingang: SAP System triggern [Seite 46]

Eingang von Statusdateien: SAP System triggern [Seite 49]

Damit keine Daten verloren gehen, hängt das sendende System niemals an eine bereits an dasFolgesystem übergebene Datei weitere Daten an. Das Folgesystem arbeitet die übergebenenDateien vollständig ab. Danach löscht es sie selbständig aus dem Dateisystem.

Um Dateien nicht zu überschreiben, sollten sie eindeutige Namen tragen. Das SAPSystem kann z.B. IDoc-Dateien nach Mandant und IDoc-Nummer benennen.

Sendendes und Folgesystem müssen entsprechende Zugriffsrechte [Seite 43] (Lese-und Schreibberechtigung) besitzen.

EinstellungenPorttyp Datei: Portbeschreibung pflegen [Seite 52]

Page 43: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Dateischnittstelle: Betriebssysteme vorbereiten

April 2001 43

Dateischnittstelle: Betriebssysteme vorbereiten1. Legen Sie im Betriebssystem Lese- und Schreibberechtigungen für die verwendeten

Verzeichnisse an.

Im Ausgang sind das die Verzeichnisse aus der Portbeschreibung [Seite 52], und dieBerechtigungen gelten für den Eigentümer des SAP Gateway-Prozesses, üblicherweiseden SAP Systemadministrator.

Wenn das SAP Gateway auf der gleichen Maschine läuft wie das externe System,brauchen Sie die weiteren Schritte nicht durchzuführen.

2. Wenn das SAP Gateway und das externe System auf unterschiedlichen Maschinen laufen,müssen diese sich untereinander den Zugang gewähren. Bei UNIX-Betriebssystemenerreichen Sie das über Einträge in den rhosts - Dateien.

3. Testen Sie anschließend die remote shell – Funktion.

Der RFC-Zugriff basiert auf dieser Funktion.

Das externe System läuft auf der Maschine „marvin“. Das SAP System C11 mit demGateway läuft auf der Maschine „arthur“. Beide Maschinen laufen unter UNIX.„C11adm“ ist der UNIX-User, dem der Gateway-Prozeß gehört.

Sie richten „C11adm“ auch auf „marvin“ als User ein, mit Home-Verzeichnis/usr/sap/C11/home. Beide Home-Verzeichnisse müssen eine Datei ‘rhosts’ mitfolgendem Inhalt enthalten:

Inhalt von „.rhosts'“auf „marvin'“in ~C11adm arthur

Inhalt von „.rhosts“ auf „arthur“ in ~C11adm marvin

Beide Dateien müssen dem User 'C11adm' gehören und Lese- undSchreibberechtigungen haben.

Die Einträge 'marvin' und 'arthur' müssen in den /etc/hosts-Dateien identisch aufbeiden Maschinen vorhanden sein.

Sie testen die remote shell – Funktion durch folgende Eingaben:

Auf Maschine Eingabe Ausgabe

marvin rsh arthur hostname

(oder remsh arthur hostname)

arthur

arthur rsh marvin hostname

(oder remsh marvin hostname)

marvin

Page 44: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgang: Folgesystem triggern

44 April 2001

Ausgang: Folgesystem triggernVoraussetzungenSie benötigen das Programm rfcexec aus der RFC-Bibliothek.

Vorgehensweise1. Um eine logische Destination für RFC anzulegen, wählen Sie Werkzeuge � Administration

� Verwaltung � Netzwerk � RFC-Destinationen (SM59). Positionieren Sie auf TCP/IP-Verbindungen und wählen Sie Bearbeiten � Anlegen.

2. Geben Sie den Namen der RFC-Destination an (z.B. EDI) und den Verbindungstyp t(Start eines externen Programms über TCP/IP). Beschreiben Sie die Destination.Bestätigen Sie Ihre Eingaben.

3. Arbeiten ohne Registrierung:Wählen Sie Expliziter Host oder Applikationsserver. Geben Sie das Programm rfcexec(bei Windows NT rfcexec.exe) mit Verzeichnis an (z.B./usr/sap/<SID>/SYS/exe/dbg/rfcexec). Wenn Sie Expliziter Host gewählt haben, gebenSie den Zielrechner an, auf dem rfcexec angesprochen werden soll (etwa marvin).

Arbeiten mit Registrierung:Hier registrieren Sie Ihr Programm im Gateway unter einem frei wählbaren Namen. Dannkönnen Sie unter dieser ID von verteilten Systemen das Programm unter genau diesemNamen aufrufen. Wählen Sie Registrierung und geben Sie unter Programm ID einenNamen ein. Wählen Sie Destination � Gateway-Optionen und geben Sie dort Gateway-Host und Gateway-Service an. Diese beiden Parameter ermitteln Sie z.B. mit demReport RSPARAM (siehe dazu Eingang: R/3-System triggern [Seite 46])

4. Sichern Sie Ihre Eingaben. Testen Sie Ihre Destination über Verbindung testen.

Im Registriermodus klappt die Verbindung nur, wenn Sie das Programm zuvor imBetriebssystem unter demselben Namen im entsprechenden Gateway gestartet haben.Die Kommandozeile dazu sieht z.B. für den Gateway-Service sapgw00 auf demGateway-Host arthur folgendermaßen aus:rfcexec –a Heribert –g arthur –x sapgw00,wenn das Programm unter dem Namen „Heribert“ registriert werden soll.

ErgebnisMit einer logischen Destination haben Sie festgelegt, auf welchem Rechner das Programmrfcexec gestartet werden soll. rfcexec ruft die Kommandodatei auf demselben Rechner auf. DenNamen dieser Kommandodatei wie auch Verzeichnis und Namen der zu übernehmenden IDocshinterlegen Sie in der Portbeschreibung [Seite 52].

Nachdem Sie die Portbeschreibung gepflegt und in den entsprechenden Partnervereinbarungen[Seite 212] Subsystem starten markiert haben, sieht der Ablauf mit Triggern folgendermaßen aus(s. untenstehende Abbildung):

1. Ausgangs-IDocs werden im SAP System erzeugt und in eine Datei geschrieben.

2. Das SAP System startet über RFC das Programm rfcexec.

Page 45: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgang: Folgesystem triggern

April 2001 45

3. rfcexec startet ein Skript (im Bild: out.script), dem es als Parameter Verzeichnis und Nameder neuen Datei übergibt (eine Zeichenkette).

4. Das Skript startet das Folgesystem.

5. Das Folgesystem liest die neue Datei und löscht sie anschließend. Es ist wichtig für einespätere Zuordnung von Statusinformationen zu IDocs im SAP System, daß das Folgesystemdie Nummern der übergebenen IDocs (Feld DOCNUM) speichert.

1

S

4

L

2RFC

rfcexec

IDoc-Schnittstelle

Folgesystem

3

out.script

S = Schreiben L = Lesen RFC = Remote Function Call

DOCNUMIDoc-Datei

5

Page 46: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingang: SAP System triggern

46 April 2001

Eingang: SAP System triggernIn diesem Abschnitt machen Sie das SAP System dem vorgelagerten System bekannt(Parameter des Programms startrfc). Über die Portbeschreibung [Seite 52] wird umgekehrt dasvorgelagerte System dem SAP System bekannt gemacht.

VoraussetzungenSie benötigen das Programm startrfc aus der RFC-Bibliothek.

VorgehensweiseGeben Sie das Kommando mit den unten angegebenen Anmelde- undFunktionsbausteinparametern ein. Beispielsweise könnte die Kommandozeile unter UNIXfolgendermaßen beginnen:startrfc -3 -d C11 -u EDIUSER...

Die Reihenfolge der Parameter ist jedoch bedeutungslos.

Anmeldeparameter

Parameter Wert (Beispiel) Beschreibung

-3 Anmeldung am R/3-System über RFC

-d C11 SAP System-ID. Diese finden Sie z.B. unten in derSystemleiste.

-u EDIUSER SAP-BenutzerGeben Sie den Namen in Großbuchstaben ein.

Aus Sicherheitsgründen sollten Sie einen CPIC-Benutzerverwenden, da dieser Benutzertyp nicht im Dialog verwendetwerden kann.

Der Benutzer braucht alle erforderlichen Berechtigungen.

-p KENNWORT Benutzerkennwort.

Geben Sie das Kennwort in Großbuchstaben ein.

-c 001 SAP-Mandant (Vorschlagswert: 000)Wie im Feld MANDT des Kontrollsatzes enthalten.

-l DE SAP Systemsprache (Vorschlagswert: EN)

-h arthur Anwendungsserver (message server):Rufen Sie SM51 auf. Der erste Teil des Feldes server name(getrennt durch Unterstriche) steht für denAnwendungsserver. Beachten Sie die Groß- undKleinschreibung.

-s 00 Zweistellige numerische Systemkennung (TCP/IP service):Rufen Sie SM51 auf. Der dritte Teil des Feldes server name(getrennt durch Unterstriche) steht für die Systemkennung.

Page 47: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingang: SAP System triggern

April 2001 47

-g arthur Gateway-Host:

1. Rufen Sie SE38 auf.

2. Geben Sie den Reportnamen RSPARAM ein.

3. Wählen Sie Ausführen und lassen Sie das Feld auchunsubstituiert anzeigen frei (dadurch erhalten Sie die Werte,die hinter den Systemvariablen stehen).

4. Wählen Sie Suchen (STRG-F).

5. Geben Sie rdisp/sna_g ein und bestätigen Sie.

6. Der Name des Gateway-Hosts steht in der Zeilerdisp/sna_gateway (evtl. nach rechts blättern.).

Beachten Sie die Groß- und Kleinschreibung.

-x sapgw00 Gateway-Service wie in /etc/services :

1.-5. Verfahren Sie nach den Schritten 1.-5. beim Gateway-Host (Parameter -g)

6. Der Name des Gateway-Services steht in der Zeilerdisp/sna_gw_service (evtl. nach rechts blättern.)

Beachten Sie die Groß- und Kleinschreibung.

-t Schreibt die Protokolldaten in die Datei dev_rfc imArbeitsverzeichnis.

Funktionsbausteinparameter für Eingangs-IDocs

Parameter Wert (Beispiel) Beschreibung

-F EDI_DATA_INCOMING Nur dieser Funktionsbaustein liest IDoc-Dateien!

-E PATHNAME=

/usr/sap/C11/SYS/global/EXT/in/<Dateiname>

Verzeichnis und Dateiname der Datei, die dasIdoc aufnimmt (max. 100 CHAR)

-E PORT=EXT Logischer Name des externen Systems wie inder Portbeschreibung vereinbart (max. 10CHAR)

ErgebnisSie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchenParametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52](Abschnitt „Eingang“) hinterlegen Sie dann den Namen des vorgelagerten Systems (in obigerTabelle heißt es EXT), damit das SAP System es kennt und die IDocs übernimmt (siehe PorttypDatei: Portbeschreibung pflegen [Seite 52], Eingang).

Page 48: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingang: SAP System triggern

48 April 2001

Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf bei getriggerterDateiübergabe folgendermaßen aus (s. untenstehende Abbildung):

1. Das vorgelagerte externe System schreibt die Daten im IDoc-Format in eine sequentielleDatei.

2. Das externe System startet das SAP System mit dem Programm startrfc.

3. Name und Verzeichnis der Datei (wie auch der Port) werden dem SAP System alsParameter von startrfc übergeben.

4. Das SAP System liest die Eingangsdatei und löscht sie anschließend. Es gibt keineStatusinformationen an das externe System zurück.

IDoc-Schnittstelle

vorgelagertes System

1

S

3

RFC

2

4

L

startrfc IDoc-Datei

S = Schreiben L = Lesen RFC = Remote Function Call

Page 49: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statusrückmeldung: SAP System triggern

April 2001 49

Statusrückmeldung: SAP System triggernWie beim Eingang von IDoc-Dateien muß das externe System das Programm startrfc aufrufen.Dabei unterscheidet sich der Aufruf für die Statusrückmeldung vom Fall Eingangs-IDoc nur inden Funktionsbausteinparametern. Für Status- und Eingangs-IDoc-Datei muß also startrfc mitjeweils unterschiedlichen Parametern gestartet werden.

VoraussetzungenSie benötigen das Programm startrfc aus der RFC-Bibliothek.

VorgehensweiseGeben Sie das Kommando startrfc mit den unten angegebenen Anmelde- undFunktionsbausteinparametern ein. Die Kommandozeile könnte etwa folgendermaßenbeginnen:startrfc -3 -d C11 -u EDIUSER...

Anmeldeparameter

Parameter Wert (Beispiel) Beschreibung

-3 Anmeldung am R/3-System über RFC

-d C11 R/3-System-ID. Diese finden Sie z.B. unten in derSystemleiste.

-u EDIUSER SAP-BenutzerGeben Sie den Namen in Großbuchstaben ein.

Aus Sicherheitsgründen sollten Sie einen CPIC-Benutzerverwenden, da dieser Benutzertyp nicht im Dialog verwendetwerden kann.

Der Benutzer braucht alle erforderlichen Berechtigungen.

-p KENNWORT Benutzerkennwort

Geben Sie das Kennwort in Großbuchstaben ein.

-c 001 SAP-Mandant (Vorschlagswert: 000)Wie im Feld MANDT des Kontrollsatzes enthalten.

-l DE R/3-Systemsprache (Vorschlagswert: EN)

-h arthur Anwendungsserver (message server):Rufen Sie SM51 auf. Der erste Teil des Feldes server name(getrennt durch Unterstriche) steht für denAnwendungsserver. Beachten Sie die Groß- undKleinschreibung.

-s 00 Zweistellige numerische Systemkennung (TCP/IP service):Rufen Sie SM51 auf. Der dritte Teil des Feldes server name(getrennt durch Unterstriche) steht für die Systemkennung.

Page 50: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Statusrückmeldung: SAP System triggern

50 April 2001

-g arthur Gateway-Host:

1. Rufen Sie SE38 auf.

2. Geben Sie den Reportnamen RSPARAM ein.

3. Wählen Sie Ausführen und lassen Sie das Feld auchunsubstituiert anzeigen frei (dadurch erhalten Sie die Werte,die hinter den Systemvariablen stehen).

4. Wählen Sie Suchen (STRG-F).

5. Geben Sie rdisp/sna_g ein und bestätigen Sie.

6. Der Name des Gateway-Hosts steht in der Zeilerdisp/sna_gateway (evtl. nach rechts blättern.).

Beachten Sie die Groß- und Kleinschreibung.

-x sapgw00 Gateway-Service wie in /etc/services :

1.-5. Verfahren Sie nach den Schritten 1.-5. beim Gateway-Host (Parameter -g)

6. Der Name des Gateway-Services steht in der Zeilerdisp/sna_gw_service (evtl. nach rechts blättern.)

Beachten Sie die Groß- und Kleinschreibung.

-t Schreibt die Protokolldaten in die Datei dev_rfc imArbeitsverzeichnis.

Funktionsbausteinparameter für Statusreports

Parameter Wert (Beispiel) Beschreibung

-F EDI_STATUS_INCOMING Nur dieser Funktionsbaustein liestStatusdateien!

-E PATHNAME=

/usr/sap/C11/SYS/global/EXT/status/<Dateiname>

Verzeichnis und Dateiname der Datei, die dieStatusinformation zu Ausgangsnachrichtenaufnimmt (max. 100 CHAR)

-E PORT=EXT Logischer Name des externen Systems wie inder Portbeschreibung vereinbart (max. 10CHAR)

ErgebnisSie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchenParametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52](Abschnitt „Status“) hinterlegen Sie dann den logischen Namen des vorgelagerten Systems (inobiger Tabelle heißt es „EXT“), damit das R/3-System es kennt und die Statussätze übernimmt.

Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf mit Triggern wie beiÜbergabe einer IDoc-Datei aus (s. untenstehende Abbildung):

Page 51: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statusrückmeldung: SAP System triggern

April 2001 51

1. Das vorgelagerte externe System schreibt die Statusrückmeldung im Format von IDoc-Statussätzen in eine sequentielle Datei.

2. Das externe System startet das SAP System mit dem Programm startrfc.

3. Name und Verzeichnis der Datei (wie auch der Port) werden dem SAP System alsParameter von startrfc übergeben.

4. Das SAP System liest die Statusdatei und löscht sie anschließend. Die Statussätze müssendie Nummern der Ausgangs-IDocs enthalten, auf die sie sich beziehen (Feld DOCNUM).Dadurch können sie diesen IDocs auf der Datenbank hinzugefügt werden.

IDoc-Schnittstelle

vorgelagertes System

1

S

3

RFC

2

4L

startrfc DOCNUM Statusdatei

S = Schreiben L = Lesen RFC = Remote Function Call

Page 52: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp Datei: Portbeschreibung pflegen

52 April 2001

Porttyp Datei: Portbeschreibung pflegenVorgehensweiseAusgangIm Ausgang legen Sie die Regeln für die Erzeugung der Ausgangsdatei fest. Wenn Sie dasFolgesystem per RFC triggern, machen Sie zusätzlich die Kommandodatei (Shell-Skript)bekannt. Im Bild zur Anleitung zum Triggern [Seite 44] heißt sie out.script.

Die User-Umgebung im Betriebssystem wird nicht ausgewertet. Dies bedeutet, daßSie alle Parameter in der Kommandodatei explizit setzen und alle Verzeichnisseabsolut angeben müssen.

1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

2. Positionieren Sie auf Datei und wählen Sie .

3. Benennen Sie den Port nach Ihrem externen System. Geben Sie eine Beschreibung und dieVersion (F1-Hilfe beachten!) der Satzarten an.

4. Wählen Sie Ausgangsdatei und geben Sie ein Verzeichnis ein.

Schließen Sie das Verzeichnis mit / (Schrägstrich) ab, da die Verzeichniszeile und dieDatei verkettet werden.

5. Um die Dateinamen zu erzeugen, wählen Sie einen entsprechenden Funktionsbaustein überdie F4-Hilfe aus. Von der Verwendung eines statischen Dateinamens wird dringendabgeraten, da diese Datei jedesmal überschrieben wird, wenn ein neues IDoc verschicktwird. SAP empfiehlt hier den Funktionsbaustein EDI_PATH_CREATE_CLIENT_DOCNUM.

Zur Verwendung von „logischen Verzeichnissen“ beachten Sie die F1-Hilfe auf dementsprechenden Feld.

6. Wenn Sie triggern wollen: Wählen Sie Ausgang: Triggern und geben Sie den vollständigenVerzeichnisnamen für die Kommandodatei (ohne den Namen der Datei selbst) in derVerzeichniszeile an. Schließen Sie wieder das Verzeichnis mit / (Schrägstrich) ab. Dielogische Destination haben Sie im Abschnitt Ausgang: Folgesystem über RFC triggern [Seite44] angelegt. Markieren Sie Automatisch startbar, um das Triggern „scharf zu schalten“.

Neben dem Zugangstest in der Portbeschreibung können Sie mit dem ReportSRFCTEST testen, ob das Programm rfcexec die Kommandodatei korrekt ausführt.Wählen Sie dazu im Report die Option RFC_REMOTE_EXEC und geben Sie ihreRFC-Destination und als Kommando Ihre Kommandodatei ein (oder ein explizitesKommando für einen Vortest).

EingangWenn das vorgelagerte System das SAP System per startrfc triggert, muß der-E PORT=

Page 53: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp Datei: Portbeschreibung pflegen

April 2001 53

Parameterwert von startrfc als Portname eingetragen werden. So haben Sie den Port schon inSchritt 3 beim Ausgang genannt.

Beim Triggern werden Name und Verzeichnis der Datei vom vorgelagerten System bestimmt.Die folgenden Einstellungen liefern daher nur Vorschlagswerte für die Testprogramme, die denDateiport verwenden [Seite 105]. Ansonsten sind sie wirkungslos.

1. Wählen Sie Eingangsdatei und geben Sie ein Verzeichnis als Eingabeparameter für Datenan.

Schließen Sie das Verzeichnis mit / (Schrägstrich) ab, da die Verzeichniszeile und dieDatei verkettet werden.

2. Geben Sie einen Dateinamen ein.

StatusdateienWenn das vorgelagerte System das SAP System per startrfc triggert, muß der-E PORT=

Parameterwert von startrfc als Portname eingetragen werden. So haben Sie den Port schon inSchritt 3 beim Ausgang genannt.

Beim Triggern werden Name und Verzeichnis der Statusdatei vom vorgelagerten Systembestimmt. Die folgenden Einstellungen liefern daher nur Vorschlagswerte für die Testprogramme,die den Dateiport verwenden [Seite 102]. Ansonsten sind sie wirkungslos.

1. Wählen Sie Statusdatei und geben Sie ein Verzeichnis an.

Schließen Sie das Verzeichnis mit einem / (Schrägstrich) ab, da die Verzeichniszeileund die Datei verkettet werden.

2. Geben Sie einen Dateinamen ein.

Sie setzen folgende Werte:

Wert... für...

EXT Name des externen Systems = Portname

/usr/sap/C11/SYS/global/EXT/in Verzeichnis für Eingangs-Idocs

/usr/sap/C11/SYS/global /EXT/out Verzeichnis für Ausgangs-IDocs

/usr/sap/C11/SYS/global /EXT/status Verzeichnis für Statusdaten

Page 54: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

CPI-C Verbindung zum R/2-System

54 April 2001

CPI-C Verbindung zum R/2-SystemDefinitionPorttyp für den direkten Zugang zu einem R/2-System über das CPI-C Protokoll.

VerwendungWeil hier immer das R/2-System das externe System ist [Seite 56], ergeben sich folgendeBesonderheiten und Einschränkungen im Vergleich zu den anderen Porttypen:

� Das R/3-System ist immer “aktiv”: Entweder holt es IDocs vom R/2-System ab [Seite 60],oder es schickt IDocs an das R/2-System. Daher sind in der Portbeschreibung [Seite 58]für den Ausgang fast dieselben Parameter vonnöten wie für den Eingang.

� Das R/3-System kann pro eingehendem IDoc höchstens einen Statussatz zurücksenden.Der IDoc-Typ SYSTAT01 kann nicht verwendet werden, da er im R/2-System nicht zurVerfügung steht.

� Ein R/2-IDoc kann immer nur genau einmal abgeholt werden. Daraus folgt, daß ALE-Verteilungsmodelle (IDocs an mehrere Adressaten) nur indirekt über ein R/3-System(das ALE Server-Konzept) realisiert werden können: Dazu muß das R/2-IDoc zunächstan ein R/3-System geschickt und von dort aus über einen R/3-ALE-Server an dieAdressaten verteilt werden.

� IDocs werden immer nur in den Satzarten der R/3-Releases 3.0/3.1 ausgetauscht. Damitist die Portversion mit 2 vorgegeben und nicht in der Portbeschreibung einstellbar.

� Das R/2-System unterstützt weder Erweiterungen noch die zu Release 4.0 eingeführtenlangen Namen. Lesen Sie zu den hierzu auftretenden möglichen Problemen denAbschnitt Kommunikation mit älteren Releases/Subsystemen oder R/2-Systemen [Seite34].

StrukturAustausch von IDocs zwischen R/2 und R/3Dem Protokoll der R/2-IDoc-Schnittstelle entsprechend holt das R/3-System IDocs vom R/2 aboder sendet IDocs, ist also immer das aktive System. Beim Abholen kann das R/3-Systembestimmen, welche der abholbereiten IDocs während der Verbindung übertragen werden sollen.Obligatorisches Hauptselektionskriterium hierbei ist der Port im R/2-System. Der Port istSperrobjekt in der R/2-IDoc-Schnittstelle. Für jedes logische System sollten Sie einen eigenenPort im R/2-System konfigurieren.

Versenden von IDoc-Statussätzen von R/3 nach R/2Die R/2-IDoc-Schnittstelle erwartet über versandte, d.h. abgeholte IDocs eineStatusrückmeldung. Auf der R/3-Seite können Sie den CPI-C Port so einrichten, daß fürempfangene IDocs Statussätze an das R/2-System zurückgesandt werden. Es gibt folgendeEinstellungen für das Senden von Statussätzen an das R/2-System:

� keine Statussätze senden

� sofort nach Empfang von IDocs Statussätze senden

Page 55: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

CPI-C Verbindung zum R/2-System

April 2001 55

� zeitlich versetzt, d.h. asynchrones Senden der Statussätze über einen eingeplantenReport

Es kann nur ein Statussatz pro IDoc (Status “12” = “Versand o.k.” = “IDoc erfolgreich vom R/3-System abgeholt”) zurückgeschickt werden. Weitere Verarbeitungsstationen im R/3-Systemkönnen dem R/2-System nicht über Statussätze rückgemeldet werden. Entsprechendes kannman aber über Response-Nachrichten erreichen, die in Prozeßketten modelliert werden.

KommunikationstechnikGrundlage der Kommunikation ist das SNA - Protokoll LU 6.2 (SNA = System NetworkArchitecture = spezielle Netzwerkarchitektur auf R/2-Seite; LU = Logical Unit, identifiziertProgramme oder Geräte in der SNA). Das CPI-C Protokoll faßt die LU 6.2-Befehle zu wenigenBefehlen zusammen, die leicht in der Programmierung verwendet werden können (daher derName: CPI-C = Common User Programming Interface - Communication). Die Kommunikationwird über ein Gateway abgewickelt, das die Architektur SNA kennt und u.a. den symbolischenNamen des Zielsystems einer Logical Unit in einer sideinfo-Datei zuordnet. Der Name desGateways wie auch der symbolische Name des Zielsystems stehen in der R/3-DatenbanktabelleTXCOM. So erkennt das R/3-System das aufzurufende R/2-System (s. folgende Abbildung, inder sich das Gateway auf R/3-Seite befindet).

R/3-System

Gateway-Server(SNA-fähig)

Host auf R/2-Seitemit Kommunikationssystem

IMS oder CICS

SNA-LU 6.2

Sideinfo-Einträge:z.B. Dateisideinfo

TabelleTXCOM

SNA, LU 6.2 und CPI-C wurden von IBM entwickelt. Das von SAP verwendete “CPI-C Protokoll” ist eine Modifizierung des ursprünglichen IBM-CPI-C.

Eine detaillierte Beschreibung der Kommunikation mit der R/2-IDoc-Schnittstelle finden Sie imR/2-Handbuch S53.2, Kapitel 8.

Page 56: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp CPI-C: R/2- und R/3-System koppeln

56 April 2001

Porttyp CPI-C: R/2- und R/3-System koppelnDas R/3-System meldet sich am System R/2 an, um IDocs dort abzuliefern oder abzuholen. Diedazu nötigen Anmeldedaten werden im R/3-System unter einer RFC-Destination gepflegt. DasZielsystem selbst (R/2-System) wie auch die technischen Eigenschaften der Kommunikationwerden in der Tabelle TXCOM gepflegt.

RFC-Destination pflegen

1. Um eine RFC-Destination anzulegen, wählen Sie Werkzeuge � Administration �Verwaltung � Netzwerk � RFC-Destinationen (SM59). Positionieren Sie auf R/2-Verbindungen und wählen Sie Anlegen.

Im Einstiegsknoten der IDoc-Schnittstelle springen Sie über IDoc � RFC-Destination andieselbe Stelle.

2. Geben Sie den Namen der RFC-Destination an (z.B. K50-Test) und den Verbindungstyp 2(Verbindung zum R/2-System). Beschreiben Sie die RFC-Destination. Diese Daten müssenSie nur eingeben, damit Sie Ihre Destination sichern können, für die CPI-C-Verbindungselbst sind sie ohne Bedeutung. Wichtig sind aber folgende Anmeldedaten:

� Mandant im R/2-System

� Anwender und Kennwort (“Paßwort”) im R/2-System

Sichern Sie Ihre Eingaben.

Auch wenn diese Transaktion als “Pflege von RFC-Destinationen” bezeichnet ist,werden beim Porttyp CPI-C hier nur die Anmeldedaten (Mandant, Anwender,Paßwort und Anmeldesprache) eingetragen, nicht aber das Zielsystem selbst! Dahermuß der Verbindungstest dieser Transaktion nicht notwendig erfolgreich sein. Dereigentliche Name des Zielsystems wird aus der Tabelle TXCOM als “symbolischeDestination” gelesen.

3. Wenn Sie beim Versenden von IDocs ein Verbindungsprotokoll erstellt haben möchten, dannmarkieren Sie noch das Feld Trace.

Eintrag in der Tabelle TXCOM pflegen

1. Wählen Sie Werkzeuge � Administration � Verwaltung � Netzwerk � TXCOM-Pflege(SM54). Wählen Sie .

2. Pflegen Sie als Destination den R/2 Systemnamen (etwa K50). Geben Sie neben demNamen folgende Parameter ein

� Gateway-Host und Gateway-Service

� Protokoll C ( = Partner über CPI-C erreichbar)

Gateway-Host und -Service können Sie über den Gateway-Monitor [Extern] oder denReport RSPARAM ermitteln.

3. Sichern Sie Ihre Angaben.

Page 57: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp CPI-C: R/2- und R/3-System koppeln

April 2001 57

Die “logische Einheit” (Spalte LU) und das Transaktionsprogramm (Spalte TP)werden nicht aus TXCOM, sondern aus der sideinfo-Datei des SNA-fähigenGatewayservers gelesen.

ErgebnisDas R/3-System “kennt” jetzt das R/2-System (TXCOM-Eintrag), und das R/2-System kennt dasR/3-System (Anmeldedaten). Fahren Sie fort mit

CPI-C Port einrichten: Portbeschreibung [Seite 58]

Page 58: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp CPI-C: Portbeschreibung pflegen

58 April 2001

Porttyp CPI-C: Portbeschreibung pflegenEinige der Parameter setzen Sie in Abhängigkeit des Kommunikationssystems (“DC-Systems”)des R/2 (CICS, IMS unter MVS/VSE oder UTM unter BS2000). Dafür finden Sie unten Beispiele.

1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle[Extern].

2. Positionieren Sie auf CPI-C und wählen Sie .

3. Benennen und beschreiben Sie den Port. Setzen Sie folgende CPI-C-Parameter:

� RFC-Destination (z.B. K50-Test) mit den Anmeldedaten für das System R/2

� Hostdestination

TXCOM-Eintrag mit den Daten für die technische Kommunikation (z.B. K50)

� Größe Puffer

Länge des CPI-C-Datenpuffers in Byte, der mit einem SEND- oder RECEIVE-Befehlübertragen wird. Der Maximalwert liegt hier bei 8191 Byte.

� Anzahl Puffer

Gibt an, wieviele SEND-Befehle abgesetzt werden, ehe ein RECEIVE-Befehl nachdem CPI-C-Protokoll gesendet wird. Ein SEND-Befehl entspricht einem Puffer.

� Zeichensatz im R/2. Diese Angabe ist für eine korrekte Konvertierung desDatenstromes notwendig.

� Übertragungsmodalitäten nach dem CPI-C-Protokoll. Beachten Sie dazu dieBeispiele unten. Die genaue Bedeutung der folgenden Parameter entnehmen Siedem R/2-Handbuch S53.2 (Beschreibung der CPI-C-Schnittstelle):

� Synchroner Übertragungsmodus

Falls der synchrone Übertragungsmodus gewählt wird, wird der ParameterAnzahl Puffer nicht ausgewertet.

� Empfangsbestätigung senden

Hier muß das R/2-System nach Datenübertragung eine Bestätigung versenden.Diese Bestätigung entspricht keiner Statusrückmeldung, also auch keinemneuen Status!

� Verbindungsabbau durch R/2

4. Setzen Sie noch eine Option für die Statusrückmeldung (Statusbericht) an das R/2-System:

Geben Sie an, ob die Statussätze sofort nach IDoc-Empfang, später (d.h. über einenReport [Seite 60] zeitlich gesteuert) oder gar nicht an das System R/2 zurückgesandtwerden sollen.

ErgebnisÜbertragungsparameter sind jetzt gesetzt. Für den IDoc-Eingang und für die spätereStatusrückmeldung ans R/2-System müssen Sie noch Reports einplanen. Lesen Sie dazu

Page 59: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp CPI-C: Portbeschreibung pflegen

April 2001 59

CPI-C Port (Eingang): Reports einplanen [Seite 60]

BeispielDatenkommunikationssystem CICS (Betriebssystem MVS/VSE)Der CPI-C-Datenpuffer sollte so groß wie möglich gewählt werden (mindestens 4 Kilobyte). DasProdukt aus der Größe des Puffers und der Anzahl der Puffer muß deutlich unter der Größe desCICS-Dialogpuffers von 32 KB liegen. Daraus ergibt sich eine Anzahl der Puffer zwischen 3 und6 (Beispiel: 4 KB � 6 = 24 KB).

Es empfiehlt sich, den synchronen Übertragungsmodus aus Performancegründen nichteinzuschalten.

Datenkommunikationssystem IMS (Betriebssystem MVS/VSE)In Abhängigkeit von der IMS Message Queue-Größe sollte die Länge des CPI-C-Datenpuffers 1bis 1½ KB nicht überschreiten.

Schalten Sie unter IMS die folgenden Übertragungsoptionen immer ein:

� Synchroner Übertragungsmodus

� Empfangsbestätigung senden

� Verbindungsabbau durch R/2

Datenkommunikationssystem UTM (Betriebssystem BS2000)Der CPI-C-Datenpuffer sollte zwischen etwa 5 KB und dem Maximum (8191 Byte) liegen. Für dieGröße des Dialogpuffers gibt es keine Einschränkungen.

Page 60: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp CPI-C (Eingang): Reports einplanen

60 April 2001

Porttyp CPI-C (Eingang): Reports einplanenEinsatzmöglichkeitenIm IDoc-Eingang müssen Sie einen Report einplanen, der die IDocs im R/2-System selektiertund dann ins R/3-System holt. Wenn nicht sofort, sondern später der Status “erfolgreichangekommen” zurückgemeldet werden soll, braucht man einen weiteren Report. Optional ist einspezieller Report, der im R/3-System abgespeicherte IDocs im Fehlerfall nachträglich von derAnwendung verarbeiten läßt.

AblaufAbholen von IDocsPlanen Sie den Report RSEINB10 ein, der IDocs aus dem R/2-System abholt. Geben Sie dabeifolgende Parameter ein:

� CPI-C-Port im R/3 (lokal)

Name des Ports vom Typ “CPI-C“, den Sie gerade in der IDoc-Schnittstelle angelegthaben.

� CPI-C Trace ausgeben

Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben.

� Zusätzliche Kriterien (z.B. Buchungskreis, Anwendungstransaktion oder logische Nachricht),nach denen IDocs im R/2-System ausgewählt werden.

Späteres Zurücksenden von IDoc-StatussätzenWenn Sie in der Portbeschreibung festgelegt haben, daß Statussätze später (also nicht direktnach Eingang des R/2-IDocs) rückgemeldet werden sollten, müssen Sie den Report RSESTA11einplanen, wieder unter Angabe der Ports:

� CPI-C-Port im R/3 (lokal)

Name des Ports vom Typ “CPI-C“, den Sie gerade in der IDoc-Schnittstelle angelegthaben. Im Feld “Absenderport” des IDoc-Kontrollsatzes (SNDPOR) muß dieser Nameenthalten sein, um bei der Selektion berücksichtigt zu werden

� CPI-C Trace ausgeben

Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben.

IDoc-Verarbeitung bei ProgrammunterbrechungDie IDoc-Eingangsverarbeitung besteht im wesentlichen aus zwei Schritten. Die übertragenenIDocs werden aus dem Datenstrom separiert und abgespeichert. Die Verbindung zum SystemR/2 wird abgebaut, und anschließend werden die IDocs an die entsprechende Anwendungübergeben, d.h. der für das jeweilige IDoc zuständige Geschäftsprozeß wird gestartet.

Für den Fall, daß es zu einer Programmunterbrechung zwischen Buchen und Verarbeiten desIDocs kam, können die dadurch nicht verarbeiteten, aber gebuchten IDocs nachträglich derVerarbeitung durch die Anwendung zugeführt werden. Dazu muß der Report RSEINB11gestartet oder als Job eingeplant werden. Einzig steuernder Parameter ist hier der im SystemR/2 gepflegte Port. Alle zu diesem Port gehörenden, auf Status 50 (IDoc hinzugefügt)

Page 61: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp CPI-C (Eingang): Reports einplanen

April 2001 61

stehengebliebenen IDocs werden der Verarbeitung zugeführt. Die Portzugehörigkeit wird ausdem Feld „Empfängerport“ (RCVPOR) im IDoc-Kontrollsatz ermittelt.

Page 62: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp Internet

62 April 2001

Porttyp InternetDefinitionUmwandlung von IDocs aus oder in E-Mails.

VerwendungÜber das Internet können IDocs mit jedem System ausgetauscht werden, das eine E-Mail-Adresse hat.

StrukturAufbau der E-MailEine IDoc-E-Mail enthält die IDocs als Anlage im MIME-Format (Multipurpose Internet MailExtensions).

Die Anlage hat den Dokumenttyp R3I, welcher entweder Referenzen auf IDocs (IDoc-Nummern)oder IDoc-Daten enthalten kann. Zur Umwandlung zwischen diesen beiden Formaten hat dieIDoc-Schnittstelle zwei Funktionsbausteine bereitgestellt.

Innerhalb des R/3-Systems wird die Anlage stets mit Referenzen gefüllt bzw. abgelegt.Außerhalb des R/3-Systems sind in der Anlage die IDoc-Daten selbst vorhanden.

AusgangsverarbeitungMit Hilfe der Parameter aus der Portbeschreibung wird eine Mail erzeugt, die als Anlagezunächst nur eine Menge von IDoc-Nummern trägt. Diese E-Mail wird dem FunktionsbausteinSO_OBJECT_SEND übergeben, der den weiteren Versand aus dem Business Workplaceübernimmt.

Der Workplace ruft den Funktionsbaustein EDI_IDOC_R3I_OUTGOING auf, der die IDocs(Kontrollsatz und Datensätze) im Format R3I, nämlich als Tabelle mit Struktur SOLI, zurückgibt.Diese Tabelle wird über SAPconnect dem SAP Internet-Mail-Gateway übergeben, das die Datenim MIME-Format ins Internet versendet. Dazu benutzt das Gateway das Programm sendmail,das unter UNIX schon zur Verfügung steht, unter Windows NT aber erst bezogen werden muß(siehe dazu die Dokumentation zum Internet-Mail-Gateway [Extern]).

Alternativ dazu kann über SAPconnect der MS Exchange Server oder ein anderes Gatewayangesteuert werden, das dann für den weiteren Versand ans Internet verantwortlich ist.

Page 63: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp Internet

April 2001 63

R/3-System

Tabelle der StrukturSOLI (255Zeichen),mit IDocs

gefüllt

Internet-Adresseaus der

Port-beschreibung

Gateway-Server:Internet-Gateway,

Programm sendmail

alter-nativ

Ans Internet angeschlossenerexterner Rechner

Gateway-Server:

z.B. MS ExchangeServer

TCP/IP

TCP/IP

EingangsverarbeitungDas Gateway (z.B. das SAP Internet-Mail-Gateway) ruft per RFC den SAPconnect-Funktionsbaustein SX_OBJECT_RECEIVE auf, der die E-Mail im MIME-Format übernimmt. DieMail wird dem Workplace-Funktionsbaustein SO_DOCUMENT_RECEIVE_API1 übergeben.

Der Workplace ruft daraufhin den Funktionsbaustein EDI_IDOC_R3I_INCOMING auf, der dieKonvertierung vom R3I- ins IDoc-Format vornimmt und die Eingangsverarbeitung der IDocs[Seite 22] startet. Voraussetzung dafür ist allerdings, daß der Mail-Empfänger der EDI-Eingangsverteilung zugeordnet ist (Abschnitt Benutzeradresse für Internet einrichten [Seite 65]).

Die Erzeugung der IDocs und deren Verarbeitung wird entweder vollständig oderüberhaupt nicht durchgeführt. Dazu wird EDI_IDOC_R3I_INCOMING als eigenerWork-Prozeß aufgerufen, damit bei Fehlern in der IDoc-Erzeugung oder –Verarbeitung die bis dahin aufgetretenen Datenbankveränderungen separatrückgängig gemacht werden können (Rollback).

Als Rückgabewerte erhält der Workplace eine Tabelle mit den IDoc-Nummern sowie den Namender Eingangsmappe, in die die Mail abgelegt werden soll. Diese Mappe stammt aus der Tabellefür die IDoc-Administration (Abschnitt: Internet-Port einstellen: Portbeschreibung [Seite 66]).

IntegrationWeitere Informationen zur Architektur finden Sie unter

SAPconnect [Extern]

BC - SAP Internet-Mail-Gateway [Extern]

SAP Exchange Connector [Extern] (für die Anbindung an den MS Exchange Server)

Page 64: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp Internet: SAPconnect einrichten

64 April 2001

Porttyp Internet: SAPconnect einrichtenUm den Internet-Port benutzen zu können, muß ein SAPconnect-Knoten [Extern] für denAdreßtyp INT vorhanden sein, über den der Versand abgewickelt wird. Über den Knoten wirdauch gesteuert, ob Sie über den Microsoft Exchange Server oder über das Internet-Mail-Gateway gehen.

Außerdem muß das Programm zum Abholen der Mails, der Sendeprozeß [Extern] vonSAPconnect, eingeplant sein.

VoraussetzungenBei Versand über SAP Internet-Mail-Gateway: Sie müssen das Gateway konfiguriert haben.Lesen Sie dazu die Dokumentation Internet-Mail-Gateway konfigurieren [Extern].

Vorgehensweise1. Gehen Sie in die SAPconnect-Administration über Werkzeuge � Business Communication

� Kommunikation � SAPconnect.

Sie erhalten eine Baumanzeige, in der die Knoten nach Adreßtyp aufgelistet sind, die sieunterstützen.

2. Prüfen Sie eventuell über Sicht � Routing, ob schon ein Knoten für den Adreßtyp INT(Internet) existiert.

3. Bestehende Knoten ändern Sie über oder fügen neue über ein. Wichtig sind folgendeParameter:

� RFC Destination

Mit der RFC Destination beschreiben Sie, auf welchem Rechner Sie über welchesProgramm entweder den Microsoft Exchange Server (über den SAP ExchangeConnector) oder das SAP Internet Mail Gateway starten.

� Adreßbereich beim Adreßtyp INT

Je spezieller Sie diesen Eintrag fassen, desto weniger Adressen werden über denjeweiligen Knoten abgewickelt.

Der Knoten KNOT1 unterstützt den Adreßbereich *sap-ag.de, der Knoten KNOT2den Bereich *C11.sap-ag.de, wobei C11 ein R/3-System ist. Wird eine E-Mail an<username>@C11.sap-ag.de versandt, wird der Knoten KNOT2 angesteuert.

� Unterstütztes Format beim Adreßtyp INT

Hier müssen Sie den Dokumenttyp R3I (Internet-IDocs) oder * (alle Formate) angeben

4. Planen Sie den Sendeprozeß als Hintergrundjob ein [Extern].

Page 65: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp Internet: Adresse für Internet einrichten

April 2001 65

Porttyp Internet: Adresse für Internet einrichtenDiese Einstellungen sind auch für den Ausgang wichtig: der E-Mail-Absender muß bekannt sein.

Vorgehensweise1. Wählen Sie vom Einstiegsbild der R/3-Systems Büro � Arbeitsplatz � Einstellungen �

Benutzereinstellungen.

2. Wählen Sie .

3. Wählen Sie Weitere Kommunikation... für die Kommunikationsart INT (Internet).

4. Tragen Sie Ihre Internet-Adresse in das Fenster ein, z.B. <Anwender>@<firma>.de.Sichern Sie Ihre Angaben.

5. Schließen Sie noch Ihre Internet-Adresse an die Eingangsverteilung an: Wählen Sie aus demR/3-Einstiegsbild Werkzeuge � Business Communication � Kommunikation � SAPconnectEinstellungen � Eingangsverteilung (SO28). Benutzen Sie für den neuen Empfänger die F4-Hilfe und wählen Sie EDI-Eingangsverteilung.

Nur durch diese Weiterleitung werden IDocs, die an Sie verschickt werden, verarbeitet.

Page 66: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp Internet: Portbeschreibung pflegen

66 April 2001

Porttyp Internet: Portbeschreibung pflegenVerwendungIn der Portbeschreibung wird die Internet-Adresse des Partners hinterlegt. Da hier der BusinessWorkplace zum Einsatz kommt, können Sie zur Kontrolle eine Workplace-Mappe angeben, in derdie ausgehenden IDoc-Mails als Workplace-Dokumente abgelegt werden.

VoraussetzungenPorttyp Internet: SAPconnect einrichten [Seite 64]

Porttyp Internet: Adresse für Internet einrichten [Seite 65]

Vorgehensweise1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

2. Positionieren Sie auf Internet und wählen Sie .

3. Benennen und beschreiben Sie den Port. Setzen Sie folgende Parameter:

� Internet-Adresse: Empfänger der Mail

� Ablage Office: Workplace-Mappe für ausgehende Mails, Mailattribute (Titel/Name) sowieder Absender der E-Mail. Dieser Absender ist nicht unbedingt mit dem Ersteller desWorkplace-Dokuments identisch.

� Mailtext: Diesen Text liest der Empfänger, wenn er die Mail öffnet (IDocs sind nurAnlagen)

4. Geben Sie in der IDoc-Administration [Seite 255] diejenige Workplace-Mappe an, in dereingehende Mails abgelegt werden sollen.

ErgebnisNun können Sie IDocs ins Internet verschicken und von dort empfangen.

Page 67: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

ABAP Programmierschnittstelle (PSS)

April 2001 67

ABAP Programmierschnittstelle (PSS)DefinitionAustausch der IDocs zwischen ABAP Funktionsbausteinen.

VerwendungHier ist zunächst das eigene System R/3 das „externe System", in dem die Weiterverarbeitungbeliebig programmierbar ist. So können Sie z.B. eigene Techniken der Übergabe an einFremdsystem programmieren.

StrukturPortbeschreibungSie geben nur den Namen des aufzurufenden (IDoc-Ausgang) oder aufrufenden (IDoc-Eingang)ABAP Funktionsbausteins an. In diesem Funktionsbaustein können Sie jede gewünschteVerarbeitung programmieren. Nur seine Schnittstelle ist vorgegeben.

Schnittstelle und Verarbeitung für den IDoc-Ausgang

Als Muster liefert SAP den Funktionsbaustein OWN_FUNCTION aus, der die IDoc-Daten liestund einen Statussatz pro IDoc schreibt (Status 18 für „kein Fehler", 20 für „Fehler"); bei Fehlernwird ein SAP Business Workflow gestartet.

Schnittstelle und Verarbeitung für den IDoc-Eingang

Ihr Baustein muß den SAP-Funktionsbaustein IDOC_INBOUND_ASYNCHRONOUS aufrufen,der die IDocs auf der Datenbank speichert und ein Ereignis auslöst. Dadurch wird dieEingangsverarbeitung asynchron gestartet.

Page 68: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Porttyp XML

68 April 2001

Porttyp XMLDefinitionAustausch der IDocs über XML-Dateien auf Betriebssystemebene. Die Namen der XML-Tagslehnen sich an diejenigen der IDoc-Satzarten bzw. der IDoc-Segmente an.

VerwendungXML ist als selbsbeschreibende internetfähige Sprache konzipiert. Im Gegensatz zu HTMLkönnen hier Tags definiert und in einer Document Type Definition bekannt gemacht werden.Dadurch ist XML erweiterbar und entspricht insbesondere dem Konzept der Neudefinition vonIDoc-Typen. IDocs im XML-Format können mit den entsprechenden Internet-Browsern sofortangezeigt werden. Insbesondere der Electronic Commerce-Bereich verwendet XML, aber auchklassische EDI-Anwendungen sollen XML-fähig werden.

StrukturPortbeschreibung [Seite 69]

Page 69: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Porttyp XML: Portbeschreibung pflegen

April 2001 69

Porttyp XML: Portbeschreibung pflegenIm Ausgang legen Sie die Regeln für die Erzeugung der Ausgangsdatei fest. Im Eingang hat diePortbeschreibung nur Einfluß auf die Testprogramme (s.u.).

Vorgehensweise1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

2. Positionieren Sie auf XML und wählen Sie . Geben Sie dem Port einen Namen undbestätigen Sie Ihre Eingabe.

3. In der Beschreibung geben Sie einen möglichst sprechenden Text an.

Der Text wird beim Einstiegsbild zur Portbeschreibung und in denPartnervereinbarungen angezeigt. Ein sprechender Text wäre z.B. „Dateien enthalten dieDTD“.

4. Registerkarte Ausgangsdatei: Sie können wählen, ob die IDocs zusammen mit derentsprechenden Document Type Declaration (DTD) in die XML-Datei geschrieben werdensollen.

Die DTD enthält die Tags, die im nachfolgenden XML-IDoc verwendet werden, also Tagsfür die IDoc-Satzarten und die einzelnen Segmente. Die Tags werden wie die einzelnenFelder benannt. So heißt die Anfangs-Ende-Tag-Sequenz für das Feld MESTYP desKontrollsatzes EDI_DC40 <EDIDC_40-MESTYP><EDIDC_40-MESTYP>.

5. Möglicherweise müssen Sie nationale Sonderzeichen wie ä,ö,ü in internationaleZeichenfolgen wie ae,oe,ue umsetzen. Dazu pflegen Sie die Umsetztabelle undmarkieren anschließend Sonderzeichen umsetzen. Beachten Sie aber, daß dieZeichenketten in den Segmentfeldern dann ihre Länge ändern können!

6. Wie beim Porttyp „Datei“ [Seite 52] geben Sie am besten einen Funktionsbaustein an,der die Dateinamen erzeugt. Die SAP-Empfehlung istEDI_PATH_CREATE_CLIENT_DOCNUM bzw.EDI_LPATH_CREATE_CLIENT_DOCNUM für logische Verzeichnisse. DieseFunktionsbausteine garantieren eindeutige Dateinamen und verhindern somit einÜberschreiben nicht verarbeiteter Dateien. Machen Sie einen Zugangstest für IhrVerzeichnis.

Die vom Funktionsbaustein erzeugten Dateinamen übersteuern den statischen Namen,den Sie im Feld Ausgangsdatei pflegen können. Ein statischer Name kann bei einemTestport sinnvoll sein: Ist Ihr Testport im entsprechenden Feld in der IDoc-Administration[Seite 253] eingetragen, und haben Sie keinen Funktionsbaustein angegeben, dann wirdder statische Name in den Testprogrammen [Seite 94] verwendet. Statische wiedynamische Dateinamen erhalten den Zusatz .xml in Windows/NT Betriebssystemen.

Logische Verzeichnisse werden betriebssystemabhängig in die in der Transaktion FILEgepflegten physischen Verzeichnisse aufgelöst. Beachten Sie hierzu auch die F1-Hilfeauf den Feldern logisches/physisches Verzeichnis.

7. Registerkarte Ausgang: Triggern: Verfahren Sie wie in Schritt 6 beim Porttyp „Datei“ [Seite52]. Machen Sie wieder einen Zugangstest.

Page 70: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partner vereinbaren

70 April 2001

Partner vereinbarenEinsatzmöglichkeitenPartner, mit denen Sie über IDocs kommunizieren, müssen in den Partnervereinbarungengepflegt sein: Hier wählen Sie, welche Nachricht auf welchem Weg an den Partner versandt wird,und wie eingehende Nachrichten verarbeitet werden.

Voraussetzungen� Für den Partner müssen Stammdaten im System vorhanden sein.

� Teil der Ausgangspartnervereinbarungen ist die Auswahl eines Ports. Diesen Port müssenSie zuvor eingerichtet haben. Lesen Sie dazu den Abschnitt Ports einrichten [Seite 40].

AblaufStandardablaufSinn und Zweck der Vorgangscodes [Seite 71]

Lesen Sie zunächst diesen Abschnitt, um sich mit dem Konzept der Vorgangscodes als Teil derPartnervereinbarungen vertraut zu machen.

Partnervereinbarungen im Standarddialog [Seite 76]

Sie regeln, mit wem Sie welche Nachrichten austauschen. Neue Partner und/oder Nachrichtenerfordern immer eine Erweiterung der Konfiguration.

Partnervereinbarung prüfen [Seite 86]

Ihre getroffenen Partnervereinbarungen können Sie auf Konsistenz und Vollständigkeit prüfen.

Alternativen zum StandardablaufSchnellerfassung in den Partnervereinbarungen [Seite 87]

Sie übernehmen Vorschlagswerte aus dem Customizing. Individuelle Änderungen sind über denStandarddialog nachträglich möglich.

Die Programmierschnittstelle (API) der Partnervereinbarung [Seite 88]

Partner können über spezielle Funktionsbausteine auch dialogfrei vereinbart werden.

Weitere FunktionenPartnervereinbarungen verschicken [Seite 92]

Partnervereinbarungen drucken [Seite 93]

Partnervereinbarungen können nicht transportiert werden. Sie werden imProduktivsystem gepflegt, nachdem die Stammdaten angelegt sind.

Page 71: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Sinn und Zweck der Vorgangscodes

April 2001 71

Sinn und Zweck der VorgangscodesDefinitionZweiter Name für eine bestimmte Verarbeitung, z.B. Funktionsbaustein oder Workflow. In dieserVerarbeitung werden IDocs gelesen oder geschrieben.

VerwendungIn den Partnervereinbarungen wird die Verarbeitung nie direkt, sondern immer nur über einenVorgangscode angesprochen. Dadurch können Sie auf einen Schlag bei beliebig vielen Partnerneine alte durch eine neue Verarbeitung ersetzen, indem Sie dieser den bestehendenVorgangscode zuordnen.

Zwei Arten von Vorgangscodes werden in diesem Zusammenhang in den Partnervereinbarungenverwendet:

� Vorgangscode Ausgang [Seite 72] - Wenn Sie den Ausgang unter Nachrichtensteuerungverwenden, wird das IDoc in der IDoc-Schnittstelle erzeugt. Der Vorgangscode benenntden dafür zuständigen Funktionsbaustein.

� Vorgangscode Eingang [Seite 73] - benennt den Funktionsbaustein oder Workflow, derdie IDoc-Daten liest und in den Anwendungsbeleg überführt.

Wenn Sie nicht wissen, welcher Vorgangscode für Ihren Geschäftsprozeß relevantist, aber den Nachrichtentyp kennen, so lassen Sie sich die für diesenNachrichtentyp definierten Vorgangscodes anzeigen: Wählen Sie dazuDokumentation � Vorgangscodes im Einstiegsknoten der IDoc-Schnittstelle oderverwenden Sie die F4-Hilfe in den Partnervereinbarungen, nachdem Sie denNachrichtentyp eingetragen haben.

Weiterhin gibt es noch die Vorgangscodes für die Ausnahmebehandlung:

� Vorgangscode System [Seite 74] - benennt den Workflow, der im Ausnahmefall imEingang oder Ausgang angestoßen wird.

� Vorgangscode Status [Seite 75] - benennt den Workflow, der im Ausnahmefall bei derStatusverarbeitung angestoßen wird.

Diese beiden Arten werden zentral und nicht partnerspezifisch eingestellt, ersparen bei derNeudefinition einer Verarbeitung also keine Arbeit. Sie wurden aber der Vollständigkeit halbereingeführt, damit jede Verarbeitung in der IDoc-Schnittstelle durch einen Vorgangscodeangesprochen wird.

Page 72: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Vorgangscode Ausgang

72 April 2001

Vorgangscode AusgangVerwendungBeim Ausgang unter Nachrichtensteuerung [Seite 11] wird über den Vorgangscode Ausgang dieVerarbeitung (Funktionsbaustein der Anwendung) gefunden, die die Anwendungsdaten liest undin ein IDoc stellt.

In folgenden Fällen müssen Sie die Vorgangscodes Ausgang bearbeiten:

� Sie haben einen Funktionsbaustein geschrieben (z.B. für einen eigenen IDoc-Typ), denSie durch einen neuen Vorgangscode benennen wollen

� Sie wollen dem Vorgangscode X einen anderen Funktionsbaustein zuordnen.

� Sie wollen die ALE-Dienste ein- oder ausschalten. Ein Abschalten der ALE-Dienste kannsich günstig auf die Performance (weniger Speicherbedarf) auswirken

FunktionsumfangDie Ausgangsvorgangscodes sind anwendungsspezifisch.

Aktivitäten� Den gewünschten Vorgangscode ermitteln Sie aus den entsprechenden

Partnervereinbarungen oder über Dokumentation � Vorgangscode im Einstiegsknoten derIDoc-Schnittstelle [Extern].

� Sie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung � VorgangscodeAusgang.

� Sie wählen Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.

Page 73: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Vorgangscode Eingang

April 2001 73

Vorgangscode EingangVerwendungÜber den Vorgangscode Eingang wird die Verarbeitung (Workflow oder Funktionsbaustein derAnwendung) gefunden, die die IDoc-Daten liest und daraus Anwendungsbelege erzeugt.

In folgenden Fällen müssen Sie die Vorgangscodes Eingang bearbeiten:

� Sie wollen eine neue Verarbeitung verwenden und brauchen dafür einen neuenVorgangscode

� Sie wollen dem Vorgangscode X eine andere Verarbeitung zuordnen

� Sie wollen die ALE-Dienste ein- oder ausschalten (nur möglich, wenn die Verarbeitungein Workflow ist!). Ein Abschalten der ALE-Dienste kann sich günstig auf diePerformance (weniger Speicherbedarf) auswirken.

FunktionsumfangDie Eingangsvorgangscodes sind anwendungsspezifisch. Von der IDoc-Basis wird speziell derVorgangscode ED08 ausgeliefert, der eingehende IDocs an verteilte R/3-Systeme weiterleitet(Funktion „Weiterleiten Eingang“). Diese Verarbeitung ist durch das Workflow-MusterWS30000483 definiert.

Aktivitäten� Den gewünschten Vorgangscode ermitteln Sie aus den entsprechenden

Partnervereinbarungen oder über Dokumentation � Vorgangscode im Einstiegsknoten derIDoc-Schnittstelle [Extern].

� Sie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung � VorgangscodeEingang.

� Sie wählen Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.

Page 74: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Vorgangscode System

74 April 2001

Vorgangscode SystemVerwendungTreten bei der Bearbeitung von IDocs bzw. Anwendungsdaten Fehler in der IDoc-Schnittstelleauf, so wird ein Workitem erzeugt. Die Typ des Workitems (die Standardaufgabe) ist abhängigvon der Art des Fehlers. Der Workflow steuert die Bearbeitung des Fehlers aus dem integriertenEingangskorb.

Weitere Informationen finden Sie unter

Ausnahmebehandlung [Seite 27]

FunktionsumfangFolgende Vorgangscodes werden im Standard ausgeliefert:

Vorgangscodes System

Vorgangscode Erklärung Standardaufgabe

EDII Fehler bei der Eingangsbearbeitung TS00008068

EDIO Fehler bei der Ausgangsbearbeitung TS00007989

EDIP Fehler bei Ausgangsbearbeitung eines IDoc-Stapels(Ausgabemodus „IDocs sammeln“)

TS60001307

EDIX IDoc-Syntaxfehler im Ausgang TS00008070

EDIY IDoc-Syntaxfehler im Eingang TS00008074

EDIM Fehler, bei dem noch keine Zuordnung mit einem IDocgetroffen werden konnte. (z.B. die Datei konnte nichtgeöffnet werden) Es existiert noch kein IDoc.

TS30000020

AktivitätenWenn Sie möchten, daß eine bestimmte Fehlerart auf andere Weise bearbeitet wird, als dies imStandard der Fall ist, dann ordnen Sie dem entsprechenden Vorgangscode eine andere Aufgabezu.

� Sie pflegen den Vorgangscode System aus dem Einstiegsknoten der IDoc-Schnittstelle[Extern] über Steuerung � Vorgangscode System.

� Wählen Sie Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.

Sie können von der Tabelle durch Doppelklick auf die Workflow-Definition derentsprechenden Aufgabe verzweigen.

Page 75: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Vorgangscode Status

April 2001 75

Vorgangscode StatusVerwendungWird vom externen System ein Fehlerstatus für versandte IDocs zurückgemeldet, so wird eineFehleraufgabe erzeugt.

FunktionsumfangFolgende Vorgangscodes sind im Standard mit folgenden Aufgaben gekoppelt:

Vorgangscode Status

Vorgangscode Erklärung Standardaufgabe

EDIS Fehlerstatus vom EDI-Subsystem zu einem Ausgangs-IDoc empfangen. Beim Ausführen des Workitems wirdder entsprechende Statussatz mit der Fehlernachrichtangezeigt.

TS30000078

EDIR Wie EDIS, nur daß Sie hier bei Ausführen desWorkitems das entsprechende Ausgangs-IDoc nochmalsverschicken können.

TS70008125

AktivitätenÜber die Statuspflege können Sie anzeigen oder ändern, bei welchen rückgemeldeten Statusdiese Vorgangscodes aktiv werden:

� Wählen Sie dazu im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �Statuswerte pflegen.

� Gehen Sie in die Detailanzeige eines Status. Der Vorgangscode EDIR ist im Standard z.B.beim Status 07 im Rahmen Wirkung hinterlegt.

Wenn Sie möchten, daß die Rückmeldung eines Status “fehlerhaft” auf andere Weise als imStandard bearbeitet wird, dann ordnen Sie dem entsprechenden Fehlercode eine andereStandardaufgabe zu.

� Sie pflegen den Vorgangscode Status aus dem Einstiegsknoten der IDoc-Schnittstelle überSteuerung � Vorgangscode Status.

� Wählen Sie Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.

Sie können von der Tabelle durch Doppelklick auf die Workflow-Definition derentsprechenden Aufgabe verzweigen.

Page 76: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partnervereinbarungen im Standarddialog

76 April 2001

Partnervereinbarungen im StandarddialogEinsatzmöglichkeitenSie legen Partnervereinbarungen ohne Vorschlagswerte aus dem Customizing an. Die Pflege istdamit am individuellsten, aber auch am aufwendigsten.

AblaufPartnervereinbarungen werden getrennt nach Ein- und Ausgangsverarbeitung getroffen. JederPartner muß allerdings in den allgemeinen Partnervereinbarungen vorgesehen sein. BeimAusgang unter Nachrichtensteuerung (NAST) müssen Sie zusätzliche Parameter einstellen.Gehen Sie für die Partnervereinbarungen zum Einstiegsknoten der IDoc-Schnittstelle [Extern].

Siehe auch:Allgemeine Partnervereinbarung [Seite 77]

Partnervereinbarung Ausgang [Seite 78]

Zusätzliche Parameter beim Ausgang unter NAST [Seite 81]

Partnervereinbarung Eingang [Seite 84]

Graphik: Abhängigkeiten und wichtige Felder der Partnervereinbarungen.

PartnerApplikation

VorgangscodeLogische Nachricht

Partner

Erlaubte Bearbeiter

Allgemein

Ausgang

PartnerNachricht

VorgangscodeErlaubte Bearbeiter

Eingang

NAST-Parameter

PartnerNachricht

PortIDoc-TypEDI-StrukturErlaubte Bearbeiter

Die vier Teile der Partnervereinbarungen entsprechen vier Tabellen, deren Schlüssel in derGraphik durch helle Felder angedeutet sind.

Page 77: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Allgemeine Partnervereinbarung anlegen

April 2001 77

Allgemeine Partnervereinbarung anlegenVoraussetzungenJe nach seiner Art müssen für den Partner bereits Daten im System vorhanden sein (z.B. einKreditorenstamm). Genaues finden Sie unter Prüfen von Partnern nach Partnerart [Seite 258].

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] IDoc �

Partnervereinbarung oder die Transaktion WE20.

Ihre Partner sind nach ihrer Art [Extern] (z.B. Lieferant) untergliedert. Partnerart und –nummer identifizieren den Partner in den Stammdaten eindeutig.

2. Positionieren Sie auf der gewünschten Partnerart (z.B. LI für Lieferant) und wählen Sie. Ihre weiteren Einträge machen Sie im rechten Bildbereich. Geben Sie dort die

Partnernummer (z.B. einen Ihrer Lieferanten) ein.

3. Sie können Ihre Partner in Partnerklassen einteilen (Registerkarte Klassifikation). Dannkönnen Sie mittels des API (siehe auch Unterabschnitt Die Programmierschnittstelle(API) der Partnervereinbarung [Seite 88]) eine neue Nachricht für alle Partner einerKlasse vereinbaren, indem Sie diese einmalig für die Klasse anlegen.

4. Setzen Sie den Partnerstatus auf “aktiv”, um mit Ihrem Partner zu kommunizieren(Registerkarte Klassifikation). Mit dem Status “inaktiv” können Sie die Kommunikation mitihm “abschalten”. Im Status “Vorlage” dient er als (inaktives) Musterprofil für das API derPartnervereinbarungen.

5. Für den Ausnahmefall (etwa fehlerhafte Übertragung von IDocs) legen Sie erlaubteBearbeiter fest (Registerkarte Nachbearbeitung: erlaubte Bearbeiter). WeitereInformationen zur Bearbeiterermittlung finden Sie unter Rollenauflösung in derAusnahmebehandlung [Seite 31]

6. Mit dem Archivkennzeichen geben Sie an, ob zu diesem Partner Unterlagen im Archivexistieren. Dieses Kennzeichen hat nur dokumentarischen Charakter (RegisterkarteKlassifikation).

7. Falls Ihr R/3-System über SAPphone an ein Telefonsystem angeschlossen und IhrRechner einem Telephonanschluß zugeordnet ist, können Sie partnerspezifischTelephoniedaten pflegen (Registerkarte Telephonie). Diese Daten finden Sie dann inder IDoc-Anzeige [Seite 120] der IDocs dieses Partners wieder, und Sie können perDrucktaste den Partner direkt anwählen.

Page 78: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgangspartnervereinbarung anlegen

78 April 2001

Ausgangspartnervereinbarung anlegenHier geben Sie die Daten von Hand ein. Alternativ dazu können Sie auch Vorschlagswerte ausdem Customizing übernehmen [Seite 87].

1. Falls Sie noch nicht im Änderungsbild Ihres gewünschten Partners sind, wählen Sie IDoc �Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

2. Im Knoten der gewünschten Partnerart positionieren Sie auf Ihren Partner. Wählen Sie unter der Tabelle Ausgangsparameter.

Schlüsselfelder3. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt.

Die Partnerrolle [Extern] aus den Stammdaten legt die Funktion des Adressaten fest, dientalso zur weiteren Unterteilung. Wenn der Ausgang unter Nachrichtensteuerung (NAST)gewählt wird, muß sich die Rolle mit dem entsprechenden NAST-Feld decken. Ansonsten istsie optional.

Handelspartner A will ein Material bei Handelspartner B bestellen. Partner B ist vonder Partnerart “LI” (Lieferant/Kreditor), als Partnerrolle muß der NAST-Wert “LF”(Lieferant) gewählt werden, da Bestellungen immer über die NAST laufen.

4. Benennen Sie mit der “logischen” Nachricht den Geschäftsprozeß, innerhalb dessen derIDoc-Typ eingesetzt wird. Die logische Nachricht wird durch drei Parameter beschrieben:Der Nachrichtentyp orientiert sich an EDIFACT-Nachrichtentypen: z.B. ist eineBestellung vom Typ “ORDERS”. Mit den optionalen Feldern Nachrichtenvariante undNachrichtenfunktion können Sie den Nachrichtentyp weiter untergliedern.

5. Setzen Sie das Testkennzeichen, wenn Sie die Nachricht testweise versenden wollen.

Nachricht, Partner und Testkennzeichen sind die sieben Schlüsselfelder derAusgangspartnervereinbarungen (hinzu kommt noch der Mandant). Beachten Siedazu auch die Graphik am Ende dieses Abschnittes.

Weitere Felder6. In der Registerkarte Ausgangsoptionen bestimmen Sie im Ausgabemodus, ob IDocs

sofort an das Folgesystem übergeben werden. Achten Sie hier auf sinnvolleKombinationen mit den Prioritäten der Nachrichtensteuerung, wenn Sie dieseAusgangsverarbeitung gewählt haben! Eine Liste solcher sinnvollen Kombinationenfinden Sie im Abschnitt Ausgangsverarbeitung unter NAST: Vorgehen [Seite 14].

7. Den Empfängerport haben Sie bereits in der Portbeschreibung [Seite 40] definiert.

8. Geben Sie den IDoc-Typ an, als Basistyp mit oder ohne Erweiterung [Seite 159]. FallsSie eine Sicht [Seite 172] auf Ihren IDoc-Typ nutzen wollen (z.B. um die Performance zuverbessern), geben Sie diese hier an.

Die folgende Graphik zeigt die m-zu-n-Beziehung von logischer Nachricht(betriebswirtschaftliche Bedeutung) und IDoc-Typ (technisches Format). Nachricht 1 istz.B. genau einem IDoc-Typ zugeordnet, während Nachricht 3 zwei IDoc-Typenzugeordnet ist. IDoc-Typ 2 ist seinerseits auch 2 logischen Nachrichten zugeordnet.

Page 79: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgangspartnervereinbarung anlegen

April 2001 79

Nachricht 1 Nachricht 2 Nachricht 3

IDoc-Typ 1 IDoc-Typ 3IDoc-Typ 2

9. Mit dem Segmentrelease geben Sie an, aus welchem Release die Segmentdefinitionen(nicht die Definition des IDoc-Typs!) stammt. Es wird empfohlen, dieses Feld leer zulassen, um die neueste Segmentdefinition zu verwenden. Nur falls über EDI-Subsystememit älteren R/3-Releases kommuniziert wird, sollte dieses Feld als unterstützendeInformation für das EDI-Subsystem gefüllt werden.

8. Auf der Registerkarte EDI-Standard können Sie dem Folgesystem - hier ein EDI-Subsystem - EDI-Standard, -Version und EDI-Nachrichtentyp vorschlagen. Diese EDI-Einstellungen sollten die meisten Subsysteme allerdings selbst (aus der logischenNachricht) ableiten können.

9. Sie können erlaubte Bearbeiter im Ausnahmefall festlegen. Diese übersteuern denEintrag aus den allgemeinen Partnervereinbarungen. Damit kann dieAusnahmebehandlung je nach Nachricht von unterschiedlichen Bearbeitern desselbenPartners vorgenommen werden.

10. Sie können einstellen, ob Syntaxfehler ignoriert werden oder ob sie zu einemVerarbeitungsfehler führen sollen (Syntaxprüfung in der RegisterkarteAusgangsoptionen). Zum Ausnahmefall und zu erlaubten Bearbeitern sei auch auf denUnterabschnitt Ausnahmebehandlung [Seite 27] verwiesen.

11. Falls Ihre Hardware das unterstützt, legen Sie partner- und nachrichtenspezifscheTelephoniedaten für Ausgangs-IDocs an. Weitere Informationen finden Sie unterAllgemeine Partnervereinbarung [Seite 77].

Graphik: Felder der Ausgangspartnervereinbarungen (allgemein)Schlüsselfelder sind grau dargestellt. Partner, Nachricht und Testkennzeichen (und derMandant) bestimmen also eindeutig den IDoc-Typ im Ausgang!

Page 80: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgangspartnervereinbarung anlegen

80 April 2001

Partner(Nummer, Art, Rolle)

Nachricht(Typ, Variante, Funktion)

Test?

Port IDoc-Typ, erlaubte Bearbeiter, ...

Page 81: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Zusätzliche Parameter beim Ausgang unter NAST

April 2001 81

Zusätzliche Parameter beim Ausgang unter NASTHier legen Sie zusätzliche Ausgangsparameter fest, die Feldern aus dem Nachrichtenvorschlagder Nachrichtensteuerung [Extern] (NAST) entsprechen. Da die IDoc-Erzeugung in diesem Fallin der Verantwortung der IDoc-Schnittstelle liegt, geben Sie hier zudem auch einenVorgangscode an.

Voraussetzungen� Die Nachrichtensteuerung ist im System vorhanden

� Sie haben im Anlegebild der Ausgangspartnervereinbarung bereits einen Partner mitPartnerrolle angelegt [Seite 78].

Die Partnerrolle kommt aus den Stammdaten und wird von der Nachrichtensteuerungüber die Tabelle NAST an die IDoc-Schnittstelle weitergereicht.

Vorgehensweise1. Falls Sie noch nicht im Änderungsbild mit der gewünschten Partnerrolle sind, markieren Sie

diese in der Tabelle Ausgangsparameter. Wählen Sie gegebenfalls , um in denÄnderungsmodus zu gelangen, und wählen Sie unter der Tabelle Ausgangsparameter.

2. Wählen Sie die Registerkarte Nachrichtensteuerung. Unter der Tabelle wählen Sie .

Schlüsselfelder3. Wie die Partnerrolle dient auch die Nachrichtenart der Zuordnung zum entsprechenden

Konditionselement [Extern] der NAST. Eine Bestellung hat etwa die Nachrichtenart “NEU”.

4. Benennen Sie die Anwendung in der Spalte Applikation (z.B. “EF” für “Einkauf Bestellung”).

Zusammen mit dem Änderungskennzeichen (zum Beispiel bei einer Bestelländerung)und dem Mandant bilden Partner, Nachrichtenart und Applikation die Schlüsselfelder derzusätzlichen Ausgangs-Partnervereinbarungen unter NAST. Beachten Sie dazu auch dieGraphik am Ende dieses Abschnittes.

Die folgende Tabelle gibt häufig verwendete Zuordnungen von NAST-Feldern(Anwendung, Partnerrolle und Nachrichtenart) zur logischen Nachricht der IDoc-Schnittstelle wieder.

Anwendung Partnerrolle Nachrichtenart

Änderung

log.Nachricht

EA LF NEU REQOTE

EF LF NEU ORDERS

EF LF NEU X ORDCHG

V1 AG AN00 QUOTES

V1 AG BA00 ORDRSP

V2 WE LAVA DESADV

Page 82: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Zusätzliche Parameter beim Ausgang unter NAST

82 April 2001

V3 WE AUS1 EXPINV

V3 RE RD00 INVOIC

Ein Nachrichtenvorschlag der NAST wird immer als Satz der Tabelle NAST abgelegt.Wurde also aus Ihrem Anwendungsbeleg bereits ein Nachrichtenvorschlag erzeugt,können Sie die „richtige“ Applikation, Partnerrolle und Nachrichtenart aus dieserTabelle entnehmen. Verwenden Sie dazu in der Transaktion SE16 IhreBelegnummer als Schlüssel.

Außerdem legen Sie im allgemeinen die Partnerrolle in einer Nachricht [Extern](Synonym: Konditionssatz) in der jeweiligen Anwendung fest. Damit können Siediesen Parameter bereits aus der Nachrichtendefinition ablesen.

Weitere Felder5. Benennen Sie mit dem Vorgangscode den Funktionsbaustein, der den Beleg in ein IDoc

umsetzt.

Zum Nachrichtentyp (logische Nachricht) und IDoc-Typ erhalten Sie über die F4-Hilfe dieerlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sieüber Dokumentation � Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.

ErgebnisSie haben den NAST-Feldern entsprechende Felder in der IDoc-Schnittstelle zugeordnet.Weiterhin haben Sie eine Zuordnung zu den allgemeinen Ausgangspartnervereinbarungen (s.Graphik) und indirekt zu den allgemeinen Partnervereinbarungen vorgenommen.

Sie sollten Ihre Einstellungen überprüfen [Seite 86].

Graphik: Felder der Ausgangs-Partnervereinbarungen (allgemein und NAST-spezifisch)Schlüsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner,Applikation und Nachrichtenart (mit Änderungskennzeichen) bestimmen also (zusammen mitdem Mandanten) eindeutig den IDoc-Typ im Ausgang!

Page 83: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Zusätzliche Parameter beim Ausgang unter NAST

April 2001 83

Partnervereinbarung Ausgang allgemein

Partner(Nummer, Art, Rolle)

Nachricht(Typ, Variante,

Funktion)Test?

Port IDoc-Typ, erlaubte Bearbeiter, ...

Zusätzliche Partnervereinbarung Ausgang unter NAST

Partner(Nummer, Art, Rolle)

Applikation Nachrichtenart;Änderungsnachricht?

VorgangscodeNachricht

(Typ, Variante,Funktion)

Page 84: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partnervereinbarung Eingang

84 April 2001

Partnervereinbarung EingangSie legen fest, welche Nachrichten Sie von welchem Partner akzeptieren wollen. Hier geben Siedie Daten von Hand ein. Alternativ dazu können Sie auch Vorschlagswerte aus dem Customizingübernehmen [Seite 87].

Vorgehensweise4. Falls Sie noch nicht im Änderungsbild Ihres gewünschten Partners sind, wählen Sie IDoc �

Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle.

5. Im Knoten der gewünschten Partnerart positionieren Sie auf Ihren Partner. Wählen Sie unter der Tabelle Eingangsparameter.

Schlüsselfelder1. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt.

Die Partnerrolle [Extern] ist optional.

Handelspartner B will elektronische Kundenaufträge von Handelspartner Aaufnehmen können. Er trägt dann Partner A in der Partnerart “KU” (Kunde) ein, diePartnerrolle kann als “AG” (Auftraggeber) gewählt werden.

2. Die Nachricht wird durch drei Parameter beschrieben: Der Nachrichtentyp orientiert sich anEDIFACT-Nachrichtentypen: Eine Bestellung ist z.B. vom Typ “ORDERS”. DurchNachrichtenvariante und -funktion können Sie den Typ weiter untergliedern.

3. Zusammen mit dem Testkennzeichen (und dem Mandant) bilden Nachricht und Partner dieSchlüsselfelder der Eingangspartnervereinbarungen. Das ist genau wie beim (allgemeinen)Ausgang. Beachten Sie dazu auch die Graphik am Ende dieses Abschnittes.

Weitere Felder4. Benennen Sie mit dem Vorgangscode den Prozeß (Funktionsbaustein oder Workflow), der

bei Eingang des IDocs angestoßen werden soll (Registerkarte Eingangsoptionen).

Zum Nachrichtentyp (logische Nachricht) und IDoc-Typ erhalten Sie über die F4-Hilfe dieerlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sieüber Dokumentation � Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.

Das aktuelle SAP-Release unterstützt keine Vorgänge mehr. Die Vorgangstechnikwurde durch den SAP Business Workflow abgelöst.

5. Sie können erlaubte Bearbeiter im Ausnahmefall festlegen. Diese übersteuern dann denEintrag aus den allgemeinen Partnervereinbarungen. Damit kann die Ausnahmebehandlung– beim selben Partner – je nach Nachricht von unterschiedlichen Bearbeitern vorgenommenwerden.

6. Sie können festlegen, ob Syntaxfehler im IDoc ignoriert werden sollen oder ob sie zu einerAusnahmebehandlung führen sollen (Registerkarte Eingangsoptionen, Feld Syntaxprüfung).

7. Auf der Registerkarte Eingangsoptionen legen Sie fest, ob das eingegangene IDoc sofortverarbeitet werden soll.

Page 85: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Partnervereinbarung Eingang

April 2001 85

Das Kennzeichen wirkt nur bei der direkten Eingangsverarbeitung [Seite 19]. In ALE-Verteilungsszenarien z.B. können eingegangene IDocs erst einmal “stillgelegt” und erstspäter im Hintergrund weiterverarbeitet werden.

8. Falls Ihre Hardware das unterstützt, legen Sie partner- und nachrichtenspezifscheTelephoniedaten für Eingangs-IDocs an. Weitere Informationen finden Sie unter AllgemeinePartnervereinbarung [Seite 77].

Graphik: Felder der EingangspartnervereinbarungenSchlüsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner,Nachricht und Testkennzeichen (und der Mandant) eines Eingangs-IDocs bestimmen alsoeindeutig den Vorgangscode und damit die Art der Eingangsverarbeitung!

IDoc-Kontrollsatz

Eingangspartnervereinbarungen

IDoc-Typ Partner(Nummer, Art, Rolle)

Nachricht(Typ, Variante, Funktion)

Test?

Partner(Nummer, Art, Rolle)

Nachricht(Typ, Variante, Funktion)

Test?

VorgangscodeEingang mit ALE?, erlaubte

Bearbeiter, ...

Page 86: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partnervereinbarung prüfen

86 April 2001

Partnervereinbarung prüfenVerwendungSie können Ihre Einträge in den Partnervereinbarungen automatisch prüfen lassen. Geprüft wirdbeispielsweise, ob die erlaubten Bearbeiter existieren oder ob es die angegebenenVorgangscodes gibt.

FunktionsumfangGeprüft wird pro Partner.

Aktivitäten� Wählen Sie IDoc � Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

� Positionieren Sie auf Ihren Partner (identifiziert durch Partnernummer und -art).

� Wählen Sie und im Folgebild . Sie erhalten eine Liste der Prüfaktivitäten und derenErgebnis. Bei fehlerhaften Partnervereinbarungen wird Ihnen mitgeteilt, woran es lag.

Es wird immer geprüft, ob die zusätzlichen Parameter beim Ausgang unterNachrichtensteuerung (Partnerrolle, Applikation...)

� vorhanden sind

� mit denen aus der entsprechenden allgemeinenAusgangspartnervereinbarung übereinstimmen

Diesbezügliche Warnungen können Sie daher ignorieren, wenn Sie den direktenAusgang (ohne Nachrichtensteuerung) verwenden.

Page 87: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Schnellerfassung in den Partnervereinbarungen

April 2001 87

Schnellerfassung in den PartnervereinbarungenVerwendungDie Schnellerfassung reduziert die Anzahl der Parameter, die in den Partnervereinbarungenangegeben werden müssen. Für die übrigen Parameter werden Vorschlagswerte aus demCustomizing übernommen.

Zur Bedeutung der einzelnen Parameter lesen Sie den Abschnitt

Partnervereinbarungen im Standarddialog [Seite 76]

VoraussetzungenSie müssen Vorschlagswerte eingestellt haben. Diese werden abhängig von Richtung undPartnerart definiert. Vorschlagswerte können Sie auf folgende zwei Arten einstellen:

� Im Customizing der IDoc-Schnittstelle unter Basis � Basis Services � IDoc-SchnittstelleBasis. Die entsprechende IMG-Aktivität ist Vorschlagswerte für Partnervereinbarungensetzen.

� Aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] unter Steuerung �Partnervereinbarung

Zur Vorgehensweise beachten Sie die IMG-Dokumentation Vorschlagswerte fürPartnervereinbarungen setzen [Extern]

Aktivitäten� Sie wählen IDoc � Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle. Sie

können einen bereits angelegten Partner markieren.

� Wählen Sie . Wenn Sie keinen Partner markiert hatten, geben Sie hier Ihren neuenPartner mit Nummer und Art an. Auf jeden Fall wählen Sie die Richtung aus.

� Sie erhalten eine Liste der im Customizing vorkonfigurierten Vorschlagswerte, geordnet nachdem Schlüsselfeld Nachrichtentyp. Die Nachrichtentypen, die bei Ihrem Partner bereits für diegewünschte Richtung eingetragen sind, werden allerdings ausgeblendet.

� Nachdem Sie den gewünschten Nachrichtentyp ausgewählt haben, werden die entsprechendenVorschlagswerte (Vorgangscode, erlaubte Bearbeiter etc.) für den Partner übernommen.

� Individuelle Parameter können Sie über die Partnervereinbarungen im Standarddialoganpassen.

Page 88: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Die Programmierschnittstelle (API) der Partnervereinbarung

88 April 2001

Die Programmierschnittstelle (API) derPartnervereinbarungVerwendungUm die Partnerdaten dialogfrei zu pflegen, verwenden Sie Funktionsbausteine der IDoc-Schnittstelle. Damit können Sie z.B. eine große Anzahl von Partnern der Datenbank hinzufügenund brauchen nicht die Partnerdaten am System einzugeben.

FunktionsumfangDie Funktionsbausteine greifen auf die vier Tabellen der Partnervereinbarung zu: EDPP1(Allgemeine Partnervereinbarung), EDP12 (Nachrichtensteuerung), EDP13(Ausgangsparameter), und EDP21 (Eingangsparameter).

Die Namen der Funktionsbausteine beginnen mit EDI_AGREE. Ihr Ende kennzeichnet diejeweilige Datenbankoperation.

Funktionsbausteine für EDPP1 (allgemeine Partnervereinbarung)

Name Beschreibung

EDI_AGREE_PARTNER_INSERT Fügt neuen Partner ein. Prüft vorher:

� Partnernummer existiert im System (z.B. Stammsatz)?

� Partnerart zulässig?

� Partnerstatus zulässig (“A”,”I”, oder “T”)?

� Bearbeiterart zulässig?

� Erlaubte Bearbeiter existieren?

� Test- und Archivkennzeichen nicht initial?

Partnerart und Partnernummer können auch ungeprüftübernommen werden

EDI_AGREE_PARTNER_UPDATE

Ändert Partner. Prüfungen wieEDI_AGREE_PARTNER_INSERT.

EDI_AGREE_PARTNER_DELETELöscht Partner

EDI_AGREE_PARTNER_READ Liest Partnerdaten

Funktionsbausteine für EDP12 (Nachrichtensteuerung)

Name Beschreibung

Page 89: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Die Programmierschnittstelle (API) der Partnervereinbarung

April 2001 89

EDI_AGREE_OUT_IDOC_INSERT

Fügt neuen Eintrag ein. Prüft vorher:

� Partner existiert in Tabelle EDPP1?

� Partnerrolle existiert in Tabelle TPAR?

� Applikation für Nachrichtenkonditionen undNachrichtenart existieren als Kombination?

� Änderungs- und Testkennzeichen nicht initial?

� Vorgangscode Ausgang existiert in Tabelle TEDE1?

� Logischer Nachrichtentyp existiert in Tabelle EDMSG?

EDI_AGREE_OUT_IDOC_UPDATE

Ändert eine Zeile. Prüfungen wieEDI_AGREE_OUT_IDOC_INSERT, Ausnahme: Es wird nichtgeprüft, ob der Partner in EDPP1 existiert.

EDI_AGREE_OUT_IDOC_DELETE

Löscht eine Zeile.

EDI_AGREE_OUT_IDOC_READ Liest eine Zeile.

Funktionsbausteine für EDP13 (Ausgangsparameter)

Name Beschreibung

EDI_AGREE_OUT_MESSTYPE_INSERT

Fügt neuen Eintrag ein. Prüft vorher:

� Partner existiert in Tabelle EDPP1?

� Partnerrolle existiert in Tabelle TPAR?

� Logischer Nachrichtentyp existiert in Tabelle EDMSG?

� Testkennzeichen und Syntaxprüfung nicht initial?

� Bearbeiterparameter gültig?

� Ausgabemodus gültig (Wert zwischen 1 und 4)?

� Port in Tabelle EDIPORT vorhanden?

� Paketgröße: (ALE-Szenario) Werden mehr als 0 IDocspro RFC versandt?

� Release existiert, zu dem die Segmentdefinitionengezogen werden sollen?

EDI_AGREE_OUT_MESSTYPE_UPDATE

Ändert eine Zeile. Prüfungen wieEDI_AGREE_OUT_MESSTYPE_INSERT, Ausnahme: Eswird nicht geprüft, ob der Partner in EDPP1 existiert.

EDI_AGREE_OUT_MESSTYPE_DELETE

Löscht eine Zeile.

EDI_AGREE_OUT_MESSTYPE_READ

Liest eine Zeile.

Funktionsbausteine für EDP21 (Eingangsparameter)

Page 90: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Die Programmierschnittstelle (API) der Partnervereinbarung

90 April 2001

Name Beschreibung

EDI_AGREE_IN_MESSTYPE_INSERT

Fügt neuen Eintrag ein. Prüft vorher:

� Partner existiert in Tabelle EDPP1?

� Partnerrolle existiert in Tabelle TPAR?

� Logischer Nachrichtentyp existiert der Tabelle EDMSG?

� Testkennzeichen und Syntaxprüfung nicht initial?

� Bearbeiterparameter gültig?

� Vorgangscode existiert in Tabelle TEDE2?

� Verarbeitungsmodus nicht initial?

EDI_AGREE_IN_MESSTYPE_UPDATE

Ändert eine Zeile. Prüfungen wieEDI_AGREE_IN_MESSTYPE_INSERT.

EDI_AGREE_IN_MESSTYPE_DELETE

Löscht eine Zeile.

EDI_AGREE_IN_MESSTYPE_READ

Liest eine Zeile.

Die folgenden Funktionsbausteine greifen auf mehrere Tabellen der Partnervereinbarungen zu:

Weitere Funktionsbausteine

Name Beschreibung

EDI_PARTNER_READ_COMPLETE Liest alle Partnervereinbarungen (EDPP1, EDP12, EDP13,EDP21) für einen speziellen Partner.

EDI_PARTNER_DELETE_COMPLETE

Löscht alle Partnervereinbarungen für einen speziellenPartner.

EDI_PARTNER_COPY_COMPLETEKopiert alle Partnervereinbarungen eines speziellenPartners.

EDI_PARTNER_APPL_READ_OUT Liest EDP13 für einen speziellen Partner. Der Partner mußden Partnerstatus “aktiv” haben.

EDI_PARTNER_READ_OUTGOING Liest EDP12 und EDP13 für einen speziellen Partner. DerPartner muß den Partnerstatus “aktiv” haben.

EDI_PARTNER_READ_INCOMING Liest EDP21 für einen speziellen Partner. Der Partner mußden Partnerstatus “aktiv” haben.

EDI_PARTNER_READ_USER_OUTGOING

Liest erlaubte Bearbeiter aus EDP13 bzw. EDPP1.

EDI_PARTNER_READ_USER_INCOMING

Liest erlaubte Bearbeiter aus EDP21 bzw. EDPP1.

EDI_PARTNER_TEST_OUTGOING Testet, ob ein Partner für die Ausgangsverarbeitungvorhanden ist.

EDI_PARTNER_TEST_INCOMING Testet, ob ein Partner für die Eingangsverarbeitungvorhanden ist

Page 91: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Die Programmierschnittstelle (API) der Partnervereinbarung

April 2001 91

Page 92: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partnervereinbarungen verschicken

92 April 2001

Partnervereinbarungen verschickenVerwendungSie können Partnervereinbarungen über den IDoc-Typ SYPART01 an ein externes Systemversenden. Diesem IDoc-Typ entsprechen im Standard EDIFACT die Nachrichten PARTIN undIMPDEF.

VoraussetzungenDa Sie in diesem Fall auch wieder die IDoc-Schnittstelle nutzen, müssen sieAusgangspartnervereinbarungen [Seite 78] für den IDoc-Typ SYPART01 pflegen. Die logischeNachricht hierfür heißt SYPART. Ein Mappingvorschlag für den Standard befindet sich in derDokumentation [Seite 152] zu diesem IDoc-Typ.

Vorgehensweise1. Gehen Sie in die Partnervereinbarungen (Einstiegsknoten der IDoc-Schnittstelle [Extern] �

IDoc � Partnervereinbarungen).

2. Wählen Sie einen Partner aus, dessen Daten Sie transportieren möchten.

3. Wählen Sie .

4. Geben Sie Art und Nummer des Partners an, an den Sie die Partnervereinbarungenverschicken wollen.

ErgebnisDas System verschickt ein IDoc des Typs SYPART01 an den von Ihnen ausgewählten Partner.

Page 93: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Partnervereinbarungen drucken

April 2001 93

Partnervereinbarungen drucken1. Wählen Sie in den Partnervereinbarungen einen Partner aus.

2. Wählen Sie und im Folgebild .

Sie können auch mehrere Partner auswählen, indem Sie die Selektionsbedingungenentsprechend erweitern (im Folgebild auswählen).

3. Sie können im angezeigten Baum nach Bedarf einzelne Knoten auf- oder wieder zuklappen.Außerdem können Sie durch Markieren einen Ausschnitt setzen, der dann alleinangezeigt wird.

4. Wenn Sie mit der Baumausgabe zufrieden sind, wählen Sie System � Liste � drucken.

Page 94: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Test der Verarbeitung

94 April 2001

Test der VerarbeitungVerwendungMit den Testprogrammen können Sie bestimmte Teilabschnitte in der Verarbeitungskette von derAnwendung zur Anwendung umgehen und damit Fehler lokalisieren. Mit ihnen kann aber auchein gesamter Geschäftsprozeß (z.B. Bestellung auf Kundenseite mit Buchen der Bestellung aufLieferantenseite) in einem R/3-System (ohne weitere Systeme) simuliert werden. Deshalb sindsie ein wichtiges Hilfsmittel beim Einrichten der IDoc-Schnittstelle wie auch beim Definierenneuer IDoc-Typen.

FunktionsumfangDie Abbildung unten zeigt, welche Testprogramme bei welchen Verarbeitungsschritteneingreifen: Beispielsweise wird beim “Test ab NAST” aus einem vorhandenenNachrichtenstatussatz (der über den Objektschlüssel auf die Anwendungsdaten zeigt) ein IDocfür den Ausgang der IDoc-Schnittstelle erzeugt.

Funktion Voraussetzung Ergebnis

Testwerkzeug [Seite 96] keine Je nach gewählter Richtungwerden ein oder mehrereEingangs- bzw. Ausgangs-IDocs erzeugt und an dieentsprechende Verarbeitungübergeben.

Ausgang ab NAST [Seite 100] Nachrichtenstatussatz derNachrichtensteuerung (NAST)liegt vor, zeigt auf dasAnwendungsobjekt (z.B.Bestellung)

Ausgangs-IDoc wird erzeugt.Je nach Partnervereinbarungwird es ans externe Systemweitergereicht

Ausgang ab IDoc [Seite 101] Ausgangs-IDoc liegt im Status30 vor

IDoc wird ans externe Systemweitergereicht

Eingang Statusdatei [Seite102]

Die Status müssen sich aufein vorhandenes Ausgangs-IDoc beziehen.

Die Status werden dembetreffenden Ausgangs-IDocals Statussätze angehängt. Jenach Status wird eineAusnahmebehandlungangestoßen.

Eingang mod. Ausg.Datei[Seite 104]

Datei mit einem odermehreren Ausgangs-IDocsliegt im Betriebssystem vor(Porttyp “Datei”)

IDoc wird erzeugt und an dieEingangsverarbeitung (bishinauf zur Anwendung)übergeben

Eingang orig. Eing.Datei[Seite 105]

Datei mit einem odermehreren Eingangs-IDocsliegt im Betriebssystem vor(Porttyp “Datei”)

IDoc wird erzeugt und an dieEingangsverarbeitung (bishinauf zur Anwendung)übergeben

Page 95: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Test der Verarbeitung

April 2001 95

Aktivitäten� Die Testwerkzeuge erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] im

Knoten Test.

� IDocs, die mit den Testwerkzeugen erzeugt wurden, werden durch einen besonderen Statusgekennzeichnet: Im Eingang ist es der Status 74, im Ausgang der Status 42.

Abbildung: Eingriff der Testwerkzeuge in den Verabeitungsfluß

Anwendung

IDoc-Schnittstelle

NAST

Datei (Ausgang) Datei (Eingang) Datei (Status)

NAST-Satz

IDoc

BetriebssystemID

oc

Test ab IDoc

Eing.mod.Ausg.-Datei

Testwerkzeug

Test ab NAST

IDoc

Testwerkzeug

IDoc

Eing.orig.Eing.-Datei

Stat

ussa

tz

EingangStatusdatei

Page 96: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Testwerkzeug

96 April 2001

TestwerkzeugVerwendungÜber das Testwerkzeug erzeugen Sie “von Hand” ein IDoc und führen es entweder derEingangs- oder Ausgangsverarbeitung zu. Sie sind von Porttypen unabhängig. Sie können miteinem IDoc-Typ (einem “leeren IDoc”) oder einem alten IDoc als Vorlage beginnen und diesesdann editieren, also etwa Segmente einfügen oder Daten ändern. Dadurch können Sieinsbesondere neue IDoc-Typen gut testen.

Im Eingang können Sie Ihr neues IDoc an die Standard-Eingangsverarbeitung übergeben (mitPrüfen der Partnervereinbarungen etc.). Sie können aber auch direkt einen Funktionsbausteinaufrufen. Dadurch können Sie etwa neue Funktionsbausteine zu neuen IDoc-Typen testen.

Aktivitäten� Sie starten das Testwerkzeug aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über

Test � Testwerkzeug. Sie können eine Vorlage für Ihr Test-IDoc verwenden.

IDoc-Typen als Vorlage können Sie entweder direkt oder nach einem Nachrichtentypauswählen. Bei IDocs als Vorlage können Sie die F4-Hilfe verwenden, die IDocs nachSelektionskriterien aussucht, analog z.B. zur IDoc-Anzeige [Seite 120]. Bei einer IDoc-Datei als Vorlage werden die IDocs aus dieser Datei gelesen und Ihnen zur Auswahlangeboten. Einen Vorschlagswert zur IDoc-Datei gibt Ihnen das System über IhrenTestport, den Sie in der IDoc-Administration [Seite 253] eintragen können. DieserTestport muß dann natürlich vom Typ „Datei“ sein. Die vorgeschlagene Datei ist die dorteingetragene Eingangsdatei.

� Sie erzeugen das IDoc über .

Das IDoc wird als Baum angezeigt. Im Fall, daß ein IDoc-Typ ohne Vorlage angelegtwird, muß mindestens noch ein Segment angefügt werden.

� Um Segmente [Extern] als Knoten im Baum anzulegen (farbige Felder), positionieren Sie aufeinen bereits vorhandenen Knoten (z.B. den Kontrollsatz ganz am Anfang) und wählen .

Einzelsegmente oder ganze Segmentgruppen können ausgeschnitten, eingefügt oderkopiert werden; dazu positionieren Sie auf das relevante Segment und wählen dieentsprechende Aktion aus dem Menü Bearbeiten aus.

� Sie klicken die weißen Felder an, um Daten in den Segmenten zu ändern.

Beim Kontrollsatz werden nur die für die Standard-Eingangsverarbeitung maßgeblichenDatenfelder angezeigt. Beachten Sie hier die Mußeingaben der Partnervereinbarungen,falls Sie das IDoc in den Standardeingang schicken wollen! Sie können auch alle Datendes Kontrollsatzes ändern: Wählen Sie dazu Alle Felder im Editierbild.

Im Editierbild alle Felder geben Sie die sprachenunabhängige Partnerrolle ein (z.B.AG für Auftraggeber). Dieses Bild ist das einzige in der IDoc-Schnittstelle, in dem diePartnerrolle nicht in Ihre Sprache übersetzt wird (im Englischen wird aus AG derVendor VD) - in den Partnervereinbarungen oder in der IDoc-Anzeige wird das Feldimmer übersetzt. Damit sehen Sie hier die Partnerrolle so, wie sie auf der Datenbank

Page 97: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Testwerkzeug

April 2001 97

gespeichert wird. Das ist ein eindeutiger Wert im R/3-System und damit vorVerwechslungen sicher.

� Das weitere Vorgehen richtet sich danach, ob Sie den Ein- oder den Ausgang testen wollen.

Testwerkzeug Ausgang: Vorgehen [Seite 98]

Testwerkzeug Eingang: Vorgehen [Seite 99]

Page 98: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Testwerkzeug Ausgang: Vorgehen

98 April 2001

Testwerkzeug Ausgang: Vorgehen1. Nachdem Sie Ihr IDoc fertiggestellt haben, wählen Sie Standardausgang. Wenn Sie

einen gültigen Port angegeben haben, wird Ihnen dieser zur Überprüfung mit Porttypangezeigt.

2. Entscheiden Sie, ob Sie die Ausgangsverarbeitung sofort starten wollen: Damit werdendie IDocs an den Port übergeben (Status 03), egal was in den Partnervereinbarungensteht. Wenn Sie das Kennzeichen nicht setzen, verbleiben die IDocs im Status 30 aufder Datenbank, wiederum unabhängig von den Einstellungen in denPartnervereinbarungen. Außerdem haben Sie die Möglichkeit, mehrere Kopien IhresIDocs zu verschicken (Wh.-faktor).

Wenn Sie die IDocs, die Sie im Status 30 mit dem Testwerkzeug auf die Datenbankgestellt haben, weiter an den Port übergeben wollen, dann verwenden Sie den Test:Ausgang ab IDoc [Seite 101]. Das hat den Vorteil, daß dann die Einstellungen in denPartnervereinbarungen ziehen. Insbesondere wird dann auch ein Folgesystem beiVerwendung des Dateiports getriggert, wenn das in den Partnervereinbarungen sovorgesehen ist.

3. Wählen Sie , um die Ausgangsverarbeitung zu starten.

Page 99: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Testwerkzeug Eingang: Vorgehen

April 2001 99

Testwerkzeug Eingang: Vorgehen1. Nachdem Sie Ihr IDoc fertiggestellt haben, wählen Sie eine der folgenden

Verarbeitungsmöglichkeiten aus:

� Standardeingang:

Das IDoc wird wie eines behandelt, das von einem externen System gesendetwurde. Es wird also zunächst auf der Datenbank gespeichert, dann werden dieentsprechenden Kontrollsätze mit den Eingangspartnervereinbarungen verglichenund schließlich der durch den Vorgangscode bestimmte Geschäftsprozeßangestoßen (siehe Eingangsverarbeitung [Seite 19]).

� Eingang Funktionsbaustein (Eingang über ALE):

Auch hier wird das IDoc zunächst auf der Datenbank gespeichert und dann direkt anden angegebenen Funktionsbaustein übergeben. Dieser kann im Debugging-Modusabgearbeitet werden. Ruft der Funktionsbaustein eine Transaktion auf, kann dieseim Hintergrund, im Vordergrund oder im Vordergrund ab Fehler geschehen. Dazumuß allerdings das ABAP-Kommando CALL TRANSAKTION den ImportparameterINPUT_METHOD in Verbindung mit MODE verwenden. Sonst wird die Transaktionimmer im Hintergrund abgearbeitet.

Direkt aufgerufene Funktionsbausteine müssen die ab Release 3.0 definierte ALE-Schnittstelle [Extern] besitzen.

� Eingang Datei:

Erzeugen oder Erweitern einer sequentiellen Eingangsdatei: Hier wird das IDoczunächst mit Status 68 (“Fehler, keine weitere Bearbeitung”) auf der Datenbank undanschließend in einer Datei gespeichert. Den Namen geben Sie explizit imEingabefenster an. Das System schlägt Ihnen einen Namen vor, den es aus demTestport der IDoc-Administration [Seite 253] ableitet. Wenn Sie IDoc-Eingangsverarbeitung sofort starten markieren, wird die Datei sofort weiterverarbeitetund anschließend gelöscht, falls die Verarbeitung erfolgreich war. Dieser Modusentspricht exakt dem Standard-IDoc-Eingang. Wird nicht sofort weiterverarbeitet,bleibt die Datei erhalten und kann zu weiteren Testzwecken verwendet werden.

Sie können das Test-IDoc mehrfach in die Datei schreiben und damit auch mehrfachder Eingangsverarbeitung zuführen (Wh.-Faktor).

2. Wählen Sie , um aus dem entsprechenden Bild heraus die Eingangsverarbeitung zustarten.

Page 100: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Test: Ausgang ab NAST

100 April 2001

Test: Ausgang ab NASTVerwendungDieses Testprogramm setzen Sie ein, wenn Sie die Nachrichtensteuerung (NAST) verwendenund die Erzeugung eines Ausgangs-IDocs aus einem vorhandenen Nachrichtenstatussatz(Tabelle NAST) testen wollen.

VoraussetzungenDie Anwendungsbelege, die über die NAST in IDocs umgesetzt werden sollen, müssen fehlerfreigebucht werden können, damit ein Nachrichtenstatussatz erzeugt werden kann. Bei denKomponenten Materialwirtschaft (MM) und Vertrieb (SD) sind dazu erforderlich:

� Kunden- bzw. Lieferantensätze

� Materialsätze

� Infosätze

� NAST-Konditionssätze: Hier muß das Ausgabemedium 6 (für EDI) sein. DieKonditionssätze pflegen Sie als “Nachrichten” aus der jeweiligen Anwendung heraus.

In der IDoc-Schnittstelle müssen entsprechende Dateiports und Partnervereinbarungenvorhanden sein.

Damit das Testprogramm eingreifen kann, muß die Ausgangsverarbeitung nach Erzeugen desNachrichtenstatussatzes gestoppt werden. Das erreichen Sie, indem Sie in der Anwendung imentsprechenden Konditionssatz den Versandzeitpunkt der NAST auf 1 setzen (Ausgabe mitSelektionslauf). Mit diesem Testprogramm starten Sie also nichts anderes als einenSelektionslauf, der ihre NAST-Sätze abholt und der weiteren Ausgangsverarbeitung zuführt. DasProgramm ist der Report RSNAST00, der auch generell beim Versandzeitpunkt 1 imProduktivbetrieb eingeplant wird.

AktivitätenNach Buchen des Anwendungsbelegs stoppt die Ausgangsverarbeitung nach Erzeugen desNachrichtenstatussatzes und wird durch das Testprogramm wieder angestoßen. Dazu wählenSie Test � Test Ausgang ab NAST aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern].

Fehler werden im Verarbeitungsprotokoll der Nachrichtensteuerung (Belegkopf) und in denStatussätzen der IDocs gespeichert. Die Statussätze sind allerdings nur vorhanden, wenn dasIDoc erzeugt werden konnte.

Page 101: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Test: Ausgang ab IDoc

April 2001 101

Test: Ausgang ab IDocVerwendungDieses Testprogramm selektiert ein oder mehrere Ausgangs-IDocs und reicht sie an das externeSystem weiter. Sie können die IDocs nach verschiedenen Kriterien (z.B. Empfänger oderbetriebswirtschaftlicher Nachricht) auswählen.

VoraussetzungenSie benötigen fehlerfrei erzeugte Ausgangs-IDocs (keine Status „fehlerhaft“). Dazu müsseninsbesondere die Partnervereinbarungen vollständig gepflegt worden sein.

Damit das Testprogramm eingreifen kann, muß die Ausgangsverarbeitung nach Erzeugen desAusgangs-IDocs gestoppt werden. Das erreichen Sie, indem Sie in der Partnervereinbarungder IDoc-Schnittstelle den Ausgabemodus auf “IDocs sammeln” setzen. Wenn Sie jetzt einAusgangs-IDoc für Ihren betreffenden Partner erzeugen (z.B. über die Anwendung oder dasTestwerkzeug), wird es nur im R/3-System erzeugt, nicht aber ans externe Systemweitergereicht. Mit diesem Testprogramm starten Sie also nichts anderes als einenSelektionslauf, der Ihr IDoc oder Ihre IDocs abholt und dem externen System zuführt. DasProgramm ist der Report RSEOUT00, der auch generell beim Ausgabemodus “IDocs sammeln”im Produktivbetrieb eingeplant wird.

AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Ausgang ab IDoc.

Sie können in der Partnervereinbarung den Ausgabemodus zusätzlich noch auf“Subsystem starten” oder “nicht starten” setzen. Damit bestimmen Sie, ob dasexterne (Sub-) System die überreichten IDocs weiterverarbeitet oder nicht.

Page 102: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Test: Eingang Statusdatei

102 April 2001

Test: Eingang StatusdateiVerwendungMit diesem Programm testen Sie, ob Statusrückmeldungen auf ein Ausgangs-IDoc vom externenSystem zum R/3-System richtig übergeben werden. Der Porttyp muß hier “Datei” sein.

VoraussetzungenSie benötigen eine formal richtige Statusdatei, die z.B. von einem EDI-Subsystem erzeugtwerden kann. Die Statusdatei muß sich auf ein vorhandenes Ausgangs-IDoc des R/3-Systemsbeziehen. Eine solche Statusdatei können Sie auch selbst erzeugen [Seite 103].

Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.

FunktionsumfangDas R/3-System liest die Statusdatei. Die dort angegebene IDoc-Nummer zeigt auf dasAusgangs-IDoc, auf das sich die Statusrückmeldung bezieht. Die rückgemeldeten Status werdendem betreffenden IDoc als Statussätze im R/3-System “gutgeschrieben”.

AktivitätenSie starten das Testprogramm über Test � Statusdatei verarbeiten und übergeben ihmEingangsport und Namen und Verzeichnis der Datei. Diese Angaben überschreiben dieDefaultangaben, die Sie in der IDoc-Administration [Seite 253] über den Testport hinterlegthaben.

Page 103: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statusdatei erzeugen

April 2001 103

Statusdatei erzeugenVerwendungSie können zu Testzwecken eine formal richtige Statusdatei im Betriebssystem erzeugen unddiese dann der Statusverarbeitung zuführen. Damit können Sie bei Fehlern z.B. testen, ob es amexternen System liegt (wenn es nämlich formal falsche Statusdateien produziert) oder am R/3-System.

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test � Statusdatei

erzeugen.

2. Geben Sie die Nummer eines Ausgangs-IDocs an, auf das sich die Statusrückmeldungbeziehen soll. Mit der F4-Hilfe können Sie IDocs nach bestimmten Selektionskriteriensuchen, analog z.B. zur IDoc-Anzeige [Seite 120].

Sie erhalten eine Auswahl von Statussätzen, die Sie übernehmen oder abändernkönnen.

3. Wenn Sie einen Statussatz hinzufügen wollen, so wählen Sie und füllen die einzelnenFelder. Über bzw. können Sie Statussätze kopieren und bei Bedarf noch editieren.

4. Für jeden einzelnen Statussatz können Sie die Nummer des Ausgangs-IDocs ändern, aufdas er sich beziehen soll. Damit wird er dem entsprechenden IDoc angehängt.

5. Wenn Sie alle Felder eines Statussatzes ändern wollen, dann markieren Sie den Satz imTable Control. Anschließend wählen Sie . Auch hier steht Ihnen die F4-Wertehilfe zurIDoc-Nummer oder zu den erlaubten Status zur Verfügung. Beachten Sie die F1-Hilfe zu deneinzelnen Feldern!

Um in den Statussätzen, die in der Statusverarbeitung auf die Datenbank geschriebenwerden, den „Urheber“ des Statussatzes zu identifizieren, trägt das System IhrenBenutzernamen und die Formroutine USER_ADDED im Programm MSEIDOC1 in diedafür vorgesehenen Felder des Statussatzes ein. Diese Informationen können Sie nichtändern. Auf der Datenbank können Sie sie beispielsweise über die IDoc-Anzeige [Seite120] wiederfinden (Registerkarte Protokollierung).

6. Wenn Sie die Daten nach Wunsch editiert haben, wählen Sie . Im Folgebild haben Sienoch die Möglichkeit, das Kennzeichen Statusverarbeitung sofort starten zu löschen unddamit nur die Statusdatei zu erzeugen. Damit können Sie sich die Datei im Betriebssystemansehen, die ansonsten im Verlauf der Statusverarbeitung gelöscht werden würde.

Um eine Statusdatei nachträglich zu verarbeiten, verfahren Sie wie in Test: EingangStatusdatei [Seite 102] beschrieben.

Page 104: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Test: Eingang modifizierte Ausgangsdatei

104 April 2001

Test: Eingang modifizierte AusgangsdateiVerwendungDieses Programm wandelt eine Ausgangsdatei mit IDocs in eine formal richtige Eingangsdateium und führt sie der Eingangsverarbeitung zu. Die Ausgangsdatei wird dabei nicht verändert, siekann also mehrfach verwendet werden. Der Porttyp muß hier “Datei” sein.

VoraussetzungenSie benötigen eine formal richtige Ausgangsdatei, wie sie etwa vom Testwerkzeug oder über dienormale Ausgangsverarbeitung erzeugt werden kann. In der Partnervereinbarung der IDoc-Schnittstelle muß ein Port vom Typ “Datei” angegeben werden, damit das oder die IDocs in eineDatei geschrieben werden.

Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.

FunktionsumfangDas Programm übernimmt vom Anwender Absender- und Empfängerdaten alsEingabeparameter. Es liest die IDoc-Datei und ändert die entsprechenden Einträge im IDoc-Kontrollsatz ab. Diese geänderten Daten schreibt es in eine zweite IDoc-Datei aufBetriebssystemebene.

Dann stößt es die normale Eingangsverarbeitung an, also

� Lesen der modifizierten Datei

� Erzeugung des oder der IDocs im R/3-System

� Verarbeitung in der Anwendung

AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Eing.mod.Ausg.-Datei.

Sie geben Empfänger- und Absenderdaten sowie Ausgangs- und zu erzeugende Eingangsdatei(Verzeichnis + Name) an. Ihre Angaben zur Eingangsdatei überschreiben die Defaultangaben,die Sie in der IDoc-Administration [Seite 253] hinterlegt haben.

Empfänger ist hier Ihr R/3-System. Identifiziert wird es durch den Port

� SAP<SYSID> (z.B. SAPC11)

Defaultwerte für den Partner sind

� Partnerart US

� keine Partnerrolle

� Partnernummer <Ihr SAP-Benutzername> (z.B. RSCHMIDT)

Page 105: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Test: Eingang Original-Eingangsdatei

April 2001 105

Test: Eingang Original-EingangsdateiVerwendungDieses Programm liest eine Eingangsdatei und führt sie der Eingangsverarbeitung zu. Nacherfolgreichem Lesen aller Daten wird die Datei gelöscht.

VoraussetzungenSie benötigen eine formal richtige Eingangsdatei. Formal richtig bedeutet für die IDocs dieserDatei:

� Absender und Empfänger im Kontrollsatz sind korrekt

� die Richtung im Kontrollsatz ist 2 (Eingang)

� der Mandant im Kontrollsatz und in den Datensätzen ist korrekt oder initial

Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.

FunktionsumfangDas Programm liest das oder die IDocs aus der Eingangsdatei und führt sie dann der normalenEingangsverarbeitung (mit Verarbeitung innerhalb der Anwendung) zu.

Konnte die Datei erfolgreich gelesen werden, wird sie gelöscht!

AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Eing.orig.Eing.-Datei und übergeben Ihm folgende Daten:

� Eingangsport

� Name und Verzeichnis der Datei

Diese Angaben überschreiben die Defaultangaben, die Sie über den Testport in der IDoc-Administration [Seite 253] hinterlegt haben.

Page 106: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Test: Verarbeitungszyklus mit dem CATT

106 April 2001

Test: Verarbeitungszyklus mit dem CATTVerwendungUm sicherzustellen, daß die IDoc-Verarbeitung funktioniert, können Sie einen Testzyklus fahren.Dabei werden automatisch Testdaten erzeugt, als IDoc verschickt und aus dem IDoc wieder imEingang verarbeitet. Damit stellen Sie zwar nicht sicher, daß Ihr spezieller IDoc-Typ mit Ihrenspeziellen Daten fehlerfrei verarbeitet wird. Sie verifizieren aber, daß die Verarbeitung im Prinzipfunktioniert.

Der Test wird mit dem Computer Aided Test Tool [Extern] (CATT) als Testkatalog realisiert.

VoraussetzungenUm das Ergebnis der Testfälle im Rahmen eines Testplans festzuhalten, müssen Sie zunächsteinen solchen erzeugen. Dem Testplan ordnen Sie ein oder mehrere Testpakete zu. DiesenTestpaketen werden wiederum einzelne Personen zugeordnet, die die darin enthaltenenTestfälle abarbeiten. Weitere Informationen finden Sie unter

Die Test Workbench im R/3-System [Extern]

FunktionsumfangDer CATT-Testkatalog besteht aus den folgenden Testfällen:

� Einrichten eines Ports, einer Eingangs- und einer Ausgangspartnervereinbarung

� Erzeugen eines IDocs vom Typ SYIDOC01 Im IDoc wird die Definition des IDoc-TypsTXTRAW01 übertragen.

� Ausgabe des IDocs in eine Ausgangsdatei.

� Umwandeln der Ausgangs- in eine Eingangsdatei und Übergabe an dieEingangsverarbeitung. Die Verarbeitung des Eingangs-IDocs wird über den VorgangscodeTXT1 identifiziert: Das System schickt an Sie eine Mail, die den Text aus dem SYIDOC01-IDoc enthält.

� Löschen der Testdaten, einschließlich der beiden Test-IDocs

Der CATT-Testkatalog wird auch als (komplexer) Testfall bezeichnet.

Aktivitäten� Sie starten den Test aus der IDoc-Administration: Wählen Sie im Einstiegsknoten der IDoc-

Schnittstelle [Extern] Steuerung � IDoc-Administration � Verifikation Verarbeitung. Sieerhalten die einzelnen Testfälle, die sie einzeln oder zusammen ausführen können.

� Zur Einzelausführung eines Testfalls klappen Sie den enthaltenden Knoten auf, positionierenauf dem Testfall und wählen . Sie können den Testfall auch auf einem anderen Systemausführen, das durch eine logische Destination identifiziert wird.

� Das Ausführen eines Testfalls erzeugt einen CATT-Vorgang, der protokolliert wird. DasTestprotokoll wird unmittelbar nach Ausführen des Testfalls angezeigt. Der Vorgang erhälteine eindeutige Nummer und wird gelöscht, sobald sein Verfallsdatum erreicht ist. DasVerfallsdatum sehen Sie, wenn Sie Bearbeiten � Vorgangsattribute wählen.

Page 107: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Test: Verarbeitungszyklus mit dem CATT

April 2001 107

� Sie können sich die Attribute eines Testfalls anzeigen lassen: Wählen Sie dazu . Innerhalbder Attribute können Sie sich über die Programme anzeigen lassen, die den Testbausteinausführen.

� Nach dem Test der Eingangsverarbeitung sollte eine SAPoffice-Mail in Ihrem integriertenEingangskorb erscheinen. Den erreichen Sie z.B. vom R/3-Einstiegsbild über Büro �Eingang. Der Test wird dann als erfolgreich eingestuft, wenn das IDoc den Status 64 (IDocübergabebereit an Anwendung) hat.

Eigentlich ist die Eingangsverarbeitung erst dann erfolgreich abgeschlossen, wenndas IDoc den Status 53 (in der Anwendung erfolgreich verarbeitet) erhält. Da dieserTeil der Verarbeitung aber asynchron angestoßen wird, kann der CATT-Vorgangnicht auf diesen Status warten.

Den gesamten Testkatalog führen Sie aus, indem Sie auf Test der IDoc-Schnittstellepositionieren und Testfall wählen.

Weitere Informationen finden Sie unter

Automatische Testfälle ausführen [Extern]

Page 108: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Überwachung/Monitoring

108 April 2001

Überwachung/MonitoringVerwendungSie können Eingang wie Ausgang von IDocs mit speziellen Reports und graphischer Anzeigekomfortabel und effektiv überwachen. Per Workflow kann sogar automatisch ein zuständigerSachbearbeiter im “Krisenfall” benachrichtigt werden (aktives Monitoring).

FunktionsumfangZum passiven Monitoring gehören die folgenden Werkzeuge:

� IDoc-Statistik [Seite 109]

Dort werden die IDocs nach vordefinierten Statusgruppen sortiert und graphischdargestellt. Per Mausklick gelangen Sie in Listen wie auch in die Einzelanzeige vonIDocs.

� IDoc-Listen [Seite 114]

Dort können Sie die IDocs nach Partnern und Nachrichtentypen auwählen. PerMausklick gelangen Sie in die Einzelanzeige von IDocs. Fehlerhafte IDocs werdenfarblich hervorgehoben

� IDoc-Anzeige [Seite 120]

Dort werden die Auswahlkriterien auf die technischen Felder des Kontrollsatzeserweitert, also neben Partnern und Nachrichten auch

- IDoc-Nummern

- Ports

- IDoc-Typen

Über eine IDoc-Nummer gelangen Sie direkt zur Baumanzeige des IDocs. Werdenmehrere IDocs ausgewählt, gelangen Sie wieder zur IDoc-Liste. Dieser Report bietetSelektionskriterien, die speziell zum Testen von EDI-Subsystemen geeignet sind (z.B.Auswahl nach Übertragungsdatei).

� IDoc-Suche [Seite 137]

Sie können IDocs nach ihrem betriebswirtschaftlichen Inhalt selektieren, also nach denDaten, die in den Segmenten enthalten sind.

Der letzte Abschnitt erläutert

Aktives Monitoring [Seite 124]

Page 109: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Statistik

April 2001 109

IDoc-StatistikVerwendungDie IDocs werden für die Statistik nach ihrem Verarbeitungsstatus gruppiert. Dabei gelten dieunten tabellierten Statusgruppen. Ausgewählt werden immer nur die IDocs, die innerhalb desfestgesetzten Zeitintervalls eine Statusänderung erfahren haben.

Die Statusgruppen der Statistik

Ausgang Eingang

erzeugt erzeugt

versandfertig übergeben an Anwendung

in Übertragung (übergeben an externes (Folge-) System) übergeben an Dialog

Übertragung erfolgreich (im Zielsystem)

im Zielsystem abgeschlossen in Anwendung abgeschlossen

fehlerhaft in IDoc-Schnittstelle fehlerhaft in IDoc-Schnittstelle

fehlerhaft im externen System fehlerhaft in Anwendung

mit Löschkennzeichen mit Löschkennzeichen

Durch Doppelklick auf einzelne Leisten gehen Sie zunehmend ins Detail: Beim Doppelklick z.B.auf eine Statusgruppe erhalten Sie die IDocs nach einzelnen Status sortiert, beim Doppelklickauf einen Status erhält man die Liste der zugehörigen IDocs, und beim Doppelklick auf eineinzelnes IDoc bekommen Sie schließlich dessen Baumanzeige.

Sie können die Zuordnung der einzelnen Status zu den Statusgruppen ändern [Seite 112].

FunktionsumfangFolgende Auswahlkriterien stehen der Statistik zur Verfügung:

� Standardauswertung

Sie enthält nur das Zeitintervall der Statusänderungen.

� Erweiterte Selektion

Sie enthält zusätzliche Einschränkungen, etwa Nachrichtentyp, Partner und deren Ports.Im Selektionsbild können Sie nach diesen Kriterien auch gruppieren (Auswahlknopf), d.h.die Statistik wird dann für die einzelnen Gruppen separat erstellt.

� Auswertung Historie

Hier wird die Statistik darüber erstellt, was mit fehlerhaften IDocs vom Sachbearbeiterunternommen wurde: Von den IDocs, deren aktueller Status im fraglichen Zeitintervallgeändert wurde, werden die ausgewählt, die irgendwann einmal einen zu denStatusgruppen “fehlerhaft” (siehe obige Tabelle) gehörigen Status erhielten. Dabei kannman auch erweiterte Selektionskriterien benutzen. Unterteilt wird nun danach, ob der

Page 110: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Statistik

110 April 2001

Fehler behoben wurde oder nicht, oder ob die IDocs zum Löschen vorgemerkt sind(“Löschkennzeichen”).

� ALE-Audit

Hier wird der IDoc-Datenfluß zwischen zwei R/3-Systemen im ALE-Szenario dargestellt.Daher geht die Statistik über den Ausgang des eigenen Systems und den Eingangdes Zielsystems; Selektionskriterien sind logisches Empfangssystem undNachrichtentyp. Gruppiert wird hier zunächst nach einzelnen Tagen! Erst nachDoppelklick auf eine “Tagesleiste” werden die IDocs nach ihrem letzten Status, nichtnach ihren Statusgruppen, zusammengefaßt.

Beachten Sie, daß auch Status im R/3-Zielsystem (Synonyme: “Queue Eingang”oder “Empfangssystem”) ausgegeben werden! Ein Status 64 (“IDoc istübergabebereit an die Anwendung”) bezieht sich also auf die Anwendung desZielsystems.

� Selektion der Test-IDocs

Mit dem Enjoy Release erhalten IDocs, die von den Testwerkzeugen aus erzeugtworden sind, einen speziellen Status [Seite 94]. Nur diese IDocs werdenberücksichtigt..

Statistik: Technische Realisierung [Seite 113]

AktivitätenSie starten die Statistik aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc �Statistik. Von dort verzweigen Sie in die einzelnen Auswertungen, zum Beispiel in

Statistik erstellen: Standardauswertung [Seite 111]

Statusgruppen ändern [Seite 112]

Page 111: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statistik erstellen: Standardauswertung

April 2001 111

Statistik erstellen: Standardauswertung1. Geben Sie Im Einstiegsbild der Statistik das gewünschte Datum und die gewünschte Uhrzeit

ein (bzw. ein Datums- und Zeitintervall).

2. Wählen Sie .

3. Sie erhalten die gewünschten Zahlen, die Sie dann über Grafik gesamt imBlockdiagramm veranschaulichen können. Um das Grafikfenster zu verlassen, wählen Sie

.

4. Um die IDocs in den einzelnen Statusgruppen als Liste ausgeben zu lassen, doppelklickenSie auf die entsprechenden Zahlenfelder.

5. Aus der angezeigten Liste heraus können Sie sich ein einzelnes IDoc wieder mit Doppelklickherausgreifen und als Baum (Kontroll-, Statussatz und Segmente) anzeigen lassen.

Page 112: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Statusgruppen ändern

112 April 2001

Statusgruppen ändern1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung � Statuspflege.

Sie erhalten eine Liste der definierten Status.

2. Markieren Sie den Status, den Sie einer anderen Statusgruppe zuordnen wollen, und wählenSie Tabellensicht � anzeigen/ändern. Durch Doppelklick gelangen Sie auf das Detailbild.

3. Die Statusgruppe findet sich im Feld “Qualifizierung”. Benutzen Sie die F4-Hilfe zurErläuterung der Zahlen.

4. Wählen Sie Sichern.

Dem Status 25 “Weiterverarbeitung trotz Syntaxfehler (Ausgang)” ist dieStatusgruppe 1 = “Ausgang: IDoc erzeugt” zugeordnet. Sie überschreiben die 1 miteiner 5 für “Ausgang: Fehler in der IDoc-Schnittstelle”.

Page 113: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Statistik: Technische Realisierung

April 2001 113

Statistik: Technische RealisierungDie IDocs werden nach ihren Statuswerten gelesen. Da für alle Statistikprogramme nur derletzte, aktuelle Status interessant ist (Ausnahmen: Auswertung Historie, Auswertung der Test-IDocs) , greifen sie (aus Performancegründen) nur auf die Tabelle der Kontrollsätze (EDIDC) zu -der Kontrollsatz enthält ja immer den aktuellen Status eines IDocs. Die beiden oben erwähntenAusnahmen müssen alle Status lesen und greifen daher auf die Tabelle der Statussätze (EDIDS)zu. Daher benötigen sie mehr Zeit als die anderen Statistikprogramme.

Die Zuordnung zu den einzelnen Statusgruppen geschieht in der Tabelle TEDS3.

Page 114: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Listen

114 April 2001

IDoc-ListenVerwendungDieser Report liefert Listen, auf Wunsch in graphischer Aufbereitung. Selektiert wird nach

� der Zeit (IDoc-Erstellung oder letzte Statusänderung)

� der Nachricht

� den Partnern oder auch der eigenen Identifikation für die Partner

� technischen Parametern: IDoc-Nummer, IDoc-Typ, aktuellem Status, Richtung

Die Listen werden nach Nachrichtentypen und Status geordnet ausgegeben.

Sie können sich eine Statistik über die zeitliche Verteilung der IDocs in einem bestimmtenStatus als Graphik ausgeben lassen. Dabei können Sie die Zeitachse homogen (d.h. die Zeitschreitet gleichförmig fort) oder IDoc-orientiert (d.h. es werden nur Zeitintervalle ausgewählt,innerhalb derer IDocs erzeugt wurden) wählen.

IDocs im Fehlerstatus können über die Statusliste bequem angezeigt werden. Hier sehen Siesofort die Fehlernachricht als Kurztext und können bei Bedarf zum Langtext springen, um weitereInformationen bei der Fehlersuche zu erhalten.

In der IDoc-Liste für den 12.06.1997 wurden besonders viele fehlerhafte IDocsverschiedener Nachrichtentypen festgestellt: Ihnen gemein ist ihr aktueller Status 02(“Fehler bei Datenübergabe an Port”). Über die Statusliste greifen Sie das IDoc Nr.4711 heraus und finden die Fehlernummer E0099 (“Fehler bei OPEN <Pfad undDateiname>“). Der Langtext (Doppelklick!) zu diesem Fehler informiert, daßmöglicherweise das Verzeichnis <Pfad> nicht vorhanden oder das gesamteFilesystem voll ist. Beim Nachprüfen stellt sich tatsächlich heraus, daß dasFilesystem an diesem Tag “übergelaufen” ist.

AktivitätenSie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] IDoc � IDoc-Listen.

IDoc-Listen: Fehler lokalisieren [Seite 115]

IDoc-Listen: Zeitliche Verteilung anzeigen [Seite 116]

Warnfarben Statusgruppen zuordnen [Seite 119]

Page 115: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Listen: Fehler lokalisieren

April 2001 115

IDoc-Listen: Fehler lokalisierenFehler werden in der IDoc-Liste durch Warnfarben dargestellt. Die Warnfarben sind im Standardbestimmten Statusgruppen zugeordnet. Diese Zuordnung können Sie aber auch ändern [Seite119].

1. Ändern Sie bei Bedarf das Zeitintervall, innerhalb dessen die IDocs erzeugt wurden(Vorschlagswert: dieser Tag). Schränken Sie Ihre Auswahl gegebenenfalls durch weitereSelektionskriterien ein.

2. Wählen Sie .

Sie erhalten die Zahlen der gefundenen IDocs pro Nachrichtentyp und Status im Aus-und Eingang (Richtungen und ).

3. Positionieren Sie auf eine Leiste, die einen Fehlerstatus enthält (hervorgehoben durch dieWarnfarbe und im Text erläutert!).

4. Wählen Sie im Fenster rechts einen Nachrichtentyp aus. Wählen Sie Statusliste.

Sie erhalten eine IDoc-Liste mit Fehlernachricht (Nummer und Kurztext).

5. Positionieren Sie auf die Leiste eines bestimmten IDocs. Wählen Sie IDoc-Anzeige undvon dort den entsprechenden Statussatz. Per Doppelklick auf den Kurztext erhalten Sie denzugehörigen Langtext.

6. Ändern Sie gegebenenfalls die Zuordnung von Warnfarben zu Statusgruppen.

Page 116: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Listen: Zeitliche Verteilung anzeigen

116 April 2001

IDoc-Listen: Zeitliche Verteilung anzeigen1. In der Ausgabeliste positionieren Sie auf eine Nachricht (Zeile im rechten Fenster) oder

einen Knoten im linken Fenster (alle selektierten IDocs, alle einer Richtung oder alle in einembestimmten Status).

2. Wählen Sie Graphik: zeitliche Verteilung

Sie erhalten eine graphische Verteilung der IDocs. Dabei versucht das System, eine„vernünftige“ Anzahl von Balken darzustellen:

� Es zeigt nur die Zeiten an, zu denen wirklich IDocs erzeugt wurden.

� Es sucht die optimalste „Schrittweite“ aus (z.B. Stunden als Zeitschritte).

Falls Sie „Ausreißer“ in Ihrem Zeitfenster haben, also Werte, die wesentlich höher alsdie übrigen sind, werden diese u.U. kaum mehr sichtbar sein, da die Graphik nachdem Maximum skaliert wird. Sie können das vermeiden, indem Sie einelogarithmische statt einer linearen Skala wählen oder das Maximum der Skalaheruntersetzen. Dazu wählen Sie die horizontale Skala (Achse) mit der rechtenMaustaste aus und wählen im Kontextmenü Format Axis. Im Folgebild wählen Siedie Karteikarte Scale und ändern die Einstellungen entsprechend.

3. Sie können die Ausgabeform ändern: Wählen Sie dazu und im Folgefenster z.B.Zeitschritt...Tage, um das Zeitraster auf Tage zu vergröbern.

4. Um die Zeitachse homogen (jede Zeiteinheit wird angezeigt) zu machen, markieren SieNullwerte anzeigen. Um nur die Zeitabschnitte anzuzeigen, innerhalb derer IDocs erzeugtwurden, lassen Sie das Feld frei.

Page 117: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Listen: Verteilung der Warnfarben anzeigen

April 2001 117

IDoc-Listen: Verteilung der Warnfarben anzeigenVerwendungFür einen groben Überblick wird in einer „Tortengraphik“ der Anteil der in einem Fehlerstatus(rote Warnfarbe) befindlichen IDocs angezeigt. Entsprechend sind die beiden anderen Anteile diegrüne (Erfolgsstatus) und gelbe (noch kein endgültiger Status) Warnfarbe.

Die Zuordnung von Status zu Warnfarben geschieht in zwei Schritten:

1. Status Statusgruppen zuordnen [Seite 112]

2. Statusgruppen Warnfarben zuordnen [Seite 119]

Vorgehensweise1. Geben Sie im Einstiegsbild der IDoc-Listen Ihre Selektionskriterien ein und starten Sie die

Selektion.

2. Wählen Sie in der Ausgabe .

Sie erhalten den Überblick in einem unten eingeblendeten Fenster. Es werden immeralle IDocs in die Graphik miteinbezogen, die Ihren Selektionskriterien genügen.

Zum Wiederausblenden wählen Sie .

Page 118: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Listen: Verteilung der Nachrichten anzeigen

118 April 2001

IDoc-Listen: Verteilung der Nachrichten anzeigen1. Positionieren Sie im linken Fenster der Ausgabe auf den Knoten, über den Sie die Verteilung

anzeigen lassen wollen:

� Alle selektierten IDocs

� Nur die einer Richtung

� Nur die in einem bestimmten Status

2. Wählen Sie im linken Fenster der Ausgabe den Auswahlpfeil rechts neben dem Symbol .

3. Im aufgeklappten Menü wählen Sie Graphik: Nachrichtentypen.

Sie erhalten eine Tortengraphik, die sie weiter formatieren können. Wenn Sie z.B.konkrete Zahlen einblenden wollen, wählen Sie im Kontextmenü (rechte Maustaste) derTortengraphik Format Data Series und im folgenden Bild Show value in der KarteikarteData Labels.

Page 119: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Warnfarben Statusgruppen zuordnen

April 2001 119

Warnfarben Statusgruppen zuordnenVerwendungIn den Überwachungsprogrammen wird der aktuelle Status eines IDocs farblich als Fehlerstatusoder Erfolgsstatus gekennzeichnet. Sie können über die Zuordnung zu einer Statusgruppeändern, welche Farben welchen Status zugeordnet werden.

VoraussetzungenIn einer bestimmten Statusgruppe darf sich kein Status befinden, der eine andere Farbebekommen soll. Sie ordnen Status einer Statusgruppe in der Statuspflege zu. WeitereInformationen finden Sie unter Statusgruppen ändern [Seite 112].

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �

Statusgrup. pflegen.

2. Wählen Sie eine bestimmte Statusgruppe (Qualifizierung) und wählen Sie .

3. Tragen Sie den gewünschten Ampelcode ein und sichern Sie Ihre Angaben.

Page 120: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Anzeige

120 April 2001

IDoc-AnzeigeVerwendungDieser Report führt Sie direkt zu Listen einzelner IDocs oder auch in die IDoc-Anzeige selbst,wenn Ihre Selektionskriterien nur ein IDoc zulassen (wenn Sie etwa als Selektionskriterium nureine IDoc-Nummer angeben).

Neben den auch in den anderen Statistikprogrammen verfügbaren Selektionskriterien (Nachricht,Partner) können Sie hier nach folgenden, eher technischen Parametern selektieren:

� IDoc-Typ (Basistyp oder Basistyp mit Erweiterung)

� Testoption aus den Partnervereinbarungen (wird das IDoc nur zu Testzwecken erzeugtund verschickt? – Karteikarte Zusatzauswahl)

� Aktueller Status

� Port (Empfänger wie Absender)

� EDI-Referenznummern (Übertragungsdatei, Nachricht, EDI-Archiv – Karteikarte EDI-Auswahl).

Diese Schlüssel sind nur bei einer Konvertierung in EDI-Standards relevant undbeziehen sich auf Objekte im EDI-Subsystem.

Verwechseln Sie nicht die Übertragungsdatei (EDI-Standard) mit der Datei, über die dasEDI-Subsystem mit der IDoc-Schnittstelle kommuniziert (IDoc-Standard)!

Zu Testzwecken sendet ein EDI-Partner ein IDoc an Ihr System. Der EDI-Partner ist inIhren Partnervereinbarungen über die entsprechende Option als Testpartner vereinbart.Das IDoc wird von Ihrem EDI-Subsystem an die Eingangsverarbeitung der IDoc-Schnittstelle übergeben und erhält dort die Nummer 4711. In seinem Kontrollsatz ist dasTestkennzeichen gesetzt. Sie können sich jetzt über die IDoc-Anzeige sämtliche IDocsmit Testkennzeichen auflisten lassen und darüber das IDoc 4711 finden.

In einem zweiten Test wollen Sie feststellen, ob Ihr EDI-Subsystem die EDI-Referenznummern korrekt an das R/3-System übermittelt. Sie haben sich etwa dieReferenznummer der Übertragungsdatei notiert, in der einige IDocs übermittelt wurden.Diese Nummer geben Sie im entsprechenden Selektionsfeld ein und starten die Suche.Es sollten jetzt alle IDocs im R/3-System gefunden werden, die sich in der betreffendenÜbertragungsdatei befanden.

AktivitätenDie IDoc-Anzeige erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] überIDoc � Anzeigen IDoc .

Mehrere IDocsWird eine IDoc-Liste angezeigt, können Sie durch Doppelklick auf die entsprechende Leiste aufein einzelnes IDoc verzweigen.

Page 121: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Anzeige

April 2001 121

Eine Ampel symbolisiert, ob der aktuelle Status als Erfolgsstatus oder Fehlerstatus gewertetwird, oder ob noch eine weitere Verarbeitung ansteht, so daß diesbezüglich noch keineEntscheidung getroffen wurde (gelbes Licht). Sie können die Farbzuordnung über dieTransaktion WELI selbst ändern. Beachten Sie dort die Hilfe zur Anwendung.

Einzelnes IDocAllgemeinesDas einzelne IDoc wird in Baumstruktur angezeigt. Einstiegsknoten ist die IDoc-Nummer. Esfolgen als Unterknoten Kontrollsatz, Daten- und Statussätze. Sie können Knoten aufklappen undsich einzelne Sätze anzeigen lassen. Bei den Datensätzen genügt dazu ein einfacher Mausklick.

Sie können sich über Verknüpfungen anzeigen [Extern] (aus den Objektdiensten [Extern]) die mitdem IDoc bereits verknüpften Objekte anzeigen lassen, z.B. Anwendungsbelege oder dasentsprechende IDoc im Partnersystem bei ALE-Verteilungen.

KontrollsatzBeim Kontrollsatz werden z.B. der “Briefkopf” (Sender und Empfänger), die Richtung und derIDoc-Typ angezeigt. In der Ausnahmebehandlung [Seite 27] können Sie den Kontrollsatzeditieren (Kontrollsatz � anzeigen/ändern, s. auch den entsprechenden Absatz bei denDatensätzen).

DatensätzeBei den Datensätzen werden die Segmente mit Namen (E1-Strukturen bei SAP-Segmenten),Segmentnummer und Kurzbeschreibung angezeigt. Bei qualifizierten Segmenten wird der„Qualifier“ ausgegeben, also der Wert, der die Bedeutung (die Qualifizierung) des Segmentsfestlegt.

Beim Segment E1EDKA1 (Belegkopf Partnerinformation) bedeutet der QualifierPARVW = „WE“, daß der im Segment angegebene Partner die Rolle desWarenempfängers hat, während PARVW = „AG“ die Partnerrolle des Auftraggeberskennzeichnet. Der Qualifier ist das erste Feld eines qualifizierten Segments.

Wenn Sie ein fehlerhaftes Eingangs-IDoc in der Ausnahmebehandlung [Seite 27] editierenmöchten, wählen Sie in der Detailanzeige (Doppelklick auf Symbol beim entsprechendenDatensatz) Datensatz � anzeigen/ändern. Jetzt können Sie sämtliche Felder ändern. BeimSichern erhält Ihr IDoc den neuen Status 69 (IDoc wurde editiert), das Sie dann wieder derEingangsverarbeitung zuführen können. Das Original wird als neues IDoc mit Status 70 (Originaleines IDocs, welches editiert wurde) auf der Datenbank abgelegt.

StatussätzeBei den Statussätzen werden die einzelnen Statuswerte (die Status) mit Kurzbeschreibungangezeigt. Beim Port [Seite 40]typ „tRFC“ und dem Status 03 wird die beim tRFC vergebeneTransaktions-ID angezeigt, die den Aufruf eindeutig kennzeichnet. Wenn die Anwendung einFehlerprotokoll schreibt, dann wird außerdem die ID dieses Protokolls ausgegeben, auf dasSie verzweigen können (Springen � Application Log). Dadurch können Sie detailliertereFehlerinformationen als in den Statussätzen vermerkt abrufen.

Page 122: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Suche

122 April 2001

IDoc-SucheVerwendungIDocs sollen nicht nur nach Adreß- oder Steuerinformationen aus ihrem Kontrollsatz auffindbarsein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man möchte auchFragen beantworten können wie: „In welchen IDocs wurden Bestellungen meines Materials XYübermittelt?“

Solche Fragen beantwortet die IDoc-Suche. Sie können sowohl auf der Datenbank als auch inArchivdateien nach IDocs suchen.

VoraussetzungenBei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) müssen Sie

� die IDocs von der Datenbank gelöscht haben (vollständiger Archivierungslauf)

� eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. NähereInformationen hierzu erhalten Sie unter Einzelanzeige über SAP AS (BC-SRV-EDI) [Seite136]

FunktionsumfangDie Funktion sucht nach Zeichenketten, d.h. Sie müssen den Wert eines Segmentfeldes soeingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nichtverwenden!).

Als Selektionskriterien können Sie höchstens zwei Werte in zwei Segmentfeldern angeben. Beizwei Werten müssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein,damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknüpfung vonSelektionsfeldern).

Sie können auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alleDatensätze (genauer: das Feld SDATA der Datensätze) strukturlos nach der Zeichenkettedurchsucht, d.h. es kann auch vorkommen, daß die gefundenen Zeichenkette mehrereSegmentfelder überspannt!

Suche nach “9060” erfolgreich!

400,90 600000020

9060

Feld 1 Feld 2

Die Suche kann durch den schnellen Suchmodus auf höchstens einen Treffer pro IDocbeschränkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDocab.

Page 123: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Suche

April 2001 123

Die Suche kann und sollte durch weitere Selektionskriterien eingeschränkt werden, die (analogzu den übrigen Überwachungsprogrammen) Werte aus dem Kontrollsatz abfragen:Erstellungszeit, Partner und Nachricht, Richtung etc.

AktivitätenDie IDoc-Suche erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc� Suchen IDoc. Je nachdem, ob Sie auf der Datenbank oder im Archiv suchen wollen,verzweigen Sie in unterschiedliche Transaktionen.

Page 124: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Aktives Monitoring

124 April 2001

Aktives MonitoringVerwendungDieser Report alarmiert selbständig zuständige Sachbearbeiter, wenn zu viele fehlerhafte IDocsfestgestellt werden.

IntegrationDas aktive Monitoring dient nicht zum Bearbeiten oder Wiedereinspielen eines fehlerhaftenIDocs. Dafür ist die Ausnahmebehandlung jedes einzelnen fehlerhaften IDocs zuständig.

AktivitätenSie planen den Report mit einer Variante zum regelmäßigen Lauf ein. Die den Selektionskriteriengenügenden IDocs werden wieder in Statusgruppen der Statistik unterteilt. In der Variante wirddem Report auch die kritische Statusgruppe (oder mehrere) mitgeteilt: Gehören mehr IDocszur kritischen Gruppe als in der kritischen IDoc-Anzahl vorgegeben, dann wird eine Nachrichtan einen vordefinierten Empfänger versandt.

Der Empfänger erhält die Benachrichtigung in Form eines Workitems in seinem integriertenEingangskorb (siehe auch Rollenauflösung in der Ausnahmebehandlung [Seite 31]). Führt er dasWorkitem aus, so wird die IDoc-Statistik mit den zum Auswertezeitpunkt ermittelten Wertenangezeigt. Über die Funktion Auffrischen kann sich der Bearbeiter den aktuellen Zustand dieserIDocs anzeigen lassen. Für diese erneute Auswertung werden dieselben Selektionskriterienverwendet, die zur Benachrichtigung geführt haben.

Ein wichtiger Kunde bestellt werktags zwischen 08:00 Uhr und 18:00 Uhr Warenüber EDI. Diese sollen am nächsten Tag um 16:00 ausgeliefert werden. Damit dieLieferung termingerecht durchgeführt werden kann, muß bis um 12:00 amAuslieferungstag feststehen, welcher Umfang bestellt wurde. Um 08:00 morgens sollüber das aktive Monitoring festgestellt werden, ob Bestellungen vorliegen, die nichtautomatisch bearbeitet werden konnten. Dazu wird der Report täglich zu dieser Zeitgestartet; als kritische IDoc-Anzahl wird 0 vorgegeben. Der zuständigeSachbearbeiter erhält bei fehlerhaften IDocs eine Benachrichtigung und kann bis12:00 die noch ausstehenden Aufträge manuell bearbeiten.

Siehe auch:Aktives Monitoring konfigurieren [Seite 125]

Monitoring-Job einplanen (Beispiel) [Seite 126]

Page 125: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aktives Monitoring konfigurieren

April 2001 125

Aktives Monitoring konfigurierenVerwendungEinmalig müssen Sie das aktive Monitoring konfigurieren: Sie aktivieren die Ereignis-Verbraucherkopplung für die Aufgabe und richten bei Bedarf eine Organisationseinheit ein.

Vorgehensweise1. Pflegen Sie Empfänger von Benachrichtigungen im Organisationsmodell der

Komponente Organisationsmanagement. Sie können eine gesamte Organisationseinheitfür die Benachrichtigung pflegen. Beachten Sie jedoch, daß diese Organisationseinheitauch Bearbeiter enthält! Zum Einrichten der Organisationseinheit lesen Sie dieAbschnitte zur einfachen Pflege [Extern] in der R/3 Bibliothek HR ��PA �Organisationsmanagement � Aufbauorganisation.

2. Aktivieren Sie die Ereigniskopplung für die Standardaufgabe ‘TS30200108’. Legen Sieaußerdem fest, wer möglicher Bearbeiter ist: Sie können die Aufgabe z.B. als ‘generelleAufgabe’ (jeder R/3-Benutzer ist möglicher Bearbeiter) pflegen. Für diesen Schritt habenSie folgende Alternativen:

� Automatisches Workflow-Customizing (IMG-Aktivität Standardeinstellungen für SAPBusiness Workflow pflegen)

� Direkte Pflege der Aufgabe: Wählen Sie Werkzeuge � Business Workflow �Entwicklung � Definitionswerkzeuge � Aufgaben � ändern (Transaktion PFTC) undwählen Sie auslösende Ereignisse, um die Ereignis-Verbraucherkopplung zu aktivieren.Sie wählen Zusatzdaten � Bearbeiterzuordnung � pflegen, um mögliche Bearbeitereinzutragen. Auch hier können Sie eine Organisationseinheit als Bearbeiter angeben(etwa die, die Sie im Schritt 1 eingerichtet haben).

Weitere Informationen zu möglichen Bearbeitern finden Sie unter Rollenauflösung inder Ausnahmebehandlung [Seite 31].

Page 126: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Monitoring-Job einplanen (Beispiel)

126 April 2001

Monitoring-Job einplanen (Beispiel)VoraussetzungenIm folgenden wird auf das Beispiel im Abschnitt Aktives Monitoring [Seite 124] Bezuggenommen. Der Report des aktiven Monitorings soll jeweils um 08:00 Uhr als Batchjob gestartetwerden und die IDocs auswerten, die am Vortag zwischen 08:00 Uhr und 18:00 Uhr eingetroffensind.

Vorgehensweise1. Wählen Sie im ABAP-Editor Variante (für den Report RSEIDOCM) und Anzeigen.

2. Geben Sie Ihrer Variante einen Namen und wählen Sie Anlegen.

3. Geben Sie folgende Parameter ein:

� Start- bzw. Endzeitpunkt vor Batchlauf: 1 Tag und 0 Tage 14:00:00h

� Statusgruppe: F (Eingang: Fehler in der Anwendung)

� Kritische IDoc-Anzahl: 0

� Parameter des Absenders: <entsprechenden Werte aus den Partnervereinbarungen desKunden>

� Logischer Nachrichtentyp: ORDERS

� Empfänger der Benachrichtigung: z.B. MÜLLER

� Emfängerart: Benutzer

4. Wählen Sie Weiter, um einen Kurztext zu Ihrer Variante zu erfassen. Sichern Sie IhreAngaben.

5. Um Ihren Job als Batchjob einzuplanen, wählen Sie System � Dienste � Jobs � JobDefinition und geben Sie B (mittlere Priorität für periodische Jobs) als Jobklasse ein.

6. Wählen Sie Startbedingung und geben Sie ein Datum und 08:00 für die Uhrzeit ein.

7. Markieren Sie Job periodisch ausführen.

8. Wählen Sie Periodenwerte � täglich und sichern Sie Ihre Angaben.

Beim Sichern geben Sie noch den einzuplanenden Report (RSEIDOCM) und die vonIhnen gepflegte Variante an.

ErgebnisSelektiert werden nun bei dem täglichen Batchlauf alle IDocs

� die am Vortag zwischen 08:00 Uhr und 18:00 Uhr eingegangen sind

� deren logischer Nachrichtentyp ‘ORDERS’ ist

� die vom betreffenden Kunden gesendet wurden.

Es braucht nur ein IDoc der Statusgruppe F zugeordnet sein, damit eine Benachrichtigung anden Bearbeiter MÜLLER geschickt wird.

Page 127: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Archivierung von IDocs

April 2001 127

Archivierung von IDocsVerwendungIDocs sind auf der Datenbank in mehreren Tabellen abgelegt. Um diese Tabellen (und damit dieZugriffszeiten) klein zu halten (sprich: die Datenbank zu entlasten) und trotzdem keine IDocs zuverlieren, können Sie sie in Archiven auf Betriebssystemebene ablegen. Diese Archive könnenschließlich auf externe Speichermedien ausgelagert werden, z.B. auf magnetooptische Platten(über SAP Archive Link) oder Magnetbänder.

VoraussetzungenIm Customizing legen Sie fest, wo sich die Archivdateien (“physikalisch”) befinden, welcheSpeichermedien also eingesetzt werden. Weitere Informationen finden Sie unter

CA � Archivieren von Anwendungsdaten � zentrales Einführungskapitel � Customizing �Anschluß an das Archivsystem [Extern].

AktivitätenArchivierbare Status anzeigen oder ändern [Seite 128]

Wann sind IDocs archivierbar?

Archivierungsfunktionen für IDocs [Seite 129]

Wie werden IDocs in Archivdateien geschrieben und wieder gelesen?

Stellen Sie sicher, daß keine IDocs archiviert werden, die eventuell noch von derAnwendung benötigt werden.

Siehe auch:

CA � Archivieren von Anwendungsdaten [Extern]

Informationen zur Archivierung allgemein.

Page 128: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Archivierbare Status anzeigen oder ändern

128 April 2001

Archivierbare Status anzeigen oder ändernBestimmte IDoc-Status sind im Standard als archivierbar eingestuft, andere wiederum nicht.Diese Einordnung können Sie anzeigen oder ändern.

Der aktuelle Status eines IDocs muß archivierbar sein, damit das IDoc archiviertwerden kann.

Vorgehen1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung � Statuswerte

pflege.

2. Wählen Sie , um Einträge zu ändern.

3. Wählen Sie den Status aus, der Sie interessiert. Durch Doppelklick gelangen Sie in dasDetailbild, in dem Sie unten die Archivierbarkeit anzeigen oder ändern können.

4. Über oder können Sie alle Status hintereinander anzeigen bzw. ändern.

Page 129: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Archivierungsfunktionen für IDocs

April 2001 129

Archivierungsfunktionen für IDocsVerwendungDaten werden generell über die zentrale Transaktion SARA archiviert. Im Falle von IDocs werdendie entsprechenden Tabellen über das Archivierungsobjekt IDOC angesprochen.

FunktionsumfangDer Archivierungsklasse IDOC sind verschiedene Bearbeitungsmethoden zugeordnet: Sokönnen Sie im Standard IDocs

� archivieren [Seite 131]

� von der Datenbank löschen [Seite 131]

� aus einem Archiv zurückladen [Seite 133]: Dazu wählen Sie vom Einstiegsbild Springen �zurückladen

Sie wollen sämtliche IDocs, die Kundenaufträge (Nachrichtentyp ORDERS, IDoc-Eingang) im Monat Januar übermittelt haben, archivieren und anschließend aus denDatenbanktabellen löschen. Dazu wählen Sie die im Standard ausgelieferteBearbeitungsmethode “Archivieren” und pflegen Zeitraum wie Nachrichtentyp alsReportvariante.

Außerdem können Sie sich folgendes anzeigen lassen:

� Archive [Seite 134]

In einem Archiv oder Archivierungslauf werden in der Regel mehrere IDocs archiviert,d.h. die IDocs werden in diesem Lauf zusammengefaßt. Ein Archivierungslauf istvollständig, wenn die IDocs aus den Datenbanktabellen gelöscht wurden und nur nochals Archivdateien vorhanden sind.

� die IDoc-Nummern eines oder mehrerer Archive oder Archivdateien [Seite 135]

� die IDocs (d.h. Kontrollsatz, Daten- und Statussätze) eines oder mehrerer Archive [Seite 136]

� IDocs aus Archiven, die bestimmte Zeichenketten enthalten (IDoc-Suche) [Seite 137]

Diese Funktion ist keine Methode am Archivierungsobjekt IDOC, sondern einÜberwachungswerkzeug der IDoc-Schnittstelle und daher auch nur von derenEinstiegsknoten aus erreichbar.

AktivitätenZur zentralen Transaktion SARA gelangen Sie auch über Werkzeuge � Administration �Verwaltung � Datenarchivierung. Dort tragen Sie das Archivierungsobjekt IDOC ein. BeiDatenfreigabe erhalten Sie die oben angegebenen Methoden zur Auswahl.

Im objektspezifischen Customizing [Extern] können Sie die maximale Größe der Archivdateien[Extern] festlegen, und daß die Tabelleneinträge sofort nach Erzeugen der Archivdateien aus derDatenbank gelöscht werden sollen. Bei großen Datenmengen kann das günstig für diePerformance sein.

Page 130: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Archivierungsfunktionen für IDocs

130 April 2001

Im Standard werden die IDocs nach bestimmten Kriterien zur Archivierung ausgewählt, etwanach der Zeit, zu der die IDocs zuletzt geändert wurden (neuer Statussatz). Sie können sichselbst leicht eigene Auswahlkriterien definieren. Näheres erfahren Sie im UnterabschnittArchivierung: Technische Realisierung [Seite 139]

Page 131: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDocs archivieren und löschen

April 2001 131

IDocs archivieren und löschen

VoraussetzungDie zu archivierbaren IDocs haben einen archivierbaren Status [Seite 128].

Vorgehen1. Gehen Sie in die zentrale Archivierungstransaktion über Werkzeuge � Administration �

Verwaltung � Datenarchivierung. Prüfen Sie gegebenenfalls das objektspezifischeCustomizing [Extern]:

Sie können hier z.B. das Kennzeichen „Einzelnachweis“ in der Variante zumLöschprogramm setzen: Dann wird im Archivierungsprotokoll jedes einzelne archivierteIDoc aufgeführt, was aber zu sehr langen Protokollen von nicht unbedingt hoherAussagekraft führen kann.

2. Geben Sie das Archivierungsobjekt IDOC ein und wählen Sie die gewünschte Aktion,hier also Archivieren.

Wenn für das Archivierungsobjekt IDOC noch unvollständige Archivierungsläufevorhanden sind, erscheint eine Warnung. Sie können die Warnung ignorieren, laufenaber Gefahr, IDocs eventuell doppelt zu archivieren.

3. Setzen Sie den Starttermin des Archivierungslaufes und die Spoolparameter(Druckausgabe).

Die Ampeln sollten danach grün sein und Ihnen damit anzeigen, daß diese Parametergepflegt sind. Beachten Sie, daß Sie bei der Druckausgabe den Ablagemodus auf NurAblegen setzen und damit das Drucken jedes einzelnen Archivierungsprotokollsvermeiden können. Als Anlageparameter geben Sie den Objekttyp IDOC an undbenutzen die F4-Hilfe, um eine für den Objekttyp passende Dokumentart auszuwählen.Außerdem geben Sie einen freien Text als Zusatzinformation für den Archivierungsreportan.

4. Wählen Sie Pflegen zum Anlegen einer Reportvariante. Geben Sie alsSelektionsparameter etwa den Nachrichtentyp und den Zeitraum ein, innerhalb dessenIDocs ihren letzten, aktuellen Status bekamen. Wählen Sie Weiter und sichern SieIhre Variante.

Sie können markieren, ob Ihre IDocs nach dem Archivieren einen speziellen Statusbekommen sollen. Im Standard wird kein neuer Status gesetzt.

5. Kehren Sie zum Archivierungsbild zurück und wählen Sie .

Wenn Sie als Starttermin in Schritt 3 sofort angegeben hatten, erscheint jetzt in derunteren Leiste die Meldung Neuer Archivierungsjob wurde erzeugt.

6. Sie können überprüfen, ob Ihr Archivierungslauf schon fertig ist, indem Sie dieJobübersicht auswählen. Wenn Sie Verwaltung wählen, erhalten Sie eine Übersicht überIhre vollständigen und unvollständigen Archivierungsläufe. Wenn IDocs in denDatenbanktabellen gefunden wurden, die Ihren Selektionsparametern entsprechen,erscheint Ihr Archivierungslauf als mit Archivdateien gefüllter Ordner.

Page 132: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Vorgehen

132 April 2001

7. Falls nicht anders im objektspezifischen Customizing vereinbart [Extern], befinden sichIhre IDocs nach dem Archivieren noch auf der Datenbank, d.h. Ihr Archivierungslauf istnoch unvollständig. Zum Löschen planen Sie einen Löschjob mit entsprechenderVariante ein. Hier wählen Sie die Archivdatei aus, deren IDocs von der Datenbankgelöscht werden sollen.

Page 133: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Archiv zurückladen

April 2001 133

Archiv zurückladenVoraussetzungen� Sie befinden sich auf dem Bild Archivadministration: Einstiegsbild (Transaktion SARA), der

Name des Archivierungsobjekts ist im Feld Objektname eingetragen.

� Die Archivadministration hat Zugriff auf die zurückzuladenden Archivdateien.

Beim Rückladen können immer nur vollständige Archivierungsläufe verarbeitetwerden.

Vorgehensweise1. Wählen Sie Springen � Zurückladen. Sie gelangen auf ein Bild, auf dem Sie einen

Hintergrundjob für das Programm einplanen können.

2. Wählen Sie die Funktion Archivauswahl. Sie erhalten ein Fenster mit den bereits durch dasLöschprogramm bearbeiteten Archivierungsläufen.

3. Markieren Sie den gewünschten Archivierungslauf und wählen Sie Weiter. Sie kehren zudem Ausgangsbild zurück.

4. Pflegen Sie den Starttermin [Extern] und die Spoolparameter [Extern].

5. Sie haben jetzt alle für den Hintergrundjob benötigten Daten eingegeben. Um den Job zuerzeugen, wählen Sie Ausführen.

Das Rückladen von archivierten Daten in die Datenbank ist nicht unproblematischund ist daher als reine Notfallfunktion zu betrachten. So könnte es beispielsweisenotwendig sein, Daten zurückzuladen, wenn unmittelbar nach der Archivierungfestgestellt wurde, daß aufgrund eines Bedienungsfehlers zu viele bzw. die falschenDaten archiviert wurden. Das Rückladen dieser Daten sollte möglichst im Anschlußan das Archivieren erfolgen.

Siehe auch:Archivdateien erzeugen [Extern]

Die Archivauswahl [Extern]

Page 134: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Details einer Archivdatei anzeigen

134 April 2001

Details einer Archivdatei anzeigenVoraussetzungenSie befinden sich auf dem Bild Archivadministration: Einstiegsbild (Transaktion SARA), der Namedes Archivierungsobjekts ist im Feld Objektname eingetragen.

Vorgehensweise1. Wählen Sie Verwaltung.

Sie gelangen auf das Bild Archivadministration: Übersicht der Archivierungsläufe [Extern].

2. Positionieren Sie den Cursor auf den Archivierungslauf.

3. Wählen Sie Teilb. expandieren.

4. Positionieren Sie den Cursor auf eine Archivdatei.

5. Wählen Sie Detailbild.

Sie gelangen auf ein Dialogfenster, dem Sie Details [Extern] zu der gewählten Archivdateientnehmen können.

Page 135: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Nummern im Archiv auflisten

April 2001 135

IDoc-Nummern im Archiv auflisten1. Wählen Sie im Einstiegsbild der zentralen Archivierungstransaktion Auswerten.

2. Wählen Sie Ausführen.

Das System zeigt Ihnen die vollständigen Archivierungsläufe an.

3. Markieren Sie einen oder mehrere Läufe oder darin enthaltene Dateien und bestätigen Sie.

Sie erhalten eine Liste der IDocs aus den ausgewählten Archivdateien. Neben der IDoc-Nummer wird z.B. die „logische“ Nachricht ausgegeben (Ausgabefelder des ReportsRSXARCR [Seite 141])

Page 136: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Einzelanzeige über SAP AS (BC-SRV-EDI)

136 April 2001

Einzelanzeige über SAP AS (BC-SRV-EDI)VerwendungMit dem Archivinformationssystem (SAP AS) können Sie sich jedes archivierte IDoc anzeigenlassen. Es gibt zwei Unterschiede zur IDoc-Suche im Archiv:

� Das SAP AS zeigt alle Sätze des IDocs an, also neben Kontroll- und Datensätzen auch dieStatussätze.

� Mit dem SAP AS können Sie nicht nach Zeichenketten in Datensätzen suchen.

VoraussetzungenDie Archivdateien sind im System vorhanden und wurden nicht über den Content ManagementService (CMS) abgelegt.

Die Archiv-Infostruktur ist aktiv und aufgebaut (siehe „Aktivitäten“)

FunktionsumfangMit der im Standard ausgelieferten Archiv-Infostruktur SAP_IDOC_001 suchen Sie z.B. nach

� Zeit (Erstellung und letzter Änderung)

� Partner

� Nachricht

� IDoc-Nummer

Sie können sich eigene Strukturen definieren. Der Feldkatalog, aus dem Sie die Felder beziehen,heißt ebenfalls SAP_IDOC_001. Er beinhaltet sämtliche Felder aus dem IDoc-KontrollsatzEDI_DC, mit Ausnahme von Mandant, ALE-Serialisierung und Satzart.

BerechtigungenAuch bei der Einzelanzeige benötigen Sie nur die allgemeine Archivierungsberechtigung [Extern]benötigt.

AktivitätenSie aktivieren gegebenenfalls die Archiv-Infostruktur [Extern]. Zum Einstiegsbild gelangen Sievon der zentralen Archivierungstransaktion [Seite 129] über Infosystem � Customizing.

Sie bauen gegebenenfalls die Archiv-Infostruktur auf [Extern]. Zum Einstiegsbild gelangen Sievon der zentralen Archivierungstransaktion über Infosystem � Status.

Zur Einzelanzeige werten Sie die Archiv-Infostruktur aus [Extern]. Zum Einstiegsbild gelangenSie von der zentralen Archivierungstransaktion über Infosystem � Archive Explorer.

Page 137: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Suche

April 2001 137

IDoc-SucheVerwendungIDocs sollen nicht nur nach Adreß- oder Steuerinformationen aus ihrem Kontrollsatz auffindbarsein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man möchte auchFragen beantworten können wie: „In welchen IDocs wurden Bestellungen meines Materials XYübermittelt?“

Solche Fragen beantwortet die IDoc-Suche. Sie können sowohl auf der Datenbank als auch inArchivdateien nach IDocs suchen.

VoraussetzungenBei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) müssen Sie

� die IDocs von der Datenbank gelöscht haben (vollständiger Archivierungslauf)

� eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. NähereInformationen hierzu erhalten Sie unter Einzelanzeige über SAP AS (BC-SRV-EDI) [Seite136]

FunktionsumfangDie Funktion sucht nach Zeichenketten, d.h. Sie müssen den Wert eines Segmentfeldes soeingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nichtverwenden!).

Als Selektionskriterien können Sie höchstens zwei Werte in zwei Segmentfeldern angeben. Beizwei Werten müssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein,damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknüpfung vonSelektionsfeldern).

Sie können auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alleDatensätze (genauer: das Feld SDATA der Datensätze) strukturlos nach der Zeichenkettedurchsucht, d.h. es kann auch vorkommen, daß die gefundenen Zeichenkette mehrereSegmentfelder überspannt!

Suche nach “9060” erfolgreich!

400,90 600000020

9060

Feld 1 Feld 2

Die Suche kann durch den schnellen Suchmodus auf höchstens einen Treffer pro IDocbeschränkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDocab.

Page 138: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Suche

138 April 2001

Die Suche kann und sollte durch weitere Selektionskriterien eingeschränkt werden, die (analogzu den übrigen Überwachungsprogrammen) Werte aus dem Kontrollsatz abfragen:Erstellungszeit, Partner und Nachricht, Richtung etc.

AktivitätenDie IDoc-Suche erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc� Suchen IDoc. Je nachdem, ob Sie auf der Datenbank oder im Archiv suchen wollen,verzweigen Sie in unterschiedliche Transaktionen.

Page 139: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Archivierung: Technische Realisierung

April 2001 139

Archivierung: Technische RealisierungDie IDoc-Archivierungswerkzeuge wurden mit dem Archive Development Kit [Extern] (ADK)entwickelt, das objektorientierte Programmiermethoden ermöglicht. Man spricht daher von einemArchivierungsobjekt IDOC, das die erforderlichen Datenbanktabellen sowie eineArchivierungsklasse IDOC mit Funktionsbausteinen zu deren Bearbeitung enthält.

“Von außen” wird auf das Archivierungsobjekt IDOC nun über Reports zugegriffen, die (indirekt)Funktionsbausteine des ADKs aufrufen. Die Selektionsparameter dieser Reports werden in derVariantenpflege der zentralen Archivierungstransaktion gesetzt. Die Funktionsbausteine desADKs benutzen ihrerseits Funktionsbausteine der Archivierungsklasse IDOC, um auf dieDatenbanktabellen zuzugreifen. Die folgende Abbildung zeigt diese objektorientierte Struktur.

R/3-System

zentrale Archivierungs-

transaktion

Programme(Reports)

zur Archivierung

Archivdateien

Archivierungsobjekt IDOC

Bearbeitungsmethoden

IDoc-

Datenbank-

tabellen

Funktionsbausteinedes ADKs

ArchivierungsklasseIDOC: Teil der

FunktionsgruppeEDIA

Alle Funktionsbausteine der Archivierungsklasse IDOC gehören zur Funktionsgruppe EDIA. Zudieser Funktionsgruppe gehören außerdem die Funktionsbausteine, über die dieArchivierungsprogramme die Funktionen des ADKs rufen.

In der EDV-Literatur werden manchmal auch Daten und auf ihnen operierendeFunktionen zu “Klassen” zusammengefaßt (z.B. in der Sprache C++). Wie Sie

Page 140: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Archivierung: Technische Realisierung

140 April 2001

sehen, entspricht der Begriff “Klasse” hier dem “Archivierungsobjekt”, das die Daten(die Zeilen der Datenbanktabellen) enthält wie auch die “Archivierungsklasse” IDOC,die die darauf operierenden Funktionen enthält.

Die im Standard ausgelieferten Reports können Ihnen als Beispielreports dienen, anhand dererSie leicht eigene Reports mit Selektionsparametern schreiben können, die Ihren Anforderungenentsprechen. Weitere Informationen zu den Standardreports finden Sie unter

Archivierung: Beschreibung der Standardreports [Seite 141]

Page 141: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Archivierung: Beschreibung der Standardreports

April 2001 141

Archivierung: Beschreibung der StandardreportsIm folgenden werden die “Einstiegsreports” vorgestellt, mit Angabe des Funktionsbausteins ausder Funktionsgruppe EDIA, den sie aufrufen. Dieser Funktionsbaustein ruft seinerseitsFunktionsbausteine der ADK-Standardklasse auf. Die Reports werden von der zentralenArchivierungstransaktion SARA angesprochen.

Um eigene Programme durch die zentrale Archivierungstransaktion SARA ansprechen zulassen, ersetzen Sie die Standardreports durch Ihre Programme in der Transaktion AOBJ.

Name Beschreibung Selektionsparameter

RSEXARCA Schreibt IDocs ins Archiv. RuftEDI_ARCHIVE_IDOCS auf. Prüft überdas UnterprogrammINITIALIZE_STATUS_QUALITY(Funktionsgruppe EDIA) nach, ob dieIDocs archivierbar sind.

� Zeit der letztenÄnderung desKontrollsatzes

� Zeit der IDoc-Erstellung

� aktueller Status

� logische Nachricht

� Richtung

� IDoc-Nummer

� Partner

RSEXARCD Löscht archivierte IDocs aus derDatenbank. RuftEDI_DELETE_ARCHIVED_IDOCS auf.

Archivdateien ausunvollständigenArchivierungsläufen

RSEXARCR Liest IDocs aus einem Archiv. RuftEDI_READ_IDOC_ARCHIVE auf. Gibtdie folgenden Felder des Kontrollsatzespro IDoc aus:

� logische Nachricht

� Status

� Datum und Zeit der letztenKontrollsatzänderung des IDocs

� Richtung

� IDoc-Nummer

Archivdateien ausvollständigenArchivierungsläufen

Page 142: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Archivierung: Beschreibung der Standardreports

142 April 2001

RSEXARCL Lädt IDocs wieder aus dem Archiv aufdie Datenbank zurück. RuftEDI_RELOAD_IDOC_ARCHIVE auf.Prüft auf Mandanten- oder IDoc-Nummernkonflikte überIS_RELOADING_POSSIBLE(Unterprogramm der FunktionsgruppeEDIA). Schreibt den neuen Status “35”für Ausgangs-IDocs, “71” für Eingangs-IDocs (“zurückgeladen”). Kennzeichen„Einzelnachweis“ wie RSEXARCA.

Archivdateien ausvollständigenArchivierungsläufen

RSEXARCI Baut Index in Tabelle EDIDOCINDX auf.Ruft direkt Funktionsbaustein des ADK

Keine: Liest dieArchivdateien derObjektklasse IDOC.

RSEXARCJ Baut Index in Tabelle EDIDOCINDX ab.Ruft direkt Funktionsbaustein des ADK

Datum, bis zu dem dieIndizes gelöscht werdensollen.

Anzahl an Sätzen, nachdenen ein Datenbank-COMMIT abgesetzt werdensoll.

Page 143: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Verknüpfungen mit IDocs löschen

April 2001 143

Verknüpfungen mit IDocs löschenVerwendungMit steigender IDoc-Zahl wird nicht nur die Tabelle der Datensätze groß. Auch die Tabelle, diedie Verknüpfungen beispielsweise mit Anwendungsbelegen enthält, wächst und sollte von Zeit zuZeit von obsoleten Einträgen befreit werden. Im Unterschied zu den IDocs werdenVerknüpfungen nicht archiviert, bevor sie gelöscht werden.

Vorgehensweise1. Starten Sie das Programm RSRLDREL.

2. Geben Sie ein geeignetes Endedatum ein.

Geeignet ist das Endedatum sicher dann, wenn alle Verknüpfungen, die davor erzeugtwurden, nicht mehr gebraucht werden. Wenn Sie z.B. alle IDocs vor diesem Datumbereits archiviert und gelöscht [Seite 131] haben und auch die Anwendungsbelegearchiviert sind, so brauchen Sie die entsprechenden Verknüpfungen nicht mehr(Ausnahme: Anwendungsbelege und IDocs sollen wieder aus dem Archiv ins SAPSystem zurückgeladen werden).

3. Markieren Sie Selektion über Verknüpfungstyp und geben Sie einen Verknüpfungstyp an.Beachten Sie dazu untenstehende Tabelle.

Alternativ dazu können Sie auch die Selektion über Objekt/Rolle durchführen. Wenn Siez.B. alle Verknüpfungen mit Terminaufträgen löschen wollen, so selektieren Sie nachObjekttyp BUS2032 (Terminauftrag) in der Rolle APPLOBJ.

Wenn Sie folgende Verknüpfungen löschen wollen... so wählen Sie denVerknüpfungstyp...

Anwendungsbeleg mit Ausgangs-IDoc IDC0

Eingangs-IDoc mit Anwendungsbeleg IDC1

Ausgangs-IDoc mit Anwendungsbeleg im Zielsystem IDC9

Eingangs-IDoc mit Anwendungsbeleg aus demvorgelagertem System

IDCB

Eingangs-IDoc mit Kommunikations-IDocs in verteiltenSystemen

IDC2

Kopie eines IDocs mit seinem Original IDC3 (Eingang),IDC7(Ausgang)

Internet-IDoc [Seite 62] mit Ablagemappe aus dem BusinessWorkplace

IDC5 (Eingang), IDC6(Ausgang)

Eingangs-IDoc mit Ausgangs-IDoc aus vorgelagertemSystem

IDC4

IDoc mit TID (Porttyp tRFC [Seite 40], ALE-Audit).Funktioniert nicht mit Löschkriterium Beide Objekte nichtvorhanden!

IDC8 (Eingang), IDCA(Ausgang)

Page 144: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Verknüpfungen mit IDocs löschen

144 April 2001

Ausgangs-IDoc mit Klammer-IDoc (Typ IDCREF01) IDRF

4. Mit dem Löschkriterium können Sie Verknüpfungen nicht gelöschter Objekte vorm Löschenschützen. Folgende Szenarios sind denkbar:

� Sie möchten Verknüpfungen zuletzt löschen. Dazu wählen Sie Beide Objekte nichtvorhanden. Wenn jetzt z.B. nur noch der Anwendungsbeleg vorhanden ist, so könnenSie sich zwar vom Beleg aus die Nummern der verknüpften IDocs anzeigen lassen, nichtaber mehr die IDocs selbst.

Diese Option funktioniert nicht bei Verknüpfungen mit TIDs (für ALE-Audit), dennTIDs tun immer so, als gäbe es sie noch!

� Sie möchten die Verknüpfungen löschen, wenn mindestens eines der beiden Objektenicht mehr da ist (Option Ein Objekt nicht vorhanden). Dann können Sie z.B. von einemAnwendungsbeleg nicht einmal mehr die Nummern von bereits gelöschten IDocsanzeigen lassen.

� Sie möchten generell alle Verknüpfungen löschen, die den sonstigen Selektionskriteriengenügen. Dazu wählen Sie Ohne Existenzprüfung.

5. Starten Sie das Programm.

Sie können einen Testlauf fahren. Dann teilt Ihnen das System nur die Zahl der denSelektionskriterien genügenden Verknüpfungen mit, löscht diese aber nicht.

Page 145: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufbau, Dokumentation und Definition von IDoc-Typen

April 2001 145

Aufbau, Dokumentation und Definition von IDoc-TypenVerwendungZur Definition neuer IDoc-Typen werden Entwicklungswerkzeuge der IDoc-Schnittstelle benutzt.Die Dokumentationswerkzeuge dienen dazu, den Aufbau von IDoc-Typen betriebswirtschaftlichwie auch technisch in verschiedenen Formaten darzustellen. Sie helfen also maßgeblich zuentscheiden, ob wirklich neue IDoc-Typen definiert werden müssen oder ob nicht schon die imStandard ausgelieferten Typen für Ihre Bedürfnisse ausreichen. Nicht zuletzt helfen sie, dieDefinition von IDoc-Typen in externen Systemen zu automatisieren.

FunktionsumfangAllgemeiner Aufbau eines IDocs [Seite 146]

Dokumentationswerkzeuge [Seite 150]

Neue IDoc-Typen definieren [Seite 157]

Page 146: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Aufbau eines IDocs

146 April 2001

Aufbau eines IDocsDefinitionAlle IDocs sind nach bestimmten Regeln aufgebaut: Das ist der allgemeine Aufbau (dieSatzarten) eines jeden IDocs. Speziellere Regeln betreffen die unterschiedlichen IDoc-Typen.

StrukturAllgemeiner AufbauIDocs beinhalten Verwaltungsinformationen für die technische Verarbeitung sowie dieeigentlichen Daten der Anwendung in den sogenannten Segmenten. Segmente bestehen ausSegmentfeldern als kleinsten Sinneinheiten des IDocs, vergleichbar etwa mit denDatenelementen des EDIFACT-Standards.

Der Stand der Verarbeitung (“Was ist mit dem IDoc bisher passiert?”) wird SAP-seitig in derStatusinformation zum IDoc hinterlegt. Hier finden sich auch Hinweise auf Fehlerfälle, und beiwelchen Daten die Fehler aufgetreten sind. Beim IDoc-Versand wird diese Statusinformationnicht als Teil des IDocs weitergeleitet, sondern separat über die “Statusverarbeitung” übermittelt!

IDoc-Typen (spezieller Aufbau)Ein IDoc-Typ wird durch seine erlaubten Segmente definiert. Segmente können voneinanderabhängen (Eltern- und Kindersegmente). Zum Beispiel ist das Segment E1EDPT1(Belegposition Textidentifikation) Kindsegment von Segment E1EDP01 (Belegposition Datenallgemein) im IDoc-Typ EXPINV01 (Export Faktura) und Kindsegment von E1EDP07(Bestelldaten Lieferavis) im IDoc-Typ DESADV01 (Lieferavis).Das Segment wird also inmehreren Kontexten verwendet, es ist “Kind” mehrerer “Eltern”.

Für Kundenerweiterungen definieren Sie neue Segmente und hängen sie als Kindervorhandener Segmente des Basistyps an (der Basistyp ist der im SAP-Standardausgelieferte IDoc-Typ, den Sie erweitern wollen). Die neuen Segmente (wie auchdie Erweiterung) müssen im Kundennamensraum liegen. SAP-Segmentnamenbeginnen mit “E1” (siehe Namensräume [Seite 163]).

Die folgende Abbildung zeigt die Grundstruktur eines IDocs und welche Teile davon an dasexterne System übergeben bzw. von ihm übernommen werden. Die Eltern-Kind-Segmenthierarchie wird hier in Baumanzeige dargestellt. Es sind 3 Hierarchieebenenerkennbar.

Page 147: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufbau eines IDocs

April 2001 147

IDoc in der IDoc-Schnittstelle

externes System

Verwaltung ("Umschlag")

Daten der Anwendung: Segmente

Statusinformation"Konvertierung ok", "Versand ok",

"IDoc im Zielsystem (ALE-Dienst)",...

E1<Name>

E1<Name>

E1<Name>

E1<Name>

E1<Name>

Ausgangs-/Eingangs-

verarbeitung

Status-verarbeitung

Kind-segment

SAP

Kind-segmentKunde

Die IDoc-Schnittstelle kann für jedes IDoc prüfen, ob die enthaltenen Segmente mit der Definitionseines Typs verträglich sind. Diese Syntaxprüfung schalten Sie in den Partnervereinbarungen[Seite 76] ein oder aus, separat für Eingang und Ausgang.

Siehe auch:Aufbau eines IDocs: Technische Realisierung [Seite 148]

Allgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151]

Dokumentation eines IDoc-Typs oder Segmentes anzeigen [Seite 152]

Page 148: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Aufbau eines IDocs: Technische Realisierung

148 April 2001

Aufbau eines IDocs: Technische RealisierungIDocs sind SAP-intern in drei Datenbanktabellen abgelegt: Einer Tabelle für den Kontrollsatz,einer für die Datensätze, und einer für die Statussätze.

� Der Kontrollsatz ist für alle IDocs gleich und enthält die Verwaltungsinformationen, etwaAbsender, Empfänger und Nachricht. Beachten Sie auch, daß der Kontrollsatz denletzten Verarbeitungsstatus (Feld STATUS) enthält!

� Die Datensätze enthalten die Segmente und Verwaltungsinformationen zu denSegmenten (z.B., an welchem Elternsegment es eventuell hängt).

� Die Statussätze enthalten alle bislang durchlaufenen Verarbeitungsstatus sowiewiederum Verwaltungsinformationen. Diese Information wird nicht als Teil des IDocs voneinem ins folgende System übermittelt, sondern als separates Datenpaket.

In der IDoc-Schnittstelle nach außen (d.h. wie sie an das Folgesystem übergeben werden)befinden sich die IDocs in drei Strukturen, die den Datenbanktabellen entsprechen: Dort gibt esalso genauso Kontroll- Daten- und Statussatz. Die Beschreibung der einzelnen Felder ist imSystem über die Dokumentationswerkzeuge zugänglich: Lesen Sie dazu den Abschnittallgemeinen Aufbau eines IDocs (Satzarten) anzeigen [Seite 151].

Die folgende Abbildung zeigt den Grundaufbau der IDocs im R/3-System (IDoc-Schnittstelle nachaußen, d.h. die „externen Strukturen“), mit einigen Beispielfeldern.

Page 149: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufbau eines IDocs: Technische Realisierung

April 2001 149

IDoc in der Schnittstelle nach außen Kontrollsatz: EDI_DC40

MANDT, RCVPRN, STATUS,....Datensätze: EDI_DD40

Statussätze: EDI_DS40

SEGNAM, PSGNUM, HLEVEL, SDATA

DOCNUM, STATUS, STATXT, SEGNUM,...

Die Eltern-Kind-Struktur der Segmente wird durch das Feld PSGNUM ermöglicht, das dieNummer des Elternsegmentes (falls vorhanden) trägt. Das Feld HLEVEL enthält zudem noch dieHierarchieebene. Die eigentlichen Anwendungsdaten, d.h. das eigentliche Segment, finden sichim Feld SDATA. Dieses Feld wird wiederum in einzelne Anwendungsfelder unterteilt. DieMaximallänge von SDATA beträgt 1000 Bytes.

Das Feld SEGNUM im Statussatz dient dazu, Segmente zu identifizieren, bei denen es zuSyntaxfehlern gekommen ist. SEGFLD erfüllt die gleiche Funktion auf der untersten Ebene derSegmentfelder.

Ein Segment ist als Mußsegment im IDoc-Typ definiert, wurde aber beim Erzeugendes konkreten IDocs nicht gefüllt. Daher gibt es dieses Mußsegment im betreffendenIDoc nicht - die Syntaxprüfung meldet einen Fehler, im Feld SEGNUM wird dasfehlende Segment vermerkt.

Page 150: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Dokumentationswerkzeuge

150 April 2001

DokumentationswerkzeugeVerwendungDie IDoc-Schnittstelle ist offen, d.h. Aufbau und Verwendung der IDoc-Typen können eingesehenwerden. Dafür stellt die IDoc-Schnittstelle Werkzeuge zur Verfügung, die die betreffendeDokumentation in diversen Formaten anzeigen. Sie können zwischen technischer Sicht (etwaFeldlängen oder Releaseinformationen) und Anwendungssicht (z.B. die Bedeutung dereigentlichen Anwendungsdaten im Segment) wählen.

Ein weiterer Vorteil der Dokumentationswerkzeuge ist, daß sie die Information auch“automatengerecht” formatieren können. So ist es beispielsweise möglich, ein EDI-Subsystemmit Informationen über einen neuen IDoc-Typ zu füttern, so daß dieser künftig vom Subsystemproblemlos verarbeitet werden kann.

FunktionsumfangNachfolgende Tabelle gibt einen Überblick, was in welchem Format von welchem Werkzeugdokumentiert werden kann. Die Werkzeuge erreichen Sie über den Einstiegsknoten der IDoc-Schnittstelle [Extern].

Das Format Parser ist eine einfache SAP-Liste der zu dokumentierenden Felder, die von einemParser eines externen Systems gelesen werden kann. Zusammengehörende Einheiten(Segmente, Satzarten etc.) werden durch BEGIN...END - Kommandos eingeschlossen. Die Listekann ihrerseits auf einen PC (Formate: Rich Text, ASCII, Tabellenkalkulation) übertragen oderauch gedruckt werden.

Das Format Baumanzeige wird zur Bildschirmausgabe verwendet. Extern (z.B. auf einem PC)gespeichert werden kann nur in den anderen Formaten.

Das Format DTD ist die Document Type Declaration für die Ausgabe von IDocs in XML-Dateien[Seite 68]. Sie enthält die XML-Elemente, die in den IDocs des verwendeten Typs auftauchenkönnen oder müssen.

Dokumentation von... Unterstützte Formate Einstieg über...

IDoc allgemein (Satzarten) HTML, C-Header, IDoc,Baumanzeige (Bildschirm),Parser

Dokumentation � IDoc-Satzarten

IDoc-Typ speziell (z.B.ORDERS01)

HTML, C-Header, IDoc,Baumanzeige (Bildschirm),DTD, Parser

Dokumentation � IDoc-Typenoder

Segment HTML, Baumanzeige(Bildschirm)

Dokumentation � IDoc-Segmente

AktivitätenAllgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151]

Dokumentation eines IDoc-Typs anzeigen [Seite 152]

Dokumentation übersetzen [Seite 155]

Page 151: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Allgemeinen Aufbau (IDoc-Satzarten) anzeigen

April 2001 151

Allgemeinen Aufbau (IDoc-Satzarten) anzeigen1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Dokumentation �

IDoc-Satzarten und markieren Sie alle drei Satzarten.

2. Wählen Sie die Version der Satzarten.

Release 4.0 hat z.B. Version 3 (lange Namen, Kundenpräfixe: Das macht sich zumBeispiel bemerkbar beim Feld SEGNAM im Datensatz, der zu Release 4.0 30stellig wird,vorher aber 10stellig war).

3. Markieren Sie über Springen � Benutzereinstellungen alle Anzeigeattribute für IDoc-Typen.Sichern Sie Ihre Einstellungen und gehen Sie zum Einstiegsbild zurück.

Das Bild ist eine Registerkarte aus der IDoc-Administration [Seite 253]. Die Attribute desIDoc-Typs sind nicht markierbar, da Sie hier ja IDoc-Typ-übergreifende Dokumentationabrufen!

4. Wählen Sie für die Baumanzeige. Diese Darstellungsart ist am übersichtlichsten.

Sie erhalten die vollständige Dokumentation über den Aufbau eines jeden IDocs,einschließlich der verwendeten Datenelemente, in der Reihenfolge Kontrollsatz, Daten-und Statussatz. Beachten Sie, daß in typischen IDocs sicherlich mehrere Datensätze(Segmente) und Statussätze vorhanden sind.

Page 152: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Typ- oder Segmentdokumentation anzeigen

152 April 2001

IDoc-Typ- oder Segmentdokumentation anzeigenVoraussetzungen� Im folgenden wird davon ausgegangen, daß Sie sich einen bestimmten IDoc-Typ anzeigen

lassen wollen. Um sich die Dokumentation eines einzelnen Segments anzeigen zu lassen,wählen Sie aus dem Einstiegsmenü der IDoc-Schnittstelle Dokumentation � IDoc-Segmente und fahren mit Schritt 3 im Abschnitt fort. Die Segmentdokumentation unterstütztallerdings nur die HTML- und die Baumanzeige.

Um sich die Dokumentation eines IDoc-Typs allgemein anzeigen zu lassen (IDoc-Satzarten), lesen Sie die Vorgehensweise im Abschnitt Allgemeinen Aufbau (Satzarten)eines IDocs anzeigen [Seite 151]. Diese Dokumentation können Sie in allen untenangegebenen Formaten ausgeben, außer als DTD.

� Wenn Sie die Dokumentation per IDoc verschicken wollen, müssen Sie für Ihren Partner denIDoc-Typ SYIDOC01 mit Nachrichtentyp SYIDOC im Ausgang vereinbaren. WeitereInformationen finden Sie unter Partnervereinbarungen im Standarddialog [Seite 76].

Vorgehensweise1. Um sich einen Überblick über alle von SAP ausgelieferten IDoc-Typen (der Basistypen) zu

verschaffen, wählen Sie im Einstiegsmenü der IDoc-Schnittstelle [Extern] und dann dieF4-Hilfe für Ihr Objekt Basistyp.

Sie erhalten eine Liste der Basistypen zu Ihrem Release nebst Kurzbeschreibung.

2. Wählen Sie den Sie interessierenden IDoc-Typ aus.

3. Wählen Sie Springen � Benutzereinstellungen und bestimmen Sie die gewünschte Sicht. Esbedeuten:

Attribute des IDoc-Typs Basistyp oder Erweiterung, Freigabe, Version derSatzarten: Siehe auch Wichtige Begriffe [Seite158]

Attribute der Segmente Wiederholbarkeit, Erforderlichkeit, qualifiziertesSegment

Attribute der Segmentfelder Länge (in Bytes), Datenelement, aus dem dieFelddokumentation gelesen wird

Dokumentation der Segmente Beschreibender Text für das Segment allgemein

Dokumentation derSegmentfelder

Beschreibender Text für die einzelnen Felder desSegments = Dokumentation der zugehörigenDatenelemente

Feldwerte z.B. Festwerte, die an einer Domäne hängen,oder Prüftabellen, aus denen die möglichen Wertegelesen werden

Die weiteren Einstellungen betreffen Vorschlagswerte für verschiedene Ausgabeformate(HTML, C-Header etc.).

Page 153: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Typ- oder Segmentdokumentation anzeigen

April 2001 153

4. Kehren Sie zum Einstiegsbild zurück und wählen Sie (Baumanzeige), um eine schnelleÜbersicht im System zu erhalten.

Die einzelnen Segmente und deren Felder werden in einer Baumstruktur dargestellt, wiesie der Eltern-Kind-Segmenthierarchie entspricht.

5. Innerhalb der Baumdarstellung können Sie für einzelne Objekte (z.B. ein bestimmtesSegmentfeld) auswählen, welche Parameter ausgegeben werden sollen. Dazu schalten Siedie entsprechenden Symbole durch Mausklick ein oder aus. Zur Erläuterung der Symbolewählen Sie .

6. Für die weiteren Formate wählen Sie im Einstiegsbild

für das IDoc-Format. Geben Sie den entsprechenden Partner an (Partnernummer und -art).

für das HTML-Format. Es werden drei Dateien erzeugt: Eine für den Rahmen (frame),eine für den Index und eine für die eigentliche Dokumentation. Ihre Namen endenentsprechend mit _f, _i und _d. Ein HTML-Browser lädt die Rahmendatei und setzt dannIndex- und Dokumentationsdatei in die entsprechenden Teile des Rahmens. Wenn Siees in den Anwenderparametern der IDoc-Administration [Seite 253] so eingestellt haben,wird der Browser automatisch gestartet.

für den C-Header

für den Parser

Dokumentation � DTD erzeugen für das DTD-Format

Im C-Header und im HTML-Format findet sich die Information “freigegeben seitRelease...”. Genaugenommen stimmt das erst ab Release 4.0A. Vor 4.0A bis 3.0Dgibt diese Information das Release an, zu dem der IDoc-Typ angelegt wurde (wasfreilich meist auch das Freigaberelease war). Vor Release 3.0D gab es dieseInformation noch nicht.

Page 154: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ein IDoc mittels XSL-Stylesheet anzeigen

154 April 2001

Ein IDoc mittels XSL-Stylesheet anzeigenVerwendungIDocs im XML-Format (wie sie z.B. der Business Connector erzeugt) können Sie vermittels einesStylesheets individuell darstellen. Die Stylesheets können Sie mit den unten angegebenenSchritten testen.

VoraussetzungenSie haben Ihr Stylesheet nebst Bildern auf dem Präsentationsserver oder im Web Repositoryabgelegt (Transaktion SMW0). Bilder werden im Web Repository als binäre Objekte, Stylesheetsals HTML-Schablonen identifiziert.

Vorgehensweise1. Vom Einstiegsknoten der IDoc-Schnittstelle wählen Sie Entwicklung -> IDoc-Styles.

2. Identifizieren Sie Ihr Stylesheet und die Bilder über eine Style-ID. Beachten Sie die F1-Hilfeauf den Feldern. Ordnen Sie die Style-ID dem gewünschten Nachrichtentyp zu.

3. Pflegen Sie eine Eingangs-Partnervereinbarung [Seite 84] für den gewünschtenNachrichtentyp. Als Vorgangscode wählen Sie ED00_XML. Ordnen Sie sich als erlaubtenBearbeiter zu.

4. Erzeugen Sie ein Test-IDoc des gewünschten Nachrichtentyps, z.B. mit dem Testwerkzeug[Seite 96], und spielen es ein.

5. Sie erhalten ein Workitem im Business Workplace, Beim Ausführen erhalten Sie die XML-Anzeige des IDocs.

Über Ansicht können Sie andere Stylesheets auswählen.

6. Beenden Sie das Workitem über Bearbeiten. Hier können Sie auch das Löschkennzeichensetzen, womit das IDoc einen archivierbaren (und damit löschbaren) Status [Seite 128]erhält.

Page 155: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Dokumentation übersetzen

April 2001 155

Dokumentation übersetzenVerwendungZu eigenen Definitionen (Erweiterungen, Sichten oder Basistypen) erfassen Sie auchDokumentation mit den Entwicklungswerkzeugen der IDoc-Schnittstelle (Segment- und IDoc-Typ-Editor). Um diese Dokumentation in andere Sprachen zu übersetzen, müssen Sie dieallgemeine Übersetzungstransaktion verwenden.

Voraussetzungen� Sie haben die Berechtigung für die Übersetzungstransaktion SE63 (Berechtigungsobjekt

S_TRANSLAT).

� Eine eigene Erweiterung, Sicht oder ein eigener Basistyp liegt vor und ist getestet. WeitereInformationen hierzu finden Sie unter

Erweiterung eines IDoc-Typs [Seite 176]

IDoc-Sichten [Seite 172]

Definition und Verwendung eines Basistyps [Seite 194]

� Sie haben sich eine Liste der von Ihnen neu definierten Segmente zusammengestellt.

� Sie besitzen eine entsprechende Liste der Datenelemente, die Sie für Ihre neu definiertenSegmentfelder benutzen und die noch nicht übersetzt sind.

� Für diese Datenelemente besitzen Sie eine Liste der hinterlegten Domänen, die noch zuübersetzende Festwerte haben.

Vorgehensweise1. Wählen Sie auf dem R/3-Einstiegsbild Werkzeuge � ABAP Workbench, Hilfsmittel �

Übersetzung � Kurz- und Langtexte.

Sie gelangen in die allgemeine Übersetzungstransaktion.

2. Nur wenn Sie noch nicht übersetzte Datenelemente für Ihre Segmentfelder verwendethaben: Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Datenelemente. GebenSie ein Datenelement, Quell- und Zielsprache ein und wählen Sie Umfeld mit Langtexten.Übersetzen Sie Ihre Datenelemente (Kurztexte) und deren Dokumentation (Langtexte).Sichern Sie die Texte. Verfahren Sie so mit allen Datenelementen Ihrer Liste.

Segmentfelder werden über Datenelemente dokumentiert. Daher müssen Sie in derÜbersetzungstransaktion sowohl die Kurz- als auch die Langtexte übersetzen.

3. Nur wenn Sie noch nicht übersetzte Festwerte für Ihre Segmentfelder verwendet haben:Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Werte. Geben Sie eineDomäne, Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie IhreFestwerte (Kurztexte) und sichern Sie die Texte. Verfahren Sie so mit allen Domänen IhrerListe.

4. Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Text zu Tabellen. Geben Sieeinen Segmenttyp, Quell- und Zielsprache ein und wählen Sie Umfeld mit Langtexten.Übersetzen Sie Kurzbeschreibung und die Dokumentation (den Langtext) Ihrer „Tabelle“.Sichern Sie die Texte. Verfahren Sie so mit allen Segmenten Ihrer Liste.

Page 156: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Dokumentation übersetzen

156 April 2001

Segmenttypen sind im Dictionary als Strukturen abgelegt. Da jede Tabelle auch eineStruktur besitzt, werden Tabellen und Strukturen in der Übersetzungstransaktion als„Tabellen“ bezeichnet. Zu Strukturen und Tabellen werden dokumentierende Kurz- undLangtexte erfaßt.

Ein Absprung in die Übersetzung findet sich auch im Segmenteditor [Seite 198]:Wählen Sie dort Umfeld � Übersetzung.

5. Wählen Sie Übersetzung � logische Objekte � logische Objekte. Geben Sie als Objekt ein:

� IDOC, wenn Sie einen Basistyp definiert haben,

� IEXT, wenn Sie eine Erweiterung definiert haben

� IDCV, wenn Sie eine Sicht definiert haben

Geben Sie Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie dieKurzbeschreibung und sichern Sie den Text.

Ein Absprung in die Übersetzung findet sich auch im IDoc-Typ-Editor [Seite 171]bzw. den IDoc-Sichten [Seite 172]: Wählen Sie dort Umfeld � Übersetzung.

6. Nur wenn Sie eine neue logische Nachricht definiert haben: Wählen Sie Übersetzung �Kurztexte � Tabelleninhalte. Geben Sie die Tabelle EDIMSGT ein und Quell- undZielsprache. Wählen Sie Bearbeiten. Übersetzen Sie die Beschreibung und sichern Sie denText.

7. Nur wenn Sie einen neuen Vorgangscode definiert haben: Wählen Sie Übersetzung �Kurztexte � Tabelleneinträge. Geben Sie als Tabelle ein:

� EDE1T, wenn Sie einen Vorgangscode für den Ausgang definiert haben

� EDE2T, wenn Sie einen Vorgangscode für den Eingang definiert haben

Geben Sie Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie dieBeschreibung und sichern Sie den Text.

ErgebnisSie haben die Dokumentation zu Ihren Neudefinitionen übersetzt. Wenn Sie sich im System inder Zielsprache anmelden, geben die Dokumentationswerkzeuge die übersetzten Kurz- undLangtexte aus. In der IDoc-Schnittstelle sind Ihre neuen logischen Nachrichten undVorgangscodes in der Zielsprache beschrieben.

Page 157: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Neue IDoc-Typen definieren

April 2001 157

Neue IDoc-Typen definierenEinsatzmöglichkeitenWenn die im Standard von SAP ausgelieferten IDoc-Typen (die Basistypen) Ihre Bedürfnissenicht abdecken, können Sie Ihre eigenen IDoc-Typen definieren.

VoraussetzungenBevor Sie einen neuen IDoc-Typ definieren, sollten Sie zunächst prüfen, ob die Basistypen nichtIhre Bedürfnisse abdecken. Eine Liste dieser Basistypen und Ihrer Bedeutung erhalten Sie überdie Dokumentationswerkzeuge der IDoc-Schnittstelle: Verfahren Sie, wie unter Punkt 1 desAbschnitts IDoc-Typ- oder Segmentdokumentation anzeigen [Seite 152] beschrieben ist.

AblaufVorbereitungNeue IDoc-Typen sollten im Rahmen einer Kundenerweiterung definiert werden, innerhalbderer Kundensegmente an einen bestehenden Basistyp angehängt werden. Der Abschnitt

Wichtige Begriffe [Seite 158]

klärt diese und weitere wichtige Begriffe und sollte zuerst gelesen werden.

Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente [Seite 164]

Für eine Kundenerweiterung sollten Sie zunächst die Segmente zusammenstellen, die Sie dazubrauchen. Dabei müssen Sie eventuell eigene Segmente entwickeln, bei denen Sie dieseRichtlinien beachten sollten. Die

Designrichtlinien beim Erstellen neuer IDoc-Typen [Seite 166]

sollten auf jeden Fall beachtet werden.

DefinitionFür die Definition setzen Sie die Entwicklungswerkzeuge der IDoc-Schnittstelle ein, die in denfolgenden Abschnitten beschrieben sind:

Segmenteditor [Seite 167]

IDoc-Typ-Editor [Seite 171]

Die Programmierschnittstelle (API) zur Definition von IDoc-Typen [Seite 173]

Die automatische Definition von IDoc-Typen wird nur in speziellen Fällen benötigt. Der Abschnittkann im allgemeinen übersprungen werden.

Checklisten: Von der Definition bis zum EinsatzDie folgenden zwei Checklisten geben die generelle Vorgehensweise von der Definition bis zumEinsatz von neuen IDoc-Typen in zwei Fällen an:

Erweiterung eines IDoc-Typs [Seite 176]

Definition und Verwendung eines Basistyps [Seite 194]

Page 158: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Wichtige Begriffe

158 April 2001

Wichtige BegriffeBasistyp, Erweiterung, IDoc-Typ [Seite 159]

Segmenttyp und Segmentdefinition [Seite 160]

Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161]

Versionierung und Freigabeverfahren [Seite 162]

Namensräume [Seite 163]

Page 159: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Basistyp, Erweiterung, IDoc-Typ

April 2001 159

Basistyp, Erweiterung, IDoc-TypDefinitionIDoc-Typen können entweder im Original von SAP ausgeliefert sein: Das sind die Basistypen.Oder es können Kundenerweiterungen sein: Dabei wird ein Basistyp mit einer vom Kundendefinierten Erweiterung nach festen Regeln kombiniert. Im Gegensatz zur Kundenentwicklung(oder Modifikation, siehe Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161]) ist einsolcher erweiterter Basistyp aufwärtskompatibel.

Zu den Releases 3.X wurden andere Begriffe verwendet: Der jetzige Basistyp hieß“Basis-IDoc-Typ”, die Erweiterung hieß “Erweiterungstyp”. Der Begriff “IDoc-Typ”wurde sowohl für den erweiterten Basistyp wie auch für den Überbegriff verwendet!

Erweiterungen werden über Referenzsegmente an Basistypen “angehängt”. Da kein Basistyp inspäteren SAP-Releases Segmente verlieren kann, ist die Kompatibilität gesichert.

Page 160: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Segmenttyp und Segmentdefinition

160 April 2001

Segmenttyp und SegmentdefinitionDefinitionGrundbausteine eines IDoc-Typs sind die Segmente: Hier werden die eigentlichen Datenabgelegt.

Ein Segmenttyp ist die releaseunabhängige Bezeichnung eines Segmentes.

Die Segmentdefinition ist die releaseabhängige Bezeichnung eines Segmentes. Mit Hilfe desSegmenttyps und des Releases wird die gewünschte Segmentdefinition ermittelt: So können Sieeinem IDoc-Typ aus dem aktuellen Release die Definitionen seiner Segmente aus früherenReleases zuweisen. Dies kann z.B. dann nötig sein, wenn Ihr Partner ein älteres Releaseverwendet, das zwar Ihren aktuellen IDoc-Typ unterstützt, nicht aber Ihre aktuellenSegmentdefinitionen. Dann müssen Sie diese in den Partnervereinbarungen [Seite 78]“zurückschalten”.

Die Segmentdefinition ist auch der externe Name des Segments, den das Partnersystem „sieht“.

Ähnliche Begriffe bei IDocs werden nicht analog verwendet: So ist ein IDoc-Typdatenunabhängig (“Ein IDoc ist ein mit Daten gefüllter IDoc-Typ”), während einSegmenttyp releaseunabhängig ist. Ein Segment kann sowohl Teil eines IDocs(datenabhängig) wie auch Teil eines IDoc-Typs sein (datenunabhängig).

Page 161: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Kundenerweiterung, SAP- und Kundenentwicklung

April 2001 161

Kundenerweiterung, SAP- und KundenentwicklungDefinitionKundenerweiterung - Erweiterte Basistypen werden bei einem Releasewechsel weiterhinunterstützt. Von SAP ausgelieferte Nachfolger von Basistypen aus vorhergehenden Releaseswerden automatisch mit den bereits verwendeten Erweiterungen kombiniert. Es ist keinemanuelle Pflege erforderlich.

SAP-Entwicklung - Von SAP entwickelte neue IDoc-Typen werden als neue Basistypenausgeliefert. Beim Releasewechsel ist keine manuelle Pflege seitens des Kunden erforderlich.

Kundenentwicklung (Modifikation) - Vom Kunden definierte eigene Basistypen und eventuelleErweiterungen dieser bleiben bei einem Releasewechsel unverändert. Diese sogenanntenKundenentwicklungen müssen damit eventuell nachgepflegt werden.

Page 162: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Versionierung und Freigabeverfahren

162 April 2001

Versionierung und FreigabeverfahrenDefinitionFolgende Entwicklungsobjekte der IDoc-Schnittstelle können releaseabhängig sein, d.h. es kannverschiedene Versionen von ihnen geben:

� Basistypen

� Erweiterungen

� Segmente (jede Segmentdefinition ist eine Version des Segments)

Bei Basistypen erkennen Sie die Version normalerweise an den letzten zwei Ziffern, beiSegmenten sind es die letzten drei Ziffern, die die jeweilige Segmentdefinition anzeigen.

Pro Release darf es nur eine Version des jeweiligen Objektes geben. Diese Versionen stehen ineindeutiger Vorgänger/Nachfolgerbeziehung.

Ein IDoc-Typ, der eine Kombination aus Basistyp und Erweiterung ist (ein erweiterterBasistyp), kann also auf mehrere Arten versionsabhängig sein:

� Es gibt mehrere Versionen des Basistyps

� Es gibt mehrere Versionen der Erweiterung

� Es gibt mehrere Versionen von Segmenten des Basistyps

� Es gibt mehrere Versionen von Segmenten der Erweiterung

� Beliebige Kombination dieser vier Fälle

Ein Nachfolger muß immer die gleichen Teile wie der Vorgänger und mindestens eines mehrbesitzen: Eine neue Segmentdefinition muß also alle Felder ihres Vorgängers und mindestenseines mehr besitzen. Ein Nachfolger eines Basistyps oder einer Erweiterung muß mindestensalle Segmente seines Vorgängers und mindestens eins mehr besitzen.

Um einen neuen Nachfolger anlegen zu können, müssen Sie den Vorgänger freigegebenhaben. Durch die Freigabe wird das Objekt vor Veränderungen geschützt. Falls noch keinNachfolger des Entwicklungsobjekts angelegt wurde, kann die Freigabe zurückgenommenwerden.

Eine nicht freigegebene Segmentdefinition erhält den Initialwert “000” alsVersionsnummer.

Sie sollten erst dann freigeben, wenn Ihre Entwicklung endgültig abgeschlossen ist.Testen können Sie nämlich auch mit nicht freigegebenen Objekten! Sie sollten dieFreigabe nur in Ausnahmefällen aufheben, da nachträgliche Änderungen an bereitsverwendeten Objekten zu Inkonsistenzen führen können. Insbesondere verstehenFolgesysteme diese Änderungen nicht mehr.

Page 163: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Namensräume

April 2001 163

NamensräumeDefinitionKunden- und SAP-Entwicklungen finden in unterschiedlichen Namensräumen statt, die durchdie erlaubten Anfangsbuchstaben der jeweiligen Entwicklungsobjekte definiert sind. Zusätzlichgibt es ab Release 4.0 Kunden- und SAP-Präfixe, z.B. “/sap/” oder “/<Kunde>/”.

VerwendungUntenstehende Tabelle gibt die Namensräume für die betroffenen Entwicklungsobjekte der IDoc-Schnittstelle an.

Objekt SAP-Namen beginnen mit... Kundennamen beginnen mit...

Basistyp A-X oder SAP-Präfix Y-Z oder Präfix

Erweiterung nicht von SAP ausgeliefert alle Namen möglich

Segment E1 Z1 oder Präfix

Nachrichtentyp A-X Y-Z oder Präfix

Page 164: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente

164 April 2001

Designrichtlinien und Formatierungsregeln beimErstellen neuer SegmenteDesignrichtlinien� Erfinden Sie das Rad nicht neu

Vor dem Erstellen prüfen Sie, ob nicht ein bereits bestehendes Segment IhreForderungen abdeckt. Orientieren Sie sich auch an EDI-Standards, wie etwa ANSI X12(nordamerikanischer Raum) oder EDIFACT (weltweit). Bei codierten Feldwerten solltenSie ISO-Codes verwenden, um sich an eine allgemein übliche Norm anzulehnen. ISO-Codes existieren beispielsweise für Länder (ISO 3166), Währungen (ISO 4217) oderMaßeinheiten (ISO 31).

� Gruppieren Sie Ihre Daten sinnvoll

Betriebswirtschaftliche Daten werden in Segmentfeldern abgebildet. Logischzusammengehörende Daten sollten auch zu einem Segment zusammengefaßt werden.Logisch zusammengehörende Segmente sollten zu einer Segmentgruppezusammengefaßt werden. Zum Beispiel können die Materialien einer Bestellung ineinem Segment abgebildet werden. Zusammen mit anderen Segmenten (Informationenzum Partner, zu den Steuern und Zahlungsbedingungen) ist dieses Segment dann Teilder Segmentgruppe “Positionen”.

� Schaffen Sie universelle Segmente

Damit können Sie einmal erstellte Segmente in anderen IDoc-Typen erneut einsetzen.Prüfen Sie, ob ein Segment nachrichtenunabhängig verwendbar ist. Ein in diesem Sinneuniverselles Segment ist beispielsweise eines, welches allgemeine Adreßdaten enthält.

� Schaffen Sie übersichtliche Segmente und Segmentgruppen

Plazieren Sie Mußfelder möglichst weit vorne im Segment. 2 Segmente, die immerzusammen vorkommen, sollten zu einem Segment zusammengefaßt werden.

Überlegen Sie, ob Sie die Verwendung von Qualifiern vermeiden können. Qualifier (=Kennzeichen, wie ein Segment verwendet wird) sind schwer zu dokumentieren und zuinterpretieren. Qualifier sind meist auch nicht anwendungsübergreifend festgelegt, sodaß diese Segmente nicht universell sind.

� Denken Sie ökonomisch

Die Maximallänge aller Felder eines Segments liegt bei 1000 Zeichen. Je größer einSegment ist, um so besser ist das Verhältnis von Nutzdaten zu Verwaltungsdaten. Wennes sich herausstellt, daß später noch weitere Daten in einem Segment benötigt werden,ist allerdings eine gewisse Platzreserve im Segment zum Hinzufügen von Feldernsinnvoll.

� Dokumentieren Sie Ihre Segmente

Nutzen Sie die Dokumentationsmöglichkeiten, die Ihnen der Segmenteditor bietet. Siekönnen pro Feld ein zusätzliches Datenelement hinterlegen, das Informationen über dieFeldverwendung in der Anwendung trägt. Außerdem können Sie Dokumentation zueinem Segment erfassen, um Eigenschaften des gesamten Segments und seinesAufbaus zu erläutern. Bedenken Sie bei Ihrer Dokumentation sowohl die Verwendungder Segmentfelder im Eingang als auch im Ausgang.

Page 165: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente

April 2001 165

� Denken Sie an eine eventuelle Konvertierung in EDI-Standards

Dazu sollten Sie die unten aufgeführten Formatierungsregeln speziell für diesen Fallbeachten.

FormatierungsregelnAllgemein gelten folgende Formatierungsregeln für Daten in Segmentfeldern:

� Die Felder in Segmenten dürfen nur alphanumerische Daten enthalten. Dies wird durch dieVerwendung von charakterähnlichen Datenelementen in den Segmentfeldern erreicht.

� Es wird nicht zwischen Groß- und Kleinschreibung unterschieden.

� Die Felder werden linksbündig gefüllt.

� Die Standarddarstellung (ohne Qualifier) für das Datum ist YYYYMMDD. Der 28. Februar1996 würde somit als 19960228 dargestellt werden.

� Die Standarddarstellung (ohne Qualifier) für die Uhrzeit ist HHMMSS. Die Uhrzeit 20 Uhr 35würde somit als 203500 dargestellt werden.

� Bei Fixkommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keineTausender-Trennzeichen. Negative Werte werden durch ein nachfolgendes Minuszeichengekennzeichnet.

Deutsche Notierung: Die Zahl -2.097.152,64 würde als 2097152.64- dargestellt werden.

Amerikanische Notierung: Die Zahl -2,097,152.64 würde als 2097152.64- dargestelltwerden.

� Bei Fließkommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keineTausender-Trennzeichen. Negative Werte werden durch ein vorangestelltes Minuszeichengekennzeichnet, der Exponent wird immer mit angegeben.

Deutsche Notierung: Die Zahl -23,4 würde als -2.34E+01 dargestellt werden.

Amerikanische Notierung: Die Zahl -23.4 würde als -2.34E+01 dargestellt werden.

Wenn Ihre IDocs in andere EDI-Standards (EDIFACT, ANSI X12) umgewandelt werden sollen,können zusätzlich folgende Regeln hilfreich sein:

� Segmentfelder im IDoc sollten möglichst direkt auf EDI-Datenelemente abgebildet werdenkönnen. Vermeiden Sie das Aufteilen, Zusammensetzen oder sonstige Umsetzungen, die zuSchwierigkeiten bei der automatischen Konvertierung führen.

� Die Feldlänge sollte die Maximallänge der SAP-Anwendung oder der betrachteten EDI-Standards betragen (je nachdem, welche größer ist), so daß die vorhandene Informationimmer vollständig übertragen werden kann.

� Mußfelder der Segmente im EDI-Standard müssen im IDoc-Segment enthalten sein, um einefehlerfreie Konvertierung zu ermöglichen.

Page 166: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Designrichtlinien beim Erstellen neuer IDoc-Typen

166 April 2001

Designrichtlinien beim Erstellen neuer IDoc-Typen� Schaffen Sie übersichtliche IDoc-Typen

Ihr IDoc-Typ sollte eine flache Struktur besitzen (nicht zu viele Eltern-Kind-Generationen). Ein Segment darf bei der Definition eines IDoc-Typs nur einmalverwendet werden. Da Segmente oder Segmentgruppen aber wiederholt werden können(maximale und minimale Wiederholbarkeit sind zwei ihrer Attribute) und überdies nuroptional sein können (Attribut: Kannsegment), können sie im erzeugten IDoc durchausmehrfach oder überhaupt nicht erscheinen. Plazieren Sie Mußsegmente möglichst weitvorne im IDoc-Typ.

� Denken Sie an eine eventuelle Konvertierung in EDI-Standards

Mußsegmente der EDI-Standards sollten dann auch Mußsegmenten im IDoc-Typentsprechen. Ebenso sollten maximale und minimale Wiederholbarkeit entsprechendgewählt werden.

� Denken Sie an die zugeordneten Funktionsbausteine

Der Buchungsbaustein muß alle zulässigen IDocs des jeweiligen IDoc-Typs verarbeitenkönnen. Ebenso muß der Selektionsbaustein die Segmente in der korrekten Reihenfolgeund Hierarchie erstellen können. Andernfalls konstatiert die Syntaxprüfung der IDoc-Schnittstelle einen Fehler.

Page 167: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Segmenteditor

April 2001 167

SegmenteditorVerwendungSegmente werden im Segmenteditor angelegt und geändert. Dabei geschieht die Änderungimmer auf der Ebene der Segmentdefinition [Seite 160], also der zum aktuellen Releasegehörenden Version des Segmentes. Der Segmenteditor stellt sicher, daß die Regeln beimErstellen von Segmentdefinitionen eingehalten werden, z.B. ob nur eine Segmentdefinition proRelease existiert.

FunktionsumfangDie Segmentdefinitionen werden komfortabel aus den einzelnen Feldern und denzugrundeliegenden Datenelementen und Domänen zusammengestellt. Zusätzlich kann (undsollte!) Anwendungsdokumentation zu den Segmentdefinitionen erfaßt werden. Sie bekommensofort einen Überblick über die bereits erfaßten Segmentdefinitionen. Über denVerwendungsnachweis erhalten Sie sämtliche IDoc-Typen, in denen das jeweilige Segmentbereits vorkommt.

Wenn die Entwicklung einer Segmentdefinition abgeschlossen ist, wird sie vom Editor ausaktiviert und freigegeben. Durch das Aktivieren werden alle zugrundeliegenden Strukturen imABAP Dictionary aktiviert. Die Freigabe einer Segmentdefinition ist ein Sicherheitskonzept: Sieverhindert, daß die Segmentdefinition weiter geändert wird.

Der Segmenteditor besitzt einen automatischen Transportanschluß. Wenn Sie Objektedefinieren oder ändern, wird automatisch der Auftrag abgefragt, der diese Änderung zugeordnetwerden soll. Diese Abfrage können Sie vermeiden, indem Sie einen Standardauftrag setzen,dem alle Änderungen, die Sie in einer Sitzung durchführen, zugeordnet werden. DerStandardauftrag kann direkt vom Segmenteditor gesetzt werden.

AktivitätenSegmente ändern [Seite 168]

Segment definieren [Seite 198]

Kommunikation mit älteren Releases [Seite 34]

Page 168: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Segmente ändern

168 April 2001

Segmente ändernVoraussetzungenSegmente werden über ihre Segmentdefinitionen geändert. Es darf nur eine Segmentdefinitionpro SAP Release geben. Wenn daher ein Segment schon eine Segmentdefinition aus demaktuellen Release besitzt, kann es nur geändert werden, indem diese aktuelle Segmentdefinitionüberschrieben wird.

Vorgehensweise1. Zum Segmenteditor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern]

über Entwicklung � IDoc-Segmente. Geben Sie den Segmenttyp ein und wählen Sie .

Der Editor zeigt die bestehenden Segmentdefinitionen mit Freigabekennzeichen undzugehörigem Release an.

2. Bevor Sie das Segment ändern, sollten Sie einen Transportauftrag anlegen, in den SieIhre neue Segmentdefinition und dessen Dokumentation stellen. In den WorkbenchOrganizer gelangen Sie aus dem Segmenteditor über Hilfsmittel � Aufträge (Organizer).Von dort aus wählen Sie und beantworten die Abfragen. Über gelangen Sie in denSegmenteditor zurück.

3. Wenn die letze Segmentdefinition aus Ihrem Release stammt und freigegeben ist,müssen Sie das Freigabekennzeichen über Bearbeiten � Freigabe aufhebenzurücknehmen.

4. Editieren Sie die letzte nicht freigegebene Segmentdefinition über oder legen Sieüber eine neue, zum aktuellen Release gehörige Segmentdefinition an.

Wenn die editierte Segmentdefinition einen Vorgänger (also eine frühere Version)besitzt, dann werden die Felder dieses Vorgängers im Editor grau angezeigt und sindnicht änderbar. Sie können nur neue Felder an das Segment hängen (Vorgänger-Nachfolgerbeziehung!)

5. Die weiteren Schritte (Editieren, Sichern, Freigeben, Transportieren) sind analog imAbschnitt Segment definieren [Seite 198] beschrieben. Die Version Ihrer neuenSegmentdefinition ist um 1 höher als die der letzten Segmentdefinition.

Page 169: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Segment definieren

April 2001 169

Segment definierenEs wird der Fall betrachtet, daß Sie ein neues Segment anlegen müssen. Wenn Sie eine neueSegmentdefinition anlegen müssen, ändern Sie ein bestehendes Segment [Seite 168] mit demSegmenteditor.

VoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.

Vorgehensweise1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle

[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an.

2. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie .

3. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll(Ankreuzfeld).

Aus den Datenelementen werden über die Domäne die Feldlängen (in Bytes) alsExportlängen und eventuell Festwerte abgeleitet. Auch die Dokumentation desDatenelements wird übernommen und in den Dokumentationswerkzeugen angezeigt.

Ändern Sie nicht die Exportlänge! Daten werden als Character-Felder dieser Länge miteinem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ desgewählten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Längegespeichert. Unterschiedliche Längen können zu Datenverlust (Abschneidenüberzähliger Bytes) führen.

4. Wählen Sie Springen � Dokumentation und beschreiben Sie Ihren Segmenttyp. SichernSie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in denSegmenteditor zurück.

Wenn Sie später Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ überdie Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hierverfaßte Beschreibung erscheinen.

5. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.

6. Verlassen Sie das Bild (F3).

Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit derVersionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.

Page 170: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Segment definieren

170 April 2001

ErgebnisSie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist nochnicht freigegeben [Seite 162], aber Sie können mit ihm bereits testen und arbeiten. Sie solltenIhr Segment erst freigeben, wenn Ihre geplante Verarbeitung fehlerfrei funktioniert!

Im Fallbeispiel definieren Sie zwei Segmente, E1HEAD (Kopf) und E1ITEM(Position). Diese beiden Beispielsegmente sind bereits im System vorhanden. Siedienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das SegmentE1HEAD beginnt beispielsweise mit folgenden Feldern:

Feld Datenelement Länge

BELNR (Belegnummer) EDI_BELNR 35

VKORG (Verkaufsorgan.) VKORG 4

VTWEG (Vertriebsweg) VTWEG 2

SPART (Sparte) SPART 2

... ... ...

Page 171: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Typ-Editor

April 2001 171

IDoc-Typ-EditorVerwendungMit diesem Werkzeug werden IDoc-Typen erstellt und bearbeitet. Sie können sowohl Basistypeneditieren (SAP- oder Kundenentwicklung) wie auch Erweiterungen (Kundenerweiterung).

FunktionsumfangAbgesehen von zwei Kopfeinträgen (Name u. Beschreibung) werden IDoc-Typen auf der Ebeneder Segmente editiert. Segmente können angehängt, eingefügt oder wieder gelöscht werden.Der IDoc-Typ-Editor erlaubt auch, in den Segmenteditor zu springen.

Der IDoc-Typ wird als Baum dargestellt, in dem z.B. auch die Eltern-Kind-Struktur vonSegmenten zum Ausdruck kommt (siehe auch den Abschnitt Allgemeiner Aufbau eines IDocs[Seite 146]): Ein Elternsegment wird dabei als Knoten angezeigt, der in die einzelnen Kinderverzweigt.

Wenn die Entwicklung eines IDoc-Typs abgeschlossen ist, wird sie vom Editor aus freigegeben.Die Freigabe ist wie beim Fall der Segmentdefinition ein Sicherheitskonzept: Sie verhindert, daßder IDoc-Typ weiter geändert wird. Vor der Freigabe sollte aber vom Editor aus geprüft werden,ob der IDoc-Typ auf Segmentebene konsistent ist - Damit wird beispielsweise verhindert, daßfehlerhafte Segmente eingebaut werden.

Vom IDoc-Typ-Editor aus kann man direkt dem neuen IDoc-Typ eine Nachricht zuordnen.Beachten Sie, daß Sie das sowieso tun müssen, da später in den Partnervereinbarungen aufdiese Zuordnung geprüft wird!

Der IDoc-Typ-Editor besitzt einen automatischen Transportanschluß. Wenn Sie irgendwelcheObjekte definieren oder ändern, wird automatisch die Korrektur abgefragt, der diese Änderungzugeordnet werden soll. Diese Abfrage können Sie vermeiden, wenn Sie einen Standardauftragsetzen, dem dann alle Änderungen, die Sie in einer Sitzung durchführen, zugeordnet werden.Der Standardauftrag kann direkt vom IDoc-Typ-Editor gesetzt werden.

AktivitätenMit dem IDoc-Typ-Editor erweitern oder schaffen Sie nur den IDoc-Typ. Um einen neuen IDoc-Typ (erweiterter oder neuer Basistyp) tatsächlich einsetzen zu können, müssen Sie allerdingsnoch mehr tun. Beachten Sie dazu folgende

Zwei Checklisten:Erweiterung eines IDoc-Typs [Seite 176]

Definition und Verwendung eines Basistyps [Seite 194]

Page 172: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

IDoc-Sichten

172 April 2001

IDoc-SichtenVerwendungIDoc-Typen können für mehr als eine Nachricht, d.h. für mehr als einen Geschäftsprozeßverwendet werden. Dadurch enthalten sie im allgemeinen mehr Segmente, als im konkretenAnwendungsfall benötigt wird. Um die Performance beim Erzeugen des IDocs zu verbessern,können Sie durch Sichten erreichen, daß nur die für den jeweiligen Geschäftsprozeß relevantenSegmente mit Daten gefüllt werden. Sichten spielen also nur beim IDoc-Ausgang eine Rolle.

IntegrationDie Anwendung muß diese Funktion unterstützen: Das Programm, das die Anwendungsdaten inIDocs schreibt, muß folgendes leisten:

� Abfrage der Partnervereinbarungen, ob eine Sicht existiert. Hierzu wird derFunktionsbaustein EDI_PARTNER_READ_OUTGOING aufgerufen.

� Abfrage, welche Segmente zur Sicht gehören. Hierzu wird der FunktionsbausteinEDI_VIEW_READ einmal aufgerufen, der die Segmente in einer Tabelle liefert.

� Abfrage, ob das aktuelle Segment in der aktuellen Sicht gefüllt werden soll. Hierzu wirddie von EDI_VIEW_READ zurückgegebene Tabelle benutzt.

Im Standard werden Sichten auf die IDoc-Typen DELVRY01 und INVOIC01 ausgeliefert.

VoraussetzungenSie benötigen IDoc-Entwicklungsberechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in derRolle SAP_BC_SRV_EDI_DEVELOPER_AG), um eine Sicht zu definieren.

Aktivitäten1. Im Einstiegsknoten der IDoc-Schnittstelle [Extern] wählen Sie Entwicklung � IDoc-Sicht,

um eine Sicht zu definieren. Geben Sie einen Namen für die Sicht ein und wählen Sie.

2. Im nächsten Bild ordnen Sie der Sicht einen Nachrichtentyp (logische Nachricht) undeinen Basistyp, optional auch eine Erweiterung zu. Diese Zuordnung wird in denPartnervereinbarungen geprüft.

3. Positionieren Sie auf ein Segment, das in der Sicht vorkommen soll. Wählen Sie .Folgende Segmente müssen in der Sicht vorkommen:

a) Qualifizierte Segmente

b) Mußsegmente

4. Sichern Sie Ihre Angaben.

5. In den Partnervereinbarungen (Ausgang allgemein [Seite 78]) tragen Sie für diebetreffenden Kombinationen aus Partner und Nachricht die Sicht ein.

Page 173: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Das API zur IDoc-Typ- und Segmentdefinition

April 2001 173

Das API zur IDoc-Typ- und SegmentdefinitionDefinitionZur automatischen, dialogfreien Entwicklung von Segmenten und IDoc-Typen steht Ihnen eineReihe von Funktionsbausteinen zur Verfügung. Diese Programmierschnittstelle (API) wird auchvom IDoc-Typ- und Segmenteditor verwendet.

VerwendungHinter BAPIs [Extern] stehen IDoc-Typen zur Übertragung der Geschäftsinformationen. Wennneue BAPIs erzeugt werden, werden die entsprechenden IDocs über dieses API erzeugt.

StrukturDas API ist auf drei Funktionsgruppen verteilt: Die auf Segmenten operierendenFunktionsbausteine finden sich in der Funktionsgruppe EDIJ, die auf Basistypen undErweiterungen operierenden Funktionsbausteine in der Funktionsgruppe EDIM. Die dritteFunktionsgruppe ist eine Gruppe RFC-fähiger Funktionsbausteine, die von externenEntwicklungen genutzt werden können. Ein Beispiel ist die IDoc-Klassenbibliothek [Extern](Dokumentation nur auf Englisch verfügbar!), die in C geschrieben ist.

Funktionsbausteine aus der Gruppe EDIJ (Segmente)

Name Beschreibung

SEGMENT_CREATE Legt ein neues Segment an. DieSegmentstruktur wird als Tabelle übergeben. Dieneue (und bislang einzige) Segmentdefinition hatvorläufig die Releasekennung <SPACE>. Dieerste Version (Segmentdefinition [Seite 160]) ist000.

SEGMENT_MODIFY Ändert ein bestehendes Segment. Abhängigvom Freigabekennzeichen wird eine neueSegmentdefinition angelegt oder einebestehende verändert.

SEGMENT_DELETE Löscht ein komplettes Segment.

SEGMENTDEFINITION_DELETE Löscht eine nicht freigegebeneSegmentdefinition.

SEGMENTDEFINITION_CLOSE Gibt eine Segmentdefinition frei, setzt also dasFreigabekennzeichen. Die freigegebeneSegmentdefinition bekommt das Kennzeichendes aktuellen Releases.

SEGMENTDEFINITION_UNCLOSE Nimmt die Freigabe zurück, löscht also dasFreigabekennzeichen. Die betroffeneSegmentdefinition bekommt <SPACE> alsReleasekennung.

Page 174: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Das API zur IDoc-Typ- und Segmentdefinition

174 April 2001

SEGMENT_CHECK_EXISTENCE Gibt eine Tabelle mit den bereits vorhandenenSegmentdefinitionen mit Freigabe- undReleasekennzeichen zurück.

SEGMENT_CHECK_CONSISTENCY Prüft u.a., ob die einzelnen Segmentfeldernahtlos zu dem Segment zusammengefügtwerden können, ob das Segment in einemTransportauftrag steht, ob der letzte Änderereines Feldes im Dictionary mit dem letztenÄnderer dieses Feldes im Segmentübereinstimmt etc.

SEGMENT_TRANSPORT_INSERT Stellt ein Segment mit allen seinenSegmentdefinitionen in eine Transportaufgabe.ACHTUNG: Wenn keine Auftrags- undAufgabennummer angegeben wird, werdenAuftrag und Aufgabe im Dialog abgefragt!

Funktionsbausteine aus der Gruppe EDIM (Basistypen und Erweiterungen)<OBJEKT> steht für das Objekt, auf dem der Funktionsbaustein operiert: IDOCTYPE fürBasistyp, EXTTYPE für Erweiterung. Da sich ein erweiterter Basistyp aus Basistyp undErweiterung zusammensetzt, braucht man keine Funktionsbausteine, die auf ihmoperieren.

Name Beschreibung

<OBJEKT>_CREATE Erzeugt einen Basistyp oder eine Erweiterunganhand einer in einer Tabelle übergebenenSyntaxbeschreibung. Prüft vorher u.a., ob es dasObjekt schon gibt. Das neue Objekt wird dann ineinen Transportauftrag gestellt.

<OBJEKT>_UPDATE Ändert einen vorhandenen Basistyp oder eineErweiterung anhand einer in einer Tabelleübergebenen Syntaxbeschreibung.

<OBJEKT>_READ Liest sämtliche Informationen zu einem Objekt:Syntax, eventuell vorhandene Erweiterungen oderVorgänger.

<OBJEKT>_DELETE Löscht einen Basistyp oder eine Erweiterung.

<OBJEKT>_CLOSE Gibt ein Objekt frei, setzt also dasFreigabekennzeichen.

<OBJEKT>_UNCLOSE Nimmt die Freigabe eines Objektes zurück.

<OBJEKT>_EXISTENCE_CHECK Prüft, ob der übergebene Basistyp oder dieErweiterung schon existiert. Wenn ja, dann liest erdessen/deren Attribute (Verknüpfung mitBasistypen, Vorgängern etc.)

<OBJEKT>_INTEGRITY_CHECK Prüft die Syntax allgemein. Prüft bei Nachfolgern,ob sie vorschriftsgemäß aus Vorgängernentstanden sind.

Page 175: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Das API zur IDoc-Typ- und Segmentdefinition

April 2001 175

<OBJEKT>_TRANSPORT Stellt Basistyp oder Erweiterung in einenTransportauftrag.

Funktionsbausteine aus der Gruppe EDIMEXT (API für externe Programme)

Name Beschreibung

IDOCTYPES_FOR_MESTYPE_READ Liest alle einem Nachrichtentyp (logischeNachricht) zugeordneten IDoc-Typen.

IDOCTYPE_READ_COMPLETE Liest die Struktur und Attribute (Segmente) wieauch die Segmentattribute (Felder undFestwerte) eines IDoc-Typs. DemFunktionsbaustein werden dazu die Version derSatzarten [Seite 151] und der Segmente [Seite162] übergeben.

IDOC_RECORD_READ Liest zu gegebener Version die Struktur derSatzarten.

SEGMENT_READ_COMPLETE Liest die Struktur und Attribute einesSegments. Dem Funktionsbaustein werdendazu die Version der Satzarten und dasRelease der Segmente übergeben.

Page 176: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Erweiterung eines IDoc-Typs

176 April 2001

Erweiterung eines IDoc-TypsEinsatzmöglichkeitenMit einer Kundenerweiterung fügen Sie an einen von SAP ausgelieferten IDoc-Typ (einenBasistyp) zusätzliche Segmente an, so daß Sie mehr (oder auch einfach andere)betriebswirtschaftliche Information übertragen können. Diese Erweiterung ist aufwärtskompatibel,d.h. wird in zukünftigen Releases unterstützt.

VoraussetzungenDiese Checkliste setzt voraus, daß der zu erweiternde Basistyp schon fest in die Verarbeitungeingebunden ist: Das heißt insbesondere, daß seine Verarbeitung (Ausgang bzw. Eingang) überVorgangscodes in den Partnervereinbarungen festgelegt ist, und daß hinter den Vorgangscodesauch die entsprechenden Programme (z.B. Funktionsbausteine) stehen, die wie der Basistyperweitert werden.

Für die Erweiterungen benötigen Sie Entwicklungsberechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemKundensystem.

AblaufIn den folgenden Unterabschnitten werden die einzelnen Schritte aufgeführt. Die Liste könnenSie als Checkliste bei der Erweiterung verwenden. Darüber, welche Schritte notwendig undwelche Alternativen sind, informiert Sie das Ablaufdiagramm.

Anhand eines Fallbeispiels können Sie einen konkreten IDoc-Typ definieren und aufverschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgeführt. Essetzt die Existenz von Stammdaten für den Testkunden TESTKUND, Partnerart KU, und für denTestlieferanten TESTLIEF, Partnerart LI, voraus. Außerdem wird angenommen, daß derDateiport TESTPORT angelegt ist.

Page 177: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Erweiterung eines IDoc-Typs

April 2001 177

Ablaufdiagramm

AllgemeineDefinitionen

Eingang

Freigabeoder/und

Ausgang

EinzelschritteAllgemeine Definitionen

Segmente zusammenstellen [Seite 178]

Basistyp erweitern [Seite 179]

Nachrichtentyp Basistyp und Erweiterung zuordnen [Seite 181]

Ausgang einrichten (Fall Ausgang unter Nachrichtensteuerung)Ausgangsfunktionsbaustein erweitern [Seite 182]

Partnervereinbarungen ändern (Ausgang) [Seite 185]

Ausgang testen [Seite 213]

Eingang einrichten (Fall direkter Eingang über ALE-Funktionsbaustein)Eingangsfunktionsbaustein erweitern [Seite 187]

Zuordnung des Funktionsbausteins erweitern (direkter Eingang) [Seite 189]

Partnervereinbarungen prüfen (Eingang) [Seite 190]

Eingang testen [Seite 248]

Neu definierte Objekte freigeben [Seite 251]

Page 178: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Segmente zusammenstellen

178 April 2001

Segmente zusammenstellenVoraussetzungenFür Neudefinitionen benötigen Sie Entwicklungsberechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemKundensystem.

VorgehensweiseSie können

� SAP-Segmente, die Sie in Ihrer Erweiterung verwenden wollen, in Ihren Namensraum[Seite 163] kopieren (= “anlegen mit Vorlage”)

� Segmente ohne Vorlage anlegen

Im folgenden wird davon ausgegangen, daß Sie Segmente ohne Vorlage anlegen, d.h. neueFeldzusammenstellungen definieren.

1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an. Diesem Auftrag werden Sie später alleEntwicklungsobjekte zuordnen. Gehen Sie dann zurück in den Segmenteditor.

2. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie . Beachten Sie dabei denNamensraum [Seite 163].

3. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein, aus denen über die Domäne die Feldlängen (in Bytes) und eventuellFestwerte abgeleitet werden. Auch die Dokumentation des Datenelements wirdübernommen und in den Dokumentationswerkzeugen angezeigt.

Sie sollten über Springen � Dokumentation noch eine spezielle Dokumentation fürIhren Segmenttyp erfassen.

4. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.

5. Verlassen Sie das Bild ( ). Im Segmenteditor erscheint jetzt Ihre angelegteSegmentdefinition mit der Versionsnummer 000.

Im Fallbeispiel heißt Ihr Segment Z1TEST1 und hat folgende Felder:

Feld Datenelement Länge

Kontinent CHAR20 20

Land CHAR2 2

Page 179: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Basistyp erweitern

April 2001 179

Basistyp erweiternVoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].

Es kann durchaus vorkommen, daß Sie Tabellenfelder füllen wollen, die zwar schoneine Entsprechung im Basistyp haben, die aber im Standard nicht versorgt werden.Dann brauchen Sie nicht den Basistyp zu erweitern, sondern nur denFunktionsbaustein, der die Anwendungsfelder versorgt. Überspringen Sie in diesemFall die Vorgehensweise.

Vorgehensweise1. Zum IDoc-Typ-Editor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle über

Entwicklung � IDoc Typen.

2. Falls noch nicht geschehen, legen Sie einen Transportauftrag für Ihre Entwicklungsobjekte(Erweiterungssegmente, Erweiterung, Funktions-Exits etc.) an. In den Workbench Organizergelangen Sie aus dem Editor über Aufträge (Organizer). Von dort aus wählen Sie Auftrag �anlegen und beantworten die Abfragen. Über gelangen Sie in den IDoc-Typ-Editorzurück.

3. Benennen Sie Ihre Erweiterung unter Beachtung des Kundennamensraumes und wählen Sieals Entwicklungsobjekt Erweiterung. Wählen Sie .

Der Name Ihrer Erweiterung sollte höchstens 8 Zeichen lang sein, wenn Sie sie beimKommunizieren mit Partnern verwenden wollen, die SAP-Releases vor 4.0verwenden! Erst mit Release 4.0 können Erweiterungen nämlich länger als 8Zeichen sein.

4. Wählen Sie eine der folgenden Möglichkeiten aus:

� Neu anlegen: Sie erstellen die Erweiterung ohne Vorlage.

� als Kopie anlegen, die Sie dann nach Wunsch ändern können

� als Nachfolger anlegen: Hierbei müssen Sie beachten, daß es bloß einen Nachfolgerpro Release und Erweiterung geben darf.

5. Geben Sie den Basistyp an, mit dem Sie Ihre Erweiterung kombinieren wollen. BestätigenSie Ihre Angaben.

Der Basistyp wird als Baum angezeigt. Beachten Sie die Farblegende (Hilfsmittel �Farblegende)!

6. Positionieren Sie auf das Segment, an das Sie Erweiterungssegmente anhängen wollen (dassogenannte Referenzsegment). Wählen Sie . Für diese Kindsegmente müssen Attributevergeben werden, nämlich

Page 180: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Basistyp erweitern

180 April 2001

� Mußsegment (Kennzeichen): Müssen im IDoc Daten in dieses Segment geschriebenwerden?

� maximale und minimale Wiederholbarkeit: Wie oft darf und muß ein Segment imIDoc vorkommen?

7. Sie können weitere Kinder oder “Kindeskinder” an dies oder ein anderes Referenzsegmentdes Basistypen anlegen.

8. Wenn Sie Ihre neue Erweiterung fertiggestellt haben, können Sie sie sichern.

Auf folgende Dinge sollten Sie besonders bei Erweiterungen achten:

� Segmente dürfen im IDoc-Typ nicht explizit mehrfach vorkommen - Dasbedeutet, daß die Erweiterung keine Segmente besitzen darf, die bereits imBasistyp vorkommen. Das bedeutet auch, daß ein Nachfolger keineSegmente besitzen darf, die bereits im Vorgänger vorkommen.

� Elternsegmente des Vorgängers müssen bei Nachfolgern auchElternsegmente bleiben.

� Referenzsegmente können nicht durch die Funktionen Ausschneiden undEinfügen zu Erweiterungssegmenten gemacht werden und umgekehrt.

Im Fallbeispiel nennen Sie Ihre Erweiterung Z1ORDERS. Sie hängen dasKindsegment Z1TEST1 an das Referenzsegment E1EDP19 des BasistypsORDERS01. Es muß genau einmal vorkommen.

Page 181: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Nachrichtentyp Basistyp und Erweiterung zuordnen

April 2001 181

Nachrichtentyp Basistyp und Erweiterung zuordnen1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung � IDoc-

Typ/Nachricht.

2. Wählen Sie und dann Neue Einträge.

3. Geben Sie den Basistyp und seine Erweiterung sowie den Nachrichtentyp an, dem Sie dieseKombination zuordnen. Geben Sie das aktuelle Release an.

In den Partnervereinbarungen wird geprüft, ob IDoc-Typ und Nachrichtentyp zueinander„passen“. Daher müssen Sie diesen Eintrag vornehmen. Außerdem erhalten Sie aus derZuordnung eine spezifische F4-Hilfe: Pro Nachrichtentyp werden alle zugeordnetenIDoc-Typen im entsprechenden Feld angeboten und umgekehrt.

4. Sichern Sie Ihre Angaben.

Im Fallbeispiel pflegen Sie folgende Zuordnung:

Nachrichtentyp ORDERS (im Standard ausgeliefert)

Basistyp ORDERS01

Erweiterung Z1ORDERS

Release 45A

Page 182: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgangsfunktionsbaustein erweitern

182 April 2001

Ausgangsfunktionsbaustein erweiternDen Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding desAusgangsfunktionsbausteins, der die Erweiterungssegmente mit Anwendungsdaten füllt.

VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].

Vorgehensweise1. Die Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie über einen

Funktions- oder User-Exit in der Projektverwaltung: Wählen Sie im Einstiegsbild der ABAPWorkbench Hilfsmittel � Erweiterungen � Projektverwaltung. Geben Sie einenProjektnamen an (Kundennamensraum beachten!) und wählen Sie Attribute (Auswahlknopf)und Anlegen. Geben Sie einen Kurztext ein und sichern Sie.

Genaueres zu Erweiterungsprojekten finden Sie in der R/3 Bibliothek unter Basis �ABAP Workbench � Erweiterungen des SAP-Standards � Das R/3Erweiterungskonzept [Extern].

2. Gehen Sie ins Einstiegsbild der Projektverwaltung zurück und wählen Sie die TeilobjekteZuordnung Erweiterungen. Wählen Sie Ändern, um Ihrem Projekt SAP-Erweiterungenzuzuordnen. Um SAP-Erweiterungen zu finden, benutzen Sie die F4-Hilfe. Sichern Sie IhreAngaben.

Eine SAP-Erweiterung beinhaltet als Komponenten Funktions-Exits(Funktionsbausteine), aus denen Sie im nächsten Schritt die richtigen aussuchenwerden.

3. Im Einstiegsbild der Projektverwaltung wählen Sie jetzt die Teilobjekte Komponenten.Wählen Sie Ändern.

Sie erhalten eine Liste aller Funktions-Exits. Über Erweiterung gelangen Sie zurDokumentation zu den einzelnen Exits.

4. Per Doppelklick auf den gewünschten Funktions-Exit gelangen Sie in den ABAP Editor.

5. Der Funktions-Exit enthält die Zeile include <Kunden-Include>. Durch Doppelklick auf denNamen legen Sie dies Include an (Systemabfragen bestätigen). Geben Sie Ihren Quelltextein und sichern Sie anschließend.

Beachten Sie, daß Sie die Felder HLEVEL (Hierarchieebene des Segments) undPSGNUM (Nummer des Elternsegments) im IDoc-Datensatz nicht zu füllenbrauchen. Das erledigt die IDoc-Schnittstelle, die ja aus der Definition derErweiterung um die Stellung des Segments im IDoc-Typ weiß.

6. Sie müssen jetzt noch Ihre neuen Erweiterungssegmente als globale Strukturen imkundeneigenen TOP-include definieren. Dazu wählen Sie im ABAP-Editor Springen �Globale Daten

Page 183: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgangsfunktionsbaustein erweitern

April 2001 183

Sie gelangen in das TOP-Programm.

7. Legen Sie das Kunden-TOP-Include durch Doppelklick auf dessen Namen an(Systemabfragen bestätigen!). Geben Sie Ihre Erweiterungssegmente als TABLES-Datendeklarationen an.

Wenn Sie Ihr Segment zuvor aktiviert hatten, sollte es beim Syntaxcheck ( ) keineSchwierigkeiten geben. Auf keinen Fall sollten Sie das Segment direkt im Dictionarydirekt anlegen! Benutzen Sie dazu immer den Segmenteditor!

8. Aktivieren Sie nun Ihr gesamtes Projekt. Dazu gehen Sie wieder ins Einstiegsbild derProjektverwaltung und wählen .

Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_OUTPUT_ORDERS imZusatzprojekt ZM06E001.

SAP-Erweiterung MM06E001

Funktions-Exit EXIT_SAPLEINM_002 (Kundenerweiterung derDatensegmente bei Einkaufsbeleg Ausgang)

Include ZXM06U02

Segment Z1TEST1

Rahmenprogramm SAPLXM06

TOP-Programm LXM06TOP

Kunden-Top-Include ZXM06TOP

Der Quelltext lautet:DATA segnam(27).

segnam = int_edidd-segnam.

CASE segnam.

WHEN 'E1EDP19'.

CLEAR int_edidd. "Arbeitsbereich leeren

int_edidd-segnam = 'Z1TEST1'. "Name des Kundensegmentes

z1test1-kontinent = 'Europa'.

int_edidd-sdata = z1test1. "Übrige Felder von int_edidd

"können übernommen werden

APPEND int_edidd.

ENDCASE.

Page 184: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgangsfunktionsbaustein erweitern

184 April 2001

Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment imFunktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufenwird. Daher muß das neu angelegte include erst feststellen, ob es beim richtigenElternsegment aufgerufen wurde.

Page 185: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Partnervereinbarungen ändern (Ausgang)

April 2001 185

Partnervereinbarungen ändern (Ausgang)Die Erweiterung muß in den Ausgangspartnervereinbarungen eingetragen sein, um eingesetztwerden zu können.

VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].

VorgehensweiseErweitern Sie Ihre bereits bestehenden Partnervereinbarungen. Zum Vorgehen lesen Sie denAbschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen „Ausgangallgemein“ und „Ausgang über Nachrichtensteuerung“:

Feld Wert

Partnernummer TESTLIEF

Partnerart LI

Partnerrolle LF

Nachrichtentyp ORDERS

Basistyp ORDERS01

Erweiterung Z1ORDERS

Empfängerport TESTPORT

Ausgabemodus IDocs sofort übergeben, Subsystem nicht starten

Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE

Anwendung (Applikation) EF (Einkauf)

Nachrichtenart NEU

Vorgangscode ME10

Page 186: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgang testen

186 April 2001

Ausgang testenVoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus

� Erweiterung eines IDoc-Typs [Seite 176] (falls Sie einen Basistyp erweitert haben) oder

� Definition und Verwendung eines Basistyps [Seite 194] (falls Sie einen neuen Basistypdefiniert haben)

VorgehensweiseSie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unterNachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatzeingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Siemit dem Programm Test ab NAST [Seite 100].

Im Fallbeispiel legen Sie eine Bestellung aus dem Einkauf an (Transaktion ME21).Adressat ist TESTLIEF, Sie bestellen ein Material aus dem Materialstamm. ImKonditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf � Nachrichten) habenSie den Versandzeitpunkt 4 gewählt (Bearbeitung über Zusatzangaben), d.h. IhrIDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert „Europa“ im FeldKONTINENT auf: Überprüfen Sie das über die IDoc-Anzeige [Seite 120].

Page 187: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsfunktionsbaustein erweitern

April 2001 187

Eingangsfunktionsbaustein erweiternDen Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding desEingangsfunktionsbausteins, der Daten aus den Erweiterungssegmenten in Anwendungstabellenstellt.

VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].

VorgehensweiseDie Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie über dieTransaktion CMOD. Sie gehen analog vor wie für den Ausgang beschrieben [Seite 182].

Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_INPUT_ORDERS imZusatzprojekt ZEDA0001: Die Erweiterung schreibt den Wert aus dem SegmentfeldZ1TEST1-KONTINENT in das Feld IHREZ (Zeichen des Kunden) der StrukturXVBAK. Der Inhalt dieser Struktur wird beim Aufbau der Batch-Input-TabelleBDCDATA verwendet, die der Transaktion VA01 (Terminauftrag anlegen) übergebenwird.

IHREZ wird eigentlich schon aus dem Feld E1EDKA1-IHREZ des BasistypsORDERS01 versorgt, so daß eine Erweiterung hier gar nicht notwendig ist. DasBeispiel soll nur zur Veranschaulichung des Prinzips dienen.

SAP-Erweiterung VEDA0001

Funktions-Exit EXIT_SAPLVEDA_001 (Kundenerweiterung derDatensegmente bei Auftragsbeleg Eingang)

Include ZXVEDU03

Segment Z1TEST1

Rahmenprogramm SAPLXVED

TOP-Programm LXVEDTOP

Kunden-Top-Include ZXVEDTOP

Der Quelltext lautet:

DATA segnam(27).DATA: BEGIN OF hxvbak.

INCLUDE STRUCTURE vbak.DATA END OF hxvbak.segnam = segment-segnam.

Page 188: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsfunktionsbaustein erweitern

188 April 2001

CASE segnam.WHEN 'Z1TEST1'. "Name desKundensegmentes

z1test1 = segment-sdata. "Daten bekommenStruktur

hxvbak-ihrez = z1test1-kontinent. "Hilfsstruktur füllen

MOVE hxvbak TO dxvbak. "CHANGING-Parameter versorgen

ENDCASE.

Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment imFunktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufenwird. Daher muß das neu angelegte Include erst feststellen, ob es beim richtigenElternsegment aufgerufen wurde.

Page 189: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Zuordnung des Funktionsbausteins erweitern (direkter Eingang)

April 2001 189

Zuordnung des Funktionsbausteins erweitern (direkterEingang)Hier definieren Sie, daß Ihr erweiterter Funktionsbaustein den erweiterten Basistyp mit einerbestimmten Nachricht verarbeiten darf. Damit erweitern Sie die ALE-Registrierung desFunktionsbausteins.

VoraussetzungenVoraussetzung sind die vorangegangenen Schritte für den Ausgang aus Erweiterung eines IDoc-Typs [Seite 176].

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung ��

Nachricht/Anw.Objekt, , Neue Einträge. Ordnen Sie den betroffenenFunktionsbaustein (Typ F) dem Basistyp, Ihrer neuen Erweiterung und IhremNachrichtentyp zu und wählen Sie das Anwendungsobjekt wie im nicht erweiterten Fall.

2. Tragen Sie die Richtung 2 ein (Eingang). Sichern Sie Ihre Angaben.

Im Fallbeispiel sind nach Ihrem Eintrag folgende Objekte einander zugeordnet:

Baustein IDOC_INPUT_ORDERS

Basistyp ORDERS01

Erweiterung Z1ORDERS

Nachrichtentyp ORDERS

Objekttyp BUS2032 (Kundenauftrag)

Page 190: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partnervereinbarungen prüfen (Eingang)

190 April 2001

Partnervereinbarungen prüfen (Eingang)VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].

VorgehensweiseIhr erweiterter Funktionsbaustein wird in den Partnervereinbarungen durch einen Vorgangscode[Seite 73] angesprochen. Von allen Partnern, in deren Vereinbarungen dieser Vorgangscode(und der entsprechende Nachrichtentyp) steht, werden also die Daten dieser Erweiterung auchim System verarbeitet. Wenn Sie das bei bestimmten Partnern vermeiden wollen, dann müssenSie eine Kopie dieses (ursprünglich nicht erweiterten) Funktionsbausteines anlegen und einenVorgangscode benutzen, der auf die Kopie zeigt.

Zur Partnervereinbarung beachten Sie den Abschnitt

Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel sind folgende Felder in den Eingangspartnervereinbarungen gepflegt:

Feld Wert

Partnernummer TESTKUND

Partnerart KU

Nachrichtentyp ORDERS

Verarbeitung sofort

Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender),Sprache DE

Vorgangscode ORDE

Page 191: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingang testen

April 2001 191

Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus

� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder

� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)

Vorgehensweise1. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs

Ihres Typs editieren können. Als Testvorlage wählen Sie

� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.

� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.

Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.

2. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.

3. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.

Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:

Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen

Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG

Page 192: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingang testen

192 April 2001

Wenn Sie den Basistyp ORDERS01 erweitert haben:

IDoc-Typ ORDERS01

Erweiterung Z1ORDERS

Nachrichtentyp ORDERS

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

IDoc-Typ TESTER01

Nachrichtentyp TESTER

Page 193: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Neu definierte Objekte freigeben

April 2001 193

Neu definierte Objekte freigebenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus

� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder

� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)

VorgehensweiseSie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung.

Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oderSegmenteditor) über Bearbeiten � Freigabe setzen. Die Freigabe können Sie auch wieder überBearbeiten � Freigabe aufheben zurücknehmen.

Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjektein der angegebenen Reihenfolge frei:

Wenn Sie den Basistyp ORDERS01 erweitert haben:

Segment Z1TEST1

Erweiterung Z1ORDERS

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

Segmente E1HEAD, E1ITEM

IDoc-Typ TESTER01

ErgebnisIhre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionennoch übersetzen wollen, können Sie dies gezielt mit der allgemeinen Übersetzungstransaktionbewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafürinnerhalb der Übersetzungstransaktion anfassen müssen:

Dokumentation übersetzen [Seite 155]

Page 194: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Definition und Verwendung eines Basistyps

194 April 2001

Definition und Verwendung eines BasistypsEinsatzmöglichkeitenMit einer SAP-Entwicklung schaffen Sie einen neuen Basistyp; der Basistyp steht für einenneuen Geschäftsprozeß, innerhalb dessen Daten elektronisch ausgetauscht werden sollen.

VoraussetzungenFür die Entwicklungen benötigen Sie entsprechende Berechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemSAP-System.

AblaufIn den folgenden Unterabschnitten werden die einzelnen Schritte aufgeführt. Die Liste könnenSie als Checkliste bei der Neudefinition verwenden. Darüber, welche Schritte notwendig undwelche Alternativen sind, informiert Sie das Ablaufdiagramm.

Anhand eines Fallbeispiels können Sie einen konkreten IDoc-Typ definieren und aufverschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgeführt. Essetzt die Existenz von Stammdaten für den Testkunden TESTKUND, Partnerart KU, und für denTestlieferanten TESTLIEF, Partnerart LI, voraus. Außerdem wird angenommen, daß derDateiport TESTPORT angelegt ist.

Page 195: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Definition und Verwendung eines Basistyps

April 2001 195

Ablaufdiagramm

AllgemeineDefinitionen

Eingang(direkt)

Ausgang

Eingang(Workflow)

Freigabeoder/und

oder

EinzelschritteAllgemeine Definitionen [Seite 197]

Segmente zusammenstellen, eventuell neue definieren [Seite 198]

Basistyp definieren [Seite 200]

Eventuell: Nachricht anlegen. Immer: Nachricht IDoc-Typ zuordnen [Seite 202]

Objekttyp anlegen [Seite 203]

Ausgang einrichten (mit Nachrichtensteuerung) [Seite 204]Funktionsbaustein schreiben (Ausgang) [Seite 205]

Vorgangscode anlegen und zuordnen [Seite 211]

Partner vereinbaren [Seite 212]

Ausgangsverarbeitung für neuen Basistyp testen [Seite 213]

Eingang einrichtenDirekten Eingang einrichten (mit ALE) [Seite 214]

Neuen Funktionsbaustein anlegen [Seite 215]

Eigenschaften des neuen Funktionsbausteins pflegen [Seite 226]

Funktionsbaustein zuordnen (direkter Eingang) [Seite 227]

Vorgangscode zuordnen (direkter Eingang) [Seite 228]

Page 196: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Definition und Verwendung eines Basistyps

196 April 2001

Partner vereinbaren (direkter Eingang) [Seite 230]

Standardaufgabe anlegen (Ausnahme) [Seite 245]

Eingang testen [Seite 248]

Ausnahmebehandlung testen [Seite 250]

Eingang über Workflow einrichten [Seite 237]

Eingangsverarbeitung als Objektmethode definieren [Seite 238]

Standardaufgabe anlegen (Eingang über Workflow) [Seite 243]

Vorgangscode anlegen (Eingang über Workflow) [Seite 244]

Standardaufgabe anlegen (Ausnahme) [Seite 245]

Aufgabe anlegen (Ausnahme bei Workflow-Eingang) [Seite 245]

Partner vereinbaren (Eingang über Workflow) [Seite 247]

Eingang testen [Seite 248]

Ausnahmebehandlung testen (Eingang über Workflow) [Seite 250]

Freigabe [Seite 251]

Page 197: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Allgemeine Definitionen

April 2001 197

Allgemeine DefinitionenSegment definieren [Seite 198]

Basistyp definieren [Seite 200]

Nachricht anlegen und Basistyp zuordnen [Seite 202]

Objekttyp definieren [Seite 203]

Page 198: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Segment definieren

198 April 2001

Segment definierenEs wird der Fall betrachtet, daß Sie ein neues Segment anlegen müssen. Wenn Sie eine neueSegmentdefinition anlegen müssen, ändern Sie ein bestehendes Segment [Seite 168] mit demSegmenteditor.

VoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.

Vorgehensweise7. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle

[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an.

8. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie .

9. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll(Ankreuzfeld).

Aus den Datenelementen werden über die Domäne die Feldlängen (in Bytes) alsExportlängen und eventuell Festwerte abgeleitet. Auch die Dokumentation desDatenelements wird übernommen und in den Dokumentationswerkzeugen angezeigt.

Ändern Sie nicht die Exportlänge! Daten werden als Character-Felder dieser Länge miteinem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ desgewählten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Längegespeichert. Unterschiedliche Längen können zu Datenverlust (Abschneidenüberzähliger Bytes) führen.

10. Wählen Sie Springen � Dokumentation und beschreiben Sie Ihren Segmenttyp. SichernSie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in denSegmenteditor zurück.

Wenn Sie später Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ überdie Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hierverfaßte Beschreibung erscheinen.

11. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.

12. Verlassen Sie das Bild (F3).

Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit derVersionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.

Page 199: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Segment definieren

April 2001 199

ErgebnisSie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist nochnicht freigegeben [Seite 162], aber Sie können mit ihm bereits testen und arbeiten. Sie solltenIhr Segment erst freigeben, wenn Ihre geplante Verarbeitung fehlerfrei funktioniert!

Im Fallbeispiel definieren Sie zwei Segmente, E1HEAD (Kopf) und E1ITEM(Position). Diese beiden Beispielsegmente sind bereits im System vorhanden. Siedienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das SegmentE1HEAD beginnt beispielsweise mit folgenden Feldern:

Feld Datenelement Länge

BELNR (Belegnummer) EDI_BELNR 35

VKORG (Verkaufsorgan.) VKORG 4

VTWEG (Vertriebsweg) VTWEG 2

SPART (Sparte) SPART 2

... ... ...

Page 200: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Basistyp definieren

200 April 2001

Basistyp definierenVoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.

Vorgehensweise1. Gehen Sie ins Einstiegsbild des IDoc-Typ-Editors: Wählen Sie im Einstiegsknoten der

IDoc-Schnittstelle [Extern] Entwicklung � IDoc-Typen.

2. Tragen Sie einen Namen für Ihren Basistyp ein, und markieren Sie Basistyp alsEntwicklungsobjekt. Wählen Sie . Wählen Sie im folgenden Bild z.B. Neu anlegen.Geben Sie eine Beschreibung ein und wählen Sie .

3. Gehen Sie auf die Kopfleiste und wählen Sie .

Sie gelangen auf das Dialogfenster zur Attributpflege.

4. Geben Sie ein Segment an. Geben Sie die Maximal- und Minimalanzahl an markierenSie gegebenenfalls Mußsegment. Das Segment erscheint als erstes Segment im neuenBasistyp.

5. Legen Sie die anderen Segmente entsprechend an, auf gleicher Ebene oder alsKindsegmente.

6. Sichern Sie Ihren Basistyp.

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.

ErgebnisSie haben jetzt Ihren neuen Basistyp definiert. Er ist noch nicht freigegeben [Seite 162], aber Siekönnen mit ihm bereits testen und arbeiten. Sie sollten Ihren Basistyp erst freigeben, wennIhre geplante Verarbeitung fehlerfrei funktioniert!

Im Fallbeispiel heißt Ihr IDoc-Typ TESTER01 und hat folgende Struktur (allesMußsegmente, Maximalanzahl = Minimalanzahl = 1):

Page 201: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Basistyp definieren

April 2001 201

TESTER01

E1HEAD(Belegkopf)

E1ITEM(Position)

Page 202: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Nachrichtentyp Basistyp zuordnen

202 April 2001

Nachrichtentyp Basistyp zuordnenDer betriebswirtschaftliche Hintergrund wird hergestellt, indem man den IDoc-Typ einer (odermehreren) Nachricht(en) zuordnet. Beispielsweise wird für die Bestellung im Ausgang und denAuftrag im Eingang üblicherweise der “logische Nachrichtentyp” ORDERS verwendet.

Da ein IDoc-Typ mehreren logischen Nachrichtentypen zugeordnet werden kann und umgekehrt,sollten Sie nur dann eine neue Nachricht anlegen, wenn keine der bestehenden NachrichtenIhren neuen Geschäftsprozeß ausreichend beschreibt.

VorgehensweiseNeuen Nachrichtentyp (“logische Nachricht”) anlegen (optional)

1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung �Nachrichtentypen.

2. Wählen Sie und dann neue Einträge.

3. Tragen Sie Ihren neuen Nachrichtentyp mit Kurzbeschreibung ein und sichern Sie. BeimSichern stellen Sie dieses Entwicklungsobjekt in Ihren Änderungsauftrag für IhreBasistypdefinition.

Nachrichtentyp Basistyp zuordnen (erforderlich)4. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle Entwicklung � IDoc-

Typ/Nachricht.

5. Wählen Sie und dann neue Einträge.

6. Geben Sie Ihren Nachrichtentyp und Ihren Basistyp in die entsprechenden Spalten ein.Geben Sie das SAP-Release an. Verwenden Sie auch hier beim Sichern wieder IhrenÄnderungsauftrag für Ihre Basistypdefinition.

Sie können diese Zuordnungen auch aus dem Umfeld-Menü des IDoc-Typ-Editorsvornehmen.

ErgebnisSie haben dem IDoc-Typ eine logische Nachricht und damit eine betriebswirtschaftlicheBedeutung zugeordnet. Seine funktionale Bedeutung wird in der Verarbeitung über einenFunktionsbaustein bzw. über eine Workflow-Aufgabe realisiert.

Im Fallbeispiel machen Sie folgende Angaben:

Nachrichtentyp (logische Nachricht) TESTER

Basistyp TESTER01

Page 203: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Objekttyp definieren

April 2001 203

Objekttyp definierenUm Ihren neuen Basistyp im Workflow verwenden zu können (optional in derEingangsverarbeitung, immer aber in der Fehlerbehandlung), sollten Sie einen entsprechendenObjekttyp im Business Object Repository (BOR) anlegen. Der Objekttyp erbt alle Attribute,Methoden und Ereignisse des Supertyps IDOCAPPL. Sie könnten auch diesen Objekttyp selbstnehmen und z.B. nur andere Methoden zur Ausnahmebehandlung für ihn definieren. In der SAP-Konvention entspricht aber jedem Nachrichtentyp auch ein BOR-Objekttyp.

Vorgehensweise1. Gehen Sie aus dem R/3-Einstiegsbild über Werkzeuge � Business Workflow �

Entwicklung in das Workflow-Bereichsmenü. Wählen Sie dann Business Object Builder.

2. Legen Sie den neuen Objekttyp als Subtyp von IDOCAPPL an. Tragen Sie dazu IDOCAPPLin das Feld ein und wählen Subtyp.

3. Geben Sie die Attribute Ihres neuen Objekttyps ein (Name, Kurzbeschreibung etc.) undeinen noch nicht existierenden Programmnamen ein (Programm wird generiert): DasProgramm beschreibt den Objekttyp (Seine Attribute und Methoden) in der Sprache ABAP.

4. Wählen Sie und sichern Sie das Objekt.

5. Wählen Sie .

6. Damit Sie Ihren Objekttyp verwenden können, muß er mindestens den Freigabestatus“implementiert” haben. Sie erreichen das aus dem Einstiegsbild des Business Object Builderüber Objekttyp � Freigabestatus ändern in � implementiert.

Beachten Sie auch die R/3-Dokumentation BC � Business Management � SAP BusinessWorkflow � Pflege von Objekttypen [Extern].

ErgebnisSie haben einen Objekttyp für Ihr neues IDoc definiert.Wichtig für die Ausnahmebehandlung sind die beiden Ereignisse inputErrorOccurred undinputFinished, die Sie diesem Objekttyp zugeordnet haben.

Im Fallbeispiel hat Ihr Objekttyp folgende Attribute:

Objekttyp IDOCTEST

Objektname IDOCTEST

Bezeichnung Test-IDoc

Kurzbeschreibung Test Fehlerbehandlung TESTER01

Anwendung V (Vertrieb)

Page 204: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausgang einrichten (mit Nachrichtensteuerung)

204 April 2001

Ausgang einrichten (mit Nachrichtensteuerung)VoraussetzungIhre Anwendung ist „NAST-fähig“, d.h. sie arbeitet mit der Nachrichtensteuerung zusammen.

Sie haben die allgemeinen Definitionen [Seite 197] durchgeführt.

VorgehensweiseNeuen Funktionsbaustein anlegen (Ausgang unter NAST) [Seite 205]

Neuen Vorgangscode neuem Funktionsbaustein und Nachricht zuordnen (Ausgang) [Seite 211]

Partnervereinbarungen für den neuen IDoc-Typ treffen (Ausgang) [Seite 212]

Ausgangsverarbeitung für neuen Basistyp testen [Seite 213]

Page 205: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (Ausgang unter NAST)

April 2001 205

Funktionsbaustein anlegen (Ausgang unter NAST)Sie legen einen Funktionsbaustein an, der vom Report RSNASTED (FormroutineNEW_DYN_PERFORM) aus über einen neuen Vorgangscode identifiziert wird. DieserFunktionsbaustein füllt den neuen Basistyp mit Anwendungsdaten. RSNASTED selbst steht inder Tabelle TNAPR als EDI-Verarbeitungsprogramm. Die Nachrichtensteuerung liest dieseTabelle und kann dadurch RSNASTED aufrufen.

Vorgehensweise1. Legen Sie im Function Builder einen neuen Funktionsbaustein an.

2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. IhrFunktionsbaustein muß die Anwendungsdaten aus den Anwendungstabellen in dieentsprechenden Segmente überführen.

3. Aktivieren Sie Ihren Funktionsbaustein: Wählen Sie dazu im Einstiegsbild des FunctionBuilder .

Im Fallbeispiel heißt Ihr neuer Funktionsbaustein IDOC_OUTPUT_TESTER. Erverwendet die neue Schnittstelle (ab Release 3.0), d.h. er stellt dieAnwendungsdaten in eine interne Tabelle. Außerdem wird der Weg ohne die ALE-Schicht (also ohne Filtern) gewählt.

Ihr Funktionsbaustein wird wie IDOC_OUTPUT_ORDERS (IDoc-Typ ORDERS01)aus dem Einkauf (Bestellung anlegen) aufgerufen. Er füllt daher auch die SegmenteIhres neuen IDoc-Typs aus ein Einkaufstabellen, nämlich EKKO und EKPO(Einkaufsbelegkopf und -position). Beachten Sie, daß keine realistische Bestellungsimuliert, sondern nur dargelegt werden soll, wie Daten aus Anwendungstabellenüber Segmentstrukturen schließlich in eine IDoc-Tabelle wandern. Dazu beachtenSie die Formroutinen HEADER_E1HEAD_FILL oder POSITION_E1ITEM_FILL.

Verwaltungsparameter von IDOC_OUTPUT_TESTER

Anwendungskürzel M (Materialwirtschaft)

Ablaufart normal, Start sofort

Schnittstelle von IDOC_OUTPUT_TESTER

Formalparameter Bezugsstruktur

Erläuterung

Importparameter

OBJECT NAST aktueller NAST-Satz

CONTROL_RECORD_IN EDIDC enthält die Empfängerinformation

Exportparameter

OBJECT_TYPE WFAS1-ASGTP Objekttyp für das Anwendungsobjekt imBusiness Object Repository (BOR)

Page 206: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (Ausgang unter NAST)

206 April 2001

CONTROL_RECORD_OUT EDIDC enthält die Senderinformation sowieDatum und Uhrzeit, zu dem die IDoc-Tabelle gefüllt wurde.

Tabelle

INT_EDIDD EDIDD Interne Tabelle der IDoc-Datensätze

BeispielcodingFUNCTION IDOC_OUTPUT_TESTER.*"------------------------------------------------------------------*"*"Globale Schnittstelle:*" IMPORTING*" VALUE(OBJECT) LIKE NAST STRUCTURE NAST*" VALUE(CONTROL_RECORD_IN) LIKE EDIDC STRUCTURE EDIDC*" EXPORTING*" VALUE(OBJECT_TYPE) LIKE WFAS1-ASGTP*" VALUE(CONTROL_RECORD_OUT) LIKE EDIDC STRUCTURE EDIDC*" TABLES*" INT_EDIDD STRUCTURE EDIDD*" EXCEPTIONS*" ERROR_MESSAGE_RECEIVED*"-------------------------------------------------------------------

CLEAR CONTROL_RECORD_OUT.* fill help fields H_KAPPL = OBJECT-KAPPL. H_EBELN = OBJECT-OBJKY. H_PARVW = OBJECT-PARVW.* fill control record MOVE CONTROL_RECORD_IN TO CONTROL_RECORD_OUT. CONTROL_RECORD_OUT-DIRECT = '1'. CONTROL_RECORD_OUT-SERIAL = SY-DATUM. CONTROL_RECORD_OUT-SERIAL+8 = SY-UZEIT.* read orders PERFORM ORDERS_READ.* fill idoc table PERFORM IDOC_TABLE_FILL.* provide object type OBJECT_TYPE = 'BUS2012'.

ENDFUNCTION.

FORM ORDERS_READ.

SELECT SINGLE * FROM T000 WHERE MANDT EQ SY-MANDT.

* read header data SELECT SINGLE * FROM EKKO WHERE EBELN EQ H_EBELN. IF SY-SUBRC NE 0. MESSAGE E751 WITH H_EBELN. ENDIF.

Page 207: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (Ausgang unter NAST)

April 2001 207

EDIDC-SNDPRT = 'MM'. EDIDC-SNDPRN = EKKO-EKORG.

* read data of supplier (book keeping view) SELECT SINGLE * FROM LFB1 WHERE LIFNR = EKKO-LIFNR AND BUKRS = EKKO-BUKRS.* fill purchasing organization IF LFB1-EIKTO EQ SPACE. LFB1-EIKTO = EKKO-EKORG. ENDIF.* read position data SELECT * FROM EKPO WHERE EBELN = EKKO-EBELN. MOVE-CORRESPONDING EKPO TO XEKPO. APPEND XEKPO. ENDSELECT.

* read schedule lines SELECT * FROM EKET WHERE EBELN = EKKO-EBELN. ENDSELECT.

ENDFORM. " ORDERS_READ

FORM IDOC_TABLE_FILL.

* header data PERFORM HEADER_E1HEAD_FILL.* data in position PERFORM POSITION_E1ITEM_FILL.

ENDFORM. " IDOC_TABLE_FILL

FORM HEADER_E1HEAD_FILL.

CLEAR INT_EDIDD. CLEAR E1HEAD. INT_EDIDD-SEGNAM = 'E1HEAD'.

* fill fields* document number E1HEAD-BELNR = EKKO-EBELN.

* Die folgenden Konstanten (Zuordnung Kunde/Lieferant zur* Verkaufsorganisation) werden nur in die Segmente geschrieben, damit* im Fallbeispiel die nachfolgende Eingangsverarbeitung im SD* funktioniert. Beim „reellen“ Terminauftrag im SD Eingang pflegt man* hierzu Customizing-Tabellen, oder die Zuordnung wird vom* EDI-Subsystem übernommen.

* sales organization (not supplied -> constant) E1HEAD-VKORG = '1000'.* distribution channel (not supplied -> constant)

Page 208: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (Ausgang unter NAST)

208 April 2001

E1HEAD-VTWEG = '10'.* division (not supplied -> constant) E1HEAD-SPART = '00'. ENDSELECT.* order typeE1HEAD-AUART = 'NB'.* date of delivery IF EKET-EINDT NE 0. E1HEAD-WLDAT = EKET-EINDT. ELSE. E1HEAD-WLDAT = SY-DATUM + 21. ENDIF. CONDENSE E1HEAD-WLDAT.* ordering party / sold to party (AG) E1HEAD-AUGEB = LFB1-EIKTO.* supplier E1HEAD-LIEF = EKKO-LIFNR.* order date E1HEAD-BSTDK = EKKO-BEDAT. CONDENSE E1HEAD-BSTDK.* order time E1HEAD-BELUZT = SY-UZEIT.

* move data to segment area of data record MOVE E1HEAD TO INT_EDIDD-SDATA.* append data record to internal table APPEND INT_EDIDD.

* customer function in order to change header segment CALL CUSTOMER-FUNCTION '001' EXPORTING PI_EKKO = EKKO IMPORTING PE_EKKO = EKKO TABLES PT_IDOC_DATA_RECORDS = INT_EDIDD.

ENDFORM. " HEADER_E1HEAD_FILL

FORM POSITION_E1ITEM_FILL.

* loop at positions LOOP AT XEKPO.

CLEAR INT_EDIDD. CLEAR E1ITEM. INT_EDIDD-SEGNAM = 'E1ITEM'. MOVE XEKPO TO EKPO.

* fill fields* position number E1ITEM-POSEX = EKPO-EBELP.

Page 209: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (Ausgang unter NAST)

April 2001 209

CONDENSE E1ITEM-POSEX.

* material number IF EKPO-MATNR NE SPACE. E1ITEM-MATNR = EKPO-MATNR. ENDIF.

* amount E1ITEM-MENGE = EKPO-MENGE. CONDENSE E1ITEM-MENGE.* unit PERFORM ISO_CODE_UNIT USING EKPO-MEINS. E1ITEM-BMEINH = EKPO-MEINS.* material number of supplier IF EKPO-IDNLF NE SPACE. E1ITEM-LMATNR = EKPO-IDNLF. ENDIF.

* move data to segment area of data record MOVE E1ITEM TO INT_EDIDD-SDATA.* append data record to internal table APPEND INT_EDIDD.

* customer function for position segment CALL CUSTOMER-FUNCTION '002' EXPORTING PI_EKPO = EKPO IMPORTING PE_EKPO = EKPO TABLES PT_IDOC_DATA_RECORDS = INT_EDIDD.

ENDFORM. " HEADER_E1HEAD_FILL

ENDLOOP.

ENDFORM. " POSITION_E1ITEM_FILL

FORM ISO_CODE_UNIT USING ICU_UNIT.

CHECK ICU_UNIT NE SPACE. CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO' EXPORTING SAP_CODE = ICU_UNIT IMPORTING ISO_CODE = ISO_UNIT EXCEPTIONS NOT_FOUND = 01 NO_ISO_CODE = 02.

IF SY-SUBRC NE 0. MESSAGE I764 WITH EKPO-EBELP ICU_UNIT.

Page 210: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (Ausgang unter NAST)

210 April 2001

ENDIF. MOVE ISO_UNIT TO ICU_UNIT.

ENDFORM. " ISO_CODE_UNIT

Beachten Sie, daß im Verwaltungsteil das Feld HLEVEL (Hierarchieebene desSegmentes) nicht gefüllt wird. Das übernimmt die IDoc-Schnittstelle, die denentsprechenden Wert aus der Definition des IDoc-Typs TESTER01 bekommt.

Beachten Sie auch, daß im Feld INT_EDIDD-SEGNAM die Segmente großgeschrieben werden müssen. Sonst meldet die IDoc-Schnittstelle einenSyntaxfehler.

Globale Daten von IDOC_OUTPUT_TESTER*- Tabellen ------------------------------------------------------*TABLES: EKPO, EKET, LFB1, EDIDC, E1HEAD, E1ITEM, T000, EDSDC.* help fieldsDATA: H_EBELN LIKE EKKO-EBELN, H_KAPPL LIKE NAST-KAPPL, H_PARVW LIKE EKPA-PARVW.* iso codesDATA: ISO_UNIT LIKE T006-ISOCODE.

TYPE-POOLS ISOC.*- Direktwerte für Return_variables ---------------------------------DATA:EID LIKE BDWFRETVAR-WF_PARAM VALUE 'Error_IDOCs', PID LIKE BDWFRETVAR-WF_PARAM VALUE 'Processed_IDOCs', APO LIKE BDWFRETVAR-WF_PARAM VALUE 'Appl_Objects', APE LIKE BDWFRETVAR-WF_PARAM VALUE 'Appl_Object'.

*- Hilfsfelder für Änderungsbeleg ----------------------------------* INCLUDE FM06ECDT.

*- Common-Part für Änderungsbeleg ----------------------------------* INCLUDE FM06LCCD.

*- Direktwerte -----------------------------------------------------* INCLUDE FMMEXDIR.

Page 211: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Vorgangscode zuordnen (Ausgang)

April 2001 211

Vorgangscode zuordnen (Ausgang)Der Ausgangsfunktionsbaustein wird über einen Vorgangscode in der IDoc-Schnittstelleangesteuert.

VoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus Definition und Verwendung einesBasistyps [Seite 194]

Vorgehensweise1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �

Vorgangscode Ausgang. Wählen Sie die Navigation Vorgangscode Ausgang.

2. Wählen Sie und Neue Einträge.

3. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihren Funktionsbaustein ein.Wählen Sie eine Version des Funktionsbausteines, und ob Sie die ALE-Dienste aufrufenwollen.

4. Sichern Sie Ihre Eingaben. Wählen Sie die Navigation Logische Nachricht.

5. Wählen Sie Neue Einträge.

6. Tragen Sie die logische Nachricht und den Vorgangscode in die entsprechenden Felderein und sichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen diemöglichen Vorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichenSicht, ausgeben.

ErgebnisDurch die Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie jetzt in den Partnervereinbarungen eintragen können.

Im Fallbeispiel machen Sie folgende Angaben:

Vorgangscode TESTAUS

Funktionsbaustein IDOC_OUTPUT_TESTER

Nachrichtentyp (logische Nachricht) TESTER

Option ALE/Eingang Verarbeitung ohne ALE

Version des Funktionsbausteines Verarbeitung mit Funktionsbaustein Version 3.0.

Page 212: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partner vereinbaren (Ausgang)

212 April 2001

Partner vereinbaren (Ausgang)Der neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Ausgang unter Nachrichtensteuerung vereinbaren Sie zum Basistyp noch denneuen Vorgangscode, der den neuen Ausgangsfunktionsbaustein identifiziert. Zum Vorgehenlesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen „Ausgangallgemein“ und „Ausgang über Nachrichtensteuerung“:

Feld Wert

Partnernummer TESTLIEF

Partnerart LI

Partnerrolle LF

Nachrichtentyp TESTER

IDoc-Typ TESTER01

Empfängerport TESTPORT

Ausgabemodus IDocs sofort übergeben, Subsystem nicht starten

Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE

Anwendung (Applikation) EF (Einkauf)

Nachrichtenart NEU

Vorgangscode TESTAUS

Page 213: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Ausgang testen

April 2001 213

Ausgang testenVoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus

� Erweiterung eines IDoc-Typs [Seite 176] (falls Sie einen Basistyp erweitert haben) oder

� Definition und Verwendung eines Basistyps [Seite 194] (falls Sie einen neuen Basistypdefiniert haben)

VorgehensweiseSie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unterNachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatzeingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Siemit dem Programm Test ab NAST [Seite 100].

Im Fallbeispiel legen Sie eine Bestellung aus dem Einkauf an (Transaktion ME21).Adressat ist TESTLIEF, Sie bestellen ein Material aus dem Materialstamm. ImKonditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf � Nachrichten) habenSie den Versandzeitpunkt 4 gewählt (Bearbeitung über Zusatzangaben), d.h. IhrIDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert „Europa“ im FeldKONTINENT auf: Überprüfen Sie das über die IDoc-Anzeige [Seite 120].

Page 214: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Direkten Eingang einrichten (mit ALE)

214 April 2001

Direkten Eingang einrichten (mit ALE)Sie richten den direkten Eingang ein, der immer über die ALE-Dienste läuft.

VoraussetzungenAllgemeine Definitionen [Seite 197]

VorgehensweiseFunktionsbaustein anlegen (direkter Eingang) [Seite 215]

Eigenschaften des Funktionsbausteins pflegen [Seite 226]

Funktionsbaustein zuordnen (direkter Eingang) [Seite 227]

Vorgangscode zuordnen (direkter Eingang) [Seite 228]

Partner vereinbaren (direkter Eingang) [Seite 230]

Standardaufgabe anlegen (Ausnahme) [Seite 245]

Eingang testen [Seite 248]

Ausnahmebehandlung testen [Seite 250]

Page 215: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 215

Funktionsbaustein anlegen (direkter Eingang)Sie legen einen Funktionsbaustein an, der von der IDoc-Schnittstelle über einen Vorgangscodeidentifiziert und von ALE aufgerufen wird (Feld TBD52-FUNCNAME). Die direkteEingangsverarbeitung über einen Funktionsbaustein (nicht über einen Workflow) durchläuftimmer die ALE-Schicht. Die Einstellung „Verarbeitung durch Funktionsbaustein und durch ALE-Schicht“ wird durch den Wert 6 im Feld TEDE2-EDIVRS identifiziert, der vom FunktionsbausteinIDOC_START_INBOUND gelesen wird. IDOC_START_INBOUND ruft dann ALE.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Vorgehensweise1. Legen Sie im Einstiegsbild des Function Builder einen neuen Funktionsbaustein an.

2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. IhrFunktionsbaustein sollte die Anwendungsdaten aus den Segmenten in die entsprechendenAnwendungstabellen überführen und den IDoc-Status fortschreiben. Im Fehlerfall muß derFunktionsbaustein die entsprechenden Workflow-Parameter für die Ausnahmebehandlungsetzen.

3. Aktivieren Sie Ihren Funktionsbaustein: Wählen Sie dazu aus dem Einstiegsbild des FunctionBuilder .

Im Fallbeispiel legen Sie den Funktionsbaustein IDOC_INPUT_TESTER mit globalerSchnittstelle an. Der Funktionsbaustein wird beim Eingang eines IDocs vom TypTESTER01 aufgerufen. Sie werden diesem IDoc-Typ ein Anwendungsobjekt“Terminauftrag” zuordnen und daher Tabellen aus dem Vertrieb (SD) füllen. Dazurufen Sie mit dem Befehl CALL TRANSACTION die Transaktion VA01 auf. BeachtenSie, daß kein realistischer Terminauftrag simuliert, sondern nur dargelegt werdensoll, wie Daten aus einer IDoc-Tabelle über Segmentstrukturen inAnwendungstabellen wandern (Formroutine READ_IDOC_TESTER) und wie derFunktionsbaustein ein Ereignis für die Ausnahmebehandlung auslöst (DurchZurückgeben geeigneter Return-Variabler an die ALE-Schicht in FormroutineRETURN_VARIABLES_FILL).

Ein umfangreiches Beispiel für das Coding eines Eingangsfunktionsbausteins findenSie in der ALE-Dokumentation der R/3-Bibliothek unter AnwendungsübergreifendeFunktionen � Business Framework Architecture � Application Link Enabling �ALE-Programmierleitfaden � Eingangsverarbeitung � Funktionsbaustein imEingang � Verarbeitung eines einzelnen IDocs � Coding Beispiel [Extern]. DieserFunktionsbaustein prüft zum Beispiel auch auf richtige logische Nachricht und rufteinen (fiktiven) zweiten Funktionsbaustein auf, der erst die Anwendungsdatenschreibt und die Nummer des entstandenen Belegs zurückgibt. Außerdem setzt erStatus 53, wenn der Anwendungsbeleg fehlerfrei gebucht werden konnte.

Verwaltungsparameter von IDOC_INPUT_TESTER

Page 216: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (direkter Eingang)

216 April 2001

Anwendungskürzel V (Vertrieb)

Ablaufart normal, Start sofort

Schnittstelle von IDOC_INPUT_TESTER (globale Schnittstelle)

Formalparameter Bezugsstruktur Erläuterung

Importparameter

INPUT_METHOD BDWFAP_PAR-INPUTMETHD beschreibt, wie derFunktionsbausteinabgearbeitet werden soll(Beispiel: im Hintergrundoder “dunkel”)

MASS_PROCESSING BDWFAP_PAR-MASS_PROC Masseneingang? (Flag)

Exportparameter

WORKFLOW_RESULT BDWFAP_PAR-RESULT wird auf 99999 gesetzt,falls ein Workflow-Ereignis zurFehlerbehandlungausgelöst werden soll.

APPLICATION_VARIABLE BDWFAP_PAR-APPL_VAR von der Anwendung freiverfügbare Variable fürWorkflow

IN_UPDATE_TASK BDWFAP_PAR-UPDATETASK asynchrone Verbuchung?(Flag, wird im Beispielnicht gesetzt)

CALL_TRANSACTION_DONE BDWFAP_PAR-CALLTRANS Transaktion aufgerufen?(Flag, wird im Beispielnicht gesetzt)

Tabelle

IDOC_CONTRL EDIDC IDoc-Kontrollsatz

IDOC_DATA EDIDD IDoc-Datensätze

IDOC_STATUS BDIDOCSTAT IDoc-Statussätze für ALE

RETURN_VARIABLES BDWFRETVAR IDoc-Zuordnung zuParametern derWorkflow-Methode

SERIALIZATION_INFO BDI_SER Falls mehrere IDocs ineiner bestimmtenReihenfolge verarbeitetwerden sollen: DieseStruktur enthält die dazunötige Information

Beispielcoding

Page 217: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 217

FUNCTION IDOC_INPUT_TESTER.*"-------------------------------------------------------------------*"*"Globale Schnittstelle:*" IMPORTING*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC*" EXPORTING*" VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT*" VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS*" TABLES*" IDOC_CONTRL STRUCTURE EDIDC OPTIONAL*" IDOC_DATA STRUCTURE EDIDD*" IDOC_STATUS STRUCTURE BDIDOCSTAT*" RETURN_VARIABLES STRUCTURE BDWFRETVAR*" SERIALIZATION_INFO STRUCTURE BDI_SER*"----------------------------------------------------------------------

* initialize SET/GET Parameter and internal tables PERFORM INITIALIZE_ORGANIZATIONAL_DATA.* Move IDOC to internal tables of application PERFORM READ_IDOC_TESTER.* call transaction Order Entry VA01 PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.* set status value perform write_status_record using errorcode.* return values of function module PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.

ENDFUNCTION.

FORM INITIALIZE_ORGANIZATIONAL_DATA.

* initialize SET/GET parameters SET PARAMETER ID 'VKO' FIELD SPACE. SET PARAMETER ID 'VTW' FIELD SPACE. SET PARAMETER ID 'SPA' FIELD SPACE. SET PARAMETER ID 'VKB' FIELD SPACE. SET PARAMETER ID 'VKG' FIELD SPACE.

* initialize internal tables REFRESH BDCDATA. CLEAR BDCDATA. CLEAR BELEGNUMMER. CLEAR ERRTAB. REFRESH ERRTAB. REFRESH XBDCMSGCOLL. CLEAR XBDCMSGCOLL.

ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA

Page 218: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (direkter Eingang)

218 April 2001

FORM READ_IDOC_TESTER.

PERFORM INITIALIZE_IDOC. LOOP AT IDOC_DATA WHERE DOCNUM = IDOC_CONTRL-DOCNUM. CASE IDOC_DATA-SEGNAM.* header data WHEN 'E1HEAD'. MOVE IDOC_DATA-SDATA TO E1HEAD. PERFORM PROCESS_SEGMENT_E1HEAD.* position data WHEN 'E1ITEM'. MOVE IDOC_DATA-SDATA TO E1ITEM. PERFORM PROCESS_SEGMENT_E1ITEM. ENDCASE. ENDLOOP.* only when there were one or more items CHECK FIRST NE 'X'. APPEND XVBAP. "last one

ENDFORM. " READ_IDOC_TESTER

FORM INITIALIZE_IDOC.

CLEAR XVBAK. REFRESH XVBAP. CLEAR XVBAP. POSNR = 0. FIRST = 'X'.

ENDFORM. " INITIALIZE_IDOC

FORM PROCESS_SEGMENT_E1HEAD.

* requested date of delivery WLDAT = E1HEAD-WLDAT.* delivery date XVBAK-BSTDK = E1HEAD-BSTDK.* customer number XVBAK-KUNNR = E1HEAD-AUGEB.* order number XVBAK-BSTNK = E1HEAD-BELNR.* division XVBAK-SPART = E1HEAD-SPART.* distribution channel XVBAK-VTWEG = E1HEAD-VTWEG.* sales organization XVBAK-VKORG = E1HEAD-VKORG.* order type XVBAK-AUART = E1HEAD-AUART.* do not fill incoterms (inco1, inco2)* customer function

Page 219: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 219

CALL CUSTOMER-FUNCTION '001' EXPORTING PI_VBAK621 = XVBAK IMPORTING PE_VBAK621 = XVBAK TABLES PT_IDOC_DATA_RECORDS = IDOC_DATA.

ENDFORM. " PROCESS_SEGMENT_E1HEAD

FORM PROCESS_SEGMENT_E1ITEM.* position number XVBAP-POSNR = XVBAP-POSNR + 1.* amount XVBAP-WMENG = E1ITEM-MENGE.* unit CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE' EXPORTING ISO_CODE = E1ITEM-BMEINH IMPORTING SAP_CODE = XVBAP-VRKME EXCEPTIONS OTHERS = 0.* material number XVBAP-MATNR = E1ITEM-LMATNR.

CALL CUSTOMER-FUNCTION '002' EXPORTING PI_VBAP621 = XVBAP IMPORTING PE_VBAP621 = XVBAP TABLES PT_IDOC_DATA_RECORDS = IDOC_DATA.APPEND XVBAP.

ENDFORM. " PROCESS_SEGMENT_E1ITEM

FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.

* call transaction first dynpro PERFORM DYNPRO_START.* call transaction double-line entry PERFORM DYNPRO_DETAIL2.* incoterms PERFORM DYNPRO_HEAD_300.* call transaction item datas PERFORM DYNPRO_POSITION. PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.* determine input method IF INPUT_METHOD IS INITIAL. INPUT_METHOD = 'N'. ENDIF.* call transaction VA01

Page 220: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (direkter Eingang)

220 April 2001

CALL TRANSACTION 'VA01' USING BDCDATA MODE INPUT_METHOD UPDATE 'S' MESSAGES INTO XBDCMSGCOLL.

errorcode = SY-SUBRC. " remember returncode for status update

ENDFORM. " CALL_VA01_IDOC_ORDERS

form write_status_record using errorcode.

* FILL IDOC_STATUS IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM. IF ERRORCODE = 0.IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53 GET PARAMETER ID 'AUN' FIELD BELEGNUMMER. IDOC_STATUS-MSGID = 'V1'. IDOC_STATUS-MSGNO = '311'. IDOC_STATUS-MSGV1 = 'Terminauftrag'. IDOC_STATUS-MSGV2 = BELEGNUMMER. ELSE. IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51 IDOC_STATUS-MSGID = SY-MSwGID. IDOC_STATUS-MSGNO = SY-MSGNO. IDOC_STATUS-MSGV1 = SY-MSGV1. IDOC_STATUS-MSGV2 = SY-MSGV2. IDOC_STATUS-MSGV3 = SY-MSGV3. IDOC_STATUS-MSGV4 = SY-MSGV4. ENDIF. APPEND IDOC_STATUS.

ENDFORM.

FORM DYNPRO_START.

PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG DYNPRO-EINSTIEG CHANGING LAST_DYNPRO.* ordertype PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.* sales organization PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.* Distribution channel PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.* Division PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.* Sales office PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.* Sales group PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.

Page 221: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 221

ENDFORM. " DYNPRO_START

FORM DYNPRO_NEW USING PROGNAME DYNPRONR CHANGING LAST_DYNPRO.

CLEAR BDCDATA. BDCDATA-PROGRAM = PROGNAME. BDCDATA-DYNPRO = DYNPRONR. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. LAST_DYNPRO = DYNPRONR.

ENDFORM. " DYNPRO_NEW

FORM DYNPRO_SET USING FELDNAME FELDINHALT.

CLEAR BDCDATA. CHECK FELDINHALT NE SPACE.* dynpro field name BDCDATA-FNAM = FELDNAME.* contents BDCDATA-FVAL = FELDINHALT. APPEND BDCDATA.

ENDFORM. " DYNPRO_SET

FORM DYNPRO_DETAIL2.* okcode* PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.* fix dynpro number 4001 PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG '4001' CHANGING LAST_DYNPRO.* order party PERFORM DYNPRO_SET USING 'KUAGV-KUNNR' XVBAK-KUNNR.* purchase order number PERFORM DYNPRO_SET USING 'VBKD-BSTKD' XVBAK-BSTNK.* requested delivery date PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK' XVBAK-BSTDK.* purchase order date PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.

ENDFORM. " DYNPRO_DETAIL2

FORM DYNPRO_DATE_SET USING FELDNAME FELDINHALT.

DATA: DATE TYPE D.

Page 222: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (direkter Eingang)

222 April 2001

CLEAR BDCDATA. CHECK FELDINHALT NE SPACE. BDCDATA-FNAM = FELDNAME. WRITE FELDINHALT TO DATE. BDCDATA-FVAL = DATE. APPEND BDCDATA.

ENDFORM. " DYNPRO_DATE_SET

FORM DYNPRO_HEAD_300.

PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.

* incoterms part 1 IF NOT XVBAK-INCO1 IS INITIAL. PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1. ENDIF.* incoterms part 2 IF NOT XVBAK-INCO2 IS INITIAL. PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2. ENDIF.* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.

ENDFORM. " DYNPRO_HEAD_300

FORM DYNPRO_POSITION.

LOOP AT XVBAP.* dynpro item double line entry* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.

IF XVBAP-POSNR = 1.* material number PERFORM DYNPRO_SET USING 'VBAP-MATNR(01)' XVBAP-MATNR.* order quantity PERFORM DYNPRO_SET USING 'RV45A-KWMENG(01)' XVBAP-WMENG.* desired delivery date PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)' WLDAT.* sales unit PERFORM DYNPRO_SET USING 'VBAP-VRKME(1)' XVBAP-VRKME. ELSE.* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'POAN'.

* material number PERFORM DYNPRO_SET USING 'VBAP-MATNR(02)' XVBAP-MATNR.* order quantity PERFORM DYNPRO_SET USING 'RV45A-KWMENG(02)' XVBAP-WMENG.* desired delivery date PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)' WLDAT.* sales unit PERFORM DYNPRO_SET USING 'VBAP-VRKME(02)' XVBAP-VRKME. ENDIF.

Page 223: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 223

ENDLOOP.

ENDFORM. " DYNPRO_POSITION

FORM RETURN_VARIABLES_FILL USING ERRORCODE.

* allocate IDOC numbers to Workflow output parameters IF MASS_PROCESSING <> SPACE. IF ERRORCODE = 0. RETURN_VARIABLES-WF_PARAM = PID. RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. APPEND RETURN_VARIABLES. RETURN_VARIABLES-WF_PARAM = APO. RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_OK. ELSE. RETURN_VARIABLES-WF_PARAM = EID. RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_ERROR. ENDIF. ELSE. IF ERRORCODE = 0. RETURN_VARIABLES-WF_PARAM = APE. RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_OK. ELSE. WORKFLOW_RESULT = C_WF_RESULT_ERROR. ENDIF. ENDIF.

ENDFORM. " RETURN_VARIABLES_FILL

Globale Daten von IDOC_INPUT_TESTER

TABLES: E1HEAD, E1ITEM.

DATA: BEGIN OF BDCDATA OCCURS 500. INCLUDE STRUCTURE BDCDATA.DATA: END OF BDCDATA.

DATA: BEGIN OF XVBAK. "Kopfdaten INCLUDE STRUCTURE VBAK621.DATA: END OF XVBAK.

DATA: BEGIN OF XVBAP OCCURS 50. "Position INCLUDE STRUCTURE VBAP.DATA: WMENG(18) TYPE C.DATA: LFDAT LIKE VBAP-ABDAT.DATA: KSCHL LIKE KOMV-KSCHL.DATA: KBTRG(16) TYPE C.

Page 224: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Funktionsbaustein anlegen (direkter Eingang)

224 April 2001

DATA: KSCHL_NETWR LIKE KOMV-KSCHL.DATA: KBTRG_NETWR(16) TYPE C.DATA: INCO1 LIKE VBKD-INCO1.DATA: INCO2 LIKE VBKD-INCO2.DATA: YANTLF(1) TYPE C.DATA: PRSDT LIKE VBKD-PRSDT.DATA: HPRSFD LIKE TVAP-PRSFD.DATA: END OF XVBAP.

DATA: BEGIN OF DYNPRO, EINSTIEG LIKE T185V-DYNNR VALUE 101, KKAU LIKE T185V-DYNNR, UER2 LIKE T185V-DYNNR, KBES LIKE T185V-DYNNR, ERF1 LIKE T185V-DYNNR, PBES LIKE T185V-DYNNR, PKAU LIKE T185V-DYNNR, PEIN LIKE T185V-DYNNR, EID1 LIKE T185V-DYNNR, POPO LIKE T185V-DYNNR, EIPO LIKE T185V-DYNNR, KPAR LIKE T185V-DYNNR, PSDE LIKE T185V-DYNNR, PPAR LIKE T185V-DYNNR, KDE1 LIKE T185V-DYNNR, KDE2 LIKE T185V-DYNNR, PDE1 LIKE T185V-DYNNR, PDE2 LIKE T185V-DYNNR, PKON LIKE T185V-DYNNR, END OF DYNPRO.

DATA: BEGIN OF PANEL, KKAU LIKE T185V-PANEL VALUE 'KKAU', UER2 LIKE T185V-PANEL VALUE 'UER2', KBES LIKE T185V-PANEL VALUE 'KBES', ERF1 LIKE T185V-PANEL VALUE 'ERF1', PBES LIKE T185V-PANEL VALUE 'PBES', PKAU LIKE T185V-PANEL VALUE 'PKAU', PEIN LIKE T185V-PANEL VALUE 'PEIN', EID1 LIKE T185V-PANEL VALUE 'EID1', EIAN LIKE T185V-PANEL VALUE 'EIAN', POPO LIKE T185V-PANEL VALUE 'POPO', EIPO LIKE T185V-PANEL VALUE 'EIPO', KPAR LIKE T185V-PANEL VALUE 'KPAR', PSDE LIKE T185V-PANEL VALUE 'PSDE', POAN LIKE T185V-PANEL VALUE 'POAN', PPAR LIKE T185V-PANEL VALUE 'PPAR', KDE1 LIKE T185V-PANEL VALUE 'KDE1', KDE2 LIKE T185V-PANEL VALUE 'KDE2', PDE1 LIKE T185V-PANEL VALUE 'PDE1', PDE2 LIKE T185V-PANEL VALUE 'PDE2', PKON LIKE T185V-PANEL VALUE 'PKON', KOAN LIKE T185V-PANEL VALUE 'KOAN',

Page 225: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein anlegen (direkter Eingang)

April 2001 225

END OF PANEL.

DATA: BEGIN OF ERRTAB OCCURS 20, TRANS LIKE TSTC-TCODE, ARBGB LIKE T100-ARBGB, CLASS(1) TYPE C, MSGNR LIKE T100-MSGNR,* TEXT LIKE T100-TEXT, TEXT(123) TYPE C, MSGV1 LIKE SY-MSGV1, MSGV2 LIKE SY-MSGV2, MSGV3 LIKE SY-MSGV3, MSGV4 LIKE SY-MSGV4, END OF ERRTAB.*---- Hilfsfelder ------------------------------------------------*

DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.

DATA: LAST_DYNPRO LIKE T185V-DYNNR, WLDAT LIKE VBAK-BSTDK, POSNR LIKE VBAP-POSNR, FIRST(1) TYPE C VALUE 'X'.

DATA: BEGIN OF XBDCMSGCOLL OCCURS 10. INCLUDE STRUCTURE BDCMSGCOLL.DATA: END OF XBDCMSGCOLL.

* Terminauftrag ( Auftragsart wird fest gesetzt !)DATA: BELEGNUMMER LIKE VBAK-VBELN.DATA: ERRORCODE LIKE SY-SUBRC.

* Statuswerte fuer IDOC-StatusDATA: BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.DATA: BELEG_GEBUCHT LIKE TEDS1-STATUS VALUE '53'.

*- Direktwerte für Return_variables -------------------------data: eid like bdwfretvar-wf_param value 'Error_IDOCs', pid like bdwfretvar-wf_param value 'Processed_IDOCs', apo like bdwfretvar-wf_param value 'Appl_Objects', ape like bdwfretvar-wf_param value 'Appl_Object'.

*- Direktwerte für Workflow_Result -------------------------DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'.

Page 226: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eigenschaften des Funktionsbausteins pflegen

226 April 2001

Eigenschaften des Funktionsbausteins pflegenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Vorgehensweise1. Gehen Sie in das ALE-Entwicklungsmenü: Wählen Sie aus dem R/3-Einstiegsbild

Werkzeuge � Business Framework � ALE � Entwicklung, IDoc-Schnittstelle �Eingangsverarbeitung � Funktionsbaustein � Attribute pflegen, Neue Einträge.

2. Pflegen Sie die Eigenschaften Ihres Funktionsbausteins und sichern Sie Ihre Angaben.Stellen Sie die neuen Einträge in Ihren Transportauftrag

Beim Einzeleingang setzen Sie die Eigenschaft Inputtyp je nachdem, ob die aufgerufeneTransaktion die IDocs sperrt und den IDoc-Status fortschreibt oder nicht. WeitereInformationen zu „ALE-fähigen Transaktionen“ finden Sie unter Call Transactioneinsetzen [Extern].

Im Fallbeispiel geben Sie den Inputtyp 2 ein (Einzeleingang mit IDoc-Sperre in derTransaktion) und markieren die Option “Dialog möglich” (Ihr Funktionsbaustein solleine Dialogtransaktion aufrufen können).

Page 227: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Funktionsbaustein zuordnen (direkter Eingang)

April 2001 227

Funktionsbaustein zuordnen (direkter Eingang)Hier definieren Sie, daß Ihr neuer Funktionsbaustein Ihren neuen Basistyp mit einer bestimmtenNachricht verarbeiten darf. Außerdem weisen Sie dem Funktionsbaustein ein Anwendungsobjektaus dem Business Object Repository (BOR) zu (etwa einen Kundenauftrag), dem er dieAnwendungsdaten aus dem IDoc zuweisen darf. Dieser Schritt ist die ALE-Registrierung desFunktionsbausteins.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194].

Vorgehensweise1. Wählen Sie aus dem Einstiegsbild der IDoc-Schnittstelle [Extern] Entwicklung ��

Nachricht/Anw.Objekt, und dann neue Einträge.

2. Ordnen Sie Ihren Funktionsbaustein den verschiedenen Objekten zu. Als Richtungwählen Sie 2 (Eingang). Sichern Sie die neuen Einträge in Ihrem Transportauftrag.

Im Fallbeispiel ordnen Sie folgende Objekte einander zu:

Baustein IDOC_INPUT_TESTER, Typ F (Funktionsbaustein)

Basistyp TESTER01

Nachrichtentyp TESTER

Objekttyp BUS2032 (Kundenauftrag)

Page 228: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Vorgangscode zuordnen (direkter Eingang)

228 April 2001

Vorgangscode zuordnen (direkter Eingang)In diesem Schritt ordnen Sie dem neuen Funktionsbaustein einen neuen Vorgangscode zu. Sieerreichen dadurch, daß der Funktionsbaustein aus den Partnervereinbarungen der IDoc-Schnittstelle identifiziert werden kann, wenn ein IDoc mit Ihrem neu angelegten Nachrichtentypeingeht.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Vorgehensweise1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �

Vorgangscode Eingang, Navigation Vorgangscode Eingang, dann , dann NeueEinträge.

2. Tragen Sie Ihren Vorgangscode und eine Beschreibung ein. Wählen Sie als OptionenVerarbeitung mit ALE und Verarbeitung durch Funktionsbaustein und sichern Sie IhreAngaben.

Sie gelangen (entweder automatisch oder von Hand) in das Pflegebild, in dem Sie demVorgangscode den Eingangsfunktionsbaustein zuordnen.

3. Wählen Sie Neue Einträge Tragen Sie im Detailbild ein:

� Ihren Vorgangscode

� Rahmen Eingangsmodul: Ihren Funktionsbaustein und wie oft er maximal versuchensoll, die Anwendungsdaten einzubuchen, bevor die Ausnahmebehandlungangesprungen werden soll.

� Rahmen IDoc: Ihren Objekttyp, das Startereignis inputErrorOccurred und dasEndereignis inputFinished.

� Rahmen Anwendungsobjekt: Ihren Objekttyp

Lassen Sie die anderen Felder leer. Sichern Sie und gehen Sie zurück zum Einstiegsbild“Vorgangscodes Eingang”.

5. Gehen Sie über zur Pflege der Eingangsvorgangscodes zurück und wählen Sie dieNavigation Logische Nachricht.

6. Im Änderungsmodus wählen Sie Neue Einträge.

7. Tragen Sie Ihren Nachrichtentyp (logische Nachricht) und Ihren Vorgangscode ein undsichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen die möglichenVorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichen Sicht,ausgeben.

Wenn Sie im letzten Schritt alle Typen gewählt haben, dann gibt die Wertehilfe denVorgangscode zu allen Nachrichtentypen aus. Gleiches gilt für die beiden anderenOptionen zu Nachrichtenvariante und –funktion.

Page 229: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Vorgangscode zuordnen (direkter Eingang)

April 2001 229

ErgebnisDurch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie in den Partnervereinbarungen eintragen können.

Im Fallbeispiel machen Sie folgende Angaben:

Vorgangscode TESTEIN

Basistyp TESTER01

Funktionsbaustein IDOC_INPUT_TESTER

maximale Anzahl Wiederholungen 0

Nachrichtentyp (logische Nachricht) TESTER

IDoc-Objekttyp IDOCTEST

Anwendungsobjekttyp BUS2032 (Kundenauftrag)

Page 230: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Partner vereinbaren (direkter Eingang)

230 April 2001

Partner vereinbaren (direkter Eingang)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

VorgehensweiseDer neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fürEingangsverarbeitung und Ausnahmebehandlung.

Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen(allgemeine Kopfeinträge müssen vorhanden sein):

Feld Wert

Partnernummer TESTKUND

Partnerart KU

Partnerrolle AG

Nachrichtentyp TESTER

Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), SpracheDE

Vorgangscode TESTEIN

Beachten Sie die folgende Graphik, die Ihnen zeigt, was Sie definiert haben und wie sich das inder Eingangsverarbeitung auswirkt!

Schlüsselfelder sind in der Graphik grau dargestellt, Zuordnungen, die das R/3-Systemvornimmt, durch Pfeile. Im Verlauf Ihrer Entwicklung des neuen Basistyps und seiner Einbettungin die Eingangsverarbeitung haben Sie die diese Felder einander entsprechend definiert. Da Sieden Mandanten nicht einstellen können, ist dieses Schlüsselfeld hier nicht gezeigt.

Felder und Zuordnungen im Eingang

Page 231: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Partner vereinbaren (direkter Eingang)

April 2001 231

IDoc-Kontrollsatz

Eingangs-Partnervereinbarungen

Zuordnung Nachricht - IDoc-Typ

Zuordnung F.Baustein - IDoc-Typ, Nachricht... (ALE-Registrierung)

IDoc-Typ

IDoc-Typ Partner("Nummer",Art,Rolle)

Nachricht(Typ, Variante, Funktion) Test?

IDoc-Typ Funktions-baustein

Nachricht(Typ, Variante, Funktion)

BOR-Objekt

Partner("Nummer",Art,Rolle)

Vorgangscode

Nachricht(Typ, Variante, Funktion)

Eingang mit ALE?, Empfänger von

Benachrichtigungen,...

Test?

Nachricht(Typ, Variante, Funktion)

Page 232: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Aufgabe anlegen (Ausnahme)

232 April 2001

Aufgabe anlegen (Ausnahme)In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred.Außerdem aktivieren Sie die Typkopplung [Extern].

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

VorgehensweiseAufgabe anlegen durch Kopieren1. Wählen Sie aus dem R/3-Einstiegsbild Werkzeuge � Business Workflow � Entwicklung,

Definitionswerkzeuge � Aufgaben � Kopieren. Geben Wählen Sie als AufgabentypStandardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung vonORDERS01) ein.

2. Wählen Sie und geben Sie ein Aufgabenkürzel ein. Beim Kopieren wählen Sie dieEntwicklungsklasse, die Sie für sich in der IDoc-Administration eingestellt haben, oder die füralle anderen Objekte Ihrer Basistypdefinition gilt.

Neu angelegte Aufgabe ändern3. Gehen Sie ins Workflow-Entwicklungsmenü zurück und wählen Sie Definitionswerkzeuge �

Aufgabe � ändern. Das System übernimmt Ihre neue Aufgabe ins Eingabefeld.

4. Wählen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fürfolgende Registerkarten:

� Grunddaten

� Auslösende Ereignisse (neue Zeile einfügen, alte löschen)

� Beendende Ereignisse (neue Zeile einfügen, alte löschen)

Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom ObjekttypIDOCORDERS übernommen (Registerkarte Grunddaten).

5. Schalten Sie per Knopfdruck die Typkopplung beim auslösenden Ereignis ein (grünes Licht).Sichern Sie Ihre Angaben.

6. Wählen Sie Zusatzdaten � Bearbeiterzuordnung � pflegen, um Ihrer Aufgabe möglicheBearbeiter zuzuordnen. Über Eigenschaften können Sie die Aufgabe als generelle Aufgabeklassifizieren, d.h. jeder ist möglicher Bearbeiter.

7. Sichern Sie ihre Angaben.

Sie können testen, ob Sie als möglicher Bearbeiter der Aufgabe in Frage kommen.Wählen Sie dazu aus dem Workflow-Entwicklungsmenü Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .Wenn eine Fehlermeldung Sie als nicht möglichen Bearbeiter ausweist, kann das

Page 233: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufgabe anlegen (Ausnahme)

April 2001 233

auch an internen Puffertabellen der Organisationsmodellierung liegen. Wählen Siedann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.

Im Fallbeispiel machen Sie folgende Angaben:

Aufgabenkürzel TEST_ERROR

Objekttyp IDOCTEST

Objektmethode errorProcess

Bearbeiterzuordnung generelle Aufgabe

Page 234: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingang testen

234 April 2001

Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus

� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder

� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)

Vorgehensweise4. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs

Ihres Typs editieren können. Als Testvorlage wählen Sie

� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.

� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.

Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.

5. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.

6. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.

Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:

Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen

Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG

Page 235: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingang testen

April 2001 235

Wenn Sie den Basistyp ORDERS01 erweitert haben:

IDoc-Typ ORDERS01

Erweiterung Z1ORDERS

Nachrichtentyp ORDERS

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

IDoc-Typ TESTER01

Nachrichtentyp TESTER

Page 236: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausnahmebehandlung testen

236 April 2001

Ausnahmebehandlung testenTesten Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehlerprovozieren, z.B. ein IDoc mit leerem Mußfeld übergeben.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps [Seite 194]. Insbesondere muß Ihr Coding die Ausnahmebehandlung rufen (bzw.beim ALE-Eingang über die Workflow-Rückgabeparameter veranlassen) und Status 51 setzen!

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test �

Testwerkzeug. Wählen Sie als Vorlage für den Test existierendes IDoc und geben Siedie Nummer eines Eingangs-IDocs an, das Status 53 hat.

2. Wählen Sie .

3. Editieren Sie durch Anklicken ein Mußfeld eines Segments und entfernen Sie seinenInhalt.

4. Wählen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Siez.B. über die IDoc-Anzeige [Seite 120] verifizieren können).

5. Wenn Sie als möglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter inden Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem inIhren integrierten Eingangskorb, das Sie dort ausführen können. Zum Eingangskorbkommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle über IDoc �Eingangskorb.

Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG.Dadurch stößt Ihre Eingangsverarbeitung in der FormroutineCALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisationangegeben). Sie erhalten als möglicher und ausgewählter Bearbeiter ein Workitem inIhren integrierten Eingangskorb.

Page 237: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingang über Workflow einrichten

April 2001 237

Eingang über Workflow einrichtenVoraussetzungenAllgemeine Definitionen [Seite 197]

VorgehensweiseEingangsverarbeitung als Objektmethode definieren [Seite 238]

Standardaufgabe anlegen (Eingang über Workflow) [Seite 243]

Vorgangscode anlegen (Eingang über Workflow) [Seite 244]

Standardaufgabe anlegen (Ausnahme) [Seite 245]

Partner vereinbaren (Eingang über Workflow) [Seite 247]

Eingang über Workflow testen [Seite 248]

Ausnahmebehandlung testen [Seite 250]

ErgebnisSie haben den Eingang (mit Ausnahmebehandlung) über Workflow definiert und getestet.

Page 238: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung als Objektmethode definieren

238 April 2001

Eingangsverarbeitung als Objektmethode definierenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Vorgehensweise1. Wählen Sie aus dem Werkzeuge � Business Workflow � Entwicklung

��Definitionswerkzeuge ��Business Objekt Builder. Geben Sie Ihren Objekttyp ein undwählen Sie ändern.

2. Definieren Sie eine neue Methode für Ihren Objekttyp. Positionieren Sie dazu auf Methodenund wählen Sie .

3. Wenn Sie einen Funktionsbaustein als technische Realisierung Ihrer Methode geschriebenhaben, dann geben Sie ihn als Vorlage ein. Benennen Sie die Methode und sichern Sie.

Bei synchronen Methoden brauchen Sie kein Ereignis zu definieren, mit dem sich dieMethode zurückmeldet.

4. Positionieren Sie auf Ihre neue Methode und wählen Programm.

5. Programmieren Sie Ihre Verarbeitung.

6. Sichern Sie den Programmcode und verlassen Sie den ABAP Editor ( ).

7. Ändern Sie im Business Object Builder den Freigabestatus der Methode auf implementiert:Positionieren Sie auf Ihre Methode und wählen Sie Bearbeiten � Freigabestatus ändern �Objekttypkomponente � in implementiert.

8. Wählen Sie .

ErgebnisSie haben eine Methode durch ein konkretes ABAP-Programm realisiert. Sie müssen noch eineStandardaufgabe anlegen, die auf diese Methode und auf den zugehörigen Objekttyp zeigt.

Im Fallbeispiel definieren Sie die synchrone, dialogfreie MethodeinputBackgroundTest für Ihren Objekttyp IDOCTEST. Das ABAP-Coding lautet:INCLUDE <OBJECT>. " Workflow-Makros zur Objektdefinitionbegin_data object. " Do not change.. DATA is generated* only private members may be inserted into structure privatedata:" begin of private," to declare private attributes remove comments and" insert private attributes here..." end of private, begin of key, idocnumber like edidc-docnum, end of key.end_data object. " Do not change.. DATA is generated

Page 239: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsverarbeitung als Objektmethode definieren

April 2001 239

...BEGIN_METHOD inputBackgroundTest changing container.CALL FUNCTION 'IDOC_INPUT_WF_TESTER' EXPORTING idocnumber = object-key-idocnumber EXCEPTIONS OTHERS = 01.END_METHOD.

Der übergebene Parameter ist IDOCNUMBER, den der Objekttyp IDOCTEST vom SupertypIDOCAPPL als Schlüsselfeld geerbt hat.

Den Funktionsbaustein IDOC_INPUT_WF_TESTER legen Sie per Vorwärtsnavigation(Doppelklick) an. Er liest die Daten aus dem IDoc und setzt ein Ereignis im Fehlerfall ab (durchAufruf des Workflow-Funktionsbausteins SWE_EVENT_CREATE). In der FormroutineREAD_IDOC_TESTER sehen Sie, wie Daten aus einer IDoc-Tabelle über Segmentstrukturenin Anwendungstabellen wandern.

Im folgenden Coding wird öfters auf das Analogon beim direkten Eingang verwiesen(Beispiel IDOC_INPUT_TESTER), jedoch nur aus Platzgründen, da man jaentweder den direkten oder den Workflow-Eingang wählt.

Verwaltungsparameter von IDOC_INPUT_WF_TESTER

Anwendungskürzel V (Vertrieb)

Ablaufart normal, Start sofort

BeispielcodingFUNCTION IDOC_INPUT_WF_TESTER.*---------------------------------------------------------*Globale Schnittstelle: * IMPORTING idocnumber LIKE EDIDC-DOCNUM*---------------------------------------------------------

INCLUDE <CNTN01>. " Workflow-Makros zur ContainerdefinitionDATA: i_edids LIKE edi_ds OCCURS 1 WITH HEADER LINE,event_id like swedumevid-evtid,status like edids-status,cidocnumber like sweinstcou-objkey,errorcode like sy-subrc.

"Für Test der Ausnahmebehandlungswc_container ev_container.

* initialize SET/GET parameters and internal tablesPERFORM INITIALIZE_ORGANIZATIONAL_DATA.

CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS' EXPORTING

Page 240: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung als Objektmethode definieren

240 April 2001

document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_foreign_lock = 01 document_not_exist = 02 document_number_invalid = 03 document_is_already_open = 04.

CALL FUNCTION 'EDI_SEGMENTS_GET_ALL' EXPORTING document_number = idocnumber TABLES idoc_containers = idoc_data EXCEPTIONS document_number_invalid = 01 end_of_document = 02.

PERFORM READ_IDOC_TESTER.

PERFORM CALL_VA01_IDOC_ORDERS using errorcode.

PERFORM WRITE_STATUS_RECORD TABLES i_edids "Status schreibenUSING errorcode.

CALL FUNCTION 'EDI_DOCUMENT_CLOSE_PROCESS' EXPORTING document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_not_open = 01 failure_in_db_write = 02 parameter_error = 03 status_set_missing = 04.IF errorcode <> 0. cidocnumber = idocnumber. CALL FUNCTION 'SWE_EVENT_CREATE' EXPORTING objtype = 'IDOCTEST' objkey = cidocnumber event = 'InputErrorOccurred' start_recfb_synchron = 'X' "synchroner Aufruf IMPORTING event_id = event_id TABLES event_container = ev_container EXCEPTIONS objtype_not_found = 1 others = 2. COMMIT WORK.ENDIF.

Page 241: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingangsverarbeitung als Objektmethode definieren

April 2001 241

ENDFUNCTION.

FORM INITIALIZE_ORGANIZATIONAL_DATA...* Formroutine wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]

ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA

FORM READ_IDOC_TESTER....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]

ENDFORM. " READ_IDOC_TESTER

FORM CALL_VA01_IDOC_ORDERS using errorcode.

* call transaction first dynpro PERFORM DYNPRO_START.* call transaction double-line entry PERFORM DYNPRO_DETAIL2.* incoterms PERFORM DYNPRO_HEAD_300.* call transaction item datas PERFORM DYNPRO_POSITION. PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.* call transaction VA01 CALL TRANSACTION 'VA01' USING BDCDATA MODE 'N' UPDATE 'S' MESSAGES INTO XBDCMSGCOLL.

errorcode = SY-SUBRC. " remember returncode for status update

ENDFORM. " CALL_VA01_IDOC_ORDERS

FORM DYNPRO_START....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]

ENDFORM. " DYNPRO_START

FORM WRITE_STATUS_RECORD TABLES i_edids STRUCTURE edi_dsUSING errorcode.

* fill status record I_EDIDS-DOCNUM = IDOC_CONTRL-DOCNUM. I_EDIDS-LOGDAT = SY-DATUM. IF errorcode = 0.

Page 242: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingangsverarbeitung als Objektmethode definieren

242 April 2001

I_EDIDS-STATUS = BELEG_GEBUCHT. "value 53 GET PARAMETER ID 'AUN' FIELD BELEGNUMMER. I_EDIDS-STAMID = 'V1'. I_EDIDS-STAMNO = '311'. I_EDIDS-STAPA1 = 'Terminauftrag'. I_EDIDS-STAPA2 = BELEGNUMMER. ELSE.I_EDIDS-STATUS = BELEG_NICHT_GEBUCHT. "value 51 I_EDIDS-STAMID = SY-MSGID. I_EDIDS-STAMNO = SY-MSGNO. I_EDIDS-STAPA1 = SY-MSGV1. I_EDIDS-STAPA2 = SY-MSGV2. I_EDIDS-STAPA3 = SY-MSGV3. I_EDIDS-STAPA4 = SY-MSGV4. ENDIF.

CALL FUNCTION 'EDI_DOCUMENT_STATUS_SET'EXPORTING document_number = idoc_contrl-docnum idoc_status = i_edids IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_number_invalid = 01 other_fields_invalid = 02 status_invalid = 03.ENDFORM. " WRITE_STATUS_RECORD

Globale Daten von IDOC_INPUT_WF_TESTERdata:idoc_data LIKE edidd occurs 10 WITH HEADER LINE,idoc_contrl LIKE edidc occurs 1 WITH HEADER LINE.* weitere Daten wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]

Page 243: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufgabe anlegen (Eingang über Workflow)

April 2001 243

Aufgabe anlegen (Eingang über Workflow)In diesem Schritt legen Sie eine Aufgabe zur Eingangsverarbeitung an, die im Hintergrundabgearbeitet wird. Die Aufgabe zeigt auf Ihre neu angelegte Objektmethode. Alternativ könnenSie einen Workflow definieren.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Aufgabe anlegen1. Wählen Sie Entwicklung � Business Workflow � Definitionswerkzeuge � Aufgaben �

Anlegen (Aufgabentyp Standardaufgabe). Geben Sie ein Aufgabenkürzel ein.

Wählen Sie und sichern Sie gleich im Anschluß.

Beim Sichern ordnen Sie die Aufgabe der Entwicklungsklasse Ihrer anderenEntwicklungsobjekte (Basistyp, Funktionsgruppe,...) zu.

2. Weisen Sie der Aufgabe mögliche Bearbeiter zu: Wählen Sie Zusatzdaten �Bearbeiterzuordnung � Pflegen. Diesen Schritt müssen Sie nur dann durchführen, wennSie keine Hintergrundaufgabe anlegen wollen – in diesem Fall gibt es ja keinenBearbeiter.

Sie können die Aufgabe über Eigenschaften als generelle Aufgabe pflegen.

3. Tragen Sie Ihren Objekttyp und Ihre Methode ein und kennzeichnen Sie die Aufgabenach der Verarbeitungsart (z.B. für Hintergrundverarbeitung). Ändern Sie denFreigabestatus auf implementiert. Sichern Sie Ihre Angaben.

Bei Dialogaufgaben können Sie testen, ob Sie als möglicher Bearbeiter in Fragekommen. Wählen Sie Entwicklung � Business Workflow � Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .

Im Fallbeispiel machen Sie folgende Angaben:

Aufgabenkürzel TEST_INPUT

Methode InputBackgroundTest

Objekttyp IDOCTEST

Ausführung Hintergrundverarbeitung

Bearbeiterzuordnung keine (Es gibt keine Bearbeiter fürHintergrundaufgaben)

Page 244: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Vorgangscode anlegen (Eingang über Workflow)

244 April 2001

Vorgangscode anlegen (Eingang über Workflow)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �

Vorgangscode Eingang, Navigation Vorgangscode Eingang, und dann neue Einträge.

2. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihre neue Standardaufgabe imFeld Identifizierung ein. Wählen Sie als Optionen Verarbeitung durch Aufgabe und z.B.Verarbeitung ohne ALE und sichern Sie Ihre Angaben.

3. Wählen Sie die Navigation Logische Nachricht.

4. Wählen Sie Neue Einträge.

5. Tragen Sie Ihren Nachrichtentyp und Ihren Vorgangscode ein und sichern Sie.

Die Wertehilfe (F4) in den Partnervereinbarungen kann jetzt aus Ihrem Nachrichtentyp,also der betriebswirtschaftlichen Sicht, Ihren Vorgangscode anbieten. Im Bild können Siediese Hilfe auch auf bestimmte Nachrichtenvarianten oder –funktionen einschränken.

ErgebnisDurch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie in den Partnervereinbarungen eintragen können.

Im Fallbeispiel machen Sie folgende Angaben:

Vorgangscode TESTWFEIN

Identifizierung <Ihre Aufgabe>

Logische Nachricht TESTER

Page 245: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Aufgabe anlegen (Ausnahme)

April 2001 245

Aufgabe anlegen (Ausnahme)In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred.Außerdem aktivieren Sie die Typkopplung [Extern].

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

VorgehensweiseAufgabe anlegen durch Kopieren8. Wählen Sie aus dem R/3-Einstiegsbild Werkzeuge � Business Workflow � Entwicklung,

Definitionswerkzeuge � Aufgaben � Kopieren. Geben Wählen Sie als AufgabentypStandardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung vonORDERS01) ein.

9. Wählen Sie und geben Sie ein Aufgabenkürzel ein. Beim Kopieren wählen Sie dieEntwicklungsklasse, die Sie für sich in der IDoc-Administration eingestellt haben, oder die füralle anderen Objekte Ihrer Basistypdefinition gilt.

Neu angelegte Aufgabe ändern10. Gehen Sie ins Workflow-Entwicklungsmenü zurück und wählen Sie Definitionswerkzeuge �

Aufgabe � ändern. Das System übernimmt Ihre neue Aufgabe ins Eingabefeld.

11. Wählen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fürfolgende Registerkarten:

� Grunddaten

� Auslösende Ereignisse (neue Zeile einfügen, alte löschen)

� Beendende Ereignisse (neue Zeile einfügen, alte löschen)

Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom ObjekttypIDOCORDERS übernommen (Registerkarte Grunddaten).

12. Schalten Sie per Knopfdruck die Typkopplung beim auslösenden Ereignis ein (grünes Licht).Sichern Sie Ihre Angaben.

13. Wählen Sie Zusatzdaten � Bearbeiterzuordnung � pflegen, um Ihrer Aufgabe möglicheBearbeiter zuzuordnen. Über Eigenschaften können Sie die Aufgabe als generelle Aufgabeklassifizieren, d.h. jeder ist möglicher Bearbeiter.

14. Sichern Sie ihre Angaben.

Sie können testen, ob Sie als möglicher Bearbeiter der Aufgabe in Frage kommen.Wählen Sie dazu aus dem Workflow-Entwicklungsmenü Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .Wenn eine Fehlermeldung Sie als nicht möglichen Bearbeiter ausweist, kann das

Page 246: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Aufgabe anlegen (Ausnahme)

246 April 2001

auch an internen Puffertabellen der Organisationsmodellierung liegen. Wählen Siedann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.

Im Fallbeispiel machen Sie folgende Angaben:

Aufgabenkürzel TEST_ERROR

Objekttyp IDOCTEST

Objektmethode errorProcess

Bearbeiterzuordnung generelle Aufgabe

Page 247: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Partner vereinbaren (Eingang über Workflow)

April 2001 247

Partner vereinbaren (Eingang über Workflow)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]

VorgehensweiseDer neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fürEingangsverarbeitung und Ausnahmebehandlung.

Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen:

Feld Wert

Partnernummer TESTKUND

Partnerrolle AG

Partnerart KU

Nachrichtentyp TESTER

IDoc-Typ TESTER01

Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE

Vorgangscode TESTWFEIN

Verarbeitung sofortige Verarbeitung

Page 248: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Eingang testen

248 April 2001

Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus

� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder

� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)

Vorgehensweise7. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs

Ihres Typs editieren können. Als Testvorlage wählen Sie

� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.

� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.

Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.

8. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.

9. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.

Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:

Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen

Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG

Page 249: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Eingang testen

April 2001 249

Wenn Sie den Basistyp ORDERS01 erweitert haben:

IDoc-Typ ORDERS01

Erweiterung Z1ORDERS

Nachrichtentyp ORDERS

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

IDoc-Typ TESTER01

Nachrichtentyp TESTER

Page 250: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Ausnahmebehandlung testen

250 April 2001

Ausnahmebehandlung testenTesten Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehlerprovozieren, z.B. ein IDoc mit leerem Mußfeld übergeben.

VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps [Seite 194]. Insbesondere muß Ihr Coding die Ausnahmebehandlung rufen (bzw.beim ALE-Eingang über die Workflow-Rückgabeparameter veranlassen) und Status 51 setzen!

Vorgehensweise6. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test �

Testwerkzeug. Wählen Sie als Vorlage für den Test existierendes IDoc und geben Siedie Nummer eines Eingangs-IDocs an, das Status 53 hat.

7. Wählen Sie .

8. Editieren Sie durch Anklicken ein Mußfeld eines Segments und entfernen Sie seinenInhalt.

9. Wählen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Siez.B. über die IDoc-Anzeige [Seite 120] verifizieren können).

10. Wenn Sie als möglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter inden Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem inIhren integrierten Eingangskorb, das Sie dort ausführen können. Zum Eingangskorbkommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle über IDoc �Eingangskorb.

Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG.Dadurch stößt Ihre Eingangsverarbeitung in der FormroutineCALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisationangegeben). Sie erhalten als möglicher und ausgewählter Bearbeiter ein Workitem inIhren integrierten Eingangskorb.

Page 251: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Neu definierte Objekte freigeben

April 2001 251

Neu definierte Objekte freigebenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus

� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder

� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)

VorgehensweiseSie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung.

Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oderSegmenteditor) über Bearbeiten � Freigabe setzen. Die Freigabe können Sie auch wieder überBearbeiten � Freigabe aufheben zurücknehmen.

Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjektein der angegebenen Reihenfolge frei:

Wenn Sie den Basistyp ORDERS01 erweitert haben:

Segment Z1TEST1

Erweiterung Z1ORDERS

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

Segmente E1HEAD, E1ITEM

IDoc-Typ TESTER01

ErgebnisIhre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionennoch übersetzen wollen, können Sie dies gezielt mit der allgemeinen Übersetzungstransaktionbewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafürinnerhalb der Übersetzungstransaktion anfassen müssen:

Dokumentation übersetzen [Seite 155]

Page 252: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Suche nach Fehlern in der Workflow-Verarbeitung

252 April 2001

Suche nach Fehlern in der Workflow-VerarbeitungBei ereignisgesteuerten Workflows prüfen Sie bei Fehlern folgendes:

Wird ein Ereignis erzeugt, daß die Aufgabe startet?

1. Schalten Sie den Ereignismonitor ein: Werkzeuge � Business Workflow � Entwicklung,Hilfsmittel � Ereignisse � Ereignis-Trace � Ein/Ausschalten.

2. Testen Sie Eingang bzw. Ausnahmebehandlung wie in der Checkliste beschrieben.

3. Wählen Sie Werkzeuge � Business Workflow � Entwicklung � Hilfsmittel � Ereignisse �Ereignis-Trace � Anzeigen. Geben Sie Ihren erzeugenden Objekttyp und das Ereignis einund grenzen Sie die Erzeugungszeit entsprechend ein.

4. Wenn kein Ereignis gefunden wurde, dann prüfen Sie bitte:

Beim direkten Eingang über ALE (Ausnahmebehandlung):

� Gibt Ihr Funktionsbaustein den richtigen Workflow-Parameter zurück?

� Ist in der entsprechenden ALE-Tabelle (erreichbar über den Eingangs-Vorgangscode)das Ereignis beim entsprechenden Objekttyp gepflegt?

Sie können die Konsistenzprüfung von ALE benutzen: Wählen Sie dazu Werkzeuge� Business Framework � ALE � Entwicklung, IDoc-Schnittstelle �Eingangsverarbeitung � Konsistenz prüfen und beachten Sie die Meldungen fürIhren Vorgangscode.

Beim Eingang über Workflow:

� Ruft Ihr ABAP-Coding zur verarbeitenden Methode den FunktionsbausteinSWE_EVENT_CREATE mit dem richtigen Ereignis auf?

5. Schalten Sie nach diesem Test den Ereignismonitor wieder ein.

Hat das Ereignis eine Aufgabe als Verbraucher?1. Verwenden Sie wie oben den Ereignismonitor. Wenn in der Ereignisliste die Meldung kein

Verbraucher eingetragen erscheint, dann überprüfen Sie, ob Ihre Aufgabe in der Karteikarteauslösendes Ereignis das richtige Ereignis besitzt.

Page 253: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Administration: Anwenderparameter

April 2001 253

IDoc-Administration: AnwenderparameterVerwendungIn der IDoc-Administration stellen Sie globale und benutzerspezifische Parameter ein. Hierwerden die benutzerspezifischen oder Anwenderparameter betrachtet. Für die globalenParameter beachten Sie den Abschnitt IDoc-Administration im Customizing [Seite 255].

FunktionsumfangAnwenderparameter sind z.B.:

� der Testport bei der Dateischnittstelle. Aus dessen Beschreibung werden z.B. die Pfade beimTest Eingang modifizierte Ausgangsdatei [Seite 104] gezogen

� das Ausgabeformat bei der IDoc-Dokumentation, sowie Verzeichnisse und Namen für dieausgegebenen Dateien (bei HTML/XML/C-Header).

� Ob Sie bei HTML-Ausgabe der IDoc-Dokumentation einen Browser automatisch startenwollen

� ob Sie Nullwerte bei IDoc-Listen anzeigen lassen wollen, d.h. ob Sie bei der zeitlichenDarstellung etwa von IDoc-Eingängen jeden Zeitschritt aufgelistet haben wollen, auch wenngar keine IDocs eingegangen sind

Die IDoc-Administration bietet außerdem Absprünge

� zum Workflow-Customizing: Hier werden die Einstellungen des Customizings überprüft(existiert eine Planvariante, existiert ein Workflow-Administrator etc.)

� Zum IDoc-CATT-Testlauf [Seite 106]: Hier können Sie die Funktionen der Schnittstelleautomatisch testen lassen.

AktivitätenZur Administration gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern] überSteuerung � Administration. Wählen Sie die entsprechende Registerkarte, um Voreinstellungenoder Vorschlagswerte zu erfassen.

Page 254: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Zusätzliche Einstellungen

254 April 2001

Zusätzliche EinstellungenVerwendungDie folgenden Funktionen bieten Voreinstellungen, die normalerweise nur selten getätigt werden.

FunktionsumfangIDoc-Administration im Customizing [Seite 255].

Weiterleitung Eingang [Seite 256]

Dateinamen erzeugen [Seite 257]

Partnerarten bearbeiten [Seite 258]

Page 255: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Administration im Customizing

April 2001 255

IDoc-Administration im CustomizingVerwendungWichtige Voreinstellungen der IDoc-Administration sind die globalen Parameter. Sie werden imCustomizing gesetzt.

FunktionsumfangSystemparameter sind z.B.

� der IDoc-Administrator, der in der Ausnahmebehandlung benachrichtigt wird. Gegebenenfallswird er durch speziellere Einträge in den Partnervereinbarungen überschrieben (sieheRollenauflösung in der Ausnahmebehandlung [Seite 31]).

� die Systemumgebung: Sie beschreibt, mit welchen Funktionen die IDoc-Schnittstellezusammenarbeiten kann: Den Anwendungen oder der Nachrichtensteuerung.

� die maximale Anzahl protokollierter Fehler, bevor eine Ausnahmebehandlung nach derSyntaxprüfung gestartet wird. Die Syntaxprüfung selbst können Sie in denPartnervereinbarungen Ausgang [Seite 78] bzw. Eingang [Seite 84] abstellen.

� die SAPoffice Eingangsmappe für IDocs aus dem Internet (MIME-attachment). Aus dieserEingangsmappe werden IDocs beim Porttyp Internet weiterverarbeitet. Zu den noch zutätigenden Einstellungen für diesen Porttyp lesen Sie Porttyp Internet [Seite 62].

� Ob Fehler beim Einlesen von Statusdateien zu Workitems („Warnungen“) führen sollen.

AktivitätenDie globalen Parameter werden im Customizing oder aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über Steuerung � IDoc-Administration ( ) angezeigt oder gepflegt.Wählen Sie die Registerkarte globale Parameter und gegebenenfalls .

Page 256: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Weiterleitung Eingang

256 April 2001

Weiterleitung EingangVerwendungHier geben Sie die Stelle als logische Adresse an, an die Daten aus einem Eingangs-IDoc oderaus einer Statusrückmeldung weitergeleitet werden sollen.

IntegrationDie Weiterleitung findet zur Zeit nur bei internen Rechnungen (Anwendung V3 = Fakturierung,Komponente SD - Vertrieb) Verwendung.

AktivitätenSie pflegen die Adressen vom Eingangsbild der IDoc-Schnittstelle über Steuerung �Weiterleiten Eingang.

Die logische Adresse muß mit der entsprechenden im IDoc-Kontrollsatz (Feld SNDLAD =logische Adresse des Absenders bzw. Feld RCVLAD = logische Adresse des Empfängers)übereinstimmen.

Die Verarbeitung bei der internen Verrechnung wird über den Ausgangs-Vorgangscode [Seite72] SD08 identifiziert. In der Verarbeitung entsteht aus dem Ausgangs-IDoc ein Eingangs-IDoc,das an die logische Adresse weitergereicht wird.

Page 257: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

Dateinamen erzeugen

April 2001 257

Dateinamen erzeugenVerwendungHier werden die Funktionsbausteine hinterlegt, die beim IDoc-Austausch über einen Port vomTyp “Datei” einen Dateinamen erzeugen. Diese Funktionsbausteine erscheinen als Wertehilfe(F4) beim Anlegen eines Ports vom Typ “Datei”. Im Standard werden bereits solcheFunktionsbausteine ausgeliefert. Hier können Sie eigene Funktionsbausteine hinterlegen.

AktivitätenSie pflegen die Funktionsbausteine vom Eingangsbild der IDoc-Schnittstelle über Steuerung��Dateinamen erzeugen.

Der Funktionsbaustein muß Verzeichnis und Datei als eine Zeichenkettezurückliefern. Er kann (wie das die Standardbausteine tun) das Verzeichnis aus derPortbeschreibung übernehmen, muß es aber nicht.

Page 258: IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG

Prüfen von Partnern nach Partnerart

258 April 2001

Prüfen von Partnern nach PartnerartVerwendungWährend Sie die Partnervereinbarungen bearbeiten, wird geprüft, ob für den angegebenenPartner Stammdaten existieren oder ob der angegebene Partner zu den folgenden Arten gehört

� R/3-Benutzer (Partnerart US)

� Bank

� logisches System

In dieser Tabelle sind die Prüf- und Zugriffsprogramme für die einzelnen Partnerarten hinterlegt.Im Standard werden für alle Partnerarten Prüfroutinen ausgeliefert.

AktivitätenSie pflegen die Programme vom Eingangsbild der IDoc-Schnittstelle [Extern] über Steuerung��Partnerarten.

Wenn Sie die vorgegebenen Prüfroutinen ändern oder neue Partnerarten aufnehmen wollen,geben Sie folgende Parameter an:

� Partnerart (z.B. KU für Kunde, LI für Lieferant, US für R/3-Benutzer)

� Report (z.B. RSETESTP)

� Formroutine (z.B. READ_KNA1 (Der Kundenstammsatz wird gelesen)