You are on page 1of 258

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

Release 4.6C

HELP.BCSRVEDI

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

SAP AG

Copyright
Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden. Die von SAP AG oder deren Vertriebsfirmen angebotenen Software-Produkte knnen SoftwareKomponenten auch anderer Software-Hersteller enthalten. Microsoft , WINDOWS , NT , EXCEL , Word , PowerPoint und SQL Server sind eingetragene Marken der Microsoft 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 Server Informix Software Incorporated.
TM

sind eingetragene Marken der

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 Wide Web 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 der Lizenz 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.com sind Marken oder eingetragene Marken der SAP AG in Deutschland und vielen anderen Lndern weltweit. Alle anderen Produkte sind Marken oder eingetragene Marken der jeweiligen Firmen.

April 2001

SAP AG

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

Symbole
Symbol Bedeutung Achtung Beispiel Empfehlung Hinweis Syntax Tip

April 2001

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

SAP AG

Inhalt
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI) ................................ 8
Verarbeitung von IDocs .............................................................................................................................10 Ausgangsverarbeitung ..............................................................................................................................11 Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST) ...........................................................12 Ausgangsverarbeitung unter NAST: Vorgehen .................................................................................14 Ausgangsverarbeitung unter NAST: Technische Realisierung .........................................................15 Die direkte Ausgangsverarbeitung..........................................................................................................16 Direkte Ausgangsverarbeitung: Vorgehen.........................................................................................17 Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall .............................................18 Eingangsverarbeitung ...............................................................................................................................19 Eingangsverarbeitung: Vorgehen ...........................................................................................................21 Eingangsverarbeitung: Technische Realisierung....................................................................................22 Statusverarbeitung.....................................................................................................................................24 Eingangsverarbeitung von SYSTAT01 ...................................................................................................26 Ausnahmebehandlung...............................................................................................................................27 Ausnahmebehandlung: Vorgehen ..........................................................................................................29 Rollenauflsung in der Ausnahmebehandlung .......................................................................................31 Kommunikation mit lteren Releases/Systemen oder R/2-Systemen ..................................................34 Lange Namen..........................................................................................................................................36 Einsatz von Erweiterungen .....................................................................................................................37 Ports einrichten ..........................................................................................................................................40 Dateischnittstelle........................................................................................................................................42 Dateischnittstelle: Betriebssysteme vorbereiten .....................................................................................43 Ausgang: Folgesystem triggern ..............................................................................................................44 Eingang: SAP System triggern................................................................................................................46 Statusrckmeldung: SAP System triggern..............................................................................................49 Porttyp Datei: Portbeschreibung pflegen ................................................................................................52 CPI-C Verbindung zum R/2-System..........................................................................................................54 Porttyp CPI-C: R/2- und R/3-System koppeln.........................................................................................56 Porttyp CPI-C: Portbeschreibung pflegen...............................................................................................58 Porttyp CPI-C (Eingang): Reports einplanen ..........................................................................................60 Porttyp Internet...........................................................................................................................................62 Porttyp Internet: SAPconnect einrichten .................................................................................................64 Porttyp Internet: Adresse fr Internet einrichten .....................................................................................65 Porttyp Internet: Portbeschreibung pflegen ............................................................................................66 ABAP Programmierschnittstelle (PSS) ....................................................................................................67 Porttyp XML ................................................................................................................................................68 Porttyp XML: Portbeschreibung pflegen .................................................................................................69 Partner vereinbaren ...................................................................................................................................70 Sinn und Zweck der Vorgangscodes .......................................................................................................71 Vorgangscode Ausgang..........................................................................................................................72 Vorgangscode Eingang...........................................................................................................................73 Vorgangscode System ............................................................................................................................74 Vorgangscode Status..............................................................................................................................75 Partnervereinbarungen im Standarddialog .............................................................................................76

April 2001

SAP AG

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

Allgemeine Partnervereinbarung anlegen...............................................................................................77 Ausgangspartnervereinbarung anlegen..................................................................................................78 Zustzliche Parameter beim Ausgang unter NAST ...........................................................................81 Partnervereinbarung Eingang .................................................................................................................84 Partnervereinbarung prfen......................................................................................................................86 Schnellerfassung in den Partnervereinbarungen ...................................................................................87 Die Programmierschnittstelle (API) der Partnervereinbarung...............................................................88 Partnervereinbarungen verschicken........................................................................................................92 Partnervereinbarungen drucken..............................................................................................................93 Test der Verarbeitung ................................................................................................................................94 Testwerkzeug..............................................................................................................................................96 Testwerkzeug Ausgang: Vorgehen.........................................................................................................98 Testwerkzeug Eingang: Vorgehen..........................................................................................................99 Test: Ausgang ab NAST ..........................................................................................................................100 Test: Ausgang ab IDoc ............................................................................................................................101 Test: Eingang Statusdatei .......................................................................................................................102 Statusdatei erzeugen ............................................................................................................................103 Test: Eingang modifizierte Ausgangsdatei ...........................................................................................104 Test: Eingang Original-Eingangsdatei ...................................................................................................105 Test: Verarbeitungszyklus mit dem CATT .............................................................................................106 berwachung/Monitoring ........................................................................................................................108 IDoc-Statistik.............................................................................................................................................109 Statistik erstellen: Standardauswertung................................................................................................111 Statusgruppen ndern...........................................................................................................................112 Statistik: Technische Realisierung ........................................................................................................113 IDoc-Listen ................................................................................................................................................114 IDoc-Listen: Fehler lokalisieren.............................................................................................................115 IDoc-Listen: Zeitliche Verteilung anzeigen............................................................................................116 IDoc-Listen: Verteilung der Warnfarben anzeigen................................................................................117 IDoc-Listen: Verteilung der Nachrichten anzeigen................................................................................118 Warnfarben Statusgruppen zuordnen...................................................................................................119 IDoc-Anzeige.............................................................................................................................................120 IDoc-Suche................................................................................................................................................122 Aktives Monitoring ...................................................................................................................................124 Aktives Monitoring konfigurieren...........................................................................................................125 Monitoring-Job einplanen (Beispiel)......................................................................................................126 Archivierung von IDocs ...........................................................................................................................127 Archivierbare Status anzeigen oder ndern..........................................................................................128 Archivierungsfunktionen fr IDocs ........................................................................................................129 IDocs archivieren und lschen ..............................................................................................................131 Archiv zurckladen................................................................................................................................133 Details einer Archivdatei anzeigen........................................................................................................134 IDoc-Nummern im Archiv auflisten........................................................................................................135 Einzelanzeige ber SAP AS (BC-SRV-EDI) .........................................................................................136 IDoc-Suche............................................................................................................................................137 Archivierung: Technische Realisierung ................................................................................................139 Archivierung: Beschreibung der Standardreports .................................................................................141 Verknpfungen mit IDocs lschen .........................................................................................................143

April 2001

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

SAP AG

Aufbau, Dokumentation und Definition von IDoc-Typen .....................................................................145 Aufbau eines IDocs ..................................................................................................................................146 Aufbau eines IDocs: Technische Realisierung .....................................................................................148 Dokumentationswerkzeuge.....................................................................................................................150 Allgemeinen Aufbau (IDoc-Satzarten) anzeigen...................................................................................151 IDoc-Typ- oder Segmentdokumentation anzeigen ...............................................................................152 Ein IDoc mittels XSL-Stylesheet anzeigen............................................................................................154 Dokumentation bersetzen ...................................................................................................................155 Neue IDoc-Typen definieren....................................................................................................................157 Wichtige Begriffe ...................................................................................................................................158 Basistyp, Erweiterung, IDoc-Typ......................................................................................................159 Segmenttyp und Segmentdefinition.................................................................................................160 Kundenerweiterung, SAP- und Kundenentwicklung........................................................................161 Versionierung und Freigabeverfahren .............................................................................................162 Namensrume .................................................................................................................................163 Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente.......................................164 Designrichtlinien beim Erstellen neuer IDoc-Typen..............................................................................166 Segmenteditor .......................................................................................................................................167 Segmente ndern ............................................................................................................................168 Segment definieren..........................................................................................................................169 IDoc-Typ-Editor .....................................................................................................................................171 IDoc-Sichten..........................................................................................................................................172 Das API zur IDoc-Typ- und Segmentdefinition .....................................................................................173 Erweiterung eines IDoc-Typs ................................................................................................................176 Segmente zusammenstellen............................................................................................................178 Basistyp erweitern............................................................................................................................179 Nachrichtentyp Basistyp und Erweiterung zuordnen.......................................................................181 Ausgangsfunktionsbaustein erweitern .............................................................................................182 Partnervereinbarungen ndern (Ausgang) ......................................................................................185 Ausgang testen ................................................................................................................................186 Eingangsfunktionsbaustein erweitern ..............................................................................................187 Zuordnung des Funktionsbausteins erweitern (direkter Eingang) ...................................................189 Partnervereinbarungen prfen (Eingang) ........................................................................................190 Eingang testen .................................................................................................................................191 Neu definierte Objekte freigeben .....................................................................................................193 Definition und Verwendung eines Basistyps.........................................................................................194 Allgemeine Definitionen ...................................................................................................................197 Segment definieren.....................................................................................................................198 Basistyp definieren .....................................................................................................................200 Nachrichtentyp Basistyp zuordnen .............................................................................................202 Objekttyp definieren....................................................................................................................203 Ausgang einrichten (mit Nachrichtensteuerung)..............................................................................204 Funktionsbaustein anlegen (Ausgang unter NAST) ...................................................................205 Vorgangscode zuordnen (Ausgang)...........................................................................................211 Partner vereinbaren (Ausgang) ..................................................................................................212 Ausgang testen...........................................................................................................................213 Direkten Eingang einrichten (mit ALE).............................................................................................214

April 2001

SAP AG

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

Funktionsbaustein anlegen (direkter Eingang) ...........................................................................215 Eigenschaften des Funktionsbausteins pflegen .........................................................................226 Funktionsbaustein zuordnen (direkter Eingang).........................................................................227 Vorgangscode zuordnen (direkter Eingang)...............................................................................228 Partner vereinbaren (direkter Eingang) ......................................................................................230 Aufgabe anlegen (Ausnahme)....................................................................................................232 Eingang testen............................................................................................................................234 Ausnahmebehandlung testen.....................................................................................................236 Eingang ber Workflow einrichten ...................................................................................................237 Eingangsverarbeitung als Objektmethode definieren.................................................................238 Aufgabe anlegen (Eingang ber Workflow)................................................................................243 Vorgangscode anlegen (Eingang ber Workflow)......................................................................244 Aufgabe anlegen (Ausnahme)....................................................................................................245 Partner vereinbaren (Eingang ber Workflow) ...........................................................................247 Eingang testen............................................................................................................................248 Ausnahmebehandlung testen.....................................................................................................250 Neu definierte Objekte freigeben .....................................................................................................251 Suche nach Fehlern in der Workflow-Verarbeitung.........................................................................252 IDoc-Administration: Anwenderparameter............................................................................................253 Zustzliche Einstellungen .......................................................................................................................254 IDoc-Administration im Customizing .....................................................................................................255 Weiterleitung Eingang .............................................................................................................................256 Dateinamen erzeugen ..............................................................................................................................257 Prfen von Partnern nach Partnerart .....................................................................................................258

April 2001

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

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BCSRV-EDI)


Einsatzmglichkeiten
ber die IDoc-Schnittstelle werden betriebswirtschaftliche Daten mit einem Fremdsystem ausgetauscht. Die IDoc-Schnittstelle besteht aus der Definition einer Datenstruktur und einer Verarbeitungslogik fr diese Datenstruktur. Die Datenstruktur ist das IDoc. Es ist das Austauschformat, auf den sich die kommunizierenden Systeme einigen. Mit IDocs knnen Sie eine Ausnahmebehandlung innerhalb des R/3 Systems ber SAP Business Workflow definieren, ohne da die Daten bereits als SAP Anwendungsbeleg vorliegen mssen. Sie bentigen die IDoc-Schnittstelle in folgenden Szenarien: Elektronischer Datenaustausch (EDI) Application Link Enabling (ALE) Kopplung beliebiger anderer betriebswirtschaftlicher Anwendungssysteme (z.B. PCAnwendungen, externe Workflow-Tools) ber IDoc.

Funktionsumfang
Unten aufgefhrte Funktionen erreichen Sie alle aus dem Einstiegsknoten der IDocSchnittstelle: Vom R/3-Einstiegsbild whlen Sie Werkzeuge Business Communication IDoc IDoc Basis ( ). Verarbeitung von IDocs [Seite 10] Der Abschnitt beschreibt die mglichen Wege in Eingangs- wie Ausgangsverarbeitung und die Statusverarbeitung. 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 Betriebssystemebene beschrieben. Das Einrichten von Ports ist Grundvoraussetzung fr den Datenaustausch mit dem externen System. Der Abschnitt wendet sich an Administratoren. Partner vereinbaren [Seite 70] Eine weitere Voraussetzung fr den Datenaustausch sind die Partnervereinbarungen: Hier wird festgelegt, 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 beim Einsatz neuer Nachrichten wie auch bei Neudefinitionen von IDoc-Typen sollte getestet werden. Der Abschnitt wendet sich an Administratoren. berwachung/Monitoring [Seite 108]

April 2001

SAP AG

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

Es werden sowohl die passive (Verarbeitungsanzeige) als auch die aktive (Versand von Warnungen und Hinweisen) berwachung dokumentiert. Der Abschnitt wendet sich an Administratoren wie auch an die Endanwender der Anwendung. IDocs archivieren [Seite 127] Hier werden die Mglichkeiten zur Archivierung von IDocs beschrieben. Der Abschnitt wendet sich an Administratoren. Aufbau, Dokumentation und Definition von IDoc-Typen [Seite 145] Hier werden die Mglichkeiten zur Kundenerweiterung von IDoc-Typen beschrieben. Der Abschnitt wendet sich an R/3 Entwickler und Administratoren.

Allgemeine Konfiguration
IDoc-Administration: Anwenderparameter [Seite 253] Dieser Abschnitt beschreibt diejenigen Parameter aus der IDoc-Administration, die hufiger zur Konfiguration im laufenden Betrieb gendert werden. Er wendet sich naturgem an Administratoren. Zustzliche Einstellungen [Seite 254] Sie haben noch zustzliche Mglichkeiten, die Arbeitsumgebung Ihrer IDoc-Schnittstelle zu konfigurieren, obwohl dies im allgemeinen nicht ntig sein wird. Diese Mglichkeiten werden hier aufgelistet. Der Abschnitt wendet sich an Administratoren.

April 2001

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Verarbeitung von IDocs

SAP AG

Verarbeitung von IDocs


Verwendung
Die Geschftsdaten werden in der IDoc-Schnittstelle im IDoc-Format gespeichert und als IDocs weitergereicht. Falls Fehler auftreten, wird die Ausnahmebehandlung ber Workflow-Aufgaben angestoen. Die zustndigen, erlaubten Bearbeiter dieser Aufgaben werden in der IDocSchnittstelle definiert.

Funktionsumfang
Die IDoc-Schnittstelle untersttzt drei Datenflsse 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 Ihr SAP System zurckgemeldet. Bei den Datenflssen IDoc-Ausgang und IDoc-Eingang werden Kontroll- und Datenstze ausgetauscht. Bei dem Datenflu Statusrckmeldung werden Statusstze ausgetauscht (Ausnahme: Statusrckmeldung ber den speziellen IDoc-Typ SYSTAT01). Siehe auch: Ausnahmebehandlung [Seite 27] Im Fehlerfall sind Ausnahmebehandlungen vorgesehen. Rollenauflsung in der Ausnahmebehandlung [Seite 31] Hier wird beschrieben, wie die zustndigen Bearbeiter eines Workitems in der IDoc-Schnittstelle ermittelt werden. Kommunikation mit lteren Releases [Seite 34] Eventuell mssen hier zustzliche Einstellungen im Customizing gettigt werden.

10

April 2001

SAP AG

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

Ausgangsverarbeitung
Verwendung
Im Ausgang werden Belegdaten in IDocs geschrieben und an das Folgesystem versandt.

Funktionsumfang
Anwendung

Beleg

NAST

IDoc

NAST-Satz

IDoc-Schnittstelle/ALE-Dienste

IDoc

Folgesystem

Die Nachricht kann zwei verschiedene Wege von der Anwendung zur IDoc-Schnittstelle gehen: den indirekten Weg ber die Nachrichtensteuerung [Seite 12] (NAST): Dabei werden eine Reihe von Bedingungen (sogenannte Konditionen) geprft, um die Nachricht zu finden. Ist eine dieser Bedingungen erfllt, so wird die gefundene Nachricht ber den entsprechenden NAST-Satz an die IDoc-Schnittstelle weitergeleitet. ber die Konditionstechnik kann die NAST auch mehrere Nachrichten finden und versenden. Weitere Informationen zur NAST finden Sie unter R/3-Bibliothek Anwendungsbergreifende Funktionen Nachrichtensteuerung [Extern]. den direkten Weg von der Anwendung zur Schnittstelle [Seite 16]. Dabei erzeugt die Anwendung selbst ein IDoc, das ber den Funktionsbaustein MASTER_IDOC_DISTRIBUTE an die IDoc-Schnittstelle bergeben wird.

Die IDoc-Schnittstelle kann die IDocs auf unterschiedlichen Wegen, den Empfngerports, an das Folgesystem verschicken. Die Wahl des Ports hngt auch vom Folgesystem und der Hardware ab, auf dem es installiert ist. Beachten Sie hierzu auch den Abschnitt Kommunikation mit lteren Releases [Seite 34]

April 2001

11

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)

SAP AG

Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)


Verwendung
Im Vertrieb (SD) und in der Materialwirtschaft (MM) werden Nachrichten (beispielsweise eine Bestellung beim Lieferanten) blicherweise ber das Modul der Nachrichtensteuerung (NAST) gefunden und verarbeitet. Im Fall der IDoc-Verarbeitung heit das, da die Anwendungsdaten in IDocs geschrieben werden.

Voraussetzungen
Wie bei jeder IDoc-Verarbeitung mssen Sie Ihre Partner vereinbaren [Seite 70]. Speziell mssen Sie in den Partnervereinbarungen die Anwendung und die NAST-Nachrichtenart eindeutig einem IDoc-Typ zuordnen. Dies tun Sie mit den zustzlichen Parametern beim Ausgang unter NAST [Seite 81].

Aktivitten
Die NAST findet eine oder mehrere Nachrichten, indem sie aus einer Menge an vordefinierten Nachrichten die zum jeweiligen Geschftsproze passende(n) heraussucht. Die Nachrichten sind in der Anwendung in sogenannten Konditionstabellen definiert. Die gefundenen Nachrichten werden von der NAST vorgeschlagen: Das knnen durchaus mehrere pro Beleg sein. In vielen Anwendungen knnen Sie die Nachrichten einsehen und verndern (bearbeiten), bevor Sie die Daten freigeben, den Beleg buchen und die Nachrichten als IDocs versenden. Im vorliegenden Fall (Nachrichtenverarbeitung durch IDoc-Versand) wird bei gefundenen Nachrichten zustzlich geprft, ob der Nachrichtenpartner als Partner in der IDocSchnittstelle verarbeitet wurde. Nur wenn das der Fall ist, wird die Nachricht vorgeschlagen und kann weiterverarbeitet werden. Viele Anwendungen stellen die Findungsanalyse bereit, anhand derer man die Nachrichtenfindung zurckverfolgen und eventuelle Fehler aufspren kann. Die NAST kann die Nachrichten sofort (nach Verbuchung des Anwendungsbeleges) verarbeiten. Sie knnen die gefundenen Nachrichten aber auch von Hand oder zu einem selbst gewhlten Zeitpunkt im Hintergrund verarbeiten lassen. Da auch die IDocSchnittstelle die Wahl eines Zeitpunktes zur IDoc-Erzeugung ermglicht, sollten diese beiden Zeitpunkte sinnvoll kombiniert werden. Im Unterabschnitt Vorgehen [Seite 14] werden solche Kombinationen vorgestellt.

Im Einkauf soll eine Bestellung an den Lieferanten LIEF angelegt werden. Die Bestellung soll sofort nach Verbuchung als IDoc vom Typ ORDERS01 ber ein EDISubsystem versandt werden. Dazu wird in den Einkaufsstammdaten die Nachrichtenart NEU fr LIEF vereinbart und der NAST-Versandzeitpunkt 4 (Ausgabe sofort mit Verbuchung) und das Sendemedium EDI festgelegt. In den Partnervereinbarungen der IDoc-Schnittstelle wird fr LIEF der Ausgabemodus IDoc sofort bergeben und Subsystem sofort starten eingetragen und der Kombination

12

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)

Anwendung: Einkauf Bestellung, Nachrichtenart: NEU die logische Nachricht ORDERS zugeordnet. Dieser logischen Nachricht ist wiederum der IDoc-Typ ORDERS01 zugeordnet. Siehe auch: Technische Realisierung [Seite 15]

April 2001

13

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausgangsverarbeitung unter NAST: Vorgehen

SAP AG

Ausgangsverarbeitung unter NAST: Vorgehen


1. Nachrichtenfindung: Gehen Sie aus der Anwendung in die Stammdaten und legen die betreffende Nachricht als Nachrichten- oder Konditionssatz an, d.h. Sie legen die Bedingungen fest, unter denen die Nachricht gefunden und vorgeschlagen werden soll, sowie deren Ausgabeeigenschaften. Als Bedingung knnen Sie etwa die Einkaufsorganisation und den Handelspartner eingeben, als Ausgabeeigenschaften das Ausgabemedium (hier 6 fr EDI), den Ausgabezeitpunkt und die Sprache, in der die Nachricht ausgegeben werden soll. 2. Nachrichtenverarbeitung durch IDoc-Versand: Die Nachrichten werden von der NAST so ausgegeben, wie man es im Konditionssatz definiert hat, insbesondere auch zu dem festgelegten Versandzeitpunkt. Sie mssen in den Partnervereinbarungen der IDocSchnittstelle ebenfalls einen Versandzeitpunkt (den Ausgabemodus) definieren: Sinnvolle Kombinationen der beiden Zeitpunkte sind in untenstehender Tabelle zusammengefat. Des weiteren mssen die NAST-Parameter aus den Partnervereinbarungen 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 ihre EDI-Entsprechungen NAST: Versandzeitpunkt 4 (= sofort) 1 (= mit nchstem Selektionslauf versenden) 1 1 IDoc-Schnittstelle: Ausgabemodus IDoc sofort bergeben Subsystem ( = Folgesystem) starten IDoc sofort bergeben Subsystem starten IDocs sammeln Subsystem starten IDocs sammeln Subsystem nicht starten Batch Batch Fast Batch Realtime EDI-Entsprechung

Wenn Sie in den Partnervereinbarungen festlegen, da das Subsystem (d.h. das Folgesystem) nicht gestartet werden soll, entscheidet dieses nach einem dort eingestellten Zeitplan ber den Versandzeitpunkt, d.h. hier haben Sie keine Kontrolle, wann das IDoc im Zielsystem ankommt.

14

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausgangsverarbeitung unter NAST: Technische Realisierung

Ausgangsverarbeitung unter NAST: Technische Realisierung


Fr eine detaillierte Beschreibung der Nachrichtensteuerung sei auerdem auf die Dokumentation 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 Schlsselfelder der Anwendung, d.h. die Felder, mit denen die Anwendung auf die Konditionsstze zugreift (z.B. die Anwendungsfelder Einkaufsorganisation und Lieferant im Einkauf). Die Konditionstabellen werden einer Nachrichtenart zugeordnet (z.B. NEU fr eine Bestellung aus dem Einkauf). Die Nachrichtenarten wiederum sind in Schemata [Extern] zusammengefat, die schlielich der Anwendung (Schlssel z.B. EF fr Einkauf Bestellung) zugeordnet sind. Diese Organisationsstruktur ermglicht, da die Nachrichtenfindung strukturiert und unter komplexen Bedingungen verlaufen kann. Nachrichtenarten und -tabellen, Zugriffsfolgen und Schemata werden im Customizing der jeweiligen Anwendung vorab definiert.

Die Nachrichtenart wird manchmal auch als Konditionsart bezeichnet Nachrichtenverarbeitung durch IDoc-Versand: Das zentrale Selektionsprogramm der Nachrichtensteuerung, RSNAST00, findet in der Tabelle TNAPR fr die gewhlte Nachrichtenart die Formroutine EDI_PROCESSING im Programm RSNASTED und stt sie an. EDI_PROCESSING liest die Partnervereinbarungen und bestimmt ber den Vorgangscode den Funktionsbaustein, der das IDoc erzeugen soll. Der Vorgangscode entscheidet auerdem ber die Art der Weiterverarbeitung, beispielsweise ob die IDocs durch den ALE-Dienst bearbeitet werden sollen. Die Funktionsbausteine zur IDoc-Erzeugung heien typischerweise IDOC_OUTPUT_<NT>, wobei <NT> fr den zugehrigen Nachrichtentyp steht. Die erzeugten IDocs werden abhngig vom Ausgabemodus entweder gesammelt oder sofort zum Versand weitergeleitet. Wenn die IDocs gesammelt werden, mu der Report RSEOUT00 eingeplant werden, der dann die Weiterleitung zum Versand bernimmt.

April 2001

15

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die direkte Ausgangsverarbeitung

SAP AG

Die direkte Ausgangsverarbeitung


Verwendung
Fr R/3-Komponenten, die nicht an die Nachrichtensteuerung angeschlossen sind, mssen Sie diesen Weg der Ausgangsverarbeitung whlen. Ansonsten wird er hufig in ALE-Szenarien beschritten, wo z.B. Stammdaten auf verschiedene R/3-Systeme verteilt werden sollen.

Aktivitten
Die Anwendung bernimmt direkt die IDoc-Erzeugung, fllt also einen bestimmten IDoc-Typ mit ihren Daten. Dies kann z.B. ber einen eigenen Funktionsbaustein geschehen. Die Empfnger werden durch die Anwendung oder die ALE-Dienste ermittelt. Der Automatismus der Nachrichtensteuerung entfllt.

Im Controlling (CO) soll eine Erzeugniskalkulation (Anwendungskomponente COPC) in die Ergebniskalkulation (CO-PA) bertragen werden. Die beiden Komponenten sind in unterschiedlichen R/3-Systemen eingestellt, man hat also ein typisches ALE-Szenario. In der bertragungstransaktion whlen 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]

16

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Direkte Ausgangsverarbeitung: Vorgehen

Direkte Ausgangsverarbeitung: Vorgehen


In der Anwendung gehen Sie in die betreffende Sendetransaktion und fllen die Parameter entsprechend aus. Dabei achten Sie darauf, da dort angegebene Kommunikationsparameter (etwa das Zielsystem) auch als Port in den Partnervereinbarungen der IDoc-Schnittstelle gepflegt sind. Bei ALE-Szenarien sollte dort ein Port des Typs tRFC eingetragen sein, der Partner sollte von der Art LS (fr logisches System) sein.

April 2001

17

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall

SAP AG

Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall


Wie das IDoc erzeugt wird, hngt von der jeweiligen Anwendung ab. Im folgenden soll daher nur der Beispielfall eines ALE-Szenarios betrachtet werden, in dem ein Funktionsbaustein die IDocErzeugung bernimmt. Der Funktionsbaustein wird in der Anwendungstransaktion aufgerufen. Er erzeugt ein sogenanntes Master-IDoc und bergibt es an den Verwaltungsbaustein MASTER_IDOC_DISTRIBUTE, der den Kontrollsatz prft und dann den Funktionsbaustein COMMUNICATION_IDOC_CREATE aufruft. Dieser filtert das Master-IDoc (d.h. streift fr die Kommunikation unwichtige Daten ab). Das Filtrat heit Kommunikations-IDoc und wird von MASTER_IDOC_DISTRIBUTE an den Funktionsbaustein EDI_OUTPUT_NEW zur weiteren Verarbeitung bergeben.

18

April 2001

SAP AG

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

Eingangsverarbeitung
Verwendung
Im Eingang werden IDocs an die Schnittstelle bergeben und im R/3-System gespeichert. In einem zweiten Schritt werden die Belegdaten erzeugt, auch im Zuge eines Workflows.

Funktionsumfang
Das 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 mte; die IDoc-Schnittstelle mu lediglich das vorgelagerte System als Port kennen: Es mu also eine Portbeschreibung fr einen Port existieren, dessen Name das vorgelagerte System eindeutig identifiziert. Die technischen Parameter dieser Portbeschreibung knnen (und werden es auch in der Regel) durch das vorgelagerte System berschrieben werden.

vorgelagertes System
IDoc

IDoc-Schnittstelle/ALE-Dienste
IDoc

Workflow
Beleg

Beleg

Anwendung

Bei bekanntem vorgelagerten System wird das IDoc akzeptiert, d.h. es wird auf der Datenbank gespeichert. Wenn Ihr Partner mit der entsprechenden Nachricht in Ihren Partnervereinbarungen vorgesehen ist, wird es anschlieend weiterverarbeitet. Dies geschieht entkoppelt in einem zweiten Schritt. Damit ist sichergestellt, da das externe System die Daten schnell und sicher (dialogfrei) entgegennehmen kann. Zur Weiterverarbeitung sind folgende Wege mglich: Der direkte Weg ber einen Funktionsbaustein, der die IDoc-Daten in den entsprechenden Anwendungsbeleg berfhrt. Der indirekte Weg ber SAP Business Workflow (Einzel- oder Mehrschrittaufgabe). Dazu entsteht beim Eingang eines IDocs ein Workitem als Instanz der entsprechenden

April 2001

19

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

SAP AG

Aufgabe. Das Workitem erscheint im Eingangskorb der ausgewhlten Bearbeiter. Weitere Informationen zum SAP Business Workflow finden Sie unter Basis Business Management SAP Business Workflow [Extern].

Der IDoc-Typ TXTRAW02 wird durch die Einzelschrittaufgabe TS30000008 verarbeitet: Dabei wird eine Mail an den SAPoffice-Benutzer (oder die Organisationseinheit) verschickt, der als Empfnger im Segment E1TXTAD eingetragen ist. Fehlt dieses Segment, so wird werden die erlaubten Bearbeiter aus den Partnervereinbarungen als Empfnger ermittelt. Die Mail enthlt den Text aus den Datenstzen des IDocs. Sie knnen Mailattribute, wie Prioritt oder Ausfhrbarkeit, mitverschicken.

Zu Release 2.1/2.2 wurde der indirekte Weg ber einen Vorgang der Vorgangstechnik beschritten. Diese Technik wird nicht mehr untersttzt.

Aktivitten
Eingangsverarbeitung: Vorgehen [Seite 21] Eingangsverarbeitung: Technische Realisierung [Seite 22]

20

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung: Vorgehen

Eingangsverarbeitung: Vorgehen
Einsatzmglichkeiten
Die Eingangsverarbeitung richten Sie immer dann ein, wenn Sie einen neuen Geschftsproze realisieren wollen, bei dem Daten per IDoc empfangen werden. Ein Beispiel ist die EDIEingangsverarbeitung von Terminauftrgen.

Voraussetzungen
Einmalig mssen Sie fr die IDoc-Schnittstelle die Ereignis-Verbraucherkopplung aktivieren, da beim Eingang eines IDocs immer ein Ereignis oder Event ausgelst wird (Ausnahme: Porttyp tRFC). Dies geschieht im Customizing, Aktivitt Ereignis-Verbraucherkopplung fr IDocEingang aktivieren [Extern].

Ablauf
1. Die Ankopplung des Eingangs-IDocs an die gewnschte Verarbeitungsart geschieht in den Partnervereinbarungen [Seite 70] ber den Vorgangscode [Seite 73]. Dabei entscheiden Sie, ob Sie beim Eingang einen Workflow oder einen Funktionsbaustein anstoen wollen. Die im Standard ausgelieferten Vorgangscodes sind bereits Workflows oder Funktionsbausteinen zugeordnet. Diese Zuordnung knnen Sie anzeigen: Whlen Sie dazu aus dem Einstiegsbild der IDoc-Schnittstelle (Transaktion WEDI) Steuerung Vorgangscode Eingang. Dies ist auch der Einstieg, wenn Sie bei Neudefinitionen von IDoc-Typen oder Verarbeitungsprozessen neu zuordnen wollen. Weitere Informationen finden Sie unter Neue IDoc-Typen definieren [Seite 157].

Ein Lieferant erhlt eine Bestellung zu einem Material ber ein IDoc vom Typ ORDERS01. Der Lieferant hat der Nachricht ORDERS ber den Vorgangscode ORDE den Funktionsbaustein IDOC_INPUT_ORDERS zugeordnet, der die IDocDaten in die entsprechenden Anwendungsdaten berfhrt. Der Lieferant whlt hier also 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. Die entsprechenden Aufgaben sind in der Aufgabengruppe TG70000016 zusammengefat. Eingangsverarbeitungen per Workflow in der Logistik finden sich in der Aufgabengruppe TG20000011. Aufgabengruppen erleichtern die Suche nach Aufgaben im Business Workflow Explorer (Bereichsmen SWLD). 2. Zur Ausnahmebehandlung im Eingang mssen Sie den entsprechenden Aufgaben mgliche Bearbeiter zuordnen. Sie haben zwei Alternativen: Im IDoc-Customizing klassifizieren Sie alle Aufgaben als generelle Aufgaben

Sie pflegen die Zuordnung fr jede einzelne Aufgabe ber die Transaktion PFTC. Der Abschnitt Ausnahmebehandlung: Vorgehen [Seite 29] beschreibt, welche Aufgaben verwendet werden.

April 2001

21

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung: Technische Realisierung

SAP AG

Eingangsverarbeitung: Technische Realisierung


1. Die IDocs werden, abhngig vom Eingangsport, durch unterschiedliche Funktionsbausteine oder Reports bernommen. Untenstehende Tabelle gibt einen berblick und nennt die Schnittstelle (Bezugsfelder bzw. -Strukturen, Importparameter). Tabellenparameter (call by reference) sind gesondert gekennzeichnet. 2. Das Abspeichern auf der Datenbank besorgt der Funktionsbaustein IDOC_INBOUND_WRITE_TO_DB. Er entscheidet zustzlich ber den Vorgangscode, ob eine Bearbeitung durch ALE-Dienste stattfinden soll oder nicht. 3. Schlielich werden die IDocs durch IDOC_START_INBOUND an den Funktionsbaustein der Anwendung bergeben. Auer im Fall, da die IDocs ber den tRFC-Port bergeben wurden, wird dazu ein Ereignis (ein Event) im Workflow-Sinne ausgelst, das die Standardaufgabe TS30200090 auslst. 4. IDOC_START_INBOUND startet einen Workflow oder einen Funktionsbaustein. Auch diese Entscheidung wird ber den Eingangs-Vorgangscode gesteuert. Tabelle: Eingangsfunktionsbausteine in Abhngigkeit vom Porttyp Porttyp: Funktionsbauste in/Report Datei: EDI_DATA_INC OMING tRFC: INBOUND_IDO C_PROCESS tRFC: IDOC_INBOUN D_ASYNCHRO NOUS CPI-C (R/2System): RSEINB10 Formalparameter: Import, Export (e), int. Tabelle (iT) pathname port idoc_control (iT) idoc_data (iT) idoc_control_rec_40 idoc_data_rec_40 EDI_PATH-PTHNAM EDIPO-PORT EDI_DC EDI_DD EDI_DC40 EDI_DD40 F.Baustein fr kurze Namen (Releases vor 4.0) F.Baustein Release 4.0 (lange Namen) als Job einzuplanender Report Bezugsfeld/ Struktur Bemerkungen

p_myport (Port im R/3Syst.)

EDIIO-PORT

22

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung: Technische Realisierung

Internet: SX_OBJECT_R ECEIVE (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. ber Sender Dokumenteneigens ch. Empfnger Inform. . Datentabellen spezieller Kopf binrer Dokumentinhalt ASCIIDokum.inhalt (Set/GetParameter) (Felder, Werte fr Verarbeitung)

synchroner RFC: IDOC_INBOUN D_SYNCHRON OUS

int_edidc online docnum error_before_call_appli cation int_edidd (iT)

EDI_DC EDI_HELPONL_OPTION EDIDC-DOCNUM EDI_HELPERROR_FLAG EDI_DD EDI_DC40 EDI_HELPDO_COMMIT EDIDC-DOCNUM EDI_HELPERROR_FLAG EDI_DD40

F.Baustein fr kurze Namen (Releases vor 4.0)

IDOC_INBOUN D_SINGLE

pi_idoc_control_rec_40 pi_do_commit pe_idoc_number (e) pe_error_prior_to_appli cation pt_idoc_data_records_ 40 (iT)

F.Baustein fr Release 4.0 (lange Namen)

April 2001

23

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

SAP AG

Statusverarbeitung
Verwendung
Die Statusstze protokollieren Stationen, die das IDoc auf seinem Weg durchlaufen hat, z.B. erzeugt oder versandfertig. Sie sind daher wichtige Daten fr berwachung und Statistik der Kommunikation.

Funktionsumfang
Verarbeitung Das Folgesystem kann Sie ber die Verarbeitungsstationen eines bei ihm eingegangen IDocs informieren. Fr diese Statusrckmeldung (oder Statusbericht) gibt es folgende Methoden: Statusstze knnen 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 zurckgibt. Jeder Statussatz mu die Nummer des IDocs enthalten, auf das er sich bezieht. So kann die Verknpfung zum IDoc und zum Anwendungsbeleg in der IDoc-Schnittstelle hergestellt werden.

Es hngt von Konfiguration und technischen Fhigkeiten des verwendeten Folgeoder Subsystems ab, welche Statusstze die Rckmeldung enthalten kann. Statusstze knnen auch als IDoc selbst (IDoc-Typ SYSTAT01) zurckgegeben werden. Dann sind alle mglichen Kommunikationswege ( = Porttypen) erlaubt.

Verwechseln Sie nicht die Statusinformationen, die in den Datenstzen von SYSTAT01 stehen und die sich auf ein anderes, eben Ihr beim Partner eingegangenes IDoc beziehen, mit den Statusstzen von SYSTAT01 selbst! Diese werden hier nicht betrachtet. Ausnahmebehandlung Falls die Statusrckmeldung Kommunikationsfehler berichtet, beginnt die Ausnahmebehandlung (siehe auch Abschnitt Rollenauflsung in der Ausnahmebehandlung [Seite 31]). Dabei kann beispielsweise ein Workflow angestoen werden, in dessen Verlauf zustndige Sachbearbeiter auf den Kommunikationsfehler reagieren knnen. Im Standard wird die Ausnahmebehandlung durch den Vorgangscode EDIR realisiert, der auf die Standardaufgabe TS70008125 zeigt. Als zustndiger Sachbearbeiter zeigen Sie beim Ausfhren des Workitems den Statussatz des entsprechenden Ausgangs-IDocs an. Sie knnen von dort aus erneut das IDoc zu versenden versuchen. Dabei werden allerdings nicht nochmals die Partnervereinbarungen gelesen: Alle fr den Versand notwendigen Daten werden aus dem Kontrollsatz gelesen. Haben Sie also zum Beispiel den Port in den Partnervereinbarungen ausgetauscht, so wird das IDoc immer noch an den ursprnglichen Port geschickt. Als Alternative gibt es den Vorgangscode EDIS mit der Standardaufgabe TS30000078, der nur die Anzeige eines Statussatzes erlaubt, nicht aber den erneuten Versand des Ausgangs-IDocs.

24

April 2001

SAP AG

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

Bei einem Releasewechsel fhren Sie die IMG-Aktivitt Erweiterte Ausnahmebehandlung bei Statusrckmeldung benutzen aus, um von EDIS auf EDIR umzuschalten. Die zustndigen Sachbearbeiter werden in folgender Reihenfolge ermittelt: 1. Wenn in den Ausgangspartnervereinbarungen ein Sachbearbeiter eingetragen ist, wird dieser verstndigt. 2. Andernfalls wird der Sachbearbeiter aus den allgemeinen Partnervereinbarungen verstndigt.

Aktivitten
Welche Status als Fehlerstatus eingestuft werden und damit die Ausnahmebehandlung einleiten, knnen Sie selbst entscheiden: Whlen Sie aus dem Eingangsbild der IDoc-Schnittstelle Steuerung Statuswerte pflegen. Im Detailbild tragen Sie einen Vorgangscode ein, der auf einen Workflow zeigt. Der Workflow realisiert im Standard die Ausnahmebehandlung. Im allgemeinen mu das aber nicht so sein. Weitere Informationen finden Sie unter Ausnahmebehandlung: Vorgehen [Seite 29] In der Statuspflege knnen Sie auch die Zuordnung zu Statusgruppen (Qualifizierung) anzeigen oder ndern, die in den Monitoring-Programmen eine wichtige Rolle spielt.

April 2001

25

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung von SYSTAT01

SAP AG

Eingangsverarbeitung von SYSTAT01


Verwendung
Statusrckmeldungen ber einen Port beliebigen Typs werden durch die Eingangsverarbeitung des IDoc-Typs SYSTAT01 realisiert.

Voraussetzungen
Sie haben die Partnervereinbarungen [Seite 84] fr die logische Nachricht STATUS gepflegt. Der Vorgangscode heit STA1.

Aktivitten
Die Eingangsverarbeitung geschieht ber die von SAP ausgelieferte Einzelschrittaufgabe TS30000206. Dabei werden die im IDoc bermittelten Statusstze den Ausgangs-IDocs gutgeschrieben, auf die sie sich beziehen. Wurde im SYSTAT01 ein in der Statuspflege (s. Statusverarbeitung [Seite 24]) als fehlerhaft eingestufter Status bermittelt, so schliet sich fr das betroffene Ausgangs-IDoc die entsprechende Ausnahmebehandlung der Statusverarbeitung [Seite 24] an. Konnten nicht alle Statusstze erfolgreich den betroffenen IDocs gutgeschrieben werden, so erhlt das Eingangs-IDoc vom Typ SYSTAT01 den Status 52. Konnte kein einziger der bermittelten Statusstze erfolgreich verarbeitet werden, erhlt das IDoc den Status 51. In beiden Fllen wird die Ausnahmebehandlung des Eingangs-IDocs gestartet. Dazu wird das Ereignis STATUSIDOCERROR ausgelst, dessen Verbraucher die Einzelschrittaufgabe TS30000207 ist. Als ausgewhlter Bearbeiter editieren Sie das IDoc beim Ausfhren des Workitems. Sie knnen beispielsweise die Nummer des IDocs, auf das sich ein bestimmter Statussatz bezieht, ndern und so den Status dem richtigen Ausgangs-IDoc zuordnen. Sie knnen das so genderte IDoc nochmals einspielen lassen, indem Sie in der Anzeige Bearbeiten verarbeiten whlen. Dabei versucht das System erneut, die restlichen, nicht erfolgreich gebuchten Statusstze zu verarbeiten. Gelingt dies, so erhlt das IDoc den abschlieenden Status 53. Wenn Sie die Verarbeitung des IDocs abbrechen wollen, so whlen Sie aus der IDoc-Anzeige [Seite 120] bearbeiten verarbeiten Lschkennzeichen setzen.

26

April 2001

SAP AG

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

Ausnahmebehandlung
Verwendung
Bei Fehlern werden zu Standardaufgaben gehrende Workitems erzeugt, die im integrierten Eingangskorb der ausgewhlten Bearbeiter erscheinen. Die Standardaufgaben werden ber Vorgangscodes identifiziert.

Funktionsumfang
Bearbeitung ber Workflow-Aufgaben Die Standardaufgaben fr die IDoc-Schnittstelle sind nach Ausgangs- und Eingangsverarbeitung getrennt. Formale Fehler knnen z.B. im Eingang auftreten, wenn die zum Kontrollsatz passende Partnervereinbarungen [Seite 70] nicht gefunden wurde. Sie knnen in den Partnervereinbarungen auch die Syntaxprfung der IDocs einschalten. Ein Fehler bei einer solchen Syntaxprfung ist einer speziellen Standardaufgabe zugeordnet (siehe Ausnahmebehandlung: Vorgehen [Seite 29]). Die Ausnahmebehandlung in der IDoc-Schnittstelle wird im Eingang durch die Ausnahmebehandlung der Anwendung ergnzt, die etwa auf den Status 51 (Anwendungsbeleg nicht gebucht) reagieren kann. Der Bearbeiter eines Workitems (d h. einer konkreten Ausprgung der allgemein definierten Workflow-Aufgabe) kann den Fehler beheben und die Umsetzung des empfangenen IDocs erneut anstoen bzw. das IDoc zum Lschen vormerken. Erlaubte Bearbeiter In allen Ausnahmesituationen, bei denen der Absender in den Partnervereinbarungen vorgesehen ist, werden die erlaubten Bearbeiter von dort gelesen. Sind Bearbeiter fr die spezielle logische Nachricht eingetragen, werden diese bernommen, sonst die in den allgemeinen Partnervereinbarungen fr diesen Partner vorgesehenen Bearbeiter. In allen Ausnahmesituationen, bei denen keine passende Partnervereinbarung gelesen werden konnte, wird der Bearbeiter aus der Tabelle der Systemparameter ermittelt (IDoc-Administrator [Seite 255]). Es wird dringend empfohlen, hier einen Bearbeiter einzutragen. Als Bearbeiter knnen Sie neben einem SAP-Benutzernamen auch andere Organisationseinheiten (z.B. Abteilung, Stelle) fr die Benachrichtigung eintragen. Damit die erlaubten Bearbeiter auch per Workitem benachrichtigt werden, mssen Sie der entsprechenden Standardaufgabe zugeordnet sein. Weitere Informationen finden Sie unter Rollenauflsung in der Ausnahmebehandlung [Seite 31]. Externe und interne Fehlermeldungen Interne Fehlermeldungen beziehen sich auf Fehler in Ihrem R/3-System. Solche Fehlermeldungen oder Fehlerstatus sind mit System-Vorgangscodes (in der IDoc-Schnittstelle) assoziiert. Externe Fehlermeldungen sind Statusrckmeldungen [Seite 24] auf Fehler im externen System. Sie werden mit den Status-Vorgangscodes assoziiert. Bei in der Anwendung diagnostizierten internen Fehlern (Status 51) erzeugt die Anwendung selbst auch das entsprechende Workitem, d.h. hier werden keine Vorgangscodes in der IDoc-Schnittstelle hinterlegt.

April 2001

27

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausnahmebehandlung Besonderheiten beim Porttyp Datei

SAP AG

In Dateien knnen mehrere IDocs gespeichert sein, die die IDoc-Schnittstelle separat liest und auf der Datenbank abspeichert. Dadurch sind bei einem Lesefehler nur die noch nicht abgespeicherten IDocs betroffen. Die Fehlerstelle wird vorgemerkt. Kann der Fehler beseitigt werden, 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 Hintergrund gestartet. Dadurch knnen die Daten schnell und sicher vom externen System bernommen werden.

Aktivitten
Ausnahmebehandlung: Vorgehen [Seite 29] Die Fehlerbehandlung wird ber Vorgangscodes gesteuert, die auf Standardaufgaben zeigen. Dieser Abschnitt gibt einen berblick ber die Standardaufgaben und zeigt Beispiele mglicher Fehlerursachen auf.

28

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausnahmebehandlung: Vorgehen

Ausnahmebehandlung: Vorgehen
Verwendung
Die folgende Tabelle gibt einen berblick ber die im Standard definierten Fehler und die damit ber den Vorgangscode gekoppelten Aufgaben. Es werden mgliche (aber nicht alle mglichen!) Fehlerursachen angegeben, um die Fehlersuche zu erleichtern. Fehler IDoc konnte nicht erzeugt werden Vorgangsco de EDIM Workflow-Aufgabe TS30000020 Mgliche Ursachen (Beispiele) Eingang: Dateilesefehler; Ausgang: Fehler bei IDocErzeugung aus einem NASTSatz Kein Vorgangscode in den zustzlichen NASTParametern der Partnervereinbarungen; Fehler beim Schreiben der Anwendungsdaten ins IDoc.

IDoc konnte unter NAST nicht erzeugt werden

EDIN: wertet die Partnerdaten aus dem NAST-Satz aus EDIL

TS70008037

Statusdatei konnte nicht vollstndig gelesen werden Fehler bei Eingangsverarbeitun g Fehler bei Ausgangsverarbeitu ng Fehler bei Ausgangsverarbeitu ng, der alle IDocs eines IDoc-Stapels betrifft (Ausgabemodus: IDocs sammeln) IDoc-Syntaxfehler (Ausgang; Syntaxprfung in den Partnervereinbarung en eingeschaltet)

TS70008373

EDII

TS00008068

Vorgangscode existiert nicht; Fehler bei bergabe an ALEDienste Fehler bei bergabe per RFC; Dateischreibfehler Fehler bei bergabe per RFC; Dateischreibfehler; Port nicht vorhanden

EDIO

TS00007989

EDIP

TS60001307

EDIX

TS00008070

April 2001

29

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausnahmebehandlung: Vorgehen IDoc-Syntaxfehler (Eingang; Syntaxprfung in den Partnervereinbarung en eingeschaltet) Fehlerstatus rckgemeldet Fehlerstatus rckgemeldet EDIY TS00008074

SAP AG

EDIS EDIR

TS30000078 TS70008125: Im Unterschied zur TS30000078 knnen Sie hier das IDoc erneut versenden

Konvertierung im EDISubsystem fehlerhaft Konvertierung im EDISubsystem fehlerhaft

Die Fehler werden aus den Workitems im integrierten Eingangskorb bearbeitet. Konnte z.B. nach einem Dateilesefehler der Fehler beseitigt werden konnte, knnen die noch nicht gelesenen IDocs durch Starten des Reports RSEINB00 von Hand nachgelesen und auf der Datenbank gespeichert werden.

Der Ausnahmebehandlung in der IDoc-Schnittstelle schliet sich (im Eingang) die Ausnahmebehandlung der Anwendung an, die etwa auf den Status 51 (Anwendungsbeleg nicht gebucht) reagieren kann. Die Aufgaben zur Ausnahmebehandlung in der IDoc-Schnittstelle sind in der Aufgabengruppe TG70000015 zusammengefat, diejenigen der LogistikAnwendungen in der Gruppe TG20000011. Aufgabengruppen knnen Sie mit dem Business Workflow Explorer (Bereichsmen SWLD) anzeigen.

30

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Rollenauflsung in der Ausnahmebehandlung

Rollenauflsung in der Ausnahmebehandlung


Verwendung
Alle im Standard fr die Ausnahmebehandlung definierten Aufgaben sind mit einer Defaultrolle versehen, um die Menge der mglichen Bearbeiter auf die fr die konkrete Ausnahmesituation zustndigen einzuschrnken. Zu diesem Zweck leitet ein Funktionsbaustein in der Rollenauflsung aus den Partnervereinbarungen zum fehlerhaften IDoc Bearbeiter ab. Schlgt dies fehl oder existiert noch gar kein IDoc, so wird der IDoc-Administrator ermittelt. Damit knnen Bearbeiter ermittelt werden, die zustndig sind fr den aktuellen Partner und die aktuelle Nachricht (Aus- oder Eingangspartnervereinbarung) fr den aktuellen Partner (allgemeine Partnervereinbarung) mindestens aber fr die IDoc-Schnittstelle (IDoc-Administration)

Integration
Die tatschlichen Bearbeiter (die Empfnger) des Workitems sind die in der Rollenauflsung ermittelten Bearbeiter, die gleichzeitig mgliche Bearbeiter der Standardaufgabe zum Workitem sind. Die Empfnger bilden also die Schnittmenge aus den mglichen Bearbeitern der entsprechenden Standardaufgabe und den erlaubten Bearbeitern der entsprechenden Partnervereinbarung bzw. der IDoc-Administration.

Organisationsstruktur

Mgliche Bearbeiter

Aufgabe

Rollenauflsung

Empfnger des Workitems

Partnervereinbarung Erlaubte Bearbeiter

IDoc-Schnittstelle

Voraussetzungen
Fr die Empfngerermittlung mssen Sie also folgendes pflegen:

April 2001

31

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Rollenauflsung in der Ausnahmebehandlung Partnervereinbarungen [Seite 76] IDoc-Administration [Seite 255] Bearbeiterzuordnung [Extern] der Standardaufgaben

SAP AG

Wenn die Standardaufgaben als generelle Aufgaben gepflegt sind, ist die Menge der mglichen Bearbeiter maximal (nmlich gleich der Menge aller Anwender im R/3System), und es lt sich dann immer ein Empfnger bestimmen (Ausnahme: IDocAdministrator ist nicht gepflegt).

Funktionsumfang
Nachfolgende Tabelle gibt die im Standard ausgelieferten Rollen mit Funktionsbaustein (FB) zur Rollenauflsung wieder. Sie zeigt, welchen Standardaufgaben sie als Defaultrollen zugeordnet sind und beschreibt, was bei der Rollenauflsung passiert. Standardrolle/FB Ausgang, Eingang 30000013 EDI_ROLE_FOR_ PROCESSING TS00008068 (Fehler bei Eingangsverarbeitung), TS00007989 (Fehler bei Ausgangsverarbeitung), TS00008070 (Syntaxfehler Ausgang), TS00008074 (Syntaxfehler Eingang) TS30000207 (Fehler bei der Eingangsverarbeitung von SYSTAT01 [Seite 26]) 30000001 EDI_ROLE_FOR_ MESSAGE TS30000020 (Fehler ohne Zuordnung zu IDoc), TS60001307 (Fehler bei Ausgangsverarbeitung eines IDocStapels, d.h. bei Ausgabemodus IDocs sammeln) Ermittelt wird der IDocAdministrator. Ermittelt werden die erlaubten Bearbeiter aus den Partnervereinbarungen. Falls sich keiner findet, wird der IDoc-Administrator ermittelt. Defaultrolle fr Standardaufgabe Rollenauflsung

32

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Rollenauflsung in der Ausnahmebehandlung

70000141 EDI_ROLE_FOR_NAST_ MESSAGE

TS70008037 (Fehler ohne Zuordnung zu IDoc bei NASTAusgang)

Wenn es sich um ein Anwendungsproblem handelt (z.B. wenn ein Fehler beim Schreiben der Anwendungsdaten in das IDoc passierte), wird wie bei Rolle 30000013 vorgegangen. Handelt es sich dagegen um ein technisches Problem (z.B. wenn der Ausgangs-Vorgangscode fehlt oder ins Leere weist), so wird direkt nach dem IDocAdministrator gesucht. Ermittelt wird der IDocAdministrator

Statusrckmeldung 30000001 EDI_ROLE_FOR_ MESSAGE Aktives Monitoring 30200013 EDI_ROLE_FOR_ IDOC_ACT_MONIT TS30200108 (berschreiten des Schwellwertes im aktiven Monitoring) Ermittelt werden die beim Start oder Einplanen von RSEIDOCM eingetragen erlaubten Bearbeiter. Falls sich keiner findet oder die Bearbeiter nicht Teil des Organisationsmodells sind, wird der IDoc-Administrator ermittelt. TS30000078 (Fehlerstatus in Statusrckmeldung) TS70008373 (Fehler beim Lesen einer Statusdatei)

April 2001

33

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Kommunikation mit lteren Releases/Systemen oder R/2-Systemen

SAP AG

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


Verwendung
Wenn Sie mit SAP-Systemen lterer Releases (2.1 bis 3.1) oder externen Systemen (z.B. EDISubsystemen) auf diesem Stand ber IDocs kommunizieren wollen, mssen Sie das Ihrem System ber die Version in der Portbeschreibung mitteilen. Damit werden im Ausgang die richtigen IDoc-Satzarten verschickt. Nicht nur bei lteren R/3-Releasestnden, sondern auch bei R/2-Systemen knnen zwei Problemflle auftreten, die zustzlichen Aufwand erfordern: Sie benutzen lange Namen fr Nachrichtentypen, IDoc-Typen oder Segmente. ltere Releases untersttzen nur Namen mit Lngen 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 oder untersttzen Erweiterungen berhaupt nicht (R/3-Releases 2.1, 2.2 und R/2-Systeme).

In beiden Fllen mssen Sie Umschlsselungstabellen im Customizing pflegen, die die alten Namen und Felder auf neue abbilden. Beide Flle knnen auch zusammen auftreten.

Funktionsumfang
In der Ausgangsverarbeitung bestimmt das System ber die Portversion die richtigen IDocSatzarten. Aus den Umschlsselungstabellen leitet es die alten (Ausgangsverarbeitung) bzw. die neuen (Eingangsverarbeitung) Namen ab und fllt beim Einsatz neuer Erweiterungen die bentigten Felder im Kontrollsatz (Ausgangsverarbeitung).

Aktivitten
ber die Portversion stellen Sie den Releasestand des Systems ein, mit dem Sie kommunizieren. 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 einem R/2-System fhrt, ist die Version 2 fr diesen Porttyp fest vorgegeben und kann nicht in der Portbeschreibung eingestellt werden. Version 3: Releases 4.X (Vorschlagswert)

Je nach den oben beschriebenen Problemfllen pflegen Sie die entsprechenden Umschlsselungstabellen im Customizing. Siehe auch: Lange Namen [Seite 36]

34

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Kommunikation mit lteren Releases/Systemen oder R/2-Systemen

Einsatz von Erweiterungen [Seite 37]

April 2001

35

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

SAP AG

Lange Namen
Verwendung
Mit Release 4.0 wird der erweiterte Namensraum untersttzt. Dieses Konzept schliet die Verwendung von Prfixen und lngeren Namen ein. In der IDoc-Schnittstelle sind von den langen Namen folgende Objekte betroffen: Objekt Nachrichtentyp IDoc-Typ (Basistyp oder Erweiterung) Segment Lnge zu 4.0 (in Zeichen) 30 30 27 Lnge vor 4.0 (in Zeichen) 6 8 7

Pro Objekt gibt es eines Umschlsselungstabelle, die im Customizing gepflegt wird.

Aktivitten
Sie prfen, welche Objekte Sie mit lteren Releases oder einem R/2-System austauschen wollen, und ob es darunter Objekte mit langen Namen gibt, die von diesen Releases nicht untersttzt werden. Sie pflegen dann die entsprechenden Customizing-Tabellen. Wenn Sie Erweiterungen in Release 4.X definieren und lange Namen verwenden wollen, mssen Sie im Customizing die entsprechende Umschlsselungstabelle fr Erweiterungen pflegen. Oder Sie definieren nur Erweiterungen mit kurzen Namen fr den Austausch mit lteren Releases.

36

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Einsatz von Erweiterungen

Einsatz von Erweiterungen


Verwendung
Bei lteren Releases wurden IDoc-Typen unterschiedlich definiert. Insbesondere bei Erweiterungen gibt es grere Unterschiede, die in der Verarbeitung bercksichtigt werden mssen. Releases 2.1/2.2 Hier gab es noch keine Erweiterungen von Basistypen, d.h. jeder IDoc-Typ (die damalige Zwischenstruktur) war gleichzeitig ein Basistyp und wurde durch das Feld DOCTYP identifiziert. Releases 3.0/3.1 Hier wurden erstmals Erweiterungen eingefhrt, die damaligen Erweiterungstypen. Diese Erweiterungen wurden mit Basistypen (die damaligen Basis-IDoc-Typen) zu neuen IDocTypen 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. es kennt die Felder IDOCTYP, CIMTYP und DOCTYP. Es untersttzt aber keine Erweiterungen und identifiziert den IDoc-Typ ausschlielich durch das Feld DOCTYP. Ab Release 4.0 wird der IDoc-Typ nur noch ber die Felder IDOCTYP und CIMTYP identifiziert, nicht mehr zustzlich ber das Feld DOCTYP. Um bei der Kommunikation mit lteren Releases auch neue Erweiterungen verwenden zu knnen, mssen daher die verschiedenen Identifikationsfelder einander zugeordnet werden.

Funktionsumfang
Ausgangsverarbeitung Die Ausgangsverarbeitung leitet aus IDOCTYP und CIMTYP das Feld DOCTYP aus einer Umschlsselungstabelle ab. Falls nur ein Basistyp verwendet wird, setzt sie DOCTYP gleich IDOCTYP. Aus dem in der Partnervereinbarung angegebenen Port leitet sie ab, an welches Release sie das IDoc schicken soll (ber die Version in der Portbeschreibung). Daraus wird das (releaseabhngige) Format (die Satzarten) eines bestimmten IDoc-Typs abgeleitet. Ein Fehler (mit anschlieender Ausnahmebehandlung) tritt auf, wenn das Feld DOCTYP nicht bekannt 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 wird die Verarbeitung mit einem Fehler unterbrochen. Eine Kombination aus Basistyp und Erweiterung wird wohl nie einem damaligen IDoc-Typ entsprechen - Falls doch, so mu diese Zuordnung ebenfalls in der Umschlsselungstabelle definiert sein, damit kein Fehler ausgelst wird. Releases 3.0/3.1 bzw. R/2-System (Portversion 2)

April 2001

37

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Einsatz von Erweiterungen

SAP AG

Sind Basistyp und Erweiterung zwar definiert, aber entspricht ihre Kombination keinem damaligen IDoc-Typ, dann wird die Verarbeitung mit einem Fehler unterbrochen. Zuordnung der Felder im Ausgang
R/3-System (Release 4.0) R/3-System (Release 3.0/3.1) IDOCTYP, CIMTYP, DOCTYP

IDOCTYP, CIMTYP

DOCTYP aus Umschl.-Tabelle oder schon bekannt

R/3-System (Release 2.1/2.2) DOCTYP

Eingangsverarbeitung Falls nicht vorhanden, wird versucht, das Feld IDOCTYP und gegebenenfalls das Feld CIMTYP aus DOCTYP abzuleiten. Hierbei gibt es folgende Mglichkeiten: Existiert ein Eintrag in der Umschlsselungstabelle, dann wird daraus IDOCTYP und gegebenenfalls CIMTYP abgeleitet. Existiert kein Eintrag, dann wird IDOCTYP gleich DOCTYP gesetzt. Dieser Fall tritt vor allem 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 IDOCTYP identifiziert) nicht definiert ist. Des weiteren knnen Fehler auftreten, wenn die Erweiterung (Feld CIMTYP) nicht mit dem Basistyp kombinierbar ist.

Aktivitten
Sie mssen in folgenden Fllen IDOCTYP und CIMTYP auf DOCTYP umschlsseln: 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 lteren Releases 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 uerst selten ein.

Diese Umschlsselung machen Sie aus dem IDoc-Typ-Editor heraus, aus dem Sie Ihre 4.XErweiterung definiert haben (ber Umfeld Umschlsselung IDoc-Typ). Sie knnen auch im Customizing der IDoc-Schnittstelle umschlsseln.

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

38

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Einsatz von Erweiterungen

R/2-System bezglich Erweiterungen so verhlt, als wrde es IDocs an R/3Releasestnde 2.1/2.2 schicken (Portversion 1).

April 2001

39

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

SAP AG

Ports einrichten
Einsatzmglichkeiten
Ports [Extern] sind die Grundvoraussetzung fr die Kommunikation ber die IDoc-Schnittstelle. Pro externem System mu es mindestens einen Port geben. Die nachfolgende Abbildung zeigt den Ausgang von IDocs an zwei Folgesysteme ber drei Ports.

IDoc-Schnittstelle

IDoc

IDoc

Port 1 (z.B. Typ Datei)

Port 2 (z.B. Typ Datei)

Port 3 (z.B. Typ tRFC)

Folgesystem 1

Folgesystem 2

ber die Portversion teilen Sie dem eigenen R/3-System mit, auf welchem Releasestand das Folgesystem ist. Lesen Sie dazu den Abschnitt Kommunikation mit lteren Releases/Subsystemen [Seite 34]

Voraussetzungen
Sie mssen auch Einstellungen auerhalb der IDoc-Schnittstelle vornehmen, damit der Port verwendet werden kann. Diese Einstellungen hngen vom gewnschten Porttyp [Extern] ab und sind in den jeweiligen Unterabschnitten genannt.

Ablauf
Der Ablauf hngt vom Porttyp ab. Untenstehende Tabelle enthlt Einsatzgebiete und verweist auf die Detailbeschreibungen.

Porttyp
Dateischnittstelle [Seite 42] Transaktionaler RFC [Extern] CPI-C [Seite 54]

Einsatzgebiete
Kopplung an die meisten EDI-Subsysteme ALE-Verteilungsszenarien Kopplung an R/2-Systeme: Die direkte Kommunikation mit einem R/2-System (ab Release 5.0F) ist nur ber diesen Porttyp mglich.

40

IDoc

April 2001

SAP AG

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

Internet [Seite 62] Programmierschnittstell e (PSS) [Seite 67] XML [Seite 68]

Versand an E-Mail-Adressen Das IDoc wird nicht mit einem externen System, sondern mit einem von Ihnen zu schreibenden Funktionsbaustein ausgetauscht. Damit wird jede beliebige Versandart mglich. E-Commerce

April 2001

41

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

SAP AG

Dateischnittstelle
Definition
Austausch von IDocs und Statusstzen ber Betriebssystem-Dateien.

Struktur
Ablauf Das 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 heit (Dateiname).

Dieses Mitteilen heit 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, hngt das sendende System niemals an eine bereits an das Folgesystem bergebene Datei weitere Daten an. Das Folgesystem arbeitet die bergebenen Dateien vollstndig ab. Danach lscht es sie selbstndig aus dem Dateisystem.

Um Dateien nicht zu berschreiben, sollten sie eindeutige Namen tragen. Das SAP System kann z.B. IDoc-Dateien nach Mandant und IDoc-Nummer benennen. Sendendes und Folgesystem mssen entsprechende Zugriffsrechte [Seite 43] (Leseund Schreibberechtigung) besitzen. Einstellungen Porttyp Datei: Portbeschreibung pflegen [Seite 52]

42

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Dateischnittstelle: Betriebssysteme vorbereiten

Dateischnittstelle: Betriebssysteme vorbereiten


1. Legen Sie im Betriebssystem Lese- und Schreibberechtigungen fr die verwendeten Verzeichnisse an. Im Ausgang sind das die Verzeichnisse aus der Portbeschreibung [Seite 52], und die Berechtigungen gelten fr den Eigentmer des SAP Gateway-Prozesses, blicherweise den SAP Systemadministrator. Wenn das SAP Gateway auf der gleichen Maschine luft wie das externe System, brauchen Sie die weiteren Schritte nicht durchzufhren. 2. Wenn das SAP Gateway und das externe System auf unterschiedlichen Maschinen laufen, mssen diese sich untereinander den Zugang gewhren. Bei UNIX-Betriebssystemen erreichen Sie das ber Eintrge in den rhosts - Dateien. 3. Testen Sie anschlieend die remote shell Funktion. Der RFC-Zugriff basiert auf dieser Funktion.

Das externe System luft auf der Maschine marvin. Das SAP System C11 mit dem Gateway luft auf der Maschine arthur. Beide Maschinen laufen unter UNIX. C11adm ist der UNIX-User, dem der Gateway-Proze gehrt. Sie richten C11adm auch auf marvin als User ein, mit Home-Verzeichnis /usr/sap/C11/home. Beide Home-Verzeichnisse mssen eine Datei rhosts mit folgendem Inhalt enthalten: Inhalt von .rhosts'auf marvin'in ~C11adm Inhalt von .rhosts auf arthur in ~C11adm arthur marvin

Beide Dateien mssen dem User 'C11adm' gehren und Lese- und Schreibberechtigungen haben. Die Eintrge 'marvin' und 'arthur' mssen in den /etc/hosts-Dateien identisch auf beiden Maschinen vorhanden sein. Sie testen die remote shell Funktion durch folgende Eingaben: Auf Maschine marvin Eingabe rsh arthur hostname (oder remsh arthur hostname) arthur rsh marvin hostname (oder remsh marvin hostname) marvin Ausgabe arthur

April 2001

43

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausgang: Folgesystem triggern

SAP AG

Ausgang: Folgesystem triggern


Voraussetzungen
Sie bentigen das Programm rfcexec aus der RFC-Bibliothek.

Vorgehensweise
1. Um eine logische Destination fr RFC anzulegen, whlen Sie Werkzeuge Administration Verwaltung Netzwerk RFC-Destinationen (SM59). Positionieren Sie auf TCP/IPVerbindungen und whlen 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. Besttigen Sie Ihre Eingaben. 3. Arbeiten ohne Registrierung: Whlen 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 gewhlt haben, geben Sie den Zielrechner an, auf dem rfcexec angesprochen werden soll (etwa marvin). Arbeiten mit Registrierung: Hier registrieren Sie Ihr Programm im Gateway unter einem frei whlbaren Namen. Dann knnen Sie unter dieser ID von verteilten Systemen das Programm unter genau diesem Namen aufrufen. Whlen Sie Registrierung und geben Sie unter Programm ID einen Namen ein. Whlen Sie Destination Gateway-Optionen und geben Sie dort GatewayHost und Gateway-Service an. Diese beiden Parameter ermitteln Sie z.B. mit dem Report 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 im Betriebssystem unter demselben Namen im entsprechenden Gateway gestartet haben. Die Kommandozeile dazu sieht z.B. fr den Gateway-Service sapgw00 auf dem Gateway-Host arthur folgendermaen aus: rfcexec a Heribert g arthur x sapgw00, wenn das Programm unter dem Namen Heribert registriert werden soll.

Ergebnis
Mit einer logischen Destination haben Sie festgelegt, auf welchem Rechner das Programm rfcexec gestartet werden soll. rfcexec ruft die Kommandodatei auf demselben Rechner auf. Den Namen dieser Kommandodatei wie auch Verzeichnis und Namen der zu bernehmenden IDocs hinterlegen 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 folgendermaen 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.

44

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausgang: Folgesystem triggern

3. rfcexec startet ein Skript (im Bild: out.script), dem es als Parameter Verzeichnis und Name der neuen Datei bergibt (eine Zeichenkette). 4. Das Skript startet das Folgesystem. 5. Das Folgesystem liest die neue Datei und lscht sie anschlieend. Es ist wichtig fr eine sptere Zuordnung von Statusinformationen zu IDocs im SAP System, da das Folgesystem die Nummern der bergebenen IDocs (Feld DOCNUM) speichert.

IDoc-Schnittstelle
S

RFC

1
rfcexec
DOCNUM IDoc-Datei

3
out.script

Folgesystem
S = Schreiben L = Lesen RFC = Remote Function Call

April 2001

45

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingang: SAP System triggern

SAP AG

Eingang: SAP System triggern


In diesem Abschnitt machen Sie das SAP System dem vorgelagerten System bekannt (Parameter des Programms startrfc). ber die Portbeschreibung [Seite 52] wird umgekehrt das vorgelagerte System dem SAP System bekannt gemacht.

Voraussetzungen
Sie bentigen das Programm startrfc aus der RFC-Bibliothek.

Vorgehensweise
Geben Sie das Kommando mit den unten angegebenen Anmelde- und Funktionsbausteinparametern ein. Beispielsweise knnte die Kommandozeile unter UNIX folgendermaen beginnen: startrfc -3 -d C11 -u EDIUSER... Die Reihenfolge der Parameter ist jedoch bedeutungslos.

Anmeldeparameter Parameter
-3 -d -u C11 EDIUSER

Wert (Beispiel)

Beschreibung
Anmeldung am R/3-System ber RFC SAP System-ID. Diese finden Sie z.B. unten in der Systemleiste. SAP-Benutzer Geben Sie den Namen in Grobuchstaben ein. Aus Sicherheitsgrnden sollten Sie einen CPIC-Benutzer verwenden, da dieser Benutzertyp nicht im Dialog verwendet werden kann. Der Benutzer braucht alle erforderlichen Berechtigungen.

-p -c -l -h

KENNWORT 001 DE arthur

Benutzerkennwort. Geben Sie das Kennwort in Grobuchstaben ein. SAP-Mandant (Vorschlagswert: 000) Wie im Feld MANDT des Kontrollsatzes enthalten. SAP Systemsprache (Vorschlagswert: EN) Anwendungsserver (message server): Rufen Sie SM51 auf. Der erste Teil des Feldes server name (getrennt durch Unterstriche) steht fr den Anwendungsserver. Beachten Sie die Gro- und Kleinschreibung. Zweistellige numerische Systemkennung (TCP/IP service): Rufen Sie SM51 auf. Der dritte Teil des Feldes server name (getrennt durch Unterstriche) steht fr die Systemkennung.

-s

00

46

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingang: SAP System triggern

-g

arthur

Gateway-Host: 1. Rufen Sie SE38 auf. 2. Geben Sie den Reportnamen RSPARAM ein. 3. Whlen Sie Ausfhren und lassen Sie das Feld auch unsubstituiert anzeigen frei (dadurch erhalten Sie die Werte, die hinter den Systemvariablen stehen). 4. Whlen Sie Suchen (STRG-F). 5. Geben Sie rdisp/sna_g ein und besttigen Sie. 6. Der Name des Gateway-Hosts steht in der Zeile rdisp/sna_gateway (evtl. nach rechts blttern.). Beachten Sie die Gro- und Kleinschreibung.

-x

sapgw00

Gateway-Service wie in /etc/services : 1.-5. Verfahren Sie nach den Schritten 1.-5. beim GatewayHost (Parameter -g) 6. Der Name des Gateway-Services steht in der Zeile rdisp/sna_gw_service (evtl. nach rechts blttern.) Beachten Sie die Gro- und Kleinschreibung.

-t

Schreibt die Protokolldaten in die Datei dev_rfc im Arbeitsverzeichnis.

Funktionsbausteinparameter fr Eingangs-IDocs Parameter Wert (Beispiel)


-F -E EDI_DATA_INCOMING PATHNAME=

Beschreibung
Nur dieser Funktionsbaustein liest IDocDateien!

Verzeichnis und Dateiname der Datei, die das /usr/sap/C11/SYS/global/ Idoc aufnimmt (max. 100 CHAR) EXT/in/<Dateiname> PORT=EXT Logischer Name des externen Systems wie in der Portbeschreibung vereinbart (max. 10 CHAR)

-E

Ergebnis
Sie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchen Parametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52] (Abschnitt Eingang) hinterlegen Sie dann den Namen des vorgelagerten Systems (in obiger Tabelle heit es EXT), damit das SAP System es kennt und die IDocs bernimmt (siehe Porttyp Datei: Portbeschreibung pflegen [Seite 52], Eingang).

April 2001

47

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingang: SAP System triggern


Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf bei getriggerter Dateibergabe folgendermaen aus (s. untenstehende Abbildung):

SAP AG

1. Das vorgelagerte externe System schreibt die Daten im IDoc-Format 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 als Parameter von startrfc bergeben. 4. Das SAP System liest die Eingangsdatei und lscht sie anschlieend. Es gibt keine Statusinformationen an das externe System zurck.

IDoc-Schnittstelle
4
L

3
RFC

IDoc-Datei

startrfc

1
S

vorgelagertes System
S = Schreiben L = Lesen RFC = Remote Function Call

48

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Statusrckmeldung: SAP System triggern

Statusrckmeldung: SAP System triggern


Wie beim Eingang von IDoc-Dateien mu das externe System das Programm startrfc aufrufen. Dabei unterscheidet sich der Aufruf fr die Statusrckmeldung vom Fall Eingangs-IDoc nur in den Funktionsbausteinparametern. Fr Status- und Eingangs-IDoc-Datei mu also startrfc mit jeweils unterschiedlichen Parametern gestartet werden.

Voraussetzungen
Sie bentigen das Programm startrfc aus der RFC-Bibliothek.

Vorgehensweise
Geben Sie das Kommando startrfc mit den unten angegebenen Anmelde- und Funktionsbausteinparametern ein. Die Kommandozeile knnte etwa folgendermaen beginnen: startrfc -3 -d C11 -u EDIUSER...

Anmeldeparameter Parameter
-3 -d -u C11 EDIUSER

Wert (Beispiel)

Beschreibung
Anmeldung am R/3-System ber RFC R/3-System-ID. Diese finden Sie z.B. unten in der Systemleiste. SAP-Benutzer Geben Sie den Namen in Grobuchstaben ein. Aus Sicherheitsgrnden sollten Sie einen CPIC-Benutzer verwenden, da dieser Benutzertyp nicht im Dialog verwendet werden kann. Der Benutzer braucht alle erforderlichen Berechtigungen.

-p -c -l -h

KENNWORT 001 DE arthur

Benutzerkennwort Geben Sie das Kennwort in Grobuchstaben ein. SAP-Mandant (Vorschlagswert: 000) Wie im Feld MANDT des Kontrollsatzes enthalten. R/3-Systemsprache (Vorschlagswert: EN) Anwendungsserver (message server): Rufen Sie SM51 auf. Der erste Teil des Feldes server name (getrennt durch Unterstriche) steht fr den Anwendungsserver. Beachten Sie die Gro- und Kleinschreibung. Zweistellige numerische Systemkennung (TCP/IP service): Rufen Sie SM51 auf. Der dritte Teil des Feldes server name (getrennt durch Unterstriche) steht fr die Systemkennung.

-s

00

April 2001

49

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Statusrckmeldung: SAP System triggern


-g arthur Gateway-Host: 1. Rufen Sie SE38 auf. 2. Geben Sie den Reportnamen RSPARAM ein.

SAP AG

3. Whlen Sie Ausfhren und lassen Sie das Feld auch unsubstituiert anzeigen frei (dadurch erhalten Sie die Werte, die hinter den Systemvariablen stehen). 4. Whlen Sie Suchen (STRG-F). 5. Geben Sie rdisp/sna_g ein und besttigen Sie. 6. Der Name des Gateway-Hosts steht in der Zeile rdisp/sna_gateway (evtl. nach rechts blttern.). Beachten Sie die Gro- und Kleinschreibung. -x sapgw00 Gateway-Service wie in /etc/services : 1.-5. Verfahren Sie nach den Schritten 1.-5. beim GatewayHost (Parameter -g) 6. Der Name des Gateway-Services steht in der Zeile rdisp/sna_gw_service (evtl. nach rechts blttern.) Beachten Sie die Gro- und Kleinschreibung. -t Schreibt die Protokolldaten in die Datei dev_rfc im Arbeitsverzeichnis.

Funktionsbausteinparameter fr Statusreports Parameter Wert (Beispiel)


-F -E EDI_STATUS_INCOMING PATHNAME=

Beschreibung
Nur dieser Funktionsbaustein liest Statusdateien!

Verzeichnis und Dateiname der Datei, die die /usr/sap/C11/SYS/global/ Statusinformation zu Ausgangsnachrichten aufnimmt (max. 100 CHAR) EXT/status/<Dateiname> PORT=EXT Logischer Name des externen Systems wie in der Portbeschreibung vereinbart (max. 10 CHAR)

-E

Ergebnis
Sie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchen Parametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52] (Abschnitt Status) hinterlegen Sie dann den logischen Namen des vorgelagerten Systems (in obiger Tabelle heit es EXT), damit das R/3-System es kennt und die Statusstze bernimmt. Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf mit Triggern wie bei bergabe einer IDoc-Datei aus (s. untenstehende Abbildung):

50

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Statusrckmeldung: SAP System triggern

1. Das vorgelagerte externe System schreibt die Statusrckmeldung im Format von IDocStatusstzen 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 als Parameter von startrfc bergeben. 4. Das SAP System liest die Statusdatei und lscht sie anschlieend. Die Statusstze mssen die Nummern der Ausgangs-IDocs enthalten, auf die sie sich beziehen (Feld DOCNUM). Dadurch knnen sie diesen IDocs auf der Datenbank hinzugefgt werden.

IDoc-Schnittstelle
4
L

3
RFC

DOCNUM Statusdatei

startrfc

1
S

vorgelagertes System
S = Schreiben L = Lesen RFC = Remote Function Call

April 2001

51

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp Datei: Portbeschreibung pflegen

SAP AG

Porttyp Datei: Portbeschreibung pflegen


Vorgehensweise
Ausgang
Im Ausgang legen Sie die Regeln fr die Erzeugung der Ausgangsdatei fest. Wenn Sie das Folgesystem per RFC triggern, machen Sie zustzlich die Kommandodatei (Shell-Skript) bekannt. Im Bild zur Anleitung zum Triggern [Seite 44] heit sie out.script.

Die User-Umgebung im Betriebssystem wird nicht ausgewertet. Dies bedeutet, da Sie alle Parameter in der Kommandodatei explizit setzen und alle Verzeichnisse absolut angeben mssen. 1. Whlen Sie IDoc Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern]. 2. Positionieren Sie auf Datei und whlen Sie . 3. Benennen Sie den Port nach Ihrem externen System. Geben Sie eine Beschreibung und die Version (F1-Hilfe beachten!) der Satzarten an. 4. Whlen Sie Ausgangsdatei und geben Sie ein Verzeichnis ein. Schlieen Sie das Verzeichnis mit / (Schrgstrich) ab, da die Verzeichniszeile und die Datei verkettet werden. 5. Um die Dateinamen zu erzeugen, whlen Sie einen entsprechenden Funktionsbaustein ber die F4-Hilfe aus. Von der Verwendung eines statischen Dateinamens wird dringend abgeraten, da diese Datei jedesmal berschrieben wird, wenn ein neues IDoc verschickt wird. SAP empfiehlt hier den Funktionsbaustein EDI_PATH_CREATE_CLIENT_DOCNUM. Zur Verwendung von logischen Verzeichnissen beachten Sie die F1-Hilfe auf dem entsprechenden Feld. 6. Wenn Sie triggern wollen: Whlen Sie Ausgang: Triggern und geben Sie den vollstndigen Verzeichnisnamen fr die Kommandodatei (ohne den Namen der Datei selbst) in der Verzeichniszeile an. Schlieen Sie wieder das Verzeichnis mit / (Schrgstrich) ab. Die logische Destination haben Sie im Abschnitt Ausgang: Folgesystem ber RFC triggern [Seite 44] angelegt. Markieren Sie Automatisch startbar, um das Triggern scharf zu schalten.

Neben dem Zugangstest in der Portbeschreibung knnen Sie mit dem Report SRFCTEST testen, ob das Programm rfcexec die Kommandodatei korrekt ausfhrt. Whlen Sie dazu im Report die Option RFC_REMOTE_EXEC und geben Sie ihre RFC-Destination und als Kommando Ihre Kommandodatei ein (oder ein explizites Kommando fr einen Vortest).

Eingang
Wenn das vorgelagerte System das SAP System per startrfc triggert, mu der -E PORT=

52

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp Datei: Portbeschreibung pflegen

Parameterwert von startrfc als Portname eingetragen werden. So haben Sie den Port schon in Schritt 3 beim Ausgang genannt. Beim Triggern werden Name und Verzeichnis der Datei vom vorgelagerten System bestimmt. Die folgenden Einstellungen liefern daher nur Vorschlagswerte fr die Testprogramme, die den Dateiport verwenden [Seite 105]. Ansonsten sind sie wirkungslos. 1. Whlen Sie Eingangsdatei und geben Sie ein Verzeichnis als Eingabeparameter fr Daten an. Schlieen Sie das Verzeichnis mit / (Schrgstrich) ab, da die Verzeichniszeile und die Datei verkettet werden. 2. Geben Sie einen Dateinamen ein.

Statusdateien
Wenn 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 in Schritt 3 beim Ausgang genannt. Beim Triggern werden Name und Verzeichnis der Statusdatei vom vorgelagerten System bestimmt. Die folgenden Einstellungen liefern daher nur Vorschlagswerte fr die Testprogramme, die den Dateiport verwenden [Seite 102]. Ansonsten sind sie wirkungslos. 1. Whlen Sie Statusdatei und geben Sie ein Verzeichnis an. Schlieen Sie das Verzeichnis mit einem / (Schrgstrich) ab, da die Verzeichniszeile und die Datei verkettet werden. 2. Geben Sie einen Dateinamen ein.

Sie setzen folgende Werte:

Wert...
EXT /usr/sap/C11/SYS/global/EXT/in /usr/sap/C11/SYS/global /EXT/out /usr/sap/C11/SYS/global /EXT/status

fr...
Name des externen Systems = Portname Verzeichnis fr Eingangs-Idocs Verzeichnis fr Ausgangs-IDocs Verzeichnis fr Statusdaten

April 2001

53

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI CPI-C Verbindung zum R/2-System

SAP AG

CPI-C Verbindung zum R/2-System


Definition
Porttyp fr den direkten Zugang zu einem R/2-System ber das CPI-C Protokoll.

Verwendung
Weil hier immer das R/2-System das externe System ist [Seite 56], ergeben sich folgende Besonderheiten und Einschrnkungen 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] fr den Ausgang fast dieselben Parameter vonnten wie fr den Eingang. Das R/3-System kann pro eingehendem IDoc hchstens einen Statussatz zurcksenden. Der IDoc-Typ SYSTAT01 kann nicht verwendet werden, da er im R/2-System nicht zur Verfgung steht. Ein R/2-IDoc kann immer nur genau einmal abgeholt werden. Daraus folgt, da ALEVerteilungsmodelle (IDocs an mehrere Adressaten) nur indirekt ber ein R/3-System (das ALE Server-Konzept) realisiert werden knnen: Dazu mu das R/2-IDoc zunchst an ein R/3-System geschickt und von dort aus ber einen R/3-ALE-Server an die Adressaten verteilt werden. IDocs werden immer nur in den Satzarten der R/3-Releases 3.0/3.1 ausgetauscht. Damit ist die Portversion mit 2 vorgegeben und nicht in der Portbeschreibung einstellbar. Das R/2-System untersttzt weder Erweiterungen noch die zu Release 4.0 eingefhrten langen Namen. Lesen Sie zu den hierzu auftretenden mglichen Problemen den Abschnitt Kommunikation mit lteren Releases/Subsystemen oder R/2-Systemen [Seite 34].

Struktur
Austausch von IDocs zwischen R/2 und R/3
Dem Protokoll der R/2-IDoc-Schnittstelle entsprechend holt das R/3-System IDocs vom R/2 ab oder sendet IDocs, ist also immer das aktive System. Beim Abholen kann das R/3-System bestimmen, welche der abholbereiten IDocs whrend der Verbindung bertragen werden sollen. Obligatorisches Hauptselektionskriterium hierbei ist der Port im R/2-System. Der Port ist Sperrobjekt in der R/2-IDoc-Schnittstelle. Fr jedes logische System sollten Sie einen eigenen Port im R/2-System konfigurieren.

Versenden von IDoc-Statusstzen von R/3 nach R/2


Die R/2-IDoc-Schnittstelle erwartet ber versandte, d.h. abgeholte IDocs eine Statusrckmeldung. Auf der R/3-Seite knnen Sie den CPI-C Port so einrichten, da fr empfangene IDocs Statusstze an das R/2-System zurckgesandt werden. Es gibt folgende Einstellungen fr das Senden von Statusstzen an das R/2-System: keine Statusstze senden sofort nach Empfang von IDocs Statusstze senden

54

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI CPI-C Verbindung zum R/2-System

zeitlich versetzt, d.h. asynchrones Senden der Statusstze ber einen eingeplanten Report

Es kann nur ein Statussatz pro IDoc (Status 12 = Versand o.k. = IDoc erfolgreich vom R/3System abgeholt) zurckgeschickt werden. Weitere Verarbeitungsstationen im R/3-System knnen dem R/2-System nicht ber Statusstze rckgemeldet werden. Entsprechendes kann man aber ber Response-Nachrichten erreichen, die in Prozeketten modelliert werden.

Kommunikationstechnik
Grundlage der Kommunikation ist das SNA - Protokoll LU 6.2 (SNA = System Network Architecture = spezielle Netzwerkarchitektur auf R/2-Seite; LU = Logical Unit, identifiziert Programme oder Gerte in der SNA). Das CPI-C Protokoll fat die LU 6.2-Befehle zu wenigen Befehlen zusammen, die leicht in der Programmierung verwendet werden knnen (daher der Name: CPI-C = Common User Programming Interface - Communication). Die Kommunikation wird ber ein Gateway abgewickelt, das die Architektur SNA kennt und u.a. den symbolischen Namen des Zielsystems einer Logical Unit in einer sideinfo-Datei zuordnet. Der Name des Gateways wie auch der symbolische Name des Zielsystems stehen in der R/3-Datenbanktabelle TXCOM. So erkennt das R/3-System das aufzurufende R/2-System (s. folgende Abbildung, in der sich das Gateway auf R/3-Seite befindet).
R/3-System SideinfoEintrge: z.B. Datei sideinfo SNA-LU 6.2 Gateway-Server (SNA-fhig) Host auf R/2-Seite mit Kommunikationssystem IMS oder CICS

Tabelle TXCOM

SNA, LU 6.2 und CPI-C wurden von IBM entwickelt. Das von SAP verwendete CPIC Protokoll ist eine Modifizierung des ursprnglichen IBM-CPI-C. Eine detaillierte Beschreibung der Kommunikation mit der R/2-IDoc-Schnittstelle finden Sie im R/2-Handbuch S53.2, Kapitel 8.

April 2001

55

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C: R/2- und R/3-System koppeln

SAP AG

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


Das R/3-System meldet sich am System R/2 an, um IDocs dort abzuliefern oder abzuholen. Die dazu ntigen Anmeldedaten werden im R/3-System unter einer RFC-Destination gepflegt. Das Zielsystem selbst (R/2-System) wie auch die technischen Eigenschaften der Kommunikation werden in der Tabelle TXCOM gepflegt.

RFC-Destination pflegen
1. Um eine RFC-Destination anzulegen, whlen Sie Werkzeuge Administration Verwaltung Netzwerk RFC-Destinationen (SM59). Positionieren Sie auf R/2Verbindungen und whlen Sie Anlegen. Im Einstiegsknoten der IDoc-Schnittstelle springen Sie ber IDoc RFC-Destination an dieselbe 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 mssen Sie nur eingeben, damit Sie Ihre Destination sichern knnen, fr die CPI-C-Verbindung selbst sind sie ohne Bedeutung. Wichtig sind aber folgende Anmeldedaten: Mandant im R/2-System Anwender und Kennwort (Pawort) 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, Pawort und Anmeldesprache) eingetragen, nicht aber das Zielsystem selbst! Daher mu der Verbindungstest dieser Transaktion nicht notwendig erfolgreich sein. Der eigentliche Name des Zielsystems wird aus der Tabelle TXCOM als symbolische Destination gelesen. 3. Wenn Sie beim Versenden von IDocs ein Verbindungsprotokoll erstellt haben mchten, dann markieren Sie noch das Feld Trace.

Eintrag in der Tabelle TXCOM pflegen


1. Whlen Sie Werkzeuge Administration Verwaltung Netzwerk TXCOM-Pflege (SM54). Whlen Sie . 2. Pflegen Sie als Destination den R/2 Systemnamen (etwa K50). Geben Sie neben dem Namen folgende Parameter ein Gateway-Host und Gateway-Service Protokoll C ( = Partner ber CPI-C erreichbar)

Gateway-Host und -Service knnen Sie ber den Gateway-Monitor [Extern] oder den Report RSPARAM ermitteln. 3. Sichern Sie Ihre Angaben.

56

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C: R/2- und R/3-System koppeln

Die logische Einheit (Spalte LU) und das Transaktionsprogramm (Spalte TP) werden nicht aus TXCOM, sondern aus der sideinfo-Datei des SNA-fhigen Gatewayservers gelesen.

Ergebnis
Das R/3-System kennt jetzt das R/2-System (TXCOM-Eintrag), und das R/2-System kennt das R/3-System (Anmeldedaten). Fahren Sie fort mit CPI-C Port einrichten: Portbeschreibung [Seite 58]

April 2001

57

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C: Portbeschreibung pflegen

SAP AG

Porttyp CPI-C: Portbeschreibung pflegen


Einige der Parameter setzen Sie in Abhngigkeit des Kommunikationssystems (DC-Systems) des R/2 (CICS, IMS unter MVS/VSE oder UTM unter BS2000). Dafr finden Sie unten Beispiele. 1. Whlen Sie IDoc Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern]. 2. Positionieren Sie auf CPI-C und whlen Sie .

3. Benennen und beschreiben Sie den Port. Setzen Sie folgende CPI-C-Parameter: RFC-Destination (z.B. K50-Test) mit den Anmeldedaten fr das System R/2 Hostdestination TXCOM-Eintrag mit den Daten fr die technische Kommunikation (z.B. K50) Gre Puffer Lnge 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 nach dem CPI-C-Protokoll gesendet wird. Ein SEND-Befehl entspricht einem Puffer. Zeichensatz im R/2. Diese Angabe ist fr eine korrekte Konvertierung des Datenstromes notwendig. bertragungsmodalitten nach dem CPI-C-Protokoll. Beachten Sie dazu die Beispiele unten. Die genaue Bedeutung der folgenden Parameter entnehmen Sie dem R/2-Handbuch S53.2 (Beschreibung der CPI-C-Schnittstelle): Synchroner bertragungsmodus Falls der synchrone bertragungsmodus gewhlt wird, wird der Parameter Anzahl Puffer nicht ausgewertet. Empfangsbesttigung senden Hier mu das R/2-System nach Datenbertragung eine Besttigung versenden. Diese Besttigung entspricht keiner Statusrckmeldung, also auch keinem neuen Status! Verbindungsabbau durch R/2 4. Setzen Sie noch eine Option fr die Statusrckmeldung (Statusbericht) an das R/2System: Geben Sie an, ob die Statusstze sofort nach IDoc-Empfang, spter (d.h. ber einen Report [Seite 60] zeitlich gesteuert) oder gar nicht an das System R/2 zurckgesandt werden sollen.

Ergebnis
bertragungsparameter sind jetzt gesetzt. Fr den IDoc-Eingang und fr die sptere Statusrckmeldung ans R/2-System mssen Sie noch Reports einplanen. Lesen Sie dazu

58

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C: Portbeschreibung pflegen

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

Beispiel
Datenkommunikationssystem CICS (Betriebssystem MVS/VSE)
Der CPI-C-Datenpuffer sollte so gro wie mglich gewhlt werden (mindestens 4 Kilobyte). Das Produkt aus der Gre des Puffers und der Anzahl der Puffer mu deutlich unter der Gre des CICS-Dialogpuffers von 32 KB liegen. Daraus ergibt sich eine Anzahl der Puffer zwischen 3 und 6 (Beispiel: 4 KB 6 = 24 KB). Es empfiehlt sich, den synchronen bertragungsmodus aus Performancegrnden nicht einzuschalten.

Datenkommunikationssystem IMS (Betriebssystem MVS/VSE)


In Abhngigkeit von der IMS Message Queue-Gre sollte die Lnge des CPI-C-Datenpuffers 1 bis 1 KB nicht berschreiten. Schalten Sie unter IMS die folgenden bertragungsoptionen immer ein: Synchroner bertragungsmodus Empfangsbesttigung senden Verbindungsabbau durch R/2

Datenkommunikationssystem UTM (Betriebssystem BS2000)


Der CPI-C-Datenpuffer sollte zwischen etwa 5 KB und dem Maximum (8191 Byte) liegen. Fr die Gre des Dialogpuffers gibt es keine Einschrnkungen.

April 2001

59

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C (Eingang): Reports einplanen

SAP AG

Porttyp CPI-C (Eingang): Reports einplanen


Einsatzmglichkeiten
Im IDoc-Eingang mssen Sie einen Report einplanen, der die IDocs im R/2-System selektiert und dann ins R/3-System holt. Wenn nicht sofort, sondern spter der Status erfolgreich angekommen zurckgemeldet werden soll, braucht man einen weiteren Report. Optional ist ein spezieller Report, der im R/3-System abgespeicherte IDocs im Fehlerfall nachtrglich von der Anwendung verarbeiten lt.

Ablauf
Abholen von IDocs
Planen Sie den Report RSEINB10 ein, der IDocs aus dem R/2-System abholt. Geben Sie dabei folgende Parameter ein: CPI-C-Port im R/3 (lokal) Name des Ports vom Typ CPI-C, den Sie gerade in der IDoc-Schnittstelle angelegt haben. CPI-C Trace ausgeben Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben. Zustzliche Kriterien (z.B. Buchungskreis, Anwendungstransaktion oder logische Nachricht), nach denen IDocs im R/2-System ausgewhlt werden.

Spteres Zurcksenden von IDoc-Statusstzen


Wenn Sie in der Portbeschreibung festgelegt haben, da Statusstze spter (also nicht direkt nach Eingang des R/2-IDocs) rckgemeldet werden sollten, mssen Sie den Report RSESTA11 einplanen, 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 angelegt haben. Im Feld Absenderport des IDoc-Kontrollsatzes (SNDPOR) mu dieser Name enthalten sein, um bei der Selektion bercksichtigt zu werden CPI-C Trace ausgeben Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben.

IDoc-Verarbeitung bei Programmunterbrechung


Die IDoc-Eingangsverarbeitung besteht im wesentlichen aus zwei Schritten. Die bertragenen IDocs werden aus dem Datenstrom separiert und abgespeichert. Die Verbindung zum System R/2 wird abgebaut, und anschlieend werden die IDocs an die entsprechende Anwendung bergeben, d.h. der fr das jeweilige IDoc zustndige Geschftsproze wird gestartet. Fr den Fall, da es zu einer Programmunterbrechung zwischen Buchen und Verarbeiten des IDocs kam, knnen die dadurch nicht verarbeiteten, aber gebuchten IDocs nachtrglich der Verarbeitung durch die Anwendung zugefhrt werden. Dazu mu der Report RSEINB11 gestartet oder als Job eingeplant werden. Einzig steuernder Parameter ist hier der im System R/2 gepflegte Port. Alle zu diesem Port gehrenden, auf Status 50 (IDoc hinzugefgt)

60

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp CPI-C (Eingang): Reports einplanen

stehengebliebenen IDocs werden der Verarbeitung zugefhrt. Die Portzugehrigkeit wird aus dem Feld Empfngerport (RCVPOR) im IDoc-Kontrollsatz ermittelt.

April 2001

61

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

SAP AG

Porttyp Internet
Definition
Umwandlung von IDocs aus oder in E-Mails.

Verwendung
ber das Internet knnen IDocs mit jedem System ausgetauscht werden, das eine E-MailAdresse hat.

Struktur
Aufbau der E-Mail
Eine IDoc-E-Mail enthlt die IDocs als Anlage im MIME-Format (Multipurpose Internet Mail Extensions). 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 die IDoc-Schnittstelle zwei Funktionsbausteine bereitgestellt. Innerhalb des R/3-Systems wird die Anlage stets mit Referenzen gefllt bzw. abgelegt. Auerhalb des R/3-Systems sind in der Anlage die IDoc-Daten selbst vorhanden.

Ausgangsverarbeitung
Mit Hilfe der Parameter aus der Portbeschreibung wird eine Mail erzeugt, die als Anlage zunchst nur eine Menge von IDoc-Nummern trgt. Diese E-Mail wird dem Funktionsbaustein SO_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 Datenstze) im Format R3I, nmlich als Tabelle mit Struktur SOLI, zurckgibt. Diese Tabelle wird ber SAPconnect dem SAP Internet-Mail-Gateway bergeben, das die Daten im MIME-Format ins Internet versendet. Dazu benutzt das Gateway das Programm sendmail, das unter UNIX schon zur Verfgung 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 Gateway angesteuert werden, das dann fr den weiteren Versand ans Internet verantwortlich ist.

62

April 2001

SAP AG

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

R/3-System

TCP/IP Ans Internet angeschlossener externer Rechner

Gateway-Server: Internet-Gateway, Programm sendmail

TCP/IP Tabelle der Struktur SOLI (255 Zeichen), mit IDocs gefllt InternetAdresse aus der Portbeschreibung

alternativ

GatewayServer: z.B. MS Exchange Server

Eingangsverarbeitung
Das Gateway (z.B. das SAP Internet-Mail-Gateway) ruft per RFC den SAPconnectFunktionsbaustein SX_OBJECT_RECEIVE auf, der die E-Mail im MIME-Format bernimmt. Die Mail wird dem Workplace-Funktionsbaustein SO_DOCUMENT_RECEIVE_API1 bergeben. Der Workplace ruft daraufhin den Funktionsbaustein EDI_IDOC_R3I_INCOMING auf, der die Konvertierung vom R3I- ins IDoc-Format vornimmt und die Eingangsverarbeitung der IDocs [Seite 22] startet. Voraussetzung dafr ist allerdings, da der Mail-Empfnger der EDIEingangsverteilung zugeordnet ist (Abschnitt Benutzeradresse fr Internet einrichten [Seite 65]).

Die Erzeugung der IDocs und deren Verarbeitung wird entweder vollstndig oder berhaupt nicht durchgefhrt. Dazu wird EDI_IDOC_R3I_INCOMING als eigener Work-Proze aufgerufen, damit bei Fehlern in der IDoc-Erzeugung oder Verarbeitung die bis dahin aufgetretenen Datenbankvernderungen separat rckgngig gemacht werden knnen (Rollback). Als Rckgabewerte erhlt der Workplace eine Tabelle mit den IDoc-Nummern sowie den Namen der Eingangsmappe, in die die Mail abgelegt werden soll. Diese Mappe stammt aus der Tabelle fr die IDoc-Administration (Abschnitt: Internet-Port einstellen: Portbeschreibung [Seite 66]).

Integration
Weitere Informationen zur Architektur finden Sie unter SAPconnect [Extern] BC - SAP Internet-Mail-Gateway [Extern] SAP Exchange Connector [Extern] (fr die Anbindung an den MS Exchange Server)

April 2001

63

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp Internet: SAPconnect einrichten

SAP AG

Porttyp Internet: SAPconnect einrichten


Um den Internet-Port benutzen zu knnen, mu ein SAPconnect-Knoten [Extern] fr den Adretyp INT vorhanden sein, ber den der Versand abgewickelt wird. ber den Knoten wird auch gesteuert, ob Sie ber den Microsoft Exchange Server oder ber das Internet-MailGateway gehen. Auerdem mu das Programm zum Abholen der Mails, der Sendeproze [Extern] von SAPconnect, eingeplant sein.

Voraussetzungen
Bei Versand ber SAP Internet-Mail-Gateway: Sie mssen das Gateway konfiguriert haben. Lesen Sie dazu die Dokumentation Internet-Mail-Gateway konfigurieren [Extern].

Vorgehensweise
1. Gehen Sie in die SAPconnect-Administration ber Werkzeuge Business Communication Kommunikation SAPconnect. Sie erhalten eine Baumanzeige, in der die Knoten nach Adretyp aufgelistet sind, die sie untersttzen. 2. Prfen Sie eventuell ber Sicht Routing, ob schon ein Knoten fr den Adretyp INT (Internet) existiert. 3. Bestehende Knoten ndern Sie ber Parameter: RFC Destination oder fgen neue ber ein. Wichtig sind folgende

Mit der RFC Destination beschreiben Sie, auf welchem Rechner Sie ber welches Programm entweder den Microsoft Exchange Server (ber den SAP Exchange Connector) oder das SAP Internet Mail Gateway starten. Adrebereich beim Adretyp INT Je spezieller Sie diesen Eintrag fassen, desto weniger Adressen werden ber den jeweiligen Knoten abgewickelt.

Der Knoten KNOT1 untersttzt den Adrebereich *sap-ag.de, der Knoten KNOT2 den 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. Untersttztes Format beim Adretyp INT Hier mssen Sie den Dokumenttyp R3I (Internet-IDocs) oder * (alle Formate) angeben 4. Planen Sie den Sendeproze als Hintergrundjob ein [Extern].

64

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp Internet: Adresse fr Internet einrichten

Porttyp Internet: Adresse fr Internet einrichten


Diese Einstellungen sind auch fr den Ausgang wichtig: der E-Mail-Absender mu bekannt sein.

Vorgehensweise
1. Whlen Sie vom Einstiegsbild der R/3-Systems Bro Arbeitsplatz Einstellungen Benutzereinstellungen. 2. Whlen Sie .

3. Whlen Sie Weitere Kommunikation... fr die Kommunikationsart INT (Internet). 4. Tragen Sie Ihre Internet-Adresse in das Fenster ein, z.B. <Anwender>@<firma>.de. Sichern Sie Ihre Angaben. 5. Schlieen Sie noch Ihre Internet-Adresse an die Eingangsverteilung an: Whlen Sie aus dem R/3-Einstiegsbild Werkzeuge Business Communication Kommunikation SAPconnect Einstellungen Eingangsverteilung (SO28). Benutzen Sie fr den neuen Empfnger die F4Hilfe und whlen Sie EDI-Eingangsverteilung. Nur durch diese Weiterleitung werden IDocs, die an Sie verschickt werden, verarbeitet.

April 2001

65

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp Internet: Portbeschreibung pflegen

SAP AG

Porttyp Internet: Portbeschreibung pflegen


Verwendung
In der Portbeschreibung wird die Internet-Adresse des Partners hinterlegt. Da hier der Business Workplace zum Einsatz kommt, knnen Sie zur Kontrolle eine Workplace-Mappe angeben, in der die ausgehenden IDoc-Mails als Workplace-Dokumente abgelegt werden.

Voraussetzungen
Porttyp Internet: SAPconnect einrichten [Seite 64] Porttyp Internet: Adresse fr Internet einrichten [Seite 65]

Vorgehensweise
1. Whlen Sie IDoc Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern]. 2. Positionieren Sie auf Internet und whlen Sie Internet-Adresse: Empfnger der Mail Ablage Office: Workplace-Mappe fr ausgehende Mails, Mailattribute (Titel/Name) sowie der Absender der E-Mail. Dieser Absender ist nicht unbedingt mit dem Ersteller des Workplace-Dokuments identisch. Mailtext: Diesen Text liest der Empfnger, wenn er die Mail ffnet (IDocs sind nur Anlagen) . 3. Benennen und beschreiben Sie den Port. Setzen Sie folgende Parameter:

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

Ergebnis
Nun knnen Sie IDocs ins Internet verschicken und von dort empfangen.

66

April 2001

SAP AG

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

ABAP Programmierschnittstelle (PSS)


Definition
Austausch der IDocs zwischen ABAP Funktionsbausteinen.

Verwendung
Hier ist zunchst das eigene System R/3 das externe System", in dem die Weiterverarbeitung beliebig programmierbar ist. So knnen Sie z.B. eigene Techniken der bergabe an ein Fremdsystem programmieren.

Struktur
Portbeschreibung
Sie geben nur den Namen des aufzurufenden (IDoc-Ausgang) oder aufrufenden (IDoc-Eingang) ABAP Funktionsbausteins an. In diesem Funktionsbaustein knnen Sie jede gewnschte Verarbeitung programmieren. Nur seine Schnittstelle ist vorgegeben.

Schnittstelle und Verarbeitung fr den IDoc-Ausgang


Als Muster liefert SAP den Funktionsbaustein OWN_FUNCTION aus, der die IDoc-Daten liest und einen Statussatz pro IDoc schreibt (Status 18 fr kein Fehler", 20 fr Fehler"); bei Fehlern wird ein SAP Business Workflow gestartet.

Schnittstelle und Verarbeitung fr den IDoc-Eingang


Ihr Baustein mu den SAP-Funktionsbaustein IDOC_INBOUND_ASYNCHRONOUS aufrufen, der die IDocs auf der Datenbank speichert und ein Ereignis auslst. Dadurch wird die Eingangsverarbeitung asynchron gestartet.

April 2001

67

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

SAP AG

Porttyp XML
Definition
Austausch der IDocs ber XML-Dateien auf Betriebssystemebene. Die Namen der XML-Tags lehnen sich an diejenigen der IDoc-Satzarten bzw. der IDoc-Segmente an.

Verwendung
XML ist als selbsbeschreibende internetfhige Sprache konzipiert. Im Gegensatz zu HTML knnen hier Tags definiert und in einer Document Type Definition bekannt gemacht werden. Dadurch ist XML erweiterbar und entspricht insbesondere dem Konzept der Neudefinition von IDoc-Typen. IDocs im XML-Format knnen mit den entsprechenden Internet-Browsern sofort angezeigt werden. Insbesondere der Electronic Commerce-Bereich verwendet XML, aber auch klassische EDI-Anwendungen sollen XML-fhig werden.

Struktur
Portbeschreibung [Seite 69]

68

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Porttyp XML: Portbeschreibung pflegen

Porttyp XML: Portbeschreibung pflegen


Im Ausgang legen Sie die Regeln fr die Erzeugung der Ausgangsdatei fest. Im Eingang hat die Portbeschreibung nur Einflu auf die Testprogramme (s.u.).

Vorgehensweise
1. Whlen Sie IDoc Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern]. 2. Positionieren Sie auf XML und whlen Sie besttigen Sie Ihre Eingabe. . Geben Sie dem Port einen Namen und

3. In der Beschreibung geben Sie einen mglichst sprechenden Text an. Der Text wird beim Einstiegsbild zur Portbeschreibung und in den Partnervereinbarungen angezeigt. Ein sprechender Text wre z.B. Dateien enthalten die DTD. 4. Registerkarte Ausgangsdatei: Sie knnen whlen, ob die IDocs zusammen mit der entsprechenden Document Type Declaration (DTD) in die XML-Datei geschrieben werden sollen. Die DTD enthlt die Tags, die im nachfolgenden XML-IDoc verwendet werden, also Tags fr die IDoc-Satzarten und die einzelnen Segmente. Die Tags werden wie die einzelnen Felder benannt. So heit die Anfangs-Ende-Tag-Sequenz fr das Feld MESTYP des Kontrollsatzes EDI_DC40 <EDIDC_40-MESTYP><EDIDC_40-MESTYP>. 5. Mglicherweise mssen Sie nationale Sonderzeichen wie ,, in internationale Zeichenfolgen wie ae,oe,ue umsetzen. Dazu pflegen Sie die Umsetztabelle und markieren anschlieend Sonderzeichen umsetzen. Beachten Sie aber, da die Zeichenketten in den Segmentfeldern dann ihre Lnge ndern knnen! 6. Wie beim Porttyp Datei [Seite 52] geben Sie am besten einen Funktionsbaustein an, der die Dateinamen erzeugt. Die SAP-Empfehlung ist EDI_PATH_CREATE_CLIENT_DOCNUM bzw. EDI_LPATH_CREATE_CLIENT_DOCNUM fr logische Verzeichnisse. Diese Funktionsbausteine garantieren eindeutige Dateinamen und verhindern somit ein berschreiben nicht verarbeiteter Dateien. Machen Sie einen Zugangstest fr Ihr Verzeichnis. Die vom Funktionsbaustein erzeugten Dateinamen bersteuern den statischen Namen, den Sie im Feld Ausgangsdatei pflegen knnen. Ein statischer Name kann bei einem Testport sinnvoll sein: Ist Ihr Testport im entsprechenden Feld in der IDoc-Administration [Seite 253] eingetragen, und haben Sie keinen Funktionsbaustein angegeben, dann wird der statische Name in den Testprogrammen [Seite 94] verwendet. Statische wie dynamische Dateinamen erhalten den Zusatz .xml in Windows/NT Betriebssystemen. Logische Verzeichnisse werden betriebssystemabhngig in die in der Transaktion FILE gepflegten physischen Verzeichnisse aufgelst. Beachten Sie hierzu auch die F1-Hilfe auf den Feldern logisches/physisches Verzeichnis. 7. Registerkarte Ausgang: Triggern: Verfahren Sie wie in Schritt 6 beim Porttyp Datei [Seite 52]. Machen Sie wieder einen Zugangstest.

April 2001

69

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

SAP AG

Partner vereinbaren
Einsatzmglichkeiten
Partner, mit denen Sie ber IDocs kommunizieren, mssen in den Partnervereinbarungen gepflegt sein: Hier whlen Sie, welche Nachricht auf welchem Weg an den Partner versandt wird, und wie eingehende Nachrichten verarbeitet werden.

Voraussetzungen
Fr den Partner mssen Stammdaten im System vorhanden sein. Teil der Ausgangspartnervereinbarungen ist die Auswahl eines Ports. Diesen Port mssen Sie zuvor eingerichtet haben. Lesen Sie dazu den Abschnitt Ports einrichten [Seite 40].

Ablauf
Standardablauf
Sinn und Zweck der Vorgangscodes [Seite 71] Lesen Sie zunchst diesen Abschnitt, um sich mit dem Konzept der Vorgangscodes als Teil der Partnervereinbarungen vertraut zu machen. Partnervereinbarungen im Standarddialog [Seite 76] Sie regeln, mit wem Sie welche Nachrichten austauschen. Neue Partner und/oder Nachrichten erfordern immer eine Erweiterung der Konfiguration. Partnervereinbarung prfen [Seite 86] Ihre getroffenen Partnervereinbarungen knnen Sie auf Konsistenz und Vollstndigkeit prfen.

Alternativen zum Standardablauf


Schnellerfassung in den Partnervereinbarungen [Seite 87] Sie bernehmen Vorschlagswerte aus dem Customizing. Individuelle nderungen sind ber den Standarddialog nachtrglich mglich. Die Programmierschnittstelle (API) der Partnervereinbarung [Seite 88] Partner knnen ber spezielle Funktionsbausteine auch dialogfrei vereinbart werden.

Weitere Funktionen
Partnervereinbarungen verschicken [Seite 92] Partnervereinbarungen drucken [Seite 93]

Partnervereinbarungen knnen nicht transportiert werden. Sie werden im Produktivsystem gepflegt, nachdem die Stammdaten angelegt sind.

70

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Sinn und Zweck der Vorgangscodes

Sinn und Zweck der Vorgangscodes


Definition
Zweiter Name fr eine bestimmte Verarbeitung, z.B. Funktionsbaustein oder Workflow. In dieser Verarbeitung werden IDocs gelesen oder geschrieben.

Verwendung
In den Partnervereinbarungen wird die Verarbeitung nie direkt, sondern immer nur ber einen Vorgangscode angesprochen. Dadurch knnen Sie auf einen Schlag bei beliebig vielen Partnern eine alte durch eine neue Verarbeitung ersetzen, indem Sie dieser den bestehenden Vorgangscode zuordnen. Zwei Arten von Vorgangscodes werden in diesem Zusammenhang in den Partnervereinbarungen verwendet: Vorgangscode Ausgang [Seite 72] - Wenn Sie den Ausgang unter Nachrichtensteuerung verwenden, wird das IDoc in der IDoc-Schnittstelle erzeugt. Der Vorgangscode benennt den dafr zustndigen Funktionsbaustein. Vorgangscode Eingang [Seite 73] - benennt den Funktionsbaustein oder Workflow, der die IDoc-Daten liest und in den Anwendungsbeleg berfhrt.

Wenn Sie nicht wissen, welcher Vorgangscode fr Ihren Geschftsproze relevant ist, aber den Nachrichtentyp kennen, so lassen Sie sich die fr diesen Nachrichtentyp definierten Vorgangscodes anzeigen: Whlen Sie dazu Dokumentation Vorgangscodes im Einstiegsknoten der IDoc-Schnittstelle oder verwenden Sie die F4-Hilfe in den Partnervereinbarungen, nachdem Sie den Nachrichtentyp eingetragen haben. Weiterhin gibt es noch die Vorgangscodes fr die Ausnahmebehandlung: Vorgangscode System [Seite 74] - benennt den Workflow, der im Ausnahmefall im Eingang oder Ausgang angestoen wird. Vorgangscode Status [Seite 75] - benennt den Workflow, der im Ausnahmefall bei der Statusverarbeitung angestoen wird.

Diese beiden Arten werden zentral und nicht partnerspezifisch eingestellt, ersparen bei der Neudefinition einer Verarbeitung also keine Arbeit. Sie wurden aber der Vollstndigkeit halber eingefhrt, damit jede Verarbeitung in der IDoc-Schnittstelle durch einen Vorgangscode angesprochen wird.

April 2001

71

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

SAP AG

Vorgangscode Ausgang
Verwendung
Beim Ausgang unter Nachrichtensteuerung [Seite 11] wird ber den Vorgangscode Ausgang die Verarbeitung (Funktionsbaustein der Anwendung) gefunden, die die Anwendungsdaten liest und in ein IDoc stellt. In folgenden Fllen mssen Sie die Vorgangscodes Ausgang bearbeiten: Sie haben einen Funktionsbaustein geschrieben (z.B. fr einen eigenen IDoc-Typ), den Sie 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 kann sich gnstig auf die Performance (weniger Speicherbedarf) auswirken

Funktionsumfang
Die Ausgangsvorgangscodes sind anwendungsspezifisch.

Aktivitten
Den gewnschten Vorgangscode ermitteln Sie aus den entsprechenden Partnervereinbarungen oder ber Dokumentation Vorgangscode im Einstiegsknoten der IDoc-Schnittstelle [Extern]. Sie whlen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung Vorgangscode Ausgang. Sie whlen Tabellensicht Anzeigen/ndern, um eine Zuordnung zu ndern oder einen neuen Eintrag zu machen.

72

April 2001

SAP AG

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

Vorgangscode Eingang
Verwendung
ber den Vorgangscode Eingang wird die Verarbeitung (Workflow oder Funktionsbaustein der Anwendung) gefunden, die die IDoc-Daten liest und daraus Anwendungsbelege erzeugt. In folgenden Fllen mssen Sie die Vorgangscodes Eingang bearbeiten: Sie wollen eine neue Verarbeitung verwenden und brauchen dafr einen neuen Vorgangscode Sie wollen dem Vorgangscode X eine andere Verarbeitung zuordnen Sie wollen die ALE-Dienste ein- oder ausschalten (nur mglich, wenn die Verarbeitung ein Workflow ist!). Ein Abschalten der ALE-Dienste kann sich gnstig auf die Performance (weniger Speicherbedarf) auswirken.

Funktionsumfang
Die Eingangsvorgangscodes sind anwendungsspezifisch. Von der IDoc-Basis wird speziell der Vorgangscode ED08 ausgeliefert, der eingehende IDocs an verteilte R/3-Systeme weiterleitet (Funktion Weiterleiten Eingang). Diese Verarbeitung ist durch das Workflow-Muster WS30000483 definiert.

Aktivitten
Den gewnschten Vorgangscode ermitteln Sie aus den entsprechenden Partnervereinbarungen oder ber Dokumentation Vorgangscode im Einstiegsknoten der IDoc-Schnittstelle [Extern]. Sie whlen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung Vorgangscode Eingang. Sie whlen Tabellensicht Anzeigen/ndern, um eine Zuordnung zu ndern oder einen neuen Eintrag zu machen.

April 2001

73

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

SAP AG

Vorgangscode System
Verwendung
Treten bei der Bearbeitung von IDocs bzw. Anwendungsdaten Fehler in der IDoc-Schnittstelle auf, so wird ein Workitem erzeugt. Die Typ des Workitems (die Standardaufgabe) ist abhngig von der Art des Fehlers. Der Workflow steuert die Bearbeitung des Fehlers aus dem integrierten Eingangskorb. Weitere Informationen finden Sie unter Ausnahmebehandlung [Seite 27]

Funktionsumfang
Folgende Vorgangscodes werden im Standard ausgeliefert:

Vorgangscodes System Vorgangscode


EDII EDIO EDIP EDIX EDIY EDIM

Erklrung
Fehler bei der Eingangsbearbeitung Fehler bei der Ausgangsbearbeitung Fehler bei Ausgangsbearbeitung eines IDoc-Stapels (Ausgabemodus IDocs sammeln) IDoc-Syntaxfehler im Ausgang IDoc-Syntaxfehler im Eingang Fehler, bei dem noch keine Zuordnung mit einem IDoc getroffen werden konnte. (z.B. die Datei konnte nicht geffnet werden) Es existiert noch kein IDoc.

Standardaufgabe
TS00008068 TS00007989 TS60001307 TS00008070 TS00008074 TS30000020

Aktivitten
Wenn Sie mchten, da eine bestimmte Fehlerart auf andere Weise bearbeitet wird, als dies im Standard der Fall ist, dann ordnen Sie dem entsprechenden Vorgangscode eine andere Aufgabe zu. Sie pflegen den Vorgangscode System aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] ber Steuerung Vorgangscode System. Whlen Sie Tabellensicht Anzeigen/ndern, um eine Zuordnung zu ndern oder einen neuen Eintrag zu machen.

Sie knnen von der Tabelle durch Doppelklick auf die Workflow-Definition der entsprechenden Aufgabe verzweigen.

74

April 2001

SAP AG

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

Vorgangscode Status
Verwendung
Wird vom externen System ein Fehlerstatus fr versandte IDocs zurckgemeldet, so wird eine Fehleraufgabe erzeugt.

Funktionsumfang
Folgende Vorgangscodes sind im Standard mit folgenden Aufgaben gekoppelt:

Vorgangscode Status Vorgangscode


EDIS

Erklrung
Fehlerstatus vom EDI-Subsystem zu einem AusgangsIDoc empfangen. Beim Ausfhren des Workitems wird der entsprechende Statussatz mit der Fehlernachricht angezeigt.

Standardaufgabe
TS30000078

EDIR

TS70008125 Wie EDIS, nur da Sie hier bei Ausfhren des Workitems das entsprechende Ausgangs-IDoc nochmals verschicken knnen.

Aktivitten
ber die Statuspflege knnen Sie anzeigen oder ndern, bei welchen rckgemeldeten Status diese Vorgangscodes aktiv werden: Whlen 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 mchten, da die Rckmeldung eines Status fehlerhaft auf andere Weise als im Standard bearbeitet wird, dann ordnen Sie dem entsprechenden Fehlercode eine andere Standardaufgabe zu. Sie pflegen den Vorgangscode Status aus dem Einstiegsknoten der IDoc-Schnittstelle ber Steuerung Vorgangscode Status. Whlen Sie Tabellensicht Anzeigen/ndern, um eine Zuordnung zu ndern oder einen neuen Eintrag zu machen.

Sie knnen von der Tabelle durch Doppelklick auf die Workflow-Definition der entsprechenden Aufgabe verzweigen.

April 2001

75

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Partnervereinbarungen im Standarddialog

SAP AG

Partnervereinbarungen im Standarddialog
Einsatzmglichkeiten
Sie legen Partnervereinbarungen ohne Vorschlagswerte aus dem Customizing an. Die Pflege ist damit am individuellsten, aber auch am aufwendigsten.

Ablauf
Partnervereinbarungen werden getrennt nach Ein- und Ausgangsverarbeitung getroffen. Jeder Partner mu allerdings in den allgemeinen Partnervereinbarungen vorgesehen sein. Beim Ausgang unter Nachrichtensteuerung (NAST) mssen Sie zustzliche Parameter einstellen. Gehen Sie fr die Partnervereinbarungen zum Einstiegsknoten der IDoc-Schnittstelle [Extern].

Siehe auch:
Allgemeine Partnervereinbarung [Seite 77] Partnervereinbarung Ausgang [Seite 78] Zustzliche Parameter beim Ausgang unter NAST [Seite 81] Partnervereinbarung Eingang [Seite 84]

Graphik: Abhngigkeiten und wichtige Felder der Partnervereinbarungen.

Partner Erlaubte Bearbeiter Allgemein Partner Nachricht Port IDoc-Typ EDI-Struktur Erlaubte Bearbeiter Ausgang

Partner Applikation Vorgangscode Logische Nachricht

Partner Nachricht Vorgangscode Erlaubte Bearbeiter Eingang

NAST-Parameter

Die vier Teile der Partnervereinbarungen entsprechen vier Tabellen, deren Schlssel in der Graphik durch helle Felder angedeutet sind.

76

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Allgemeine Partnervereinbarung anlegen

Allgemeine Partnervereinbarung anlegen


Voraussetzungen
Je nach seiner Art mssen fr den Partner bereits Daten im System vorhanden sein (z.B. ein Kreditorenstamm). Genaues finden Sie unter Prfen von Partnern nach Partnerart [Seite 258].

Vorgehensweise
1. Whlen 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 gewnschten Partnerart (z.B. LI fr Lieferant) und whlen Sie . Ihre weiteren Eintrge machen Sie im rechten Bildbereich. Geben Sie dort die Partnernummer (z.B. einen Ihrer Lieferanten) ein. 3. Sie knnen Ihre Partner in Partnerklassen einteilen (Registerkarte Klassifikation). Dann knnen Sie mittels des API (siehe auch Unterabschnitt Die Programmierschnittstelle (API) der Partnervereinbarung [Seite 88]) eine neue Nachricht fr alle Partner einer Klasse vereinbaren, indem Sie diese einmalig fr die Klasse anlegen. 4. Setzen Sie den Partnerstatus auf aktiv, um mit Ihrem Partner zu kommunizieren (Registerkarte Klassifikation). Mit dem Status inaktiv knnen Sie die Kommunikation mit ihm abschalten. Im Status Vorlage dient er als (inaktives) Musterprofil fr das API der Partnervereinbarungen. 5. Fr den Ausnahmefall (etwa fehlerhafte bertragung von IDocs) legen Sie erlaubte Bearbeiter fest (Registerkarte Nachbearbeitung: erlaubte Bearbeiter). Weitere Informationen zur Bearbeiterermittlung finden Sie unter Rollenauflsung in der Ausnahmebehandlung [Seite 31] 6. Mit dem Archivkennzeichen geben Sie an, ob zu diesem Partner Unterlagen im Archiv existieren. Dieses Kennzeichen hat nur dokumentarischen Charakter (Registerkarte Klassifikation). 7. Falls Ihr R/3-System ber SAPphone an ein Telefonsystem angeschlossen und Ihr Rechner einem Telephonanschlu zugeordnet ist, knnen Sie partnerspezifisch Telephoniedaten pflegen (Registerkarte Telephonie). Diese Daten finden Sie dann in der IDoc-Anzeige [Seite 120] der IDocs dieses Partners wieder, und Sie knnen per Drucktaste den Partner direkt anwhlen.

April 2001

77

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

SAP AG

Ausgangspartnervereinbarung anlegen
Hier geben Sie die Daten von Hand ein. Alternativ dazu knnen Sie auch Vorschlagswerte aus dem Customizing bernehmen [Seite 87]. 1. Falls Sie noch nicht im nderungsbild Ihres gewnschten Partners sind, whlen Sie IDoc Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern].

2. Im Knoten der gewnschten Partnerart positionieren Sie auf Ihren Partner. Whlen Sie unter der Tabelle Ausgangsparameter. Schlsselfelder
3. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt. Die Partnerrolle [Extern] aus den Stammdaten legt die Funktion des Adressaten fest, dient also zur weiteren Unterteilung. Wenn der Ausgang unter Nachrichtensteuerung (NAST) gewhlt wird, mu sich die Rolle mit dem entsprechenden NAST-Feld decken. Ansonsten ist sie optional.

Handelspartner A will ein Material bei Handelspartner B bestellen. Partner B ist von der Partnerart LI (Lieferant/Kreditor), als Partnerrolle mu der NAST-Wert LF (Lieferant) gewhlt werden, da Bestellungen immer ber die NAST laufen. 4. Benennen Sie mit der logischen Nachricht den Geschftsproze, innerhalb dessen der IDoc-Typ eingesetzt wird. Die logische Nachricht wird durch drei Parameter beschrieben: Der Nachrichtentyp orientiert sich an EDIFACT-Nachrichtentypen: z.B. ist eine Bestellung vom Typ ORDERS. Mit den optionalen Feldern Nachrichtenvariante und Nachrichtenfunktion knnen Sie den Nachrichtentyp weiter untergliedern. 5. Setzen Sie das Testkennzeichen, wenn Sie die Nachricht testweise versenden wollen.

Nachricht, Partner und Testkennzeichen sind die sieben Schlsselfelder der Ausgangspartnervereinbarungen (hinzu kommt noch der Mandant). Beachten Sie dazu auch die Graphik am Ende dieses Abschnittes.

Weitere Felder
6. In der Registerkarte Ausgangsoptionen bestimmen Sie im Ausgabemodus, ob IDocs sofort an das Folgesystem bergeben werden. Achten Sie hier auf sinnvolle Kombinationen mit den Prioritten der Nachrichtensteuerung, wenn Sie diese Ausgangsverarbeitung gewhlt haben! Eine Liste solcher sinnvollen Kombinationen finden Sie im Abschnitt Ausgangsverarbeitung unter NAST: Vorgehen [Seite 14]. 7. Den Empfngerport haben Sie bereits in der Portbeschreibung [Seite 40] definiert. 8. Geben Sie den IDoc-Typ an, als Basistyp mit oder ohne Erweiterung [Seite 159]. Falls Sie eine Sicht [Seite 172] auf Ihren IDoc-Typ nutzen wollen (z.B. um die Performance zu verbessern), 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 ist z.B. genau einem IDoc-Typ zugeordnet, whrend Nachricht 3 zwei IDoc-Typen zugeordnet ist. IDoc-Typ 2 ist seinerseits auch 2 logischen Nachrichten zugeordnet.

78

April 2001

SAP AG

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

Nachricht 1

Nachricht 2

Nachricht 3

IDoc-Typ 1

IDoc-Typ 2

IDoc-Typ 3

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 zu lassen, um die neueste Segmentdefinition zu verwenden. Nur falls ber EDI-Subsysteme mit lteren R/3-Releases kommuniziert wird, sollte dieses Feld als untersttzende Information fr das EDI-Subsystem gefllt werden. 8. Auf der Registerkarte EDI-Standard knnen Sie dem Folgesystem - hier ein EDISubsystem - EDI-Standard, -Version und EDI-Nachrichtentyp vorschlagen. Diese EDIEinstellungen sollten die meisten Subsysteme allerdings selbst (aus der logischen Nachricht) ableiten knnen. 9. Sie knnen erlaubte Bearbeiter im Ausnahmefall festlegen. Diese bersteuern den Eintrag aus den allgemeinen Partnervereinbarungen. Damit kann die Ausnahmebehandlung je nach Nachricht von unterschiedlichen Bearbeitern desselben Partners vorgenommen werden. 10. Sie knnen einstellen, ob Syntaxfehler ignoriert werden oder ob sie zu einem Verarbeitungsfehler fhren sollen (Syntaxprfung in der Registerkarte Ausgangsoptionen). Zum Ausnahmefall und zu erlaubten Bearbeitern sei auch auf den Unterabschnitt Ausnahmebehandlung [Seite 27] verwiesen. 11. Falls Ihre Hardware das untersttzt, legen Sie partner- und nachrichtenspezifsche Telephoniedaten fr Ausgangs-IDocs an. Weitere Informationen finden Sie unter Allgemeine Partnervereinbarung [Seite 77].

Graphik: Felder der Ausgangspartnervereinbarungen (allgemein)


Schlsselfelder sind grau dargestellt. Partner, Nachricht und Testkennzeichen (und der Mandant) bestimmen also eindeutig den IDoc-Typ im Ausgang!

April 2001

79

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

SAP AG

Partner (Nummer, Art, Rolle)

Nachricht (Typ, Variante, Funktion)

Test?

Port

IDoc-Typ, erlaubte Bearbeiter, ...

80

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Zustzliche Parameter beim Ausgang unter NAST

Zustzliche Parameter beim Ausgang unter NAST


Hier legen Sie zustzliche Ausgangsparameter fest, die Feldern aus dem Nachrichtenvorschlag der Nachrichtensteuerung [Extern] (NAST) entsprechen. Da die IDoc-Erzeugung in diesem Fall in der Verantwortung der IDoc-Schnittstelle liegt, geben Sie hier zudem auch einen Vorgangscode an.

Voraussetzungen
Die Nachrichtensteuerung ist im System vorhanden Sie haben im Anlegebild der Ausgangspartnervereinbarung bereits einen Partner mit Partnerrolle angelegt [Seite 78]. Die Partnerrolle kommt aus den Stammdaten und wird von der Nachrichtensteuerung ber die Tabelle NAST an die IDoc-Schnittstelle weitergereicht.

Vorgehensweise
1. Falls Sie noch nicht im nderungsbild mit der gewnschten Partnerrolle sind, markieren Sie diese in der Tabelle Ausgangsparameter. Whlen Sie gegebenfalls , um in den unter der Tabelle Ausgangsparameter. nderungsmodus zu gelangen, und whlen Sie 2. Whlen Sie die Registerkarte Nachrichtensteuerung. Unter der Tabelle whlen Sie .

Schlsselfelder
3. 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 fr Einkauf Bestellung). Zusammen mit dem nderungskennzeichen (zum Beispiel bei einer Bestellnderung) und dem Mandant bilden Partner, Nachrichtenart und Applikation die Schlsselfelder der zustzlichen Ausgangs-Partnervereinbarungen unter NAST. Beachten Sie dazu auch die Graphik am Ende dieses Abschnittes.

Die folgende Tabelle gibt hufig verwendete Zuordnungen von NAST-Feldern (Anwendung, Partnerrolle und Nachrichtenart) zur logischen Nachricht der IDocSchnittstelle wieder.

Anwendung
EA EF EF V1 V1 V2

Partnerrolle
LF LF LF AG AG WE

Nachrichtena rt
NEU NEU NEU AN00 BA00 LAVA

nderu ng

log. Nachricht
REQOTE ORDERS

ORDCHG QUOTES ORDRSP DESADV

April 2001

81

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Zustzliche Parameter beim Ausgang unter NAST
V3 V3 WE RE AUS1 RD00

SAP AG

EXPINV INVOIC

Ein Nachrichtenvorschlag der NAST wird immer als Satz der Tabelle NAST abgelegt. Wurde also aus Ihrem Anwendungsbeleg bereits ein Nachrichtenvorschlag erzeugt, knnen Sie die richtige Applikation, Partnerrolle und Nachrichtenart aus dieser Tabelle entnehmen. Verwenden Sie dazu in der Transaktion SE16 Ihre Belegnummer als Schlssel. Auerdem legen Sie im allgemeinen die Partnerrolle in einer Nachricht [Extern] (Synonym: Konditionssatz) in der jeweiligen Anwendung fest. Damit knnen Sie diesen Parameter bereits aus der Nachrichtendefinition ablesen.

Weitere Felder
5. 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 die erlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sie ber Dokumentation Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.

Ergebnis
Sie 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 berprfen [Seite 86].

Graphik: Felder der Ausgangs-Partnervereinbarungen (allgemein und NAST-spezifisch)


Schlsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner, Applikation und Nachrichtenart (mit nderungskennzeichen) bestimmen also (zusammen mit dem Mandanten) eindeutig den IDoc-Typ im Ausgang!

82

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Zustzliche Parameter beim Ausgang unter NAST

Zustzliche Partnervereinbarung Ausgang unter NAST Partner Applikation (Nummer, Art, Rolle) Nachrichtenart; nderungsnachricht?

Nachricht (Typ, Variante, Funktion)

Vorgangscode

Partner (Nummer, Art, Rolle)

Nachricht (Typ, Variante, Funktion)

Test?

Port

IDoc-Typ, erlaubte Bearbeiter, ...

Partnervereinbarung Ausgang allgemein

April 2001

83

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

SAP AG

Partnervereinbarung Eingang
Sie legen fest, welche Nachrichten Sie von welchem Partner akzeptieren wollen. Hier geben Sie die Daten von Hand ein. Alternativ dazu knnen Sie auch Vorschlagswerte aus dem Customizing bernehmen [Seite 87].

Vorgehensweise
4. Falls Sie noch nicht im nderungsbild Ihres gewnschten Partners sind, whlen Sie IDoc Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle. 5. Im Knoten der gewnschten Partnerart positionieren Sie auf Ihren Partner. Whlen Sie unter der Tabelle Eingangsparameter.

Schlsselfelder
1. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt. Die Partnerrolle [Extern] ist optional.

Handelspartner B will elektronische Kundenauftrge von Handelspartner A aufnehmen knnen. Er trgt dann Partner A in der Partnerart KU (Kunde) ein, die Partnerrolle kann als AG (Auftraggeber) gewhlt werden. 2. Die Nachricht wird durch drei Parameter beschrieben: Der Nachrichtentyp orientiert sich an EDIFACT-Nachrichtentypen: Eine Bestellung ist z.B. vom Typ ORDERS. Durch Nachrichtenvariante und -funktion knnen Sie den Typ weiter untergliedern. 3. Zusammen mit dem Testkennzeichen (und dem Mandant) bilden Nachricht und Partner die Schlsselfelder der Eingangspartnervereinbarungen. Das ist genau wie beim (allgemeinen) Ausgang. Beachten Sie dazu auch die Graphik am Ende dieses Abschnittes.

Weitere Felder
4. Benennen Sie mit dem Vorgangscode den Proze (Funktionsbaustein oder Workflow), der bei Eingang des IDocs angestoen werden soll (Registerkarte Eingangsoptionen). Zum Nachrichtentyp (logische Nachricht) und IDoc-Typ erhalten Sie ber die F4-Hilfe die erlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sie ber Dokumentation Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.

Das aktuelle SAP-Release untersttzt keine Vorgnge mehr. Die Vorgangstechnik wurde durch den SAP Business Workflow abgelst. 5. Sie knnen erlaubte Bearbeiter im Ausnahmefall festlegen. Diese bersteuern dann den Eintrag aus den allgemeinen Partnervereinbarungen. Damit kann die Ausnahmebehandlung beim selben Partner je nach Nachricht von unterschiedlichen Bearbeitern vorgenommen werden. 6. Sie knnen festlegen, ob Syntaxfehler im IDoc ignoriert werden sollen oder ob sie zu einer Ausnahmebehandlung fhren sollen (Registerkarte Eingangsoptionen, Feld Syntaxprfung). 7. Auf der Registerkarte Eingangsoptionen legen Sie fest, ob das eingegangene IDoc sofort verarbeitet werden soll.

84

April 2001

SAP AG

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

Das Kennzeichen wirkt nur bei der direkten Eingangsverarbeitung [Seite 19]. In ALEVerteilungsszenarien z.B. knnen eingegangene IDocs erst einmal stillgelegt und erst spter im Hintergrund weiterverarbeitet werden. 8. Falls Ihre Hardware das untersttzt, legen Sie partner- und nachrichtenspezifsche Telephoniedaten fr Eingangs-IDocs an. Weitere Informationen finden Sie unter Allgemeine Partnervereinbarung [Seite 77].

Graphik: Felder der Eingangspartnervereinbarungen


Schlsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner, Nachricht und Testkennzeichen (und der Mandant) eines Eingangs-IDocs bestimmen also eindeutig den Vorgangscode und damit die Art der Eingangsverarbeitung!
IDoc-Kontrollsatz IDoc-Typ Partner (Nummer, Art, Rolle) Nachricht (Typ, Variante, Funktion) Test?

Partner (Nummer, Art, Rolle)

Nachricht (Typ, Variante, Funktion)

Test?

Vorgangscode

Eingang mit ALE?, erlaubte Bearbeiter, ...

Eingangspartnervereinbarungen

April 2001

85

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

SAP AG

Partnervereinbarung prfen
Verwendung
Sie knnen Ihre Eintrge in den Partnervereinbarungen automatisch prfen lassen. Geprft wird beispielsweise, ob die erlaubten Bearbeiter existieren oder ob es die angegebenen Vorgangscodes gibt.

Funktionsumfang
Geprft wird pro Partner.

Aktivitten
Whlen Sie IDoc Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern]. Positionieren Sie auf Ihren Partner (identifiziert durch Partnernummer und -art). Whlen Sie und im Folgebild . Sie erhalten eine Liste der Prfaktivitten und deren Ergebnis. Bei fehlerhaften Partnervereinbarungen wird Ihnen mitgeteilt, woran es lag.

Es wird immer geprft, ob die zustzlichen Parameter beim Ausgang unter Nachrichtensteuerung (Partnerrolle, Applikation...) vorhanden sind mit denen aus der entsprechenden allgemeinen Ausgangspartnervereinbarung bereinstimmen

Diesbezgliche Warnungen knnen Sie daher ignorieren, wenn Sie den direkten Ausgang (ohne Nachrichtensteuerung) verwenden.

86

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Schnellerfassung in den Partnervereinbarungen

Schnellerfassung in den Partnervereinbarungen


Verwendung
Die Schnellerfassung reduziert die Anzahl der Parameter, die in den Partnervereinbarungen angegeben werden mssen. Fr die brigen Parameter werden Vorschlagswerte aus dem Customizing bernommen. Zur Bedeutung der einzelnen Parameter lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76]

Voraussetzungen
Sie mssen Vorschlagswerte eingestellt haben. Diese werden abhngig von Richtung und Partnerart definiert. Vorschlagswerte knnen Sie auf folgende zwei Arten einstellen: Im Customizing der IDoc-Schnittstelle unter Basis Basis Services IDoc-Schnittstelle Basis. Die entsprechende IMG-Aktivitt ist Vorschlagswerte fr Partnervereinbarungen setzen. Aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] unter Steuerung Partnervereinbarung

Zur Vorgehensweise beachten Sie die IMG-Dokumentation Vorschlagswerte fr Partnervereinbarungen setzen [Extern]

Aktivitten
Sie whlen IDoc Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle. Sie knnen einen bereits angelegten Partner markieren. Whlen Sie . Wenn Sie keinen Partner markiert hatten, geben Sie hier Ihren neuen Partner mit Nummer und Art an. Auf jeden Fall whlen Sie die Richtung aus. Sie erhalten eine Liste der im Customizing vorkonfigurierten Vorschlagswerte, geordnet nach dem Schlsselfeld Nachrichtentyp. Die Nachrichtentypen, die bei Ihrem Partner bereits fr die gewnschte Richtung eingetragen sind, werden allerdings ausgeblendet. Nachdem Sie den gewnschten Nachrichtentyp ausgewhlt haben, werden die entsprechenden Vorschlagswerte (Vorgangscode, erlaubte Bearbeiter etc.) fr den Partner bernommen. Individuelle Parameter knnen Sie ber die Partnervereinbarungen im Standarddialog anpassen.

April 2001

87

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Programmierschnittstelle (API) der Partnervereinbarung

SAP AG

Die Programmierschnittstelle (API) der Partnervereinbarung


Verwendung
Um die Partnerdaten dialogfrei zu pflegen, verwenden Sie Funktionsbausteine der IDocSchnittstelle. Damit knnen Sie z.B. eine groe Anzahl von Partnern der Datenbank hinzufgen und brauchen nicht die Partnerdaten am System einzugeben.

Funktionsumfang
Die 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 die jeweilige Datenbankoperation.

Funktionsbausteine fr EDPP1 (allgemeine Partnervereinbarung) Name Beschreibung


EDI_AGREE_PARTNER_INSERT Fgt neuen Partner ein. Prft vorher: Partnernummer existiert im System (z.B. Stammsatz)? Partnerart zulssig? Partnerstatus zulssig (A,I, oder T)? Bearbeiterart zulssig? Erlaubte Bearbeiter existieren? Test- und Archivkennzeichen nicht initial?

Partnerart und Partnernummer knnen auch ungeprft bernommen werden EDI_AGREE_PARTNER_UPDAT ndert Partner. Prfungen wie E EDI_AGREE_PARTNER_INSERT. EDI_AGREE_PARTNER_DELETE Lscht Partner EDI_AGREE_PARTNER_READ Liest Partnerdaten

Funktionsbausteine fr EDP12 (Nachrichtensteuerung) Name Beschreibung

88

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Programmierschnittstelle (API) der Partnervereinbarung

EDI_AGREE_OUT_IDOC_INSER Fgt neuen Eintrag ein. Prft vorher: T Partner existiert in Tabelle EDPP1? Partnerrolle existiert in Tabelle TPAR? Applikation fr Nachrichtenkonditionen und Nachrichtenart existieren als Kombination? nderungs- und Testkennzeichen nicht initial? Vorgangscode Ausgang existiert in Tabelle TEDE1? Logischer Nachrichtentyp existiert in Tabelle EDMSG?

EDI_AGREE_OUT_IDOC_UPDAT ndert eine Zeile. Prfungen wie E EDI_AGREE_OUT_IDOC_INSERT, Ausnahme: Es wird nicht geprft, ob der Partner in EDPP1 existiert. EDI_AGREE_OUT_IDOC_DELET Lscht eine Zeile. E EDI_AGREE_OUT_IDOC_READ Liest eine Zeile.

Funktionsbausteine fr EDP13 (Ausgangsparameter) Name Beschreibung

EDI_AGREE_OUT_MESSTYPE_I Fgt neuen Eintrag ein. Prft vorher: NSERT Partner existiert in Tabelle EDPP1? Partnerrolle existiert in Tabelle TPAR? Logischer Nachrichtentyp existiert in Tabelle EDMSG? Testkennzeichen und Syntaxprfung nicht initial? Bearbeiterparameter gltig? Ausgabemodus gltig (Wert zwischen 1 und 4)? Port in Tabelle EDIPORT vorhanden? Paketgre: (ALE-Szenario) Werden mehr als 0 IDocs pro RFC versandt? Release existiert, zu dem die Segmentdefinitionen gezogen werden sollen?

EDI_AGREE_OUT_MESSTYPE_ ndert eine Zeile. Prfungen wie UPDATE EDI_AGREE_OUT_MESSTYPE_INSERT, Ausnahme: Es wird nicht geprft, ob der Partner in EDPP1 existiert. EDI_AGREE_OUT_MESSTYPE_ Lscht eine Zeile. DELETE EDI_AGREE_OUT_MESSTYPE_ Liest eine Zeile. READ

Funktionsbausteine fr EDP21 (Eingangsparameter)

April 2001

89

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Programmierschnittstelle (API) der Partnervereinbarung Name Beschreibung

SAP AG

EDI_AGREE_IN_MESSTYPE_INS Fgt neuen Eintrag ein. Prft vorher: ERT Partner existiert in Tabelle EDPP1? Partnerrolle existiert in Tabelle TPAR? Logischer Nachrichtentyp existiert der Tabelle EDMSG? Testkennzeichen und Syntaxprfung nicht initial? Bearbeiterparameter gltig? Vorgangscode existiert in Tabelle TEDE2? Verarbeitungsmodus nicht initial?

EDI_AGREE_IN_MESSTYPE_UP ndert eine Zeile. Prfungen wie DATE EDI_AGREE_IN_MESSTYPE_INSERT. EDI_AGREE_IN_MESSTYPE_DE Lscht eine Zeile. LETE EDI_AGREE_IN_MESSTYPE_RE Liest eine Zeile. AD 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) fr einen speziellen Partner. EDI_PARTNER_DELETE_COMPLE Lscht alle Partnervereinbarungen fr einen speziellen TE Partner. EDI_PARTNER_COPY_COMPLETE Kopiert alle Partnervereinbarungen eines speziellen Partners. EDI_PARTNER_APPL_READ_OUT Liest EDP13 fr einen speziellen Partner. Der Partner mu den Partnerstatus aktiv haben. EDI_PARTNER_READ_OUTGOING Liest EDP12 und EDP13 fr einen speziellen Partner. Der Partner mu den Partnerstatus aktiv haben. EDI_PARTNER_READ_INCOMING Liest EDP21 fr einen speziellen Partner. Der Partner mu den Partnerstatus aktiv haben. EDI_PARTNER_READ_USER_OUT Liest erlaubte Bearbeiter aus EDP13 bzw. EDPP1. GOING EDI_PARTNER_READ_USER_INC Liest erlaubte Bearbeiter aus EDP21 bzw. EDPP1. OMING EDI_PARTNER_TEST_OUTGOING Testet, ob ein Partner fr die Ausgangsverarbeitung vorhanden ist. EDI_PARTNER_TEST_INCOMING Testet, ob ein Partner fr die Eingangsverarbeitung vorhanden ist

90

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Die Programmierschnittstelle (API) der Partnervereinbarung

April 2001

91

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

SAP AG

Partnervereinbarungen verschicken
Verwendung
Sie knnen Partnervereinbarungen ber den IDoc-Typ SYPART01 an ein externes System versenden. Diesem IDoc-Typ entsprechen im Standard EDIFACT die Nachrichten PARTIN und IMPDEF.

Voraussetzungen
Da Sie in diesem Fall auch wieder die IDoc-Schnittstelle nutzen, mssen sie Ausgangspartnervereinbarungen [Seite 78] fr den IDoc-Typ SYPART01 pflegen. Die logische Nachricht hierfr heit SYPART. Ein Mappingvorschlag fr den Standard befindet sich in der Dokumentation [Seite 152] zu diesem IDoc-Typ.

Vorgehensweise
1. Gehen Sie in die Partnervereinbarungen (Einstiegsknoten der IDoc-Schnittstelle [Extern] IDoc Partnervereinbarungen). 2. Whlen Sie einen Partner aus, dessen Daten Sie transportieren mchten. 3. Whlen Sie .

4. Geben Sie Art und Nummer des Partners an, an den Sie die Partnervereinbarungen verschicken wollen.

Ergebnis
Das System verschickt ein IDoc des Typs SYPART01 an den von Ihnen ausgewhlten Partner.

92

April 2001

SAP AG

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

Partnervereinbarungen drucken
1. Whlen Sie in den Partnervereinbarungen einen Partner aus. 2. Whlen Sie und im Folgebild .

Sie knnen auch mehrere Partner auswhlen, indem Sie die Selektionsbedingungen entsprechend erweitern (im Folgebild auswhlen). 3. Sie knnen im angezeigten Baum nach Bedarf einzelne Knoten auf- oder wieder zuklappen. Auerdem knnen Sie durch Markieren einen Ausschnitt setzen, der dann allein angezeigt wird. 4. Wenn Sie mit der Baumausgabe zufrieden sind, whlen Sie System Liste drucken.

April 2001

93

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test der Verarbeitung

SAP AG

Test der Verarbeitung


Verwendung
Mit den Testprogrammen knnen Sie bestimmte Teilabschnitte in der Verarbeitungskette von der Anwendung zur Anwendung umgehen und damit Fehler lokalisieren. Mit ihnen kann aber auch ein gesamter Geschftsproze (z.B. Bestellung auf Kundenseite mit Buchen der Bestellung auf Lieferantenseite) in einem R/3-System (ohne weitere Systeme) simuliert werden. Deshalb sind sie ein wichtiges Hilfsmittel beim Einrichten der IDoc-Schnittstelle wie auch beim Definieren neuer IDoc-Typen.

Funktionsumfang
Die Abbildung unten zeigt, welche Testprogramme bei welchen Verarbeitungsschritten eingreifen: Beispielsweise wird beim Test ab NAST aus einem vorhandenen Nachrichtenstatussatz (der ber den Objektschlssel auf die Anwendungsdaten zeigt) ein IDoc fr den Ausgang der IDoc-Schnittstelle erzeugt.

Funktion
Testwerkzeug [Seite 96]

Voraussetzung
keine

Ergebnis
Je nach gewhlter Richtung werden ein oder mehrere Eingangs- bzw. AusgangsIDocs erzeugt und an die entsprechende Verarbeitung bergeben. Ausgangs-IDoc wird erzeugt. Je nach Partnervereinbarung wird es ans externe System weitergereicht IDoc wird ans externe System weitergereicht Die Status werden dem betreffenden Ausgangs-IDoc als Statusstze angehngt. Je nach Status wird eine Ausnahmebehandlung angestoen. IDoc wird erzeugt und an die Eingangsverarbeitung (bis hinauf zur Anwendung) bergeben IDoc wird erzeugt und an die Eingangsverarbeitung (bis hinauf zur Anwendung) bergeben

Ausgang ab NAST [Seite 100]

Nachrichtenstatussatz der Nachrichtensteuerung (NAST) liegt vor, zeigt auf das Anwendungsobjekt (z.B. Bestellung) Ausgangs-IDoc liegt im Status 30 vor Die Status mssen sich auf ein vorhandenes AusgangsIDoc beziehen.

Ausgang ab IDoc [Seite 101] Eingang Statusdatei [Seite 102]

Eingang mod. Ausg.Datei [Seite 104]

Datei mit einem oder mehreren Ausgangs-IDocs liegt im Betriebssystem vor (Porttyp Datei) Datei mit einem oder mehreren Eingangs-IDocs liegt im Betriebssystem vor (Porttyp Datei)

Eingang orig. Eing.Datei [Seite 105]

94

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test der Verarbeitung

Aktivitten
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 Status gekennzeichnet: Im Eingang ist es der Status 74, im Ausgang der Status 42.

Abbildung: Eingriff der Testwerkzeuge in den Verabeitungsflu


Anwendung NAST

Test ab NAST

Testwerkzeug
IDoc-Schnittstelle

Test ab IDoc
Statussatz IDoc

Betriebssystem Datei (Ausgang)

Eing.orig. Eing.-Datei
Datei (Eingang)

Eingang Statusdatei

Eing.mod. Ausg.-Datei Testwerkzeug

April 2001

IDoc Datei (Status)

IDoc

NASTSatz IDoc

95

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

SAP AG

Testwerkzeug
Verwendung
ber das Testwerkzeug erzeugen Sie von Hand ein IDoc und fhren es entweder der Eingangs- oder Ausgangsverarbeitung zu. Sie sind von Porttypen unabhngig. Sie knnen mit einem IDoc-Typ (einem leeren IDoc) oder einem alten IDoc als Vorlage beginnen und dieses dann editieren, also etwa Segmente einfgen oder Daten ndern. Dadurch knnen Sie insbesondere neue IDoc-Typen gut testen. Im Eingang knnen Sie Ihr neues IDoc an die Standard-Eingangsverarbeitung bergeben (mit Prfen der Partnervereinbarungen etc.). Sie knnen aber auch direkt einen Funktionsbaustein aufrufen. Dadurch knnen Sie etwa neue Funktionsbausteine zu neuen IDoc-Typen testen.

Aktivitten
Sie starten das Testwerkzeug aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] ber Test Testwerkzeug. Sie knnen eine Vorlage fr Ihr Test-IDoc verwenden. IDoc-Typen als Vorlage knnen Sie entweder direkt oder nach einem Nachrichtentyp auswhlen. Bei IDocs als Vorlage knnen Sie die F4-Hilfe verwenden, die IDocs nach Selektionskriterien aussucht, analog z.B. zur IDoc-Anzeige [Seite 120]. Bei einer IDocDatei als Vorlage werden die IDocs aus dieser Datei gelesen und Ihnen zur Auswahl angeboten. Einen Vorschlagswert zur IDoc-Datei gibt Ihnen das System ber Ihren Testport, den Sie in der IDoc-Administration [Seite 253] eintragen knnen. Dieser Testport mu dann natrlich vom Typ Datei sein. Die vorgeschlagene Datei ist die dort eingetragene Eingangsdatei. Sie erzeugen das IDoc ber .

Das IDoc wird als Baum angezeigt. Im Fall, da ein IDoc-Typ ohne Vorlage angelegt wird, mu mindestens noch ein Segment angefgt werden. Um Segmente [Extern] als Knoten im Baum anzulegen (farbige Felder), positionieren Sie auf einen bereits vorhandenen Knoten (z.B. den Kontrollsatz ganz am Anfang) und whlen . Einzelsegmente oder ganze Segmentgruppen knnen ausgeschnitten, eingefgt oder kopiert werden; dazu positionieren Sie auf das relevante Segment und whlen die entsprechende Aktion aus dem Men Bearbeiten aus. Sie klicken die weien Felder an, um Daten in den Segmenten zu ndern. Beim Kontrollsatz werden nur die fr die Standard-Eingangsverarbeitung mageblichen Datenfelder angezeigt. Beachten Sie hier die Mueingaben der Partnervereinbarungen, falls Sie das IDoc in den Standardeingang schicken wollen! Sie knnen auch alle Daten des Kontrollsatzes ndern: Whlen Sie dazu Alle Felder im Editierbild.

Im Editierbild alle Felder geben Sie die sprachenunabhngige Partnerrolle ein (z.B. AG fr Auftraggeber). Dieses Bild ist das einzige in der IDoc-Schnittstelle, in dem die Partnerrolle nicht in Ihre Sprache bersetzt wird (im Englischen wird aus AG der Vendor VD) - in den Partnervereinbarungen oder in der IDoc-Anzeige wird das Feld immer bersetzt. Damit sehen Sie hier die Partnerrolle so, wie sie auf der Datenbank

96

April 2001

SAP AG

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

gespeichert wird. Das ist ein eindeutiger Wert im R/3-System und damit vor Verwechslungen 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]

April 2001

97

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Testwerkzeug Ausgang: Vorgehen

SAP AG

Testwerkzeug Ausgang: Vorgehen


1. Nachdem Sie Ihr IDoc fertiggestellt haben, whlen Sie Standardausgang. Wenn Sie einen gltigen Port angegeben haben, wird Ihnen dieser zur berprfung mit Porttyp angezeigt. 2. Entscheiden Sie, ob Sie die Ausgangsverarbeitung sofort starten wollen: Damit werden die IDocs an den Port bergeben (Status 03), egal was in den Partnervereinbarungen steht. Wenn Sie das Kennzeichen nicht setzen, verbleiben die IDocs im Status 30 auf der Datenbank, wiederum unabhngig von den Einstellungen in den Partnervereinbarungen. Auerdem haben Sie die Mglichkeit, mehrere Kopien Ihres IDocs zu verschicken (Wh.-faktor). Wenn Sie die IDocs, die Sie im Status 30 mit dem Testwerkzeug auf die Datenbank gestellt 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 den Partnervereinbarungen ziehen. Insbesondere wird dann auch ein Folgesystem bei Verwendung des Dateiports getriggert, wenn das in den Partnervereinbarungen so vorgesehen ist. 3. Whlen Sie , um die Ausgangsverarbeitung zu starten.

98

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Testwerkzeug Eingang: Vorgehen

Testwerkzeug Eingang: Vorgehen


1. Nachdem Sie Ihr IDoc fertiggestellt haben, whlen Sie eine der folgenden Verarbeitungsmglichkeiten aus: Standardeingang: Das IDoc wird wie eines behandelt, das von einem externen System gesendet wurde. Es wird also zunchst auf der Datenbank gespeichert, dann werden die entsprechenden Kontrollstze mit den Eingangspartnervereinbarungen verglichen und schlielich der durch den Vorgangscode bestimmte Geschftsproze angestoen (siehe Eingangsverarbeitung [Seite 19]). Eingang Funktionsbaustein (Eingang ber ALE): Auch hier wird das IDoc zunchst auf der Datenbank gespeichert und dann direkt an den angegebenen Funktionsbaustein bergeben. Dieser kann im Debugging-Modus abgearbeitet werden. Ruft der Funktionsbaustein eine Transaktion auf, kann diese im Hintergrund, im Vordergrund oder im Vordergrund ab Fehler geschehen. Dazu mu allerdings das ABAP-Kommando CALL TRANSAKTION den Importparameter INPUT_METHOD in Verbindung mit MODE verwenden. Sonst wird die Transaktion immer im Hintergrund abgearbeitet.

Direkt aufgerufene Funktionsbausteine mssen die ab Release 3.0 definierte ALESchnittstelle [Extern] besitzen. Eingang Datei: Erzeugen oder Erweitern einer sequentiellen Eingangsdatei: Hier wird das IDoc zunchst mit Status 68 (Fehler, keine weitere Bearbeitung) auf der Datenbank und anschlieend in einer Datei gespeichert. Den Namen geben Sie explizit im Eingabefenster an. Das System schlgt Ihnen einen Namen vor, den es aus dem Testport der IDoc-Administration [Seite 253] ableitet. Wenn Sie IDocEingangsverarbeitung sofort starten markieren, wird die Datei sofort weiterverarbeitet und anschlieend gelscht, falls die Verarbeitung erfolgreich war. Dieser Modus entspricht exakt dem Standard-IDoc-Eingang. Wird nicht sofort weiterverarbeitet, bleibt die Datei erhalten und kann zu weiteren Testzwecken verwendet werden. Sie knnen das Test-IDoc mehrfach in die Datei schreiben und damit auch mehrfach der Eingangsverarbeitung zufhren (Wh.-Faktor). 2. Whlen Sie starten. , um aus dem entsprechenden Bild heraus die Eingangsverarbeitung zu

April 2001

99

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Ausgang ab NAST

SAP AG

Test: Ausgang ab NAST


Verwendung
Dieses Testprogramm setzen Sie ein, wenn Sie die Nachrichtensteuerung (NAST) verwenden und die Erzeugung eines Ausgangs-IDocs aus einem vorhandenen Nachrichtenstatussatz (Tabelle NAST) testen wollen.

Voraussetzungen
Die Anwendungsbelege, die ber die NAST in IDocs umgesetzt werden sollen, mssen fehlerfrei gebucht werden knnen, damit ein Nachrichtenstatussatz erzeugt werden kann. Bei den Komponenten Materialwirtschaft (MM) und Vertrieb (SD) sind dazu erforderlich: Kunden- bzw. Lieferantenstze Materialstze Infostze NAST-Konditionsstze: Hier mu das Ausgabemedium 6 (fr EDI) sein. Die Konditionsstze pflegen Sie als Nachrichten aus der jeweiligen Anwendung heraus.

In der IDoc-Schnittstelle mssen entsprechende Dateiports und Partnervereinbarungen vorhanden sein. Damit das Testprogramm eingreifen kann, mu die Ausgangsverarbeitung nach Erzeugen des Nachrichtenstatussatzes gestoppt werden. Das erreichen Sie, indem Sie in der Anwendung im entsprechenden Konditionssatz den Versandzeitpunkt der NAST auf 1 setzen (Ausgabe mit Selektionslauf). Mit diesem Testprogramm starten Sie also nichts anderes als einen Selektionslauf, der ihre NAST-Stze abholt und der weiteren Ausgangsverarbeitung zufhrt. Das Programm ist der Report RSNAST00, der auch generell beim Versandzeitpunkt 1 im Produktivbetrieb eingeplant wird.

Aktivitten
Nach Buchen des Anwendungsbelegs stoppt die Ausgangsverarbeitung nach Erzeugen des Nachrichtenstatussatzes und wird durch das Testprogramm wieder angestoen. Dazu whlen Sie Test Test Ausgang ab NAST aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern]. Fehler werden im Verarbeitungsprotokoll der Nachrichtensteuerung (Belegkopf) und in den Statusstzen der IDocs gespeichert. Die Statusstze sind allerdings nur vorhanden, wenn das IDoc erzeugt werden konnte.

100

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Ausgang ab IDoc

Test: Ausgang ab IDoc


Verwendung
Dieses Testprogramm selektiert ein oder mehrere Ausgangs-IDocs und reicht sie an das externe System weiter. Sie knnen die IDocs nach verschiedenen Kriterien (z.B. Empfnger oder betriebswirtschaftlicher Nachricht) auswhlen.

Voraussetzungen
Sie bentigen fehlerfrei erzeugte Ausgangs-IDocs (keine Status fehlerhaft). Dazu mssen insbesondere die Partnervereinbarungen vollstndig gepflegt worden sein. Damit das Testprogramm eingreifen kann, mu die Ausgangsverarbeitung nach Erzeugen des Ausgangs-IDocs gestoppt werden. Das erreichen Sie, indem Sie in der Partnervereinbarung der IDoc-Schnittstelle den Ausgabemodus auf IDocs sammeln setzen. Wenn Sie jetzt ein Ausgangs-IDoc fr Ihren betreffenden Partner erzeugen (z.B. ber die Anwendung oder das Testwerkzeug), wird es nur im R/3-System erzeugt, nicht aber ans externe System weitergereicht. Mit diesem Testprogramm starten Sie also nichts anderes als einen Selektionslauf, der Ihr IDoc oder Ihre IDocs abholt und dem externen System zufhrt. Das Programm ist der Report RSEOUT00, der auch generell beim Ausgabemodus IDocs sammeln im Produktivbetrieb eingeplant wird.

Aktivitten
Sie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle ber Test Ausgang ab IDoc.

Sie knnen in der Partnervereinbarung den Ausgabemodus zustzlich noch auf Subsystem starten oder nicht starten setzen. Damit bestimmen Sie, ob das externe (Sub-) System die berreichten IDocs weiterverarbeitet oder nicht.

April 2001

101

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Eingang Statusdatei

SAP AG

Test: Eingang Statusdatei


Verwendung
Mit diesem Programm testen Sie, ob Statusrckmeldungen auf ein Ausgangs-IDoc vom externen System zum R/3-System richtig bergeben werden. Der Porttyp mu hier Datei sein.

Voraussetzungen
Sie bentigen eine formal richtige Statusdatei, die z.B. von einem EDI-Subsystem erzeugt werden kann. Die Statusdatei mu sich auf ein vorhandenes Ausgangs-IDoc des R/3-Systems beziehen. Eine solche Statusdatei knnen Sie auch selbst erzeugen [Seite 103]. Der Port des Absenders mu dem empfangenden System bekannt sein. Dazu mu er in der Portbeschreibung der IDoc-Schnittstelle als Port vom Typ Datei gepflegt worden sein. Dort mu ein Eintrag fr die Eingangsdatei vorliegen.

Funktionsumfang
Das R/3-System liest die Statusdatei. Die dort angegebene IDoc-Nummer zeigt auf das Ausgangs-IDoc, auf das sich die Statusrckmeldung bezieht. Die rckgemeldeten Status werden dem betreffenden IDoc als Statusstze im R/3-System gutgeschrieben.

Aktivitten
Sie starten das Testprogramm ber Test Statusdatei verarbeiten und bergeben ihm Eingangsport und Namen und Verzeichnis der Datei. Diese Angaben berschreiben die Defaultangaben, die Sie in der IDoc-Administration [Seite 253] ber den Testport hinterlegt haben.

102

April 2001

SAP AG

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

Statusdatei erzeugen
Verwendung
Sie knnen zu Testzwecken eine formal richtige Statusdatei im Betriebssystem erzeugen und diese dann der Statusverarbeitung zufhren. Damit knnen Sie bei Fehlern z.B. testen, ob es am externen System liegt (wenn es nmlich formal falsche Statusdateien produziert) oder am R/3System.

Vorgehensweise
1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test Statusdatei erzeugen. 2. Geben Sie die Nummer eines Ausgangs-IDocs an, auf das sich die Statusrckmeldung beziehen soll. Mit der F4-Hilfe knnen Sie IDocs nach bestimmten Selektionskriterien suchen, analog z.B. zur IDoc-Anzeige [Seite 120]. Sie erhalten eine Auswahl von Statusstzen, die Sie bernehmen oder abndern knnen. 3. Wenn Sie einen Statussatz hinzufgen wollen, so whlen Sie und fllen die einzelnen bzw. knnen Sie Statusstze kopieren und bei Bedarf noch editieren. Felder. ber 4. Fr jeden einzelnen Statussatz knnen Sie die Nummer des Ausgangs-IDocs ndern, auf das er sich beziehen soll. Damit wird er dem entsprechenden IDoc angehngt. 5. Wenn Sie alle Felder eines Statussatzes ndern wollen, dann markieren Sie den Satz im Table Control. Anschlieend whlen Sie . Auch hier steht Ihnen die F4-Wertehilfe zur IDoc-Nummer oder zu den erlaubten Status zur Verfgung. Beachten Sie die F1-Hilfe zu den einzelnen Feldern! Um in den Statusstzen, die in der Statusverarbeitung auf die Datenbank geschrieben werden, den Urheber des Statussatzes zu identifizieren, trgt das System Ihren Benutzernamen und die Formroutine USER_ADDED im Programm MSEIDOC1 in die dafr vorgesehenen Felder des Statussatzes ein. Diese Informationen knnen Sie nicht ndern. Auf der Datenbank knnen Sie sie beispielsweise ber die IDoc-Anzeige [Seite 120] wiederfinden (Registerkarte Protokollierung). 6. Wenn Sie die Daten nach Wunsch editiert haben, whlen Sie . Im Folgebild haben Sie noch die Mglichkeit, das Kennzeichen Statusverarbeitung sofort starten zu lschen und damit nur die Statusdatei zu erzeugen. Damit knnen Sie sich die Datei im Betriebssystem ansehen, die ansonsten im Verlauf der Statusverarbeitung gelscht werden wrde. Um eine Statusdatei nachtrglich zu verarbeiten, verfahren Sie wie in Test: Eingang Statusdatei [Seite 102] beschrieben.

April 2001

103

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Eingang modifizierte Ausgangsdatei

SAP AG

Test: Eingang modifizierte Ausgangsdatei


Verwendung
Dieses Programm wandelt eine Ausgangsdatei mit IDocs in eine formal richtige Eingangsdatei um und fhrt sie der Eingangsverarbeitung zu. Die Ausgangsdatei wird dabei nicht verndert, sie kann also mehrfach verwendet werden. Der Porttyp mu hier Datei sein.

Voraussetzungen
Sie bentigen eine formal richtige Ausgangsdatei, wie sie etwa vom Testwerkzeug oder ber die normale Ausgangsverarbeitung erzeugt werden kann. In der Partnervereinbarung der IDocSchnittstelle mu ein Port vom Typ Datei angegeben werden, damit das oder die IDocs in eine Datei geschrieben werden. Der Port des Absenders mu dem empfangenden System bekannt sein. Dazu mu er in der Portbeschreibung der IDoc-Schnittstelle als Port vom Typ Datei gepflegt worden sein. Dort mu ein Eintrag fr die Eingangsdatei vorliegen.

Funktionsumfang
Das Programm bernimmt vom Anwender Absender- und Empfngerdaten als Eingabeparameter. Es liest die IDoc-Datei und ndert die entsprechenden Eintrge im IDocKontrollsatz ab. Diese genderten Daten schreibt es in eine zweite IDoc-Datei auf Betriebssystemebene. Dann stt es die normale Eingangsverarbeitung an, also Lesen der modifizierten Datei Erzeugung des oder der IDocs im R/3-System Verarbeitung in der Anwendung

Aktivitten
Sie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle ber Test Eing.mod.Ausg.-Datei. Sie geben Empfnger- 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. Empfnger ist hier Ihr R/3-System. Identifiziert wird es durch den Port SAP<SYSID> (z.B. SAPC11) Partnerart US keine Partnerrolle Partnernummer <Ihr SAP-Benutzername> (z.B. RSCHMIDT) Defaultwerte fr den Partner sind

104

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Eingang Original-Eingangsdatei

Test: Eingang Original-Eingangsdatei


Verwendung
Dieses Programm liest eine Eingangsdatei und fhrt sie der Eingangsverarbeitung zu. Nach erfolgreichem Lesen aller Daten wird die Datei gelscht.

Voraussetzungen
Sie bentigen eine formal richtige Eingangsdatei. Formal richtig bedeutet fr die IDocs dieser Datei: Absender und Empfnger im Kontrollsatz sind korrekt die Richtung im Kontrollsatz ist 2 (Eingang) der Mandant im Kontrollsatz und in den Datenstzen ist korrekt oder initial

Der Port des Absenders mu dem empfangenden System bekannt sein. Dazu mu er in der Portbeschreibung der IDoc-Schnittstelle als Port vom Typ Datei gepflegt worden sein. Dort mu ein Eintrag fr die Eingangsdatei vorliegen.

Funktionsumfang
Das Programm liest das oder die IDocs aus der Eingangsdatei und fhrt sie dann der normalen Eingangsverarbeitung (mit Verarbeitung innerhalb der Anwendung) zu.

Konnte die Datei erfolgreich gelesen werden, wird sie gelscht!

Aktivitten
Sie 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 IDocAdministration [Seite 253] hinterlegt haben.

April 2001

105

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Verarbeitungszyklus mit dem CATT

SAP AG

Test: Verarbeitungszyklus mit dem CATT


Verwendung
Um sicherzustellen, da die IDoc-Verarbeitung funktioniert, knnen Sie einen Testzyklus fahren. Dabei werden automatisch Testdaten erzeugt, als IDoc verschickt und aus dem IDoc wieder im Eingang verarbeitet. Damit stellen Sie zwar nicht sicher, da Ihr spezieller IDoc-Typ mit Ihren speziellen Daten fehlerfrei verarbeitet wird. Sie verifizieren aber, da die Verarbeitung im Prinzip funktioniert. Der Test wird mit dem Computer Aided Test Tool [Extern] (CATT) als Testkatalog realisiert.

Voraussetzungen
Um das Ergebnis der Testflle im Rahmen eines Testplans festzuhalten, mssen Sie zunchst einen solchen erzeugen. Dem Testplan ordnen Sie ein oder mehrere Testpakete zu. Diesen Testpaketen werden wiederum einzelne Personen zugeordnet, die die darin enthaltenen Testflle abarbeiten. Weitere Informationen finden Sie unter Die Test Workbench im R/3-System [Extern]

Funktionsumfang
Der CATT-Testkatalog besteht aus den folgenden Testfllen: Einrichten eines Ports, einer Eingangs- und einer Ausgangspartnervereinbarung Erzeugen eines IDocs vom Typ SYIDOC01 Im IDoc wird die Definition des IDoc-Typs TXTRAW01 bertragen. Ausgabe des IDocs in eine Ausgangsdatei. Umwandeln der Ausgangs- in eine Eingangsdatei und bergabe an die Eingangsverarbeitung. Die Verarbeitung des Eingangs-IDocs wird ber den Vorgangscode TXT1 identifiziert: Das System schickt an Sie eine Mail, die den Text aus dem SYIDOC01IDoc enthlt. Lschen der Testdaten, einschlielich der beiden Test-IDocs

Der CATT-Testkatalog wird auch als (komplexer) Testfall bezeichnet.

Aktivitten
Sie starten den Test aus der IDoc-Administration: Whlen Sie im Einstiegsknoten der IDocSchnittstelle [Extern] Steuerung IDoc-Administration Verifikation Verarbeitung. Sie erhalten die einzelnen Testflle, die sie einzeln oder zusammen ausfhren knnen. Zur Einzelausfhrung eines Testfalls klappen Sie den enthaltenden Knoten auf, positionieren auf dem Testfall und whlen . Sie knnen den Testfall auch auf einem anderen System ausfhren, das durch eine logische Destination identifiziert wird. Das Ausfhren eines Testfalls erzeugt einen CATT-Vorgang, der protokolliert wird. Das Testprotokoll wird unmittelbar nach Ausfhren des Testfalls angezeigt. Der Vorgang erhlt eine eindeutige Nummer und wird gelscht, sobald sein Verfallsdatum erreicht ist. Das Verfallsdatum sehen Sie, wenn Sie Bearbeiten Vorgangsattribute whlen.

106

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Test: Verarbeitungszyklus mit dem CATT

Sie knnen sich die Attribute eines Testfalls anzeigen lassen: Whlen Sie dazu . Innerhalb die Programme anzeigen lassen, die den Testbaustein der Attribute knnen Sie sich ber ausfhren. Nach dem Test der Eingangsverarbeitung sollte eine SAPoffice-Mail in Ihrem integrierten Eingangskorb erscheinen. Den erreichen Sie z.B. vom R/3-Einstiegsbild ber Bro 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, wenn das IDoc den Status 53 (in der Anwendung erfolgreich verarbeitet) erhlt. Da dieser Teil der Verarbeitung aber asynchron angestoen wird, kann der CATT-Vorgang nicht auf diesen Status warten. Den gesamten Testkatalog fhren Sie aus, indem Sie auf Test der IDoc-Schnittstelle positionieren und Testfall whlen. Weitere Informationen finden Sie unter Automatische Testflle ausfhren [Extern]

April 2001

107

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

SAP AG

berwachung/Monitoring
Verwendung
Sie knnen Eingang wie Ausgang von IDocs mit speziellen Reports und graphischer Anzeige komfortabel und effektiv berwachen. Per Workflow kann sogar automatisch ein zustndiger Sachbearbeiter im Krisenfall benachrichtigt werden (aktives Monitoring).

Funktionsumfang
Zum passiven Monitoring gehren die folgenden Werkzeuge: IDoc-Statistik [Seite 109] Dort werden die IDocs nach vordefinierten Statusgruppen sortiert und graphisch dargestellt. Per Mausklick gelangen Sie in Listen wie auch in die Einzelanzeige von IDocs. IDoc-Listen [Seite 114] Dort knnen Sie die IDocs nach Partnern und Nachrichtentypen auwhlen. Per Mausklick gelangen Sie in die Einzelanzeige von IDocs. Fehlerhafte IDocs werden farblich hervorgehoben IDoc-Anzeige [Seite 120] Dort werden die Auswahlkriterien auf die technischen Felder des Kontrollsatzes erweitert, also neben Partnern und Nachrichten auch IDoc-Nummern Ports IDoc-Typen ber eine IDoc-Nummer gelangen Sie direkt zur Baumanzeige des IDocs. Werden mehrere IDocs ausgewhlt, gelangen Sie wieder zur IDoc-Liste. Dieser Report bietet Selektionskriterien, die speziell zum Testen von EDI-Subsystemen geeignet sind (z.B. Auswahl nach bertragungsdatei). IDoc-Suche [Seite 137] Sie knnen IDocs nach ihrem betriebswirtschaftlichen Inhalt selektieren, also nach den Daten, die in den Segmenten enthalten sind. Der letzte Abschnitt erlutert Aktives Monitoring [Seite 124]

108

April 2001

SAP AG

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

IDoc-Statistik
Verwendung
Die IDocs werden fr die Statistik nach ihrem Verarbeitungsstatus gruppiert. Dabei gelten die unten tabellierten Statusgruppen. Ausgewhlt werden immer nur die IDocs, die innerhalb des festgesetzten Zeitintervalls eine Statusnderung erfahren haben.

Die Statusgruppen der Statistik Ausgang


erzeugt versandfertig bertragung erfolgreich (im Zielsystem) im Zielsystem abgeschlossen fehlerhaft in IDoc-Schnittstelle fehlerhaft im externen System mit Lschkennzeichen in Anwendung abgeschlossen fehlerhaft in IDoc-Schnittstelle fehlerhaft in Anwendung mit Lschkennzeichen

Eingang
erzeugt bergeben an Anwendung

in bertragung (bergeben an externes (Folge-) System) bergeben an Dialog

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 Doppelklick auf einen Status erhlt man die Liste der zugehrigen IDocs, und beim Doppelklick auf ein einzelnes IDoc bekommen Sie schlielich dessen Baumanzeige. Sie knnen die Zuordnung der einzelnen Status zu den Statusgruppen ndern [Seite 112].

Funktionsumfang
Folgende Auswahlkriterien stehen der Statistik zur Verfgung: Standardauswertung Sie enthlt nur das Zeitintervall der Statusnderungen. Erweiterte Selektion Sie enthlt zustzliche Einschrnkungen, etwa Nachrichtentyp, Partner und deren Ports. Im Selektionsbild knnen Sie nach diesen Kriterien auch gruppieren (Auswahlknopf), d.h. die Statistik wird dann fr die einzelnen Gruppen separat erstellt. Auswertung Historie Hier wird die Statistik darber erstellt, was mit fehlerhaften IDocs vom Sachbearbeiter unternommen wurde: Von den IDocs, deren aktueller Status im fraglichen Zeitintervall gendert wurde, werden die ausgewhlt, die irgendwann einmal einen zu den Statusgruppen fehlerhaft (siehe obige Tabelle) gehrigen Status erhielten. Dabei kann man auch erweiterte Selektionskriterien benutzen. Unterteilt wird nun danach, ob der

April 2001

109

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

SAP AG

Fehler behoben wurde oder nicht, oder ob die IDocs zum Lschen vorgemerkt sind (Lschkennzeichen). 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 Eingang des Zielsystems; Selektionskriterien sind logisches Empfangssystem und Nachrichtentyp. Gruppiert wird hier zunchst nach einzelnen Tagen! Erst nach Doppelklick auf eine Tagesleiste werden die IDocs nach ihrem letzten Status, nicht nach ihren Statusgruppen, zusammengefat.

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 des Zielsystems. Selektion der Test-IDocs Mit dem Enjoy Release erhalten IDocs, die von den Testwerkzeugen aus erzeugt worden sind, einen speziellen Status [Seite 94]. Nur diese IDocs werden bercksichtigt.. Statistik: Technische Realisierung [Seite 113]

Aktivitten
Sie 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]

110

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Statistik erstellen: Standardauswertung

Statistik erstellen: Standardauswertung


1. Geben Sie Im Einstiegsbild der Statistik das gewnschte Datum und die gewnschte Uhrzeit ein (bzw. ein Datums- und Zeitintervall). 2. Whlen Sie .

Grafik gesamt im 3. Sie erhalten die gewnschten Zahlen, die Sie dann ber Blockdiagramm veranschaulichen knnen. Um das Grafikfenster zu verlassen, whlen Sie . 4. Um die IDocs in den einzelnen Statusgruppen als Liste ausgeben zu lassen, doppelklicken Sie auf die entsprechenden Zahlenfelder. 5. Aus der angezeigten Liste heraus knnen Sie sich ein einzelnes IDoc wieder mit Doppelklick herausgreifen und als Baum (Kontroll-, Statussatz und Segmente) anzeigen lassen.

April 2001

111

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

SAP AG

Statusgruppen ndern
1. Whlen 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 whlen Sie Tabellensicht anzeigen/ndern. Durch Doppelklick gelangen Sie auf das Detailbild. 3. Die Statusgruppe findet sich im Feld Qualifizierung. Benutzen Sie die F4-Hilfe zur Erluterung der Zahlen. 4. Whlen Sie Sichern.

Dem Status 25 Weiterverarbeitung trotz Syntaxfehler (Ausgang) ist die Statusgruppe 1 = Ausgang: IDoc erzeugt zugeordnet. Sie berschreiben die 1 mit einer 5 fr Ausgang: Fehler in der IDoc-Schnittstelle.

112

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Statistik: Technische Realisierung

Statistik: Technische Realisierung


Die IDocs werden nach ihren Statuswerten gelesen. Da fr alle Statistikprogramme nur der letzte, aktuelle Status interessant ist (Ausnahmen: Auswertung Historie, Auswertung der TestIDocs) , greifen sie (aus Performancegrnden) nur auf die Tabelle der Kontrollstze (EDIDC) zu der Kontrollsatz enthlt ja immer den aktuellen Status eines IDocs. Die beiden oben erwhnten Ausnahmen mssen alle Status lesen und greifen daher auf die Tabelle der Statusstze (EDIDS) zu. Daher bentigen sie mehr Zeit als die anderen Statistikprogramme. Die Zuordnung zu den einzelnen Statusgruppen geschieht in der Tabelle TEDS3.

April 2001

113

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

SAP AG

IDoc-Listen
Verwendung
Dieser Report liefert Listen, auf Wunsch in graphischer Aufbereitung. Selektiert wird nach der Zeit (IDoc-Erstellung oder letzte Statusnderung) der Nachricht den Partnern oder auch der eigenen Identifikation fr die Partner technischen Parametern: IDoc-Nummer, IDoc-Typ, aktuellem Status, Richtung

Die Listen werden nach Nachrichtentypen und Status geordnet ausgegeben. Sie knnen sich eine Statistik ber die zeitliche Verteilung der IDocs in einem bestimmten Status als Graphik ausgeben lassen. Dabei knnen Sie die Zeitachse homogen (d.h. die Zeit schreitet gleichfrmig fort) oder IDoc-orientiert (d.h. es werden nur Zeitintervalle ausgewhlt, innerhalb derer IDocs erzeugt wurden) whlen. IDocs im Fehlerstatus knnen ber die Statusliste bequem angezeigt werden. Hier sehen Sie sofort die Fehlernachricht als Kurztext und knnen bei Bedarf zum Langtext springen, um weitere Informationen bei der Fehlersuche zu erhalten.

In der IDoc-Liste fr den 12.06.1997 wurden besonders viele fehlerhafte IDocs verschiedener Nachrichtentypen festgestellt: Ihnen gemein ist ihr aktueller Status 02 (Fehler bei Datenbergabe an Port). ber die Statusliste greifen Sie das IDoc Nr. 4711 heraus und finden die Fehlernummer E0099 (Fehler bei OPEN <Pfad und Dateiname>). Der Langtext (Doppelklick!) zu diesem Fehler informiert, da mglicherweise das Verzeichnis <Pfad> nicht vorhanden oder das gesamte Filesystem voll ist. Beim Nachprfen stellt sich tatschlich heraus, da das Filesystem an diesem Tag bergelaufen ist.

Aktivitten
Sie whlen 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]

114

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Listen: Fehler lokalisieren

IDoc-Listen: Fehler lokalisieren


Fehler werden in der IDoc-Liste durch Warnfarben dargestellt. Die Warnfarben sind im Standard bestimmten Statusgruppen zugeordnet. Diese Zuordnung knnen Sie aber auch ndern [Seite 119]. 1. ndern Sie bei Bedarf das Zeitintervall, innerhalb dessen die IDocs erzeugt wurden (Vorschlagswert: dieser Tag). Schrnken Sie Ihre Auswahl gegebenenfalls durch weitere Selektionskriterien ein. 2. Whlen Sie .

Sie erhalten die Zahlen der gefundenen IDocs pro Nachrichtentyp und Status im Ausund Eingang (Richtungen und ). 3. Positionieren Sie auf eine Leiste, die einen Fehlerstatus enthlt (hervorgehoben durch die Warnfarbe und im Text erlutert!). 4. Whlen Sie im Fenster rechts einen Nachrichtentyp aus. Whlen Sie Statusliste.

Sie erhalten eine IDoc-Liste mit Fehlernachricht (Nummer und Kurztext). IDoc-Anzeige und 5. Positionieren Sie auf die Leiste eines bestimmten IDocs. Whlen Sie von dort den entsprechenden Statussatz. Per Doppelklick auf den Kurztext erhalten Sie den zugehrigen Langtext. 6. ndern Sie gegebenenfalls die Zuordnung von Warnfarben zu Statusgruppen.

April 2001

115

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Listen: Zeitliche Verteilung anzeigen

SAP AG

IDoc-Listen: Zeitliche Verteilung anzeigen


1. 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 einem bestimmten Status). 2. Whlen Sie Graphik: zeitliche Verteilung

Sie erhalten eine graphische Verteilung der IDocs. Dabei versucht das System, eine vernnftige 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 Ausreier in Ihrem Zeitfenster haben, also Werte, die wesentlich hher als die brigen sind, werden diese u.U. kaum mehr sichtbar sein, da die Graphik nach dem Maximum skaliert wird. Sie knnen das vermeiden, indem Sie eine logarithmische statt einer linearen Skala whlen oder das Maximum der Skala heruntersetzen. Dazu whlen Sie die horizontale Skala (Achse) mit der rechten Maustaste aus und whlen im Kontextmen Format Axis. Im Folgebild whlen Sie die Karteikarte Scale und ndern die Einstellungen entsprechend. 3. Sie knnen die Ausgabeform ndern: Whlen Sie dazu und im Folgefenster z.B. Zeitschritt...Tage, um das Zeitraster auf Tage zu vergrbern. 4. Um die Zeitachse homogen (jede Zeiteinheit wird angezeigt) zu machen, markieren Sie Nullwerte anzeigen. Um nur die Zeitabschnitte anzuzeigen, innerhalb derer IDocs erzeugt wurden, lassen Sie das Feld frei.

116

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Listen: Verteilung der Warnfarben anzeigen

IDoc-Listen: Verteilung der Warnfarben anzeigen


Verwendung
Fr einen groben berblick wird in einer Tortengraphik der Anteil der in einem Fehlerstatus (rote Warnfarbe) befindlichen IDocs angezeigt. Entsprechend sind die beiden anderen Anteile die grne (Erfolgsstatus) und gelbe (noch kein endgltiger Status) Warnfarbe.

Die Zuordnung von Status zu Warnfarben geschieht in zwei Schritten: 1. Status Statusgruppen zuordnen [Seite 112] 2. Statusgruppen Warnfarben zuordnen [Seite 119]

Vorgehensweise
1. Geben Sie im Einstiegsbild der IDoc-Listen Ihre Selektionskriterien ein und starten Sie die Selektion. 2. Whlen Sie in der Ausgabe .

Sie erhalten den berblick in einem unten eingeblendeten Fenster. Es werden immer alle IDocs in die Graphik miteinbezogen, die Ihren Selektionskriterien gengen. Zum Wiederausblenden whlen Sie .

April 2001

117

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Listen: Verteilung der Nachrichten anzeigen

SAP AG

IDoc-Listen: Verteilung der Nachrichten anzeigen


1. 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. Whlen Sie im linken Fenster der Ausgabe den Auswahlpfeil rechts neben dem Symbol 3. Im aufgeklappten Men whlen Sie Graphik: Nachrichtentypen.

Sie erhalten eine Tortengraphik, die sie weiter formatieren knnen. Wenn Sie z.B. konkrete Zahlen einblenden wollen, whlen Sie im Kontextmen (rechte Maustaste) der Tortengraphik Format Data Series und im folgenden Bild Show value in der Karteikarte Data Labels.

118

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Warnfarben Statusgruppen zuordnen

Warnfarben Statusgruppen zuordnen


Verwendung
In den berwachungsprogrammen wird der aktuelle Status eines IDocs farblich als Fehlerstatus oder Erfolgsstatus gekennzeichnet. Sie knnen ber die Zuordnung zu einer Statusgruppe ndern, welche Farben welchen Status zugeordnet werden.

Voraussetzungen
In einer bestimmten Statusgruppe darf sich kein Status befinden, der eine andere Farbe bekommen soll. Sie ordnen Status einer Statusgruppe in der Statuspflege zu. Weitere Informationen finden Sie unter Statusgruppen ndern [Seite 112].

Vorgehensweise
1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung Statusgrup. pflegen. 2. Whlen Sie eine bestimmte Statusgruppe (Qualifizierung) und whlen Sie 3. Tragen Sie den gewnschten Ampelcode ein und sichern Sie Ihre Angaben. .

April 2001

119

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

SAP AG

IDoc-Anzeige
Verwendung
Dieser Report fhrt 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 nur eine IDoc-Nummer angeben). Neben den auch in den anderen Statistikprogrammen verfgbaren Selektionskriterien (Nachricht, Partner) knnen 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 erzeugt und verschickt? Karteikarte Zusatzauswahl) Aktueller Status Port (Empfnger wie Absender) EDI-Referenznummern (bertragungsdatei, Nachricht, EDI-Archiv Karteikarte EDIAuswahl). Diese Schlssel sind nur bei einer Konvertierung in EDI-Standards relevant und beziehen sich auf Objekte im EDI-Subsystem.

Verwechseln Sie nicht die bertragungsdatei (EDI-Standard) mit der Datei, ber die das EDI-Subsystem mit der IDoc-Schnittstelle kommuniziert (IDoc-Standard)!

Zu Testzwecken sendet ein EDI-Partner ein IDoc an Ihr System. Der EDI-Partner ist in Ihren Partnervereinbarungen ber die entsprechende Option als Testpartner vereinbart. Das IDoc wird von Ihrem EDI-Subsystem an die Eingangsverarbeitung der IDocSchnittstelle bergeben und erhlt dort die Nummer 4711. In seinem Kontrollsatz ist das Testkennzeichen gesetzt. Sie knnen sich jetzt ber die IDoc-Anzeige smtliche IDocs mit Testkennzeichen auflisten lassen und darber das IDoc 4711 finden. In einem zweiten Test wollen Sie feststellen, ob Ihr EDI-Subsystem die EDIReferenznummern korrekt an das R/3-System bermittelt. Sie haben sich etwa die Referenznummer 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.

Aktivitten
Die IDoc-Anzeige erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] ber IDoc Anzeigen IDoc .

Mehrere IDocs
Wird eine IDoc-Liste angezeigt, knnen Sie durch Doppelklick auf die entsprechende Leiste auf ein einzelnes IDoc verzweigen.

120

April 2001

SAP AG

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

Eine Ampel symbolisiert, ob der aktuelle Status als Erfolgsstatus oder Fehlerstatus gewertet wird, oder ob noch eine weitere Verarbeitung ansteht, so da diesbezglich noch keine Entscheidung getroffen wurde (gelbes Licht). Sie knnen die Farbzuordnung ber die Transaktion WELI selbst ndern. Beachten Sie dort die Hilfe zur Anwendung.

Einzelnes IDoc
Allgemeines
Das einzelne IDoc wird in Baumstruktur angezeigt. Einstiegsknoten ist die IDoc-Nummer. Es folgen als Unterknoten Kontrollsatz, Daten- und Statusstze. Sie knnen Knoten aufklappen und sich einzelne Stze anzeigen lassen. Bei den Datenstzen gengt dazu ein einfacher Mausklick. Sie knnen sich ber Verknpfungen anzeigen [Extern] (aus den Objektdiensten [Extern]) die mit dem IDoc bereits verknpften Objekte anzeigen lassen, z.B. Anwendungsbelege oder das entsprechende IDoc im Partnersystem bei ALE-Verteilungen.

Kontrollsatz
Beim Kontrollsatz werden z.B. der Briefkopf (Sender und Empfnger), die Richtung und der IDoc-Typ angezeigt. In der Ausnahmebehandlung [Seite 27] knnen Sie den Kontrollsatz editieren (Kontrollsatz anzeigen/ndern, s. auch den entsprechenden Absatz bei den Datenstzen).

Datenstze
Bei den Datenstzen 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 Segments festlegt.

Beim Segment E1EDKA1 (Belegkopf Partnerinformation) bedeutet der Qualifier PARVW = WE, da der im Segment angegebene Partner die Rolle des Warenempfngers hat, whrend PARVW = AG die Partnerrolle des Auftraggebers kennzeichnet. Der Qualifier ist das erste Feld eines qualifizierten Segments. Wenn Sie ein fehlerhaftes Eingangs-IDoc in der Ausnahmebehandlung [Seite 27] editieren mchten, whlen Sie in der Detailanzeige (Doppelklick auf Symbol beim entsprechenden Datensatz) Datensatz anzeigen/ndern. Jetzt knnen Sie smtliche Felder ndern. Beim Sichern erhlt Ihr IDoc den neuen Status 69 (IDoc wurde editiert), das Sie dann wieder der Eingangsverarbeitung zufhren knnen. Das Original wird als neues IDoc mit Status 70 (Original eines IDocs, welches editiert wurde) auf der Datenbank abgelegt.

Statusstze
Bei den Statusstzen werden die einzelnen Statuswerte (die Status) mit Kurzbeschreibung angezeigt. Beim Port [Seite 40]typ tRFC und dem Status 03 wird die beim tRFC vergebene Transaktions-ID angezeigt, die den Aufruf eindeutig kennzeichnet. Wenn die Anwendung ein Fehlerprotokoll schreibt, dann wird auerdem die ID dieses Protokolls ausgegeben, auf das Sie verzweigen knnen (Springen Application Log). Dadurch knnen Sie detailliertere Fehlerinformationen als in den Statusstzen vermerkt abrufen.

April 2001

121

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

SAP AG

IDoc-Suche
Verwendung
IDocs sollen nicht nur nach Adre- oder Steuerinformationen aus ihrem Kontrollsatz auffindbar sein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man mchte auch Fragen beantworten knnen wie: In welchen IDocs wurden Bestellungen meines Materials XY bermittelt? Solche Fragen beantwortet die IDoc-Suche. Sie knnen sowohl auf der Datenbank als auch in Archivdateien nach IDocs suchen.

Voraussetzungen
Bei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) mssen Sie die IDocs von der Datenbank gelscht haben (vollstndiger Archivierungslauf) eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. Nhere Informationen hierzu erhalten Sie unter Einzelanzeige ber SAP AS (BC-SRV-EDI) [Seite 136]

Funktionsumfang
Die Funktion sucht nach Zeichenketten, d.h. Sie mssen den Wert eines Segmentfeldes so eingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nicht verwenden!). Als Selektionskriterien knnen Sie hchstens zwei Werte in zwei Segmentfeldern angeben. Bei zwei Werten mssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein, damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknpfung von Selektionsfeldern). Sie knnen auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alle Datenstze (genauer: das Feld SDATA der Datenstze) strukturlos nach der Zeichenkette durchsucht, d.h. es kann auch vorkommen, da die gefundenen Zeichenkette mehrere Segmentfelder berspannt!

Feld 1

Feld 2 400,90 600000020 9060

Suche nach 9060 erfolgreich!

Die Suche kann durch den schnellen Suchmodus auf hchstens einen Treffer pro IDoc beschrnkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDoc ab.

122

April 2001

SAP AG

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

Die Suche kann und sollte durch weitere Selektionskriterien eingeschrnkt werden, die (analog zu den brigen berwachungsprogrammen) Werte aus dem Kontrollsatz abfragen: Erstellungszeit, Partner und Nachricht, Richtung etc.

Aktivitten
Die 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.

April 2001

123

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

SAP AG

Aktives Monitoring
Verwendung
Dieser Report alarmiert selbstndig zustndige Sachbearbeiter, wenn zu viele fehlerhafte IDocs festgestellt werden.

Integration
Das aktive Monitoring dient nicht zum Bearbeiten oder Wiedereinspielen eines fehlerhaften IDocs. Dafr ist die Ausnahmebehandlung jedes einzelnen fehlerhaften IDocs zustndig.

Aktivitten
Sie planen den Report mit einer Variante zum regelmigen Lauf ein. Die den Selektionskriterien gengenden IDocs werden wieder in Statusgruppen der Statistik unterteilt. In der Variante wird dem Report auch die kritische Statusgruppe (oder mehrere) mitgeteilt: Gehren mehr IDocs zur kritischen Gruppe als in der kritischen IDoc-Anzahl vorgegeben, dann wird eine Nachricht an einen vordefinierten Empfnger versandt. Der Empfnger erhlt die Benachrichtigung in Form eines Workitems in seinem integrierten Eingangskorb (siehe auch Rollenauflsung in der Ausnahmebehandlung [Seite 31]). Fhrt er das Workitem aus, so wird die IDoc-Statistik mit den zum Auswertezeitpunkt ermittelten Werten angezeigt. ber die Funktion Auffrischen kann sich der Bearbeiter den aktuellen Zustand dieser IDocs anzeigen lassen. Fr diese erneute Auswertung werden dieselben Selektionskriterien verwendet, die zur Benachrichtigung gefhrt haben.

Ein wichtiger Kunde bestellt werktags zwischen 08:00 Uhr und 18:00 Uhr Waren ber EDI. Diese sollen am nchsten Tag um 16:00 ausgeliefert werden. Damit die Lieferung termingerecht durchgefhrt werden kann, mu bis um 12:00 am Auslieferungstag feststehen, welcher Umfang bestellt wurde. Um 08:00 morgens soll ber das aktive Monitoring festgestellt werden, ob Bestellungen vorliegen, die nicht automatisch bearbeitet werden konnten. Dazu wird der Report tglich zu dieser Zeit gestartet; als kritische IDoc-Anzahl wird 0 vorgegeben. Der zustndige Sachbearbeiter erhlt bei fehlerhaften IDocs eine Benachrichtigung und kann bis 12:00 die noch ausstehenden Auftrge manuell bearbeiten.

Siehe auch:
Aktives Monitoring konfigurieren [Seite 125] Monitoring-Job einplanen (Beispiel) [Seite 126]

124

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aktives Monitoring konfigurieren

Aktives Monitoring konfigurieren


Verwendung
Einmalig mssen Sie das aktive Monitoring konfigurieren: Sie aktivieren die EreignisVerbraucherkopplung fr die Aufgabe und richten bei Bedarf eine Organisationseinheit ein.

Vorgehensweise
1. Pflegen Sie Empfnger von Benachrichtigungen im Organisationsmodell der Komponente Organisationsmanagement. Sie knnen eine gesamte Organisationseinheit fr die Benachrichtigung pflegen. Beachten Sie jedoch, da diese Organisationseinheit auch Bearbeiter enthlt! Zum Einrichten der Organisationseinheit lesen Sie die Abschnitte zur einfachen Pflege [Extern] in der R/3 Bibliothek HR PA Organisationsmanagement Aufbauorganisation. 2. Aktivieren Sie die Ereigniskopplung fr die Standardaufgabe TS30200108. Legen Sie auerdem fest, wer mglicher Bearbeiter ist: Sie knnen die Aufgabe z.B. als generelle Aufgabe (jeder R/3-Benutzer ist mglicher Bearbeiter) pflegen. Fr diesen Schritt haben Sie folgende Alternativen: Automatisches Workflow-Customizing (IMG-Aktivitt Standardeinstellungen fr SAP Business Workflow pflegen) Direkte Pflege der Aufgabe: Whlen Sie Werkzeuge Business Workflow Entwicklung Definitionswerkzeuge Aufgaben ndern (Transaktion PFTC) und whlen Sie auslsende Ereignisse, um die Ereignis-Verbraucherkopplung zu aktivieren. Sie whlen Zusatzdaten Bearbeiterzuordnung pflegen, um mgliche Bearbeiter einzutragen. Auch hier knnen Sie eine Organisationseinheit als Bearbeiter angeben (etwa die, die Sie im Schritt 1 eingerichtet haben). Weitere Informationen zu mglichen Bearbeitern finden Sie unter Rollenauflsung in der Ausnahmebehandlung [Seite 31].

April 2001

125

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Monitoring-Job einplanen (Beispiel)

SAP AG

Monitoring-Job einplanen (Beispiel)


Voraussetzungen
Im folgenden wird auf das Beispiel im Abschnitt Aktives Monitoring [Seite 124] Bezug genommen. Der Report des aktiven Monitorings soll jeweils um 08:00 Uhr als Batchjob gestartet werden und die IDocs auswerten, die am Vortag zwischen 08:00 Uhr und 18:00 Uhr eingetroffen sind.

Vorgehensweise
1. Whlen Sie im ABAP-Editor Variante (fr den Report RSEIDOCM) und 2. Geben Sie Ihrer Variante einen Namen und whlen Sie 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 des Kunden> Logischer Nachrichtentyp: ORDERS Empfnger der Benachrichtigung: z.B. MLLER Emfngerart: Benutzer Weiter, um einen Kurztext zu Ihrer Variante zu erfassen. Sichern Sie Ihre Anlegen. Anzeigen.

4. Whlen Sie Angaben.

5. Um Ihren Job als Batchjob einzuplanen, whlen Sie System Dienste Jobs Job Definition und geben Sie B (mittlere Prioritt fr periodische Jobs) als Jobklasse ein. 6. Whlen Sie Startbedingung und geben Sie ein Datum und 08:00 fr die Uhrzeit ein.

7. Markieren Sie Job periodisch ausfhren. 8. Whlen Sie Periodenwerte tglich und sichern Sie Ihre Angaben. Beim Sichern geben Sie noch den einzuplanenden Report (RSEIDOCM) und die von Ihnen gepflegte Variante an.

Ergebnis
Selektiert werden nun bei dem tglichen 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 an den Bearbeiter MLLER geschickt wird.

126

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierung von IDocs

Archivierung von IDocs


Verwendung
IDocs sind auf der Datenbank in mehreren Tabellen abgelegt. Um diese Tabellen (und damit die Zugriffszeiten) klein zu halten (sprich: die Datenbank zu entlasten) und trotzdem keine IDocs zu verlieren, knnen Sie sie in Archiven auf Betriebssystemebene ablegen. Diese Archive knnen schlielich auf externe Speichermedien ausgelagert werden, z.B. auf magnetooptische Platten (ber SAP Archive Link) oder Magnetbnder.

Voraussetzungen
Im Customizing legen Sie fest, wo sich die Archivdateien (physikalisch) befinden, welche Speichermedien also eingesetzt werden. Weitere Informationen finden Sie unter CA Archivieren von Anwendungsdaten zentrales Einfhrungskapitel Customizing Anschlu an das Archivsystem [Extern].

Aktivitten
Archivierbare Status anzeigen oder ndern [Seite 128] Wann sind IDocs archivierbar? Archivierungsfunktionen fr IDocs [Seite 129] Wie werden IDocs in Archivdateien geschrieben und wieder gelesen?

Stellen Sie sicher, da keine IDocs archiviert werden, die eventuell noch von der Anwendung bentigt werden.

Siehe auch:
CA Archivieren von Anwendungsdaten [Extern] Informationen zur Archivierung allgemein.

April 2001

127

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierbare Status anzeigen oder ndern

SAP AG

Archivierbare Status anzeigen oder ndern


Bestimmte IDoc-Status sind im Standard als archivierbar eingestuft, andere wiederum nicht. Diese Einordnung knnen Sie anzeigen oder ndern.

Der aktuelle Status eines IDocs mu archivierbar sein, damit das IDoc archiviert werden kann.

Vorgehen
1. Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung Statuswerte pflege. 2. Whlen Sie , um Eintrge zu ndern.

3. Whlen Sie den Status aus, der Sie interessiert. Durch Doppelklick gelangen Sie in das Detailbild, in dem Sie unten die Archivierbarkeit anzeigen oder ndern knnen. 4. ber oder knnen Sie alle Status hintereinander anzeigen bzw. ndern.

128

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierungsfunktionen fr IDocs

Archivierungsfunktionen fr IDocs
Verwendung
Daten werden generell ber die zentrale Transaktion SARA archiviert. Im Falle von IDocs werden die entsprechenden Tabellen ber das Archivierungsobjekt IDOC angesprochen.

Funktionsumfang
Der Archivierungsklasse IDOC sind verschiedene Bearbeitungsmethoden zugeordnet: So knnen Sie im Standard IDocs archivieren [Seite 131] von der Datenbank lschen [Seite 131] aus einem Archiv zurckladen [Seite 133]: Dazu whlen Sie vom Einstiegsbild Springen zurckladen

Sie wollen smtliche IDocs, die Kundenauftrge (Nachrichtentyp ORDERS, IDocEingang) im Monat Januar bermittelt haben, archivieren und anschlieend aus den Datenbanktabellen lschen. Dazu whlen Sie die im Standard ausgelieferte Bearbeitungsmethode Archivieren und pflegen Zeitraum wie Nachrichtentyp als Reportvariante. Auerdem knnen 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 zusammengefat. Ein Archivierungslauf ist vollstndig, wenn die IDocs aus den Datenbanktabellen gelscht wurden und nur noch als Archivdateien vorhanden sind. die IDoc-Nummern eines oder mehrerer Archive oder Archivdateien [Seite 135] die IDocs (d.h. Kontrollsatz, Daten- und Statusstze) 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 deren Einstiegsknoten aus erreichbar.

Aktivitten
Zur zentralen Transaktion SARA gelangen Sie auch ber Werkzeuge Administration Verwaltung Datenarchivierung. Dort tragen Sie das Archivierungsobjekt IDOC ein. Bei Datenfreigabe erhalten Sie die oben angegebenen Methoden zur Auswahl. Im objektspezifischen Customizing [Extern] knnen Sie die maximale Gre der Archivdateien [Extern] festlegen, und da die Tabelleneintrge sofort nach Erzeugen der Archivdateien aus der Datenbank gelscht werden sollen. Bei groen Datenmengen kann das gnstig fr die Performance sein.

April 2001

129

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierungsfunktionen fr IDocs

SAP AG

Im Standard werden die IDocs nach bestimmten Kriterien zur Archivierung ausgewhlt, etwa nach der Zeit, zu der die IDocs zuletzt gendert wurden (neuer Statussatz). Sie knnen sich selbst leicht eigene Auswahlkriterien definieren. Nheres erfahren Sie im Unterabschnitt Archivierung: Technische Realisierung [Seite 139]

130

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDocs archivieren und lschen

IDocs archivieren und lschen Voraussetzung


Die zu archivierbaren IDocs haben einen archivierbaren Status [Seite 128].

Vorgehen
1. Gehen Sie in die zentrale Archivierungstransaktion ber Werkzeuge Administration Verwaltung Datenarchivierung. Prfen Sie gegebenenfalls das objektspezifische Customizing [Extern]: Sie knnen hier z.B. das Kennzeichen Einzelnachweis in der Variante zum Lschprogramm setzen: Dann wird im Archivierungsprotokoll jedes einzelne archivierte IDoc aufgefhrt, was aber zu sehr langen Protokollen von nicht unbedingt hoher Aussagekraft fhren kann. 2. Geben Sie das Archivierungsobjekt IDOC ein und whlen Sie die gewnschte Aktion, hier also Archivieren. Wenn fr das Archivierungsobjekt IDOC noch unvollstndige Archivierungslufe vorhanden sind, erscheint eine Warnung. Sie knnen die Warnung ignorieren, laufen aber Gefahr, IDocs eventuell doppelt zu archivieren. 3. Setzen Sie den (Druckausgabe). Starttermin des Archivierungslaufes und die Spoolparameter

Die Ampeln sollten danach grn sein und Ihnen damit anzeigen, da diese Parameter gepflegt sind. Beachten Sie, da Sie bei der Druckausgabe den Ablagemodus auf Nur Ablegen setzen und damit das Drucken jedes einzelnen Archivierungsprotokolls vermeiden knnen. Als Anlageparameter geben Sie den Objekttyp IDOC an und benutzen die F4-Hilfe, um eine fr den Objekttyp passende Dokumentart auszuwhlen. Auerdem geben Sie einen freien Text als Zusatzinformation fr den Archivierungsreport an. Pflegen zum Anlegen einer Reportvariante. Geben Sie als 4. Whlen Sie Selektionsparameter etwa den Nachrichtentyp und den Zeitraum ein, innerhalb dessen IDocs ihren letzten, aktuellen Status bekamen. Whlen Sie Weiter und sichern Sie Ihre Variante. Sie knnen markieren, ob Ihre IDocs nach dem Archivieren einen speziellen Status bekommen sollen. Im Standard wird kein neuer Status gesetzt. 5. Kehren Sie zum Archivierungsbild zurck und whlen Sie .

Wenn Sie als Starttermin in Schritt 3 sofort angegeben hatten, erscheint jetzt in der unteren Leiste die Meldung Neuer Archivierungsjob wurde erzeugt. 6. Sie knnen berprfen, ob Ihr Archivierungslauf schon fertig ist, indem Sie die Jobbersicht auswhlen. Wenn Sie Verwaltung whlen, erhalten Sie eine bersicht ber Ihre vollstndigen und unvollstndigen Archivierungslufe. Wenn IDocs in den Datenbanktabellen gefunden wurden, die Ihren Selektionsparametern entsprechen, erscheint Ihr Archivierungslauf als mit Archivdateien gefllter Ordner.

April 2001

131

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

SAP AG

7. Falls nicht anders im objektspezifischen Customizing vereinbart [Extern], befinden sich Ihre IDocs nach dem Archivieren noch auf der Datenbank, d.h. Ihr Archivierungslauf ist noch unvollstndig. Zum Lschen planen Sie einen Lschjob mit entsprechender Variante ein. Hier whlen Sie die Archivdatei aus, deren IDocs von der Datenbank gelscht werden sollen.

132

April 2001

SAP AG

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

Archiv zurckladen
Voraussetzungen
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 zurckzuladenden Archivdateien.

Beim Rckladen knnen immer nur vollstndige Archivierungslufe verarbeitet werden.

Vorgehensweise
1. Whlen Sie Springen Zurckladen. Sie gelangen auf ein Bild, auf dem Sie einen Hintergrundjob fr das Programm einplanen knnen. 2. Whlen Sie die Funktion Archivauswahl. Sie erhalten ein Fenster mit den bereits durch das Lschprogramm bearbeiteten Archivierungslufen. 3. Markieren Sie den gewnschten Archivierungslauf und whlen Sie Weiter. Sie kehren zu dem Ausgangsbild zurck. 4. Pflegen Sie den Starttermin [Extern] und die Spoolparameter [Extern]. 5. Sie haben jetzt alle fr den Hintergrundjob bentigten Daten eingegeben. Um den Job zu erzeugen, whlen Sie Ausfhren.

Das Rckladen von archivierten Daten in die Datenbank ist nicht unproblematisch und ist daher als reine Notfallfunktion zu betrachten. So knnte es beispielsweise notwendig sein, Daten zurckzuladen, wenn unmittelbar nach der Archivierung festgestellt wurde, da aufgrund eines Bedienungsfehlers zu viele bzw. die falschen Daten archiviert wurden. Das Rckladen dieser Daten sollte mglichst im Anschlu an das Archivieren erfolgen.

Siehe auch:
Archivdateien erzeugen [Extern] Die Archivauswahl [Extern]

April 2001

133

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Details einer Archivdatei anzeigen

SAP AG

Details einer Archivdatei anzeigen


Voraussetzungen
Sie befinden sich auf dem Bild Archivadministration: Einstiegsbild (Transaktion SARA), der Name des Archivierungsobjekts ist im Feld Objektname eingetragen.

Vorgehensweise
1. Whlen Sie Verwaltung. Sie gelangen auf das Bild Archivadministration: bersicht der Archivierungslufe [Extern]. 2. Positionieren Sie den Cursor auf den Archivierungslauf. 3. Whlen Sie Teilb. expandieren. 4. Positionieren Sie den Cursor auf eine Archivdatei. 5. Whlen Sie Detailbild. Sie gelangen auf ein Dialogfenster, dem Sie Details [Extern] zu der gewhlten Archivdatei entnehmen knnen.

134

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Nummern im Archiv auflisten

IDoc-Nummern im Archiv auflisten


1. Whlen Sie im Einstiegsbild der zentralen Archivierungstransaktion Auswerten. 2. Whlen Sie Ausfhren. Das System zeigt Ihnen die vollstndigen Archivierungslufe an. 3. Markieren Sie einen oder mehrere Lufe oder darin enthaltene Dateien und besttigen Sie. Sie erhalten eine Liste der IDocs aus den ausgewhlten Archivdateien. Neben der IDocNummer wird z.B. die logische Nachricht ausgegeben (Ausgabefelder des Reports RSXARCR [Seite 141])

April 2001

135

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Einzelanzeige ber SAP AS (BC-SRV-EDI)

SAP AG

Einzelanzeige ber SAP AS (BC-SRV-EDI)


Verwendung
Mit dem Archivinformationssystem (SAP AS) knnen Sie sich jedes archivierte IDoc anzeigen lassen. Es gibt zwei Unterschiede zur IDoc-Suche im Archiv: Das SAP AS zeigt alle Stze des IDocs an, also neben Kontroll- und Datenstzen auch die Statusstze. Mit dem SAP AS knnen Sie nicht nach Zeichenketten in Datenstzen suchen.

Voraussetzungen
Die Archivdateien sind im System vorhanden und wurden nicht ber den Content Management Service (CMS) abgelegt. Die Archiv-Infostruktur ist aktiv und aufgebaut (siehe Aktivitten)

Funktionsumfang
Mit der im Standard ausgelieferten Archiv-Infostruktur SAP_IDOC_001 suchen Sie z.B. nach Zeit (Erstellung und letzter nderung) Partner Nachricht IDoc-Nummer

Sie knnen sich eigene Strukturen definieren. Der Feldkatalog, aus dem Sie die Felder beziehen, heit ebenfalls SAP_IDOC_001. Er beinhaltet smtliche Felder aus dem IDoc-Kontrollsatz EDI_DC, mit Ausnahme von Mandant, ALE-Serialisierung und Satzart.

Berechtigungen
Auch bei der Einzelanzeige bentigen Sie nur die allgemeine Archivierungsberechtigung [Extern] bentigt.

Aktivitten
Sie aktivieren gegebenenfalls die Archiv-Infostruktur [Extern]. Zum Einstiegsbild gelangen Sie von der zentralen Archivierungstransaktion [Seite 129] ber Infosystem Customizing. Sie bauen gegebenenfalls die Archiv-Infostruktur auf [Extern]. Zum Einstiegsbild gelangen Sie von der zentralen Archivierungstransaktion ber Infosystem Status. Zur Einzelanzeige werten Sie die Archiv-Infostruktur aus [Extern]. Zum Einstiegsbild gelangen Sie von der zentralen Archivierungstransaktion ber Infosystem Archive Explorer.

136

April 2001

SAP AG

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

IDoc-Suche
Verwendung
IDocs sollen nicht nur nach Adre- oder Steuerinformationen aus ihrem Kontrollsatz auffindbar sein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man mchte auch Fragen beantworten knnen wie: In welchen IDocs wurden Bestellungen meines Materials XY bermittelt? Solche Fragen beantwortet die IDoc-Suche. Sie knnen sowohl auf der Datenbank als auch in Archivdateien nach IDocs suchen.

Voraussetzungen
Bei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) mssen Sie die IDocs von der Datenbank gelscht haben (vollstndiger Archivierungslauf) eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. Nhere Informationen hierzu erhalten Sie unter Einzelanzeige ber SAP AS (BC-SRV-EDI) [Seite 136]

Funktionsumfang
Die Funktion sucht nach Zeichenketten, d.h. Sie mssen den Wert eines Segmentfeldes so eingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nicht verwenden!). Als Selektionskriterien knnen Sie hchstens zwei Werte in zwei Segmentfeldern angeben. Bei zwei Werten mssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein, damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknpfung von Selektionsfeldern). Sie knnen auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alle Datenstze (genauer: das Feld SDATA der Datenstze) strukturlos nach der Zeichenkette durchsucht, d.h. es kann auch vorkommen, da die gefundenen Zeichenkette mehrere Segmentfelder berspannt!

Feld 1

Feld 2 400,90 600000020 9060

Suche nach 9060 erfolgreich!

Die Suche kann durch den schnellen Suchmodus auf hchstens einen Treffer pro IDoc beschrnkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDoc ab.

April 2001

137

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

SAP AG

Die Suche kann und sollte durch weitere Selektionskriterien eingeschrnkt werden, die (analog zu den brigen berwachungsprogrammen) Werte aus dem Kontrollsatz abfragen: Erstellungszeit, Partner und Nachricht, Richtung etc.

Aktivitten
Die 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.

138

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierung: Technische Realisierung

Archivierung: Technische Realisierung


Die IDoc-Archivierungswerkzeuge wurden mit dem Archive Development Kit [Extern] (ADK) entwickelt, das objektorientierte Programmiermethoden ermglicht. Man spricht daher von einem Archivierungsobjekt IDOC, das die erforderlichen Datenbanktabellen sowie eine Archivierungsklasse IDOC mit Funktionsbausteinen zu deren Bearbeitung enthlt. Von auen wird auf das Archivierungsobjekt IDOC nun ber Reports zugegriffen, die (indirekt) Funktionsbausteine des ADKs aufrufen. Die Selektionsparameter dieser Reports werden in der Variantenpflege der zentralen Archivierungstransaktion gesetzt. Die Funktionsbausteine des ADKs benutzen ihrerseits Funktionsbausteine der Archivierungsklasse IDOC, um auf die Datenbanktabellen zuzugreifen. Die folgende Abbildung zeigt diese objektorientierte Struktur.

R/3-System
zentrale Archivierungstransaktion Programme

(Reports) zur Archivierung

Funktionsbausteine des ADKs

Archivierungsobjekt IDOC Bearbeitungsmethoden

IDocDatenbanktabellen

Archivierungsklasse IDOC: Teil der Funktionsgruppe EDIA

Archivdateien

Alle Funktionsbausteine der Archivierungsklasse IDOC gehren zur Funktionsgruppe EDIA. Zu dieser Funktionsgruppe gehren auerdem die Funktionsbausteine, ber die die Archivierungsprogramme die Funktionen des ADKs rufen.

In der EDV-Literatur werden manchmal auch Daten und auf ihnen operierende Funktionen zu Klassen zusammengefat (z.B. in der Sprache C++). Wie Sie

April 2001

139

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierung: Technische Realisierung

SAP AG

sehen, entspricht der Begriff Klasse hier dem Archivierungsobjekt, das die Daten (die Zeilen der Datenbanktabellen) enthlt wie auch die Archivierungsklasse IDOC, die die darauf operierenden Funktionen enthlt. Die im Standard ausgelieferten Reports knnen Ihnen als Beispielreports dienen, anhand derer Sie leicht eigene Reports mit Selektionsparametern schreiben knnen, die Ihren Anforderungen entsprechen. Weitere Informationen zu den Standardreports finden Sie unter Archivierung: Beschreibung der Standardreports [Seite 141]

140

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierung: Beschreibung der Standardreports

Archivierung: Beschreibung der Standardreports


Im folgenden werden die Einstiegsreports vorgestellt, mit Angabe des Funktionsbausteins aus der Funktionsgruppe EDIA, den sie aufrufen. Dieser Funktionsbaustein ruft seinerseits Funktionsbausteine der ADK-Standardklasse auf. Die Reports werden von der zentralen Archivierungstransaktion SARA angesprochen. Um eigene Programme durch die zentrale Archivierungstransaktion SARA ansprechen zu lassen, ersetzen Sie die Standardreports durch Ihre Programme in der Transaktion AOBJ.

Name
RSEXARCA

Beschreibung
Schreibt IDocs ins Archiv. Ruft EDI_ARCHIVE_IDOCS auf. Prft ber das Unterprogramm INITIALIZE_STATUS_QUALITY (Funktionsgruppe EDIA) nach, ob die IDocs archivierbar sind.

Selektionsparameter
Zeit der letzten nderung des Kontrollsatzes Zeit der IDocErstellung aktueller Status logische Nachricht Richtung IDoc-Nummer Partner

RSEXARCD

Lscht archivierte IDocs aus der Datenbank. Ruft EDI_DELETE_ARCHIVED_IDOCS auf. Liest IDocs aus einem Archiv. Ruft EDI_READ_IDOC_ARCHIVE auf. Gibt die folgenden Felder des Kontrollsatzes pro IDoc aus: logische Nachricht Status Datum und Zeit der letzten Kontrollsatznderung des IDocs Richtung IDoc-Nummer

Archivdateien aus unvollstndigen Archivierungslufen Archivdateien aus vollstndigen Archivierungslufen

RSEXARCR

April 2001

141

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Archivierung: Beschreibung der Standardreports


RSEXARCL Ldt IDocs wieder aus dem Archiv auf die Datenbank zurck. Ruft EDI_RELOAD_IDOC_ARCHIVE auf. Prft auf Mandanten- oder IDocNummernkonflikte ber IS_RELOADING_POSSIBLE (Unterprogramm der Funktionsgruppe EDIA). Schreibt den neuen Status 35 fr Ausgangs-IDocs, 71 fr EingangsIDocs (zurckgeladen). Kennzeichen Einzelnachweis wie RSEXARCA. Baut Index in Tabelle EDIDOCINDX auf. Ruft direkt Funktionsbaustein des ADK Baut Index in Tabelle EDIDOCINDX ab. Ruft direkt Funktionsbaustein des ADK Archivdateien aus vollstndigen Archivierungslufen

SAP AG

RSEXARCI

Keine: Liest die Archivdateien der Objektklasse IDOC. Datum, bis zu dem die Indizes gelscht werden sollen. Anzahl an Stzen, nach denen ein DatenbankCOMMIT abgesetzt werden soll.

RSEXARCJ

142

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Verknpfungen mit IDocs lschen

Verknpfungen mit IDocs lschen


Verwendung
Mit steigender IDoc-Zahl wird nicht nur die Tabelle der Datenstze gro. Auch die Tabelle, die die Verknpfungen beispielsweise mit Anwendungsbelegen enthlt, wchst und sollte von Zeit zu Zeit von obsoleten Eintrgen befreit werden. Im Unterschied zu den IDocs werden Verknpfungen nicht archiviert, bevor sie gelscht werden.

Vorgehensweise
1. Starten Sie das Programm RSRLDREL. 2. Geben Sie ein geeignetes Endedatum ein. Geeignet ist das Endedatum sicher dann, wenn alle Verknpfungen, die davor erzeugt wurden, nicht mehr gebraucht werden. Wenn Sie z.B. alle IDocs vor diesem Datum bereits archiviert und gelscht [Seite 131] haben und auch die Anwendungsbelege archiviert sind, so brauchen Sie die entsprechenden Verknpfungen nicht mehr (Ausnahme: Anwendungsbelege und IDocs sollen wieder aus dem Archiv ins SAP System zurckgeladen werden). 3. Markieren Sie Selektion ber Verknpfungstyp und geben Sie einen Verknpfungstyp an. Beachten Sie dazu untenstehende Tabelle. Alternativ dazu knnen Sie auch die Selektion ber Objekt/Rolle durchfhren. Wenn Sie z.B. alle Verknpfungen mit Terminauftrgen lschen wollen, so selektieren Sie nach Objekttyp BUS2032 (Terminauftrag) in der Rolle APPLOBJ.

Wenn Sie folgende Verknpfungen lschen wollen...


Anwendungsbeleg mit Ausgangs-IDoc Eingangs-IDoc mit Anwendungsbeleg Ausgangs-IDoc mit Anwendungsbeleg im Zielsystem Eingangs-IDoc mit Anwendungsbeleg aus dem vorgelagertem System Eingangs-IDoc mit Kommunikations-IDocs in verteilten Systemen Kopie eines IDocs mit seinem Original Internet-IDoc [Seite 62] mit Ablagemappe aus dem Business Workplace Eingangs-IDoc mit Ausgangs-IDoc aus vorgelagertem System IDoc mit TID (Porttyp tRFC [Seite 40], ALE-Audit). Funktioniert nicht mit Lschkriterium Beide Objekte nicht vorhanden!

so whlen Sie den Verknpfungstyp...


IDC0 IDC1 IDC9 IDCB IDC2 IDC3 (Eingang), IDC7(Ausgang) IDC5 (Eingang), IDC6 (Ausgang) IDC4 IDC8 (Eingang), IDCA (Ausgang)

April 2001

143

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Verknpfungen mit IDocs lschen


Ausgangs-IDoc mit Klammer-IDoc (Typ IDCREF01) IDRF

SAP AG

4. Mit dem Lschkriterium knnen Sie Verknpfungen nicht gelschter Objekte vorm Lschen schtzen. Folgende Szenarios sind denkbar: Sie mchten Verknpfungen zuletzt lschen. Dazu whlen Sie Beide Objekte nicht vorhanden. Wenn jetzt z.B. nur noch der Anwendungsbeleg vorhanden ist, so knnen Sie sich zwar vom Beleg aus die Nummern der verknpften IDocs anzeigen lassen, nicht aber mehr die IDocs selbst.

Diese Option funktioniert nicht bei Verknpfungen mit TIDs (fr ALE-Audit), denn TIDs tun immer so, als gbe es sie noch! Sie mchten die Verknpfungen lschen, wenn mindestens eines der beiden Objekte nicht mehr da ist (Option Ein Objekt nicht vorhanden). Dann knnen Sie z.B. von einem Anwendungsbeleg nicht einmal mehr die Nummern von bereits gelschten IDocs anzeigen lassen. Sie mchten generell alle Verknpfungen lschen, die den sonstigen Selektionskriterien gengen. Dazu whlen Sie Ohne Existenzprfung. Sie knnen einen Testlauf fahren. Dann teilt Ihnen das System nur die Zahl der den Selektionskriterien gengenden Verknpfungen mit, lscht diese aber nicht.

5. Starten Sie das Programm.

144

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufbau, Dokumentation und Definition von IDoc-Typen

Aufbau, Dokumentation und Definition von IDoc-Typen


Verwendung
Zur Definition neuer IDoc-Typen werden Entwicklungswerkzeuge der IDoc-Schnittstelle benutzt. Die Dokumentationswerkzeuge dienen dazu, den Aufbau von IDoc-Typen betriebswirtschaftlich wie auch technisch in verschiedenen Formaten darzustellen. Sie helfen also mageblich zu entscheiden, ob wirklich neue IDoc-Typen definiert werden mssen oder ob nicht schon die im Standard ausgelieferten Typen fr Ihre Bedrfnisse ausreichen. Nicht zuletzt helfen sie, die Definition von IDoc-Typen in externen Systemen zu automatisieren.

Funktionsumfang
Allgemeiner Aufbau eines IDocs [Seite 146] Dokumentationswerkzeuge [Seite 150] Neue IDoc-Typen definieren [Seite 157]

April 2001

145

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufbau eines IDocs

SAP AG

Aufbau eines IDocs


Definition
Alle IDocs sind nach bestimmten Regeln aufgebaut: Das ist der allgemeine Aufbau (die Satzarten) eines jeden IDocs. Speziellere Regeln betreffen die unterschiedlichen IDoc-Typen.

Struktur
Allgemeiner Aufbau
IDocs beinhalten Verwaltungsinformationen fr die technische Verarbeitung sowie die eigentlichen Daten der Anwendung in den sogenannten Segmenten. Segmente bestehen aus Segmentfeldern als kleinsten Sinneinheiten des IDocs, vergleichbar etwa mit den Datenelementen des EDIFACT-Standards. Der Stand der Verarbeitung (Was ist mit dem IDoc bisher passiert?) wird SAP-seitig in der Statusinformation zum IDoc hinterlegt. Hier finden sich auch Hinweise auf Fehlerflle, und bei welchen Daten die Fehler aufgetreten sind. Beim IDoc-Versand wird diese Statusinformation nicht 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 knnen voneinander abhngen (Eltern- und Kindersegmente). Zum Beispiel ist das Segment E1EDPT1 (Belegposition Textidentifikation) Kindsegment von Segment E1EDP01 (Belegposition Daten allgemein) im IDoc-Typ EXPINV01 (Export Faktura) und Kindsegment von E1EDP07 (Bestelldaten Lieferavis) im IDoc-Typ DESADV01 (Lieferavis).Das Segment wird also in mehreren Kontexten verwendet, es ist Kind mehrerer Eltern.

Fr Kundenerweiterungen definieren Sie neue Segmente und hngen sie als Kinder vorhandener Segmente des Basistyps an (der Basistyp ist der im SAP-Standard ausgelieferte IDoc-Typ, den Sie erweitern wollen). Die neuen Segmente (wie auch die Erweiterung) mssen im Kundennamensraum liegen. SAP-Segmentnamen beginnen mit E1 (siehe Namensrume [Seite 163]). Die folgende Abbildung zeigt die Grundstruktur eines IDocs und welche Teile davon an das externe System bergeben bzw. von ihm bernommen werden. Die Eltern-KindSegmenthierarchie wird hier in Baumanzeige dargestellt. Es sind 3 Hierarchieebenen erkennbar.

146

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufbau eines IDocs

IDoc in der IDoc-Schnittstelle


Verwaltung ("Umschlag")

Daten der Anwendung: Segmente


Kindsegment SAP

E1<Name>

E1<Name>

externes System

Ausgangs-/ EingangsKindsegment verarbeitung Kunde

E1<Name>

E1<Name>

E1<Name>

Statusinformation
"Konvertierung ok", "Versand ok", "IDoc im Zielsystem (ALE-Dienst)",...

Statusverarbeitung

Die IDoc-Schnittstelle kann fr jedes IDoc prfen, ob die enthaltenen Segmente mit der Definition seines Typs vertrglich sind. Diese Syntaxprfung schalten Sie in den Partnervereinbarungen [Seite 76] ein oder aus, separat fr 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]

April 2001

147

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufbau eines IDocs: Technische Realisierung

SAP AG

Aufbau eines IDocs: Technische Realisierung


IDocs sind SAP-intern in drei Datenbanktabellen abgelegt: Einer Tabelle fr den Kontrollsatz, einer fr die Datenstze, und einer fr die Statusstze. Der Kontrollsatz ist fr alle IDocs gleich und enthlt die Verwaltungsinformationen, etwa Absender, Empfnger und Nachricht. Beachten Sie auch, da der Kontrollsatz den letzten Verarbeitungsstatus (Feld STATUS) enthlt! Die Datenstze enthalten die Segmente und Verwaltungsinformationen zu den Segmenten (z.B., an welchem Elternsegment es eventuell hngt). Die Statusstze enthalten alle bislang durchlaufenen Verarbeitungsstatus sowie wiederum Verwaltungsinformationen. Diese Information wird nicht als Teil des IDocs von einem ins folgende System bermittelt, sondern als separates Datenpaket.

In der IDoc-Schnittstelle nach auen (d.h. wie sie an das Folgesystem bergeben werden) befinden sich die IDocs in drei Strukturen, die den Datenbanktabellen entsprechen: Dort gibt es also genauso Kontroll- Daten- und Statussatz. Die Beschreibung der einzelnen Felder ist im System ber die Dokumentationswerkzeuge zugnglich: Lesen Sie dazu den Abschnitt allgemeinen Aufbau eines IDocs (Satzarten) anzeigen [Seite 151]. Die folgende Abbildung zeigt den Grundaufbau der IDocs im R/3-System (IDoc-Schnittstelle nach auen, d.h. die externen Strukturen), mit einigen Beispielfeldern.

148

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufbau eines IDocs: Technische Realisierung

IDoc in der Schnittstelle nach auen Kontrollsatz: EDI_DC40

MANDT, RCVPRN, STATUS,....


Datenstze: EDI_DD40

SEGNAM, PSGNUM, HLEVEL, SDATA

Statusstze: EDI_DS40

DOCNUM, STATUS, STATXT, SEGNUM,...

Die Eltern-Kind-Struktur der Segmente wird durch das Feld PSGNUM ermglicht, das die Nummer des Elternsegmentes (falls vorhanden) trgt. Das Feld HLEVEL enthlt zudem noch die Hierarchieebene. Die eigentlichen Anwendungsdaten, d.h. das eigentliche Segment, finden sich im Feld SDATA. Dieses Feld wird wiederum in einzelne Anwendungsfelder unterteilt. Die Maximallnge von SDATA betrgt 1000 Bytes. Das Feld SEGNUM im Statussatz dient dazu, Segmente zu identifizieren, bei denen es zu Syntaxfehlern gekommen ist. SEGFLD erfllt die gleiche Funktion auf der untersten Ebene der Segmentfelder.

Ein Segment ist als Musegment im IDoc-Typ definiert, wurde aber beim Erzeugen des konkreten IDocs nicht gefllt. Daher gibt es dieses Musegment im betreffenden IDoc nicht - die Syntaxprfung meldet einen Fehler, im Feld SEGNUM wird das fehlende Segment vermerkt.

April 2001

149

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

SAP AG

Dokumentationswerkzeuge
Verwendung
Die IDoc-Schnittstelle ist offen, d.h. Aufbau und Verwendung der IDoc-Typen knnen eingesehen werden. Dafr stellt die IDoc-Schnittstelle Werkzeuge zur Verfgung, die die betreffende Dokumentation in diversen Formaten anzeigen. Sie knnen zwischen technischer Sicht (etwa Feldlngen oder Releaseinformationen) und Anwendungssicht (z.B. die Bedeutung der eigentlichen Anwendungsdaten im Segment) whlen. Ein weiterer Vorteil der Dokumentationswerkzeuge ist, da sie die Information auch automatengerecht formatieren knnen. So ist es beispielsweise mglich, ein EDI-Subsystem mit Informationen ber einen neuen IDoc-Typ zu fttern, so da dieser knftig vom Subsystem problemlos verarbeitet werden kann.

Funktionsumfang
Nachfolgende Tabelle gibt einen berblick, was in welchem Format von welchem Werkzeug dokumentiert werden kann. Die Werkzeuge erreichen Sie ber den Einstiegsknoten der IDocSchnittstelle [Extern]. Das Format Parser ist eine einfache SAP-Liste der zu dokumentierenden Felder, die von einem Parser eines externen Systems gelesen werden kann. Zusammengehrende Einheiten (Segmente, Satzarten etc.) werden durch BEGIN...END - Kommandos eingeschlossen. Die Liste kann ihrerseits auf einen PC (Formate: Rich Text, ASCII, Tabellenkalkulation) bertragen oder auch 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 fr die Ausgabe von IDocs in XML-Dateien [Seite 68]. Sie enthlt die XML-Elemente, die in den IDocs des verwendeten Typs auftauchen knnen oder mssen.

Dokumentation von...
IDoc allgemein (Satzarten)

Untersttzte Formate
HTML, C-Header, IDoc, Baumanzeige (Bildschirm), Parser HTML, C-Header, IDoc, Baumanzeige (Bildschirm), DTD, Parser HTML, Baumanzeige (Bildschirm)

Einstieg ber...
Dokumentation IDocSatzarten Dokumentation IDoc-Typen oder Dokumentation IDocSegmente

IDoc-Typ speziell (z.B. ORDERS01) Segment

Aktivitten
Allgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151] Dokumentation eines IDoc-Typs anzeigen [Seite 152] Dokumentation bersetzen [Seite 155]

150

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Allgemeinen Aufbau (IDoc-Satzarten) anzeigen

Allgemeinen Aufbau (IDoc-Satzarten) anzeigen


1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Dokumentation IDoc-Satzarten und markieren Sie alle drei Satzarten. 2. Whlen Sie die Version der Satzarten. Release 4.0 hat z.B. Version 3 (lange Namen, Kundenprfixe: Das macht sich zum Beispiel 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 fr IDoc-Typen. Sichern Sie Ihre Einstellungen und gehen Sie zum Einstiegsbild zurck. Das Bild ist eine Registerkarte aus der IDoc-Administration [Seite 253]. Die Attribute des IDoc-Typs sind nicht markierbar, da Sie hier ja IDoc-Typ-bergreifende Dokumentation abrufen! 4. Whlen Sie fr die Baumanzeige. Diese Darstellungsart ist am bersichtlichsten.

Sie erhalten die vollstndige Dokumentation ber den Aufbau eines jeden IDocs, einschlielich der verwendeten Datenelemente, in der Reihenfolge Kontrollsatz, Datenund Statussatz. Beachten Sie, da in typischen IDocs sicherlich mehrere Datenstze (Segmente) und Statusstze vorhanden sind.

April 2001

151

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Typ- oder Segmentdokumentation anzeigen

SAP AG

IDoc-Typ- oder Segmentdokumentation anzeigen


Voraussetzungen
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, whlen Sie aus dem Einstiegsmen der IDoc-Schnittstelle Dokumentation IDocSegmente und fahren mit Schritt 3 im Abschnitt fort. Die Segmentdokumentation untersttzt allerdings nur die HTML- und die Baumanzeige. Um sich die Dokumentation eines IDoc-Typs allgemein anzeigen zu lassen (IDocSatzarten), lesen Sie die Vorgehensweise im Abschnitt Allgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151]. Diese Dokumentation knnen Sie in allen unten angegebenen Formaten ausgeben, auer als DTD. Wenn Sie die Dokumentation per IDoc verschicken wollen, mssen Sie fr Ihren Partner den IDoc-Typ SYIDOC01 mit Nachrichtentyp SYIDOC im Ausgang vereinbaren. Weitere Informationen finden Sie unter Partnervereinbarungen im Standarddialog [Seite 76].

Vorgehensweise
1. Um sich einen berblick ber alle von SAP ausgelieferten IDoc-Typen (der Basistypen) zu verschaffen, whlen Sie im Einstiegsmen der IDoc-Schnittstelle [Extern] und dann die F4-Hilfe fr Ihr Objekt Basistyp. Sie erhalten eine Liste der Basistypen zu Ihrem Release nebst Kurzbeschreibung. 2. Whlen Sie den Sie interessierenden IDoc-Typ aus. 3. Whlen Sie Springen Benutzereinstellungen und bestimmen Sie die gewnschte Sicht. Es bedeuten: Attribute des IDoc-Typs Basistyp oder Erweiterung, Freigabe, Version der Satzarten: Siehe auch Wichtige Begriffe [Seite 158] Wiederholbarkeit, Erforderlichkeit, qualifiziertes Segment Lnge (in Bytes), Datenelement, aus dem die Felddokumentation gelesen wird Beschreibender Text fr das Segment allgemein Beschreibender Text fr die einzelnen Felder des Segments = Dokumentation der zugehrigen Datenelemente z.B. Festwerte, die an einer Domne hngen, oder Prftabellen, aus denen die mglichen Werte gelesen werden

Attribute der Segmente Attribute der Segmentfelder Dokumentation der Segmente Dokumentation der Segmentfelder Feldwerte

Die weiteren Einstellungen betreffen Vorschlagswerte fr verschiedene Ausgabeformate (HTML, C-Header etc.).

152

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Typ- oder Segmentdokumentation anzeigen

4. Kehren Sie zum Einstiegsbild zurck und whlen Sie bersicht im System zu erhalten.

(Baumanzeige), um eine schnelle

Die einzelnen Segmente und deren Felder werden in einer Baumstruktur dargestellt, wie sie der Eltern-Kind-Segmenthierarchie entspricht. 5. Innerhalb der Baumdarstellung knnen Sie fr einzelne Objekte (z.B. ein bestimmtes Segmentfeld) auswhlen, welche Parameter ausgegeben werden sollen. Dazu schalten Sie die entsprechenden Symbole durch Mausklick ein oder aus. Zur Erluterung der Symbole whlen Sie . 6. Fr die weiteren Formate whlen Sie im Einstiegsbild fr das IDoc-Format. Geben Sie den entsprechenden Partner an (Partnernummer und art). fr das HTML-Format. Es werden drei Dateien erzeugt: Eine fr den Rahmen (frame), eine fr den Index und eine fr die eigentliche Dokumentation. Ihre Namen enden entsprechend mit _f, _i und _d. Ein HTML-Browser ldt die Rahmendatei und setzt dann Index- und Dokumentationsdatei in die entsprechenden Teile des Rahmens. Wenn Sie es in den Anwenderparametern der IDoc-Administration [Seite 253] so eingestellt haben, wird der Browser automatisch gestartet. fr den C-Header fr den Parser Dokumentation DTD erzeugen fr das DTD-Format

Im C-Header und im HTML-Format findet sich die Information freigegeben seit Release.... Genaugenommen stimmt das erst ab Release 4.0A. Vor 4.0A bis 3.0D gibt diese Information das Release an, zu dem der IDoc-Typ angelegt wurde (was freilich meist auch das Freigaberelease war). Vor Release 3.0D gab es diese Information noch nicht.

April 2001

153

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ein IDoc mittels XSL-Stylesheet anzeigen

SAP AG

Ein IDoc mittels XSL-Stylesheet anzeigen


Verwendung
IDocs im XML-Format (wie sie z.B. der Business Connector erzeugt) knnen Sie vermittels eines Stylesheets individuell darstellen. Die Stylesheets knnen Sie mit den unten angegebenen Schritten testen.

Voraussetzungen
Sie haben Ihr Stylesheet nebst Bildern auf dem Prsentationsserver oder im Web Repository abgelegt (Transaktion SMW0). Bilder werden im Web Repository als binre Objekte, Stylesheets als HTML-Schablonen identifiziert.

Vorgehensweise
1. Vom Einstiegsknoten der IDoc-Schnittstelle whlen Sie Entwicklung -> IDoc-Styles. 2. Identifizieren Sie Ihr Stylesheet und die Bilder ber eine Style-ID. Beachten Sie die F1-Hilfe auf den Feldern. Ordnen Sie die Style-ID dem gewnschten Nachrichtentyp zu. 3. Pflegen Sie eine Eingangs-Partnervereinbarung [Seite 84] fr den gewnschten Nachrichtentyp. Als Vorgangscode whlen Sie ED00_XML. Ordnen Sie sich als erlaubten Bearbeiter zu. 4. Erzeugen Sie ein Test-IDoc des gewnschten Nachrichtentyps, z.B. mit dem Testwerkzeug [Seite 96], und spielen es ein. 5. Sie erhalten ein Workitem im Business Workplace, Beim Ausfhren erhalten Sie die XMLAnzeige des IDocs. ber Ansicht knnen Sie andere Stylesheets auswhlen. 6. Beenden Sie das Workitem ber Bearbeiten. Hier knnen Sie auch das Lschkennzeichen setzen, womit das IDoc einen archivierbaren (und damit lschbaren) Status [Seite 128] erhlt.

154

April 2001

SAP AG

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

Dokumentation bersetzen
Verwendung
Zu eigenen Definitionen (Erweiterungen, Sichten oder Basistypen) erfassen Sie auch Dokumentation mit den Entwicklungswerkzeugen der IDoc-Schnittstelle (Segment- und IDocTyp-Editor). Um diese Dokumentation in andere Sprachen zu bersetzen, mssen Sie die allgemeine bersetzungstransaktion verwenden.

Voraussetzungen
Sie haben die Berechtigung fr die bersetzungstransaktion SE63 (Berechtigungsobjekt S_TRANSLAT). Eine eigene Erweiterung, Sicht oder ein eigener Basistyp liegt vor und ist getestet. Weitere Informationen 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 fr Ihre neu definierten Segmentfelder benutzen und die noch nicht bersetzt sind. Fr diese Datenelemente besitzen Sie eine Liste der hinterlegten Domnen, die noch zu bersetzende Festwerte haben.

Vorgehensweise
1. Whlen 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 fr Ihre Segmentfelder verwendet haben: Whlen Sie bersetzung Kurztexte ABAP Dictionary Datenelemente. Geben Sie ein Datenelement, Quell- und Zielsprache ein und whlen 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 mssen Sie in der bersetzungstransaktion sowohl die Kurz- als auch die Langtexte bersetzen. 3. Nur wenn Sie noch nicht bersetzte Festwerte fr Ihre Segmentfelder verwendet haben: Whlen Sie bersetzung Kurztexte ABAP Dictionary Werte. Geben Sie eine Domne, Quell- und Zielsprache ein und whlen Sie Bearbeiten. bersetzen Sie Ihre Festwerte (Kurztexte) und sichern Sie die Texte. Verfahren Sie so mit allen Domnen Ihrer Liste. 4. Whlen Sie bersetzung Kurztexte ABAP Dictionary Text zu Tabellen. Geben Sie einen Segmenttyp, Quell- und Zielsprache ein und whlen 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.

April 2001

155

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

SAP AG

Segmenttypen sind im Dictionary als Strukturen abgelegt. Da jede Tabelle auch eine Struktur besitzt, werden Tabellen und Strukturen in der bersetzungstransaktion als Tabellen bezeichnet. Zu Strukturen und Tabellen werden dokumentierende Kurz- und Langtexte erfat.

Ein Absprung in die bersetzung findet sich auch im Segmenteditor [Seite 198]: Whlen Sie dort Umfeld bersetzung. 5. Whlen 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 Bearbeiten. bersetzen Sie die

Geben Sie Quell- und Zielsprache ein und whlen Sie Kurzbeschreibung 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]: Whlen Sie dort Umfeld bersetzung. 6. Nur wenn Sie eine neue logische Nachricht definiert haben: Whlen Sie bersetzung Kurztexte Tabelleninhalte. Geben Sie die Tabelle EDIMSGT ein und Quell- und Zielsprache. Whlen Sie Bearbeiten. bersetzen Sie die Beschreibung und sichern Sie den Text. 7. Nur wenn Sie einen neuen Vorgangscode definiert haben: Whlen Sie bersetzung Kurztexte Tabelleneintrge. Geben Sie als Tabelle ein: EDE1T, wenn Sie einen Vorgangscode fr den Ausgang definiert haben EDE2T, wenn Sie einen Vorgangscode fr den Eingang definiert haben

Geben Sie Quell- und Zielsprache ein und whlen Sie Bearbeiten. bersetzen Sie die Beschreibung und sichern Sie den Text.

Ergebnis
Sie haben die Dokumentation zu Ihren Neudefinitionen bersetzt. Wenn Sie sich im System in der Zielsprache anmelden, geben die Dokumentationswerkzeuge die bersetzten Kurz- und Langtexte aus. In der IDoc-Schnittstelle sind Ihre neuen logischen Nachrichten und Vorgangscodes in der Zielsprache beschrieben.

156

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Neue IDoc-Typen definieren

Neue IDoc-Typen definieren


Einsatzmglichkeiten
Wenn die im Standard von SAP ausgelieferten IDoc-Typen (die Basistypen) Ihre Bedrfnisse nicht abdecken, knnen Sie Ihre eigenen IDoc-Typen definieren.

Voraussetzungen
Bevor Sie einen neuen IDoc-Typ definieren, sollten Sie zunchst prfen, ob die Basistypen nicht Ihre Bedrfnisse abdecken. Eine Liste dieser Basistypen und Ihrer Bedeutung erhalten Sie ber die Dokumentationswerkzeuge der IDoc-Schnittstelle: Verfahren Sie, wie unter Punkt 1 des Abschnitts IDoc-Typ- oder Segmentdokumentation anzeigen [Seite 152] beschrieben ist.

Ablauf
Vorbereitung
Neue IDoc-Typen sollten im Rahmen einer Kundenerweiterung definiert werden, innerhalb derer Kundensegmente an einen bestehenden Basistyp angehngt werden. Der Abschnitt Wichtige Begriffe [Seite 158] klrt diese und weitere wichtige Begriffe und sollte zuerst gelesen werden. Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente [Seite 164] Fr eine Kundenerweiterung sollten Sie zunchst die Segmente zusammenstellen, die Sie dazu brauchen. Dabei mssen Sie eventuell eigene Segmente entwickeln, bei denen Sie diese Richtlinien beachten sollten. Die Designrichtlinien beim Erstellen neuer IDoc-Typen [Seite 166] sollten auf jeden Fall beachtet werden.

Definition
Fr die Definition setzen Sie die Entwicklungswerkzeuge der IDoc-Schnittstelle ein, die in den folgenden 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 Fllen bentigt. Der Abschnitt kann im allgemeinen bersprungen werden.

Checklisten: Von der Definition bis zum Einsatz


Die folgenden zwei Checklisten geben die generelle Vorgehensweise von der Definition bis zum Einsatz von neuen IDoc-Typen in zwei Fllen an: Erweiterung eines IDoc-Typs [Seite 176] Definition und Verwendung eines Basistyps [Seite 194]

April 2001

157

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

SAP AG

Wichtige Begriffe
Basistyp, Erweiterung, IDoc-Typ [Seite 159] Segmenttyp und Segmentdefinition [Seite 160] Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161] Versionierung und Freigabeverfahren [Seite 162] Namensrume [Seite 163]

158

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Basistyp, Erweiterung, IDoc-Typ

Basistyp, Erweiterung, IDoc-Typ


Definition
IDoc-Typen knnen entweder im Original von SAP ausgeliefert sein: Das sind die Basistypen. Oder es knnen Kundenerweiterungen sein: Dabei wird ein Basistyp mit einer vom Kunden definierten Erweiterung nach festen Regeln kombiniert. Im Gegensatz zur Kundenentwicklung (oder Modifikation, siehe Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161]) ist ein solcher erweiterter Basistyp aufwrtskompatibel.

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 fr den erweiterten Basistyp wie auch fr den berbegriff verwendet! Erweiterungen werden ber Referenzsegmente an Basistypen angehngt. Da kein Basistyp in spteren SAP-Releases Segmente verlieren kann, ist die Kompatibilitt gesichert.

April 2001

159

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Segmenttyp und Segmentdefinition

SAP AG

Segmenttyp und Segmentdefinition


Definition
Grundbausteine eines IDoc-Typs sind die Segmente: Hier werden die eigentlichen Daten abgelegt. Ein Segmenttyp ist die releaseunabhngige Bezeichnung eines Segmentes. Die Segmentdefinition ist die releaseabhngige Bezeichnung eines Segmentes. Mit Hilfe des Segmenttyps und des Releases wird die gewnschte Segmentdefinition ermittelt: So knnen Sie einem IDoc-Typ aus dem aktuellen Release die Definitionen seiner Segmente aus frheren Releases zuweisen. Dies kann z.B. dann ntig sein, wenn Ihr Partner ein lteres Release verwendet, das zwar Ihren aktuellen IDoc-Typ untersttzt, nicht aber Ihre aktuellen Segmentdefinitionen. Dann mssen Sie diese in den Partnervereinbarungen [Seite 78] zurckschalten. 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-Typ datenunabhngig (Ein IDoc ist ein mit Daten gefllter IDoc-Typ), whrend ein Segmenttyp releaseunabhngig ist. Ein Segment kann sowohl Teil eines IDocs (datenabhngig) wie auch Teil eines IDoc-Typs sein (datenunabhngig).

160

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Kundenerweiterung, SAP- und Kundenentwicklung

Kundenerweiterung, SAP- und Kundenentwicklung


Definition
Kundenerweiterung - Erweiterte Basistypen werden bei einem Releasewechsel weiterhin untersttzt. Von SAP ausgelieferte Nachfolger von Basistypen aus vorhergehenden Releases werden automatisch mit den bereits verwendeten Erweiterungen kombiniert. Es ist keine manuelle Pflege erforderlich. SAP-Entwicklung - Von SAP entwickelte neue IDoc-Typen werden als neue Basistypen ausgeliefert. Beim Releasewechsel ist keine manuelle Pflege seitens des Kunden erforderlich. Kundenentwicklung (Modifikation) - Vom Kunden definierte eigene Basistypen und eventuelle Erweiterungen dieser bleiben bei einem Releasewechsel unverndert. Diese sogenannten Kundenentwicklungen mssen damit eventuell nachgepflegt werden.

April 2001

161

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Versionierung und Freigabeverfahren

SAP AG

Versionierung und Freigabeverfahren


Definition
Folgende Entwicklungsobjekte der IDoc-Schnittstelle knnen releaseabhngig sein, d.h. es kann verschiedene 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, bei Segmenten 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 in eindeutiger Vorgnger/Nachfolgerbeziehung.

Ein IDoc-Typ, der eine Kombination aus Basistyp und Erweiterung ist (ein erweiterter Basistyp), kann also auf mehrere Arten versionsabhngig 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 Flle

Ein Nachfolger mu immer die gleichen Teile wie der Vorgnger und mindestens eines mehr besitzen: Eine neue Segmentdefinition mu also alle Felder ihres Vorgngers und mindestens eines mehr besitzen. Ein Nachfolger eines Basistyps oder einer Erweiterung mu mindestens alle Segmente seines Vorgngers und mindestens eins mehr besitzen. Um einen neuen Nachfolger anlegen zu knnen, mssen Sie den Vorgnger freigegeben haben. Durch die Freigabe wird das Objekt vor Vernderungen geschtzt. Falls noch kein Nachfolger des Entwicklungsobjekts angelegt wurde, kann die Freigabe zurckgenommen werden.

Eine nicht freigegebene Segmentdefinition erhlt den Initialwert 000 als Versionsnummer.

Sie sollten erst dann freigeben, wenn Ihre Entwicklung endgltig abgeschlossen ist. Testen knnen Sie nmlich auch mit nicht freigegebenen Objekten! Sie sollten die Freigabe nur in Ausnahmefllen aufheben, da nachtrgliche nderungen an bereits verwendeten Objekten zu Inkonsistenzen fhren knnen. Insbesondere verstehen Folgesysteme diese nderungen nicht mehr.

162

April 2001

SAP AG

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

Namensrume
Definition
Kunden- und SAP-Entwicklungen finden in unterschiedlichen Namensrumen statt, die durch die erlaubten Anfangsbuchstaben der jeweiligen Entwicklungsobjekte definiert sind. Zustzlich gibt es ab Release 4.0 Kunden- und SAP-Prfixe, z.B. /sap/ oder /<Kunde>/.

Verwendung
Untenstehende Tabelle gibt die Namensrume fr die betroffenen Entwicklungsobjekte der IDocSchnittstelle an.

Objekt
Basistyp Erweiterung Segment Nachrichtentyp

SAP-Namen beginnen mit...


A-X oder SAP-Prfix nicht von SAP ausgeliefert E1 A-X

Kundennamen beginnen mit...


Y-Z oder Prfix alle Namen mglich Z1 oder Prfix Y-Z oder Prfix

April 2001

163

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente

SAP AG

Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente


Designrichtlinien
Erfinden Sie das Rad nicht neu Vor dem Erstellen prfen Sie, ob nicht ein bereits bestehendes Segment Ihre Forderungen abdeckt. Orientieren Sie sich auch an EDI-Standards, wie etwa ANSI X12 (nordamerikanischer Raum) oder EDIFACT (weltweit). Bei codierten Feldwerten sollten Sie ISO-Codes verwenden, um sich an eine allgemein bliche Norm anzulehnen. ISOCodes existieren beispielsweise fr Lnder (ISO 3166), Whrungen (ISO 4217) oder Maeinheiten (ISO 31). Gruppieren Sie Ihre Daten sinnvoll Betriebswirtschaftliche Daten werden in Segmentfeldern abgebildet. Logisch zusammengehrende Daten sollten auch zu einem Segment zusammengefat werden. Logisch zusammengehrende Segmente sollten zu einer Segmentgruppe zusammengefat werden. Zum Beispiel knnen die Materialien einer Bestellung in einem Segment abgebildet werden. Zusammen mit anderen Segmenten (Informationen zum Partner, zu den Steuern und Zahlungsbedingungen) ist dieses Segment dann Teil der Segmentgruppe Positionen. Schaffen Sie universelle Segmente Damit knnen Sie einmal erstellte Segmente in anderen IDoc-Typen erneut einsetzen. Prfen Sie, ob ein Segment nachrichtenunabhngig verwendbar ist. Ein in diesem Sinne universelles Segment ist beispielsweise eines, welches allgemeine Adredaten enthlt. Schaffen Sie bersichtliche Segmente und Segmentgruppen Plazieren Sie Mufelder mglichst weit vorne im Segment. 2 Segmente, die immer zusammen vorkommen, sollten zu einem Segment zusammengefat werden. berlegen Sie, ob Sie die Verwendung von Qualifiern vermeiden knnen. Qualifier (= Kennzeichen, wie ein Segment verwendet wird) sind schwer zu dokumentieren und zu interpretieren. Qualifier sind meist auch nicht anwendungsbergreifend festgelegt, so da diese Segmente nicht universell sind. Denken Sie konomisch Die Maximallnge aller Felder eines Segments liegt bei 1000 Zeichen. Je grer ein Segment ist, um so besser ist das Verhltnis von Nutzdaten zu Verwaltungsdaten. Wenn es sich herausstellt, da spter noch weitere Daten in einem Segment bentigt werden, ist allerdings eine gewisse Platzreserve im Segment zum Hinzufgen von Feldern sinnvoll. Dokumentieren Sie Ihre Segmente Nutzen Sie die Dokumentationsmglichkeiten, die Ihnen der Segmenteditor bietet. Sie knnen pro Feld ein zustzliches Datenelement hinterlegen, das Informationen ber die Feldverwendung in der Anwendung trgt. Auerdem knnen Sie Dokumentation zu einem Segment erfassen, um Eigenschaften des gesamten Segments und seines Aufbaus zu erlutern. Bedenken Sie bei Ihrer Dokumentation sowohl die Verwendung der Segmentfelder im Eingang als auch im Ausgang.

164

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente

Denken Sie an eine eventuelle Konvertierung in EDI-Standards Dazu sollten Sie die unten aufgefhrten Formatierungsregeln speziell fr diesen Fall beachten.

Formatierungsregeln
Allgemein gelten folgende Formatierungsregeln fr Daten in Segmentfeldern: Die Felder in Segmenten drfen nur alphanumerische Daten enthalten. Dies wird durch die Verwendung von charakterhnlichen Datenelementen in den Segmentfeldern erreicht. Es wird nicht zwischen Gro- und Kleinschreibung unterschieden. Die Felder werden linksbndig gefllt. Die Standarddarstellung (ohne Qualifier) fr das Datum ist YYYYMMDD. Der 28. Februar 1996 wrde somit als 19960228 dargestellt werden. Die Standarddarstellung (ohne Qualifier) fr die Uhrzeit ist HHMMSS. Die Uhrzeit 20 Uhr 35 wrde somit als 203500 dargestellt werden. Bei Fixkommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keine Tausender-Trennzeichen. Negative Werte werden durch ein nachfolgendes Minuszeichen gekennzeichnet. Deutsche Notierung: Die Zahl -2.097.152,64 wrde als 2097152.64- dargestellt werden. Amerikanische Notierung: Die Zahl -2,097,152.64 wrde als 2097152.64- dargestellt werden. Bei Fliekommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keine Tausender-Trennzeichen. Negative Werte werden durch ein vorangestelltes Minuszeichen gekennzeichnet, der Exponent wird immer mit angegeben. Deutsche Notierung: Die Zahl -23,4 wrde als -2.34E+01 dargestellt werden. Amerikanische Notierung: Die Zahl -23.4 wrde als -2.34E+01 dargestellt werden. Wenn Ihre IDocs in andere EDI-Standards (EDIFACT, ANSI X12) umgewandelt werden sollen, knnen zustzlich folgende Regeln hilfreich sein: Segmentfelder im IDoc sollten mglichst direkt auf EDI-Datenelemente abgebildet werden knnen. Vermeiden Sie das Aufteilen, Zusammensetzen oder sonstige Umsetzungen, die zu Schwierigkeiten bei der automatischen Konvertierung fhren. Die Feldlnge sollte die Maximallnge der SAP-Anwendung oder der betrachteten EDIStandards betragen (je nachdem, welche grer ist), so da die vorhandene Information immer vollstndig bertragen werden kann. Mufelder der Segmente im EDI-Standard mssen im IDoc-Segment enthalten sein, um eine fehlerfreie Konvertierung zu ermglichen.

April 2001

165

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Designrichtlinien beim Erstellen neuer IDoc-Typen

SAP AG

Designrichtlinien beim Erstellen neuer IDoc-Typen


Schaffen Sie bersichtliche IDoc-Typen Ihr IDoc-Typ sollte eine flache Struktur besitzen (nicht zu viele Eltern-KindGenerationen). Ein Segment darf bei der Definition eines IDoc-Typs nur einmal verwendet werden. Da Segmente oder Segmentgruppen aber wiederholt werden knnen (maximale und minimale Wiederholbarkeit sind zwei ihrer Attribute) und berdies nur optional sein knnen (Attribut: Kannsegment), knnen sie im erzeugten IDoc durchaus mehrfach oder berhaupt nicht erscheinen. Plazieren Sie Musegmente mglichst weit vorne im IDoc-Typ. Denken Sie an eine eventuelle Konvertierung in EDI-Standards Musegmente der EDI-Standards sollten dann auch Musegmenten im IDoc-Typ entsprechen. Ebenso sollten maximale und minimale Wiederholbarkeit entsprechend gewhlt werden. Denken Sie an die zugeordneten Funktionsbausteine Der Buchungsbaustein mu alle zulssigen IDocs des jeweiligen IDoc-Typs verarbeiten knnen. Ebenso mu der Selektionsbaustein die Segmente in der korrekten Reihenfolge und Hierarchie erstellen knnen. Andernfalls konstatiert die Syntaxprfung der IDocSchnittstelle einen Fehler.

166

April 2001

SAP AG

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

Segmenteditor
Verwendung
Segmente werden im Segmenteditor angelegt und gendert. Dabei geschieht die nderung immer auf der Ebene der Segmentdefinition [Seite 160], also der zum aktuellen Release gehrenden Version des Segmentes. Der Segmenteditor stellt sicher, da die Regeln beim Erstellen von Segmentdefinitionen eingehalten werden, z.B. ob nur eine Segmentdefinition pro Release existiert.

Funktionsumfang
Die Segmentdefinitionen werden komfortabel aus den einzelnen Feldern und den zugrundeliegenden Datenelementen und Domnen zusammengestellt. Zustzlich kann (und sollte!) Anwendungsdokumentation zu den Segmentdefinitionen erfat werden. Sie bekommen sofort einen berblick ber die bereits erfaten Segmentdefinitionen. ber den Verwendungsnachweis erhalten Sie smtliche IDoc-Typen, in denen das jeweilige Segment bereits vorkommt. Wenn die Entwicklung einer Segmentdefinition abgeschlossen ist, wird sie vom Editor aus aktiviert und freigegeben. Durch das Aktivieren werden alle zugrundeliegenden Strukturen im ABAP Dictionary aktiviert. Die Freigabe einer Segmentdefinition ist ein Sicherheitskonzept: Sie verhindert, da die Segmentdefinition weiter gendert wird. Der Segmenteditor besitzt einen automatischen Transportanschlu. Wenn Sie Objekte definieren oder ndern, wird automatisch der Auftrag abgefragt, der diese nderung zugeordnet werden soll. Diese Abfrage knnen Sie vermeiden, indem Sie einen Standardauftrag setzen, dem alle nderungen, die Sie in einer Sitzung durchfhren, zugeordnet werden. Der Standardauftrag kann direkt vom Segmenteditor gesetzt werden.

Aktivitten
Segmente ndern [Seite 168] Segment definieren [Seite 198] Kommunikation mit lteren Releases [Seite 34]

April 2001

167

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

SAP AG

Segmente ndern
Voraussetzungen
Segmente werden ber ihre Segmentdefinitionen gendert. Es darf nur eine Segmentdefinition pro SAP Release geben. Wenn daher ein Segment schon eine Segmentdefinition aus dem aktuellen Release besitzt, kann es nur gendert werden, indem diese aktuelle Segmentdefinition berschrieben wird.

Vorgehensweise
1. Zum Segmenteditor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern] ber Entwicklung IDoc-Segmente. Geben Sie den Segmenttyp ein und whlen Sie Der Editor zeigt die bestehenden Segmentdefinitionen mit Freigabekennzeichen und zugehrigem Release an. 2. Bevor Sie das Segment ndern, sollten Sie einen Transportauftrag anlegen, in den Sie Ihre neue Segmentdefinition und dessen Dokumentation stellen. In den Workbench Organizer gelangen Sie aus dem Segmenteditor ber Hilfsmittel Auftrge (Organizer). und beantworten die Abfragen. ber gelangen Sie in den Von dort aus whlen Sie Segmenteditor zurck. 3. Wenn die letze Segmentdefinition aus Ihrem Release stammt und freigegeben ist, mssen Sie das Freigabekennzeichen ber Bearbeiten Freigabe aufheben zurcknehmen. 4. Editieren Sie die letzte nicht freigegebene Segmentdefinition ber oder legen Sie eine neue, zum aktuellen Release gehrige Segmentdefinition an. ber Wenn die editierte Segmentdefinition einen Vorgnger (also eine frhere Version) besitzt, dann werden die Felder dieses Vorgngers im Editor grau angezeigt und sind nicht nderbar. Sie knnen nur neue Felder an das Segment hngen (VorgngerNachfolgerbeziehung!) 5. Die weiteren Schritte (Editieren, Sichern, Freigeben, Transportieren) sind analog im Abschnitt Segment definieren [Seite 198] beschrieben. Die Version Ihrer neuen Segmentdefinition ist um 1 hher als die der letzten Segmentdefinition. .

168

April 2001

SAP AG

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

Segment definieren
Es wird der Fall betrachtet, da Sie ein neues Segment anlegen mssen. Wenn Sie eine neue Segmentdefinition anlegen mssen, ndern Sie ein bestehendes Segment [Seite 168] mit dem Segmenteditor.

Voraussetzungen
Berechtigung zum Anlegen von Entwicklungsobjekten und Transportauftrgen.

Vorgehensweise
1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmen der IDoc-Schnittstelle [Extern] Entwicklung IDoc-Segmente whlen. Legen Sie von dort ber Hilfsmittel Auftrge (Organizer) einen Auftrag an. 2. Geben Sie einen Segmenttyp [Seite 160] an und whlen Sie .

3. Geben Sie eine Beschreibung fr Ihr Segment ein und tragen Sie die Feldnamen und Datenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll (Ankreuzfeld). Aus den Datenelementen werden ber die Domne die Feldlngen (in Bytes) als Exportlngen und eventuell Festwerte abgeleitet. Auch die Dokumentation des Datenelements wird bernommen und in den Dokumentationswerkzeugen angezeigt.

ndern Sie nicht die Exportlnge! Daten werden als Character-Felder dieser Lnge mit einem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ des gewhlten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Lnge gespeichert. Unterschiedliche Lngen knnen zu Datenverlust (Abschneiden berzhliger Bytes) fhren. 4. Whlen Sie Springen Dokumentation und beschreiben Sie Ihren Segmenttyp. Sichern Sie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in den Segmenteditor zurck. Wenn Sie spter Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ ber die Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hier verfate Beschreibung erscheinen. 5. Sichern Sie die Segmentdefinition [Seite 160] ber Transportauftrag. . Stellen Sie das Segment in einen

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...) fr die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damit die Transporteigenschaften die gleichen sind. 6. Verlassen Sie das Bild (F3). Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit der Versionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.

April 2001

169

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

SAP AG

Ergebnis
Sie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist noch nicht freigegeben [Seite 162], aber Sie knnen mit ihm bereits testen und arbeiten. Sie sollten Ihr 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. Sie dienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das Segment E1HEAD beginnt beispielsweise mit folgenden Feldern:

Feld
BELNR (Belegnummer) VKORG (Verkaufsorgan.) VTWEG (Vertriebsweg) SPART (Sparte) ...

Datenelement
EDI_BELNR VKORG VTWEG SPART ...

Lnge
35 4 2 2 ...

170

April 2001

SAP AG

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

IDoc-Typ-Editor
Verwendung
Mit diesem Werkzeug werden IDoc-Typen erstellt und bearbeitet. Sie knnen sowohl Basistypen editieren (SAP- oder Kundenentwicklung) wie auch Erweiterungen (Kundenerweiterung).

Funktionsumfang
Abgesehen von zwei Kopfeintrgen (Name u. Beschreibung) werden IDoc-Typen auf der Ebene der Segmente editiert. Segmente knnen angehngt, eingefgt oder wieder gelscht 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 von Segmenten zum Ausdruck kommt (siehe auch den Abschnitt Allgemeiner Aufbau eines IDocs [Seite 146]): Ein Elternsegment wird dabei als Knoten angezeigt, der in die einzelnen Kinder verzweigt. 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 gendert wird. Vor der Freigabe sollte aber vom Editor aus geprft 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 mssen, da spter in den Partnervereinbarungen auf diese Zuordnung geprft wird! Der IDoc-Typ-Editor besitzt einen automatischen Transportanschlu. Wenn Sie irgendwelche Objekte definieren oder ndern, wird automatisch die Korrektur abgefragt, der diese nderung zugeordnet werden soll. Diese Abfrage knnen Sie vermeiden, wenn Sie einen Standardauftrag setzen, dem dann alle nderungen, die Sie in einer Sitzung durchfhren, zugeordnet werden. Der Standardauftrag kann direkt vom IDoc-Typ-Editor gesetzt werden.

Aktivitten
Mit dem IDoc-Typ-Editor erweitern oder schaffen Sie nur den IDoc-Typ. Um einen neuen IDocTyp (erweiterter oder neuer Basistyp) tatschlich einsetzen zu knnen, mssen Sie allerdings noch mehr tun. Beachten Sie dazu folgende

Zwei Checklisten:
Erweiterung eines IDoc-Typs [Seite 176] Definition und Verwendung eines Basistyps [Seite 194]

April 2001

171

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

SAP AG

IDoc-Sichten
Verwendung
IDoc-Typen knnen fr mehr als eine Nachricht, d.h. fr mehr als einen Geschftsproze verwendet werden. Dadurch enthalten sie im allgemeinen mehr Segmente, als im konkreten Anwendungsfall bentigt wird. Um die Performance beim Erzeugen des IDocs zu verbessern, knnen Sie durch Sichten erreichen, da nur die fr den jeweiligen Geschftsproze relevanten Segmente mit Daten gefllt werden. Sichten spielen also nur beim IDoc-Ausgang eine Rolle.

Integration
Die Anwendung mu diese Funktion untersttzen: Das Programm, das die Anwendungsdaten in IDocs schreibt, mu folgendes leisten: Abfrage der Partnervereinbarungen, ob eine Sicht existiert. Hierzu wird der Funktionsbaustein EDI_PARTNER_READ_OUTGOING aufgerufen. Abfrage, welche Segmente zur Sicht gehren. Hierzu wird der Funktionsbaustein EDI_VIEW_READ einmal aufgerufen, der die Segmente in einer Tabelle liefert. Abfrage, ob das aktuelle Segment in der aktuellen Sicht gefllt werden soll. Hierzu wird die von EDI_VIEW_READ zurckgegebene Tabelle benutzt.

Im Standard werden Sichten auf die IDoc-Typen DELVRY01 und INVOIC01 ausgeliefert.

Voraussetzungen
Sie bentigen IDoc-Entwicklungsberechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG), um eine Sicht zu definieren.

Aktivitten
1. Im Einstiegsknoten der IDoc-Schnittstelle [Extern] whlen Sie Entwicklung IDoc-Sicht, um eine Sicht zu definieren. Geben Sie einen Namen fr die Sicht ein und whlen Sie . 2. Im nchsten Bild ordnen Sie der Sicht einen Nachrichtentyp (logische Nachricht) und einen Basistyp, optional auch eine Erweiterung zu. Diese Zuordnung wird in den Partnervereinbarungen geprft. 3. Positionieren Sie auf ein Segment, das in der Sicht vorkommen soll. Whlen Sie Folgende Segmente mssen in der Sicht vorkommen: a) Qualifizierte Segmente b) Musegmente 4. Sichern Sie Ihre Angaben. 5. In den Partnervereinbarungen (Ausgang allgemein [Seite 78]) tragen Sie fr die betreffenden Kombinationen aus Partner und Nachricht die Sicht ein. .

172

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Das API zur IDoc-Typ- und Segmentdefinition

Das API zur IDoc-Typ- und Segmentdefinition


Definition
Zur automatischen, dialogfreien Entwicklung von Segmenten und IDoc-Typen steht Ihnen eine Reihe von Funktionsbausteinen zur Verfgung. Diese Programmierschnittstelle (API) wird auch vom IDoc-Typ- und Segmenteditor verwendet.

Verwendung
Hinter BAPIs [Extern] stehen IDoc-Typen zur bertragung der Geschftsinformationen. Wenn neue BAPIs erzeugt werden, werden die entsprechenden IDocs ber dieses API erzeugt.

Struktur
Das API ist auf drei Funktionsgruppen verteilt: Die auf Segmenten operierenden Funktionsbausteine finden sich in der Funktionsgruppe EDIJ, die auf Basistypen und Erweiterungen operierenden Funktionsbausteine in der Funktionsgruppe EDIM. Die dritte Funktionsgruppe ist eine Gruppe RFC-fhiger Funktionsbausteine, die von externen Entwicklungen genutzt werden knnen. Ein Beispiel ist die IDoc-Klassenbibliothek [Extern] (Dokumentation nur auf Englisch verfgbar!), die in C geschrieben ist.

Funktionsbausteine aus der Gruppe EDIJ (Segmente) Name


SEGMENT_CREATE

Beschreibung
Legt ein neues Segment an. Die Segmentstruktur wird als Tabelle bergeben. Die neue (und bislang einzige) Segmentdefinition hat vorlufig die Releasekennung <SPACE>. Die erste Version (Segmentdefinition [Seite 160]) ist 000. ndert ein bestehendes Segment. Abhngig vom Freigabekennzeichen wird eine neue Segmentdefinition angelegt oder eine bestehende verndert. Lscht ein komplettes Segment. Lscht eine nicht freigegebene Segmentdefinition. Gibt eine Segmentdefinition frei, setzt also das Freigabekennzeichen. Die freigegebene Segmentdefinition bekommt das Kennzeichen des aktuellen Releases. Nimmt die Freigabe zurck, lscht also das Freigabekennzeichen. Die betroffene Segmentdefinition bekommt <SPACE> als Releasekennung.

SEGMENT_MODIFY

SEGMENT_DELETE SEGMENTDEFINITION_DELETE SEGMENTDEFINITION_CLOSE

SEGMENTDEFINITION_UNCLOSE

April 2001

173

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Das API zur IDoc-Typ- und Segmentdefinition
SEGMENT_CHECK_EXISTENCE

SAP AG

Gibt eine Tabelle mit den bereits vorhandenen Segmentdefinitionen mit Freigabe- und Releasekennzeichen zurck. Prft u.a., ob die einzelnen Segmentfelder nahtlos zu dem Segment zusammengefgt werden knnen, ob das Segment in einem Transportauftrag steht, ob der letzte nderer eines Feldes im Dictionary mit dem letzten nderer dieses Feldes im Segment bereinstimmt etc. Stellt ein Segment mit allen seinen Segmentdefinitionen in eine Transportaufgabe. ACHTUNG: Wenn keine Auftrags- und Aufgabennummer angegeben wird, werden Auftrag und Aufgabe im Dialog abgefragt!

SEGMENT_CHECK_CONSISTENCY

SEGMENT_TRANSPORT_INSERT

Funktionsbausteine aus der Gruppe EDIM (Basistypen und Erweiterungen)


<OBJEKT> steht fr das Objekt, auf dem der Funktionsbaustein operiert: IDOCTYPE fr Basistyp, EXTTYPE fr Erweiterung. Da sich ein erweiterter Basistyp aus Basistyp und Erweiterung zusammensetzt, braucht man keine Funktionsbausteine, die auf ihm operieren.

Name
<OBJEKT>_CREATE

Beschreibung
Erzeugt einen Basistyp oder eine Erweiterung anhand einer in einer Tabelle bergebenen Syntaxbeschreibung. Prft vorher u.a., ob es das Objekt schon gibt. Das neue Objekt wird dann in einen Transportauftrag gestellt. ndert einen vorhandenen Basistyp oder eine Erweiterung anhand einer in einer Tabelle bergebenen Syntaxbeschreibung. Liest smtliche Informationen zu einem Objekt: Syntax, eventuell vorhandene Erweiterungen oder Vorgnger. Lscht einen Basistyp oder eine Erweiterung. Gibt ein Objekt frei, setzt also das Freigabekennzeichen. Nimmt die Freigabe eines Objektes zurck. Prft, ob der bergebene Basistyp oder die Erweiterung schon existiert. Wenn ja, dann liest er dessen/deren Attribute (Verknpfung mit Basistypen, Vorgngern etc.) Prft die Syntax allgemein. Prft bei Nachfolgern, ob sie vorschriftsgem aus Vorgngern entstanden sind.

<OBJEKT>_UPDATE

<OBJEKT>_READ

<OBJEKT>_DELETE <OBJEKT>_CLOSE <OBJEKT>_UNCLOSE <OBJEKT>_EXISTENCE_CHECK

<OBJEKT>_INTEGRITY_CHECK

174

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Das API zur IDoc-Typ- und Segmentdefinition

<OBJEKT>_TRANSPORT

Stellt Basistyp oder Erweiterung in einen Transportauftrag.

Funktionsbausteine aus der Gruppe EDIMEXT (API fr externe Programme) Name


IDOCTYPES_FOR_MESTYPE_READ IDOCTYPE_READ_COMPLETE

Beschreibung
Liest alle einem Nachrichtentyp (logische Nachricht) zugeordneten IDoc-Typen. Liest die Struktur und Attribute (Segmente) wie auch die Segmentattribute (Felder und Festwerte) eines IDoc-Typs. Dem Funktionsbaustein werden dazu die Version der Satzarten [Seite 151] und der Segmente [Seite 162] bergeben. Liest zu gegebener Version die Struktur der Satzarten. Liest die Struktur und Attribute eines Segments. Dem Funktionsbaustein werden dazu die Version der Satzarten und das Release der Segmente bergeben.

IDOC_RECORD_READ SEGMENT_READ_COMPLETE

April 2001

175

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Erweiterung eines IDoc-Typs

SAP AG

Erweiterung eines IDoc-Typs


Einsatzmglichkeiten
Mit einer Kundenerweiterung fgen Sie an einen von SAP ausgelieferten IDoc-Typ (einen Basistyp) zustzliche Segmente an, so da Sie mehr (oder auch einfach andere) betriebswirtschaftliche Information bertragen knnen. Diese Erweiterung ist aufwrtskompatibel, d.h. wird in zuknftigen Releases untersttzt.

Voraussetzungen
Diese Checkliste setzt voraus, da der zu erweiternde Basistyp schon fest in die Verarbeitung eingebunden ist: Das heit insbesondere, da seine Verarbeitung (Ausgang bzw. Eingang) ber Vorgangscodes in den Partnervereinbarungen festgelegt ist, und da hinter den Vorgangscodes auch die entsprechenden Programme (z.B. Funktionsbausteine) stehen, die wie der Basistyp erweitert werden. Fr die Erweiterungen bentigen Sie Entwicklungsberechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einem Kundensystem.

Ablauf
In den folgenden Unterabschnitten werden die einzelnen Schritte aufgefhrt. Die Liste knnen Sie als Checkliste bei der Erweiterung verwenden. Darber, welche Schritte notwendig und welche Alternativen sind, informiert Sie das Ablaufdiagramm. Anhand eines Fallbeispiels knnen Sie einen konkreten IDoc-Typ definieren und auf verschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgefhrt. Es setzt die Existenz von Stammdaten fr den Testkunden TESTKUND, Partnerart KU, und fr den Testlieferanten TESTLIEF, Partnerart LI, voraus. Auerdem wird angenommen, da der Dateiport TESTPORT angelegt ist.

176

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Erweiterung eines IDoc-Typs

Ablaufdiagramm

Ausgang

Allgemeine Definitionen

oder/ und

Freigabe

Eingang

Einzelschritte
Allgemeine 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 prfen (Eingang) [Seite 190] Eingang testen [Seite 248]

Neu definierte Objekte freigeben [Seite 251]

April 2001

177

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

SAP AG

Segmente zusammenstellen
Voraussetzungen
Fr Neudefinitionen bentigen Sie Entwicklungsberechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einem Kundensystem.

Vorgehensweise
Sie knnen 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. neue Feldzusammenstellungen definieren. 1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmen der IDoc-Schnittstelle [Extern] Entwicklung IDoc-Segmente whlen. Legen Sie von dort ber Hilfsmittel Auftrge (Organizer) einen Auftrag an. Diesem Auftrag werden Sie spter alle Entwicklungsobjekte zuordnen. Gehen Sie dann zurck in den Segmenteditor. 2. Geben Sie einen Segmenttyp [Seite 160] an und whlen Sie Namensraum [Seite 163]. . Beachten Sie dabei den

3. Geben Sie eine Beschreibung fr Ihr Segment ein und tragen Sie die Feldnamen und Datenelemente ein, aus denen ber die Domne die Feldlngen (in Bytes) und eventuell Festwerte abgeleitet werden. Auch die Dokumentation des Datenelements wird bernommen und in den Dokumentationswerkzeugen angezeigt.

Sie sollten ber Springen Dokumentation noch eine spezielle Dokumentation fr Ihren Segmenttyp erfassen. 4. Sichern Sie die Segmentdefinition [Seite 160] ber Transportauftrag. . Stellen Sie das Segment in einen

). Im Segmenteditor erscheint jetzt Ihre angelegte 5. Verlassen Sie das Bild ( Segmentdefinition mit der Versionsnummer 000.

Im Fallbeispiel heit Ihr Segment Z1TEST1 und hat folgende Felder:

Feld
Kontinent Land

Datenelement
CHAR20 CHAR2

Lnge
20 2

178

April 2001

SAP AG

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

Basistyp erweitern
Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDocTyps [Seite 176].

Es kann durchaus vorkommen, da Sie Tabellenfelder fllen wollen, die zwar schon eine Entsprechung im Basistyp haben, die aber im Standard nicht versorgt werden. Dann brauchen Sie nicht den Basistyp zu erweitern, sondern nur den Funktionsbaustein, der die Anwendungsfelder versorgt. berspringen Sie in diesem Fall die Vorgehensweise.

Vorgehensweise
1. Zum IDoc-Typ-Editor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle ber Entwicklung IDoc Typen. 2. Falls noch nicht geschehen, legen Sie einen Transportauftrag fr Ihre Entwicklungsobjekte (Erweiterungssegmente, Erweiterung, Funktions-Exits etc.) an. In den Workbench Organizer gelangen Sie aus dem Editor ber Auftrge (Organizer). Von dort aus whlen Sie Auftrag anlegen und beantworten die Abfragen. ber gelangen Sie in den IDoc-Typ-Editor zurck. 3. Benennen Sie Ihre Erweiterung unter Beachtung des Kundennamensraumes und whlen Sie als Entwicklungsobjekt Erweiterung. Whlen Sie .

Der Name Ihrer Erweiterung sollte hchstens 8 Zeichen lang sein, wenn Sie sie beim Kommunizieren mit Partnern verwenden wollen, die SAP-Releases vor 4.0 verwenden! Erst mit Release 4.0 knnen Erweiterungen nmlich lnger als 8 Zeichen sein. 4. Whlen Sie eine der folgenden Mglichkeiten aus: Neu anlegen: Sie erstellen die Erweiterung ohne Vorlage. als Kopie anlegen, die Sie dann nach Wunsch ndern knnen als Nachfolger anlegen: Hierbei mssen Sie beachten, da es blo einen Nachfolger pro Release und Erweiterung geben darf.

5. Geben Sie den Basistyp an, mit dem Sie Ihre Erweiterung kombinieren wollen. Besttigen Sie Ihre Angaben. Der Basistyp wird als Baum angezeigt. Beachten Sie die Farblegende (Hilfsmittel Farblegende)! 6. Positionieren Sie auf das Segment, an das Sie Erweiterungssegmente anhngen wollen (das sogenannte Referenzsegment). Whlen Sie . Fr diese Kindsegmente mssen Attribute vergeben werden, nmlich

April 2001

179

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


SAP AG

Musegment (Kennzeichen): Mssen im IDoc Daten in dieses Segment geschrieben werden? maximale und minimale Wiederholbarkeit: Wie oft darf und mu ein Segment im IDoc vorkommen?

7. Sie knnen weitere Kinder oder Kindeskinder an dies oder ein anderes Referenzsegment des Basistypen anlegen. 8. Wenn Sie Ihre neue Erweiterung fertiggestellt haben, knnen Sie sie sichern.

Auf folgende Dinge sollten Sie besonders bei Erweiterungen achten: Segmente drfen im IDoc-Typ nicht explizit mehrfach vorkommen - Das bedeutet, da die Erweiterung keine Segmente besitzen darf, die bereits im Basistyp vorkommen. Das bedeutet auch, da ein Nachfolger keine Segmente besitzen darf, die bereits im Vorgnger vorkommen. Elternsegmente des Vorgngers mssen bei Nachfolgern auch Elternsegmente bleiben. Referenzsegmente knnen nicht durch die Funktionen Ausschneiden und Einfgen zu Erweiterungssegmenten gemacht werden und umgekehrt.

Im Fallbeispiel nennen Sie Ihre Erweiterung Z1ORDERS. Sie hngen das Kindsegment Z1TEST1 an das Referenzsegment E1EDP19 des Basistyps ORDERS01. Es mu genau einmal vorkommen.

180

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Nachrichtentyp Basistyp und Erweiterung zuordnen

Nachrichtentyp Basistyp und Erweiterung zuordnen


1. Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung IDocTyp/Nachricht. 2. Whlen Sie und dann Neue Eintrge.

3. Geben Sie den Basistyp und seine Erweiterung sowie den Nachrichtentyp an, dem Sie diese Kombination zuordnen. Geben Sie das aktuelle Release an. In den Partnervereinbarungen wird geprft, ob IDoc-Typ und Nachrichtentyp zueinander passen. Daher mssen Sie diesen Eintrag vornehmen. Auerdem erhalten Sie aus der Zuordnung eine spezifische F4-Hilfe: Pro Nachrichtentyp werden alle zugeordneten IDoc-Typen im entsprechenden Feld angeboten und umgekehrt. 4. Sichern Sie Ihre Angaben.

Im Fallbeispiel pflegen Sie folgende Zuordnung: Nachrichtentyp Basistyp Erweiterung Release ORDERS (im Standard ausgeliefert) ORDERS01 Z1ORDERS 45A

April 2001

181

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

SAP AG

Ausgangsfunktionsbaustein erweitern
Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Ausgangsfunktionsbausteins, der die Erweiterungssegmente mit Anwendungsdaten fllt.

Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDocTyps [Seite 176].

Vorgehensweise
1. Die Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie ber einen Funktions- oder User-Exit in der Projektverwaltung: Whlen Sie im Einstiegsbild der ABAP Workbench Hilfsmittel Erweiterungen Projektverwaltung. Geben Sie einen Projektnamen an (Kundennamensraum beachten!) und whlen 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/3 Erweiterungskonzept [Extern]. 2. Gehen Sie ins Einstiegsbild der Projektverwaltung zurck und whlen Sie die Teilobjekte Zuordnung Erweiterungen. Whlen Sie ndern, um Ihrem Projekt SAP-Erweiterungen zuzuordnen. Um SAP-Erweiterungen zu finden, benutzen Sie die F4-Hilfe. Sichern Sie Ihre Angaben. Eine SAP-Erweiterung beinhaltet als Komponenten Funktions-Exits (Funktionsbausteine), aus denen Sie im nchsten Schritt die richtigen aussuchen werden. 3. Im Einstiegsbild der Projektverwaltung whlen Sie jetzt die Teilobjekte Komponenten. Whlen Sie ndern. Sie erhalten eine Liste aller Funktions-Exits. ber Dokumentation zu den einzelnen Exits. Erweiterung gelangen Sie zur

4. Per Doppelklick auf den gewnschten Funktions-Exit gelangen Sie in den ABAP Editor. 5. Der Funktions-Exit enthlt die Zeile include <Kunden-Include>. Durch Doppelklick auf den Namen legen Sie dies Include an (Systemabfragen besttigen). Geben Sie Ihren Quelltext ein und sichern Sie anschlieend.

Beachten Sie, da Sie die Felder HLEVEL (Hierarchieebene des Segments) und PSGNUM (Nummer des Elternsegments) im IDoc-Datensatz nicht zu fllen brauchen. Das erledigt die IDoc-Schnittstelle, die ja aus der Definition der Erweiterung um die Stellung des Segments im IDoc-Typ wei. 6. Sie mssen jetzt noch Ihre neuen Erweiterungssegmente als globale Strukturen im kundeneigenen TOP-include definieren. Dazu whlen Sie im ABAP-Editor Springen Globale Daten

182

April 2001

SAP AG

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

Sie gelangen in das TOP-Programm. 7. Legen Sie das Kunden-TOP-Include durch Doppelklick auf dessen Namen an (Systemabfragen besttigen!). Geben Sie Ihre Erweiterungssegmente als TABLESDatendeklarationen an. ) keine Wenn Sie Ihr Segment zuvor aktiviert hatten, sollte es beim Syntaxcheck ( Schwierigkeiten geben. Auf keinen Fall sollten Sie das Segment direkt im Dictionary direkt anlegen! Benutzen Sie dazu immer den Segmenteditor! 8. Aktivieren Sie nun Ihr gesamtes Projekt. Dazu gehen Sie wieder ins Einstiegsbild der Projektverwaltung und whlen .

Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_OUTPUT_ORDERS im Zusatzprojekt ZM06E001. SAP-Erweiterung Funktions-Exit Include Segment Rahmenprogramm TOP-Programm Kunden-Top-Include Der Quelltext lautet: DATA segnam(27). segnam = int_edidd-segnam. CASE segnam. WHEN 'E1EDP19'. CLEAR int_edidd. int_edidd-segnam = 'Z1TEST1'. z1test1-kontinent = 'Europa'. int_edidd-sdata = z1test1. "knnen bernommen werden APPEND int_edidd. ENDCASE. "brige Felder von int_edidd "Arbeitsbereich leeren "Name des Kundensegmentes MM06E001 EXIT_SAPLEINM_002 (Kundenerweiterung der Datensegmente bei Einkaufsbeleg Ausgang) ZXM06U02 Z1TEST1 SAPLXM06 LXM06TOP ZXM06TOP

April 2001

183

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

SAP AG

Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment im Funktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufen wird. Daher mu das neu angelegte include erst feststellen, ob es beim richtigen Elternsegment aufgerufen wurde.

184

April 2001

SAP AG

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

Partnervereinbarungen ndern (Ausgang)


Die Erweiterung mu in den Ausgangspartnervereinbarungen eingetragen sein, um eingesetzt werden zu knnen.

Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDocTyps [Seite 176].

Vorgehensweise
Erweitern Sie Ihre bereits bestehenden Partnervereinbarungen. Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen Ausgang allgemein und Ausgang ber Nachrichtensteuerung:

Feld
Partnernummer Partnerart Partnerrolle Nachrichtentyp Basistyp Erweiterung Empfngerport Ausgabemodus Erlaubter Bearbeiter Anwendung (Applikation) Nachrichtenart Vorgangscode

Wert
TESTLIEF LI LF ORDERS ORDERS01 Z1ORDERS TESTPORT IDocs sofort bergeben, Subsystem nicht starten Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE EF (Einkauf) NEU ME10

April 2001

185

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

SAP AG

Ausgang testen
Voraussetzungen
Voraussetzung 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 Basistyp definiert haben)

Vorgehensweise
Sie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unter Nachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatz eingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Sie mit 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. Im Konditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf Nachrichten) haben Sie den Versandzeitpunkt 4 gewhlt (Bearbeitung ber Zusatzangaben), d.h. Ihr IDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert Europa im Feld KONTINENT auf: berprfen Sie das ber die IDoc-Anzeige [Seite 120].

186

April 2001

SAP AG

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

Eingangsfunktionsbaustein erweitern
Den Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding des Eingangsfunktionsbausteins, der Daten aus den Erweiterungssegmenten in Anwendungstabellen stellt.

Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDocTyps [Seite 176].

Vorgehensweise
Die Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie ber die Transaktion CMOD. Sie gehen analog vor wie fr den Ausgang beschrieben [Seite 182].

Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_INPUT_ORDERS im Zusatzprojekt ZEDA0001: Die Erweiterung schreibt den Wert aus dem Segmentfeld Z1TEST1-KONTINENT in das Feld IHREZ (Zeichen des Kunden) der Struktur XVBAK. Der Inhalt dieser Struktur wird beim Aufbau der Batch-Input-Tabelle BDCDATA verwendet, die der Transaktion VA01 (Terminauftrag anlegen) bergeben wird. IHREZ wird eigentlich schon aus dem Feld E1EDKA1-IHREZ des Basistyps ORDERS01 versorgt, so da eine Erweiterung hier gar nicht notwendig ist. Das Beispiel soll nur zur Veranschaulichung des Prinzips dienen. SAP-Erweiterung Funktions-Exit Include Segment Rahmenprogramm TOP-Programm Kunden-Top-Include Der Quelltext lautet: VEDA0001 EXIT_SAPLVEDA_001 (Kundenerweiterung der Datensegmente bei Auftragsbeleg Eingang) ZXVEDU03 Z1TEST1 SAPLXVED LXVEDTOP ZXVEDTOP

DATA segnam(27). DATA: BEGIN OF hxvbak. INCLUDE STRUCTURE vbak. DATA END OF hxvbak. segnam = segment-segnam.

April 2001

187

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsfunktionsbaustein erweitern CASE segnam.


WHEN 'Z1TEST1'. Kundensegmentes z1test1 = segment-sdata. Struktur hxvbak-ihrez = z1test1-kontinent. MOVE hxvbak TO dxvbak. Parameter versorgen

SAP AG

"Name des "Daten bekommen "Hilfsstruktur fllen "CHANGING-

ENDCASE.

Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment im Funktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufen wird. Daher mu das neu angelegte Include erst feststellen, ob es beim richtigen Elternsegment aufgerufen wurde.

188

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Zuordnung des Funktionsbausteins erweitern (direkter Eingang)

Zuordnung des Funktionsbausteins erweitern (direkter Eingang)


Hier definieren Sie, da Ihr erweiterter Funktionsbaustein den erweiterten Basistyp mit einer bestimmten Nachricht verarbeiten darf. Damit erweitern Sie die ALE-Registrierung des Funktionsbausteins.

Voraussetzungen
Voraussetzung sind die vorangegangenen Schritte fr den Ausgang aus Erweiterung eines IDocTyps [Seite 176].

Vorgehensweise
1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung Nachricht/Anw.Objekt, , Neue Eintrge. Ordnen Sie den betroffenen Funktionsbaustein (Typ F) dem Basistyp, Ihrer neuen Erweiterung und Ihrem Nachrichtentyp zu und whlen 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 Basistyp Erweiterung Nachrichtentyp Objekttyp IDOC_INPUT_ORDERS ORDERS01 Z1ORDERS ORDERS BUS2032 (Kundenauftrag)

April 2001

189

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

SAP AG

Partnervereinbarungen prfen (Eingang)


Voraussetzungen
Voraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDocTyps [Seite 176].

Vorgehensweise
Ihr 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 auch im System verarbeitet. Wenn Sie das bei bestimmten Partnern vermeiden wollen, dann mssen Sie eine Kopie dieses (ursprnglich nicht erweiterten) Funktionsbausteines anlegen und einen Vorgangscode 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
Partnernummer Partnerart Nachrichtentyp Verarbeitung Erlaubter Bearbeiter Vorgangscode

Wert
TESTKUND KU ORDERS sofort Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE ORDE

190

April 2001

SAP AG

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

Eingang testen
Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte fr 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 Basistyp definiert haben)

Vorgehensweise
1. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs Ihres Typs editieren knnen. Als Testvorlage whlen Sie Ein Ausgangs-IDoc, falls Sie fr Ihren IDoc-Typ den Ausgang eingerichtet und getestet haben. Dann mssen Sie nur noch Absender und Empfnger vertauschen und im Kontrollsatz die Richtung 2 eingeben. Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuer Basistyp) besitzen. Dann mssen Sie zustzlich noch die Segmentfelder mit Anwendungsdaten fllen.

Beim direkten ALE-Eingang knnen Sie den Funktionsbaustein direkt und im Debugging-Modus aus dem Testwerkzeug anspringen. Gerade bei Neuentwicklungen ist das sehr hilfreich. Beim Eingang ber Workflow testen Sie Ihre Verarbeitung z.B. in der ABAP Workbench. 2. berprfen Sie ber die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs. Wenn die Anwendung den Beleg akzeptiert, erhlt er jetzt den aktuellen Status 53 (Anwendungsbeleg gebucht). Andernfalls hat es den aktuellen Status 51 (Anwendungsbeleg nicht gebucht). Durch Anklicken der Statusstze knnen Sie sich anzeigen lassen, welche Fehler die Anwendung in die Statusstze geschrieben hat. 3. berprfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellen geschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. IDoc konnte oder sollte nicht verarbeitet werden), dann knnen Sie von dieser Nachricht direkt in die IDocAnzeige springen.

Im Fallbeispiel sollten Sie folgende Eintrge im Kontrollsatz vornehmen: Empfnger: Absender: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>, Partnerart LS (logisches System), Partnerrolle leer lassen Port TESTPORT, Partnernummer TESTKUND, Partnerart KU (Kunde), Partnerrolle AG

April 2001

191

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingang testen Wenn Sie den Basistyp ORDERS01 erweitert haben:
IDoc-Typ Erweiterung Nachrichtentyp IDoc-Typ Nachrichtentyp ORDERS01 Z1ORDERS ORDERS TESTER01 TESTER

SAP AG

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

192

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Neu definierte Objekte freigeben

Neu definierte Objekte freigeben


Voraussetzungen
Voraussetzung 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 Basistyp definiert haben)

Vorgehensweise
Sie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung. Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oder Segmenteditor) ber Bearbeiten Freigabe setzen. Die Freigabe knnen Sie auch wieder ber Bearbeiten Freigabe aufheben zurcknehmen.

Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjekte in der angegebenen Reihenfolge frei:

Wenn Sie den Basistyp ORDERS01 erweitert haben:


Segment Erweiterung Segmente IDoc-Typ Z1TEST1 Z1ORDERS E1HEAD, E1ITEM TESTER01

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

Ergebnis
Ihre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionen noch bersetzen wollen, knnen Sie dies gezielt mit der allgemeinen bersetzungstransaktion bewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafr innerhalb der bersetzungstransaktion anfassen mssen: Dokumentation bersetzen [Seite 155]

April 2001

193

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Definition und Verwendung eines Basistyps

SAP AG

Definition und Verwendung eines Basistyps


Einsatzmglichkeiten
Mit einer SAP-Entwicklung schaffen Sie einen neuen Basistyp; der Basistyp steht fr einen neuen Geschftsproze, innerhalb dessen Daten elektronisch ausgetauscht werden sollen.

Voraussetzungen
Fr die Entwicklungen bentigen Sie entsprechende Berechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einem SAP-System.

Ablauf
In den folgenden Unterabschnitten werden die einzelnen Schritte aufgefhrt. Die Liste knnen Sie als Checkliste bei der Neudefinition verwenden. Darber, welche Schritte notwendig und welche Alternativen sind, informiert Sie das Ablaufdiagramm. Anhand eines Fallbeispiels knnen Sie einen konkreten IDoc-Typ definieren und auf verschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgefhrt. Es setzt die Existenz von Stammdaten fr den Testkunden TESTKUND, Partnerart KU, und fr den Testlieferanten TESTLIEF, Partnerart LI, voraus. Auerdem wird angenommen, da der Dateiport TESTPORT angelegt ist.

194

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Definition und Verwendung eines Basistyps

Ablaufdiagramm

Eingang (direkt)
oder

Eingang (Workflow) Allgemeine Definitionen


oder/ und

Freigabe

Ausgang

Einzelschritte
Allgemeine 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 fr neuen Basistyp testen [Seite 213]

Eingang einrichten
Direkten 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]

April 2001

195

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Definition und Verwendung eines Basistyps
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]

SAP AG

196

April 2001

SAP AG

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

Allgemeine Definitionen
Segment definieren [Seite 198] Basistyp definieren [Seite 200] Nachricht anlegen und Basistyp zuordnen [Seite 202] Objekttyp definieren [Seite 203]

April 2001

197

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

SAP AG

Segment definieren
Es wird der Fall betrachtet, da Sie ein neues Segment anlegen mssen. Wenn Sie eine neue Segmentdefinition anlegen mssen, ndern Sie ein bestehendes Segment [Seite 168] mit dem Segmenteditor.

Voraussetzungen
Berechtigung zum Anlegen von Entwicklungsobjekten und Transportauftrgen.

Vorgehensweise
7. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmen der IDoc-Schnittstelle [Extern] Entwicklung IDoc-Segmente whlen. Legen Sie von dort ber Hilfsmittel Auftrge (Organizer) einen Auftrag an. 8. Geben Sie einen Segmenttyp [Seite 160] an und whlen Sie .

9. Geben Sie eine Beschreibung fr Ihr Segment ein und tragen Sie die Feldnamen und Datenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll (Ankreuzfeld). Aus den Datenelementen werden ber die Domne die Feldlngen (in Bytes) als Exportlngen und eventuell Festwerte abgeleitet. Auch die Dokumentation des Datenelements wird bernommen und in den Dokumentationswerkzeugen angezeigt.

ndern Sie nicht die Exportlnge! Daten werden als Character-Felder dieser Lnge mit einem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ des gewhlten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Lnge gespeichert. Unterschiedliche Lngen knnen zu Datenverlust (Abschneiden berzhliger Bytes) fhren. 10. Whlen Sie Springen Dokumentation und beschreiben Sie Ihren Segmenttyp. Sichern Sie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in den Segmenteditor zurck. Wenn Sie spter Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ ber die Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hier verfate Beschreibung erscheinen. 11. Sichern Sie die Segmentdefinition [Seite 160] ber Transportauftrag. . Stellen Sie das Segment in einen

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...) fr die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damit die Transporteigenschaften die gleichen sind. 12. Verlassen Sie das Bild (F3). Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit der Versionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.

198

April 2001

SAP AG

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

Ergebnis
Sie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist noch nicht freigegeben [Seite 162], aber Sie knnen mit ihm bereits testen und arbeiten. Sie sollten Ihr 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. Sie dienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das Segment E1HEAD beginnt beispielsweise mit folgenden Feldern:

Feld
BELNR (Belegnummer) VKORG (Verkaufsorgan.) VTWEG (Vertriebsweg) SPART (Sparte) ...

Datenelement
EDI_BELNR VKORG VTWEG SPART ...

Lnge
35 4 2 2 ...

April 2001

199

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

SAP AG

Basistyp definieren
Voraussetzungen
Berechtigung zum Anlegen von Entwicklungsobjekten und Transportauftrgen.

Vorgehensweise
1. Gehen Sie ins Einstiegsbild des IDoc-Typ-Editors: Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung IDoc-Typen. 2. Tragen Sie einen Namen fr Ihren Basistyp ein, und markieren Sie Basistyp als Entwicklungsobjekt. Whlen Sie . Whlen Sie im folgenden Bild z.B. Neu anlegen. Geben Sie eine Beschreibung ein und whlen Sie . 3. Gehen Sie auf die Kopfleiste und whlen Sie .

Sie gelangen auf das Dialogfenster zur Attributpflege. 4. Geben Sie ein Segment an. Geben Sie die Maximal- und Minimalanzahl an markieren Sie gegebenenfalls Musegment. Das Segment erscheint als erstes Segment im neuen Basistyp. 5. Legen Sie die anderen Segmente entsprechend an, auf gleicher Ebene oder als Kindsegmente. 6. Sichern Sie Ihren Basistyp.

Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...) fr die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damit die Transporteigenschaften die gleichen sind.

Ergebnis
Sie haben jetzt Ihren neuen Basistyp definiert. Er ist noch nicht freigegeben [Seite 162], aber Sie knnen mit ihm bereits testen und arbeiten. Sie sollten Ihren Basistyp erst freigeben, wenn Ihre geplante Verarbeitung fehlerfrei funktioniert!

Im Fallbeispiel heit Ihr IDoc-Typ TESTER01 und hat folgende Struktur (alles Musegmente, Maximalanzahl = Minimalanzahl = 1):

200

April 2001

SAP AG

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

TESTER01

E1HEAD (Belegkopf)

E1ITEM (Position)

April 2001

201

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Nachrichtentyp Basistyp zuordnen

SAP AG

Nachrichtentyp Basistyp zuordnen


Der betriebswirtschaftliche Hintergrund wird hergestellt, indem man den IDoc-Typ einer (oder mehreren) Nachricht(en) zuordnet. Beispielsweise wird fr die Bestellung im Ausgang und den Auftrag 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 Nachrichten Ihren neuen Geschftsproze ausreichend beschreibt.

Vorgehensweise
Neuen Nachrichtentyp (logische Nachricht) anlegen (optional)
1. Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung Nachrichtentypen. 2. Whlen Sie und dann neue Eintrge.

3. Tragen Sie Ihren neuen Nachrichtentyp mit Kurzbeschreibung ein und sichern Sie. Beim Sichern stellen Sie dieses Entwicklungsobjekt in Ihren nderungsauftrag fr Ihre Basistypdefinition.

Nachrichtentyp Basistyp zuordnen (erforderlich)


4. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle Entwicklung IDocTyp/Nachricht. 5. Whlen Sie und dann neue Eintrge.

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 fr Ihre Basistypdefinition.

Sie knnen diese Zuordnungen auch aus dem Umfeld-Men des IDoc-Typ-Editors vornehmen.

Ergebnis
Sie haben dem IDoc-Typ eine logische Nachricht und damit eine betriebswirtschaftliche Bedeutung zugeordnet. Seine funktionale Bedeutung wird in der Verarbeitung ber einen Funktionsbaustein bzw. ber eine Workflow-Aufgabe realisiert.

Im Fallbeispiel machen Sie folgende Angaben: Nachrichtentyp (logische Nachricht) Basistyp TESTER TESTER01

202

April 2001

SAP AG

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

Objekttyp definieren
Um Ihren neuen Basistyp im Workflow verwenden zu knnen (optional in der Eingangsverarbeitung, immer aber in der Fehlerbehandlung), sollten Sie einen entsprechenden Objekttyp im Business Object Repository (BOR) anlegen. Der Objekttyp erbt alle Attribute, Methoden und Ereignisse des Supertyps IDOCAPPL. Sie knnten auch diesen Objekttyp selbst nehmen und z.B. nur andere Methoden zur Ausnahmebehandlung fr ihn definieren. In der SAPKonvention entspricht aber jedem Nachrichtentyp auch ein BOR-Objekttyp.

Vorgehensweise
1. Gehen Sie aus dem R/3-Einstiegsbild ber Werkzeuge Business Workflow Entwicklung in das Workflow-Bereichsmen. Whlen Sie dann Business Object Builder. 2. Legen Sie den neuen Objekttyp als Subtyp von IDOCAPPL an. Tragen Sie dazu IDOCAPPL in das Feld ein und whlen Subtyp. 3. Geben Sie die Attribute Ihres neuen Objekttyps ein (Name, Kurzbeschreibung etc.) und einen noch nicht existierenden Programmnamen ein (Programm wird generiert): Das Programm beschreibt den Objekttyp (Seine Attribute und Methoden) in der Sprache ABAP. 4. Whlen Sie 5. Whlen Sie und sichern Sie das Objekt. .

6. Damit Sie Ihren Objekttyp verwenden knnen, 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 Business Workflow Pflege von Objekttypen [Extern].

Ergebnis
Sie haben einen Objekttyp fr Ihr neues IDoc definiert. Wichtig fr die Ausnahmebehandlung sind die beiden Ereignisse inputErrorOccurred und inputFinished, die Sie diesem Objekttyp zugeordnet haben.

Im Fallbeispiel hat Ihr Objekttyp folgende Attribute: Objekttyp Objektname Bezeichnung Kurzbeschreibung Anwendung IDOCTEST IDOCTEST Test-IDoc Test Fehlerbehandlung TESTER01 V (Vertrieb)

April 2001

203

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Ausgang einrichten (mit Nachrichtensteuerung)

SAP AG

Ausgang einrichten (mit Nachrichtensteuerung)


Voraussetzung
Ihre Anwendung ist NAST-fhig, d.h. sie arbeitet mit der Nachrichtensteuerung zusammen. Sie haben die allgemeinen Definitionen [Seite 197] durchgefhrt.

Vorgehensweise
Neuen Funktionsbaustein anlegen (Ausgang unter NAST) [Seite 205] Neuen Vorgangscode neuem Funktionsbaustein und Nachricht zuordnen (Ausgang) [Seite 211] Partnervereinbarungen fr den neuen IDoc-Typ treffen (Ausgang) [Seite 212] Ausgangsverarbeitung fr neuen Basistyp testen [Seite 213]

204

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)

Funktionsbaustein anlegen (Ausgang unter NAST)


Sie legen einen Funktionsbaustein an, der vom Report RSNASTED (Formroutine NEW_DYN_PERFORM) aus ber einen neuen Vorgangscode identifiziert wird. Dieser Funktionsbaustein fllt den neuen Basistyp mit Anwendungsdaten. RSNASTED selbst steht in der Tabelle TNAPR als EDI-Verarbeitungsprogramm. Die Nachrichtensteuerung liest diese Tabelle und kann dadurch RSNASTED aufrufen.

Vorgehensweise
1. Legen Sie im Function Builder einen neuen Funktionsbaustein an. 2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. Ihr Funktionsbaustein mu die Anwendungsdaten aus den Anwendungstabellen in die entsprechenden Segmente berfhren. 3. Aktivieren Sie Ihren Funktionsbaustein: Whlen Sie dazu im Einstiegsbild des Function Builder .

Im Fallbeispiel heit Ihr neuer Funktionsbaustein IDOC_OUTPUT_TESTER. Er verwendet die neue Schnittstelle (ab Release 3.0), d.h. er stellt die Anwendungsdaten in eine interne Tabelle. Auerdem wird der Weg ohne die ALESchicht (also ohne Filtern) gewhlt. Ihr Funktionsbaustein wird wie IDOC_OUTPUT_ORDERS (IDoc-Typ ORDERS01) aus dem Einkauf (Bestellung anlegen) aufgerufen. Er fllt daher auch die Segmente Ihres neuen IDoc-Typs aus ein Einkaufstabellen, nmlich EKKO und EKPO (Einkaufsbelegkopf und -position). Beachten Sie, da keine realistische Bestellung simuliert, sondern nur dargelegt werden soll, wie Daten aus Anwendungstabellen ber Segmentstrukturen schlielich in eine IDoc-Tabelle wandern. Dazu beachten Sie die Formroutinen HEADER_E1HEAD_FILL oder POSITION_E1ITEM_FILL.

Verwaltungsparameter von IDOC_OUTPUT_TESTER


Anwendungskrzel Ablaufart M (Materialwirtschaft) normal, Start sofort

Schnittstelle von IDOC_OUTPUT_TESTER Formalparameter Importparameter


OBJECT CONTROL_RECORD_IN NAST EDIDC WFAS1-ASGTP aktueller NAST-Satz enthlt die Empfngerinformation Objekttyp fr das Anwendungsobjekt im Business Object Repository (BOR)

Bezugsstruktu r

Erluterung

Exportparameter
OBJECT_TYPE

April 2001

205

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)
CONTROL_RECORD_OUT EDIDC

SAP AG

enthlt die Senderinformation sowie Datum und Uhrzeit, zu dem die IDocTabelle gefllt wurde. Interne Tabelle der IDoc-Datenstze

Tabelle
INT_EDIDD EDIDD

Beispielcoding FUNCTION 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.

206

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)

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. FORM IDOC_TABLE_FILL. * header data PERFORM HEADER_E1HEAD_FILL. * data in position PERFORM POSITION_E1ITEM_FILL. ENDFORM. 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. " IDOC_TABLE_FILL " ORDERS_READ

* sales organization (not supplied -> constant) E1HEAD-VKORG = '1000'. * distribution channel (not supplied -> constant)

April 2001

207

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)
E1HEAD-VTWEG = '10'. * division (not supplied -> constant) E1HEAD-SPART = '00'. ENDSELECT. * order type E1HEAD-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. 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. " HEADER_E1HEAD_FILL

SAP AG

208

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)

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 CALL CUSTOMER-FUNCTION '002' EXPORTING PI_EKPO IMPORTING PE_EKPO TABLES PT_IDOC_DATA_RECORDS ENDFORM. ENDLOOP. ENDFORM. FORM ISO_CODE_UNIT USING ICU_UNIT. " POSITION_E1ITEM_FILL segment = EKPO = EKPO = INT_EDIDD. " HEADER_E1HEAD_FILL

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.

April 2001

209

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (Ausgang unter NAST)
ENDIF. MOVE ISO_UNIT TO ICU_UNIT. ENDFORM. " ISO_CODE_UNIT

SAP AG

Beachten Sie, da im Verwaltungsteil das Feld HLEVEL (Hierarchieebene des Segmentes) nicht gefllt wird. Das bernimmt die IDoc-Schnittstelle, die den entsprechenden Wert aus der Definition des IDoc-Typs TESTER01 bekommt. Beachten Sie auch, da im Feld INT_EDIDD-SEGNAM die Segmente gro geschrieben werden mssen. Sonst meldet die IDoc-Schnittstelle einen Syntaxfehler.

Globale Daten von IDOC_OUTPUT_TESTER *- Tabellen ------------------------------------------------------* TABLES: EKPO, EKET, LFB1, EDIDC, E1HEAD, E1ITEM, T000, EDSDC. * help fields DATA: H_EBELN LIKE EKKO-EBELN, H_KAPPL LIKE NAST-KAPPL, H_PARVW LIKE EKPA-PARVW. * iso codes DATA: ISO_UNIT LIKE T006-ISOCODE.
TYPE-POOLS ISOC. *- Direktwerte fr 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 fr nderungsbeleg ----------------------------------* INCLUDE FM06ECDT. *- Common-Part fr nderungsbeleg ----------------------------------* INCLUDE FM06LCCD. *- Direktwerte -----------------------------------------------------* INCLUDE FMMEXDIR.

210

April 2001

SAP AG

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

Vorgangscode zuordnen (Ausgang)


Der Ausgangsfunktionsbaustein wird ber einen Vorgangscode in der IDoc-Schnittstelle angesteuert.

Voraussetzungen
Voraussetzung sind die vorangegangenen Schritte aus Definition und Verwendung eines Basistyps [Seite 194]

Vorgehensweise
1. Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung Vorgangscode Ausgang. Whlen Sie die Navigation Vorgangscode Ausgang. 2. Whlen Sie und Neue Eintrge.

3. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihren Funktionsbaustein ein. Whlen Sie eine Version des Funktionsbausteines, und ob Sie die ALE-Dienste aufrufen wollen. 4. Sichern Sie Ihre Eingaben. Whlen Sie die Navigation Logische Nachricht. 5. Whlen Sie Neue Eintrge. 6. Tragen Sie die logische Nachricht und den Vorgangscode in die entsprechenden Felder ein und sichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen die mglichen Vorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichen Sicht, ausgeben.

Ergebnis
Durch die Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuen Vorgangscode benannt, den Sie jetzt in den Partnervereinbarungen eintragen knnen.

Im Fallbeispiel machen Sie folgende Angaben: Vorgangscode Funktionsbaustein Nachrichtentyp (logische Nachricht) Option ALE/Eingang Version des Funktionsbausteines TESTAUS IDOC_OUTPUT_TESTER TESTER Verarbeitung ohne ALE Verarbeitung mit Funktionsbaustein Version 3.0.

April 2001

211

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

SAP AG

Partner vereinbaren (Ausgang)


Der neue Basistyp mu in den Partnervereinbarungen eingetragen sein, um eingesetzt werden zu knnen. Im Ausgang unter Nachrichtensteuerung vereinbaren Sie zum Basistyp noch den neuen Vorgangscode, der den neuen Ausgangsfunktionsbaustein identifiziert. Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen Ausgang allgemein und Ausgang ber Nachrichtensteuerung:

Feld
Partnernummer Partnerart Partnerrolle Nachrichtentyp IDoc-Typ Empfngerport Ausgabemodus Erlaubter Bearbeiter Anwendung (Applikation) Nachrichtenart Vorgangscode

Wert
TESTLIEF LI LF TESTER TESTER01 TESTPORT IDocs sofort bergeben, Subsystem nicht starten Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE EF (Einkauf) NEU TESTAUS

212

April 2001

SAP AG

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

Ausgang testen
Voraussetzungen
Voraussetzung 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 Basistyp definiert haben)

Vorgehensweise
Sie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unter Nachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatz eingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Sie mit 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. Im Konditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf Nachrichten) haben Sie den Versandzeitpunkt 4 gewhlt (Bearbeitung ber Zusatzangaben), d.h. Ihr IDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert Europa im Feld KONTINENT auf: berprfen Sie das ber die IDoc-Anzeige [Seite 120].

April 2001

213

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Direkten Eingang einrichten (mit ALE)

SAP AG

Direkten Eingang einrichten (mit ALE)


Sie richten den direkten Eingang ein, der immer ber die ALE-Dienste luft.

Voraussetzungen
Allgemeine Definitionen [Seite 197]

Vorgehensweise
Funktionsbaustein 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]

214

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

Funktionsbaustein anlegen (direkter Eingang)


Sie legen einen Funktionsbaustein an, der von der IDoc-Schnittstelle ber einen Vorgangscode identifiziert und von ALE aufgerufen wird (Feld TBD52-FUNCNAME). Die direkte Eingangsverarbeitung ber einen Funktionsbaustein (nicht ber einen Workflow) durchluft immer die ALE-Schicht. Die Einstellung Verarbeitung durch Funktionsbaustein und durch ALESchicht wird durch den Wert 6 im Feld TEDE2-EDIVRS identifiziert, der vom Funktionsbaustein IDOC_START_INBOUND gelesen wird. IDOC_START_INBOUND ruft dann ALE.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
1. Legen Sie im Einstiegsbild des Function Builder einen neuen Funktionsbaustein an. 2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. Ihr Funktionsbaustein sollte die Anwendungsdaten aus den Segmenten in die entsprechenden Anwendungstabellen berfhren und den IDoc-Status fortschreiben. Im Fehlerfall mu der Funktionsbaustein die entsprechenden Workflow-Parameter fr die Ausnahmebehandlung setzen. 3. Aktivieren Sie Ihren Funktionsbaustein: Whlen Sie dazu aus dem Einstiegsbild des Function Builder .

Im Fallbeispiel legen Sie den Funktionsbaustein IDOC_INPUT_TESTER mit globaler Schnittstelle an. Der Funktionsbaustein wird beim Eingang eines IDocs vom Typ TESTER01 aufgerufen. Sie werden diesem IDoc-Typ ein Anwendungsobjekt Terminauftrag zuordnen und daher Tabellen aus dem Vertrieb (SD) fllen. Dazu rufen Sie mit dem Befehl CALL TRANSACTION die Transaktion VA01 auf. Beachten Sie, da kein realistischer Terminauftrag simuliert, sondern nur dargelegt werden soll, wie Daten aus einer IDoc-Tabelle ber Segmentstrukturen in Anwendungstabellen wandern (Formroutine READ_IDOC_TESTER) und wie der Funktionsbaustein ein Ereignis fr die Ausnahmebehandlung auslst (Durch Zurckgeben geeigneter Return-Variabler an die ALE-Schicht in Formroutine RETURN_VARIABLES_FILL).

Ein umfangreiches Beispiel fr das Coding eines Eingangsfunktionsbausteins finden Sie in der ALE-Dokumentation der R/3-Bibliothek unter Anwendungsbergreifende Funktionen Business Framework Architecture Application Link Enabling ALE-Programmierleitfaden Eingangsverarbeitung Funktionsbaustein im Eingang Verarbeitung eines einzelnen IDocs Coding Beispiel [Extern]. Dieser Funktionsbaustein prft zum Beispiel auch auf richtige logische Nachricht und ruft einen (fiktiven) zweiten Funktionsbaustein auf, der erst die Anwendungsdaten schreibt und die Nummer des entstandenen Belegs zurckgibt. Auerdem setzt er Status 53, wenn der Anwendungsbeleg fehlerfrei gebucht werden konnte.

Verwaltungsparameter von IDOC_INPUT_TESTER

April 2001

215

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)


Anwendungskrzel Ablaufart V (Vertrieb) normal, Start sofort

SAP AG

Schnittstelle von IDOC_INPUT_TESTER (globale Schnittstelle) Formalparameter Importparameter


INPUT_METHOD BDWFAP_PAR-INPUTMETHD beschreibt, wie der Funktionsbaustein abgearbeitet werden soll (Beispiel: im Hintergrund oder dunkel) Masseneingang? (Flag) wird auf 99999 gesetzt, falls ein WorkflowEreignis zur Fehlerbehandlung ausgelst werden soll. von der Anwendung frei verfgbare Variable fr Workflow asynchrone Verbuchung? (Flag, wird im Beispiel nicht gesetzt) Transaktion aufgerufen? (Flag, wird im Beispiel nicht gesetzt) IDoc-Kontrollsatz IDoc-Datenstze IDoc-Statusstze fr ALE IDoc-Zuordnung zu Parametern der Workflow-Methode Falls mehrere IDocs in einer bestimmten Reihenfolge verarbeitet werden sollen: Diese Struktur enthlt die dazu ntige Information

Bezugsstruktur

Erluterung

MASS_PROCESSING

BDWFAP_PAR-MASS_PROC BDWFAP_PAR-RESULT

Exportparameter
WORKFLOW_RESULT

APPLICATION_VARIABLE

BDWFAP_PAR-APPL_VAR

IN_UPDATE_TASK

BDWFAP_PAR-UPDATETASK

CALL_TRANSACTION_DONE

BDWFAP_PAR-CALLTRANS

Tabelle
IDOC_CONTRL IDOC_DATA IDOC_STATUS RETURN_VARIABLES EDIDC EDIDD BDIDOCSTAT BDWFRETVAR

SERIALIZATION_INFO

BDI_SER

Beispielcoding

216

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

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 SET PARAMETER ID 'VTW' FIELD SET PARAMETER ID 'SPA' FIELD SET PARAMETER ID 'VKB' FIELD SET PARAMETER ID 'VKG' FIELD * initialize internal tables REFRESH BDCDATA. CLEAR BDCDATA. CLEAR BELEGNUMMER. CLEAR ERRTAB. REFRESH ERRTAB. REFRESH XBDCMSGCOLL. CLEAR XBDCMSGCOLL. ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA SPACE. SPACE. SPACE. SPACE. SPACE.

April 2001

217

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)


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. FORM INITIALIZE_IDOC. CLEAR XVBAK. REFRESH XVBAP. CLEAR XVBAP. POSNR = 0. FIRST = 'X'. ENDFORM. 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 " INITIALIZE_IDOC " READ_IDOC_TESTER

SAP AG

218

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

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

April 2001

219

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)


CALL TRANSACTION 'VA01' USING MODE UPDATE MESSAGES errorcode = SY-SUBRC. ENDFORM. BDCDATA INPUT_METHOD 'S' INTO XBDCMSGCOLL.

SAP AG

" remember returncode for status update " 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.

* * * * * *

220

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

ENDFORM. FORM DYNPRO_NEW USING

" DYNPRO_START PROGNAME DYNPRONR CHANGING LAST_DYNPRO.

CLEAR BDCDATA. BDCDATA-PROGRAM = PROGNAME. BDCDATA-DYNPRO = DYNPRONR. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. LAST_DYNPRO = DYNPRONR. ENDFORM. FORM DYNPRO_SET USING " DYNPRO_NEW 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. FORM DYNPRO_DATE_SET USING DATA: DATE TYPE D. " DYNPRO_DETAIL2 FELDNAME FELDINHALT.

April 2001

221

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)


CLEAR BDCDATA. CHECK FELDINHALT NE SPACE. BDCDATA-FNAM = FELDNAME. WRITE FELDINHALT TO DATE. BDCDATA-FVAL = DATE. APPEND BDCDATA. ENDFORM. 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. 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 * order quantity PERFORM DYNPRO_SET * desired delivery date PERFORM DYNPRO_DATE_SET * sales unit PERFORM DYNPRO_SET ELSE. * PERFORM DYNPRO_SET * material number PERFORM DYNPRO_SET * order quantity PERFORM DYNPRO_SET * desired delivery date PERFORM DYNPRO_DATE_SET * sales unit PERFORM DYNPRO_SET ENDIF. " DYNPRO_HEAD_300 " DYNPRO_DATE_SET

SAP AG

USING 'VBAP-MATNR(01)'

XVBAP-MATNR.

USING 'RV45A-KWMENG(01)' XVBAP-WMENG. USING 'RV45A-ETDAT(1)' USING 'VBAP-VRKME(1)' USING 'BDC_OKCODE' USING 'VBAP-MATNR(02)' USING 'RV45A-KWMENG(02)' USING 'RV45A-ETDAT(02)' USING 'VBAP-VRKME(02)' WLDAT. XVBAP-VRKME. 'POAN'. XVBAP-MATNR. XVBAP-WMENG. WLDAT. XVBAP-VRKME.

222

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

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. INCLUDE STRUCTURE VBAK621. DATA: END OF XVBAK. DATA: BEGIN OF XVBAP OCCURS 50. INCLUDE STRUCTURE VBAP. DATA: WMENG(18) TYPE C. DATA: LFDAT LIKE VBAP-ABDAT. DATA: KSCHL LIKE KOMV-KSCHL. DATA: KBTRG(16) TYPE C. "Kopfdaten

"Position

April 2001

223

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)


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 KKAU UER2 KBES ERF1 PBES PKAU PEIN EID1 POPO EIPO KPAR PSDE PPAR KDE1 KDE2 PDE1 PDE2 PKON END OF DYNPRO. DATA: BEGIN OF PANEL, KKAU UER2 KBES ERF1 PBES PKAU PEIN EID1 EIAN POPO EIPO KPAR PSDE POAN PPAR KDE1 KDE2 PDE1 PDE2 PKON KOAN LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE T185V-DYNNR VALUE 101, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR, T185V-DYNNR,

SAP AG

LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE LIKE

T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL T185V-PANEL

VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE VALUE

'KKAU', 'UER2', 'KBES', 'ERF1', 'PBES', 'PKAU', 'PEIN', 'EID1', 'EIAN', 'POPO', 'EIPO', 'KPAR', 'PSDE', 'POAN', 'PPAR', 'KDE1', 'KDE2', 'PDE1', 'PDE2', 'PKON', 'KOAN',

224

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein anlegen (direkter Eingang)

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 WLDAT POSNR FIRST(1) LIKE LIKE LIKE TYPE T185V-DYNNR, VBAK-BSTDK, VBAP-POSNR, 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-Status DATA: BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'. DATA: BELEG_GEBUCHT LIKE TEDS1-STATUS VALUE '53'. *- Direktwerte fr 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 fr Workflow_Result ------------------------DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'. DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'.

April 2001

225

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eigenschaften des Funktionsbausteins pflegen

SAP AG

Eigenschaften des Funktionsbausteins pflegen


Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
1. Gehen Sie in das ALE-Entwicklungsmen: Whlen Sie aus dem R/3-Einstiegsbild Werkzeuge Business Framework ALE Entwicklung, IDoc-Schnittstelle Eingangsverarbeitung Funktionsbaustein Attribute pflegen, Neue Eintrge. 2. Pflegen Sie die Eigenschaften Ihres Funktionsbausteins und sichern Sie Ihre Angaben. Stellen Sie die neuen Eintrge in Ihren Transportauftrag Beim Einzeleingang setzen Sie die Eigenschaft Inputtyp je nachdem, ob die aufgerufene Transaktion die IDocs sperrt und den IDoc-Status fortschreibt oder nicht. Weitere Informationen zu ALE-fhigen Transaktionen finden Sie unter Call Transaction einsetzen [Extern].

Im Fallbeispiel geben Sie den Inputtyp 2 ein (Einzeleingang mit IDoc-Sperre in der Transaktion) und markieren die Option Dialog mglich (Ihr Funktionsbaustein soll eine Dialogtransaktion aufrufen knnen).

226

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Funktionsbaustein zuordnen (direkter Eingang)

Funktionsbaustein zuordnen (direkter Eingang)


Hier definieren Sie, da Ihr neuer Funktionsbaustein Ihren neuen Basistyp mit einer bestimmten Nachricht verarbeiten darf. Auerdem weisen Sie dem Funktionsbaustein ein Anwendungsobjekt aus dem Business Object Repository (BOR) zu (etwa einen Kundenauftrag), dem er die Anwendungsdaten aus dem IDoc zuweisen darf. Dieser Schritt ist die ALE-Registrierung des Funktionsbausteins.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194].

Vorgehensweise
1. Whlen Sie aus dem Einstiegsbild der IDoc-Schnittstelle [Extern] Entwicklung Nachricht/Anw.Objekt, und dann neue Eintrge. 2. Ordnen Sie Ihren Funktionsbaustein den verschiedenen Objekten zu. Als Richtung whlen Sie 2 (Eingang). Sichern Sie die neuen Eintrge in Ihrem Transportauftrag.

Im Fallbeispiel ordnen Sie folgende Objekte einander zu: Baustein Basistyp Nachrichtentyp Objekttyp IDOC_INPUT_TESTER, Typ F (Funktionsbaustein) TESTER01 TESTER BUS2032 (Kundenauftrag)

April 2001

227

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Vorgangscode zuordnen (direkter Eingang)

SAP AG

Vorgangscode zuordnen (direkter Eingang)


In diesem Schritt ordnen Sie dem neuen Funktionsbaustein einen neuen Vorgangscode zu. Sie erreichen dadurch, da der Funktionsbaustein aus den Partnervereinbarungen der IDocSchnittstelle identifiziert werden kann, wenn ein IDoc mit Ihrem neu angelegten Nachrichtentyp eingeht.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
1. Whlen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung Vorgangscode Eingang, Navigation Vorgangscode Eingang, dann , dann Neue Eintrge. 2. Tragen Sie Ihren Vorgangscode und eine Beschreibung ein. Whlen Sie als Optionen Verarbeitung mit ALE und Verarbeitung durch Funktionsbaustein und sichern Sie Ihre Angaben. Sie gelangen (entweder automatisch oder von Hand) in das Pflegebild, in dem Sie dem Vorgangscode den Eingangsfunktionsbaustein zuordnen. 3. Whlen Sie Neue Eintrge Tragen Sie im Detailbild ein: Ihren Vorgangscode Rahmen Eingangsmodul: Ihren Funktionsbaustein und wie oft er maximal versuchen soll, die Anwendungsdaten einzubuchen, bevor die Ausnahmebehandlung angesprungen werden soll. Rahmen IDoc: Ihren Objekttyp, das Startereignis inputErrorOccurred und das Endereignis inputFinished. Rahmen Anwendungsobjekt: Ihren Objekttyp

Lassen Sie die anderen Felder leer. Sichern Sie und gehen Sie zurck zum Einstiegsbild Vorgangscodes Eingang. 5. Gehen Sie ber zur Pflege der Eingangsvorgangscodes zurck und whlen Sie die Navigation Logische Nachricht. 6. Im nderungsmodus whlen Sie Neue Eintrge. 7. Tragen Sie Ihren Nachrichtentyp (logische Nachricht) und Ihren Vorgangscode ein und sichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen die mglichen Vorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichen Sicht, ausgeben.

Wenn Sie im letzten Schritt alle Typen gewhlt haben, dann gibt die Wertehilfe den Vorgangscode zu allen Nachrichtentypen aus. Gleiches gilt fr die beiden anderen Optionen zu Nachrichtenvariante und funktion.

228

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Vorgangscode zuordnen (direkter Eingang)

Ergebnis
Durch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuen Vorgangscode benannt, den Sie in den Partnervereinbarungen eintragen knnen.

Im Fallbeispiel machen Sie folgende Angaben: Vorgangscode Basistyp Funktionsbaustein maximale Anzahl Wiederholungen Nachrichtentyp (logische Nachricht) IDoc-Objekttyp Anwendungsobjekttyp TESTEIN TESTER01 IDOC_INPUT_TESTER 0 TESTER IDOCTEST BUS2032 (Kundenauftrag)

April 2001

229

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Partner vereinbaren (direkter Eingang)

SAP AG

Partner vereinbaren (direkter Eingang)


Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
Der neue Basistyp mu in den Partnervereinbarungen eingetragen sein, um eingesetzt werden zu knnen. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fr Eingangsverarbeitung und Ausnahmebehandlung. Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen (allgemeine Kopfeintrge mssen vorhanden sein):

Feld
Partnernummer Partnerart Partnerrolle Nachrichtentyp Erlaubter Bearbeiter Vorgangscode

Wert
TESTKUND KU AG TESTER Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE TESTEIN

Beachten Sie die folgende Graphik, die Ihnen zeigt, was Sie definiert haben und wie sich das in der Eingangsverarbeitung auswirkt! Schlsselfelder sind in der Graphik grau dargestellt, Zuordnungen, die das R/3-System vornimmt, durch Pfeile. Im Verlauf Ihrer Entwicklung des neuen Basistyps und seiner Einbettung in die Eingangsverarbeitung haben Sie die diese Felder einander entsprechend definiert. Da Sie den Mandanten nicht einstellen knnen, ist dieses Schlsselfeld hier nicht gezeigt. Felder und Zuordnungen im Eingang

230

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Partner vereinbaren (direkter Eingang)


IDoc-Kontrollsatz

IDoc-Typ

Partner
("Nummer",Art,Rolle)

Nachricht
(Typ, Variante, Funktion)

Test?

Partner
("Nummer",Art,Rolle)

Nachricht Test? (Typ, Variante, Funktion)

Vorgangscode

Eingang mit ALE?, Empfnger von Benachrichtigungen,...

Eingangs-Partnervereinbarungen

IDoc-Typ

Nachricht
(Typ, Variante, Funktion)

Zuordnung Nachricht - IDoc-Typ

IDoc-Typ

Funktionsbaustein

Nachricht

BOR-

(Typ, Variante, Funktion) Objekt

Zuordnung F.Baustein - IDoc-Typ, Nachricht... (ALE-Registrierung)

April 2001

231

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

SAP AG

Aufgabe anlegen (Ausnahme)


In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred. Auerdem aktivieren Sie die Typkopplung [Extern].

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
Aufgabe anlegen durch Kopieren
1. Whlen Sie aus dem R/3-Einstiegsbild Werkzeuge Business Workflow Entwicklung, Definitionswerkzeuge Aufgaben Kopieren. Geben Whlen Sie als Aufgabentyp Standardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung von ORDERS01) ein. 2. Whlen Sie und geben Sie ein Aufgabenkrzel ein. Beim Kopieren whlen Sie die Entwicklungsklasse, die Sie fr sich in der IDoc-Administration eingestellt haben, oder die fr alle anderen Objekte Ihrer Basistypdefinition gilt.

Neu angelegte Aufgabe ndern


3. Gehen Sie ins Workflow-Entwicklungsmen zurck und whlen Sie Definitionswerkzeuge Aufgabe ndern. Das System bernimmt Ihre neue Aufgabe ins Eingabefeld. 4. Whlen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fr folgende Registerkarten: Grunddaten Auslsende Ereignisse (neue Zeile einfgen, alte lschen) Beendende Ereignisse (neue Zeile einfgen, alte lschen)

Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom Objekttyp IDOCORDERS bernommen (Registerkarte Grunddaten). 5. Schalten Sie per Knopfdruck die Typkopplung beim auslsenden Ereignis ein (grnes Licht). Sichern Sie Ihre Angaben. 6. Whlen Sie Zusatzdaten Bearbeiterzuordnung pflegen, um Ihrer Aufgabe mgliche Bearbeiter zuzuordnen. ber Eigenschaften knnen Sie die Aufgabe als generelle Aufgabe klassifizieren, d.h. jeder ist mglicher Bearbeiter. 7. Sichern Sie ihre Angaben.

Sie knnen testen, ob Sie als mglicher Bearbeiter der Aufgabe in Frage kommen. Whlen Sie dazu aus dem Workflow-Entwicklungsmen Laufzeitwerkzeuge Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und whlen . Wenn eine Fehlermeldung Sie als nicht mglichen Bearbeiter ausweist, kann das

232

April 2001

SAP AG

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

auch an internen Puffertabellen der Organisationsmodellierung liegen. Whlen Sie dann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.

Im Fallbeispiel machen Sie folgende Angaben: Aufgabenkrzel Objekttyp Objektmethode Bearbeiterzuordnung TEST_ERROR IDOCTEST errorProcess generelle Aufgabe

April 2001

233

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

SAP AG

Eingang testen
Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte fr 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 Basistyp definiert haben)

Vorgehensweise
4. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs Ihres Typs editieren knnen. Als Testvorlage whlen Sie Ein Ausgangs-IDoc, falls Sie fr Ihren IDoc-Typ den Ausgang eingerichtet und getestet haben. Dann mssen Sie nur noch Absender und Empfnger vertauschen und im Kontrollsatz die Richtung 2 eingeben. Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuer Basistyp) besitzen. Dann mssen Sie zustzlich noch die Segmentfelder mit Anwendungsdaten fllen.

Beim direkten ALE-Eingang knnen Sie den Funktionsbaustein direkt und im Debugging-Modus aus dem Testwerkzeug anspringen. Gerade bei Neuentwicklungen ist das sehr hilfreich. Beim Eingang ber Workflow testen Sie Ihre Verarbeitung z.B. in der ABAP Workbench. 5. berprfen Sie ber die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs. Wenn die Anwendung den Beleg akzeptiert, erhlt er jetzt den aktuellen Status 53 (Anwendungsbeleg gebucht). Andernfalls hat es den aktuellen Status 51 (Anwendungsbeleg nicht gebucht). Durch Anklicken der Statusstze knnen Sie sich anzeigen lassen, welche Fehler die Anwendung in die Statusstze geschrieben hat. 6. berprfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellen geschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. IDoc konnte oder sollte nicht verarbeitet werden), dann knnen Sie von dieser Nachricht direkt in die IDocAnzeige springen.

Im Fallbeispiel sollten Sie folgende Eintrge im Kontrollsatz vornehmen: Empfnger: Absender: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>, Partnerart LS (logisches System), Partnerrolle leer lassen Port TESTPORT, Partnernummer TESTKUND, Partnerart KU (Kunde), Partnerrolle AG

234

April 2001

SAP AG

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

Wenn Sie den Basistyp ORDERS01 erweitert haben:


IDoc-Typ Erweiterung Nachrichtentyp IDoc-Typ Nachrichtentyp ORDERS01 Z1ORDERS ORDERS TESTER01 TESTER

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

April 2001

235

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

SAP AG

Ausnahmebehandlung testen
Testen Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehler provozieren, z.B. ein IDoc mit leerem Mufeld bergeben.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps [Seite 194]. Insbesondere mu Ihr Coding die Ausnahmebehandlung rufen (bzw. beim ALE-Eingang ber die Workflow-Rckgabeparameter veranlassen) und Status 51 setzen!

Vorgehensweise
1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test Testwerkzeug. Whlen Sie als Vorlage fr den Test existierendes IDoc und geben Sie die Nummer eines Eingangs-IDocs an, das Status 53 hat. 2. Whlen Sie .

3. Editieren Sie durch Anklicken ein Mufeld eines Segments und entfernen Sie seinen Inhalt. 4. Whlen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Sie z.B. ber die IDoc-Anzeige [Seite 120] verifizieren knnen). 5. Wenn Sie als mglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter in den Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem in Ihren integrierten Eingangskorb, das Sie dort ausfhren knnen. Zum Eingangskorb kommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle ber IDoc Eingangskorb.

Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG. Dadurch stt Ihre Eingangsverarbeitung in der Formroutine CALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisation angegeben). Sie erhalten als mglicher und ausgewhlter Bearbeiter ein Workitem in Ihren integrierten Eingangskorb.

236

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingang ber Workflow einrichten

Eingang ber Workflow einrichten


Voraussetzungen
Allgemeine Definitionen [Seite 197]

Vorgehensweise
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] Partner vereinbaren (Eingang ber Workflow) [Seite 247] Eingang ber Workflow testen [Seite 248] Ausnahmebehandlung testen [Seite 250]

Ergebnis
Sie haben den Eingang (mit Ausnahmebehandlung) ber Workflow definiert und getestet.

April 2001

237

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung als Objektmethode definieren

SAP AG

Eingangsverarbeitung als Objektmethode definieren


Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
1. Whlen Sie aus dem Werkzeuge Business Workflow Entwicklung Definitionswerkzeuge Business Objekt Builder. Geben Sie Ihren Objekttyp ein und whlen Sie ndern. 2. Definieren Sie eine neue Methode fr Ihren Objekttyp. Positionieren Sie dazu auf Methoden und whlen Sie . 3. Wenn Sie einen Funktionsbaustein als technische Realisierung Ihrer Methode geschrieben haben, 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 die Methode zurckmeldet. 4. Positionieren Sie auf Ihre neue Methode und whlen 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 whlen Sie Bearbeiten Freigabestatus ndern Objekttypkomponente in implementiert. 8. Whlen Sie .

Ergebnis
Sie haben eine Methode durch ein konkretes ABAP-Programm realisiert. Sie mssen noch eine Standardaufgabe anlegen, die auf diese Methode und auf den zugehrigen Objekttyp zeigt.

Im Fallbeispiel definieren Sie die synchrone, dialogfreie Methode inputBackgroundTest fr Ihren Objekttyp IDOCTEST. Das ABAP-Coding lautet: INCLUDE <OBJECT>. " Workflow-Makros zur Objektdefinition begin_data object. " Do not change.. DATA is generated * only private members may be inserted into structure private data: " 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

238

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung als Objektmethode definieren

... 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 Supertyp IDOCAPPL als Schlsselfeld geerbt hat. Den Funktionsbaustein IDOC_INPUT_WF_TESTER legen Sie per Vorwrtsnavigation (Doppelklick) an. Er liest die Daten aus dem IDoc und setzt ein Ereignis im Fehlerfall ab (durch Aufruf des Workflow-Funktionsbausteins SWE_EVENT_CREATE). In der Formroutine READ_IDOC_TESTER sehen Sie, wie Daten aus einer IDoc-Tabelle ber Segmentstrukturen in Anwendungstabellen wandern.

Im folgenden Coding wird fters auf das Analogon beim direkten Eingang verwiesen (Beispiel IDOC_INPUT_TESTER), jedoch nur aus Platzgrnden, da man ja entweder den direkten oder den Workflow-Eingang whlt.

Verwaltungsparameter von IDOC_INPUT_WF_TESTER


Anwendungskrzel Ablaufart V (Vertrieb) normal, Start sofort

Beispielcoding
FUNCTION IDOC_INPUT_WF_TESTER. *--------------------------------------------------------*Globale Schnittstelle: * IMPORTING idocnumber LIKE EDIDC-DOCNUM *--------------------------------------------------------INCLUDE <CNTN01>. " Workflow-Makros zur Containerdefinition DATA: 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. "Fr Test der Ausnahmebehandlung swc_container ev_container. * initialize SET/GET parameters and internal tables PERFORM INITIALIZE_ORGANIZATIONAL_DATA. CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS' EXPORTING

April 2001

239

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung als Objektmethode definieren


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 USING errorcode. "Status schreiben

SAP AG

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.

240

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung als Objektmethode definieren

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. ENDFORM. " remember returncode for status update " 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_ds USING errorcode. * fill status record I_EDIDS-DOCNUM = IDOC_CONTRL-DOCNUM. I_EDIDS-LOGDAT = SY-DATUM. IF errorcode = 0.

April 2001

241

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Eingangsverarbeitung als Objektmethode definieren


I_EDIDS-STATUS = BELEG_GEBUCHT. 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. 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. "value 53

SAP AG

"value 51

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_TESTER data: 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]

242

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Aufgabe anlegen (Eingang ber Workflow)

Aufgabe anlegen (Eingang ber Workflow)


In diesem Schritt legen Sie eine Aufgabe zur Eingangsverarbeitung an, die im Hintergrund abgearbeitet wird. Die Aufgabe zeigt auf Ihre neu angelegte Objektmethode. Alternativ knnen Sie einen Workflow definieren.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Aufgabe anlegen
1. Whlen Sie Entwicklung Business Workflow Definitionswerkzeuge Aufgaben Anlegen (Aufgabentyp Standardaufgabe). Geben Sie ein Aufgabenkrzel ein. Whlen Sie und sichern Sie gleich im Anschlu.

Beim Sichern ordnen Sie die Aufgabe der Entwicklungsklasse Ihrer anderen Entwicklungsobjekte (Basistyp, Funktionsgruppe,...) zu. 2. Weisen Sie der Aufgabe mgliche Bearbeiter zu: Whlen Sie Zusatzdaten Bearbeiterzuordnung Pflegen. Diesen Schritt mssen Sie nur dann durchfhren, wenn Sie keine Hintergrundaufgabe anlegen wollen in diesem Fall gibt es ja keinen Bearbeiter. Sie knnen die Aufgabe ber Eigenschaften als generelle Aufgabe pflegen. 3. Tragen Sie Ihren Objekttyp und Ihre Methode ein und kennzeichnen Sie die Aufgabe nach der Verarbeitungsart (z.B. fr Hintergrundverarbeitung). ndern Sie den Freigabestatus auf implementiert. Sichern Sie Ihre Angaben.

Bei Dialogaufgaben knnen Sie testen, ob Sie als mglicher Bearbeiter in Frage kommen. Whlen Sie Entwicklung Business Workflow Laufzeitwerkzeuge Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und whlen .

Im Fallbeispiel machen Sie folgende Angaben: Aufgabenkrzel Methode Objekttyp Ausfhrung Bearbeiterzuordnung TEST_INPUT InputBackgroundTest IDOCTEST Hintergrundverarbeitung keine (Es gibt keine Bearbeiter fr Hintergrundaufgaben)

April 2001

243

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Vorgangscode anlegen (Eingang ber Workflow)

SAP AG

Vorgangscode anlegen (Eingang ber Workflow)


Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
1. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung Vorgangscode Eingang, Navigation Vorgangscode Eingang, und dann neue Eintrge. 2. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihre neue Standardaufgabe im Feld Identifizierung ein. Whlen Sie als Optionen Verarbeitung durch Aufgabe und z.B. Verarbeitung ohne ALE und sichern Sie Ihre Angaben. 3. Whlen Sie die Navigation Logische Nachricht. 4. Whlen Sie Neue Eintrge. 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 knnen Sie diese Hilfe auch auf bestimmte Nachrichtenvarianten oder funktionen einschrnken.

Ergebnis
Durch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuen Vorgangscode benannt, den Sie in den Partnervereinbarungen eintragen knnen.

Im Fallbeispiel machen Sie folgende Angaben: Vorgangscode Identifizierung Logische Nachricht TESTWFEIN <Ihre Aufgabe> TESTER

244

April 2001

SAP AG

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

Aufgabe anlegen (Ausnahme)


In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred. Auerdem aktivieren Sie die Typkopplung [Extern].

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
Aufgabe anlegen durch Kopieren
8. Whlen Sie aus dem R/3-Einstiegsbild Werkzeuge Business Workflow Entwicklung, Definitionswerkzeuge Aufgaben Kopieren. Geben Whlen Sie als Aufgabentyp Standardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung von ORDERS01) ein. 9. Whlen Sie und geben Sie ein Aufgabenkrzel ein. Beim Kopieren whlen Sie die Entwicklungsklasse, die Sie fr sich in der IDoc-Administration eingestellt haben, oder die fr alle anderen Objekte Ihrer Basistypdefinition gilt.

Neu angelegte Aufgabe ndern


10. Gehen Sie ins Workflow-Entwicklungsmen zurck und whlen Sie Definitionswerkzeuge Aufgabe ndern. Das System bernimmt Ihre neue Aufgabe ins Eingabefeld. 11. Whlen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fr folgende Registerkarten: Grunddaten Auslsende Ereignisse (neue Zeile einfgen, alte lschen) Beendende Ereignisse (neue Zeile einfgen, alte lschen)

Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom Objekttyp IDOCORDERS bernommen (Registerkarte Grunddaten). 12. Schalten Sie per Knopfdruck die Typkopplung beim auslsenden Ereignis ein (grnes Licht). Sichern Sie Ihre Angaben. 13. Whlen Sie Zusatzdaten Bearbeiterzuordnung pflegen, um Ihrer Aufgabe mgliche Bearbeiter zuzuordnen. ber Eigenschaften knnen Sie die Aufgabe als generelle Aufgabe klassifizieren, d.h. jeder ist mglicher Bearbeiter. 14. Sichern Sie ihre Angaben.

Sie knnen testen, ob Sie als mglicher Bearbeiter der Aufgabe in Frage kommen. Whlen Sie dazu aus dem Workflow-Entwicklungsmen Laufzeitwerkzeuge Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und whlen . Wenn eine Fehlermeldung Sie als nicht mglichen Bearbeiter ausweist, kann das

April 2001

245

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

SAP AG

auch an internen Puffertabellen der Organisationsmodellierung liegen. Whlen Sie dann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.

Im Fallbeispiel machen Sie folgende Angaben: Aufgabenkrzel Objekttyp Objektmethode Bearbeiterzuordnung TEST_ERROR IDOCTEST errorProcess generelle Aufgabe

246

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Partner vereinbaren (Eingang ber Workflow)

Partner vereinbaren (Eingang ber Workflow)


Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps. [Seite 194]

Vorgehensweise
Der neue Basistyp mu in den Partnervereinbarungen eingetragen sein, um eingesetzt werden zu knnen. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fr Eingangsverarbeitung und Ausnahmebehandlung. Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].

Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen:

Feld
Partnernummer Partnerrolle Partnerart Nachrichtentyp IDoc-Typ Erlaubter Bearbeiter Vorgangscode Verarbeitung

Wert
TESTKUND AG KU TESTER TESTER01 Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE TESTWFEIN sofortige Verarbeitung

April 2001

247

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

SAP AG

Eingang testen
Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte fr 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 Basistyp definiert haben)

Vorgehensweise
7. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs Ihres Typs editieren knnen. Als Testvorlage whlen Sie Ein Ausgangs-IDoc, falls Sie fr Ihren IDoc-Typ den Ausgang eingerichtet und getestet haben. Dann mssen Sie nur noch Absender und Empfnger vertauschen und im Kontrollsatz die Richtung 2 eingeben. Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuer Basistyp) besitzen. Dann mssen Sie zustzlich noch die Segmentfelder mit Anwendungsdaten fllen.

Beim direkten ALE-Eingang knnen Sie den Funktionsbaustein direkt und im Debugging-Modus aus dem Testwerkzeug anspringen. Gerade bei Neuentwicklungen ist das sehr hilfreich. Beim Eingang ber Workflow testen Sie Ihre Verarbeitung z.B. in der ABAP Workbench. 8. berprfen Sie ber die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs. Wenn die Anwendung den Beleg akzeptiert, erhlt er jetzt den aktuellen Status 53 (Anwendungsbeleg gebucht). Andernfalls hat es den aktuellen Status 51 (Anwendungsbeleg nicht gebucht). Durch Anklicken der Statusstze knnen Sie sich anzeigen lassen, welche Fehler die Anwendung in die Statusstze geschrieben hat. 9. berprfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellen geschrieben hat.

Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. IDoc konnte oder sollte nicht verarbeitet werden), dann knnen Sie von dieser Nachricht direkt in die IDocAnzeige springen.

Im Fallbeispiel sollten Sie folgende Eintrge im Kontrollsatz vornehmen: Empfnger: Absender: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>, Partnerart LS (logisches System), Partnerrolle leer lassen Port TESTPORT, Partnernummer TESTKUND, Partnerart KU (Kunde), Partnerrolle AG

248

April 2001

SAP AG

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

Wenn Sie den Basistyp ORDERS01 erweitert haben:


IDoc-Typ Erweiterung Nachrichtentyp IDoc-Typ Nachrichtentyp ORDERS01 Z1ORDERS ORDERS TESTER01 TESTER

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

April 2001

249

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

SAP AG

Ausnahmebehandlung testen
Testen Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehler provozieren, z.B. ein IDoc mit leerem Mufeld bergeben.

Voraussetzungen
Voraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendung eines Basistyps [Seite 194]. Insbesondere mu Ihr Coding die Ausnahmebehandlung rufen (bzw. beim ALE-Eingang ber die Workflow-Rckgabeparameter veranlassen) und Status 51 setzen!

Vorgehensweise
6. Whlen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test Testwerkzeug. Whlen Sie als Vorlage fr den Test existierendes IDoc und geben Sie die Nummer eines Eingangs-IDocs an, das Status 53 hat. 7. Whlen Sie .

8. Editieren Sie durch Anklicken ein Mufeld eines Segments und entfernen Sie seinen Inhalt. 9. Whlen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Sie z.B. ber die IDoc-Anzeige [Seite 120] verifizieren knnen). 10. Wenn Sie als mglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter in den Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem in Ihren integrierten Eingangskorb, das Sie dort ausfhren knnen. Zum Eingangskorb kommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle ber IDoc Eingangskorb.

Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG. Dadurch stt Ihre Eingangsverarbeitung in der Formroutine CALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisation angegeben). Sie erhalten als mglicher und ausgewhlter Bearbeiter ein Workitem in Ihren integrierten Eingangskorb.

250

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Neu definierte Objekte freigeben

Neu definierte Objekte freigeben


Voraussetzungen
Voraussetzung 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 Basistyp definiert haben)

Vorgehensweise
Sie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung. Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oder Segmenteditor) ber Bearbeiten Freigabe setzen. Die Freigabe knnen Sie auch wieder ber Bearbeiten Freigabe aufheben zurcknehmen.

Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjekte in der angegebenen Reihenfolge frei:

Wenn Sie den Basistyp ORDERS01 erweitert haben:


Segment Erweiterung Segmente IDoc-Typ Z1TEST1 Z1ORDERS E1HEAD, E1ITEM TESTER01

Wenn Sie den neuen Basistyp TESTER01 definiert haben:

Ergebnis
Ihre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionen noch bersetzen wollen, knnen Sie dies gezielt mit der allgemeinen bersetzungstransaktion bewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafr innerhalb der bersetzungstransaktion anfassen mssen: Dokumentation bersetzen [Seite 155]

April 2001

251

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Suche nach Fehlern in der Workflow-Verarbeitung

SAP AG

Suche nach Fehlern in der Workflow-Verarbeitung


Bei ereignisgesteuerten Workflows prfen 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. Whlen Sie Werkzeuge Business Workflow Entwicklung Hilfsmittel Ereignisse Ereignis-Trace Anzeigen. Geben Sie Ihren erzeugenden Objekttyp und das Ereignis ein und grenzen Sie die Erzeugungszeit entsprechend ein. 4. Wenn kein Ereignis gefunden wurde, dann prfen Sie bitte: Beim direkten Eingang ber ALE (Ausnahmebehandlung): Gibt Ihr Funktionsbaustein den richtigen Workflow-Parameter zurck? Ist in der entsprechenden ALE-Tabelle (erreichbar ber den Eingangs-Vorgangscode) das Ereignis beim entsprechenden Objekttyp gepflegt?

Sie knnen die Konsistenzprfung von ALE benutzen: Whlen Sie dazu Werkzeuge Business Framework ALE Entwicklung, IDoc-Schnittstelle Eingangsverarbeitung Konsistenz prfen und beachten Sie die Meldungen fr Ihren Vorgangscode. Beim Eingang ber Workflow: Ruft Ihr ABAP-Coding zur verarbeitenden Methode den Funktionsbaustein SWE_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 berprfen Sie, ob Ihre Aufgabe in der Karteikarte auslsendes Ereignis das richtige Ereignis besitzt.

252

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Administration: Anwenderparameter

IDoc-Administration: Anwenderparameter
Verwendung
In der IDoc-Administration stellen Sie globale und benutzerspezifische Parameter ein. Hier werden die benutzerspezifischen oder Anwenderparameter betrachtet. Fr die globalen Parameter beachten Sie den Abschnitt IDoc-Administration im Customizing [Seite 255].

Funktionsumfang
Anwenderparameter sind z.B.: der Testport bei der Dateischnittstelle. Aus dessen Beschreibung werden z.B. die Pfade beim Test Eingang modifizierte Ausgangsdatei [Seite 104] gezogen das Ausgabeformat bei der IDoc-Dokumentation, sowie Verzeichnisse und Namen fr die ausgegebenen Dateien (bei HTML/XML/C-Header). Ob Sie bei HTML-Ausgabe der IDoc-Dokumentation einen Browser automatisch starten wollen ob Sie Nullwerte bei IDoc-Listen anzeigen lassen wollen, d.h. ob Sie bei der zeitlichen Darstellung etwa von IDoc-Eingngen jeden Zeitschritt aufgelistet haben wollen, auch wenn gar keine IDocs eingegangen sind zum Workflow-Customizing: Hier werden die Einstellungen des Customizings berprft (existiert eine Planvariante, existiert ein Workflow-Administrator etc.) Zum IDoc-CATT-Testlauf [Seite 106]: Hier knnen Sie die Funktionen der Schnittstelle automatisch testen lassen.

Die IDoc-Administration bietet auerdem Absprnge

Aktivitten
Zur Administration gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern] ber Steuerung Administration. Whlen Sie die entsprechende Registerkarte, um Voreinstellungen oder Vorschlagswerte zu erfassen.

April 2001

253

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

SAP AG

Zustzliche Einstellungen
Verwendung
Die folgenden Funktionen bieten Voreinstellungen, die normalerweise nur selten gettigt werden.

Funktionsumfang
IDoc-Administration im Customizing [Seite 255]. Weiterleitung Eingang [Seite 256] Dateinamen erzeugen [Seite 257] Partnerarten bearbeiten [Seite 258]

254

April 2001

SAP AG

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI IDoc-Administration im Customizing

IDoc-Administration im Customizing
Verwendung
Wichtige Voreinstellungen der IDoc-Administration sind die globalen Parameter. Sie werden im Customizing gesetzt.

Funktionsumfang
Systemparameter sind z.B. der IDoc-Administrator, der in der Ausnahmebehandlung benachrichtigt wird. Gegebenenfalls wird er durch speziellere Eintrge in den Partnervereinbarungen berschrieben (siehe Rollenauflsung in der Ausnahmebehandlung [Seite 31]). die Systemumgebung: Sie beschreibt, mit welchen Funktionen die IDoc-Schnittstelle zusammenarbeiten kann: Den Anwendungen oder der Nachrichtensteuerung. die maximale Anzahl protokollierter Fehler, bevor eine Ausnahmebehandlung nach der Syntaxprfung gestartet wird. Die Syntaxprfung selbst knnen Sie in den Partnervereinbarungen Ausgang [Seite 78] bzw. Eingang [Seite 84] abstellen. die SAPoffice Eingangsmappe fr IDocs aus dem Internet (MIME-attachment). Aus dieser Eingangsmappe werden IDocs beim Porttyp Internet weiterverarbeitet. Zu den noch zu ttigenden Einstellungen fr diesen Porttyp lesen Sie Porttyp Internet [Seite 62]. Ob Fehler beim Einlesen von Statusdateien zu Workitems (Warnungen) fhren sollen.

Aktivitten
Die globalen Parameter werden im Customizing oder aus dem Einstiegsknoten der IDocSchnittstelle [Extern] ber Steuerung IDoc-Administration ( ) angezeigt oder gepflegt. Whlen Sie die Registerkarte globale Parameter und gegebenenfalls .

April 2001

255

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

SAP AG

Weiterleitung Eingang
Verwendung
Hier geben Sie die Stelle als logische Adresse an, an die Daten aus einem Eingangs-IDoc oder aus einer Statusrckmeldung weitergeleitet werden sollen.

Integration
Die Weiterleitung findet zur Zeit nur bei internen Rechnungen (Anwendung V3 = Fakturierung, Komponente SD - Vertrieb) Verwendung.

Aktivitten
Sie 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 Empfngers) bereinstimmen. Die Verarbeitung bei der internen Verrechnung wird ber den Ausgangs-Vorgangscode [Seite 72] SD08 identifiziert. In der Verarbeitung entsteht aus dem Ausgangs-IDoc ein Eingangs-IDoc, das an die logische Adresse weitergereicht wird.

256

April 2001

SAP AG

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

Dateinamen erzeugen
Verwendung
Hier werden die Funktionsbausteine hinterlegt, die beim IDoc-Austausch ber einen Port vom Typ Datei einen Dateinamen erzeugen. Diese Funktionsbausteine erscheinen als Wertehilfe (F4) beim Anlegen eines Ports vom Typ Datei. Im Standard werden bereits solche Funktionsbausteine ausgeliefert. Hier knnen Sie eigene Funktionsbausteine hinterlegen.

Aktivitten
Sie pflegen die Funktionsbausteine vom Eingangsbild der IDoc-Schnittstelle ber Steuerung Dateinamen erzeugen.

Der Funktionsbaustein mu Verzeichnis und Datei als eine Zeichenkette zurckliefern. Er kann (wie das die Standardbausteine tun) das Verzeichnis aus der Portbeschreibung bernehmen, mu es aber nicht.

April 2001

257

IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI Prfen von Partnern nach Partnerart

SAP AG

Prfen von Partnern nach Partnerart


Verwendung
Whrend Sie die Partnervereinbarungen bearbeiten, wird geprft, ob fr den angegebenen Partner Stammdaten existieren oder ob der angegebene Partner zu den folgenden Arten gehrt R/3-Benutzer (Partnerart US) Bank logisches System

In dieser Tabelle sind die Prf- und Zugriffsprogramme fr die einzelnen Partnerarten hinterlegt. Im Standard werden fr alle Partnerarten Prfroutinen ausgeliefert.

Aktivitten
Sie pflegen die Programme vom Eingangsbild der IDoc-Schnittstelle [Extern] ber Steuerung Partnerarten. Wenn Sie die vorgegebenen Prfroutinen ndern oder neue Partnerarten aufnehmen wollen, geben Sie folgende Parameter an: Partnerart (z.B. KU fr Kunde, LI fr Lieferant, US fr R/3-Benutzer) Report (z.B. RSETESTP) Formroutine (z.B. READ_KNA1 (Der Kundenstammsatz wird gelesen)

258

April 2001

You might also like