IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Transcript of IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Schnittstelle / ElectronicData Interchange (BC-SRV-EDI
Release 4 .6C
HE
LP
.BC
SR
VE
DI
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
2 April 2001
Copyright
© Copyright 2001 SAP AG. Alle Rechte vorbehalten.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchemZweck und in welcher Formauch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. Indieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändertwerden.
Die von SAP AG oder deren Vertriebsfirmen angebotenen Software-Produkte können Software-Komponenten auch anderer Software-Hersteller enthalten.
Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® und SQL Server® sind eingetrageneMarken derMicrosoft Corporation.
IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®,AS/400®, OS/390® und OS/400® sind eingetragene Marken der IBM Corporation.
ORACLE® ist eine eingetragene Marke der ORACLE Corporation.
INFORMIX®-OnLine for SAP und Informix® Dynamic ServerTM
sind eingetragene Marken derInformix Software Incorporated.
UNIX®, X/Open®, OSF/1® und Motif® sind eingetragene Marken der Open Group.
HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C®, World WideWeb Consortium,Massachusetts Institute of Technology.
JAVA® ist eine eingetragene Marke der Sun Microsystems, Inc.
JAVASCRIPT® ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter derLizenz der von Netscape entwickelten und implementierten Technologie.
SAP, SAP Logo, R/2, RIVA, R/3, ABAP, SAP ArchiveLink, SAP Business Workflow, WebFlow,SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo und mySAP.comsind Marken oder eingetragene Marken der SAP AG in Deutschland und vielen anderen Ländernweltweit. Alle anderen Produkte sind Marken oder eingetragene Marken der jeweiligen Firmen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
April 2001 3
Symbole
Symbol Bedeutung
Achtung
Beispiel
Empfehlung
Hinweis
Syntax
Tip
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
4 April 2001
Inhalt
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI) ................................ 8Verarbeitung von IDocs .............................................................................................................................10Ausgangsverarbeitung ..............................................................................................................................11
Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)...........................................................12Ausgangsverarbeitung unter NAST: Vorgehen .................................................................................14Ausgangsverarbeitung unter NAST: Technische Realisierung .........................................................15
Die direkte Ausgangsverarbeitung..........................................................................................................16Direkte Ausgangsverarbeitung: Vorgehen.........................................................................................17Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall .............................................18
Eingangsverarbeitung ...............................................................................................................................19Eingangsverarbeitung: Vorgehen ...........................................................................................................21Eingangsverarbeitung: Technische Realisierung....................................................................................22
Statusverarbeitung.....................................................................................................................................24Eingangsverarbeitung von SYSTAT01 ...................................................................................................26
Ausnahmebehandlung...............................................................................................................................27Ausnahmebehandlung: Vorgehen ..........................................................................................................29Rollenauflösung in der Ausnahmebehandlung .......................................................................................31
Kommunikation mit älteren Releases/Systemen oder R/2-Systemen ..................................................34Lange Namen..........................................................................................................................................36Einsatz von Erweiterungen .....................................................................................................................37
Ports einrichten ..........................................................................................................................................40Dateischnittstelle........................................................................................................................................42
Dateischnittstelle: Betriebssysteme vorbereiten .....................................................................................43Ausgang: Folgesystem triggern ..............................................................................................................44Eingang: SAP System triggern................................................................................................................46Statusrückmeldung: SAP System triggern..............................................................................................49Porttyp Datei: Portbeschreibung pflegen ................................................................................................52
CPI-C Verbindung zum R/2-System..........................................................................................................54Porttyp CPI-C: R/2- und R/3-System koppeln.........................................................................................56Porttyp CPI-C: Portbeschreibung pflegen...............................................................................................58Porttyp CPI-C (Eingang): Reports einplanen ..........................................................................................60
Porttyp Internet...........................................................................................................................................62Porttyp Internet: SAPconnect einrichten .................................................................................................64Porttyp Internet: Adresse für Internet einrichten .....................................................................................65Porttyp Internet: Portbeschreibung pflegen ............................................................................................66
ABAP Programmierschnittstelle (PSS) ....................................................................................................67Porttyp XML ................................................................................................................................................68
Porttyp XML: Portbeschreibung pflegen .................................................................................................69Partner vereinbaren ...................................................................................................................................70Sinn und Zweck der Vorgangscodes .......................................................................................................71
Vorgangscode Ausgang..........................................................................................................................72Vorgangscode Eingang...........................................................................................................................73Vorgangscode System ............................................................................................................................74Vorgangscode Status..............................................................................................................................75
Partnervereinbarungen im Standarddialog .............................................................................................76
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
April 2001 5
Allgemeine Partnervereinbarung anlegen...............................................................................................77Ausgangspartnervereinbarung anlegen..................................................................................................78
Zusätzliche Parameter beim Ausgang unter NAST...........................................................................81Partnervereinbarung Eingang .................................................................................................................84
Partnervereinbarung prüfen......................................................................................................................86Schnellerfassung in den Partnervereinbarungen...................................................................................87Die Programmierschnittstelle (API) der Partnervereinbarung...............................................................88Partnervereinbarungen verschicken........................................................................................................92Partnervereinbarungen drucken..............................................................................................................93Test der Verarbeitung ................................................................................................................................94Testwerkzeug..............................................................................................................................................96
Testwerkzeug Ausgang: Vorgehen.........................................................................................................98Testwerkzeug Eingang: Vorgehen..........................................................................................................99
Test: Ausgang ab NAST ..........................................................................................................................100Test: Ausgang ab IDoc ............................................................................................................................101Test: Eingang Statusdatei .......................................................................................................................102
Statusdatei erzeugen ............................................................................................................................103Test: Eingang modifizierte Ausgangsdatei ...........................................................................................104Test: Eingang Original-Eingangsdatei ...................................................................................................105Test: Verarbeitungszyklus mit dem CATT .............................................................................................106Überwachung/Monitoring ........................................................................................................................108IDoc-Statistik.............................................................................................................................................109
Statistik erstellen: Standardauswertung................................................................................................111Statusgruppen ändern...........................................................................................................................112Statistik: Technische Realisierung ........................................................................................................113
IDoc-Listen ................................................................................................................................................114IDoc-Listen: Fehler lokalisieren.............................................................................................................115IDoc-Listen: Zeitliche Verteilung anzeigen............................................................................................116IDoc-Listen: Verteilung der Warnfarben anzeigen................................................................................117IDoc-Listen: Verteilung der Nachrichten anzeigen................................................................................118Warnfarben Statusgruppen zuordnen...................................................................................................119
IDoc-Anzeige.............................................................................................................................................120IDoc-Suche................................................................................................................................................122Aktives Monitoring ...................................................................................................................................124
Aktives Monitoring konfigurieren...........................................................................................................125Monitoring-Job einplanen (Beispiel)......................................................................................................126
Archivierung von IDocs ...........................................................................................................................127Archivierbare Status anzeigen oder ändern..........................................................................................128Archivierungsfunktionen für IDocs ........................................................................................................129
IDocs archivieren und löschen..............................................................................................................131Archiv zurückladen................................................................................................................................133Details einer Archivdatei anzeigen........................................................................................................134IDoc-Nummern im Archiv auflisten........................................................................................................135Einzelanzeige über SAP AS (BC-SRV-EDI) .........................................................................................136IDoc-Suche............................................................................................................................................137
Archivierung: Technische Realisierung ................................................................................................139Archivierung: Beschreibung der Standardreports .................................................................................141
Verknüpfungen mit IDocs löschen .........................................................................................................143
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
6 April 2001
Aufbau, Dokumentation und Definition von IDoc-Typen .....................................................................145Aufbau eines IDocs ..................................................................................................................................146
Aufbau eines IDocs: Technische Realisierung .....................................................................................148Dokumentationswerkzeuge.....................................................................................................................150
Allgemeinen Aufbau (IDoc-Satzarten) anzeigen...................................................................................151IDoc-Typ- oder Segmentdokumentation anzeigen ...............................................................................152Ein IDoc mittels XSL-Stylesheet anzeigen............................................................................................154Dokumentation übersetzen ...................................................................................................................155
Neue IDoc-Typen definieren....................................................................................................................157Wichtige Begriffe ...................................................................................................................................158
Basistyp, Erweiterung, IDoc-Typ......................................................................................................159Segmenttyp und Segmentdefinition.................................................................................................160Kundenerweiterung, SAP- und Kundenentwicklung........................................................................161Versionierung und Freigabeverfahren .............................................................................................162Namensräume .................................................................................................................................163
Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente.......................................164Designrichtlinien beim Erstellen neuer IDoc-Typen..............................................................................166Segmenteditor .......................................................................................................................................167
Segmente ändern ............................................................................................................................168Segment definieren..........................................................................................................................169
IDoc-Typ-Editor .....................................................................................................................................171IDoc-Sichten..........................................................................................................................................172Das API zur IDoc-Typ- und Segmentdefinition .....................................................................................173Erweiterung eines IDoc-Typs ................................................................................................................176
Segmente zusammenstellen............................................................................................................178Basistyp erweitern............................................................................................................................179Nachrichtentyp Basistyp und Erweiterung zuordnen.......................................................................181Ausgangsfunktionsbaustein erweitern .............................................................................................182Partnervereinbarungen ändern (Ausgang) ......................................................................................185Ausgang testen ................................................................................................................................186Eingangsfunktionsbaustein erweitern ..............................................................................................187Zuordnung des Funktionsbausteins erweitern (direkter Eingang) ...................................................189Partnervereinbarungen prüfen (Eingang) ........................................................................................190Eingang testen .................................................................................................................................191Neu definierte Objekte freigeben .....................................................................................................193
Definition und Verwendung eines Basistyps.........................................................................................194Allgemeine Definitionen ...................................................................................................................197
Segment definieren.....................................................................................................................198Basistyp definieren .....................................................................................................................200Nachrichtentyp Basistyp zuordnen .............................................................................................202Objekttyp definieren....................................................................................................................203
Ausgang einrichten (mit Nachrichtensteuerung)..............................................................................204Funktionsbaustein anlegen (Ausgang unter NAST) ...................................................................205Vorgangscode zuordnen (Ausgang)...........................................................................................211Partner vereinbaren (Ausgang) ..................................................................................................212Ausgang testen...........................................................................................................................213
Direkten Eingang einrichten (mit ALE).............................................................................................214
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
April 2001 7
Funktionsbaustein anlegen (direkter Eingang) ...........................................................................215Eigenschaften des Funktionsbausteins pflegen .........................................................................226Funktionsbaustein zuordnen (direkter Eingang).........................................................................227Vorgangscode zuordnen (direkter Eingang)...............................................................................228Partner vereinbaren (direkter Eingang) ......................................................................................230Aufgabe anlegen (Ausnahme)....................................................................................................232Eingang testen............................................................................................................................234Ausnahmebehandlung testen.....................................................................................................236
Eingang über Workflow einrichten ...................................................................................................237Eingangsverarbeitung als Objektmethode definieren.................................................................238Aufgabe anlegen (Eingang über Workflow)................................................................................243Vorgangscode anlegen (Eingang über Workflow)......................................................................244Aufgabe anlegen (Ausnahme)....................................................................................................245Partner vereinbaren (Eingang über Workflow) ...........................................................................247Eingang testen............................................................................................................................248Ausnahmebehandlung testen.....................................................................................................250
Neu definierte Objekte freigeben .....................................................................................................251Suche nach Fehlern in der Workflow-Verarbeitung.........................................................................252
IDoc-Administration: Anwenderparameter............................................................................................253Zusätzliche Einstellungen .......................................................................................................................254IDoc-Administration im Customizing .....................................................................................................255Weiterleitung Eingang .............................................................................................................................256Dateinamen erzeugen ..............................................................................................................................257Prüfen von Partnern nach Partnerart .....................................................................................................258
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)
8 April 2001
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)EinsatzmöglichkeitenÜber die IDoc-Schnittstelle werden betriebswirtschaftliche Daten mit einem Fremdsystemausgetauscht.
Die IDoc-Schnittstelle besteht aus der Definition einer Datenstruktur und einer Verarbeitungslogikfür diese Datenstruktur.
Die Datenstruktur ist das IDoc. Es ist das Austauschformat, auf den sich die kommunizierendenSysteme einigen. Mit IDocs können Sie eine Ausnahmebehandlung innerhalb des R/3 Systemsüber SAP Business Workflow definieren, ohne daß die Daten bereits als SAP Anwendungsbelegvorliegen müssen.
Sie benötigen die IDoc-Schnittstelle in folgenden Szenarien:
� Elektronischer Datenaustausch (EDI)
� Application Link Enabling (ALE)
� Kopplung beliebiger anderer betriebswirtschaftlicher Anwendungssysteme (z.B. PC-Anwendungen, externe Workflow-Tools) über IDoc.
FunktionsumfangUnten aufgeführte Funktionen erreichen Sie alle aus dem Einstiegsknoten der IDoc-Schnittstelle: Vom R/3-Einstiegsbild wählen Sie Werkzeuge � Business Communication �IDoc � IDoc Basis ( ).
Verarbeitung von IDocs [Seite 10]
Der Abschnitt beschreibt die möglichen Wege in Eingangs- wie Ausgangsverarbeitung und dieStatusverarbeitung. Er wendet sich an Administratoren wie auch an die Endanwender.
Ports einrichten [Seite 40]
Hier wird die technische Kopplung an das externe System bis hinunter zur Betriebssystemebenebeschrieben. Das Einrichten von Ports ist Grundvoraussetzung für den Datenaustausch mit demexternen System. Der Abschnitt wendet sich an Administratoren.
Partner vereinbaren [Seite 70]
Eine weitere Voraussetzung für den Datenaustausch sind die Partnervereinbarungen: Hier wirdfestgelegt, wer welche Nachrichten über welchen Port mit dem R/3-System austauschen kann.Dieser Abschnitt wendet sich an Administratoren.
Test der Verarbeitung [Seite 94]
Die IDoc-Schnittstelle stellt Werkzeuge zum Testen der IDoc-Verarbeitung bereit. Sowohl beimEinsatz neuer Nachrichten wie auch bei Neudefinitionen von IDoc-Typen sollte getestet werden.Der Abschnitt wendet sich an Administratoren.
Überwachung/Monitoring [Seite 108]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI)
April 2001 9
Es werden sowohl die passive (Verarbeitungsanzeige) als auch die aktive (Versand vonWarnungen und Hinweisen) Überwachung dokumentiert. Der Abschnitt wendet sich anAdministratoren wie auch an die Endanwender der Anwendung.
IDocs archivieren [Seite 127]
Hier werden die Möglichkeiten zur Archivierung von IDocs beschrieben. Der Abschnitt wendetsich an Administratoren.
Aufbau, Dokumentation und Definition von IDoc-Typen [Seite 145]
Hier werden die Möglichkeiten zur Kundenerweiterung von IDoc-Typen beschrieben. DerAbschnitt wendet sich an R/3 Entwickler und Administratoren.
Allgemeine KonfigurationIDoc-Administration: Anwenderparameter [Seite 253]
Dieser Abschnitt beschreibt diejenigen Parameter aus der IDoc-Administration, die häufiger zurKonfiguration im laufenden Betrieb geändert werden. Er wendet sich naturgemäß anAdministratoren.
Zusätzliche Einstellungen [Seite 254]
Sie haben noch zusätzliche Möglichkeiten, die Arbeitsumgebung Ihrer IDoc-Schnittstelle zukonfigurieren, obwohl dies im allgemeinen nicht nötig sein wird. Diese Möglichkeiten werden hieraufgelistet. Der Abschnitt wendet sich an Administratoren.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Verarbeitung von IDocs
10 April 2001
Verarbeitung von IDocsVerwendungDie Geschäftsdaten werden in der IDoc-Schnittstelle im IDoc-Format gespeichert und als IDocsweitergereicht. Falls Fehler auftreten, wird die Ausnahmebehandlung über Workflow-Aufgabenangestoßen. Die zuständigen, erlaubten Bearbeiter dieser Aufgaben werden in der IDoc-Schnittstelle definiert.
FunktionsumfangDie IDoc-Schnittstelle unterstützt drei Datenflüsse mit dem externen System:
� Ausgangsverarbeitung [Seite 11]
IDocs werden von Ihrem SAP System an ein Folgesystem übermittelt.
� Eingangsverarbeitung [Seite 19]
IDocs werden von einem vorgelagerten System an Ihr SAP System übermittelt.
� Statusverarbeitung [Seite 24]
Auf ausgehende IDocs wird der Verarbeitungsstatus im Folgesystem von diesem an IhrSAP System zurückgemeldet.
Bei den Datenflüssen IDoc-Ausgang und IDoc-Eingang werden Kontroll- und Datensätzeausgetauscht. Bei dem Datenfluß Statusrückmeldung werden Statussätze ausgetauscht(Ausnahme: Statusrückmeldung über den speziellen IDoc-Typ SYSTAT01).
Siehe auch:Ausnahmebehandlung [Seite 27]
Im Fehlerfall sind Ausnahmebehandlungen vorgesehen.
Rollenauflösung in der Ausnahmebehandlung [Seite 31]
Hier wird beschrieben, wie die zuständigen Bearbeiter eines Workitems in der IDoc-Schnittstelleermittelt werden.
Kommunikation mit älteren Releases [Seite 34]
Eventuell müssen hier zusätzliche Einstellungen im Customizing getätigt werden.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgangsverarbeitung
April 2001 11
AusgangsverarbeitungVerwendungIm Ausgang werden Belegdaten in IDocs geschrieben und an das Folgesystem versandt.
Funktionsumfang
Anwendung
NAST
Beleg
IDoc
NAST-Satz
IDoc
IDoc-Schnittstelle/ALE-Dienste
Folgesystem
Die Nachricht kann zwei verschiedene Wege von der Anwendung zur IDoc-Schnittstelle gehen:
� den indirekten Weg über die Nachrichtensteuerung [Seite 12] (NAST): Dabei werdeneine Reihe von Bedingungen (sogenannte Konditionen) geprüft, um die Nachricht zu“finden”. Ist eine dieser Bedingungen erfüllt, so wird die “gefundene” Nachricht über denentsprechenden NAST-Satz an die IDoc-Schnittstelle weitergeleitet. Über dieKonditionstechnik kann die NAST auch mehrere Nachrichten finden und versenden.Weitere Informationen zur NAST finden Sie unter R/3-Bibliothek �Anwendungsübergreifende Funktionen � Nachrichtensteuerung [Extern].
� den direkten Weg von der Anwendung zur Schnittstelle [Seite 16]. Dabei erzeugt dieAnwendung selbst ein IDoc, das über den FunktionsbausteinMASTER_IDOC_DISTRIBUTE an die IDoc-Schnittstelle übergeben wird.
Die IDoc-Schnittstelle kann die IDocs auf unterschiedlichen Wegen, den Empfängerports, an dasFolgesystem verschicken. Die Wahl des Ports hängt auch vom Folgesystem und der Hardwareab, auf dem es installiert ist. Beachten Sie hierzu auch den Abschnitt
Kommunikation mit älteren Releases [Seite 34]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)
12 April 2001
Die Ausgangsverarbeitung unter Nachrichtensteuerung(NAST)VerwendungIm Vertrieb (SD) und in der Materialwirtschaft (MM) werden Nachrichten (beispielsweise eineBestellung beim Lieferanten) üblicherweise über das Modul der Nachrichtensteuerung (NAST)
� gefunden und
� verarbeitet. Im Fall der IDoc-Verarbeitung heißt das, daß die Anwendungsdaten in IDocsgeschrieben werden.
VoraussetzungenWie bei jeder IDoc-Verarbeitung müssen Sie Ihre Partner vereinbaren [Seite 70]. Speziellmüssen Sie in den Partnervereinbarungen die Anwendung und die NAST-Nachrichtenarteindeutig einem IDoc-Typ zuordnen. Dies tun Sie mit den zusätzlichen Parametern beimAusgang unter NAST [Seite 81].
Aktivitäten� Die NAST “findet” eine oder mehrere Nachrichten, indem sie aus einer Menge an
vordefinierten Nachrichten die zum jeweiligen Geschäftsprozeß passende(n)heraussucht. Die Nachrichten sind in der Anwendung in sogenannten Konditionstabellendefiniert. Die gefundenen Nachrichten werden von der NAST “vorgeschlagen”: Daskönnen durchaus mehrere pro Beleg sein. In vielen Anwendungen können Sie dieNachrichten einsehen und verändern („bearbeiten“), bevor Sie die Daten freigeben, denBeleg buchen und die Nachrichten als IDocs versenden.
Im vorliegenden Fall (Nachrichtenverarbeitung durch IDoc-Versand) wird bei gefundenenNachrichten zusätzlich geprüft, ob der Nachrichtenpartner als Partner in der IDoc-Schnittstelle verarbeitet wurde. Nur wenn das der Fall ist, wird die Nachrichtvorgeschlagen und kann weiterverarbeitet werden. Viele Anwendungen stellen dieFindungsanalyse bereit, anhand derer man die Nachrichtenfindung zurückverfolgenund eventuelle Fehler aufspüren kann.
� Die NAST kann die Nachrichten sofort (nach Verbuchung des Anwendungsbeleges)verarbeiten. Sie können die gefundenen Nachrichten aber auch “von Hand” oder zueinem selbst gewählten Zeitpunkt im Hintergrund verarbeiten lassen. Da auch die IDoc-Schnittstelle die Wahl eines Zeitpunktes zur IDoc-Erzeugung ermöglicht, sollten diesebeiden Zeitpunkte sinnvoll kombiniert werden. Im Unterabschnitt “Vorgehen [Seite 14] “werden solche Kombinationen vorgestellt.
Im Einkauf soll eine Bestellung an den Lieferanten LIEF angelegt werden. DieBestellung soll sofort nach Verbuchung als IDoc vom Typ ORDERS01 über ein EDI-Subsystem versandt werden. Dazu wird in den Einkaufsstammdaten dieNachrichtenart “NEU” für LIEF vereinbart und der NAST-Versandzeitpunkt “4”(Ausgabe sofort mit Verbuchung) und das Sendemedium “EDI” festgelegt. In denPartnervereinbarungen der IDoc-Schnittstelle wird für LIEF der Ausgabemodus “IDocsofort übergeben” und “Subsystem sofort starten” eingetragen und der Kombination
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Die Ausgangsverarbeitung unter Nachrichtensteuerung (NAST)
April 2001 13
“Anwendung: Einkauf Bestellung”, “Nachrichtenart: NEU” die logische NachrichtORDERS zugeordnet. Dieser logischen Nachricht ist wiederum der IDoc-TypORDERS01 zugeordnet.
Siehe auch:Technische Realisierung [Seite 15]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgangsverarbeitung unter NAST: Vorgehen
14 April 2001
Ausgangsverarbeitung unter NAST: Vorgehen1. Nachrichtenfindung: Gehen Sie aus der Anwendung in die Stammdaten und legen die
betreffende Nachricht als Nachrichten- oder Konditionssatz an, d.h. Sie legen dieBedingungen fest, unter denen die Nachricht gefunden und vorgeschlagen werden soll,sowie deren Ausgabeeigenschaften. Als Bedingung können Sie etwa dieEinkaufsorganisation und den Handelspartner eingeben, als Ausgabeeigenschaften dasAusgabemedium (hier 6 für EDI), den Ausgabezeitpunkt und die Sprache, in der dieNachricht ausgegeben werden soll.
2. Nachrichtenverarbeitung durch IDoc-Versand: Die Nachrichten werden von der NAST soausgegeben, wie man es im Konditionssatz definiert hat, insbesondere auch zu demfestgelegten Versandzeitpunkt. Sie müssen in den Partnervereinbarungen der IDoc-Schnittstelle ebenfalls einen Versandzeitpunkt (den “Ausgabemodus”) definieren:Sinnvolle Kombinationen der beiden Zeitpunkte sind in untenstehender Tabellezusammengefaßt. Des weiteren müssen die NAST-Parameter aus denPartnervereinbarungen mit den entsprechenden Feldern der Nachrichtenartübereinstimmen. Diese Parameter sind:
� Applikation ( = Anwendung)
� Partner
� Partnerrolle
� Nachrichtenart
Kombinationen von Versandzeitpunkten der NAST und der IDoc-Schnittstelle und ihreEDI-Entsprechungen
NAST:Versandzeitpunkt
IDoc-Schnittstelle:Ausgabemodus
EDI-Entsprechung
4 (= sofort) IDoc sofort übergeben
Subsystem ( = Folgesystem) starten
Realtime
1 (= mit nächstem Selektionslaufversenden)
IDoc sofort übergeben
Subsystem starten
Fast Batch
1 IDocs sammeln
Subsystem starten
Batch
1 IDocs sammeln
Subsystem nicht starten
Batch
Wenn Sie in den Partnervereinbarungen festlegen, daß das Subsystem (d.h. dasFolgesystem) nicht gestartet werden soll, entscheidet dieses nach einem dorteingestellten Zeitplan über den Versandzeitpunkt, d.h. hier haben Sie keineKontrolle, wann das IDoc im Zielsystem ankommt.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgangsverarbeitung unter NAST: Technische Realisierung
April 2001 15
Ausgangsverarbeitung unter NAST: TechnischeRealisierungFür eine detaillierte Beschreibung der Nachrichtensteuerung sei außerdem auf dieDokumentation CA � Nachrichtensteuerung [Extern] verwiesen.
� Nachrichtenfindung: Die Bedingungen, unter denen eine Nachricht gefunden werden soll,sind in Konditionstabellen [Extern] abgelegt. Diese Tabellen werden in einer Zugriffsfolge[Extern] gelesen. In den Konditionstabellen finden sich auch die Schlüsselfelder derAnwendung, d.h. die Felder, mit denen die Anwendung auf die Konditionssätze zugreift(z.B. die Anwendungsfelder “Einkaufsorganisation” und “Lieferant” im Einkauf). DieKonditionstabellen werden einer Nachrichtenart zugeordnet (z.B. “NEU” für eineBestellung aus dem Einkauf). Die Nachrichtenarten wiederum sind in Schemata [Extern]zusammengefaßt, die schließlich der Anwendung (Schlüssel z.B. “EF” für “EinkaufBestellung”) zugeordnet sind.
Diese Organisationsstruktur ermöglicht, daß die Nachrichtenfindung strukturiert undunter komplexen Bedingungen verlaufen kann. Nachrichtenarten und -tabellen,Zugriffsfolgen und Schemata werden im Customizing der jeweiligen Anwendung vorabdefiniert.
Die Nachrichtenart wird manchmal auch als Konditionsart bezeichnet
� Nachrichtenverarbeitung durch IDoc-Versand: Das zentrale Selektionsprogramm derNachrichtensteuerung, RSNAST00, findet in der Tabelle TNAPR für die gewählteNachrichtenart die Formroutine EDI_PROCESSING im Programm RSNASTED und stößtsie an. EDI_PROCESSING liest die Partnervereinbarungen und bestimmt über denVorgangscode den Funktionsbaustein, der das IDoc erzeugen soll. Der Vorgangscodeentscheidet außerdem über die Art der Weiterverarbeitung, beispielsweise ob die IDocsdurch den ALE-Dienst bearbeitet werden sollen.
Die Funktionsbausteine zur IDoc-Erzeugung heißen typischerweiseIDOC_OUTPUT_<NT>, wobei <NT> für den zugehörigen Nachrichtentyp steht. Dieerzeugten IDocs werden abhängig vom Ausgabemodus entweder gesammelt odersofort zum Versand weitergeleitet. Wenn die IDocs gesammelt werden, muß der ReportRSEOUT00 eingeplant werden, der dann die Weiterleitung zum Versand übernimmt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Die direkte Ausgangsverarbeitung
16 April 2001
Die direkte AusgangsverarbeitungVerwendungFür R/3-Komponenten, die nicht an die Nachrichtensteuerung angeschlossen sind, müssen Siediesen Weg der Ausgangsverarbeitung wählen. Ansonsten wird er häufig in ALE-Szenarienbeschritten, wo z.B. Stammdaten auf verschiedene R/3-Systeme verteilt werden sollen.
AktivitätenDie Anwendung übernimmt direkt die IDoc-Erzeugung, füllt also einen bestimmten IDoc-Typ mitihren Daten. Dies kann z.B. über einen eigenen Funktionsbaustein geschehen. Die Empfängerwerden durch die Anwendung oder die ALE-Dienste ermittelt. Der Automatismus derNachrichtensteuerung entfällt.
Im Controlling (CO) soll eine Erzeugniskalkulation (Anwendungskomponente CO-PC) in die Ergebniskalkulation (CO-PA) übertragen werden. Die beidenKomponenten sind in unterschiedlichen R/3-Systemen eingestellt, man hat also eintypisches ALE-Szenario. In der Übertragungstransaktion wählen Sie nun die Felder,deren Anwendungsdaten direkt in das IDoc geschrieben werden, wie etwa Material,Werk, Datum und Kalkulationsvariante.
Siehe auch:Direkte Ausgangsverarbeitung: Vorgehen [Seite 17]
Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall [Seite 18]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Direkte Ausgangsverarbeitung: Vorgehen
April 2001 17
Direkte Ausgangsverarbeitung: VorgehenIn der Anwendung gehen Sie in die betreffende Sendetransaktion und füllen die Parameterentsprechend aus. Dabei achten Sie darauf, daß dort angegebene Kommunikationsparameter(etwa das Zielsystem) auch als Port in den Partnervereinbarungen der IDoc-Schnittstelle gepflegtsind. Bei ALE-Szenarien sollte dort ein Port des Typs “tRFC” eingetragen sein, der Partner solltevon der Art “LS” (für “logisches System”) sein.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Direkte Ausgangsverarbeitung: Technische Realisierung im ALE-Fall
18 April 2001
Direkte Ausgangsverarbeitung: TechnischeRealisierung im ALE-FallWie das IDoc erzeugt wird, hängt von der jeweiligen Anwendung ab. Im folgenden soll daher nurder Beispielfall eines ALE-Szenarios betrachtet werden, in dem ein Funktionsbaustein die IDoc-Erzeugung übernimmt.
Der Funktionsbaustein wird in der Anwendungstransaktion aufgerufen. Er erzeugt einsogenanntes Master-IDoc und übergibt es an den VerwaltungsbausteinMASTER_IDOC_DISTRIBUTE, der den Kontrollsatz prüft und dann den FunktionsbausteinCOMMUNICATION_IDOC_CREATE aufruft. Dieser “filtert” das Master-IDoc (d.h. streift für dieKommunikation unwichtige Daten ab). Das “Filtrat” heißt Kommunikations-IDoc und wird vonMASTER_IDOC_DISTRIBUTE an den Funktionsbaustein EDI_OUTPUT_NEW zur weiterenVerarbeitung übergeben.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsverarbeitung
April 2001 19
EingangsverarbeitungVerwendungIm Eingang werden IDocs an die Schnittstelle übergeben und im R/3-System gespeichert. Ineinem zweiten Schritt werden die Belegdaten erzeugt, auch im Zuge eines Workflows.
FunktionsumfangDas vorgelagerte System übergibt ein IDoc über den R/3-Systemport an die IDoc-Schnittstelle.Daher gibt es keinen Port, den man in den Eingangspartnervereinbarungen festlegen müßte; dieIDoc-Schnittstelle muß lediglich das vorgelagerte System als Port “kennen”: Es muß also einePortbeschreibung für einen Port existieren, dessen Name das vorgelagerte System eindeutigidentifiziert. Die technischen Parameter dieser Portbeschreibung können (und werden es auch inder Regel) durch das vorgelagerte System überschrieben werden.
Anwendung
IDoc-Schnittstelle/ALE-Dienste
vorgelagertes System
Beleg
IDoc
BelegWorkflow
IDoc
Bei bekanntem vorgelagerten System wird das IDoc “akzeptiert”, d.h. es wird auf der Datenbankgespeichert. Wenn Ihr Partner mit der entsprechenden Nachricht in IhrenPartnervereinbarungen vorgesehen ist, wird es anschließend weiterverarbeitet. Dies geschiehtentkoppelt in einem zweiten Schritt. Damit ist sichergestellt, daß das externe System die Datenschnell und sicher (dialogfrei) entgegennehmen kann.
Zur Weiterverarbeitung sind folgende Wege möglich:
� Der direkte Weg über einen Funktionsbaustein, der die IDoc-Daten in denentsprechenden Anwendungsbeleg überführt.
� Der indirekte Weg über SAP Business Workflow (Einzel- oder Mehrschrittaufgabe). Dazuentsteht beim Eingang eines IDocs ein Workitem als Instanz der entsprechenden
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung
20 April 2001
Aufgabe. Das Workitem erscheint im Eingangskorb der ausgewählten Bearbeiter.Weitere Informationen zum SAP Business Workflow finden Sie unter Basis � BusinessManagement � SAP Business Workflow [Extern].
Der IDoc-Typ TXTRAW02 wird durch die Einzelschrittaufgabe TS30000008verarbeitet: Dabei wird eine Mail an den SAPoffice-Benutzer (oder dieOrganisationseinheit) verschickt, der als Empfänger im Segment E1TXTADeingetragen ist. Fehlt dieses Segment, so wird werden die erlaubten Bearbeiter ausden Partnervereinbarungen als Empfänger ermittelt. Die Mail enthält den Text ausden Datensätzen des IDocs. Sie können Mailattribute, wie Priorität oderAusführbarkeit, mitverschicken.
Zu Release 2.1/2.2 wurde der indirekte Weg über einen Vorgang derVorgangstechnik beschritten. Diese Technik wird nicht mehr unterstützt.
AktivitätenEingangsverarbeitung: Vorgehen [Seite 21]
Eingangsverarbeitung: Technische Realisierung [Seite 22]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsverarbeitung: Vorgehen
April 2001 21
Eingangsverarbeitung: VorgehenEinsatzmöglichkeitenDie Eingangsverarbeitung richten Sie immer dann ein, wenn Sie einen neuen Geschäftsprozeßrealisieren wollen, bei dem Daten per IDoc empfangen werden. Ein Beispiel ist die EDI-Eingangsverarbeitung von Terminaufträgen.
VoraussetzungenEinmalig müssen Sie für die IDoc-Schnittstelle die Ereignis-Verbraucherkopplung aktivieren, dabeim Eingang eines IDocs immer ein Ereignis oder Event ausgelöst wird (Ausnahme: Porttyp„tRFC“). Dies geschieht im Customizing, Aktivität Ereignis-Verbraucherkopplung für IDoc-Eingang aktivieren [Extern].
Ablauf1. Die Ankopplung des Eingangs-IDocs an die gewünschte Verarbeitungsart geschieht in den
Partnervereinbarungen [Seite 70] über den Vorgangscode [Seite 73]. Dabei entscheiden Sie,ob Sie beim Eingang einen Workflow oder einen Funktionsbaustein anstoßen wollen.
Die im Standard ausgelieferten Vorgangscodes sind bereits Workflows oderFunktionsbausteinen zugeordnet. Diese Zuordnung können Sie anzeigen: Wählen Siedazu aus dem Einstiegsbild der IDoc-Schnittstelle (Transaktion WEDI) Steuerung �Vorgangscode Eingang. Dies ist auch der Einstieg, wenn Sie bei Neudefinitionen vonIDoc-Typen oder Verarbeitungsprozessen neu zuordnen wollen. Weitere Informationenfinden Sie unter Neue IDoc-Typen definieren [Seite 157].
Ein Lieferant erhält eine Bestellung zu einem Material über ein IDoc vom TypORDERS01. Der Lieferant hat der Nachricht ORDERS über den VorgangscodeORDE den Funktionsbaustein IDOC_INPUT_ORDERS zugeordnet, der die IDoc-Daten in die entsprechenden Anwendungsdaten überführt. Der Lieferant wählt hieralso den direkten Weg über einen Funktionsbaustein.
Es gibt IDoc-Typen, deren Eingangsverarbeitung nur in der Basis stattfindet, z.B.TXTRAW02. Diese IDoc-Typen werden nur per Workflow verarbeitet. Dieentsprechenden Aufgaben sind in der Aufgabengruppe TG70000016zusammengefaßt. Eingangsverarbeitungen per Workflow in der Logistik finden sichin der Aufgabengruppe TG20000011. Aufgabengruppen erleichtern die Suche nachAufgaben im Business Workflow Explorer (Bereichsmenü SWLD).
2. Zur Ausnahmebehandlung im Eingang müssen Sie den entsprechenden Aufgaben möglicheBearbeiter zuordnen. Sie haben zwei Alternativen:
� Im IDoc-Customizing klassifizieren Sie alle Aufgaben als generelle Aufgaben
� Sie pflegen die Zuordnung für jede einzelne Aufgabe über die Transaktion PFTC.Der Abschnitt Ausnahmebehandlung: Vorgehen [Seite 29] beschreibt, welche Aufgabenverwendet werden.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung: Technische Realisierung
22 April 2001
Eingangsverarbeitung: Technische Realisierung1. Die IDocs werden, abhängig vom Eingangsport, durch unterschiedliche Funktionsbausteine
oder Reports übernommen. Untenstehende Tabelle gibt einen Überblick und nennt dieSchnittstelle (Bezugsfelder bzw. -Strukturen, Importparameter). Tabellenparameter (call byreference) sind gesondert gekennzeichnet.
2. Das Abspeichern auf der Datenbank besorgt der FunktionsbausteinIDOC_INBOUND_WRITE_TO_DB. Er entscheidet zusätzlich über den Vorgangscode, obeine Bearbeitung durch ALE-Dienste stattfinden soll oder nicht.
3. Schließlich werden die IDocs durch IDOC_START_INBOUND an den Funktionsbaustein derAnwendung übergeben. Außer im Fall, daß die IDocs über den tRFC-Port übergebenwurden, wird dazu ein Ereignis (ein Event) im Workflow-Sinne ausgelöst, das dieStandardaufgabe TS30200090 auslöst.
4. IDOC_START_INBOUND startet einen Workflow oder einen Funktionsbaustein. Auch dieseEntscheidung wird über den Eingangs-Vorgangscode gesteuert.
Tabelle: Eingangsfunktionsbausteine in Abhängigkeit vom Porttyp
Porttyp:Funktionsbaustein/Report
Formalparameter:Import,Export (e), int. Tabelle(iT)
Bezugsfeld/Struktur
Bemerkungen
Datei:
EDI_DATA_INCOMING
pathname
port
EDI_PATH-PTHNAM
EDIPO-PORT
tRFC:
INBOUND_IDOC_PROCESS
idoc_control (iT)
idoc_data (iT)
EDI_DC
EDI_DD
F.Baustein fürkurze Namen(Releases vor 4.0)
tRFC:
IDOC_INBOUND_ASYNCHRONOUS
idoc_control_rec_40
idoc_data_rec_40
EDI_DC40
EDI_DD40
F.BausteinRelease 4.0 (langeNamen)
CPI-C (R/2-System):
RSEINB10
p_myport (Port im R/3-Syst.)
EDIIO-PORT als JobeinzuplanenderReport
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsverarbeitung: Technische Realisierung
April 2001 23
Internet:
SX_OBJECT_RECEIVE(SAPconnect)
receive_info
document_data
system_data
receivers (iT)
packing_list (iT)
object_header (iT)
contents_bin (iT)
contents_txt (iT)
object_para (iT)
object_parb (iT)
SXRECINFI1
SXDOCCHGI1
SXSYSDATI1
SXEXTRECI1
SXPCKLSTI1
SOLISTI1
SXLISTI1
SOLISTI1
SOPARAI1
SOPARBI2
Inform. überSender
Dokumenteneigensch.
Empfänger
Inform. ü.Datentabellen
spezieller Kopf
binärerDokumentinhalt
ASCII-Dokum.inhalt
(Set/Get-Parameter)
(Felder, Werte fürVerarbeitung)
synchronerRFC:
IDOC_INBOUND_SYNCHRONOUS
int_edidc
online
docnum
error_before_call_application
int_edidd (iT)
EDI_DC
EDI_HELP-ONL_OPTION
EDIDC-DOCNUM
EDI_HELP-ERROR_FLAG
EDI_DD
F.Baustein fürkurze Namen(Releases vor 4.0)
IDOC_INBOUND_SINGLE
pi_idoc_control_rec_40
pi_do_commit
pe_idoc_number (e)
pe_error_prior_to_application
pt_idoc_data_records_40 (iT)
EDI_DC40
EDI_HELP-DO_COMMIT
EDIDC-DOCNUM
EDI_HELP-ERROR_FLAG
EDI_DD40
F.Baustein fürRelease 4.0 (langeNamen)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Statusverarbeitung
24 April 2001
StatusverarbeitungVerwendungDie Statussätze protokollieren Stationen, die das IDoc auf seinem Weg durchlaufen hat, z.B.“erzeugt” oder “versandfertig”. Sie sind daher wichtige Daten für Überwachung und Statistik derKommunikation.
FunktionsumfangVerarbeitungDas Folgesystem kann Sie über die Verarbeitungsstationen eines bei ihm eingegangen IDocsinformieren. Für diese Statusrückmeldung (oder Statusbericht) gibt es folgende Methoden:
� Statussätze können über den Datei-Port an Ihre IDoc-Schnittstelle übergeben werden.Die IDoc-Nummer dient dabei als Identifikationsmerkmal. Das Folgesystem entscheidetüber die Zeit, zu der es die Statusmeldung zurückgibt. Jeder Statussatz muß dieNummer des IDocs enthalten, auf das er sich bezieht. So kann die Verknüpfung zumIDoc und zum Anwendungsbeleg in der IDoc-Schnittstelle hergestellt werden.
Es hängt von Konfiguration und technischen Fähigkeiten des verwendeten Folge-oder Subsystems ab, welche Statussätze die Rückmeldung enthalten kann.
� Statussätze können auch als IDoc selbst (IDoc-Typ SYSTAT01) zurückgegeben werden.Dann sind alle möglichen Kommunikationswege ( = Porttypen) erlaubt.
Verwechseln Sie nicht die Statusinformationen, die in den Datensätzen vonSYSTAT01 stehen und die sich auf ein anderes, eben Ihr beim Partnereingegangenes IDoc beziehen, mit den Statussätzen von SYSTAT01 selbst! Diesewerden hier nicht betrachtet.
AusnahmebehandlungFalls die Statusrückmeldung Kommunikationsfehler berichtet, beginnt dieAusnahmebehandlung (siehe auch Abschnitt Rollenauflösung in der Ausnahmebehandlung[Seite 31]). Dabei kann beispielsweise ein Workflow angestoßen werden, in dessen Verlaufzuständige Sachbearbeiter auf den Kommunikationsfehler reagieren können.
Im Standard wird die Ausnahmebehandlung durch den Vorgangscode EDIR realisiert, der auf dieStandardaufgabe TS70008125 zeigt. Als zuständiger Sachbearbeiter zeigen Sie beim Ausführendes Workitems den Statussatz des entsprechenden Ausgangs-IDocs an. Sie können von dortaus erneut das IDoc zu versenden versuchen. Dabei werden allerdings nicht nochmals diePartnervereinbarungen gelesen: Alle für den Versand notwendigen Daten werden aus demKontrollsatz gelesen. Haben Sie also zum Beispiel den Port in den Partnervereinbarungenausgetauscht, so wird das IDoc immer noch an den ursprünglichen Port geschickt.
Als Alternative gibt es den Vorgangscode EDIS mit der Standardaufgabe TS30000078, der nurdie Anzeige eines Statussatzes erlaubt, nicht aber den erneuten Versand des Ausgangs-IDocs.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statusverarbeitung
April 2001 25
Bei einem Releasewechsel führen Sie die IMG-Aktivität ErweiterteAusnahmebehandlung bei Statusrückmeldung benutzen aus, um von EDIS auf EDIRumzuschalten.
Die zuständigen Sachbearbeiter werden in folgender Reihenfolge ermittelt:
1. Wenn in den Ausgangspartnervereinbarungen ein Sachbearbeiter eingetragen ist, wirddieser verständigt.
2. Andernfalls wird der Sachbearbeiter aus den allgemeinen Partnervereinbarungenverständigt.
AktivitätenWelche Status als Fehlerstatus eingestuft werden und damit die Ausnahmebehandlung einleiten,können Sie selbst entscheiden: Wählen Sie aus dem Eingangsbild der IDoc-SchnittstelleSteuerung � Statuswerte pflegen. Im Detailbild tragen Sie einen Vorgangscode ein, der aufeinen Workflow zeigt. Der Workflow realisiert im Standard die Ausnahmebehandlung. Imallgemeinen muß das aber nicht so sein. Weitere Informationen finden Sie unterAusnahmebehandlung: Vorgehen [Seite 29]
In der Statuspflege können Sie auch die Zuordnung zu Statusgruppen (Qualifizierung) anzeigenoder ändern, die in den Monitoring-Programmen eine wichtige Rolle spielt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung von SYSTAT01
26 April 2001
Eingangsverarbeitung von SYSTAT01VerwendungStatusrückmeldungen über einen Port beliebigen Typs werden durch die Eingangsverarbeitungdes IDoc-Typs SYSTAT01 realisiert.
VoraussetzungenSie haben die Partnervereinbarungen [Seite 84] für die logische Nachricht STATUS gepflegt. DerVorgangscode heißt STA1.
AktivitätenDie Eingangsverarbeitung geschieht über die von SAP ausgelieferte EinzelschrittaufgabeTS30000206. Dabei werden die im IDoc übermittelten Statussätze den Ausgangs-IDocsgutgeschrieben, auf die sie sich beziehen.
Wurde im SYSTAT01 ein in der Statuspflege (s. Statusverarbeitung [Seite 24]) als fehlerhafteingestufter Status übermittelt, so schließt sich für das betroffene Ausgangs-IDoc dieentsprechende Ausnahmebehandlung der Statusverarbeitung [Seite 24] an.
Konnten nicht alle Statussätze erfolgreich den betroffenen IDocs gutgeschrieben werden, soerhält das Eingangs-IDoc vom Typ SYSTAT01 den Status 52. Konnte kein einziger derübermittelten Statussätze erfolgreich verarbeitet werden, erhält das IDoc den Status 51. Inbeiden Fällen wird die Ausnahmebehandlung des Eingangs-IDocs gestartet.
Dazu wird das Ereignis STATUSIDOCERROR ausgelöst, dessen Verbraucher dieEinzelschrittaufgabe TS30000207 ist. Als ausgewählter Bearbeiter editieren Sie das IDoc beimAusführen des Workitems. Sie können beispielsweise die Nummer des IDocs, auf das sich einbestimmter Statussatz bezieht, ändern und so den Status dem richtigen Ausgangs-IDoczuordnen. Sie können das so geänderte IDoc nochmals einspielen lassen, indem Sie in derAnzeige Bearbeiten � verarbeiten wählen. Dabei versucht das System erneut, die restlichen,nicht erfolgreich gebuchten Statussätze zu verarbeiten. Gelingt dies, so erhält das IDoc denabschließenden Status 53.
Wenn Sie die Verarbeitung des IDocs abbrechen wollen, so wählen Sie aus der IDoc-Anzeige[Seite 120] bearbeiten � verarbeiten � Löschkennzeichen setzen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausnahmebehandlung
April 2001 27
AusnahmebehandlungVerwendungBei Fehlern werden zu Standardaufgaben gehörende Workitems erzeugt, die im integriertenEingangskorb der ausgewählten Bearbeiter erscheinen. Die Standardaufgaben werden überVorgangscodes identifiziert.
FunktionsumfangBearbeitung über Workflow-AufgabenDie Standardaufgaben für die IDoc-Schnittstelle sind nach Ausgangs- und Eingangsverarbeitunggetrennt. Formale Fehler können z.B. im Eingang auftreten, wenn die zum Kontrollsatz passendePartnervereinbarungen [Seite 70] nicht gefunden wurde. Sie können in denPartnervereinbarungen auch die Syntaxprüfung der IDocs einschalten. Ein Fehler bei einersolchen Syntaxprüfung ist einer speziellen Standardaufgabe zugeordnet (sieheAusnahmebehandlung: Vorgehen [Seite 29]).
Die Ausnahmebehandlung in der IDoc-Schnittstelle wird im Eingang durch dieAusnahmebehandlung der Anwendung ergänzt, die etwa auf den Status 51 (Anwendungsbelegnicht gebucht) reagieren kann.
Der Bearbeiter eines Workitems (d h. einer konkreten Ausprägung der allgemein definiertenWorkflow-Aufgabe) kann den Fehler beheben und die Umsetzung des empfangenen IDocserneut anstoßen bzw. das IDoc zum Löschen vormerken.
Erlaubte BearbeiterIn allen Ausnahmesituationen, bei denen der Absender in den Partnervereinbarungenvorgesehen ist, werden die erlaubten Bearbeiter von dort gelesen. Sind Bearbeiter für diespezielle logische Nachricht eingetragen, werden diese übernommen, sonst die in denallgemeinen Partnervereinbarungen für diesen Partner vorgesehenen Bearbeiter.
In allen Ausnahmesituationen, bei denen keine passende Partnervereinbarung gelesen werdenkonnte, wird der Bearbeiter aus der Tabelle der Systemparameter ermittelt (IDoc-Administrator[Seite 255]). Es wird dringend empfohlen, hier einen Bearbeiter einzutragen.
Als Bearbeiter können Sie neben einem SAP-Benutzernamen auch andereOrganisationseinheiten (z.B. Abteilung, Stelle) für die Benachrichtigung eintragen.
Damit die erlaubten Bearbeiter auch per Workitem benachrichtigt werden, müssen Sie derentsprechenden Standardaufgabe zugeordnet sein. Weitere Informationen finden Sie unterRollenauflösung in der Ausnahmebehandlung [Seite 31].
Externe und interne FehlermeldungenInterne Fehlermeldungen beziehen sich auf Fehler in Ihrem R/3-System. SolcheFehlermeldungen oder Fehlerstatus sind mit System-Vorgangscodes (in der IDoc-Schnittstelle)assoziiert. Externe Fehlermeldungen sind Statusrückmeldungen [Seite 24] auf Fehler imexternen System. Sie werden mit den Status-Vorgangscodes assoziiert. Bei in der Anwendungdiagnostizierten internen Fehlern (Status 51) erzeugt die Anwendung selbst auch dasentsprechende Workitem, d.h. hier werden keine Vorgangscodes in der IDoc-Schnittstellehinterlegt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausnahmebehandlung
28 April 2001
Besonderheiten beim Porttyp “Datei”In Dateien können mehrere IDocs gespeichert sein, die die IDoc-Schnittstelle separat liest undauf der Datenbank abspeichert. Dadurch sind bei einem Lesefehler nur die noch nichtabgespeicherten IDocs betroffen. Die Fehlerstelle wird vorgemerkt. Kann der Fehler beseitigtwerden, kann von Hand nochmal das Lesen der Datei ab der Fehlerstelle gestartet werden(siehe Ausnahmebehandlung: Vorgehen [Seite 29]).
Der Workflow wird von der IDoc-Schnittstelle als asynchroner Prozeß im Hintergrundgestartet. Dadurch können die Daten schnell und sicher vom externen Systemübernommen werden.
AktivitätenAusnahmebehandlung: Vorgehen [Seite 29]
Die Fehlerbehandlung wird über Vorgangscodes gesteuert, die auf Standardaufgaben zeigen.Dieser Abschnitt gibt einen Überblick über die Standardaufgaben und zeigt Beispiele möglicherFehlerursachen auf.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausnahmebehandlung: Vorgehen
April 2001 29
Ausnahmebehandlung: VorgehenVerwendungDie folgende Tabelle gibt einen Überblick über die im Standard definierten Fehler und die damitüber den Vorgangscode gekoppelten Aufgaben. Es werden mögliche (aber nicht alle möglichen!)Fehlerursachen angegeben, um die Fehlersuche zu erleichtern.
Fehler Vorgangscode
Workflow-Aufgabe Mögliche Ursachen(Beispiele)
IDoc konnte nichterzeugt werden
EDIM TS30000020 Eingang: Dateilesefehler;Ausgang: Fehler bei IDoc-Erzeugung aus einem NAST-Satz
IDoc konnte unterNAST nicht erzeugtwerden
EDIN: wertetdiePartnerdatenaus demNAST-Satzaus
TS70008037 Kein Vorgangscode in denzusätzlichen NAST-Parametern derPartnervereinbarungen;Fehler beim Schreiben derAnwendungsdaten ins IDoc.
Statusdatei konntenicht vollständiggelesen werden
EDIL TS70008373
Fehler beiEingangsverarbeitung
EDII TS00008068 Vorgangscode existiert nicht;Fehler bei Übergabe an ALE-Dienste
Fehler beiAusgangsverarbeitung
EDIO TS00007989 Fehler bei Übergabe perRFC;Dateischreibfehler
Fehler beiAusgangsverarbeitung, der alle IDocseines IDoc-Stapelsbetrifft(„Ausgabemodus:IDocs sammeln“)
EDIP TS60001307 Fehler bei Übergabe perRFC;Dateischreibfehler;Port nicht vorhanden
IDoc-Syntaxfehler(Ausgang;Syntaxprüfung indenPartnervereinbarungen eingeschaltet)
EDIX TS00008070
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausnahmebehandlung: Vorgehen
30 April 2001
IDoc-Syntaxfehler(Eingang;Syntaxprüfung indenPartnervereinbarungen eingeschaltet)
EDIY TS00008074
Fehlerstatusrückgemeldet
EDIS TS30000078 Konvertierung im EDI-Subsystem fehlerhaft
Fehlerstatusrückgemeldet
EDIR TS70008125: ImUnterschied zurTS30000078 könnenSie hier das IDocerneut versenden
Konvertierung im EDI-Subsystem fehlerhaft
Die Fehler werden aus den Workitems im integrierten Eingangskorb bearbeitet. Konnte z.B. nacheinem Dateilesefehler der Fehler “beseitigt” werden konnte, können die noch nicht gelesenenIDocs durch Starten des Reports RSEINB00 von Hand nachgelesen und auf der Datenbankgespeichert werden.
Der Ausnahmebehandlung in der IDoc-Schnittstelle schließt sich (im Eingang) dieAusnahmebehandlung der Anwendung an, die etwa auf den Status 51(Anwendungsbeleg nicht gebucht) reagieren kann.
Die Aufgaben zur Ausnahmebehandlung in der IDoc-Schnittstelle sind in derAufgabengruppe TG70000015 zusammengefaßt, diejenigen der Logistik-Anwendungen in der Gruppe TG20000011. Aufgabengruppen können Sie mit demBusiness Workflow Explorer (Bereichsmenü SWLD) anzeigen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Rollenauflösung in der Ausnahmebehandlung
April 2001 31
Rollenauflösung in der AusnahmebehandlungVerwendungAlle im Standard für die Ausnahmebehandlung definierten Aufgaben sind mit einer Defaultrolleversehen, um die Menge der möglichen Bearbeiter auf die für die konkrete Ausnahmesituationzuständigen einzuschränken. Zu diesem Zweck leitet ein Funktionsbaustein in derRollenauflösung aus den Partnervereinbarungen zum fehlerhaften IDoc Bearbeiter ab. Schlägtdies fehl oder existiert noch gar kein IDoc, so wird der IDoc-Administrator ermittelt. Damit könnenBearbeiter ermittelt werden, die zuständig sind
� für den aktuellen Partner und die aktuelle Nachricht (Aus- oderEingangspartnervereinbarung)
� für den aktuellen Partner (allgemeine Partnervereinbarung)
� mindestens aber für die IDoc-Schnittstelle (IDoc-Administration)
IntegrationDie tatsächlichen Bearbeiter (die Empfänger) des Workitems sind die in der Rollenauflösungermittelten Bearbeiter, die gleichzeitig mögliche Bearbeiter der Standardaufgabe zum Workitemsind. Die Empfänger bilden also die Schnittmenge aus den möglichen Bearbeitern derentsprechenden Standardaufgabe und den „erlaubten Bearbeitern“ der entsprechendenPartnervereinbarung bzw. der IDoc-Administration.
Rollenauflösung
Organisationsstruktur
Aufgabe
Partnervereinbarung
IDoc-Schnittstelle
Mögliche Bearbeiter
Erlaubte Bearbeiter
Empfänger des Workitems
VoraussetzungenFür die Empfängerermittlung müssen Sie also folgendes pflegen:
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Rollenauflösung in der Ausnahmebehandlung
32 April 2001
Partnervereinbarungen [Seite 76]
IDoc-Administration [Seite 255]
Bearbeiterzuordnung [Extern] der Standardaufgaben
Wenn die Standardaufgaben als generelle Aufgaben gepflegt sind, ist die Mengeder möglichen Bearbeiter maximal (nämlich gleich der Menge aller Anwender im R/3-System), und es läßt sich dann immer ein Empfänger bestimmen (Ausnahme: IDoc-Administrator ist nicht gepflegt).
FunktionsumfangNachfolgende Tabelle gibt die im Standard ausgelieferten Rollen mit Funktionsbaustein (FB) zurRollenauflösung wieder. Sie zeigt, welchen Standardaufgaben sie als Defaultrollen zugeordnetsind und beschreibt, was bei der Rollenauflösung passiert.
Standardrolle/FB Defaultrolle fürStandardaufgabe
Rollenauflösung
Ausgang, Eingang
30000013
EDI_ROLE_FOR_
PROCESSING
TS00008068 (Fehler beiEingangsverarbeitung),
TS00007989 (Fehler beiAusgangsverarbeitung),
TS00008070 (SyntaxfehlerAusgang),
TS00008074 (SyntaxfehlerEingang)
TS30000207 (Fehler bei derEingangsverarbeitung vonSYSTAT01 [Seite 26])
Ermittelt werden die erlaubtenBearbeiter aus denPartnervereinbarungen. Fallssich keiner findet, wird derIDoc-Administrator ermittelt.
30000001
EDI_ROLE_FOR_
MESSAGE
TS30000020 (Fehler ohneZuordnung zu IDoc),
TS60001307 (Fehler beiAusgangsverarbeitung eines IDoc-Stapels, d.h. bei Ausgabemodus„IDocs sammeln“)
Ermittelt wird der IDoc-Administrator.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Rollenauflösung in der Ausnahmebehandlung
April 2001 33
70000141
EDI_ROLE_FOR_NAST_MESSAGE
TS70008037 (Fehler ohneZuordnung zu IDoc bei NAST-Ausgang)
Wenn es sich um einAnwendungsproblem handelt(z.B. wenn ein Fehler beimSchreiben derAnwendungsdaten in dasIDoc passierte), wird wie beiRolle 30000013vorgegangen. Handelt es sichdagegen um ein technischesProblem (z.B. wenn derAusgangs-Vorgangscodefehlt oder ins Leere weist), sowird direkt nach dem IDoc-Administrator gesucht.
Statusrückmeldung
30000001
EDI_ROLE_FOR_
MESSAGE
TS30000078 (Fehlerstatus inStatusrückmeldung)
TS70008373 (Fehler beim Leseneiner Statusdatei)
Ermittelt wird der IDoc-Administrator
Aktives Monitoring
30200013
EDI_ROLE_FOR_
IDOC_ACT_MONIT
TS30200108 (Überschreiten desSchwellwertes im aktivenMonitoring)
Ermittelt werden die beimStart oder Einplanen vonRSEIDOCM eingetragenerlaubten Bearbeiter.
Falls sich keiner findet oderdie Bearbeiter nicht Teil desOrganisationsmodells sind,wird der IDoc-Administratorermittelt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Kommunikation mit älteren Releases/Systemen oder R/2-Systemen
34 April 2001
Kommunikation mit älteren Releases/Systemen oderR/2-SystemenVerwendungWenn Sie mit SAP-Systemen älterer Releases (2.1 bis 3.1) oder externen Systemen (z.B. EDI-Subsystemen) auf diesem Stand über IDocs kommunizieren wollen, müssen Sie das IhremSystem über die Version in der Portbeschreibung mitteilen. Damit werden im Ausgang dierichtigen IDoc-Satzarten verschickt.
Nicht nur bei älteren R/3-Releaseständen, sondern auch bei R/2-Systemen können zweiProblemfälle auftreten, die zusätzlichen Aufwand erfordern:
� Sie benutzen lange Namen für Nachrichtentypen, IDoc-Typen oder Segmente. ÄltereReleases unterstützen nur Namen mit Längen bis zu
6 Stellen (Nachrichtentyp)
8 Stellen (IDoc-Typ: Basistyp oder Erweiterung)
7 Stellen (Segment)
� Sie setzen Erweiterungen ein, die Sie zu Release 4.X definiert haben. Ältere Releases(3.0, 3.1) identifizieren diese erweiterten IDoc-Typen intern über andere Felder oderunterstützen Erweiterungen überhaupt nicht (R/3-Releases 2.1, 2.2 und R/2-Systeme).
In beiden Fällen müssen Sie Umschlüsselungstabellen im Customizing pflegen, die die altenNamen und Felder auf neue abbilden. Beide Fälle können auch zusammen auftreten.
FunktionsumfangIn der Ausgangsverarbeitung bestimmt das System über die Portversion die richtigen IDoc-Satzarten.
Aus den Umschlüsselungstabellen leitet es die alten (Ausgangsverarbeitung) bzw. die neuen(Eingangsverarbeitung) Namen ab und füllt beim Einsatz neuer Erweiterungen die benötigtenFelder im Kontrollsatz (Ausgangsverarbeitung).
AktivitätenÜber die Portversion stellen Sie den Releasestand des Systems ein, mit dem Siekommunizieren. Dabei bedeutet:
� Version 1: Releases 2.1/2.2
� Version 2: Releases 3.0/3.1 und R/2-System. Da jedes R/2-System über den Porttyp„CPI-C“ mit dem R/3-System gekoppelt ist und umgekehrt jeder CPI-C-Port zu einemR/2-System führt, ist die Version 2 für diesen Porttyp fest vorgegeben und kann nicht inder Portbeschreibung eingestellt werden.
� Version 3: Releases 4.X (Vorschlagswert)
Je nach den oben beschriebenen Problemfällen pflegen Sie die entsprechendenUmschlüsselungstabellen im Customizing.
Siehe auch:Lange Namen [Seite 36]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Kommunikation mit älteren Releases/Systemen oder R/2-Systemen
April 2001 35
Einsatz von Erweiterungen [Seite 37]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Lange Namen
36 April 2001
Lange NamenVerwendungMit Release 4.0 wird der erweiterte Namensraum unterstützt. Dieses Konzept schließt dieVerwendung von Präfixen und längeren Namen ein. In der IDoc-Schnittstelle sind von denlangen Namen folgende Objekte betroffen:
Objekt Länge zu 4.0 (in Zeichen) Länge vor 4.0 (inZeichen)
Nachrichtentyp 30 6
IDoc-Typ (Basistyp oderErweiterung)
30 8
Segment 27 7
Pro Objekt gibt es eines Umschlüsselungstabelle, die im Customizing gepflegt wird.
AktivitätenSie prüfen, welche Objekte Sie mit älteren Releases oder einem R/2-System austauschenwollen, und ob es darunter Objekte mit langen Namen gibt, die von diesen Releases nichtunterstützt werden. Sie pflegen dann die entsprechenden Customizing-Tabellen.
Wenn Sie Erweiterungen in Release 4.X definieren und lange Namen verwenden wollen,müssen Sie im Customizing die entsprechende Umschlüsselungstabelle für Erweiterungenpflegen. Oder Sie definieren nur Erweiterungen mit kurzen Namen für den Austausch mit älterenReleases.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Einsatz von Erweiterungen
April 2001 37
Einsatz von ErweiterungenVerwendungBei älteren Releases wurden IDoc-Typen unterschiedlich definiert. Insbesondere beiErweiterungen gibt es größere Unterschiede, die in der Verarbeitung berücksichtigt werdenmüssen.
� Releases 2.1/2.2
Hier gab es noch keine Erweiterungen von Basistypen, d.h. jeder IDoc-Typ (die damaligeZwischenstruktur) war gleichzeitig ein Basistyp und wurde durch das Feld DOCTYPidentifiziert.
� Releases 3.0/3.1
Hier wurden erstmals Erweiterungen eingeführt, die damaligen Erweiterungstypen. DieseErweiterungen wurden mit Basistypen (die damaligen Basis-IDoc-Typen) zu neuen IDoc-Typen kombiniert. Die Identifizierung geschah durch die Felder IDOCTYP (Basistyp),CIMTYP (Erweiterung) und DOCTYP (IDoc-Typ).
� R/2-System
Ein R/2-System arbeitet zwar mit dem Kontrollsatz der R/3-Releases 3.0/3.1, d.h. eskennt die Felder IDOCTYP, CIMTYP und DOCTYP. Es unterstützt aber keineErweiterungen und identifiziert den IDoc-Typ ausschließlich durch das Feld DOCTYP.
Ab Release 4.0 wird der IDoc-Typ nur noch über die Felder IDOCTYP und CIMTYP identifiziert,nicht mehr zusätzlich über das Feld DOCTYP. Um bei der Kommunikation mit älteren Releasesauch neue Erweiterungen verwenden zu können, müssen daher die verschiedenenIdentifikationsfelder einander zugeordnet werden.
FunktionsumfangAusgangsverarbeitungDie Ausgangsverarbeitung leitet aus IDOCTYP und CIMTYP das Feld DOCTYP aus einerUmschlüsselungstabelle ab. Falls nur ein Basistyp verwendet wird, setzt sie DOCTYP gleichIDOCTYP.
Aus dem in der Partnervereinbarung angegebenen Port leitet sie ab, an welches Release sie dasIDoc schicken soll (über die Version in der Portbeschreibung). Daraus wird das(releaseabhängige) Format (die “Satzarten”) eines bestimmten IDoc-Typs abgeleitet.
Ein Fehler (mit anschließender Ausnahmebehandlung) tritt auf, wenn das Feld DOCTYP nichtbekannt ist:
� Releases 2.1/2.2 (Portversion 1) und R/2-System (Porttyp „CPI-C“)
Entspricht der Basistyp nicht einem damaligen IDoc-Typ (Zwischenstruktur), dann wirddie Verarbeitung mit einem Fehler unterbrochen. Eine Kombination aus Basistyp undErweiterung wird wohl nie einem damaligen IDoc-Typ entsprechen - Falls doch, so mußdiese Zuordnung ebenfalls in der Umschlüsselungstabelle definiert sein, damit keinFehler ausgelöst wird.
� Releases 3.0/3.1 bzw. R/2-System (Portversion 2)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Einsatz von Erweiterungen
38 April 2001
Sind Basistyp und Erweiterung zwar definiert, aber entspricht ihre Kombination keinemdamaligen IDoc-Typ, dann wird die Verarbeitung mit einem Fehler unterbrochen.
Zuordnung der Felder im Ausgang
R/3-System (Release 4.0)
IDOCTYP,CIMTYP
R/3-System(Release 3.0/3.1)
IDOCTYP, CIMTYP,DOCTYP
R/3-System(Release 2.1/2.2)
DOCTYP
DOCTYP ausUmschl.-Tabelle
oder schonbekannt
EingangsverarbeitungFalls nicht vorhanden, wird versucht, das Feld IDOCTYP und gegebenenfalls das Feld CIMTYPaus DOCTYP abzuleiten. Hierbei gibt es folgende Möglichkeiten:
� Existiert ein Eintrag in der Umschlüsselungstabelle, dann wird daraus IDOCTYP undgegebenenfalls CIMTYP abgeleitet.
� Existiert kein Eintrag, dann wird IDOCTYP gleich DOCTYP gesetzt. Dieser Fall tritt vorallem beim Empfang von IDocs aus einem R/3 System Release 2.1/2.2 ein.
Ein Fehler tritt immer dann auf, wenn der verwendete Basistyp (wie aus dem Feld IDOCTYPidentifiziert) nicht definiert ist. Des weiteren können Fehler auftreten, wenn die Erweiterung (FeldCIMTYP) nicht mit dem Basistyp kombinierbar ist.
AktivitätenSie müssen in folgenden Fällen IDOCTYP und CIMTYP auf DOCTYP umschlüsseln:
� Sie kommunizieren mit einem R/3-System von Release 3.0/3.1.
� Sie oder Ihr Partner verwendet ein EDI-Subsystem, das auf dem Stand eines älterenReleases ist.
� Sie kommunizieren mit einem R/3-System von Release 2.1/2.2 oder einem R/2-System,das Ihren erweiterten IDoc-Typ definiert hat (als damalige Zwischenstruktur) und daher“versteht”. Dieser Fall tritt äußerst selten ein.
Diese Umschlüsselung machen Sie aus dem IDoc-Typ-Editor heraus, aus dem Sie Ihre 4.X-Erweiterung definiert haben (über Umfeld � Umschlüsselung � IDoc-Typ). Sie können auch imCustomizing der IDoc-Schnittstelle umschlüsseln.
Beachten Sie, daß sich ein R/2-System zwar die IDoc-Satzarten der R/3-Releases3.0/3.1 erwartet (Portversion 2), daß sich aber Ihr R/3-System beim Versand an ein
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Einsatz von Erweiterungen
April 2001 39
R/2-System bezüglich Erweiterungen so verhält, als würde es IDocs an R/3-Releasestände 2.1/2.2 schicken (Portversion 1).
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ports einrichten
40 April 2001
Ports einrichtenEinsatzmöglichkeitenPorts [Extern] sind die Grundvoraussetzung für die Kommunikation über die IDoc-Schnittstelle.Pro externem System muß es mindestens einen Port geben. Die nachfolgende Abbildung zeigtden Ausgang von IDocs an zwei Folgesysteme über drei Ports.
IDoc-Schnittstelle
Port 1(z.B. Typ Datei)
Port 2(z.B. Typ Datei)
IDoc
IDoc
Port 3(z.B. Typ tRFC)
Folgesystem 1
IDoc
Folgesystem 2
Über die Portversion teilen Sie dem eigenen R/3-System mit, auf welchem Releasestand dasFolgesystem ist. Lesen Sie dazu den Abschnitt
Kommunikation mit älteren Releases/Subsystemen [Seite 34]
VoraussetzungenSie müssen auch Einstellungen außerhalb der IDoc-Schnittstelle vornehmen, damit der Portverwendet werden kann. Diese Einstellungen hängen vom gewünschten Porttyp [Extern] ab undsind in den jeweiligen Unterabschnitten genannt.
AblaufDer Ablauf hängt vom Porttyp ab. Untenstehende Tabelle enthält Einsatzgebiete und verweistauf die Detailbeschreibungen.
Porttyp EinsatzgebieteDateischnittstelle [Seite42]
Kopplung an die meisten EDI-Subsysteme
Transaktionaler RFC[Extern]
ALE-Verteilungsszenarien
CPI-C [Seite 54] Kopplung an R/2-Systeme: Die direkte Kommunikation mit einemR/2-System (ab Release 5.0F) ist nur über diesen Porttyp möglich.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ports einrichten
April 2001 41
Internet [Seite 62] Versand an E-Mail-Adressen
Programmierschnittstelle (PSS) [Seite 67]
Das IDoc wird nicht mit einem externen System, sondern mit einemvon Ihnen zu schreibenden Funktionsbaustein ausgetauscht. Damitwird jede beliebige Versandart möglich.
XML [Seite 68] E-Commerce
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Dateischnittstelle
42 April 2001
DateischnittstelleDefinitionAustausch von IDocs und Statussätzen über Betriebssystem-Dateien.
StrukturAblaufDas sendende System schreibt eine Datei ins Dateisystem. Danach teilt es dem Folgesystemüber den synchronen RFC mit,
� daß die Datei übergeben wurde,
� wo sie steht (Verzeichnis) und
� wie sie heißt (Dateiname).
Dieses Mitteilen heißt Triggern. Weitere Informationen finden Sie unter
Ausgang: Folgesystem triggern [Seite 44]
Eingang: SAP System triggern [Seite 46]
Eingang von Statusdateien: SAP System triggern [Seite 49]
Damit keine Daten verloren gehen, hängt das sendende System niemals an eine bereits an dasFolgesystem übergebene Datei weitere Daten an. Das Folgesystem arbeitet die übergebenenDateien vollständig ab. Danach löscht es sie selbständig aus dem Dateisystem.
Um Dateien nicht zu überschreiben, sollten sie eindeutige Namen tragen. Das SAPSystem kann z.B. IDoc-Dateien nach Mandant und IDoc-Nummer benennen.
Sendendes und Folgesystem müssen entsprechende Zugriffsrechte [Seite 43] (Lese-und Schreibberechtigung) besitzen.
EinstellungenPorttyp Datei: Portbeschreibung pflegen [Seite 52]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Dateischnittstelle: Betriebssysteme vorbereiten
April 2001 43
Dateischnittstelle: Betriebssysteme vorbereiten1. Legen Sie im Betriebssystem Lese- und Schreibberechtigungen für die verwendeten
Verzeichnisse an.
Im Ausgang sind das die Verzeichnisse aus der Portbeschreibung [Seite 52], und dieBerechtigungen gelten für den Eigentümer des SAP Gateway-Prozesses, üblicherweiseden SAP Systemadministrator.
Wenn das SAP Gateway auf der gleichen Maschine läuft wie das externe System,brauchen Sie die weiteren Schritte nicht durchzuführen.
2. Wenn das SAP Gateway und das externe System auf unterschiedlichen Maschinen laufen,müssen diese sich untereinander den Zugang gewähren. Bei UNIX-Betriebssystemenerreichen Sie das über Einträge in den rhosts - Dateien.
3. Testen Sie anschließend die remote shell – Funktion.
Der RFC-Zugriff basiert auf dieser Funktion.
Das externe System läuft auf der Maschine „marvin“. Das SAP System C11 mit demGateway läuft auf der Maschine „arthur“. Beide Maschinen laufen unter UNIX.„C11adm“ ist der UNIX-User, dem der Gateway-Prozeß gehört.
Sie richten „C11adm“ auch auf „marvin“ als User ein, mit Home-Verzeichnis/usr/sap/C11/home. Beide Home-Verzeichnisse müssen eine Datei ‘rhosts’ mitfolgendem Inhalt enthalten:
Inhalt von „.rhosts'“auf „marvin'“in ~C11adm arthur
Inhalt von „.rhosts“ auf „arthur“ in ~C11adm marvin
Beide Dateien müssen dem User 'C11adm' gehören und Lese- undSchreibberechtigungen haben.
Die Einträge 'marvin' und 'arthur' müssen in den /etc/hosts-Dateien identisch aufbeiden Maschinen vorhanden sein.
Sie testen die remote shell – Funktion durch folgende Eingaben:
Auf Maschine Eingabe Ausgabe
marvin rsh arthur hostname
(oder remsh arthur hostname)
arthur
arthur rsh marvin hostname
(oder remsh marvin hostname)
marvin
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgang: Folgesystem triggern
44 April 2001
Ausgang: Folgesystem triggernVoraussetzungenSie benötigen das Programm rfcexec aus der RFC-Bibliothek.
Vorgehensweise1. Um eine logische Destination für RFC anzulegen, wählen Sie Werkzeuge � Administration
� Verwaltung � Netzwerk � RFC-Destinationen (SM59). Positionieren Sie auf TCP/IP-Verbindungen und wählen Sie Bearbeiten � Anlegen.
2. Geben Sie den Namen der RFC-Destination an (z.B. EDI) und den Verbindungstyp t(Start eines externen Programms über TCP/IP). Beschreiben Sie die Destination.Bestätigen Sie Ihre Eingaben.
3. Arbeiten ohne Registrierung:Wählen Sie Expliziter Host oder Applikationsserver. Geben Sie das Programm rfcexec(bei Windows NT rfcexec.exe) mit Verzeichnis an (z.B./usr/sap/<SID>/SYS/exe/dbg/rfcexec). Wenn Sie Expliziter Host gewählt haben, gebenSie den Zielrechner an, auf dem rfcexec angesprochen werden soll (etwa marvin).
Arbeiten mit Registrierung:Hier registrieren Sie Ihr Programm im Gateway unter einem frei wählbaren Namen. Dannkönnen Sie unter dieser ID von verteilten Systemen das Programm unter genau diesemNamen aufrufen. Wählen Sie Registrierung und geben Sie unter Programm ID einenNamen ein. Wählen Sie Destination � Gateway-Optionen und geben Sie dort Gateway-Host und Gateway-Service an. Diese beiden Parameter ermitteln Sie z.B. mit demReport RSPARAM (siehe dazu Eingang: R/3-System triggern [Seite 46])
4. Sichern Sie Ihre Eingaben. Testen Sie Ihre Destination über Verbindung testen.
Im Registriermodus klappt die Verbindung nur, wenn Sie das Programm zuvor imBetriebssystem unter demselben Namen im entsprechenden Gateway gestartet haben.Die Kommandozeile dazu sieht z.B. für den Gateway-Service sapgw00 auf demGateway-Host arthur folgendermaßen aus:rfcexec –a Heribert –g arthur –x sapgw00,wenn das Programm unter dem Namen „Heribert“ registriert werden soll.
ErgebnisMit einer logischen Destination haben Sie festgelegt, auf welchem Rechner das Programmrfcexec gestartet werden soll. rfcexec ruft die Kommandodatei auf demselben Rechner auf. DenNamen dieser Kommandodatei wie auch Verzeichnis und Namen der zu übernehmenden IDocshinterlegen Sie in der Portbeschreibung [Seite 52].
Nachdem Sie die Portbeschreibung gepflegt und in den entsprechenden Partnervereinbarungen[Seite 212] Subsystem starten markiert haben, sieht der Ablauf mit Triggern folgendermaßen aus(s. untenstehende Abbildung):
1. Ausgangs-IDocs werden im SAP System erzeugt und in eine Datei geschrieben.
2. Das SAP System startet über RFC das Programm rfcexec.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgang: Folgesystem triggern
April 2001 45
3. rfcexec startet ein Skript (im Bild: out.script), dem es als Parameter Verzeichnis und Nameder neuen Datei übergibt (eine Zeichenkette).
4. Das Skript startet das Folgesystem.
5. Das Folgesystem liest die neue Datei und löscht sie anschließend. Es ist wichtig für einespätere Zuordnung von Statusinformationen zu IDocs im SAP System, daß das Folgesystemdie Nummern der übergebenen IDocs (Feld DOCNUM) speichert.
1
S
4
L
2RFC
rfcexec
IDoc-Schnittstelle
Folgesystem
3
out.script
S = Schreiben L = Lesen RFC = Remote Function Call
DOCNUMIDoc-Datei
5
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingang: SAP System triggern
46 April 2001
Eingang: SAP System triggernIn diesem Abschnitt machen Sie das SAP System dem vorgelagerten System bekannt(Parameter des Programms startrfc). Über die Portbeschreibung [Seite 52] wird umgekehrt dasvorgelagerte System dem SAP System bekannt gemacht.
VoraussetzungenSie benötigen das Programm startrfc aus der RFC-Bibliothek.
VorgehensweiseGeben Sie das Kommando mit den unten angegebenen Anmelde- undFunktionsbausteinparametern ein. Beispielsweise könnte die Kommandozeile unter UNIXfolgendermaßen beginnen:startrfc -3 -d C11 -u EDIUSER...
Die Reihenfolge der Parameter ist jedoch bedeutungslos.
Anmeldeparameter
Parameter Wert (Beispiel) Beschreibung
-3 Anmeldung am R/3-System über RFC
-d C11 SAP System-ID. Diese finden Sie z.B. unten in derSystemleiste.
-u EDIUSER SAP-BenutzerGeben Sie den Namen in Großbuchstaben ein.
Aus Sicherheitsgründen sollten Sie einen CPIC-Benutzerverwenden, da dieser Benutzertyp nicht im Dialog verwendetwerden kann.
Der Benutzer braucht alle erforderlichen Berechtigungen.
-p KENNWORT Benutzerkennwort.
Geben Sie das Kennwort in Großbuchstaben ein.
-c 001 SAP-Mandant (Vorschlagswert: 000)Wie im Feld MANDT des Kontrollsatzes enthalten.
-l DE SAP Systemsprache (Vorschlagswert: EN)
-h arthur Anwendungsserver (message server):Rufen Sie SM51 auf. Der erste Teil des Feldes server name(getrennt durch Unterstriche) steht für denAnwendungsserver. Beachten Sie die Groß- undKleinschreibung.
-s 00 Zweistellige numerische Systemkennung (TCP/IP service):Rufen Sie SM51 auf. Der dritte Teil des Feldes server name(getrennt durch Unterstriche) steht für die Systemkennung.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingang: SAP System triggern
April 2001 47
-g arthur Gateway-Host:
1. Rufen Sie SE38 auf.
2. Geben Sie den Reportnamen RSPARAM ein.
3. Wählen Sie Ausführen und lassen Sie das Feld auchunsubstituiert anzeigen frei (dadurch erhalten Sie die Werte,die hinter den Systemvariablen stehen).
4. Wählen Sie Suchen (STRG-F).
5. Geben Sie rdisp/sna_g ein und bestätigen Sie.
6. Der Name des Gateway-Hosts steht in der Zeilerdisp/sna_gateway (evtl. nach rechts blättern.).
Beachten Sie die Groß- und Kleinschreibung.
-x sapgw00 Gateway-Service wie in /etc/services :
1.-5. Verfahren Sie nach den Schritten 1.-5. beim Gateway-Host (Parameter -g)
6. Der Name des Gateway-Services steht in der Zeilerdisp/sna_gw_service (evtl. nach rechts blättern.)
Beachten Sie die Groß- und Kleinschreibung.
-t Schreibt die Protokolldaten in die Datei dev_rfc imArbeitsverzeichnis.
Funktionsbausteinparameter für Eingangs-IDocs
Parameter Wert (Beispiel) Beschreibung
-F EDI_DATA_INCOMING Nur dieser Funktionsbaustein liest IDoc-Dateien!
-E PATHNAME=
/usr/sap/C11/SYS/global/EXT/in/<Dateiname>
Verzeichnis und Dateiname der Datei, die dasIdoc aufnimmt (max. 100 CHAR)
-E PORT=EXT Logischer Name des externen Systems wie inder Portbeschreibung vereinbart (max. 10CHAR)
ErgebnisSie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchenParametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52](Abschnitt „Eingang“) hinterlegen Sie dann den Namen des vorgelagerten Systems (in obigerTabelle heißt es EXT), damit das SAP System es kennt und die IDocs übernimmt (siehe PorttypDatei: Portbeschreibung pflegen [Seite 52], Eingang).
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingang: SAP System triggern
48 April 2001
Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf bei getriggerterDateiübergabe folgendermaßen aus (s. untenstehende Abbildung):
1. Das vorgelagerte externe System schreibt die Daten im IDoc-Format in eine sequentielleDatei.
2. Das externe System startet das SAP System mit dem Programm startrfc.
3. Name und Verzeichnis der Datei (wie auch der Port) werden dem SAP System alsParameter von startrfc übergeben.
4. Das SAP System liest die Eingangsdatei und löscht sie anschließend. Es gibt keineStatusinformationen an das externe System zurück.
IDoc-Schnittstelle
vorgelagertes System
1
S
3
RFC
2
4
L
startrfc IDoc-Datei
S = Schreiben L = Lesen RFC = Remote Function Call
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statusrückmeldung: SAP System triggern
April 2001 49
Statusrückmeldung: SAP System triggernWie beim Eingang von IDoc-Dateien muß das externe System das Programm startrfc aufrufen.Dabei unterscheidet sich der Aufruf für die Statusrückmeldung vom Fall Eingangs-IDoc nur inden Funktionsbausteinparametern. Für Status- und Eingangs-IDoc-Datei muß also startrfc mitjeweils unterschiedlichen Parametern gestartet werden.
VoraussetzungenSie benötigen das Programm startrfc aus der RFC-Bibliothek.
VorgehensweiseGeben Sie das Kommando startrfc mit den unten angegebenen Anmelde- undFunktionsbausteinparametern ein. Die Kommandozeile könnte etwa folgendermaßenbeginnen:startrfc -3 -d C11 -u EDIUSER...
Anmeldeparameter
Parameter Wert (Beispiel) Beschreibung
-3 Anmeldung am R/3-System über RFC
-d C11 R/3-System-ID. Diese finden Sie z.B. unten in derSystemleiste.
-u EDIUSER SAP-BenutzerGeben Sie den Namen in Großbuchstaben ein.
Aus Sicherheitsgründen sollten Sie einen CPIC-Benutzerverwenden, da dieser Benutzertyp nicht im Dialog verwendetwerden kann.
Der Benutzer braucht alle erforderlichen Berechtigungen.
-p KENNWORT Benutzerkennwort
Geben Sie das Kennwort in Großbuchstaben ein.
-c 001 SAP-Mandant (Vorschlagswert: 000)Wie im Feld MANDT des Kontrollsatzes enthalten.
-l DE R/3-Systemsprache (Vorschlagswert: EN)
-h arthur Anwendungsserver (message server):Rufen Sie SM51 auf. Der erste Teil des Feldes server name(getrennt durch Unterstriche) steht für denAnwendungsserver. Beachten Sie die Groß- undKleinschreibung.
-s 00 Zweistellige numerische Systemkennung (TCP/IP service):Rufen Sie SM51 auf. Der dritte Teil des Feldes server name(getrennt durch Unterstriche) steht für die Systemkennung.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Statusrückmeldung: SAP System triggern
50 April 2001
-g arthur Gateway-Host:
1. Rufen Sie SE38 auf.
2. Geben Sie den Reportnamen RSPARAM ein.
3. Wählen Sie Ausführen und lassen Sie das Feld auchunsubstituiert anzeigen frei (dadurch erhalten Sie die Werte,die hinter den Systemvariablen stehen).
4. Wählen Sie Suchen (STRG-F).
5. Geben Sie rdisp/sna_g ein und bestätigen Sie.
6. Der Name des Gateway-Hosts steht in der Zeilerdisp/sna_gateway (evtl. nach rechts blättern.).
Beachten Sie die Groß- und Kleinschreibung.
-x sapgw00 Gateway-Service wie in /etc/services :
1.-5. Verfahren Sie nach den Schritten 1.-5. beim Gateway-Host (Parameter -g)
6. Der Name des Gateway-Services steht in der Zeilerdisp/sna_gw_service (evtl. nach rechts blättern.)
Beachten Sie die Groß- und Kleinschreibung.
-t Schreibt die Protokolldaten in die Datei dev_rfc imArbeitsverzeichnis.
Funktionsbausteinparameter für Statusreports
Parameter Wert (Beispiel) Beschreibung
-F EDI_STATUS_INCOMING Nur dieser Funktionsbaustein liestStatusdateien!
-E PATHNAME=
/usr/sap/C11/SYS/global/EXT/status/<Dateiname>
Verzeichnis und Dateiname der Datei, die dieStatusinformation zu Ausgangsnachrichtenaufnimmt (max. 100 CHAR)
-E PORT=EXT Logischer Name des externen Systems wie inder Portbeschreibung vereinbart (max. 10CHAR)
ErgebnisSie haben dem vorgelagerten System mitgeteilt, welchen R/3-Funktionsbaustein mit welchenParametern (Datei und Verzeichnis) es aufrufen soll. In der Portbeschreibung [Seite 52](Abschnitt „Status“) hinterlegen Sie dann den logischen Namen des vorgelagerten Systems (inobiger Tabelle heißt es „EXT“), damit das R/3-System es kennt und die Statussätze übernimmt.
Nachdem Sie die Portbeschreibung gepflegt haben, sieht der Ablauf mit Triggern wie beiÜbergabe einer IDoc-Datei aus (s. untenstehende Abbildung):
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statusrückmeldung: SAP System triggern
April 2001 51
1. Das vorgelagerte externe System schreibt die Statusrückmeldung im Format von IDoc-Statussätzen in eine sequentielle Datei.
2. Das externe System startet das SAP System mit dem Programm startrfc.
3. Name und Verzeichnis der Datei (wie auch der Port) werden dem SAP System alsParameter von startrfc übergeben.
4. Das SAP System liest die Statusdatei und löscht sie anschließend. Die Statussätze müssendie Nummern der Ausgangs-IDocs enthalten, auf die sie sich beziehen (Feld DOCNUM).Dadurch können sie diesen IDocs auf der Datenbank hinzugefügt werden.
IDoc-Schnittstelle
vorgelagertes System
1
S
3
RFC
2
4L
startrfc DOCNUM Statusdatei
S = Schreiben L = Lesen RFC = Remote Function Call
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp Datei: Portbeschreibung pflegen
52 April 2001
Porttyp Datei: Portbeschreibung pflegenVorgehensweiseAusgangIm Ausgang legen Sie die Regeln für die Erzeugung der Ausgangsdatei fest. Wenn Sie dasFolgesystem per RFC triggern, machen Sie zusätzlich die Kommandodatei (Shell-Skript)bekannt. Im Bild zur Anleitung zum Triggern [Seite 44] heißt sie out.script.
Die User-Umgebung im Betriebssystem wird nicht ausgewertet. Dies bedeutet, daßSie alle Parameter in der Kommandodatei explizit setzen und alle Verzeichnisseabsolut angeben müssen.
1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].
2. Positionieren Sie auf Datei und wählen Sie .
3. Benennen Sie den Port nach Ihrem externen System. Geben Sie eine Beschreibung und dieVersion (F1-Hilfe beachten!) der Satzarten an.
4. Wählen Sie Ausgangsdatei und geben Sie ein Verzeichnis ein.
Schließen Sie das Verzeichnis mit / (Schrägstrich) ab, da die Verzeichniszeile und dieDatei verkettet werden.
5. Um die Dateinamen zu erzeugen, wählen Sie einen entsprechenden Funktionsbaustein überdie F4-Hilfe aus. Von der Verwendung eines statischen Dateinamens wird dringendabgeraten, da diese Datei jedesmal überschrieben wird, wenn ein neues IDoc verschicktwird. SAP empfiehlt hier den Funktionsbaustein EDI_PATH_CREATE_CLIENT_DOCNUM.
Zur Verwendung von „logischen Verzeichnissen“ beachten Sie die F1-Hilfe auf dementsprechenden Feld.
6. Wenn Sie triggern wollen: Wählen Sie Ausgang: Triggern und geben Sie den vollständigenVerzeichnisnamen für die Kommandodatei (ohne den Namen der Datei selbst) in derVerzeichniszeile an. Schließen Sie wieder das Verzeichnis mit / (Schrägstrich) ab. Dielogische Destination haben Sie im Abschnitt Ausgang: Folgesystem über RFC triggern [Seite44] angelegt. Markieren Sie Automatisch startbar, um das Triggern „scharf zu schalten“.
Neben dem Zugangstest in der Portbeschreibung können Sie mit dem ReportSRFCTEST testen, ob das Programm rfcexec die Kommandodatei korrekt ausführt.Wählen Sie dazu im Report die Option RFC_REMOTE_EXEC und geben Sie ihreRFC-Destination und als Kommando Ihre Kommandodatei ein (oder ein explizitesKommando für einen Vortest).
EingangWenn das vorgelagerte System das SAP System per startrfc triggert, muß der-E PORT=
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp Datei: Portbeschreibung pflegen
April 2001 53
Parameterwert von startrfc als Portname eingetragen werden. So haben Sie den Port schon inSchritt 3 beim Ausgang genannt.
Beim Triggern werden Name und Verzeichnis der Datei vom vorgelagerten System bestimmt.Die folgenden Einstellungen liefern daher nur Vorschlagswerte für die Testprogramme, die denDateiport verwenden [Seite 105]. Ansonsten sind sie wirkungslos.
1. Wählen Sie Eingangsdatei und geben Sie ein Verzeichnis als Eingabeparameter für Datenan.
Schließen Sie das Verzeichnis mit / (Schrägstrich) ab, da die Verzeichniszeile und dieDatei verkettet werden.
2. Geben Sie einen Dateinamen ein.
StatusdateienWenn das vorgelagerte System das SAP System per startrfc triggert, muß der-E PORT=
Parameterwert von startrfc als Portname eingetragen werden. So haben Sie den Port schon inSchritt 3 beim Ausgang genannt.
Beim Triggern werden Name und Verzeichnis der Statusdatei vom vorgelagerten Systembestimmt. Die folgenden Einstellungen liefern daher nur Vorschlagswerte für die Testprogramme,die den Dateiport verwenden [Seite 102]. Ansonsten sind sie wirkungslos.
1. Wählen Sie Statusdatei und geben Sie ein Verzeichnis an.
Schließen Sie das Verzeichnis mit einem / (Schrägstrich) ab, da die Verzeichniszeileund die Datei verkettet werden.
2. Geben Sie einen Dateinamen ein.
Sie setzen folgende Werte:
Wert... für...
EXT Name des externen Systems = Portname
/usr/sap/C11/SYS/global/EXT/in Verzeichnis für Eingangs-Idocs
/usr/sap/C11/SYS/global /EXT/out Verzeichnis für Ausgangs-IDocs
/usr/sap/C11/SYS/global /EXT/status Verzeichnis für Statusdaten
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
CPI-C Verbindung zum R/2-System
54 April 2001
CPI-C Verbindung zum R/2-SystemDefinitionPorttyp für den direkten Zugang zu einem R/2-System über das CPI-C Protokoll.
VerwendungWeil hier immer das R/2-System das externe System ist [Seite 56], ergeben sich folgendeBesonderheiten und Einschränkungen im Vergleich zu den anderen Porttypen:
� Das R/3-System ist immer “aktiv”: Entweder holt es IDocs vom R/2-System ab [Seite 60],oder es schickt IDocs an das R/2-System. Daher sind in der Portbeschreibung [Seite 58]für den Ausgang fast dieselben Parameter vonnöten wie für den Eingang.
� Das R/3-System kann pro eingehendem IDoc höchstens einen Statussatz zurücksenden.Der IDoc-Typ SYSTAT01 kann nicht verwendet werden, da er im R/2-System nicht zurVerfügung steht.
� Ein R/2-IDoc kann immer nur genau einmal abgeholt werden. Daraus folgt, daß ALE-Verteilungsmodelle (IDocs an mehrere Adressaten) nur indirekt über ein R/3-System(das ALE Server-Konzept) realisiert werden können: Dazu muß das R/2-IDoc zunächstan ein R/3-System geschickt und von dort aus über einen R/3-ALE-Server an dieAdressaten verteilt werden.
� IDocs werden immer nur in den Satzarten der R/3-Releases 3.0/3.1 ausgetauscht. Damitist die Portversion mit 2 vorgegeben und nicht in der Portbeschreibung einstellbar.
� Das R/2-System unterstützt weder Erweiterungen noch die zu Release 4.0 eingeführtenlangen Namen. Lesen Sie zu den hierzu auftretenden möglichen Problemen denAbschnitt Kommunikation mit älteren Releases/Subsystemen oder R/2-Systemen [Seite34].
StrukturAustausch von IDocs zwischen R/2 und R/3Dem Protokoll der R/2-IDoc-Schnittstelle entsprechend holt das R/3-System IDocs vom R/2 aboder sendet IDocs, ist also immer das aktive System. Beim Abholen kann das R/3-Systembestimmen, welche der abholbereiten IDocs während der Verbindung übertragen werden sollen.Obligatorisches Hauptselektionskriterium hierbei ist der Port im R/2-System. Der Port istSperrobjekt in der R/2-IDoc-Schnittstelle. Für jedes logische System sollten Sie einen eigenenPort im R/2-System konfigurieren.
Versenden von IDoc-Statussätzen von R/3 nach R/2Die R/2-IDoc-Schnittstelle erwartet über versandte, d.h. abgeholte IDocs eineStatusrückmeldung. Auf der R/3-Seite können Sie den CPI-C Port so einrichten, daß fürempfangene IDocs Statussätze an das R/2-System zurückgesandt werden. Es gibt folgendeEinstellungen für das Senden von Statussätzen an das R/2-System:
� keine Statussätze senden
� sofort nach Empfang von IDocs Statussätze senden
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
CPI-C Verbindung zum R/2-System
April 2001 55
� zeitlich versetzt, d.h. asynchrones Senden der Statussätze über einen eingeplantenReport
Es kann nur ein Statussatz pro IDoc (Status “12” = “Versand o.k.” = “IDoc erfolgreich vom R/3-System abgeholt”) zurückgeschickt werden. Weitere Verarbeitungsstationen im R/3-Systemkönnen dem R/2-System nicht über Statussätze rückgemeldet werden. Entsprechendes kannman aber über Response-Nachrichten erreichen, die in Prozeßketten modelliert werden.
KommunikationstechnikGrundlage der Kommunikation ist das SNA - Protokoll LU 6.2 (SNA = System NetworkArchitecture = spezielle Netzwerkarchitektur auf R/2-Seite; LU = Logical Unit, identifiziertProgramme oder Geräte in der SNA). Das CPI-C Protokoll faßt die LU 6.2-Befehle zu wenigenBefehlen zusammen, die leicht in der Programmierung verwendet werden können (daher derName: CPI-C = Common User Programming Interface - Communication). Die Kommunikationwird über ein Gateway abgewickelt, das die Architektur SNA kennt und u.a. den symbolischenNamen des Zielsystems einer Logical Unit in einer sideinfo-Datei zuordnet. Der Name desGateways wie auch der symbolische Name des Zielsystems stehen in der R/3-DatenbanktabelleTXCOM. So erkennt das R/3-System das aufzurufende R/2-System (s. folgende Abbildung, inder sich das Gateway auf R/3-Seite befindet).
R/3-System
Gateway-Server(SNA-fähig)
Host auf R/2-Seitemit Kommunikationssystem
IMS oder CICS
SNA-LU 6.2
Sideinfo-Einträge:z.B. Dateisideinfo
TabelleTXCOM
SNA, LU 6.2 und CPI-C wurden von IBM entwickelt. Das von SAP verwendete “CPI-C Protokoll” ist eine Modifizierung des ursprünglichen IBM-CPI-C.
Eine detaillierte Beschreibung der Kommunikation mit der R/2-IDoc-Schnittstelle finden Sie imR/2-Handbuch S53.2, Kapitel 8.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp CPI-C: R/2- und R/3-System koppeln
56 April 2001
Porttyp CPI-C: R/2- und R/3-System koppelnDas R/3-System meldet sich am System R/2 an, um IDocs dort abzuliefern oder abzuholen. Diedazu nötigen Anmeldedaten werden im R/3-System unter einer RFC-Destination gepflegt. DasZielsystem selbst (R/2-System) wie auch die technischen Eigenschaften der Kommunikationwerden in der Tabelle TXCOM gepflegt.
RFC-Destination pflegen
1. Um eine RFC-Destination anzulegen, wählen Sie Werkzeuge � Administration �Verwaltung � Netzwerk � RFC-Destinationen (SM59). Positionieren Sie auf R/2-Verbindungen und wählen Sie Anlegen.
Im Einstiegsknoten der IDoc-Schnittstelle springen Sie über IDoc � RFC-Destination andieselbe Stelle.
2. Geben Sie den Namen der RFC-Destination an (z.B. K50-Test) und den Verbindungstyp 2(Verbindung zum R/2-System). Beschreiben Sie die RFC-Destination. Diese Daten müssenSie nur eingeben, damit Sie Ihre Destination sichern können, für die CPI-C-Verbindungselbst sind sie ohne Bedeutung. Wichtig sind aber folgende Anmeldedaten:
� Mandant im R/2-System
� Anwender und Kennwort (“Paßwort”) im R/2-System
Sichern Sie Ihre Eingaben.
Auch wenn diese Transaktion als “Pflege von RFC-Destinationen” bezeichnet ist,werden beim Porttyp CPI-C hier nur die Anmeldedaten (Mandant, Anwender,Paßwort und Anmeldesprache) eingetragen, nicht aber das Zielsystem selbst! Dahermuß der Verbindungstest dieser Transaktion nicht notwendig erfolgreich sein. Dereigentliche Name des Zielsystems wird aus der Tabelle TXCOM als “symbolischeDestination” gelesen.
3. Wenn Sie beim Versenden von IDocs ein Verbindungsprotokoll erstellt haben möchten, dannmarkieren Sie noch das Feld Trace.
Eintrag in der Tabelle TXCOM pflegen
1. Wählen Sie Werkzeuge � Administration � Verwaltung � Netzwerk � TXCOM-Pflege(SM54). Wählen Sie .
2. Pflegen Sie als Destination den R/2 Systemnamen (etwa K50). Geben Sie neben demNamen folgende Parameter ein
� Gateway-Host und Gateway-Service
� Protokoll C ( = Partner über CPI-C erreichbar)
Gateway-Host und -Service können Sie über den Gateway-Monitor [Extern] oder denReport RSPARAM ermitteln.
3. Sichern Sie Ihre Angaben.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp CPI-C: R/2- und R/3-System koppeln
April 2001 57
Die “logische Einheit” (Spalte LU) und das Transaktionsprogramm (Spalte TP)werden nicht aus TXCOM, sondern aus der sideinfo-Datei des SNA-fähigenGatewayservers gelesen.
ErgebnisDas R/3-System “kennt” jetzt das R/2-System (TXCOM-Eintrag), und das R/2-System kennt dasR/3-System (Anmeldedaten). Fahren Sie fort mit
CPI-C Port einrichten: Portbeschreibung [Seite 58]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp CPI-C: Portbeschreibung pflegen
58 April 2001
Porttyp CPI-C: Portbeschreibung pflegenEinige der Parameter setzen Sie in Abhängigkeit des Kommunikationssystems (“DC-Systems”)des R/2 (CICS, IMS unter MVS/VSE oder UTM unter BS2000). Dafür finden Sie unten Beispiele.
1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle[Extern].
2. Positionieren Sie auf CPI-C und wählen Sie .
3. Benennen und beschreiben Sie den Port. Setzen Sie folgende CPI-C-Parameter:
� RFC-Destination (z.B. K50-Test) mit den Anmeldedaten für das System R/2
� Hostdestination
TXCOM-Eintrag mit den Daten für die technische Kommunikation (z.B. K50)
� Größe Puffer
Länge des CPI-C-Datenpuffers in Byte, der mit einem SEND- oder RECEIVE-Befehlübertragen wird. Der Maximalwert liegt hier bei 8191 Byte.
� Anzahl Puffer
Gibt an, wieviele SEND-Befehle abgesetzt werden, ehe ein RECEIVE-Befehl nachdem CPI-C-Protokoll gesendet wird. Ein SEND-Befehl entspricht einem Puffer.
� Zeichensatz im R/2. Diese Angabe ist für eine korrekte Konvertierung desDatenstromes notwendig.
� Übertragungsmodalitäten nach dem CPI-C-Protokoll. Beachten Sie dazu dieBeispiele unten. Die genaue Bedeutung der folgenden Parameter entnehmen Siedem R/2-Handbuch S53.2 (Beschreibung der CPI-C-Schnittstelle):
� Synchroner Übertragungsmodus
Falls der synchrone Übertragungsmodus gewählt wird, wird der ParameterAnzahl Puffer nicht ausgewertet.
� Empfangsbestätigung senden
Hier muß das R/2-System nach Datenübertragung eine Bestätigung versenden.Diese Bestätigung entspricht keiner Statusrückmeldung, also auch keinemneuen Status!
� Verbindungsabbau durch R/2
4. Setzen Sie noch eine Option für die Statusrückmeldung (Statusbericht) an das R/2-System:
Geben Sie an, ob die Statussätze sofort nach IDoc-Empfang, später (d.h. über einenReport [Seite 60] zeitlich gesteuert) oder gar nicht an das System R/2 zurückgesandtwerden sollen.
ErgebnisÜbertragungsparameter sind jetzt gesetzt. Für den IDoc-Eingang und für die spätereStatusrückmeldung ans R/2-System müssen Sie noch Reports einplanen. Lesen Sie dazu
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp CPI-C: Portbeschreibung pflegen
April 2001 59
CPI-C Port (Eingang): Reports einplanen [Seite 60]
BeispielDatenkommunikationssystem CICS (Betriebssystem MVS/VSE)Der CPI-C-Datenpuffer sollte so groß wie möglich gewählt werden (mindestens 4 Kilobyte). DasProdukt aus der Größe des Puffers und der Anzahl der Puffer muß deutlich unter der Größe desCICS-Dialogpuffers von 32 KB liegen. Daraus ergibt sich eine Anzahl der Puffer zwischen 3 und6 (Beispiel: 4 KB � 6 = 24 KB).
Es empfiehlt sich, den synchronen Übertragungsmodus aus Performancegründen nichteinzuschalten.
Datenkommunikationssystem IMS (Betriebssystem MVS/VSE)In Abhängigkeit von der IMS Message Queue-Größe sollte die Länge des CPI-C-Datenpuffers 1bis 1½ KB nicht überschreiten.
Schalten Sie unter IMS die folgenden Übertragungsoptionen immer ein:
� Synchroner Übertragungsmodus
� Empfangsbestätigung senden
� Verbindungsabbau durch R/2
Datenkommunikationssystem UTM (Betriebssystem BS2000)Der CPI-C-Datenpuffer sollte zwischen etwa 5 KB und dem Maximum (8191 Byte) liegen. Für dieGröße des Dialogpuffers gibt es keine Einschränkungen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp CPI-C (Eingang): Reports einplanen
60 April 2001
Porttyp CPI-C (Eingang): Reports einplanenEinsatzmöglichkeitenIm IDoc-Eingang müssen Sie einen Report einplanen, der die IDocs im R/2-System selektiertund dann ins R/3-System holt. Wenn nicht sofort, sondern später der Status “erfolgreichangekommen” zurückgemeldet werden soll, braucht man einen weiteren Report. Optional ist einspezieller Report, der im R/3-System abgespeicherte IDocs im Fehlerfall nachträglich von derAnwendung verarbeiten läßt.
AblaufAbholen von IDocsPlanen Sie den Report RSEINB10 ein, der IDocs aus dem R/2-System abholt. Geben Sie dabeifolgende Parameter ein:
� CPI-C-Port im R/3 (lokal)
Name des Ports vom Typ “CPI-C“, den Sie gerade in der IDoc-Schnittstelle angelegthaben.
� CPI-C Trace ausgeben
Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben.
� Zusätzliche Kriterien (z.B. Buchungskreis, Anwendungstransaktion oder logische Nachricht),nach denen IDocs im R/2-System ausgewählt werden.
Späteres Zurücksenden von IDoc-StatussätzenWenn Sie in der Portbeschreibung festgelegt haben, daß Statussätze später (also nicht direktnach Eingang des R/2-IDocs) rückgemeldet werden sollten, müssen Sie den Report RSESTA11einplanen, wieder unter Angabe der Ports:
� CPI-C-Port im R/3 (lokal)
Name des Ports vom Typ “CPI-C“, den Sie gerade in der IDoc-Schnittstelle angelegthaben. Im Feld “Absenderport” des IDoc-Kontrollsatzes (SNDPOR) muß dieser Nameenthalten sein, um bei der Selektion berücksichtigt zu werden
� CPI-C Trace ausgeben
Bei gesetztem Kennzeichen wird die Verbindung protokolliert und ausgegeben.
IDoc-Verarbeitung bei ProgrammunterbrechungDie IDoc-Eingangsverarbeitung besteht im wesentlichen aus zwei Schritten. Die übertragenenIDocs werden aus dem Datenstrom separiert und abgespeichert. Die Verbindung zum SystemR/2 wird abgebaut, und anschließend werden die IDocs an die entsprechende Anwendungübergeben, d.h. der für das jeweilige IDoc zuständige Geschäftsprozeß wird gestartet.
Für den Fall, daß es zu einer Programmunterbrechung zwischen Buchen und Verarbeiten desIDocs kam, können die dadurch nicht verarbeiteten, aber gebuchten IDocs nachträglich derVerarbeitung durch die Anwendung zugeführt werden. Dazu muß der Report RSEINB11gestartet oder als Job eingeplant werden. Einzig steuernder Parameter ist hier der im SystemR/2 gepflegte Port. Alle zu diesem Port gehörenden, auf Status 50 (IDoc hinzugefügt)
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp CPI-C (Eingang): Reports einplanen
April 2001 61
stehengebliebenen IDocs werden der Verarbeitung zugeführt. Die Portzugehörigkeit wird ausdem Feld „Empfängerport“ (RCVPOR) im IDoc-Kontrollsatz ermittelt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp Internet
62 April 2001
Porttyp InternetDefinitionUmwandlung von IDocs aus oder in E-Mails.
VerwendungÜber das Internet können IDocs mit jedem System ausgetauscht werden, das eine E-Mail-Adresse hat.
StrukturAufbau der E-MailEine IDoc-E-Mail enthält die IDocs als Anlage im MIME-Format (Multipurpose Internet MailExtensions).
Die Anlage hat den Dokumenttyp R3I, welcher entweder Referenzen auf IDocs (IDoc-Nummern)oder IDoc-Daten enthalten kann. Zur Umwandlung zwischen diesen beiden Formaten hat dieIDoc-Schnittstelle zwei Funktionsbausteine bereitgestellt.
Innerhalb des R/3-Systems wird die Anlage stets mit Referenzen gefüllt bzw. abgelegt.Außerhalb des R/3-Systems sind in der Anlage die IDoc-Daten selbst vorhanden.
AusgangsverarbeitungMit Hilfe der Parameter aus der Portbeschreibung wird eine Mail erzeugt, die als Anlagezunächst nur eine Menge von IDoc-Nummern trägt. Diese E-Mail wird dem FunktionsbausteinSO_OBJECT_SEND übergeben, der den weiteren Versand aus dem Business Workplaceübernimmt.
Der Workplace ruft den Funktionsbaustein EDI_IDOC_R3I_OUTGOING auf, der die IDocs(Kontrollsatz und Datensätze) im Format R3I, nämlich als Tabelle mit Struktur SOLI, zurückgibt.Diese Tabelle wird über SAPconnect dem SAP Internet-Mail-Gateway übergeben, das die Datenim MIME-Format ins Internet versendet. Dazu benutzt das Gateway das Programm sendmail,das unter UNIX schon zur Verfügung steht, unter Windows NT aber erst bezogen werden muß(siehe dazu die Dokumentation zum Internet-Mail-Gateway [Extern]).
Alternativ dazu kann über SAPconnect der MS Exchange Server oder ein anderes Gatewayangesteuert werden, das dann für den weiteren Versand ans Internet verantwortlich ist.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp Internet
April 2001 63
R/3-System
Tabelle der StrukturSOLI (255Zeichen),mit IDocs
gefüllt
Internet-Adresseaus der
Port-beschreibung
Gateway-Server:Internet-Gateway,
Programm sendmail
alter-nativ
Ans Internet angeschlossenerexterner Rechner
Gateway-Server:
z.B. MS ExchangeServer
TCP/IP
TCP/IP
EingangsverarbeitungDas Gateway (z.B. das SAP Internet-Mail-Gateway) ruft per RFC den SAPconnect-Funktionsbaustein SX_OBJECT_RECEIVE auf, der die E-Mail im MIME-Format übernimmt. DieMail wird dem Workplace-Funktionsbaustein SO_DOCUMENT_RECEIVE_API1 übergeben.
Der Workplace ruft daraufhin den Funktionsbaustein EDI_IDOC_R3I_INCOMING auf, der dieKonvertierung vom R3I- ins IDoc-Format vornimmt und die Eingangsverarbeitung der IDocs[Seite 22] startet. Voraussetzung dafür ist allerdings, daß der Mail-Empfänger der EDI-Eingangsverteilung zugeordnet ist (Abschnitt Benutzeradresse für Internet einrichten [Seite 65]).
Die Erzeugung der IDocs und deren Verarbeitung wird entweder vollständig oderüberhaupt nicht durchgeführt. Dazu wird EDI_IDOC_R3I_INCOMING als eigenerWork-Prozeß aufgerufen, damit bei Fehlern in der IDoc-Erzeugung oder –Verarbeitung die bis dahin aufgetretenen Datenbankveränderungen separatrückgängig gemacht werden können (Rollback).
Als Rückgabewerte erhält der Workplace eine Tabelle mit den IDoc-Nummern sowie den Namender Eingangsmappe, in die die Mail abgelegt werden soll. Diese Mappe stammt aus der Tabellefür die IDoc-Administration (Abschnitt: Internet-Port einstellen: Portbeschreibung [Seite 66]).
IntegrationWeitere Informationen zur Architektur finden Sie unter
SAPconnect [Extern]
BC - SAP Internet-Mail-Gateway [Extern]
SAP Exchange Connector [Extern] (für die Anbindung an den MS Exchange Server)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp Internet: SAPconnect einrichten
64 April 2001
Porttyp Internet: SAPconnect einrichtenUm den Internet-Port benutzen zu können, muß ein SAPconnect-Knoten [Extern] für denAdreßtyp INT vorhanden sein, über den der Versand abgewickelt wird. Über den Knoten wirdauch gesteuert, ob Sie über den Microsoft Exchange Server oder über das Internet-Mail-Gateway gehen.
Außerdem muß das Programm zum Abholen der Mails, der Sendeprozeß [Extern] vonSAPconnect, eingeplant sein.
VoraussetzungenBei Versand über SAP Internet-Mail-Gateway: Sie müssen das Gateway konfiguriert haben.Lesen Sie dazu die Dokumentation Internet-Mail-Gateway konfigurieren [Extern].
Vorgehensweise1. Gehen Sie in die SAPconnect-Administration über Werkzeuge � Business Communication
� Kommunikation � SAPconnect.
Sie erhalten eine Baumanzeige, in der die Knoten nach Adreßtyp aufgelistet sind, die sieunterstützen.
2. Prüfen Sie eventuell über Sicht � Routing, ob schon ein Knoten für den Adreßtyp INT(Internet) existiert.
3. Bestehende Knoten ändern Sie über oder fügen neue über ein. Wichtig sind folgendeParameter:
� RFC Destination
Mit der RFC Destination beschreiben Sie, auf welchem Rechner Sie über welchesProgramm entweder den Microsoft Exchange Server (über den SAP ExchangeConnector) oder das SAP Internet Mail Gateway starten.
� Adreßbereich beim Adreßtyp INT
Je spezieller Sie diesen Eintrag fassen, desto weniger Adressen werden über denjeweiligen Knoten abgewickelt.
Der Knoten KNOT1 unterstützt den Adreßbereich *sap-ag.de, der Knoten KNOT2den Bereich *C11.sap-ag.de, wobei C11 ein R/3-System ist. Wird eine E-Mail an<username>@C11.sap-ag.de versandt, wird der Knoten KNOT2 angesteuert.
� Unterstütztes Format beim Adreßtyp INT
Hier müssen Sie den Dokumenttyp R3I (Internet-IDocs) oder * (alle Formate) angeben
4. Planen Sie den Sendeprozeß als Hintergrundjob ein [Extern].
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp Internet: Adresse für Internet einrichten
April 2001 65
Porttyp Internet: Adresse für Internet einrichtenDiese Einstellungen sind auch für den Ausgang wichtig: der E-Mail-Absender muß bekannt sein.
Vorgehensweise1. Wählen Sie vom Einstiegsbild der R/3-Systems Büro � Arbeitsplatz � Einstellungen �
Benutzereinstellungen.
2. Wählen Sie .
3. Wählen Sie Weitere Kommunikation... für die Kommunikationsart INT (Internet).
4. Tragen Sie Ihre Internet-Adresse in das Fenster ein, z.B. <Anwender>@<firma>.de.Sichern Sie Ihre Angaben.
5. Schließen Sie noch Ihre Internet-Adresse an die Eingangsverteilung an: Wählen Sie aus demR/3-Einstiegsbild Werkzeuge � Business Communication � Kommunikation � SAPconnectEinstellungen � Eingangsverteilung (SO28). Benutzen Sie für den neuen Empfänger die F4-Hilfe und wählen Sie EDI-Eingangsverteilung.
Nur durch diese Weiterleitung werden IDocs, die an Sie verschickt werden, verarbeitet.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp Internet: Portbeschreibung pflegen
66 April 2001
Porttyp Internet: Portbeschreibung pflegenVerwendungIn der Portbeschreibung wird die Internet-Adresse des Partners hinterlegt. Da hier der BusinessWorkplace zum Einsatz kommt, können Sie zur Kontrolle eine Workplace-Mappe angeben, in derdie ausgehenden IDoc-Mails als Workplace-Dokumente abgelegt werden.
VoraussetzungenPorttyp Internet: SAPconnect einrichten [Seite 64]
Porttyp Internet: Adresse für Internet einrichten [Seite 65]
Vorgehensweise1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].
2. Positionieren Sie auf Internet und wählen Sie .
3. Benennen und beschreiben Sie den Port. Setzen Sie folgende Parameter:
� Internet-Adresse: Empfänger der Mail
� Ablage Office: Workplace-Mappe für ausgehende Mails, Mailattribute (Titel/Name) sowieder Absender der E-Mail. Dieser Absender ist nicht unbedingt mit dem Ersteller desWorkplace-Dokuments identisch.
� Mailtext: Diesen Text liest der Empfänger, wenn er die Mail öffnet (IDocs sind nurAnlagen)
4. Geben Sie in der IDoc-Administration [Seite 255] diejenige Workplace-Mappe an, in dereingehende Mails abgelegt werden sollen.
ErgebnisNun können Sie IDocs ins Internet verschicken und von dort empfangen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
ABAP Programmierschnittstelle (PSS)
April 2001 67
ABAP Programmierschnittstelle (PSS)DefinitionAustausch der IDocs zwischen ABAP Funktionsbausteinen.
VerwendungHier ist zunächst das eigene System R/3 das „externe System", in dem die Weiterverarbeitungbeliebig programmierbar ist. So können Sie z.B. eigene Techniken der Übergabe an einFremdsystem programmieren.
StrukturPortbeschreibungSie geben nur den Namen des aufzurufenden (IDoc-Ausgang) oder aufrufenden (IDoc-Eingang)ABAP Funktionsbausteins an. In diesem Funktionsbaustein können Sie jede gewünschteVerarbeitung programmieren. Nur seine Schnittstelle ist vorgegeben.
Schnittstelle und Verarbeitung für den IDoc-Ausgang
Als Muster liefert SAP den Funktionsbaustein OWN_FUNCTION aus, der die IDoc-Daten liestund einen Statussatz pro IDoc schreibt (Status 18 für „kein Fehler", 20 für „Fehler"); bei Fehlernwird ein SAP Business Workflow gestartet.
Schnittstelle und Verarbeitung für den IDoc-Eingang
Ihr Baustein muß den SAP-Funktionsbaustein IDOC_INBOUND_ASYNCHRONOUS aufrufen,der die IDocs auf der Datenbank speichert und ein Ereignis auslöst. Dadurch wird dieEingangsverarbeitung asynchron gestartet.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Porttyp XML
68 April 2001
Porttyp XMLDefinitionAustausch der IDocs über XML-Dateien auf Betriebssystemebene. Die Namen der XML-Tagslehnen sich an diejenigen der IDoc-Satzarten bzw. der IDoc-Segmente an.
VerwendungXML ist als selbsbeschreibende internetfähige Sprache konzipiert. Im Gegensatz zu HTMLkönnen hier Tags definiert und in einer Document Type Definition bekannt gemacht werden.Dadurch ist XML erweiterbar und entspricht insbesondere dem Konzept der Neudefinition vonIDoc-Typen. IDocs im XML-Format können mit den entsprechenden Internet-Browsern sofortangezeigt werden. Insbesondere der Electronic Commerce-Bereich verwendet XML, aber auchklassische EDI-Anwendungen sollen XML-fähig werden.
StrukturPortbeschreibung [Seite 69]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Porttyp XML: Portbeschreibung pflegen
April 2001 69
Porttyp XML: Portbeschreibung pflegenIm Ausgang legen Sie die Regeln für die Erzeugung der Ausgangsdatei fest. Im Eingang hat diePortbeschreibung nur Einfluß auf die Testprogramme (s.u.).
Vorgehensweise1. Wählen Sie IDoc � Portbeschreibung im Einstiegsknoten der IDoc-Schnittstelle [Extern].
2. Positionieren Sie auf XML und wählen Sie . Geben Sie dem Port einen Namen undbestätigen Sie Ihre Eingabe.
3. In der Beschreibung geben Sie einen möglichst sprechenden Text an.
Der Text wird beim Einstiegsbild zur Portbeschreibung und in denPartnervereinbarungen angezeigt. Ein sprechender Text wäre z.B. „Dateien enthalten dieDTD“.
4. Registerkarte Ausgangsdatei: Sie können wählen, ob die IDocs zusammen mit derentsprechenden Document Type Declaration (DTD) in die XML-Datei geschrieben werdensollen.
Die DTD enthält die Tags, die im nachfolgenden XML-IDoc verwendet werden, also Tagsfür die IDoc-Satzarten und die einzelnen Segmente. Die Tags werden wie die einzelnenFelder benannt. So heißt die Anfangs-Ende-Tag-Sequenz für das Feld MESTYP desKontrollsatzes EDI_DC40 <EDIDC_40-MESTYP><EDIDC_40-MESTYP>.
5. Möglicherweise müssen Sie nationale Sonderzeichen wie ä,ö,ü in internationaleZeichenfolgen wie ae,oe,ue umsetzen. Dazu pflegen Sie die Umsetztabelle undmarkieren anschließend Sonderzeichen umsetzen. Beachten Sie aber, daß dieZeichenketten in den Segmentfeldern dann ihre Länge ändern können!
6. Wie beim Porttyp „Datei“ [Seite 52] geben Sie am besten einen Funktionsbaustein an,der die Dateinamen erzeugt. Die SAP-Empfehlung istEDI_PATH_CREATE_CLIENT_DOCNUM bzw.EDI_LPATH_CREATE_CLIENT_DOCNUM für logische Verzeichnisse. DieseFunktionsbausteine garantieren eindeutige Dateinamen und verhindern somit einÜberschreiben nicht verarbeiteter Dateien. Machen Sie einen Zugangstest für IhrVerzeichnis.
Die vom Funktionsbaustein erzeugten Dateinamen übersteuern den statischen Namen,den Sie im Feld Ausgangsdatei pflegen können. Ein statischer Name kann bei einemTestport sinnvoll sein: Ist Ihr Testport im entsprechenden Feld in der IDoc-Administration[Seite 253] eingetragen, und haben Sie keinen Funktionsbaustein angegeben, dann wirdder statische Name in den Testprogrammen [Seite 94] verwendet. Statische wiedynamische Dateinamen erhalten den Zusatz .xml in Windows/NT Betriebssystemen.
Logische Verzeichnisse werden betriebssystemabhängig in die in der Transaktion FILEgepflegten physischen Verzeichnisse aufgelöst. Beachten Sie hierzu auch die F1-Hilfeauf den Feldern logisches/physisches Verzeichnis.
7. Registerkarte Ausgang: Triggern: Verfahren Sie wie in Schritt 6 beim Porttyp „Datei“ [Seite52]. Machen Sie wieder einen Zugangstest.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partner vereinbaren
70 April 2001
Partner vereinbarenEinsatzmöglichkeitenPartner, mit denen Sie über IDocs kommunizieren, müssen in den Partnervereinbarungengepflegt sein: Hier wählen Sie, welche Nachricht auf welchem Weg an den Partner versandt wird,und wie eingehende Nachrichten verarbeitet werden.
Voraussetzungen� Für den Partner müssen Stammdaten im System vorhanden sein.
� Teil der Ausgangspartnervereinbarungen ist die Auswahl eines Ports. Diesen Port müssenSie zuvor eingerichtet haben. Lesen Sie dazu den Abschnitt Ports einrichten [Seite 40].
AblaufStandardablaufSinn und Zweck der Vorgangscodes [Seite 71]
Lesen Sie zunächst diesen Abschnitt, um sich mit dem Konzept der Vorgangscodes als Teil derPartnervereinbarungen vertraut zu machen.
Partnervereinbarungen im Standarddialog [Seite 76]
Sie regeln, mit wem Sie welche Nachrichten austauschen. Neue Partner und/oder Nachrichtenerfordern immer eine Erweiterung der Konfiguration.
Partnervereinbarung prüfen [Seite 86]
Ihre getroffenen Partnervereinbarungen können Sie auf Konsistenz und Vollständigkeit prüfen.
Alternativen zum StandardablaufSchnellerfassung in den Partnervereinbarungen [Seite 87]
Sie übernehmen Vorschlagswerte aus dem Customizing. Individuelle Änderungen sind über denStandarddialog nachträglich möglich.
Die Programmierschnittstelle (API) der Partnervereinbarung [Seite 88]
Partner können über spezielle Funktionsbausteine auch dialogfrei vereinbart werden.
Weitere FunktionenPartnervereinbarungen verschicken [Seite 92]
Partnervereinbarungen drucken [Seite 93]
Partnervereinbarungen können nicht transportiert werden. Sie werden imProduktivsystem gepflegt, nachdem die Stammdaten angelegt sind.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Sinn und Zweck der Vorgangscodes
April 2001 71
Sinn und Zweck der VorgangscodesDefinitionZweiter Name für eine bestimmte Verarbeitung, z.B. Funktionsbaustein oder Workflow. In dieserVerarbeitung werden IDocs gelesen oder geschrieben.
VerwendungIn den Partnervereinbarungen wird die Verarbeitung nie direkt, sondern immer nur über einenVorgangscode angesprochen. Dadurch können Sie auf einen Schlag bei beliebig vielen Partnerneine alte durch eine neue Verarbeitung ersetzen, indem Sie dieser den bestehendenVorgangscode zuordnen.
Zwei Arten von Vorgangscodes werden in diesem Zusammenhang in den Partnervereinbarungenverwendet:
� Vorgangscode Ausgang [Seite 72] - Wenn Sie den Ausgang unter Nachrichtensteuerungverwenden, wird das IDoc in der IDoc-Schnittstelle erzeugt. Der Vorgangscode benenntden dafür zuständigen Funktionsbaustein.
� Vorgangscode Eingang [Seite 73] - benennt den Funktionsbaustein oder Workflow, derdie IDoc-Daten liest und in den Anwendungsbeleg überführt.
Wenn Sie nicht wissen, welcher Vorgangscode für Ihren Geschäftsprozeß relevantist, aber den Nachrichtentyp kennen, so lassen Sie sich die für diesenNachrichtentyp definierten Vorgangscodes anzeigen: Wählen Sie dazuDokumentation � Vorgangscodes im Einstiegsknoten der IDoc-Schnittstelle oderverwenden Sie die F4-Hilfe in den Partnervereinbarungen, nachdem Sie denNachrichtentyp eingetragen haben.
Weiterhin gibt es noch die Vorgangscodes für die Ausnahmebehandlung:
� Vorgangscode System [Seite 74] - benennt den Workflow, der im Ausnahmefall imEingang oder Ausgang angestoßen wird.
� Vorgangscode Status [Seite 75] - benennt den Workflow, der im Ausnahmefall bei derStatusverarbeitung angestoßen wird.
Diese beiden Arten werden zentral und nicht partnerspezifisch eingestellt, ersparen bei derNeudefinition einer Verarbeitung also keine Arbeit. Sie wurden aber der Vollständigkeit halbereingeführt, damit jede Verarbeitung in der IDoc-Schnittstelle durch einen Vorgangscodeangesprochen wird.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Vorgangscode Ausgang
72 April 2001
Vorgangscode AusgangVerwendungBeim Ausgang unter Nachrichtensteuerung [Seite 11] wird über den Vorgangscode Ausgang dieVerarbeitung (Funktionsbaustein der Anwendung) gefunden, die die Anwendungsdaten liest undin ein IDoc stellt.
In folgenden Fällen müssen Sie die Vorgangscodes Ausgang bearbeiten:
� Sie haben einen Funktionsbaustein geschrieben (z.B. für einen eigenen IDoc-Typ), denSie durch einen neuen Vorgangscode benennen wollen
� Sie wollen dem Vorgangscode X einen anderen Funktionsbaustein zuordnen.
� Sie wollen die ALE-Dienste ein- oder ausschalten. Ein Abschalten der ALE-Dienste kannsich günstig auf die Performance (weniger Speicherbedarf) auswirken
FunktionsumfangDie Ausgangsvorgangscodes sind anwendungsspezifisch.
Aktivitäten� Den gewünschten Vorgangscode ermitteln Sie aus den entsprechenden
Partnervereinbarungen oder über Dokumentation � Vorgangscode im Einstiegsknoten derIDoc-Schnittstelle [Extern].
� Sie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung � VorgangscodeAusgang.
� Sie wählen Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Vorgangscode Eingang
April 2001 73
Vorgangscode EingangVerwendungÜber den Vorgangscode Eingang wird die Verarbeitung (Workflow oder Funktionsbaustein derAnwendung) gefunden, die die IDoc-Daten liest und daraus Anwendungsbelege erzeugt.
In folgenden Fällen müssen Sie die Vorgangscodes Eingang bearbeiten:
� Sie wollen eine neue Verarbeitung verwenden und brauchen dafür einen neuenVorgangscode
� Sie wollen dem Vorgangscode X eine andere Verarbeitung zuordnen
� Sie wollen die ALE-Dienste ein- oder ausschalten (nur möglich, wenn die Verarbeitungein Workflow ist!). Ein Abschalten der ALE-Dienste kann sich günstig auf diePerformance (weniger Speicherbedarf) auswirken.
FunktionsumfangDie Eingangsvorgangscodes sind anwendungsspezifisch. Von der IDoc-Basis wird speziell derVorgangscode ED08 ausgeliefert, der eingehende IDocs an verteilte R/3-Systeme weiterleitet(Funktion „Weiterleiten Eingang“). Diese Verarbeitung ist durch das Workflow-MusterWS30000483 definiert.
Aktivitäten� Den gewünschten Vorgangscode ermitteln Sie aus den entsprechenden
Partnervereinbarungen oder über Dokumentation � Vorgangscode im Einstiegsknoten derIDoc-Schnittstelle [Extern].
� Sie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle Steuerung � VorgangscodeEingang.
� Sie wählen Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Vorgangscode System
74 April 2001
Vorgangscode SystemVerwendungTreten bei der Bearbeitung von IDocs bzw. Anwendungsdaten Fehler in der IDoc-Schnittstelleauf, so wird ein Workitem erzeugt. Die Typ des Workitems (die Standardaufgabe) ist abhängigvon der Art des Fehlers. Der Workflow steuert die Bearbeitung des Fehlers aus dem integriertenEingangskorb.
Weitere Informationen finden Sie unter
Ausnahmebehandlung [Seite 27]
FunktionsumfangFolgende Vorgangscodes werden im Standard ausgeliefert:
Vorgangscodes System
Vorgangscode Erklärung Standardaufgabe
EDII Fehler bei der Eingangsbearbeitung TS00008068
EDIO Fehler bei der Ausgangsbearbeitung TS00007989
EDIP Fehler bei Ausgangsbearbeitung eines IDoc-Stapels(Ausgabemodus „IDocs sammeln“)
TS60001307
EDIX IDoc-Syntaxfehler im Ausgang TS00008070
EDIY IDoc-Syntaxfehler im Eingang TS00008074
EDIM Fehler, bei dem noch keine Zuordnung mit einem IDocgetroffen werden konnte. (z.B. die Datei konnte nichtgeöffnet werden) Es existiert noch kein IDoc.
TS30000020
AktivitätenWenn Sie möchten, daß eine bestimmte Fehlerart auf andere Weise bearbeitet wird, als dies imStandard der Fall ist, dann ordnen Sie dem entsprechenden Vorgangscode eine andere Aufgabezu.
� Sie pflegen den Vorgangscode System aus dem Einstiegsknoten der IDoc-Schnittstelle[Extern] über Steuerung � Vorgangscode System.
� Wählen Sie Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.
Sie können von der Tabelle durch Doppelklick auf die Workflow-Definition derentsprechenden Aufgabe verzweigen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Vorgangscode Status
April 2001 75
Vorgangscode StatusVerwendungWird vom externen System ein Fehlerstatus für versandte IDocs zurückgemeldet, so wird eineFehleraufgabe erzeugt.
FunktionsumfangFolgende Vorgangscodes sind im Standard mit folgenden Aufgaben gekoppelt:
Vorgangscode Status
Vorgangscode Erklärung Standardaufgabe
EDIS Fehlerstatus vom EDI-Subsystem zu einem Ausgangs-IDoc empfangen. Beim Ausführen des Workitems wirdder entsprechende Statussatz mit der Fehlernachrichtangezeigt.
TS30000078
EDIR Wie EDIS, nur daß Sie hier bei Ausführen desWorkitems das entsprechende Ausgangs-IDoc nochmalsverschicken können.
TS70008125
AktivitätenÜber die Statuspflege können Sie anzeigen oder ändern, bei welchen rückgemeldeten Statusdiese Vorgangscodes aktiv werden:
� Wählen Sie dazu im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �Statuswerte pflegen.
� Gehen Sie in die Detailanzeige eines Status. Der Vorgangscode EDIR ist im Standard z.B.beim Status 07 im Rahmen Wirkung hinterlegt.
Wenn Sie möchten, daß die Rückmeldung eines Status “fehlerhaft” auf andere Weise als imStandard bearbeitet wird, dann ordnen Sie dem entsprechenden Fehlercode eine andereStandardaufgabe zu.
� Sie pflegen den Vorgangscode Status aus dem Einstiegsknoten der IDoc-Schnittstelle überSteuerung � Vorgangscode Status.
� Wählen Sie Tabellensicht � Anzeigen/Ändern, um eine Zuordnung zu ändern oder einenneuen Eintrag zu machen.
Sie können von der Tabelle durch Doppelklick auf die Workflow-Definition derentsprechenden Aufgabe verzweigen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partnervereinbarungen im Standarddialog
76 April 2001
Partnervereinbarungen im StandarddialogEinsatzmöglichkeitenSie legen Partnervereinbarungen ohne Vorschlagswerte aus dem Customizing an. Die Pflege istdamit am individuellsten, aber auch am aufwendigsten.
AblaufPartnervereinbarungen werden getrennt nach Ein- und Ausgangsverarbeitung getroffen. JederPartner muß allerdings in den allgemeinen Partnervereinbarungen vorgesehen sein. BeimAusgang unter Nachrichtensteuerung (NAST) müssen Sie zusätzliche Parameter einstellen.Gehen Sie für die Partnervereinbarungen zum Einstiegsknoten der IDoc-Schnittstelle [Extern].
Siehe auch:Allgemeine Partnervereinbarung [Seite 77]
Partnervereinbarung Ausgang [Seite 78]
Zusätzliche Parameter beim Ausgang unter NAST [Seite 81]
Partnervereinbarung Eingang [Seite 84]
Graphik: Abhängigkeiten und wichtige Felder der Partnervereinbarungen.
PartnerApplikation
VorgangscodeLogische Nachricht
Partner
Erlaubte Bearbeiter
Allgemein
Ausgang
PartnerNachricht
VorgangscodeErlaubte Bearbeiter
Eingang
NAST-Parameter
PartnerNachricht
PortIDoc-TypEDI-StrukturErlaubte Bearbeiter
Die vier Teile der Partnervereinbarungen entsprechen vier Tabellen, deren Schlüssel in derGraphik durch helle Felder angedeutet sind.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Allgemeine Partnervereinbarung anlegen
April 2001 77
Allgemeine Partnervereinbarung anlegenVoraussetzungenJe nach seiner Art müssen für den Partner bereits Daten im System vorhanden sein (z.B. einKreditorenstamm). Genaues finden Sie unter Prüfen von Partnern nach Partnerart [Seite 258].
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] IDoc �
Partnervereinbarung oder die Transaktion WE20.
Ihre Partner sind nach ihrer Art [Extern] (z.B. Lieferant) untergliedert. Partnerart und –nummer identifizieren den Partner in den Stammdaten eindeutig.
2. Positionieren Sie auf der gewünschten Partnerart (z.B. LI für Lieferant) und wählen Sie. Ihre weiteren Einträge machen Sie im rechten Bildbereich. Geben Sie dort die
Partnernummer (z.B. einen Ihrer Lieferanten) ein.
3. Sie können Ihre Partner in Partnerklassen einteilen (Registerkarte Klassifikation). Dannkönnen Sie mittels des API (siehe auch Unterabschnitt Die Programmierschnittstelle(API) der Partnervereinbarung [Seite 88]) eine neue Nachricht für alle Partner einerKlasse vereinbaren, indem Sie diese einmalig für die Klasse anlegen.
4. Setzen Sie den Partnerstatus auf “aktiv”, um mit Ihrem Partner zu kommunizieren(Registerkarte Klassifikation). Mit dem Status “inaktiv” können Sie die Kommunikation mitihm “abschalten”. Im Status “Vorlage” dient er als (inaktives) Musterprofil für das API derPartnervereinbarungen.
5. Für den Ausnahmefall (etwa fehlerhafte Übertragung von IDocs) legen Sie erlaubteBearbeiter fest (Registerkarte Nachbearbeitung: erlaubte Bearbeiter). WeitereInformationen zur Bearbeiterermittlung finden Sie unter Rollenauflösung in derAusnahmebehandlung [Seite 31]
6. Mit dem Archivkennzeichen geben Sie an, ob zu diesem Partner Unterlagen im Archivexistieren. Dieses Kennzeichen hat nur dokumentarischen Charakter (RegisterkarteKlassifikation).
7. Falls Ihr R/3-System über SAPphone an ein Telefonsystem angeschlossen und IhrRechner einem Telephonanschluß zugeordnet ist, können Sie partnerspezifischTelephoniedaten pflegen (Registerkarte Telephonie). Diese Daten finden Sie dann inder IDoc-Anzeige [Seite 120] der IDocs dieses Partners wieder, und Sie können perDrucktaste den Partner direkt anwählen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgangspartnervereinbarung anlegen
78 April 2001
Ausgangspartnervereinbarung anlegenHier geben Sie die Daten von Hand ein. Alternativ dazu können Sie auch Vorschlagswerte ausdem Customizing übernehmen [Seite 87].
1. Falls Sie noch nicht im Änderungsbild Ihres gewünschten Partners sind, wählen Sie IDoc �Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern].
2. Im Knoten der gewünschten Partnerart positionieren Sie auf Ihren Partner. Wählen Sie unter der Tabelle Ausgangsparameter.
Schlüsselfelder3. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt.
Die Partnerrolle [Extern] aus den Stammdaten legt die Funktion des Adressaten fest, dientalso zur weiteren Unterteilung. Wenn der Ausgang unter Nachrichtensteuerung (NAST)gewählt wird, muß sich die Rolle mit dem entsprechenden NAST-Feld decken. Ansonsten istsie optional.
Handelspartner A will ein Material bei Handelspartner B bestellen. Partner B ist vonder Partnerart “LI” (Lieferant/Kreditor), als Partnerrolle muß der NAST-Wert “LF”(Lieferant) gewählt werden, da Bestellungen immer über die NAST laufen.
4. Benennen Sie mit der “logischen” Nachricht den Geschäftsprozeß, innerhalb dessen derIDoc-Typ eingesetzt wird. Die logische Nachricht wird durch drei Parameter beschrieben:Der Nachrichtentyp orientiert sich an EDIFACT-Nachrichtentypen: z.B. ist eineBestellung vom Typ “ORDERS”. Mit den optionalen Feldern Nachrichtenvariante undNachrichtenfunktion können Sie den Nachrichtentyp weiter untergliedern.
5. Setzen Sie das Testkennzeichen, wenn Sie die Nachricht testweise versenden wollen.
Nachricht, Partner und Testkennzeichen sind die sieben Schlüsselfelder derAusgangspartnervereinbarungen (hinzu kommt noch der Mandant). Beachten Siedazu auch die Graphik am Ende dieses Abschnittes.
Weitere Felder6. In der Registerkarte Ausgangsoptionen bestimmen Sie im Ausgabemodus, ob IDocs
sofort an das Folgesystem übergeben werden. Achten Sie hier auf sinnvolleKombinationen mit den Prioritäten der Nachrichtensteuerung, wenn Sie dieseAusgangsverarbeitung gewählt haben! Eine Liste solcher sinnvollen Kombinationenfinden Sie im Abschnitt Ausgangsverarbeitung unter NAST: Vorgehen [Seite 14].
7. Den Empfängerport haben Sie bereits in der Portbeschreibung [Seite 40] definiert.
8. Geben Sie den IDoc-Typ an, als Basistyp mit oder ohne Erweiterung [Seite 159]. FallsSie eine Sicht [Seite 172] auf Ihren IDoc-Typ nutzen wollen (z.B. um die Performance zuverbessern), geben Sie diese hier an.
Die folgende Graphik zeigt die m-zu-n-Beziehung von logischer Nachricht(betriebswirtschaftliche Bedeutung) und IDoc-Typ (technisches Format). Nachricht 1 istz.B. genau einem IDoc-Typ zugeordnet, während Nachricht 3 zwei IDoc-Typenzugeordnet ist. IDoc-Typ 2 ist seinerseits auch 2 logischen Nachrichten zugeordnet.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgangspartnervereinbarung anlegen
April 2001 79
Nachricht 1 Nachricht 2 Nachricht 3
IDoc-Typ 1 IDoc-Typ 3IDoc-Typ 2
9. Mit dem Segmentrelease geben Sie an, aus welchem Release die Segmentdefinitionen(nicht die Definition des IDoc-Typs!) stammt. Es wird empfohlen, dieses Feld leer zulassen, um die neueste Segmentdefinition zu verwenden. Nur falls über EDI-Subsystememit älteren R/3-Releases kommuniziert wird, sollte dieses Feld als unterstützendeInformation für das EDI-Subsystem gefüllt werden.
8. Auf der Registerkarte EDI-Standard können Sie dem Folgesystem - hier ein EDI-Subsystem - EDI-Standard, -Version und EDI-Nachrichtentyp vorschlagen. Diese EDI-Einstellungen sollten die meisten Subsysteme allerdings selbst (aus der logischenNachricht) ableiten können.
9. Sie können erlaubte Bearbeiter im Ausnahmefall festlegen. Diese übersteuern denEintrag aus den allgemeinen Partnervereinbarungen. Damit kann dieAusnahmebehandlung je nach Nachricht von unterschiedlichen Bearbeitern desselbenPartners vorgenommen werden.
10. Sie können einstellen, ob Syntaxfehler ignoriert werden oder ob sie zu einemVerarbeitungsfehler führen sollen (Syntaxprüfung in der RegisterkarteAusgangsoptionen). Zum Ausnahmefall und zu erlaubten Bearbeitern sei auch auf denUnterabschnitt Ausnahmebehandlung [Seite 27] verwiesen.
11. Falls Ihre Hardware das unterstützt, legen Sie partner- und nachrichtenspezifscheTelephoniedaten für Ausgangs-IDocs an. Weitere Informationen finden Sie unterAllgemeine Partnervereinbarung [Seite 77].
Graphik: Felder der Ausgangspartnervereinbarungen (allgemein)Schlüsselfelder sind grau dargestellt. Partner, Nachricht und Testkennzeichen (und derMandant) bestimmen also eindeutig den IDoc-Typ im Ausgang!
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgangspartnervereinbarung anlegen
80 April 2001
Partner(Nummer, Art, Rolle)
Nachricht(Typ, Variante, Funktion)
Test?
Port IDoc-Typ, erlaubte Bearbeiter, ...
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Zusätzliche Parameter beim Ausgang unter NAST
April 2001 81
Zusätzliche Parameter beim Ausgang unter NASTHier legen Sie zusätzliche Ausgangsparameter fest, die Feldern aus dem Nachrichtenvorschlagder Nachrichtensteuerung [Extern] (NAST) entsprechen. Da die IDoc-Erzeugung in diesem Fallin der Verantwortung der IDoc-Schnittstelle liegt, geben Sie hier zudem auch einenVorgangscode an.
Voraussetzungen� Die Nachrichtensteuerung ist im System vorhanden
� Sie haben im Anlegebild der Ausgangspartnervereinbarung bereits einen Partner mitPartnerrolle angelegt [Seite 78].
Die Partnerrolle kommt aus den Stammdaten und wird von der Nachrichtensteuerungüber die Tabelle NAST an die IDoc-Schnittstelle weitergereicht.
Vorgehensweise1. Falls Sie noch nicht im Änderungsbild mit der gewünschten Partnerrolle sind, markieren Sie
diese in der Tabelle Ausgangsparameter. Wählen Sie gegebenfalls , um in denÄnderungsmodus zu gelangen, und wählen Sie unter der Tabelle Ausgangsparameter.
2. Wählen Sie die Registerkarte Nachrichtensteuerung. Unter der Tabelle wählen Sie .
Schlüsselfelder3. Wie die Partnerrolle dient auch die Nachrichtenart der Zuordnung zum entsprechenden
Konditionselement [Extern] der NAST. Eine Bestellung hat etwa die Nachrichtenart “NEU”.
4. Benennen Sie die Anwendung in der Spalte Applikation (z.B. “EF” für “Einkauf Bestellung”).
Zusammen mit dem Änderungskennzeichen (zum Beispiel bei einer Bestelländerung)und dem Mandant bilden Partner, Nachrichtenart und Applikation die Schlüsselfelder derzusätzlichen Ausgangs-Partnervereinbarungen unter NAST. Beachten Sie dazu auch dieGraphik am Ende dieses Abschnittes.
Die folgende Tabelle gibt häufig verwendete Zuordnungen von NAST-Feldern(Anwendung, Partnerrolle und Nachrichtenart) zur logischen Nachricht der IDoc-Schnittstelle wieder.
Anwendung Partnerrolle Nachrichtenart
Änderung
log.Nachricht
EA LF NEU REQOTE
EF LF NEU ORDERS
EF LF NEU X ORDCHG
V1 AG AN00 QUOTES
V1 AG BA00 ORDRSP
V2 WE LAVA DESADV
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Zusätzliche Parameter beim Ausgang unter NAST
82 April 2001
V3 WE AUS1 EXPINV
V3 RE RD00 INVOIC
Ein Nachrichtenvorschlag der NAST wird immer als Satz der Tabelle NAST abgelegt.Wurde also aus Ihrem Anwendungsbeleg bereits ein Nachrichtenvorschlag erzeugt,können Sie die „richtige“ Applikation, Partnerrolle und Nachrichtenart aus dieserTabelle entnehmen. Verwenden Sie dazu in der Transaktion SE16 IhreBelegnummer als Schlüssel.
Außerdem legen Sie im allgemeinen die Partnerrolle in einer Nachricht [Extern](Synonym: Konditionssatz) in der jeweiligen Anwendung fest. Damit können Siediesen Parameter bereits aus der Nachrichtendefinition ablesen.
Weitere Felder5. Benennen Sie mit dem Vorgangscode den Funktionsbaustein, der den Beleg in ein IDoc
umsetzt.
Zum Nachrichtentyp (logische Nachricht) und IDoc-Typ erhalten Sie über die F4-Hilfe dieerlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sieüber Dokumentation � Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.
ErgebnisSie haben den NAST-Feldern entsprechende Felder in der IDoc-Schnittstelle zugeordnet.Weiterhin haben Sie eine Zuordnung zu den allgemeinen Ausgangspartnervereinbarungen (s.Graphik) und indirekt zu den allgemeinen Partnervereinbarungen vorgenommen.
Sie sollten Ihre Einstellungen überprüfen [Seite 86].
Graphik: Felder der Ausgangs-Partnervereinbarungen (allgemein und NAST-spezifisch)Schlüsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner,Applikation und Nachrichtenart (mit Änderungskennzeichen) bestimmen also (zusammen mitdem Mandanten) eindeutig den IDoc-Typ im Ausgang!
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Zusätzliche Parameter beim Ausgang unter NAST
April 2001 83
Partnervereinbarung Ausgang allgemein
Partner(Nummer, Art, Rolle)
Nachricht(Typ, Variante,
Funktion)Test?
Port IDoc-Typ, erlaubte Bearbeiter, ...
Zusätzliche Partnervereinbarung Ausgang unter NAST
Partner(Nummer, Art, Rolle)
Applikation Nachrichtenart;Änderungsnachricht?
VorgangscodeNachricht
(Typ, Variante,Funktion)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partnervereinbarung Eingang
84 April 2001
Partnervereinbarung EingangSie legen fest, welche Nachrichten Sie von welchem Partner akzeptieren wollen. Hier geben Siedie Daten von Hand ein. Alternativ dazu können Sie auch Vorschlagswerte aus dem Customizingübernehmen [Seite 87].
Vorgehensweise4. Falls Sie noch nicht im Änderungsbild Ihres gewünschten Partners sind, wählen Sie IDoc �
Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle.
5. Im Knoten der gewünschten Partnerart positionieren Sie auf Ihren Partner. Wählen Sie unter der Tabelle Eingangsparameter.
Schlüsselfelder1. Partnernummer und -art haben Sie bereits in der allgemeinen Partnerverarbeitung festgelegt.
Die Partnerrolle [Extern] ist optional.
Handelspartner B will elektronische Kundenaufträge von Handelspartner Aaufnehmen können. Er trägt dann Partner A in der Partnerart “KU” (Kunde) ein, diePartnerrolle kann als “AG” (Auftraggeber) gewählt werden.
2. Die Nachricht wird durch drei Parameter beschrieben: Der Nachrichtentyp orientiert sich anEDIFACT-Nachrichtentypen: Eine Bestellung ist z.B. vom Typ “ORDERS”. DurchNachrichtenvariante und -funktion können Sie den Typ weiter untergliedern.
3. Zusammen mit dem Testkennzeichen (und dem Mandant) bilden Nachricht und Partner dieSchlüsselfelder der Eingangspartnervereinbarungen. Das ist genau wie beim (allgemeinen)Ausgang. Beachten Sie dazu auch die Graphik am Ende dieses Abschnittes.
Weitere Felder4. Benennen Sie mit dem Vorgangscode den Prozeß (Funktionsbaustein oder Workflow), der
bei Eingang des IDocs angestoßen werden soll (Registerkarte Eingangsoptionen).
Zum Nachrichtentyp (logische Nachricht) und IDoc-Typ erhalten Sie über die F4-Hilfe dieerlaubten Vorgangscodes. Eine Liste aller Nachrichten mit Vorgangscodes finden Sieüber Dokumentation � Vorgangscodes aus dem Einstiegsknoten der IDoc-Schnittstelle.
Das aktuelle SAP-Release unterstützt keine Vorgänge mehr. Die Vorgangstechnikwurde durch den SAP Business Workflow abgelöst.
5. Sie können erlaubte Bearbeiter im Ausnahmefall festlegen. Diese übersteuern dann denEintrag aus den allgemeinen Partnervereinbarungen. Damit kann die Ausnahmebehandlung– beim selben Partner – je nach Nachricht von unterschiedlichen Bearbeitern vorgenommenwerden.
6. Sie können festlegen, ob Syntaxfehler im IDoc ignoriert werden sollen oder ob sie zu einerAusnahmebehandlung führen sollen (Registerkarte Eingangsoptionen, Feld Syntaxprüfung).
7. Auf der Registerkarte Eingangsoptionen legen Sie fest, ob das eingegangene IDoc sofortverarbeitet werden soll.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Partnervereinbarung Eingang
April 2001 85
Das Kennzeichen wirkt nur bei der direkten Eingangsverarbeitung [Seite 19]. In ALE-Verteilungsszenarien z.B. können eingegangene IDocs erst einmal “stillgelegt” und erstspäter im Hintergrund weiterverarbeitet werden.
8. Falls Ihre Hardware das unterstützt, legen Sie partner- und nachrichtenspezifscheTelephoniedaten für Eingangs-IDocs an. Weitere Informationen finden Sie unter AllgemeinePartnervereinbarung [Seite 77].
Graphik: Felder der EingangspartnervereinbarungenSchlüsselfelder sind grau dargestellt, Zuordnungen der IDoc-Schnittstelle durch Pfeile: Partner,Nachricht und Testkennzeichen (und der Mandant) eines Eingangs-IDocs bestimmen alsoeindeutig den Vorgangscode und damit die Art der Eingangsverarbeitung!
IDoc-Kontrollsatz
Eingangspartnervereinbarungen
IDoc-Typ Partner(Nummer, Art, Rolle)
Nachricht(Typ, Variante, Funktion)
Test?
Partner(Nummer, Art, Rolle)
Nachricht(Typ, Variante, Funktion)
Test?
VorgangscodeEingang mit ALE?, erlaubte
Bearbeiter, ...
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partnervereinbarung prüfen
86 April 2001
Partnervereinbarung prüfenVerwendungSie können Ihre Einträge in den Partnervereinbarungen automatisch prüfen lassen. Geprüft wirdbeispielsweise, ob die erlaubten Bearbeiter existieren oder ob es die angegebenenVorgangscodes gibt.
FunktionsumfangGeprüft wird pro Partner.
Aktivitäten� Wählen Sie IDoc � Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle [Extern].
� Positionieren Sie auf Ihren Partner (identifiziert durch Partnernummer und -art).
� Wählen Sie und im Folgebild . Sie erhalten eine Liste der Prüfaktivitäten und derenErgebnis. Bei fehlerhaften Partnervereinbarungen wird Ihnen mitgeteilt, woran es lag.
Es wird immer geprüft, ob die zusätzlichen Parameter beim Ausgang unterNachrichtensteuerung (Partnerrolle, Applikation...)
� vorhanden sind
� mit denen aus der entsprechenden allgemeinenAusgangspartnervereinbarung übereinstimmen
Diesbezügliche Warnungen können Sie daher ignorieren, wenn Sie den direktenAusgang (ohne Nachrichtensteuerung) verwenden.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Schnellerfassung in den Partnervereinbarungen
April 2001 87
Schnellerfassung in den PartnervereinbarungenVerwendungDie Schnellerfassung reduziert die Anzahl der Parameter, die in den Partnervereinbarungenangegeben werden müssen. Für die übrigen Parameter werden Vorschlagswerte aus demCustomizing übernommen.
Zur Bedeutung der einzelnen Parameter lesen Sie den Abschnitt
Partnervereinbarungen im Standarddialog [Seite 76]
VoraussetzungenSie müssen Vorschlagswerte eingestellt haben. Diese werden abhängig von Richtung undPartnerart definiert. Vorschlagswerte können Sie auf folgende zwei Arten einstellen:
� Im Customizing der IDoc-Schnittstelle unter Basis � Basis Services � IDoc-SchnittstelleBasis. Die entsprechende IMG-Aktivität ist Vorschlagswerte für Partnervereinbarungensetzen.
� Aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] unter Steuerung �Partnervereinbarung
Zur Vorgehensweise beachten Sie die IMG-Dokumentation Vorschlagswerte fürPartnervereinbarungen setzen [Extern]
Aktivitäten� Sie wählen IDoc � Partnervereinbarung im Einstiegsknoten der IDoc-Schnittstelle. Sie
können einen bereits angelegten Partner markieren.
� Wählen Sie . Wenn Sie keinen Partner markiert hatten, geben Sie hier Ihren neuenPartner mit Nummer und Art an. Auf jeden Fall wählen Sie die Richtung aus.
� Sie erhalten eine Liste der im Customizing vorkonfigurierten Vorschlagswerte, geordnet nachdem Schlüsselfeld Nachrichtentyp. Die Nachrichtentypen, die bei Ihrem Partner bereits für diegewünschte Richtung eingetragen sind, werden allerdings ausgeblendet.
� Nachdem Sie den gewünschten Nachrichtentyp ausgewählt haben, werden die entsprechendenVorschlagswerte (Vorgangscode, erlaubte Bearbeiter etc.) für den Partner übernommen.
� Individuelle Parameter können Sie über die Partnervereinbarungen im Standarddialoganpassen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Die Programmierschnittstelle (API) der Partnervereinbarung
88 April 2001
Die Programmierschnittstelle (API) derPartnervereinbarungVerwendungUm die Partnerdaten dialogfrei zu pflegen, verwenden Sie Funktionsbausteine der IDoc-Schnittstelle. Damit können Sie z.B. eine große Anzahl von Partnern der Datenbank hinzufügenund brauchen nicht die Partnerdaten am System einzugeben.
FunktionsumfangDie Funktionsbausteine greifen auf die vier Tabellen der Partnervereinbarung zu: EDPP1(Allgemeine Partnervereinbarung), EDP12 (Nachrichtensteuerung), EDP13(Ausgangsparameter), und EDP21 (Eingangsparameter).
Die Namen der Funktionsbausteine beginnen mit EDI_AGREE. Ihr Ende kennzeichnet diejeweilige Datenbankoperation.
Funktionsbausteine für EDPP1 (allgemeine Partnervereinbarung)
Name Beschreibung
EDI_AGREE_PARTNER_INSERT Fügt neuen Partner ein. Prüft vorher:
� Partnernummer existiert im System (z.B. Stammsatz)?
� Partnerart zulässig?
� Partnerstatus zulässig (“A”,”I”, oder “T”)?
� Bearbeiterart zulässig?
� Erlaubte Bearbeiter existieren?
� Test- und Archivkennzeichen nicht initial?
Partnerart und Partnernummer können auch ungeprüftübernommen werden
EDI_AGREE_PARTNER_UPDATE
Ändert Partner. Prüfungen wieEDI_AGREE_PARTNER_INSERT.
EDI_AGREE_PARTNER_DELETELöscht Partner
EDI_AGREE_PARTNER_READ Liest Partnerdaten
Funktionsbausteine für EDP12 (Nachrichtensteuerung)
Name Beschreibung
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Die Programmierschnittstelle (API) der Partnervereinbarung
April 2001 89
EDI_AGREE_OUT_IDOC_INSERT
Fügt neuen Eintrag ein. Prüft vorher:
� Partner existiert in Tabelle EDPP1?
� Partnerrolle existiert in Tabelle TPAR?
� Applikation für Nachrichtenkonditionen undNachrichtenart existieren als Kombination?
� Änderungs- und Testkennzeichen nicht initial?
� Vorgangscode Ausgang existiert in Tabelle TEDE1?
� Logischer Nachrichtentyp existiert in Tabelle EDMSG?
EDI_AGREE_OUT_IDOC_UPDATE
Ändert eine Zeile. Prüfungen wieEDI_AGREE_OUT_IDOC_INSERT, Ausnahme: Es wird nichtgeprüft, ob der Partner in EDPP1 existiert.
EDI_AGREE_OUT_IDOC_DELETE
Löscht eine Zeile.
EDI_AGREE_OUT_IDOC_READ Liest eine Zeile.
Funktionsbausteine für EDP13 (Ausgangsparameter)
Name Beschreibung
EDI_AGREE_OUT_MESSTYPE_INSERT
Fügt neuen Eintrag ein. Prüft vorher:
� Partner existiert in Tabelle EDPP1?
� Partnerrolle existiert in Tabelle TPAR?
� Logischer Nachrichtentyp existiert in Tabelle EDMSG?
� Testkennzeichen und Syntaxprüfung nicht initial?
� Bearbeiterparameter gültig?
� Ausgabemodus gültig (Wert zwischen 1 und 4)?
� Port in Tabelle EDIPORT vorhanden?
� Paketgröße: (ALE-Szenario) Werden mehr als 0 IDocspro RFC versandt?
� Release existiert, zu dem die Segmentdefinitionengezogen werden sollen?
EDI_AGREE_OUT_MESSTYPE_UPDATE
Ändert eine Zeile. Prüfungen wieEDI_AGREE_OUT_MESSTYPE_INSERT, Ausnahme: Eswird nicht geprüft, ob der Partner in EDPP1 existiert.
EDI_AGREE_OUT_MESSTYPE_DELETE
Löscht eine Zeile.
EDI_AGREE_OUT_MESSTYPE_READ
Liest eine Zeile.
Funktionsbausteine für EDP21 (Eingangsparameter)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Die Programmierschnittstelle (API) der Partnervereinbarung
90 April 2001
Name Beschreibung
EDI_AGREE_IN_MESSTYPE_INSERT
Fügt neuen Eintrag ein. Prüft vorher:
� Partner existiert in Tabelle EDPP1?
� Partnerrolle existiert in Tabelle TPAR?
� Logischer Nachrichtentyp existiert der Tabelle EDMSG?
� Testkennzeichen und Syntaxprüfung nicht initial?
� Bearbeiterparameter gültig?
� Vorgangscode existiert in Tabelle TEDE2?
� Verarbeitungsmodus nicht initial?
EDI_AGREE_IN_MESSTYPE_UPDATE
Ändert eine Zeile. Prüfungen wieEDI_AGREE_IN_MESSTYPE_INSERT.
EDI_AGREE_IN_MESSTYPE_DELETE
Löscht eine Zeile.
EDI_AGREE_IN_MESSTYPE_READ
Liest eine Zeile.
Die folgenden Funktionsbausteine greifen auf mehrere Tabellen der Partnervereinbarungen zu:
Weitere Funktionsbausteine
Name Beschreibung
EDI_PARTNER_READ_COMPLETE Liest alle Partnervereinbarungen (EDPP1, EDP12, EDP13,EDP21) für einen speziellen Partner.
EDI_PARTNER_DELETE_COMPLETE
Löscht alle Partnervereinbarungen für einen speziellenPartner.
EDI_PARTNER_COPY_COMPLETEKopiert alle Partnervereinbarungen eines speziellenPartners.
EDI_PARTNER_APPL_READ_OUT Liest EDP13 für einen speziellen Partner. Der Partner mußden Partnerstatus “aktiv” haben.
EDI_PARTNER_READ_OUTGOING Liest EDP12 und EDP13 für einen speziellen Partner. DerPartner muß den Partnerstatus “aktiv” haben.
EDI_PARTNER_READ_INCOMING Liest EDP21 für einen speziellen Partner. Der Partner mußden Partnerstatus “aktiv” haben.
EDI_PARTNER_READ_USER_OUTGOING
Liest erlaubte Bearbeiter aus EDP13 bzw. EDPP1.
EDI_PARTNER_READ_USER_INCOMING
Liest erlaubte Bearbeiter aus EDP21 bzw. EDPP1.
EDI_PARTNER_TEST_OUTGOING Testet, ob ein Partner für die Ausgangsverarbeitungvorhanden ist.
EDI_PARTNER_TEST_INCOMING Testet, ob ein Partner für die Eingangsverarbeitungvorhanden ist
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 SAP AG
Partnervereinbarungen verschicken
92 April 2001
Partnervereinbarungen verschickenVerwendungSie können Partnervereinbarungen über den IDoc-Typ SYPART01 an ein externes Systemversenden. Diesem IDoc-Typ entsprechen im Standard EDIFACT die Nachrichten PARTIN undIMPDEF.
VoraussetzungenDa Sie in diesem Fall auch wieder die IDoc-Schnittstelle nutzen, müssen sieAusgangspartnervereinbarungen [Seite 78] für den IDoc-Typ SYPART01 pflegen. Die logischeNachricht hierfür heißt SYPART. Ein Mappingvorschlag für den Standard befindet sich in derDokumentation [Seite 152] zu diesem IDoc-Typ.
Vorgehensweise1. Gehen Sie in die Partnervereinbarungen (Einstiegsknoten der IDoc-Schnittstelle [Extern] �
IDoc � Partnervereinbarungen).
2. Wählen Sie einen Partner aus, dessen Daten Sie transportieren möchten.
3. Wählen Sie .
4. Geben Sie Art und Nummer des Partners an, an den Sie die Partnervereinbarungenverschicken wollen.
ErgebnisDas System verschickt ein IDoc des Typs SYPART01 an den von Ihnen ausgewählten Partner.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Partnervereinbarungen drucken
April 2001 93
Partnervereinbarungen drucken1. Wählen Sie in den Partnervereinbarungen einen Partner aus.
2. Wählen Sie und im Folgebild .
Sie können auch mehrere Partner auswählen, indem Sie die Selektionsbedingungenentsprechend erweitern (im Folgebild auswählen).
3. Sie können im angezeigten Baum nach Bedarf einzelne Knoten auf- oder wieder zuklappen.Außerdem können Sie durch Markieren einen Ausschnitt setzen, der dann alleinangezeigt wird.
4. Wenn Sie mit der Baumausgabe zufrieden sind, wählen Sie System � Liste � drucken.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Test der Verarbeitung
94 April 2001
Test der VerarbeitungVerwendungMit den Testprogrammen können Sie bestimmte Teilabschnitte in der Verarbeitungskette von derAnwendung zur Anwendung umgehen und damit Fehler lokalisieren. Mit ihnen kann aber auchein gesamter Geschäftsprozeß (z.B. Bestellung auf Kundenseite mit Buchen der Bestellung aufLieferantenseite) in einem R/3-System (ohne weitere Systeme) simuliert werden. Deshalb sindsie ein wichtiges Hilfsmittel beim Einrichten der IDoc-Schnittstelle wie auch beim Definierenneuer IDoc-Typen.
FunktionsumfangDie Abbildung unten zeigt, welche Testprogramme bei welchen Verarbeitungsschritteneingreifen: Beispielsweise wird beim “Test ab NAST” aus einem vorhandenenNachrichtenstatussatz (der über den Objektschlüssel auf die Anwendungsdaten zeigt) ein IDocfür den Ausgang der IDoc-Schnittstelle erzeugt.
Funktion Voraussetzung Ergebnis
Testwerkzeug [Seite 96] keine Je nach gewählter Richtungwerden ein oder mehrereEingangs- bzw. Ausgangs-IDocs erzeugt und an dieentsprechende Verarbeitungübergeben.
Ausgang ab NAST [Seite 100] Nachrichtenstatussatz derNachrichtensteuerung (NAST)liegt vor, zeigt auf dasAnwendungsobjekt (z.B.Bestellung)
Ausgangs-IDoc wird erzeugt.Je nach Partnervereinbarungwird es ans externe Systemweitergereicht
Ausgang ab IDoc [Seite 101] Ausgangs-IDoc liegt im Status30 vor
IDoc wird ans externe Systemweitergereicht
Eingang Statusdatei [Seite102]
Die Status müssen sich aufein vorhandenes Ausgangs-IDoc beziehen.
Die Status werden dembetreffenden Ausgangs-IDocals Statussätze angehängt. Jenach Status wird eineAusnahmebehandlungangestoßen.
Eingang mod. Ausg.Datei[Seite 104]
Datei mit einem odermehreren Ausgangs-IDocsliegt im Betriebssystem vor(Porttyp “Datei”)
IDoc wird erzeugt und an dieEingangsverarbeitung (bishinauf zur Anwendung)übergeben
Eingang orig. Eing.Datei[Seite 105]
Datei mit einem odermehreren Eingangs-IDocsliegt im Betriebssystem vor(Porttyp “Datei”)
IDoc wird erzeugt und an dieEingangsverarbeitung (bishinauf zur Anwendung)übergeben
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Test der Verarbeitung
April 2001 95
Aktivitäten� Die Testwerkzeuge erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] im
Knoten Test.
� IDocs, die mit den Testwerkzeugen erzeugt wurden, werden durch einen besonderen Statusgekennzeichnet: Im Eingang ist es der Status 74, im Ausgang der Status 42.
Abbildung: Eingriff der Testwerkzeuge in den Verabeitungsfluß
Anwendung
IDoc-Schnittstelle
NAST
Datei (Ausgang) Datei (Eingang) Datei (Status)
NAST-Satz
IDoc
BetriebssystemID
oc
Test ab IDoc
Eing.mod.Ausg.-Datei
Testwerkzeug
Test ab NAST
IDoc
Testwerkzeug
IDoc
Eing.orig.Eing.-Datei
Stat
ussa
tz
EingangStatusdatei
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Testwerkzeug
96 April 2001
TestwerkzeugVerwendungÜber das Testwerkzeug erzeugen Sie “von Hand” ein IDoc und führen es entweder derEingangs- oder Ausgangsverarbeitung zu. Sie sind von Porttypen unabhängig. Sie können miteinem IDoc-Typ (einem “leeren IDoc”) oder einem alten IDoc als Vorlage beginnen und diesesdann editieren, also etwa Segmente einfügen oder Daten ändern. Dadurch können Sieinsbesondere neue IDoc-Typen gut testen.
Im Eingang können Sie Ihr neues IDoc an die Standard-Eingangsverarbeitung übergeben (mitPrüfen der Partnervereinbarungen etc.). Sie können aber auch direkt einen Funktionsbausteinaufrufen. Dadurch können Sie etwa neue Funktionsbausteine zu neuen IDoc-Typen testen.
Aktivitäten� Sie starten das Testwerkzeug aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über
Test � Testwerkzeug. Sie können eine Vorlage für Ihr Test-IDoc verwenden.
IDoc-Typen als Vorlage können Sie entweder direkt oder nach einem Nachrichtentypauswählen. Bei IDocs als Vorlage können Sie die F4-Hilfe verwenden, die IDocs nachSelektionskriterien aussucht, analog z.B. zur IDoc-Anzeige [Seite 120]. Bei einer IDoc-Datei als Vorlage werden die IDocs aus dieser Datei gelesen und Ihnen zur Auswahlangeboten. Einen Vorschlagswert zur IDoc-Datei gibt Ihnen das System über IhrenTestport, den Sie in der IDoc-Administration [Seite 253] eintragen können. DieserTestport muß dann natürlich vom Typ „Datei“ sein. Die vorgeschlagene Datei ist die dorteingetragene Eingangsdatei.
� Sie erzeugen das IDoc über .
Das IDoc wird als Baum angezeigt. Im Fall, daß ein IDoc-Typ ohne Vorlage angelegtwird, muß mindestens noch ein Segment angefügt werden.
� Um Segmente [Extern] als Knoten im Baum anzulegen (farbige Felder), positionieren Sie aufeinen bereits vorhandenen Knoten (z.B. den Kontrollsatz ganz am Anfang) und wählen .
Einzelsegmente oder ganze Segmentgruppen können ausgeschnitten, eingefügt oderkopiert werden; dazu positionieren Sie auf das relevante Segment und wählen dieentsprechende Aktion aus dem Menü Bearbeiten aus.
� Sie klicken die weißen Felder an, um Daten in den Segmenten zu ändern.
Beim Kontrollsatz werden nur die für die Standard-Eingangsverarbeitung maßgeblichenDatenfelder angezeigt. Beachten Sie hier die Mußeingaben der Partnervereinbarungen,falls Sie das IDoc in den Standardeingang schicken wollen! Sie können auch alle Datendes Kontrollsatzes ändern: Wählen Sie dazu Alle Felder im Editierbild.
Im Editierbild alle Felder geben Sie die sprachenunabhängige Partnerrolle ein (z.B.AG für Auftraggeber). Dieses Bild ist das einzige in der IDoc-Schnittstelle, in dem diePartnerrolle nicht in Ihre Sprache übersetzt wird (im Englischen wird aus AG derVendor VD) - in den Partnervereinbarungen oder in der IDoc-Anzeige wird das Feldimmer übersetzt. Damit sehen Sie hier die Partnerrolle so, wie sie auf der Datenbank
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Testwerkzeug
April 2001 97
gespeichert wird. Das ist ein eindeutiger Wert im R/3-System und damit vorVerwechslungen sicher.
� Das weitere Vorgehen richtet sich danach, ob Sie den Ein- oder den Ausgang testen wollen.
Testwerkzeug Ausgang: Vorgehen [Seite 98]
Testwerkzeug Eingang: Vorgehen [Seite 99]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Testwerkzeug Ausgang: Vorgehen
98 April 2001
Testwerkzeug Ausgang: Vorgehen1. Nachdem Sie Ihr IDoc fertiggestellt haben, wählen Sie Standardausgang. Wenn Sie
einen gültigen Port angegeben haben, wird Ihnen dieser zur Überprüfung mit Porttypangezeigt.
2. Entscheiden Sie, ob Sie die Ausgangsverarbeitung sofort starten wollen: Damit werdendie IDocs an den Port übergeben (Status 03), egal was in den Partnervereinbarungensteht. Wenn Sie das Kennzeichen nicht setzen, verbleiben die IDocs im Status 30 aufder Datenbank, wiederum unabhängig von den Einstellungen in denPartnervereinbarungen. Außerdem haben Sie die Möglichkeit, mehrere Kopien IhresIDocs zu verschicken (Wh.-faktor).
Wenn Sie die IDocs, die Sie im Status 30 mit dem Testwerkzeug auf die Datenbankgestellt haben, weiter an den Port übergeben wollen, dann verwenden Sie den Test:Ausgang ab IDoc [Seite 101]. Das hat den Vorteil, daß dann die Einstellungen in denPartnervereinbarungen ziehen. Insbesondere wird dann auch ein Folgesystem beiVerwendung des Dateiports getriggert, wenn das in den Partnervereinbarungen sovorgesehen ist.
3. Wählen Sie , um die Ausgangsverarbeitung zu starten.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Testwerkzeug Eingang: Vorgehen
April 2001 99
Testwerkzeug Eingang: Vorgehen1. Nachdem Sie Ihr IDoc fertiggestellt haben, wählen Sie eine der folgenden
Verarbeitungsmöglichkeiten aus:
� Standardeingang:
Das IDoc wird wie eines behandelt, das von einem externen System gesendetwurde. Es wird also zunächst auf der Datenbank gespeichert, dann werden dieentsprechenden Kontrollsätze mit den Eingangspartnervereinbarungen verglichenund schließlich der durch den Vorgangscode bestimmte Geschäftsprozeßangestoßen (siehe Eingangsverarbeitung [Seite 19]).
� Eingang Funktionsbaustein (Eingang über ALE):
Auch hier wird das IDoc zunächst auf der Datenbank gespeichert und dann direkt anden angegebenen Funktionsbaustein übergeben. Dieser kann im Debugging-Modusabgearbeitet werden. Ruft der Funktionsbaustein eine Transaktion auf, kann dieseim Hintergrund, im Vordergrund oder im Vordergrund ab Fehler geschehen. Dazumuß allerdings das ABAP-Kommando CALL TRANSAKTION den ImportparameterINPUT_METHOD in Verbindung mit MODE verwenden. Sonst wird die Transaktionimmer im Hintergrund abgearbeitet.
Direkt aufgerufene Funktionsbausteine müssen die ab Release 3.0 definierte ALE-Schnittstelle [Extern] besitzen.
� Eingang Datei:
Erzeugen oder Erweitern einer sequentiellen Eingangsdatei: Hier wird das IDoczunächst mit Status 68 (“Fehler, keine weitere Bearbeitung”) auf der Datenbank undanschließend in einer Datei gespeichert. Den Namen geben Sie explizit imEingabefenster an. Das System schlägt Ihnen einen Namen vor, den es aus demTestport der IDoc-Administration [Seite 253] ableitet. Wenn Sie IDoc-Eingangsverarbeitung sofort starten markieren, wird die Datei sofort weiterverarbeitetund anschließend gelöscht, falls die Verarbeitung erfolgreich war. Dieser Modusentspricht exakt dem Standard-IDoc-Eingang. Wird nicht sofort weiterverarbeitet,bleibt die Datei erhalten und kann zu weiteren Testzwecken verwendet werden.
Sie können das Test-IDoc mehrfach in die Datei schreiben und damit auch mehrfachder Eingangsverarbeitung zuführen (Wh.-Faktor).
2. Wählen Sie , um aus dem entsprechenden Bild heraus die Eingangsverarbeitung zustarten.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Test: Ausgang ab NAST
100 April 2001
Test: Ausgang ab NASTVerwendungDieses Testprogramm setzen Sie ein, wenn Sie die Nachrichtensteuerung (NAST) verwendenund die Erzeugung eines Ausgangs-IDocs aus einem vorhandenen Nachrichtenstatussatz(Tabelle NAST) testen wollen.
VoraussetzungenDie Anwendungsbelege, die über die NAST in IDocs umgesetzt werden sollen, müssen fehlerfreigebucht werden können, damit ein Nachrichtenstatussatz erzeugt werden kann. Bei denKomponenten Materialwirtschaft (MM) und Vertrieb (SD) sind dazu erforderlich:
� Kunden- bzw. Lieferantensätze
� Materialsätze
� Infosätze
� NAST-Konditionssätze: Hier muß das Ausgabemedium 6 (für EDI) sein. DieKonditionssätze pflegen Sie als “Nachrichten” aus der jeweiligen Anwendung heraus.
In der IDoc-Schnittstelle müssen entsprechende Dateiports und Partnervereinbarungenvorhanden sein.
Damit das Testprogramm eingreifen kann, muß die Ausgangsverarbeitung nach Erzeugen desNachrichtenstatussatzes gestoppt werden. Das erreichen Sie, indem Sie in der Anwendung imentsprechenden Konditionssatz den Versandzeitpunkt der NAST auf 1 setzen (Ausgabe mitSelektionslauf). Mit diesem Testprogramm starten Sie also nichts anderes als einenSelektionslauf, der ihre NAST-Sätze abholt und der weiteren Ausgangsverarbeitung zuführt. DasProgramm ist der Report RSNAST00, der auch generell beim Versandzeitpunkt 1 imProduktivbetrieb eingeplant wird.
AktivitätenNach Buchen des Anwendungsbelegs stoppt die Ausgangsverarbeitung nach Erzeugen desNachrichtenstatussatzes und wird durch das Testprogramm wieder angestoßen. Dazu wählenSie Test � Test Ausgang ab NAST aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern].
Fehler werden im Verarbeitungsprotokoll der Nachrichtensteuerung (Belegkopf) und in denStatussätzen der IDocs gespeichert. Die Statussätze sind allerdings nur vorhanden, wenn dasIDoc erzeugt werden konnte.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Test: Ausgang ab IDoc
April 2001 101
Test: Ausgang ab IDocVerwendungDieses Testprogramm selektiert ein oder mehrere Ausgangs-IDocs und reicht sie an das externeSystem weiter. Sie können die IDocs nach verschiedenen Kriterien (z.B. Empfänger oderbetriebswirtschaftlicher Nachricht) auswählen.
VoraussetzungenSie benötigen fehlerfrei erzeugte Ausgangs-IDocs (keine Status „fehlerhaft“). Dazu müsseninsbesondere die Partnervereinbarungen vollständig gepflegt worden sein.
Damit das Testprogramm eingreifen kann, muß die Ausgangsverarbeitung nach Erzeugen desAusgangs-IDocs gestoppt werden. Das erreichen Sie, indem Sie in der Partnervereinbarungder IDoc-Schnittstelle den Ausgabemodus auf “IDocs sammeln” setzen. Wenn Sie jetzt einAusgangs-IDoc für Ihren betreffenden Partner erzeugen (z.B. über die Anwendung oder dasTestwerkzeug), wird es nur im R/3-System erzeugt, nicht aber ans externe Systemweitergereicht. Mit diesem Testprogramm starten Sie also nichts anderes als einenSelektionslauf, der Ihr IDoc oder Ihre IDocs abholt und dem externen System zuführt. DasProgramm ist der Report RSEOUT00, der auch generell beim Ausgabemodus “IDocs sammeln”im Produktivbetrieb eingeplant wird.
AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Ausgang ab IDoc.
Sie können in der Partnervereinbarung den Ausgabemodus zusätzlich noch auf“Subsystem starten” oder “nicht starten” setzen. Damit bestimmen Sie, ob dasexterne (Sub-) System die überreichten IDocs weiterverarbeitet oder nicht.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Test: Eingang Statusdatei
102 April 2001
Test: Eingang StatusdateiVerwendungMit diesem Programm testen Sie, ob Statusrückmeldungen auf ein Ausgangs-IDoc vom externenSystem zum R/3-System richtig übergeben werden. Der Porttyp muß hier “Datei” sein.
VoraussetzungenSie benötigen eine formal richtige Statusdatei, die z.B. von einem EDI-Subsystem erzeugtwerden kann. Die Statusdatei muß sich auf ein vorhandenes Ausgangs-IDoc des R/3-Systemsbeziehen. Eine solche Statusdatei können Sie auch selbst erzeugen [Seite 103].
Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.
FunktionsumfangDas R/3-System liest die Statusdatei. Die dort angegebene IDoc-Nummer zeigt auf dasAusgangs-IDoc, auf das sich die Statusrückmeldung bezieht. Die rückgemeldeten Status werdendem betreffenden IDoc als Statussätze im R/3-System “gutgeschrieben”.
AktivitätenSie starten das Testprogramm über Test � Statusdatei verarbeiten und übergeben ihmEingangsport und Namen und Verzeichnis der Datei. Diese Angaben überschreiben dieDefaultangaben, die Sie in der IDoc-Administration [Seite 253] über den Testport hinterlegthaben.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statusdatei erzeugen
April 2001 103
Statusdatei erzeugenVerwendungSie können zu Testzwecken eine formal richtige Statusdatei im Betriebssystem erzeugen unddiese dann der Statusverarbeitung zuführen. Damit können Sie bei Fehlern z.B. testen, ob es amexternen System liegt (wenn es nämlich formal falsche Statusdateien produziert) oder am R/3-System.
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test � Statusdatei
erzeugen.
2. Geben Sie die Nummer eines Ausgangs-IDocs an, auf das sich die Statusrückmeldungbeziehen soll. Mit der F4-Hilfe können Sie IDocs nach bestimmten Selektionskriteriensuchen, analog z.B. zur IDoc-Anzeige [Seite 120].
Sie erhalten eine Auswahl von Statussätzen, die Sie übernehmen oder abändernkönnen.
3. Wenn Sie einen Statussatz hinzufügen wollen, so wählen Sie und füllen die einzelnenFelder. Über bzw. können Sie Statussätze kopieren und bei Bedarf noch editieren.
4. Für jeden einzelnen Statussatz können Sie die Nummer des Ausgangs-IDocs ändern, aufdas er sich beziehen soll. Damit wird er dem entsprechenden IDoc angehängt.
5. Wenn Sie alle Felder eines Statussatzes ändern wollen, dann markieren Sie den Satz imTable Control. Anschließend wählen Sie . Auch hier steht Ihnen die F4-Wertehilfe zurIDoc-Nummer oder zu den erlaubten Status zur Verfügung. Beachten Sie die F1-Hilfe zu deneinzelnen Feldern!
Um in den Statussätzen, die in der Statusverarbeitung auf die Datenbank geschriebenwerden, den „Urheber“ des Statussatzes zu identifizieren, trägt das System IhrenBenutzernamen und die Formroutine USER_ADDED im Programm MSEIDOC1 in diedafür vorgesehenen Felder des Statussatzes ein. Diese Informationen können Sie nichtändern. Auf der Datenbank können Sie sie beispielsweise über die IDoc-Anzeige [Seite120] wiederfinden (Registerkarte Protokollierung).
6. Wenn Sie die Daten nach Wunsch editiert haben, wählen Sie . Im Folgebild haben Sienoch die Möglichkeit, das Kennzeichen Statusverarbeitung sofort starten zu löschen unddamit nur die Statusdatei zu erzeugen. Damit können Sie sich die Datei im Betriebssystemansehen, die ansonsten im Verlauf der Statusverarbeitung gelöscht werden würde.
Um eine Statusdatei nachträglich zu verarbeiten, verfahren Sie wie in Test: EingangStatusdatei [Seite 102] beschrieben.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Test: Eingang modifizierte Ausgangsdatei
104 April 2001
Test: Eingang modifizierte AusgangsdateiVerwendungDieses Programm wandelt eine Ausgangsdatei mit IDocs in eine formal richtige Eingangsdateium und führt sie der Eingangsverarbeitung zu. Die Ausgangsdatei wird dabei nicht verändert, siekann also mehrfach verwendet werden. Der Porttyp muß hier “Datei” sein.
VoraussetzungenSie benötigen eine formal richtige Ausgangsdatei, wie sie etwa vom Testwerkzeug oder über dienormale Ausgangsverarbeitung erzeugt werden kann. In der Partnervereinbarung der IDoc-Schnittstelle muß ein Port vom Typ “Datei” angegeben werden, damit das oder die IDocs in eineDatei geschrieben werden.
Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.
FunktionsumfangDas Programm übernimmt vom Anwender Absender- und Empfängerdaten alsEingabeparameter. Es liest die IDoc-Datei und ändert die entsprechenden Einträge im IDoc-Kontrollsatz ab. Diese geänderten Daten schreibt es in eine zweite IDoc-Datei aufBetriebssystemebene.
Dann stößt es die normale Eingangsverarbeitung an, also
� Lesen der modifizierten Datei
� Erzeugung des oder der IDocs im R/3-System
� Verarbeitung in der Anwendung
AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Eing.mod.Ausg.-Datei.
Sie geben Empfänger- und Absenderdaten sowie Ausgangs- und zu erzeugende Eingangsdatei(Verzeichnis + Name) an. Ihre Angaben zur Eingangsdatei überschreiben die Defaultangaben,die Sie in der IDoc-Administration [Seite 253] hinterlegt haben.
Empfänger ist hier Ihr R/3-System. Identifiziert wird es durch den Port
� SAP<SYSID> (z.B. SAPC11)
Defaultwerte für den Partner sind
� Partnerart US
� keine Partnerrolle
� Partnernummer <Ihr SAP-Benutzername> (z.B. RSCHMIDT)
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Test: Eingang Original-Eingangsdatei
April 2001 105
Test: Eingang Original-EingangsdateiVerwendungDieses Programm liest eine Eingangsdatei und führt sie der Eingangsverarbeitung zu. Nacherfolgreichem Lesen aller Daten wird die Datei gelöscht.
VoraussetzungenSie benötigen eine formal richtige Eingangsdatei. Formal richtig bedeutet für die IDocs dieserDatei:
� Absender und Empfänger im Kontrollsatz sind korrekt
� die Richtung im Kontrollsatz ist 2 (Eingang)
� der Mandant im Kontrollsatz und in den Datensätzen ist korrekt oder initial
Der Port des Absenders muß dem empfangenden System bekannt sein. Dazu muß er in derPortbeschreibung der IDoc-Schnittstelle als Port vom Typ “Datei” gepflegt worden sein. Dortmuß ein Eintrag für die Eingangsdatei vorliegen.
FunktionsumfangDas Programm liest das oder die IDocs aus der Eingangsdatei und führt sie dann der normalenEingangsverarbeitung (mit Verarbeitung innerhalb der Anwendung) zu.
Konnte die Datei erfolgreich gelesen werden, wird sie gelöscht!
AktivitätenSie starten das Testprogramm aus dem Einstiegsknoten der IDoc-Schnittstelle über Test �Eing.orig.Eing.-Datei und übergeben Ihm folgende Daten:
� Eingangsport
� Name und Verzeichnis der Datei
Diese Angaben überschreiben die Defaultangaben, die Sie über den Testport in der IDoc-Administration [Seite 253] hinterlegt haben.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Test: Verarbeitungszyklus mit dem CATT
106 April 2001
Test: Verarbeitungszyklus mit dem CATTVerwendungUm sicherzustellen, daß die IDoc-Verarbeitung funktioniert, können Sie einen Testzyklus fahren.Dabei werden automatisch Testdaten erzeugt, als IDoc verschickt und aus dem IDoc wieder imEingang verarbeitet. Damit stellen Sie zwar nicht sicher, daß Ihr spezieller IDoc-Typ mit Ihrenspeziellen Daten fehlerfrei verarbeitet wird. Sie verifizieren aber, daß die Verarbeitung im Prinzipfunktioniert.
Der Test wird mit dem Computer Aided Test Tool [Extern] (CATT) als Testkatalog realisiert.
VoraussetzungenUm das Ergebnis der Testfälle im Rahmen eines Testplans festzuhalten, müssen Sie zunächsteinen solchen erzeugen. Dem Testplan ordnen Sie ein oder mehrere Testpakete zu. DiesenTestpaketen werden wiederum einzelne Personen zugeordnet, die die darin enthaltenenTestfälle abarbeiten. Weitere Informationen finden Sie unter
Die Test Workbench im R/3-System [Extern]
FunktionsumfangDer CATT-Testkatalog besteht aus den folgenden Testfällen:
� Einrichten eines Ports, einer Eingangs- und einer Ausgangspartnervereinbarung
� Erzeugen eines IDocs vom Typ SYIDOC01 Im IDoc wird die Definition des IDoc-TypsTXTRAW01 übertragen.
� Ausgabe des IDocs in eine Ausgangsdatei.
� Umwandeln der Ausgangs- in eine Eingangsdatei und Übergabe an dieEingangsverarbeitung. Die Verarbeitung des Eingangs-IDocs wird über den VorgangscodeTXT1 identifiziert: Das System schickt an Sie eine Mail, die den Text aus dem SYIDOC01-IDoc enthält.
� Löschen der Testdaten, einschließlich der beiden Test-IDocs
Der CATT-Testkatalog wird auch als (komplexer) Testfall bezeichnet.
Aktivitäten� Sie starten den Test aus der IDoc-Administration: Wählen Sie im Einstiegsknoten der IDoc-
Schnittstelle [Extern] Steuerung � IDoc-Administration � Verifikation Verarbeitung. Sieerhalten die einzelnen Testfälle, die sie einzeln oder zusammen ausführen können.
� Zur Einzelausführung eines Testfalls klappen Sie den enthaltenden Knoten auf, positionierenauf dem Testfall und wählen . Sie können den Testfall auch auf einem anderen Systemausführen, das durch eine logische Destination identifiziert wird.
� Das Ausführen eines Testfalls erzeugt einen CATT-Vorgang, der protokolliert wird. DasTestprotokoll wird unmittelbar nach Ausführen des Testfalls angezeigt. Der Vorgang erhälteine eindeutige Nummer und wird gelöscht, sobald sein Verfallsdatum erreicht ist. DasVerfallsdatum sehen Sie, wenn Sie Bearbeiten � Vorgangsattribute wählen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Test: Verarbeitungszyklus mit dem CATT
April 2001 107
� Sie können sich die Attribute eines Testfalls anzeigen lassen: Wählen Sie dazu . Innerhalbder Attribute können Sie sich über die Programme anzeigen lassen, die den Testbausteinausführen.
� Nach dem Test der Eingangsverarbeitung sollte eine SAPoffice-Mail in Ihrem integriertenEingangskorb erscheinen. Den erreichen Sie z.B. vom R/3-Einstiegsbild über Büro �Eingang. Der Test wird dann als erfolgreich eingestuft, wenn das IDoc den Status 64 (IDocübergabebereit an Anwendung) hat.
Eigentlich ist die Eingangsverarbeitung erst dann erfolgreich abgeschlossen, wenndas IDoc den Status 53 (in der Anwendung erfolgreich verarbeitet) erhält. Da dieserTeil der Verarbeitung aber asynchron angestoßen wird, kann der CATT-Vorgangnicht auf diesen Status warten.
Den gesamten Testkatalog führen Sie aus, indem Sie auf Test der IDoc-Schnittstellepositionieren und Testfall wählen.
Weitere Informationen finden Sie unter
Automatische Testfälle ausführen [Extern]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Überwachung/Monitoring
108 April 2001
Überwachung/MonitoringVerwendungSie können Eingang wie Ausgang von IDocs mit speziellen Reports und graphischer Anzeigekomfortabel und effektiv überwachen. Per Workflow kann sogar automatisch ein zuständigerSachbearbeiter im “Krisenfall” benachrichtigt werden (aktives Monitoring).
FunktionsumfangZum passiven Monitoring gehören die folgenden Werkzeuge:
� IDoc-Statistik [Seite 109]
Dort werden die IDocs nach vordefinierten Statusgruppen sortiert und graphischdargestellt. Per Mausklick gelangen Sie in Listen wie auch in die Einzelanzeige vonIDocs.
� IDoc-Listen [Seite 114]
Dort können Sie die IDocs nach Partnern und Nachrichtentypen auwählen. PerMausklick gelangen Sie in die Einzelanzeige von IDocs. Fehlerhafte IDocs werdenfarblich hervorgehoben
� IDoc-Anzeige [Seite 120]
Dort werden die Auswahlkriterien auf die technischen Felder des Kontrollsatzeserweitert, also neben Partnern und Nachrichten auch
- IDoc-Nummern
- Ports
- IDoc-Typen
Über eine IDoc-Nummer gelangen Sie direkt zur Baumanzeige des IDocs. Werdenmehrere IDocs ausgewählt, gelangen Sie wieder zur IDoc-Liste. Dieser Report bietetSelektionskriterien, die speziell zum Testen von EDI-Subsystemen geeignet sind (z.B.Auswahl nach Übertragungsdatei).
� IDoc-Suche [Seite 137]
Sie können IDocs nach ihrem betriebswirtschaftlichen Inhalt selektieren, also nach denDaten, die in den Segmenten enthalten sind.
Der letzte Abschnitt erläutert
Aktives Monitoring [Seite 124]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Statistik
April 2001 109
IDoc-StatistikVerwendungDie IDocs werden für die Statistik nach ihrem Verarbeitungsstatus gruppiert. Dabei gelten dieunten tabellierten Statusgruppen. Ausgewählt werden immer nur die IDocs, die innerhalb desfestgesetzten Zeitintervalls eine Statusänderung erfahren haben.
Die Statusgruppen der Statistik
Ausgang Eingang
erzeugt erzeugt
versandfertig übergeben an Anwendung
in Übertragung (übergeben an externes (Folge-) System) übergeben an Dialog
Übertragung erfolgreich (im Zielsystem)
im Zielsystem abgeschlossen in Anwendung abgeschlossen
fehlerhaft in IDoc-Schnittstelle fehlerhaft in IDoc-Schnittstelle
fehlerhaft im externen System fehlerhaft in Anwendung
mit Löschkennzeichen mit Löschkennzeichen
Durch Doppelklick auf einzelne Leisten gehen Sie zunehmend ins Detail: Beim Doppelklick z.B.auf eine Statusgruppe erhalten Sie die IDocs nach einzelnen Status sortiert, beim Doppelklickauf einen Status erhält man die Liste der zugehörigen IDocs, und beim Doppelklick auf eineinzelnes IDoc bekommen Sie schließlich dessen Baumanzeige.
Sie können die Zuordnung der einzelnen Status zu den Statusgruppen ändern [Seite 112].
FunktionsumfangFolgende Auswahlkriterien stehen der Statistik zur Verfügung:
� Standardauswertung
Sie enthält nur das Zeitintervall der Statusänderungen.
� Erweiterte Selektion
Sie enthält zusätzliche Einschränkungen, etwa Nachrichtentyp, Partner und deren Ports.Im Selektionsbild können Sie nach diesen Kriterien auch gruppieren (Auswahlknopf), d.h.die Statistik wird dann für die einzelnen Gruppen separat erstellt.
� Auswertung Historie
Hier wird die Statistik darüber erstellt, was mit fehlerhaften IDocs vom Sachbearbeiterunternommen wurde: Von den IDocs, deren aktueller Status im fraglichen Zeitintervallgeändert wurde, werden die ausgewählt, die irgendwann einmal einen zu denStatusgruppen “fehlerhaft” (siehe obige Tabelle) gehörigen Status erhielten. Dabei kannman auch erweiterte Selektionskriterien benutzen. Unterteilt wird nun danach, ob der
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Statistik
110 April 2001
Fehler behoben wurde oder nicht, oder ob die IDocs zum Löschen vorgemerkt sind(“Löschkennzeichen”).
� ALE-Audit
Hier wird der IDoc-Datenfluß zwischen zwei R/3-Systemen im ALE-Szenario dargestellt.Daher geht die Statistik über den Ausgang des eigenen Systems und den Eingangdes Zielsystems; Selektionskriterien sind logisches Empfangssystem undNachrichtentyp. Gruppiert wird hier zunächst nach einzelnen Tagen! Erst nachDoppelklick auf eine “Tagesleiste” werden die IDocs nach ihrem letzten Status, nichtnach ihren Statusgruppen, zusammengefaßt.
Beachten Sie, daß auch Status im R/3-Zielsystem (Synonyme: “Queue Eingang”oder “Empfangssystem”) ausgegeben werden! Ein Status 64 (“IDoc istübergabebereit an die Anwendung”) bezieht sich also auf die Anwendung desZielsystems.
� Selektion der Test-IDocs
Mit dem Enjoy Release erhalten IDocs, die von den Testwerkzeugen aus erzeugtworden sind, einen speziellen Status [Seite 94]. Nur diese IDocs werdenberücksichtigt..
Statistik: Technische Realisierung [Seite 113]
AktivitätenSie starten die Statistik aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc �Statistik. Von dort verzweigen Sie in die einzelnen Auswertungen, zum Beispiel in
Statistik erstellen: Standardauswertung [Seite 111]
Statusgruppen ändern [Seite 112]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statistik erstellen: Standardauswertung
April 2001 111
Statistik erstellen: Standardauswertung1. Geben Sie Im Einstiegsbild der Statistik das gewünschte Datum und die gewünschte Uhrzeit
ein (bzw. ein Datums- und Zeitintervall).
2. Wählen Sie .
3. Sie erhalten die gewünschten Zahlen, die Sie dann über Grafik gesamt imBlockdiagramm veranschaulichen können. Um das Grafikfenster zu verlassen, wählen Sie
.
4. Um die IDocs in den einzelnen Statusgruppen als Liste ausgeben zu lassen, doppelklickenSie auf die entsprechenden Zahlenfelder.
5. Aus der angezeigten Liste heraus können Sie sich ein einzelnes IDoc wieder mit Doppelklickherausgreifen und als Baum (Kontroll-, Statussatz und Segmente) anzeigen lassen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Statusgruppen ändern
112 April 2001
Statusgruppen ändern1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung � Statuspflege.
Sie erhalten eine Liste der definierten Status.
2. Markieren Sie den Status, den Sie einer anderen Statusgruppe zuordnen wollen, und wählenSie Tabellensicht � anzeigen/ändern. Durch Doppelklick gelangen Sie auf das Detailbild.
3. Die Statusgruppe findet sich im Feld “Qualifizierung”. Benutzen Sie die F4-Hilfe zurErläuterung der Zahlen.
4. Wählen Sie Sichern.
Dem Status 25 “Weiterverarbeitung trotz Syntaxfehler (Ausgang)” ist dieStatusgruppe 1 = “Ausgang: IDoc erzeugt” zugeordnet. Sie überschreiben die 1 miteiner 5 für “Ausgang: Fehler in der IDoc-Schnittstelle”.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Statistik: Technische Realisierung
April 2001 113
Statistik: Technische RealisierungDie IDocs werden nach ihren Statuswerten gelesen. Da für alle Statistikprogramme nur derletzte, aktuelle Status interessant ist (Ausnahmen: Auswertung Historie, Auswertung der Test-IDocs) , greifen sie (aus Performancegründen) nur auf die Tabelle der Kontrollsätze (EDIDC) zu -der Kontrollsatz enthält ja immer den aktuellen Status eines IDocs. Die beiden oben erwähntenAusnahmen müssen alle Status lesen und greifen daher auf die Tabelle der Statussätze (EDIDS)zu. Daher benötigen sie mehr Zeit als die anderen Statistikprogramme.
Die Zuordnung zu den einzelnen Statusgruppen geschieht in der Tabelle TEDS3.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Listen
114 April 2001
IDoc-ListenVerwendungDieser Report liefert Listen, auf Wunsch in graphischer Aufbereitung. Selektiert wird nach
� der Zeit (IDoc-Erstellung oder letzte Statusänderung)
� der Nachricht
� den Partnern oder auch der eigenen Identifikation für die Partner
� technischen Parametern: IDoc-Nummer, IDoc-Typ, aktuellem Status, Richtung
Die Listen werden nach Nachrichtentypen und Status geordnet ausgegeben.
Sie können sich eine Statistik über die zeitliche Verteilung der IDocs in einem bestimmtenStatus als Graphik ausgeben lassen. Dabei können Sie die Zeitachse homogen (d.h. die Zeitschreitet gleichförmig fort) oder IDoc-orientiert (d.h. es werden nur Zeitintervalle ausgewählt,innerhalb derer IDocs erzeugt wurden) wählen.
IDocs im Fehlerstatus können über die Statusliste bequem angezeigt werden. Hier sehen Siesofort die Fehlernachricht als Kurztext und können bei Bedarf zum Langtext springen, um weitereInformationen bei der Fehlersuche zu erhalten.
In der IDoc-Liste für den 12.06.1997 wurden besonders viele fehlerhafte IDocsverschiedener Nachrichtentypen festgestellt: Ihnen gemein ist ihr aktueller Status 02(“Fehler bei Datenübergabe an Port”). Über die Statusliste greifen Sie das IDoc Nr.4711 heraus und finden die Fehlernummer E0099 (“Fehler bei OPEN <Pfad undDateiname>“). Der Langtext (Doppelklick!) zu diesem Fehler informiert, daßmöglicherweise das Verzeichnis <Pfad> nicht vorhanden oder das gesamteFilesystem voll ist. Beim Nachprüfen stellt sich tatsächlich heraus, daß dasFilesystem an diesem Tag “übergelaufen” ist.
AktivitätenSie wählen aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] IDoc � IDoc-Listen.
IDoc-Listen: Fehler lokalisieren [Seite 115]
IDoc-Listen: Zeitliche Verteilung anzeigen [Seite 116]
Warnfarben Statusgruppen zuordnen [Seite 119]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Listen: Fehler lokalisieren
April 2001 115
IDoc-Listen: Fehler lokalisierenFehler werden in der IDoc-Liste durch Warnfarben dargestellt. Die Warnfarben sind im Standardbestimmten Statusgruppen zugeordnet. Diese Zuordnung können Sie aber auch ändern [Seite119].
1. Ändern Sie bei Bedarf das Zeitintervall, innerhalb dessen die IDocs erzeugt wurden(Vorschlagswert: dieser Tag). Schränken Sie Ihre Auswahl gegebenenfalls durch weitereSelektionskriterien ein.
2. Wählen Sie .
Sie erhalten die Zahlen der gefundenen IDocs pro Nachrichtentyp und Status im Aus-und Eingang (Richtungen und ).
3. Positionieren Sie auf eine Leiste, die einen Fehlerstatus enthält (hervorgehoben durch dieWarnfarbe und im Text erläutert!).
4. Wählen Sie im Fenster rechts einen Nachrichtentyp aus. Wählen Sie Statusliste.
Sie erhalten eine IDoc-Liste mit Fehlernachricht (Nummer und Kurztext).
5. Positionieren Sie auf die Leiste eines bestimmten IDocs. Wählen Sie IDoc-Anzeige undvon dort den entsprechenden Statussatz. Per Doppelklick auf den Kurztext erhalten Sie denzugehörigen Langtext.
6. Ändern Sie gegebenenfalls die Zuordnung von Warnfarben zu Statusgruppen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Listen: Zeitliche Verteilung anzeigen
116 April 2001
IDoc-Listen: Zeitliche Verteilung anzeigen1. In der Ausgabeliste positionieren Sie auf eine Nachricht (Zeile im rechten Fenster) oder
einen Knoten im linken Fenster (alle selektierten IDocs, alle einer Richtung oder alle in einembestimmten Status).
2. Wählen Sie Graphik: zeitliche Verteilung
Sie erhalten eine graphische Verteilung der IDocs. Dabei versucht das System, eine„vernünftige“ Anzahl von Balken darzustellen:
� Es zeigt nur die Zeiten an, zu denen wirklich IDocs erzeugt wurden.
� Es sucht die optimalste „Schrittweite“ aus (z.B. Stunden als Zeitschritte).
Falls Sie „Ausreißer“ in Ihrem Zeitfenster haben, also Werte, die wesentlich höher alsdie übrigen sind, werden diese u.U. kaum mehr sichtbar sein, da die Graphik nachdem Maximum skaliert wird. Sie können das vermeiden, indem Sie einelogarithmische statt einer linearen Skala wählen oder das Maximum der Skalaheruntersetzen. Dazu wählen Sie die horizontale Skala (Achse) mit der rechtenMaustaste aus und wählen im Kontextmenü Format Axis. Im Folgebild wählen Siedie Karteikarte Scale und ändern die Einstellungen entsprechend.
3. Sie können die Ausgabeform ändern: Wählen Sie dazu und im Folgefenster z.B.Zeitschritt...Tage, um das Zeitraster auf Tage zu vergröbern.
4. Um die Zeitachse homogen (jede Zeiteinheit wird angezeigt) zu machen, markieren SieNullwerte anzeigen. Um nur die Zeitabschnitte anzuzeigen, innerhalb derer IDocs erzeugtwurden, lassen Sie das Feld frei.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Listen: Verteilung der Warnfarben anzeigen
April 2001 117
IDoc-Listen: Verteilung der Warnfarben anzeigenVerwendungFür einen groben Überblick wird in einer „Tortengraphik“ der Anteil der in einem Fehlerstatus(rote Warnfarbe) befindlichen IDocs angezeigt. Entsprechend sind die beiden anderen Anteile diegrüne (Erfolgsstatus) und gelbe (noch kein endgültiger Status) Warnfarbe.
Die Zuordnung von Status zu Warnfarben geschieht in zwei Schritten:
1. Status Statusgruppen zuordnen [Seite 112]
2. Statusgruppen Warnfarben zuordnen [Seite 119]
Vorgehensweise1. Geben Sie im Einstiegsbild der IDoc-Listen Ihre Selektionskriterien ein und starten Sie die
Selektion.
2. Wählen Sie in der Ausgabe .
Sie erhalten den Überblick in einem unten eingeblendeten Fenster. Es werden immeralle IDocs in die Graphik miteinbezogen, die Ihren Selektionskriterien genügen.
Zum Wiederausblenden wählen Sie .
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Listen: Verteilung der Nachrichten anzeigen
118 April 2001
IDoc-Listen: Verteilung der Nachrichten anzeigen1. Positionieren Sie im linken Fenster der Ausgabe auf den Knoten, über den Sie die Verteilung
anzeigen lassen wollen:
� Alle selektierten IDocs
� Nur die einer Richtung
� Nur die in einem bestimmten Status
2. Wählen Sie im linken Fenster der Ausgabe den Auswahlpfeil rechts neben dem Symbol .
3. Im aufgeklappten Menü wählen Sie Graphik: Nachrichtentypen.
Sie erhalten eine Tortengraphik, die sie weiter formatieren können. Wenn Sie z.B.konkrete Zahlen einblenden wollen, wählen Sie im Kontextmenü (rechte Maustaste) derTortengraphik Format Data Series und im folgenden Bild Show value in der KarteikarteData Labels.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Warnfarben Statusgruppen zuordnen
April 2001 119
Warnfarben Statusgruppen zuordnenVerwendungIn den Überwachungsprogrammen wird der aktuelle Status eines IDocs farblich als Fehlerstatusoder Erfolgsstatus gekennzeichnet. Sie können über die Zuordnung zu einer Statusgruppeändern, welche Farben welchen Status zugeordnet werden.
VoraussetzungenIn einer bestimmten Statusgruppe darf sich kein Status befinden, der eine andere Farbebekommen soll. Sie ordnen Status einer Statusgruppe in der Statuspflege zu. WeitereInformationen finden Sie unter Statusgruppen ändern [Seite 112].
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �
Statusgrup. pflegen.
2. Wählen Sie eine bestimmte Statusgruppe (Qualifizierung) und wählen Sie .
3. Tragen Sie den gewünschten Ampelcode ein und sichern Sie Ihre Angaben.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Anzeige
120 April 2001
IDoc-AnzeigeVerwendungDieser Report führt Sie direkt zu Listen einzelner IDocs oder auch in die IDoc-Anzeige selbst,wenn Ihre Selektionskriterien nur ein IDoc zulassen (wenn Sie etwa als Selektionskriterium nureine IDoc-Nummer angeben).
Neben den auch in den anderen Statistikprogrammen verfügbaren Selektionskriterien (Nachricht,Partner) können Sie hier nach folgenden, eher technischen Parametern selektieren:
� IDoc-Typ (Basistyp oder Basistyp mit Erweiterung)
� Testoption aus den Partnervereinbarungen (wird das IDoc nur zu Testzwecken erzeugtund verschickt? – Karteikarte Zusatzauswahl)
� Aktueller Status
� Port (Empfänger wie Absender)
� EDI-Referenznummern (Übertragungsdatei, Nachricht, EDI-Archiv – Karteikarte EDI-Auswahl).
Diese Schlüssel sind nur bei einer Konvertierung in EDI-Standards relevant undbeziehen sich auf Objekte im EDI-Subsystem.
Verwechseln Sie nicht die Übertragungsdatei (EDI-Standard) mit der Datei, über die dasEDI-Subsystem mit der IDoc-Schnittstelle kommuniziert (IDoc-Standard)!
Zu Testzwecken sendet ein EDI-Partner ein IDoc an Ihr System. Der EDI-Partner ist inIhren Partnervereinbarungen über die entsprechende Option als Testpartner vereinbart.Das IDoc wird von Ihrem EDI-Subsystem an die Eingangsverarbeitung der IDoc-Schnittstelle übergeben und erhält dort die Nummer 4711. In seinem Kontrollsatz ist dasTestkennzeichen gesetzt. Sie können sich jetzt über die IDoc-Anzeige sämtliche IDocsmit Testkennzeichen auflisten lassen und darüber das IDoc 4711 finden.
In einem zweiten Test wollen Sie feststellen, ob Ihr EDI-Subsystem die EDI-Referenznummern korrekt an das R/3-System übermittelt. Sie haben sich etwa dieReferenznummer der Übertragungsdatei notiert, in der einige IDocs übermittelt wurden.Diese Nummer geben Sie im entsprechenden Selektionsfeld ein und starten die Suche.Es sollten jetzt alle IDocs im R/3-System gefunden werden, die sich in der betreffendenÜbertragungsdatei befanden.
AktivitätenDie IDoc-Anzeige erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] überIDoc � Anzeigen IDoc .
Mehrere IDocsWird eine IDoc-Liste angezeigt, können Sie durch Doppelklick auf die entsprechende Leiste aufein einzelnes IDoc verzweigen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Anzeige
April 2001 121
Eine Ampel symbolisiert, ob der aktuelle Status als Erfolgsstatus oder Fehlerstatus gewertetwird, oder ob noch eine weitere Verarbeitung ansteht, so daß diesbezüglich noch keineEntscheidung getroffen wurde (gelbes Licht). Sie können die Farbzuordnung über dieTransaktion WELI selbst ändern. Beachten Sie dort die Hilfe zur Anwendung.
Einzelnes IDocAllgemeinesDas einzelne IDoc wird in Baumstruktur angezeigt. Einstiegsknoten ist die IDoc-Nummer. Esfolgen als Unterknoten Kontrollsatz, Daten- und Statussätze. Sie können Knoten aufklappen undsich einzelne Sätze anzeigen lassen. Bei den Datensätzen genügt dazu ein einfacher Mausklick.
Sie können sich über Verknüpfungen anzeigen [Extern] (aus den Objektdiensten [Extern]) die mitdem IDoc bereits verknüpften Objekte anzeigen lassen, z.B. Anwendungsbelege oder dasentsprechende IDoc im Partnersystem bei ALE-Verteilungen.
KontrollsatzBeim Kontrollsatz werden z.B. der “Briefkopf” (Sender und Empfänger), die Richtung und derIDoc-Typ angezeigt. In der Ausnahmebehandlung [Seite 27] können Sie den Kontrollsatzeditieren (Kontrollsatz � anzeigen/ändern, s. auch den entsprechenden Absatz bei denDatensätzen).
DatensätzeBei den Datensätzen werden die Segmente mit Namen (E1-Strukturen bei SAP-Segmenten),Segmentnummer und Kurzbeschreibung angezeigt. Bei qualifizierten Segmenten wird der„Qualifier“ ausgegeben, also der Wert, der die Bedeutung (die Qualifizierung) des Segmentsfestlegt.
Beim Segment E1EDKA1 (Belegkopf Partnerinformation) bedeutet der QualifierPARVW = „WE“, daß der im Segment angegebene Partner die Rolle desWarenempfängers hat, während PARVW = „AG“ die Partnerrolle des Auftraggeberskennzeichnet. Der Qualifier ist das erste Feld eines qualifizierten Segments.
Wenn Sie ein fehlerhaftes Eingangs-IDoc in der Ausnahmebehandlung [Seite 27] editierenmöchten, wählen Sie in der Detailanzeige (Doppelklick auf Symbol beim entsprechendenDatensatz) Datensatz � anzeigen/ändern. Jetzt können Sie sämtliche Felder ändern. BeimSichern erhält Ihr IDoc den neuen Status 69 (IDoc wurde editiert), das Sie dann wieder derEingangsverarbeitung zuführen können. Das Original wird als neues IDoc mit Status 70 (Originaleines IDocs, welches editiert wurde) auf der Datenbank abgelegt.
StatussätzeBei den Statussätzen werden die einzelnen Statuswerte (die Status) mit Kurzbeschreibungangezeigt. Beim Port [Seite 40]typ „tRFC“ und dem Status 03 wird die beim tRFC vergebeneTransaktions-ID angezeigt, die den Aufruf eindeutig kennzeichnet. Wenn die Anwendung einFehlerprotokoll schreibt, dann wird außerdem die ID dieses Protokolls ausgegeben, auf dasSie verzweigen können (Springen � Application Log). Dadurch können Sie detailliertereFehlerinformationen als in den Statussätzen vermerkt abrufen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Suche
122 April 2001
IDoc-SucheVerwendungIDocs sollen nicht nur nach Adreß- oder Steuerinformationen aus ihrem Kontrollsatz auffindbarsein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man möchte auchFragen beantworten können wie: „In welchen IDocs wurden Bestellungen meines Materials XYübermittelt?“
Solche Fragen beantwortet die IDoc-Suche. Sie können sowohl auf der Datenbank als auch inArchivdateien nach IDocs suchen.
VoraussetzungenBei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) müssen Sie
� die IDocs von der Datenbank gelöscht haben (vollständiger Archivierungslauf)
� eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. NähereInformationen hierzu erhalten Sie unter Einzelanzeige über SAP AS (BC-SRV-EDI) [Seite136]
FunktionsumfangDie Funktion sucht nach Zeichenketten, d.h. Sie müssen den Wert eines Segmentfeldes soeingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nichtverwenden!).
Als Selektionskriterien können Sie höchstens zwei Werte in zwei Segmentfeldern angeben. Beizwei Werten müssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein,damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknüpfung vonSelektionsfeldern).
Sie können auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alleDatensätze (genauer: das Feld SDATA der Datensätze) strukturlos nach der Zeichenkettedurchsucht, d.h. es kann auch vorkommen, daß die gefundenen Zeichenkette mehrereSegmentfelder überspannt!
Suche nach “9060” erfolgreich!
400,90 600000020
9060
Feld 1 Feld 2
Die Suche kann durch den schnellen Suchmodus auf höchstens einen Treffer pro IDocbeschränkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDocab.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Suche
April 2001 123
Die Suche kann und sollte durch weitere Selektionskriterien eingeschränkt werden, die (analogzu den übrigen Überwachungsprogrammen) Werte aus dem Kontrollsatz abfragen:Erstellungszeit, Partner und Nachricht, Richtung etc.
AktivitätenDie IDoc-Suche erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc� Suchen IDoc. Je nachdem, ob Sie auf der Datenbank oder im Archiv suchen wollen,verzweigen Sie in unterschiedliche Transaktionen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Aktives Monitoring
124 April 2001
Aktives MonitoringVerwendungDieser Report alarmiert selbständig zuständige Sachbearbeiter, wenn zu viele fehlerhafte IDocsfestgestellt werden.
IntegrationDas aktive Monitoring dient nicht zum Bearbeiten oder Wiedereinspielen eines fehlerhaftenIDocs. Dafür ist die Ausnahmebehandlung jedes einzelnen fehlerhaften IDocs zuständig.
AktivitätenSie planen den Report mit einer Variante zum regelmäßigen Lauf ein. Die den Selektionskriteriengenügenden IDocs werden wieder in Statusgruppen der Statistik unterteilt. In der Variante wirddem Report auch die kritische Statusgruppe (oder mehrere) mitgeteilt: Gehören mehr IDocszur kritischen Gruppe als in der kritischen IDoc-Anzahl vorgegeben, dann wird eine Nachrichtan einen vordefinierten Empfänger versandt.
Der Empfänger erhält die Benachrichtigung in Form eines Workitems in seinem integriertenEingangskorb (siehe auch Rollenauflösung in der Ausnahmebehandlung [Seite 31]). Führt er dasWorkitem aus, so wird die IDoc-Statistik mit den zum Auswertezeitpunkt ermittelten Wertenangezeigt. Über die Funktion Auffrischen kann sich der Bearbeiter den aktuellen Zustand dieserIDocs anzeigen lassen. Für diese erneute Auswertung werden dieselben Selektionskriterienverwendet, die zur Benachrichtigung geführt haben.
Ein wichtiger Kunde bestellt werktags zwischen 08:00 Uhr und 18:00 Uhr Warenüber EDI. Diese sollen am nächsten Tag um 16:00 ausgeliefert werden. Damit dieLieferung termingerecht durchgeführt werden kann, muß bis um 12:00 amAuslieferungstag feststehen, welcher Umfang bestellt wurde. Um 08:00 morgens sollüber das aktive Monitoring festgestellt werden, ob Bestellungen vorliegen, die nichtautomatisch bearbeitet werden konnten. Dazu wird der Report täglich zu dieser Zeitgestartet; als kritische IDoc-Anzahl wird 0 vorgegeben. Der zuständigeSachbearbeiter erhält bei fehlerhaften IDocs eine Benachrichtigung und kann bis12:00 die noch ausstehenden Aufträge manuell bearbeiten.
Siehe auch:Aktives Monitoring konfigurieren [Seite 125]
Monitoring-Job einplanen (Beispiel) [Seite 126]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aktives Monitoring konfigurieren
April 2001 125
Aktives Monitoring konfigurierenVerwendungEinmalig müssen Sie das aktive Monitoring konfigurieren: Sie aktivieren die Ereignis-Verbraucherkopplung für die Aufgabe und richten bei Bedarf eine Organisationseinheit ein.
Vorgehensweise1. Pflegen Sie Empfänger von Benachrichtigungen im Organisationsmodell der
Komponente Organisationsmanagement. Sie können eine gesamte Organisationseinheitfür die Benachrichtigung pflegen. Beachten Sie jedoch, daß diese Organisationseinheitauch Bearbeiter enthält! Zum Einrichten der Organisationseinheit lesen Sie dieAbschnitte zur einfachen Pflege [Extern] in der R/3 Bibliothek HR ��PA �Organisationsmanagement � Aufbauorganisation.
2. Aktivieren Sie die Ereigniskopplung für die Standardaufgabe ‘TS30200108’. Legen Sieaußerdem fest, wer möglicher Bearbeiter ist: Sie können die Aufgabe z.B. als ‘generelleAufgabe’ (jeder R/3-Benutzer ist möglicher Bearbeiter) pflegen. Für diesen Schritt habenSie folgende Alternativen:
� Automatisches Workflow-Customizing (IMG-Aktivität Standardeinstellungen für SAPBusiness Workflow pflegen)
� Direkte Pflege der Aufgabe: Wählen Sie Werkzeuge � Business Workflow �Entwicklung � Definitionswerkzeuge � Aufgaben � ändern (Transaktion PFTC) undwählen Sie auslösende Ereignisse, um die Ereignis-Verbraucherkopplung zu aktivieren.Sie wählen Zusatzdaten � Bearbeiterzuordnung � pflegen, um mögliche Bearbeitereinzutragen. Auch hier können Sie eine Organisationseinheit als Bearbeiter angeben(etwa die, die Sie im Schritt 1 eingerichtet haben).
Weitere Informationen zu möglichen Bearbeitern finden Sie unter Rollenauflösung inder Ausnahmebehandlung [Seite 31].
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Monitoring-Job einplanen (Beispiel)
126 April 2001
Monitoring-Job einplanen (Beispiel)VoraussetzungenIm folgenden wird auf das Beispiel im Abschnitt Aktives Monitoring [Seite 124] Bezuggenommen. Der Report des aktiven Monitorings soll jeweils um 08:00 Uhr als Batchjob gestartetwerden und die IDocs auswerten, die am Vortag zwischen 08:00 Uhr und 18:00 Uhr eingetroffensind.
Vorgehensweise1. Wählen Sie im ABAP-Editor Variante (für den Report RSEIDOCM) und Anzeigen.
2. Geben Sie Ihrer Variante einen Namen und wählen Sie Anlegen.
3. Geben Sie folgende Parameter ein:
� Start- bzw. Endzeitpunkt vor Batchlauf: 1 Tag und 0 Tage 14:00:00h
� Statusgruppe: F (Eingang: Fehler in der Anwendung)
� Kritische IDoc-Anzahl: 0
� Parameter des Absenders: <entsprechenden Werte aus den Partnervereinbarungen desKunden>
� Logischer Nachrichtentyp: ORDERS
� Empfänger der Benachrichtigung: z.B. MÜLLER
� Emfängerart: Benutzer
4. Wählen Sie Weiter, um einen Kurztext zu Ihrer Variante zu erfassen. Sichern Sie IhreAngaben.
5. Um Ihren Job als Batchjob einzuplanen, wählen Sie System � Dienste � Jobs � JobDefinition und geben Sie B (mittlere Priorität für periodische Jobs) als Jobklasse ein.
6. Wählen Sie Startbedingung und geben Sie ein Datum und 08:00 für die Uhrzeit ein.
7. Markieren Sie Job periodisch ausführen.
8. Wählen Sie Periodenwerte � täglich und sichern Sie Ihre Angaben.
Beim Sichern geben Sie noch den einzuplanenden Report (RSEIDOCM) und die vonIhnen gepflegte Variante an.
ErgebnisSelektiert werden nun bei dem täglichen Batchlauf alle IDocs
� die am Vortag zwischen 08:00 Uhr und 18:00 Uhr eingegangen sind
� deren logischer Nachrichtentyp ‘ORDERS’ ist
� die vom betreffenden Kunden gesendet wurden.
Es braucht nur ein IDoc der Statusgruppe F zugeordnet sein, damit eine Benachrichtigung anden Bearbeiter MÜLLER geschickt wird.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Archivierung von IDocs
April 2001 127
Archivierung von IDocsVerwendungIDocs sind auf der Datenbank in mehreren Tabellen abgelegt. Um diese Tabellen (und damit dieZugriffszeiten) klein zu halten (sprich: die Datenbank zu entlasten) und trotzdem keine IDocs zuverlieren, können Sie sie in Archiven auf Betriebssystemebene ablegen. Diese Archive könnenschließlich auf externe Speichermedien ausgelagert werden, z.B. auf magnetooptische Platten(über SAP Archive Link) oder Magnetbänder.
VoraussetzungenIm Customizing legen Sie fest, wo sich die Archivdateien (“physikalisch”) befinden, welcheSpeichermedien also eingesetzt werden. Weitere Informationen finden Sie unter
CA � Archivieren von Anwendungsdaten � zentrales Einführungskapitel � Customizing �Anschluß an das Archivsystem [Extern].
AktivitätenArchivierbare Status anzeigen oder ändern [Seite 128]
Wann sind IDocs archivierbar?
Archivierungsfunktionen für IDocs [Seite 129]
Wie werden IDocs in Archivdateien geschrieben und wieder gelesen?
Stellen Sie sicher, daß keine IDocs archiviert werden, die eventuell noch von derAnwendung benötigt werden.
Siehe auch:
CA � Archivieren von Anwendungsdaten [Extern]
Informationen zur Archivierung allgemein.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Archivierbare Status anzeigen oder ändern
128 April 2001
Archivierbare Status anzeigen oder ändernBestimmte IDoc-Status sind im Standard als archivierbar eingestuft, andere wiederum nicht.Diese Einordnung können Sie anzeigen oder ändern.
Der aktuelle Status eines IDocs muß archivierbar sein, damit das IDoc archiviertwerden kann.
Vorgehen1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung � Statuswerte
pflege.
2. Wählen Sie , um Einträge zu ändern.
3. Wählen Sie den Status aus, der Sie interessiert. Durch Doppelklick gelangen Sie in dasDetailbild, in dem Sie unten die Archivierbarkeit anzeigen oder ändern können.
4. Über oder können Sie alle Status hintereinander anzeigen bzw. ändern.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Archivierungsfunktionen für IDocs
April 2001 129
Archivierungsfunktionen für IDocsVerwendungDaten werden generell über die zentrale Transaktion SARA archiviert. Im Falle von IDocs werdendie entsprechenden Tabellen über das Archivierungsobjekt IDOC angesprochen.
FunktionsumfangDer Archivierungsklasse IDOC sind verschiedene Bearbeitungsmethoden zugeordnet: Sokönnen Sie im Standard IDocs
� archivieren [Seite 131]
� von der Datenbank löschen [Seite 131]
� aus einem Archiv zurückladen [Seite 133]: Dazu wählen Sie vom Einstiegsbild Springen �zurückladen
Sie wollen sämtliche IDocs, die Kundenaufträge (Nachrichtentyp ORDERS, IDoc-Eingang) im Monat Januar übermittelt haben, archivieren und anschließend aus denDatenbanktabellen löschen. Dazu wählen Sie die im Standard ausgelieferteBearbeitungsmethode “Archivieren” und pflegen Zeitraum wie Nachrichtentyp alsReportvariante.
Außerdem können Sie sich folgendes anzeigen lassen:
� Archive [Seite 134]
In einem Archiv oder Archivierungslauf werden in der Regel mehrere IDocs archiviert,d.h. die IDocs werden in diesem Lauf zusammengefaßt. Ein Archivierungslauf istvollständig, wenn die IDocs aus den Datenbanktabellen gelöscht wurden und nur nochals Archivdateien vorhanden sind.
� die IDoc-Nummern eines oder mehrerer Archive oder Archivdateien [Seite 135]
� die IDocs (d.h. Kontrollsatz, Daten- und Statussätze) eines oder mehrerer Archive [Seite 136]
� IDocs aus Archiven, die bestimmte Zeichenketten enthalten (IDoc-Suche) [Seite 137]
Diese Funktion ist keine Methode am Archivierungsobjekt IDOC, sondern einÜberwachungswerkzeug der IDoc-Schnittstelle und daher auch nur von derenEinstiegsknoten aus erreichbar.
AktivitätenZur zentralen Transaktion SARA gelangen Sie auch über Werkzeuge � Administration �Verwaltung � Datenarchivierung. Dort tragen Sie das Archivierungsobjekt IDOC ein. BeiDatenfreigabe erhalten Sie die oben angegebenen Methoden zur Auswahl.
Im objektspezifischen Customizing [Extern] können Sie die maximale Größe der Archivdateien[Extern] festlegen, und daß die Tabelleneinträge sofort nach Erzeugen der Archivdateien aus derDatenbank gelöscht werden sollen. Bei großen Datenmengen kann das günstig für diePerformance sein.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Archivierungsfunktionen für IDocs
130 April 2001
Im Standard werden die IDocs nach bestimmten Kriterien zur Archivierung ausgewählt, etwanach der Zeit, zu der die IDocs zuletzt geändert wurden (neuer Statussatz). Sie können sichselbst leicht eigene Auswahlkriterien definieren. Näheres erfahren Sie im UnterabschnittArchivierung: Technische Realisierung [Seite 139]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDocs archivieren und löschen
April 2001 131
IDocs archivieren und löschen
VoraussetzungDie zu archivierbaren IDocs haben einen archivierbaren Status [Seite 128].
Vorgehen1. Gehen Sie in die zentrale Archivierungstransaktion über Werkzeuge � Administration �
Verwaltung � Datenarchivierung. Prüfen Sie gegebenenfalls das objektspezifischeCustomizing [Extern]:
Sie können hier z.B. das Kennzeichen „Einzelnachweis“ in der Variante zumLöschprogramm setzen: Dann wird im Archivierungsprotokoll jedes einzelne archivierteIDoc aufgeführt, was aber zu sehr langen Protokollen von nicht unbedingt hoherAussagekraft führen kann.
2. Geben Sie das Archivierungsobjekt IDOC ein und wählen Sie die gewünschte Aktion,hier also Archivieren.
Wenn für das Archivierungsobjekt IDOC noch unvollständige Archivierungsläufevorhanden sind, erscheint eine Warnung. Sie können die Warnung ignorieren, laufenaber Gefahr, IDocs eventuell doppelt zu archivieren.
3. Setzen Sie den Starttermin des Archivierungslaufes und die Spoolparameter(Druckausgabe).
Die Ampeln sollten danach grün sein und Ihnen damit anzeigen, daß diese Parametergepflegt sind. Beachten Sie, daß Sie bei der Druckausgabe den Ablagemodus auf NurAblegen setzen und damit das Drucken jedes einzelnen Archivierungsprotokollsvermeiden können. Als Anlageparameter geben Sie den Objekttyp IDOC an undbenutzen die F4-Hilfe, um eine für den Objekttyp passende Dokumentart auszuwählen.Außerdem geben Sie einen freien Text als Zusatzinformation für den Archivierungsreportan.
4. Wählen Sie Pflegen zum Anlegen einer Reportvariante. Geben Sie alsSelektionsparameter etwa den Nachrichtentyp und den Zeitraum ein, innerhalb dessenIDocs ihren letzten, aktuellen Status bekamen. Wählen Sie Weiter und sichern SieIhre Variante.
Sie können markieren, ob Ihre IDocs nach dem Archivieren einen speziellen Statusbekommen sollen. Im Standard wird kein neuer Status gesetzt.
5. Kehren Sie zum Archivierungsbild zurück und wählen Sie .
Wenn Sie als Starttermin in Schritt 3 sofort angegeben hatten, erscheint jetzt in derunteren Leiste die Meldung Neuer Archivierungsjob wurde erzeugt.
6. Sie können überprüfen, ob Ihr Archivierungslauf schon fertig ist, indem Sie dieJobübersicht auswählen. Wenn Sie Verwaltung wählen, erhalten Sie eine Übersicht überIhre vollständigen und unvollständigen Archivierungsläufe. Wenn IDocs in denDatenbanktabellen gefunden wurden, die Ihren Selektionsparametern entsprechen,erscheint Ihr Archivierungslauf als mit Archivdateien gefüllter Ordner.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Vorgehen
132 April 2001
7. Falls nicht anders im objektspezifischen Customizing vereinbart [Extern], befinden sichIhre IDocs nach dem Archivieren noch auf der Datenbank, d.h. Ihr Archivierungslauf istnoch unvollständig. Zum Löschen planen Sie einen Löschjob mit entsprechenderVariante ein. Hier wählen Sie die Archivdatei aus, deren IDocs von der Datenbankgelöscht werden sollen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Archiv zurückladen
April 2001 133
Archiv zurückladenVoraussetzungen� Sie befinden sich auf dem Bild Archivadministration: Einstiegsbild (Transaktion SARA), der
Name des Archivierungsobjekts ist im Feld Objektname eingetragen.
� Die Archivadministration hat Zugriff auf die zurückzuladenden Archivdateien.
Beim Rückladen können immer nur vollständige Archivierungsläufe verarbeitetwerden.
Vorgehensweise1. Wählen Sie Springen � Zurückladen. Sie gelangen auf ein Bild, auf dem Sie einen
Hintergrundjob für das Programm einplanen können.
2. Wählen Sie die Funktion Archivauswahl. Sie erhalten ein Fenster mit den bereits durch dasLöschprogramm bearbeiteten Archivierungsläufen.
3. Markieren Sie den gewünschten Archivierungslauf und wählen Sie Weiter. Sie kehren zudem Ausgangsbild zurück.
4. Pflegen Sie den Starttermin [Extern] und die Spoolparameter [Extern].
5. Sie haben jetzt alle für den Hintergrundjob benötigten Daten eingegeben. Um den Job zuerzeugen, wählen Sie Ausführen.
Das Rückladen von archivierten Daten in die Datenbank ist nicht unproblematischund ist daher als reine Notfallfunktion zu betrachten. So könnte es beispielsweisenotwendig sein, Daten zurückzuladen, wenn unmittelbar nach der Archivierungfestgestellt wurde, daß aufgrund eines Bedienungsfehlers zu viele bzw. die falschenDaten archiviert wurden. Das Rückladen dieser Daten sollte möglichst im Anschlußan das Archivieren erfolgen.
Siehe auch:Archivdateien erzeugen [Extern]
Die Archivauswahl [Extern]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Details einer Archivdatei anzeigen
134 April 2001
Details einer Archivdatei anzeigenVoraussetzungenSie befinden sich auf dem Bild Archivadministration: Einstiegsbild (Transaktion SARA), der Namedes Archivierungsobjekts ist im Feld Objektname eingetragen.
Vorgehensweise1. Wählen Sie Verwaltung.
Sie gelangen auf das Bild Archivadministration: Übersicht der Archivierungsläufe [Extern].
2. Positionieren Sie den Cursor auf den Archivierungslauf.
3. Wählen Sie Teilb. expandieren.
4. Positionieren Sie den Cursor auf eine Archivdatei.
5. Wählen Sie Detailbild.
Sie gelangen auf ein Dialogfenster, dem Sie Details [Extern] zu der gewählten Archivdateientnehmen können.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Nummern im Archiv auflisten
April 2001 135
IDoc-Nummern im Archiv auflisten1. Wählen Sie im Einstiegsbild der zentralen Archivierungstransaktion Auswerten.
2. Wählen Sie Ausführen.
Das System zeigt Ihnen die vollständigen Archivierungsläufe an.
3. Markieren Sie einen oder mehrere Läufe oder darin enthaltene Dateien und bestätigen Sie.
Sie erhalten eine Liste der IDocs aus den ausgewählten Archivdateien. Neben der IDoc-Nummer wird z.B. die „logische“ Nachricht ausgegeben (Ausgabefelder des ReportsRSXARCR [Seite 141])
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Einzelanzeige über SAP AS (BC-SRV-EDI)
136 April 2001
Einzelanzeige über SAP AS (BC-SRV-EDI)VerwendungMit dem Archivinformationssystem (SAP AS) können Sie sich jedes archivierte IDoc anzeigenlassen. Es gibt zwei Unterschiede zur IDoc-Suche im Archiv:
� Das SAP AS zeigt alle Sätze des IDocs an, also neben Kontroll- und Datensätzen auch dieStatussätze.
� Mit dem SAP AS können Sie nicht nach Zeichenketten in Datensätzen suchen.
VoraussetzungenDie Archivdateien sind im System vorhanden und wurden nicht über den Content ManagementService (CMS) abgelegt.
Die Archiv-Infostruktur ist aktiv und aufgebaut (siehe „Aktivitäten“)
FunktionsumfangMit der im Standard ausgelieferten Archiv-Infostruktur SAP_IDOC_001 suchen Sie z.B. nach
� Zeit (Erstellung und letzter Änderung)
� Partner
� Nachricht
� IDoc-Nummer
Sie können sich eigene Strukturen definieren. Der Feldkatalog, aus dem Sie die Felder beziehen,heißt ebenfalls SAP_IDOC_001. Er beinhaltet sämtliche Felder aus dem IDoc-KontrollsatzEDI_DC, mit Ausnahme von Mandant, ALE-Serialisierung und Satzart.
BerechtigungenAuch bei der Einzelanzeige benötigen Sie nur die allgemeine Archivierungsberechtigung [Extern]benötigt.
AktivitätenSie aktivieren gegebenenfalls die Archiv-Infostruktur [Extern]. Zum Einstiegsbild gelangen Sievon der zentralen Archivierungstransaktion [Seite 129] über Infosystem � Customizing.
Sie bauen gegebenenfalls die Archiv-Infostruktur auf [Extern]. Zum Einstiegsbild gelangen Sievon der zentralen Archivierungstransaktion über Infosystem � Status.
Zur Einzelanzeige werten Sie die Archiv-Infostruktur aus [Extern]. Zum Einstiegsbild gelangenSie von der zentralen Archivierungstransaktion über Infosystem � Archive Explorer.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Suche
April 2001 137
IDoc-SucheVerwendungIDocs sollen nicht nur nach Adreß- oder Steuerinformationen aus ihrem Kontrollsatz auffindbarsein, sondern auch nach den eigentlichen betriebswirtschaftlichen Daten. Man möchte auchFragen beantworten können wie: „In welchen IDocs wurden Bestellungen meines Materials XYübermittelt?“
Solche Fragen beantwortet die IDoc-Suche. Sie können sowohl auf der Datenbank als auch inArchivdateien nach IDocs suchen.
VoraussetzungenBei der Suche im Archiv (im Gegensatz zur Suche auf der Datenbank) müssen Sie
� die IDocs von der Datenbank gelöscht haben (vollständiger Archivierungslauf)
� eine Archiv-Infostruktur in der zentralen Transaktion SARA aufgebaut haben. NähereInformationen hierzu erhalten Sie unter Einzelanzeige über SAP AS (BC-SRV-EDI) [Seite136]
FunktionsumfangDie Funktion sucht nach Zeichenketten, d.h. Sie müssen den Wert eines Segmentfeldes soeingeben, wie er auch dargestellt wird (Punkt und Komma unterscheiden, am besten gar nichtverwenden!).
Als Selektionskriterien können Sie höchstens zwei Werte in zwei Segmentfeldern angeben. Beizwei Werten müssen beide im IDoc in den entsprechenden Segmentfeldern vorhanden sein,damit das IDoc in die Ausgabeliste mit aufgenommen wird (normale UND-Verknüpfung vonSelektionsfeldern).
Sie können auch kein Segmentfeld, sondern nur den Wert selbst angeben. Dann werden alleDatensätze (genauer: das Feld SDATA der Datensätze) strukturlos nach der Zeichenkettedurchsucht, d.h. es kann auch vorkommen, daß die gefundenen Zeichenkette mehrereSegmentfelder überspannt!
Suche nach “9060” erfolgreich!
400,90 600000020
9060
Feld 1 Feld 2
Die Suche kann durch den schnellen Suchmodus auf höchstens einen Treffer pro IDocbeschränkt werden, d.h. nach einem Treffer bricht das System die Suche im betreffenden IDocab.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Suche
138 April 2001
Die Suche kann und sollte durch weitere Selektionskriterien eingeschränkt werden, die (analogzu den übrigen Überwachungsprogrammen) Werte aus dem Kontrollsatz abfragen:Erstellungszeit, Partner und Nachricht, Richtung etc.
AktivitätenDie IDoc-Suche erreichen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über IDoc� Suchen IDoc. Je nachdem, ob Sie auf der Datenbank oder im Archiv suchen wollen,verzweigen Sie in unterschiedliche Transaktionen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Archivierung: Technische Realisierung
April 2001 139
Archivierung: Technische RealisierungDie IDoc-Archivierungswerkzeuge wurden mit dem Archive Development Kit [Extern] (ADK)entwickelt, das objektorientierte Programmiermethoden ermöglicht. Man spricht daher von einemArchivierungsobjekt IDOC, das die erforderlichen Datenbanktabellen sowie eineArchivierungsklasse IDOC mit Funktionsbausteinen zu deren Bearbeitung enthält.
“Von außen” wird auf das Archivierungsobjekt IDOC nun über Reports zugegriffen, die (indirekt)Funktionsbausteine des ADKs aufrufen. Die Selektionsparameter dieser Reports werden in derVariantenpflege der zentralen Archivierungstransaktion gesetzt. Die Funktionsbausteine desADKs benutzen ihrerseits Funktionsbausteine der Archivierungsklasse IDOC, um auf dieDatenbanktabellen zuzugreifen. Die folgende Abbildung zeigt diese objektorientierte Struktur.
R/3-System
zentrale Archivierungs-
transaktion
Programme(Reports)
zur Archivierung
Archivdateien
Archivierungsobjekt IDOC
Bearbeitungsmethoden
IDoc-
Datenbank-
tabellen
Funktionsbausteinedes ADKs
ArchivierungsklasseIDOC: Teil der
FunktionsgruppeEDIA
Alle Funktionsbausteine der Archivierungsklasse IDOC gehören zur Funktionsgruppe EDIA. Zudieser Funktionsgruppe gehören außerdem die Funktionsbausteine, über die dieArchivierungsprogramme die Funktionen des ADKs rufen.
In der EDV-Literatur werden manchmal auch Daten und auf ihnen operierendeFunktionen zu “Klassen” zusammengefaßt (z.B. in der Sprache C++). Wie Sie
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Archivierung: Technische Realisierung
140 April 2001
sehen, entspricht der Begriff “Klasse” hier dem “Archivierungsobjekt”, das die Daten(die Zeilen der Datenbanktabellen) enthält wie auch die “Archivierungsklasse” IDOC,die die darauf operierenden Funktionen enthält.
Die im Standard ausgelieferten Reports können Ihnen als Beispielreports dienen, anhand dererSie leicht eigene Reports mit Selektionsparametern schreiben können, die Ihren Anforderungenentsprechen. Weitere Informationen zu den Standardreports finden Sie unter
Archivierung: Beschreibung der Standardreports [Seite 141]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Archivierung: Beschreibung der Standardreports
April 2001 141
Archivierung: Beschreibung der StandardreportsIm folgenden werden die “Einstiegsreports” vorgestellt, mit Angabe des Funktionsbausteins ausder Funktionsgruppe EDIA, den sie aufrufen. Dieser Funktionsbaustein ruft seinerseitsFunktionsbausteine der ADK-Standardklasse auf. Die Reports werden von der zentralenArchivierungstransaktion SARA angesprochen.
Um eigene Programme durch die zentrale Archivierungstransaktion SARA ansprechen zulassen, ersetzen Sie die Standardreports durch Ihre Programme in der Transaktion AOBJ.
Name Beschreibung Selektionsparameter
RSEXARCA Schreibt IDocs ins Archiv. RuftEDI_ARCHIVE_IDOCS auf. Prüft überdas UnterprogrammINITIALIZE_STATUS_QUALITY(Funktionsgruppe EDIA) nach, ob dieIDocs archivierbar sind.
� Zeit der letztenÄnderung desKontrollsatzes
� Zeit der IDoc-Erstellung
� aktueller Status
� logische Nachricht
� Richtung
� IDoc-Nummer
� Partner
RSEXARCD Löscht archivierte IDocs aus derDatenbank. RuftEDI_DELETE_ARCHIVED_IDOCS auf.
Archivdateien ausunvollständigenArchivierungsläufen
RSEXARCR Liest IDocs aus einem Archiv. RuftEDI_READ_IDOC_ARCHIVE auf. Gibtdie folgenden Felder des Kontrollsatzespro IDoc aus:
� logische Nachricht
� Status
� Datum und Zeit der letztenKontrollsatzänderung des IDocs
� Richtung
� IDoc-Nummer
Archivdateien ausvollständigenArchivierungsläufen
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Archivierung: Beschreibung der Standardreports
142 April 2001
RSEXARCL Lädt IDocs wieder aus dem Archiv aufdie Datenbank zurück. RuftEDI_RELOAD_IDOC_ARCHIVE auf.Prüft auf Mandanten- oder IDoc-Nummernkonflikte überIS_RELOADING_POSSIBLE(Unterprogramm der FunktionsgruppeEDIA). Schreibt den neuen Status “35”für Ausgangs-IDocs, “71” für Eingangs-IDocs (“zurückgeladen”). Kennzeichen„Einzelnachweis“ wie RSEXARCA.
Archivdateien ausvollständigenArchivierungsläufen
RSEXARCI Baut Index in Tabelle EDIDOCINDX auf.Ruft direkt Funktionsbaustein des ADK
Keine: Liest dieArchivdateien derObjektklasse IDOC.
RSEXARCJ Baut Index in Tabelle EDIDOCINDX ab.Ruft direkt Funktionsbaustein des ADK
Datum, bis zu dem dieIndizes gelöscht werdensollen.
Anzahl an Sätzen, nachdenen ein Datenbank-COMMIT abgesetzt werdensoll.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Verknüpfungen mit IDocs löschen
April 2001 143
Verknüpfungen mit IDocs löschenVerwendungMit steigender IDoc-Zahl wird nicht nur die Tabelle der Datensätze groß. Auch die Tabelle, diedie Verknüpfungen beispielsweise mit Anwendungsbelegen enthält, wächst und sollte von Zeit zuZeit von obsoleten Einträgen befreit werden. Im Unterschied zu den IDocs werdenVerknüpfungen nicht archiviert, bevor sie gelöscht werden.
Vorgehensweise1. Starten Sie das Programm RSRLDREL.
2. Geben Sie ein geeignetes Endedatum ein.
Geeignet ist das Endedatum sicher dann, wenn alle Verknüpfungen, die davor erzeugtwurden, nicht mehr gebraucht werden. Wenn Sie z.B. alle IDocs vor diesem Datumbereits archiviert und gelöscht [Seite 131] haben und auch die Anwendungsbelegearchiviert sind, so brauchen Sie die entsprechenden Verknüpfungen nicht mehr(Ausnahme: Anwendungsbelege und IDocs sollen wieder aus dem Archiv ins SAPSystem zurückgeladen werden).
3. Markieren Sie Selektion über Verknüpfungstyp und geben Sie einen Verknüpfungstyp an.Beachten Sie dazu untenstehende Tabelle.
Alternativ dazu können Sie auch die Selektion über Objekt/Rolle durchführen. Wenn Siez.B. alle Verknüpfungen mit Terminaufträgen löschen wollen, so selektieren Sie nachObjekttyp BUS2032 (Terminauftrag) in der Rolle APPLOBJ.
Wenn Sie folgende Verknüpfungen löschen wollen... so wählen Sie denVerknüpfungstyp...
Anwendungsbeleg mit Ausgangs-IDoc IDC0
Eingangs-IDoc mit Anwendungsbeleg IDC1
Ausgangs-IDoc mit Anwendungsbeleg im Zielsystem IDC9
Eingangs-IDoc mit Anwendungsbeleg aus demvorgelagertem System
IDCB
Eingangs-IDoc mit Kommunikations-IDocs in verteiltenSystemen
IDC2
Kopie eines IDocs mit seinem Original IDC3 (Eingang),IDC7(Ausgang)
Internet-IDoc [Seite 62] mit Ablagemappe aus dem BusinessWorkplace
IDC5 (Eingang), IDC6(Ausgang)
Eingangs-IDoc mit Ausgangs-IDoc aus vorgelagertemSystem
IDC4
IDoc mit TID (Porttyp tRFC [Seite 40], ALE-Audit).Funktioniert nicht mit Löschkriterium Beide Objekte nichtvorhanden!
IDC8 (Eingang), IDCA(Ausgang)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Verknüpfungen mit IDocs löschen
144 April 2001
Ausgangs-IDoc mit Klammer-IDoc (Typ IDCREF01) IDRF
4. Mit dem Löschkriterium können Sie Verknüpfungen nicht gelöschter Objekte vorm Löschenschützen. Folgende Szenarios sind denkbar:
� Sie möchten Verknüpfungen zuletzt löschen. Dazu wählen Sie Beide Objekte nichtvorhanden. Wenn jetzt z.B. nur noch der Anwendungsbeleg vorhanden ist, so könnenSie sich zwar vom Beleg aus die Nummern der verknüpften IDocs anzeigen lassen, nichtaber mehr die IDocs selbst.
Diese Option funktioniert nicht bei Verknüpfungen mit TIDs (für ALE-Audit), dennTIDs tun immer so, als gäbe es sie noch!
� Sie möchten die Verknüpfungen löschen, wenn mindestens eines der beiden Objektenicht mehr da ist (Option Ein Objekt nicht vorhanden). Dann können Sie z.B. von einemAnwendungsbeleg nicht einmal mehr die Nummern von bereits gelöschten IDocsanzeigen lassen.
� Sie möchten generell alle Verknüpfungen löschen, die den sonstigen Selektionskriteriengenügen. Dazu wählen Sie Ohne Existenzprüfung.
5. Starten Sie das Programm.
Sie können einen Testlauf fahren. Dann teilt Ihnen das System nur die Zahl der denSelektionskriterien genügenden Verknüpfungen mit, löscht diese aber nicht.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufbau, Dokumentation und Definition von IDoc-Typen
April 2001 145
Aufbau, Dokumentation und Definition von IDoc-TypenVerwendungZur Definition neuer IDoc-Typen werden Entwicklungswerkzeuge der IDoc-Schnittstelle benutzt.Die Dokumentationswerkzeuge dienen dazu, den Aufbau von IDoc-Typen betriebswirtschaftlichwie auch technisch in verschiedenen Formaten darzustellen. Sie helfen also maßgeblich zuentscheiden, ob wirklich neue IDoc-Typen definiert werden müssen oder ob nicht schon die imStandard ausgelieferten Typen für Ihre Bedürfnisse ausreichen. Nicht zuletzt helfen sie, dieDefinition von IDoc-Typen in externen Systemen zu automatisieren.
FunktionsumfangAllgemeiner Aufbau eines IDocs [Seite 146]
Dokumentationswerkzeuge [Seite 150]
Neue IDoc-Typen definieren [Seite 157]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Aufbau eines IDocs
146 April 2001
Aufbau eines IDocsDefinitionAlle IDocs sind nach bestimmten Regeln aufgebaut: Das ist der allgemeine Aufbau (dieSatzarten) eines jeden IDocs. Speziellere Regeln betreffen die unterschiedlichen IDoc-Typen.
StrukturAllgemeiner AufbauIDocs beinhalten Verwaltungsinformationen für die technische Verarbeitung sowie dieeigentlichen Daten der Anwendung in den sogenannten Segmenten. Segmente bestehen ausSegmentfeldern als kleinsten Sinneinheiten des IDocs, vergleichbar etwa mit denDatenelementen des EDIFACT-Standards.
Der Stand der Verarbeitung (“Was ist mit dem IDoc bisher passiert?”) wird SAP-seitig in derStatusinformation zum IDoc hinterlegt. Hier finden sich auch Hinweise auf Fehlerfälle, und beiwelchen Daten die Fehler aufgetreten sind. Beim IDoc-Versand wird diese Statusinformationnicht als Teil des IDocs weitergeleitet, sondern separat über die “Statusverarbeitung” übermittelt!
IDoc-Typen (spezieller Aufbau)Ein IDoc-Typ wird durch seine erlaubten Segmente definiert. Segmente können voneinanderabhängen (Eltern- und Kindersegmente). Zum Beispiel ist das Segment E1EDPT1(Belegposition Textidentifikation) Kindsegment von Segment E1EDP01 (Belegposition Datenallgemein) im IDoc-Typ EXPINV01 (Export Faktura) und Kindsegment von E1EDP07(Bestelldaten Lieferavis) im IDoc-Typ DESADV01 (Lieferavis).Das Segment wird also inmehreren Kontexten verwendet, es ist “Kind” mehrerer “Eltern”.
Für Kundenerweiterungen definieren Sie neue Segmente und hängen sie als Kindervorhandener Segmente des Basistyps an (der Basistyp ist der im SAP-Standardausgelieferte IDoc-Typ, den Sie erweitern wollen). Die neuen Segmente (wie auchdie Erweiterung) müssen im Kundennamensraum liegen. SAP-Segmentnamenbeginnen mit “E1” (siehe Namensräume [Seite 163]).
Die folgende Abbildung zeigt die Grundstruktur eines IDocs und welche Teile davon an dasexterne System übergeben bzw. von ihm übernommen werden. Die Eltern-Kind-Segmenthierarchie wird hier in Baumanzeige dargestellt. Es sind 3 Hierarchieebenenerkennbar.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufbau eines IDocs
April 2001 147
IDoc in der IDoc-Schnittstelle
externes System
Verwaltung ("Umschlag")
Daten der Anwendung: Segmente
Statusinformation"Konvertierung ok", "Versand ok",
"IDoc im Zielsystem (ALE-Dienst)",...
E1<Name>
E1<Name>
E1<Name>
E1<Name>
E1<Name>
Ausgangs-/Eingangs-
verarbeitung
Status-verarbeitung
Kind-segment
SAP
Kind-segmentKunde
Die IDoc-Schnittstelle kann für jedes IDoc prüfen, ob die enthaltenen Segmente mit der Definitionseines Typs verträglich sind. Diese Syntaxprüfung schalten Sie in den Partnervereinbarungen[Seite 76] ein oder aus, separat für Eingang und Ausgang.
Siehe auch:Aufbau eines IDocs: Technische Realisierung [Seite 148]
Allgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151]
Dokumentation eines IDoc-Typs oder Segmentes anzeigen [Seite 152]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Aufbau eines IDocs: Technische Realisierung
148 April 2001
Aufbau eines IDocs: Technische RealisierungIDocs sind SAP-intern in drei Datenbanktabellen abgelegt: Einer Tabelle für den Kontrollsatz,einer für die Datensätze, und einer für die Statussätze.
� Der Kontrollsatz ist für alle IDocs gleich und enthält die Verwaltungsinformationen, etwaAbsender, Empfänger und Nachricht. Beachten Sie auch, daß der Kontrollsatz denletzten Verarbeitungsstatus (Feld STATUS) enthält!
� Die Datensätze enthalten die Segmente und Verwaltungsinformationen zu denSegmenten (z.B., an welchem Elternsegment es eventuell hängt).
� Die Statussätze enthalten alle bislang durchlaufenen Verarbeitungsstatus sowiewiederum Verwaltungsinformationen. Diese Information wird nicht als Teil des IDocs voneinem ins folgende System übermittelt, sondern als separates Datenpaket.
In der IDoc-Schnittstelle nach außen (d.h. wie sie an das Folgesystem übergeben werden)befinden sich die IDocs in drei Strukturen, die den Datenbanktabellen entsprechen: Dort gibt esalso genauso Kontroll- Daten- und Statussatz. Die Beschreibung der einzelnen Felder ist imSystem über die Dokumentationswerkzeuge zugänglich: Lesen Sie dazu den Abschnittallgemeinen Aufbau eines IDocs (Satzarten) anzeigen [Seite 151].
Die folgende Abbildung zeigt den Grundaufbau der IDocs im R/3-System (IDoc-Schnittstelle nachaußen, d.h. die „externen Strukturen“), mit einigen Beispielfeldern.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufbau eines IDocs: Technische Realisierung
April 2001 149
IDoc in der Schnittstelle nach außen Kontrollsatz: EDI_DC40
MANDT, RCVPRN, STATUS,....Datensätze: EDI_DD40
Statussätze: EDI_DS40
SEGNAM, PSGNUM, HLEVEL, SDATA
DOCNUM, STATUS, STATXT, SEGNUM,...
Die Eltern-Kind-Struktur der Segmente wird durch das Feld PSGNUM ermöglicht, das dieNummer des Elternsegmentes (falls vorhanden) trägt. Das Feld HLEVEL enthält zudem noch dieHierarchieebene. Die eigentlichen Anwendungsdaten, d.h. das eigentliche Segment, finden sichim Feld SDATA. Dieses Feld wird wiederum in einzelne Anwendungsfelder unterteilt. DieMaximallänge von SDATA beträgt 1000 Bytes.
Das Feld SEGNUM im Statussatz dient dazu, Segmente zu identifizieren, bei denen es zuSyntaxfehlern gekommen ist. SEGFLD erfüllt die gleiche Funktion auf der untersten Ebene derSegmentfelder.
Ein Segment ist als Mußsegment im IDoc-Typ definiert, wurde aber beim Erzeugendes konkreten IDocs nicht gefüllt. Daher gibt es dieses Mußsegment im betreffendenIDoc nicht - die Syntaxprüfung meldet einen Fehler, im Feld SEGNUM wird dasfehlende Segment vermerkt.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Dokumentationswerkzeuge
150 April 2001
DokumentationswerkzeugeVerwendungDie IDoc-Schnittstelle ist offen, d.h. Aufbau und Verwendung der IDoc-Typen können eingesehenwerden. Dafür stellt die IDoc-Schnittstelle Werkzeuge zur Verfügung, die die betreffendeDokumentation in diversen Formaten anzeigen. Sie können zwischen technischer Sicht (etwaFeldlängen oder Releaseinformationen) und Anwendungssicht (z.B. die Bedeutung dereigentlichen Anwendungsdaten im Segment) wählen.
Ein weiterer Vorteil der Dokumentationswerkzeuge ist, daß sie die Information auch“automatengerecht” formatieren können. So ist es beispielsweise möglich, ein EDI-Subsystemmit Informationen über einen neuen IDoc-Typ zu füttern, so daß dieser künftig vom Subsystemproblemlos verarbeitet werden kann.
FunktionsumfangNachfolgende Tabelle gibt einen Überblick, was in welchem Format von welchem Werkzeugdokumentiert werden kann. Die Werkzeuge erreichen Sie über den Einstiegsknoten der IDoc-Schnittstelle [Extern].
Das Format Parser ist eine einfache SAP-Liste der zu dokumentierenden Felder, die von einemParser eines externen Systems gelesen werden kann. Zusammengehörende Einheiten(Segmente, Satzarten etc.) werden durch BEGIN...END - Kommandos eingeschlossen. Die Listekann ihrerseits auf einen PC (Formate: Rich Text, ASCII, Tabellenkalkulation) übertragen oderauch gedruckt werden.
Das Format Baumanzeige wird zur Bildschirmausgabe verwendet. Extern (z.B. auf einem PC)gespeichert werden kann nur in den anderen Formaten.
Das Format DTD ist die Document Type Declaration für die Ausgabe von IDocs in XML-Dateien[Seite 68]. Sie enthält die XML-Elemente, die in den IDocs des verwendeten Typs auftauchenkönnen oder müssen.
Dokumentation von... Unterstützte Formate Einstieg über...
IDoc allgemein (Satzarten) HTML, C-Header, IDoc,Baumanzeige (Bildschirm),Parser
Dokumentation � IDoc-Satzarten
IDoc-Typ speziell (z.B.ORDERS01)
HTML, C-Header, IDoc,Baumanzeige (Bildschirm),DTD, Parser
Dokumentation � IDoc-Typenoder
Segment HTML, Baumanzeige(Bildschirm)
Dokumentation � IDoc-Segmente
AktivitätenAllgemeinen Aufbau (Satzarten) eines IDocs anzeigen [Seite 151]
Dokumentation eines IDoc-Typs anzeigen [Seite 152]
Dokumentation übersetzen [Seite 155]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Allgemeinen Aufbau (IDoc-Satzarten) anzeigen
April 2001 151
Allgemeinen Aufbau (IDoc-Satzarten) anzeigen1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Dokumentation �
IDoc-Satzarten und markieren Sie alle drei Satzarten.
2. Wählen Sie die Version der Satzarten.
Release 4.0 hat z.B. Version 3 (lange Namen, Kundenpräfixe: Das macht sich zumBeispiel bemerkbar beim Feld SEGNAM im Datensatz, der zu Release 4.0 30stellig wird,vorher aber 10stellig war).
3. Markieren Sie über Springen � Benutzereinstellungen alle Anzeigeattribute für IDoc-Typen.Sichern Sie Ihre Einstellungen und gehen Sie zum Einstiegsbild zurück.
Das Bild ist eine Registerkarte aus der IDoc-Administration [Seite 253]. Die Attribute desIDoc-Typs sind nicht markierbar, da Sie hier ja IDoc-Typ-übergreifende Dokumentationabrufen!
4. Wählen Sie für die Baumanzeige. Diese Darstellungsart ist am übersichtlichsten.
Sie erhalten die vollständige Dokumentation über den Aufbau eines jeden IDocs,einschließlich der verwendeten Datenelemente, in der Reihenfolge Kontrollsatz, Daten-und Statussatz. Beachten Sie, daß in typischen IDocs sicherlich mehrere Datensätze(Segmente) und Statussätze vorhanden sind.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Typ- oder Segmentdokumentation anzeigen
152 April 2001
IDoc-Typ- oder Segmentdokumentation anzeigenVoraussetzungen� Im folgenden wird davon ausgegangen, daß Sie sich einen bestimmten IDoc-Typ anzeigen
lassen wollen. Um sich die Dokumentation eines einzelnen Segments anzeigen zu lassen,wählen Sie aus dem Einstiegsmenü der IDoc-Schnittstelle Dokumentation � IDoc-Segmente und fahren mit Schritt 3 im Abschnitt fort. Die Segmentdokumentation unterstütztallerdings nur die HTML- und die Baumanzeige.
Um sich die Dokumentation eines IDoc-Typs allgemein anzeigen zu lassen (IDoc-Satzarten), lesen Sie die Vorgehensweise im Abschnitt Allgemeinen Aufbau (Satzarten)eines IDocs anzeigen [Seite 151]. Diese Dokumentation können Sie in allen untenangegebenen Formaten ausgeben, außer als DTD.
� Wenn Sie die Dokumentation per IDoc verschicken wollen, müssen Sie für Ihren Partner denIDoc-Typ SYIDOC01 mit Nachrichtentyp SYIDOC im Ausgang vereinbaren. WeitereInformationen finden Sie unter Partnervereinbarungen im Standarddialog [Seite 76].
Vorgehensweise1. Um sich einen Überblick über alle von SAP ausgelieferten IDoc-Typen (der Basistypen) zu
verschaffen, wählen Sie im Einstiegsmenü der IDoc-Schnittstelle [Extern] und dann dieF4-Hilfe für Ihr Objekt Basistyp.
Sie erhalten eine Liste der Basistypen zu Ihrem Release nebst Kurzbeschreibung.
2. Wählen Sie den Sie interessierenden IDoc-Typ aus.
3. Wählen Sie Springen � Benutzereinstellungen und bestimmen Sie die gewünschte Sicht. Esbedeuten:
Attribute des IDoc-Typs Basistyp oder Erweiterung, Freigabe, Version derSatzarten: Siehe auch Wichtige Begriffe [Seite158]
Attribute der Segmente Wiederholbarkeit, Erforderlichkeit, qualifiziertesSegment
Attribute der Segmentfelder Länge (in Bytes), Datenelement, aus dem dieFelddokumentation gelesen wird
Dokumentation der Segmente Beschreibender Text für das Segment allgemein
Dokumentation derSegmentfelder
Beschreibender Text für die einzelnen Felder desSegments = Dokumentation der zugehörigenDatenelemente
Feldwerte z.B. Festwerte, die an einer Domäne hängen,oder Prüftabellen, aus denen die möglichen Wertegelesen werden
Die weiteren Einstellungen betreffen Vorschlagswerte für verschiedene Ausgabeformate(HTML, C-Header etc.).
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Typ- oder Segmentdokumentation anzeigen
April 2001 153
4. Kehren Sie zum Einstiegsbild zurück und wählen Sie (Baumanzeige), um eine schnelleÜbersicht im System zu erhalten.
Die einzelnen Segmente und deren Felder werden in einer Baumstruktur dargestellt, wiesie der Eltern-Kind-Segmenthierarchie entspricht.
5. Innerhalb der Baumdarstellung können Sie für einzelne Objekte (z.B. ein bestimmtesSegmentfeld) auswählen, welche Parameter ausgegeben werden sollen. Dazu schalten Siedie entsprechenden Symbole durch Mausklick ein oder aus. Zur Erläuterung der Symbolewählen Sie .
6. Für die weiteren Formate wählen Sie im Einstiegsbild
für das IDoc-Format. Geben Sie den entsprechenden Partner an (Partnernummer und -art).
für das HTML-Format. Es werden drei Dateien erzeugt: Eine für den Rahmen (frame),eine für den Index und eine für die eigentliche Dokumentation. Ihre Namen endenentsprechend mit _f, _i und _d. Ein HTML-Browser lädt die Rahmendatei und setzt dannIndex- und Dokumentationsdatei in die entsprechenden Teile des Rahmens. Wenn Siees in den Anwenderparametern der IDoc-Administration [Seite 253] so eingestellt haben,wird der Browser automatisch gestartet.
für den C-Header
für den Parser
Dokumentation � DTD erzeugen für das DTD-Format
Im C-Header und im HTML-Format findet sich die Information “freigegeben seitRelease...”. Genaugenommen stimmt das erst ab Release 4.0A. Vor 4.0A bis 3.0Dgibt diese Information das Release an, zu dem der IDoc-Typ angelegt wurde (wasfreilich meist auch das Freigaberelease war). Vor Release 3.0D gab es dieseInformation noch nicht.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ein IDoc mittels XSL-Stylesheet anzeigen
154 April 2001
Ein IDoc mittels XSL-Stylesheet anzeigenVerwendungIDocs im XML-Format (wie sie z.B. der Business Connector erzeugt) können Sie vermittels einesStylesheets individuell darstellen. Die Stylesheets können Sie mit den unten angegebenenSchritten testen.
VoraussetzungenSie haben Ihr Stylesheet nebst Bildern auf dem Präsentationsserver oder im Web Repositoryabgelegt (Transaktion SMW0). Bilder werden im Web Repository als binäre Objekte, Stylesheetsals HTML-Schablonen identifiziert.
Vorgehensweise1. Vom Einstiegsknoten der IDoc-Schnittstelle wählen Sie Entwicklung -> IDoc-Styles.
2. Identifizieren Sie Ihr Stylesheet und die Bilder über eine Style-ID. Beachten Sie die F1-Hilfeauf den Feldern. Ordnen Sie die Style-ID dem gewünschten Nachrichtentyp zu.
3. Pflegen Sie eine Eingangs-Partnervereinbarung [Seite 84] für den gewünschtenNachrichtentyp. Als Vorgangscode wählen Sie ED00_XML. Ordnen Sie sich als erlaubtenBearbeiter zu.
4. Erzeugen Sie ein Test-IDoc des gewünschten Nachrichtentyps, z.B. mit dem Testwerkzeug[Seite 96], und spielen es ein.
5. Sie erhalten ein Workitem im Business Workplace, Beim Ausführen erhalten Sie die XML-Anzeige des IDocs.
Über Ansicht können Sie andere Stylesheets auswählen.
6. Beenden Sie das Workitem über Bearbeiten. Hier können Sie auch das Löschkennzeichensetzen, womit das IDoc einen archivierbaren (und damit löschbaren) Status [Seite 128]erhält.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Dokumentation übersetzen
April 2001 155
Dokumentation übersetzenVerwendungZu eigenen Definitionen (Erweiterungen, Sichten oder Basistypen) erfassen Sie auchDokumentation mit den Entwicklungswerkzeugen der IDoc-Schnittstelle (Segment- und IDoc-Typ-Editor). Um diese Dokumentation in andere Sprachen zu übersetzen, müssen Sie dieallgemeine Übersetzungstransaktion verwenden.
Voraussetzungen� Sie haben die Berechtigung für die Übersetzungstransaktion SE63 (Berechtigungsobjekt
S_TRANSLAT).
� Eine eigene Erweiterung, Sicht oder ein eigener Basistyp liegt vor und ist getestet. WeitereInformationen hierzu finden Sie unter
Erweiterung eines IDoc-Typs [Seite 176]
IDoc-Sichten [Seite 172]
Definition und Verwendung eines Basistyps [Seite 194]
� Sie haben sich eine Liste der von Ihnen neu definierten Segmente zusammengestellt.
� Sie besitzen eine entsprechende Liste der Datenelemente, die Sie für Ihre neu definiertenSegmentfelder benutzen und die noch nicht übersetzt sind.
� Für diese Datenelemente besitzen Sie eine Liste der hinterlegten Domänen, die noch zuübersetzende Festwerte haben.
Vorgehensweise1. Wählen Sie auf dem R/3-Einstiegsbild Werkzeuge � ABAP Workbench, Hilfsmittel �
Übersetzung � Kurz- und Langtexte.
Sie gelangen in die allgemeine Übersetzungstransaktion.
2. Nur wenn Sie noch nicht übersetzte Datenelemente für Ihre Segmentfelder verwendethaben: Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Datenelemente. GebenSie ein Datenelement, Quell- und Zielsprache ein und wählen Sie Umfeld mit Langtexten.Übersetzen Sie Ihre Datenelemente (Kurztexte) und deren Dokumentation (Langtexte).Sichern Sie die Texte. Verfahren Sie so mit allen Datenelementen Ihrer Liste.
Segmentfelder werden über Datenelemente dokumentiert. Daher müssen Sie in derÜbersetzungstransaktion sowohl die Kurz- als auch die Langtexte übersetzen.
3. Nur wenn Sie noch nicht übersetzte Festwerte für Ihre Segmentfelder verwendet haben:Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Werte. Geben Sie eineDomäne, Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie IhreFestwerte (Kurztexte) und sichern Sie die Texte. Verfahren Sie so mit allen Domänen IhrerListe.
4. Wählen Sie Übersetzung � Kurztexte � ABAP Dictionary � Text zu Tabellen. Geben Sieeinen Segmenttyp, Quell- und Zielsprache ein und wählen Sie Umfeld mit Langtexten.Übersetzen Sie Kurzbeschreibung und die Dokumentation (den Langtext) Ihrer „Tabelle“.Sichern Sie die Texte. Verfahren Sie so mit allen Segmenten Ihrer Liste.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Dokumentation übersetzen
156 April 2001
Segmenttypen sind im Dictionary als Strukturen abgelegt. Da jede Tabelle auch eineStruktur besitzt, werden Tabellen und Strukturen in der Übersetzungstransaktion als„Tabellen“ bezeichnet. Zu Strukturen und Tabellen werden dokumentierende Kurz- undLangtexte erfaßt.
Ein Absprung in die Übersetzung findet sich auch im Segmenteditor [Seite 198]:Wählen Sie dort Umfeld � Übersetzung.
5. Wählen Sie Übersetzung � logische Objekte � logische Objekte. Geben Sie als Objekt ein:
� IDOC, wenn Sie einen Basistyp definiert haben,
� IEXT, wenn Sie eine Erweiterung definiert haben
� IDCV, wenn Sie eine Sicht definiert haben
Geben Sie Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie dieKurzbeschreibung und sichern Sie den Text.
Ein Absprung in die Übersetzung findet sich auch im IDoc-Typ-Editor [Seite 171]bzw. den IDoc-Sichten [Seite 172]: Wählen Sie dort Umfeld � Übersetzung.
6. Nur wenn Sie eine neue logische Nachricht definiert haben: Wählen Sie Übersetzung �Kurztexte � Tabelleninhalte. Geben Sie die Tabelle EDIMSGT ein und Quell- undZielsprache. Wählen Sie Bearbeiten. Übersetzen Sie die Beschreibung und sichern Sie denText.
7. Nur wenn Sie einen neuen Vorgangscode definiert haben: Wählen Sie Übersetzung �Kurztexte � Tabelleneinträge. Geben Sie als Tabelle ein:
� EDE1T, wenn Sie einen Vorgangscode für den Ausgang definiert haben
� EDE2T, wenn Sie einen Vorgangscode für den Eingang definiert haben
Geben Sie Quell- und Zielsprache ein und wählen Sie Bearbeiten. Übersetzen Sie dieBeschreibung und sichern Sie den Text.
ErgebnisSie haben die Dokumentation zu Ihren Neudefinitionen übersetzt. Wenn Sie sich im System inder Zielsprache anmelden, geben die Dokumentationswerkzeuge die übersetzten Kurz- undLangtexte aus. In der IDoc-Schnittstelle sind Ihre neuen logischen Nachrichten undVorgangscodes in der Zielsprache beschrieben.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Neue IDoc-Typen definieren
April 2001 157
Neue IDoc-Typen definierenEinsatzmöglichkeitenWenn die im Standard von SAP ausgelieferten IDoc-Typen (die Basistypen) Ihre Bedürfnissenicht abdecken, können Sie Ihre eigenen IDoc-Typen definieren.
VoraussetzungenBevor Sie einen neuen IDoc-Typ definieren, sollten Sie zunächst prüfen, ob die Basistypen nichtIhre Bedürfnisse abdecken. Eine Liste dieser Basistypen und Ihrer Bedeutung erhalten Sie überdie Dokumentationswerkzeuge der IDoc-Schnittstelle: Verfahren Sie, wie unter Punkt 1 desAbschnitts IDoc-Typ- oder Segmentdokumentation anzeigen [Seite 152] beschrieben ist.
AblaufVorbereitungNeue IDoc-Typen sollten im Rahmen einer Kundenerweiterung definiert werden, innerhalbderer Kundensegmente an einen bestehenden Basistyp angehängt werden. Der Abschnitt
Wichtige Begriffe [Seite 158]
klärt diese und weitere wichtige Begriffe und sollte zuerst gelesen werden.
Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente [Seite 164]
Für eine Kundenerweiterung sollten Sie zunächst die Segmente zusammenstellen, die Sie dazubrauchen. Dabei müssen Sie eventuell eigene Segmente entwickeln, bei denen Sie dieseRichtlinien beachten sollten. Die
Designrichtlinien beim Erstellen neuer IDoc-Typen [Seite 166]
sollten auf jeden Fall beachtet werden.
DefinitionFür die Definition setzen Sie die Entwicklungswerkzeuge der IDoc-Schnittstelle ein, die in denfolgenden Abschnitten beschrieben sind:
Segmenteditor [Seite 167]
IDoc-Typ-Editor [Seite 171]
Die Programmierschnittstelle (API) zur Definition von IDoc-Typen [Seite 173]
Die automatische Definition von IDoc-Typen wird nur in speziellen Fällen benötigt. Der Abschnittkann im allgemeinen übersprungen werden.
Checklisten: Von der Definition bis zum EinsatzDie folgenden zwei Checklisten geben die generelle Vorgehensweise von der Definition bis zumEinsatz von neuen IDoc-Typen in zwei Fällen an:
Erweiterung eines IDoc-Typs [Seite 176]
Definition und Verwendung eines Basistyps [Seite 194]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Wichtige Begriffe
158 April 2001
Wichtige BegriffeBasistyp, Erweiterung, IDoc-Typ [Seite 159]
Segmenttyp und Segmentdefinition [Seite 160]
Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161]
Versionierung und Freigabeverfahren [Seite 162]
Namensräume [Seite 163]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Basistyp, Erweiterung, IDoc-Typ
April 2001 159
Basistyp, Erweiterung, IDoc-TypDefinitionIDoc-Typen können entweder im Original von SAP ausgeliefert sein: Das sind die Basistypen.Oder es können Kundenerweiterungen sein: Dabei wird ein Basistyp mit einer vom Kundendefinierten Erweiterung nach festen Regeln kombiniert. Im Gegensatz zur Kundenentwicklung(oder Modifikation, siehe Kundenerweiterung, SAP- und Kundenentwicklung [Seite 161]) ist einsolcher erweiterter Basistyp aufwärtskompatibel.
Zu den Releases 3.X wurden andere Begriffe verwendet: Der jetzige Basistyp hieß“Basis-IDoc-Typ”, die Erweiterung hieß “Erweiterungstyp”. Der Begriff “IDoc-Typ”wurde sowohl für den erweiterten Basistyp wie auch für den Überbegriff verwendet!
Erweiterungen werden über Referenzsegmente an Basistypen “angehängt”. Da kein Basistyp inspäteren SAP-Releases Segmente verlieren kann, ist die Kompatibilität gesichert.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Segmenttyp und Segmentdefinition
160 April 2001
Segmenttyp und SegmentdefinitionDefinitionGrundbausteine eines IDoc-Typs sind die Segmente: Hier werden die eigentlichen Datenabgelegt.
Ein Segmenttyp ist die releaseunabhängige Bezeichnung eines Segmentes.
Die Segmentdefinition ist die releaseabhängige Bezeichnung eines Segmentes. Mit Hilfe desSegmenttyps und des Releases wird die gewünschte Segmentdefinition ermittelt: So können Sieeinem IDoc-Typ aus dem aktuellen Release die Definitionen seiner Segmente aus früherenReleases zuweisen. Dies kann z.B. dann nötig sein, wenn Ihr Partner ein älteres Releaseverwendet, das zwar Ihren aktuellen IDoc-Typ unterstützt, nicht aber Ihre aktuellenSegmentdefinitionen. Dann müssen Sie diese in den Partnervereinbarungen [Seite 78]“zurückschalten”.
Die Segmentdefinition ist auch der externe Name des Segments, den das Partnersystem „sieht“.
Ähnliche Begriffe bei IDocs werden nicht analog verwendet: So ist ein IDoc-Typdatenunabhängig (“Ein IDoc ist ein mit Daten gefüllter IDoc-Typ”), während einSegmenttyp releaseunabhängig ist. Ein Segment kann sowohl Teil eines IDocs(datenabhängig) wie auch Teil eines IDoc-Typs sein (datenunabhängig).
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Kundenerweiterung, SAP- und Kundenentwicklung
April 2001 161
Kundenerweiterung, SAP- und KundenentwicklungDefinitionKundenerweiterung - Erweiterte Basistypen werden bei einem Releasewechsel weiterhinunterstützt. Von SAP ausgelieferte Nachfolger von Basistypen aus vorhergehenden Releaseswerden automatisch mit den bereits verwendeten Erweiterungen kombiniert. Es ist keinemanuelle Pflege erforderlich.
SAP-Entwicklung - Von SAP entwickelte neue IDoc-Typen werden als neue Basistypenausgeliefert. Beim Releasewechsel ist keine manuelle Pflege seitens des Kunden erforderlich.
Kundenentwicklung (Modifikation) - Vom Kunden definierte eigene Basistypen und eventuelleErweiterungen dieser bleiben bei einem Releasewechsel unverändert. Diese sogenanntenKundenentwicklungen müssen damit eventuell nachgepflegt werden.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Versionierung und Freigabeverfahren
162 April 2001
Versionierung und FreigabeverfahrenDefinitionFolgende Entwicklungsobjekte der IDoc-Schnittstelle können releaseabhängig sein, d.h. es kannverschiedene Versionen von ihnen geben:
� Basistypen
� Erweiterungen
� Segmente (jede Segmentdefinition ist eine Version des Segments)
Bei Basistypen erkennen Sie die Version normalerweise an den letzten zwei Ziffern, beiSegmenten sind es die letzten drei Ziffern, die die jeweilige Segmentdefinition anzeigen.
Pro Release darf es nur eine Version des jeweiligen Objektes geben. Diese Versionen stehen ineindeutiger Vorgänger/Nachfolgerbeziehung.
Ein IDoc-Typ, der eine Kombination aus Basistyp und Erweiterung ist (ein erweiterterBasistyp), kann also auf mehrere Arten versionsabhängig sein:
� Es gibt mehrere Versionen des Basistyps
� Es gibt mehrere Versionen der Erweiterung
� Es gibt mehrere Versionen von Segmenten des Basistyps
� Es gibt mehrere Versionen von Segmenten der Erweiterung
� Beliebige Kombination dieser vier Fälle
Ein Nachfolger muß immer die gleichen Teile wie der Vorgänger und mindestens eines mehrbesitzen: Eine neue Segmentdefinition muß also alle Felder ihres Vorgängers und mindestenseines mehr besitzen. Ein Nachfolger eines Basistyps oder einer Erweiterung muß mindestensalle Segmente seines Vorgängers und mindestens eins mehr besitzen.
Um einen neuen Nachfolger anlegen zu können, müssen Sie den Vorgänger freigegebenhaben. Durch die Freigabe wird das Objekt vor Veränderungen geschützt. Falls noch keinNachfolger des Entwicklungsobjekts angelegt wurde, kann die Freigabe zurückgenommenwerden.
Eine nicht freigegebene Segmentdefinition erhält den Initialwert “000” alsVersionsnummer.
Sie sollten erst dann freigeben, wenn Ihre Entwicklung endgültig abgeschlossen ist.Testen können Sie nämlich auch mit nicht freigegebenen Objekten! Sie sollten dieFreigabe nur in Ausnahmefällen aufheben, da nachträgliche Änderungen an bereitsverwendeten Objekten zu Inkonsistenzen führen können. Insbesondere verstehenFolgesysteme diese Änderungen nicht mehr.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Namensräume
April 2001 163
NamensräumeDefinitionKunden- und SAP-Entwicklungen finden in unterschiedlichen Namensräumen statt, die durchdie erlaubten Anfangsbuchstaben der jeweiligen Entwicklungsobjekte definiert sind. Zusätzlichgibt es ab Release 4.0 Kunden- und SAP-Präfixe, z.B. “/sap/” oder “/<Kunde>/”.
VerwendungUntenstehende Tabelle gibt die Namensräume für die betroffenen Entwicklungsobjekte der IDoc-Schnittstelle an.
Objekt SAP-Namen beginnen mit... Kundennamen beginnen mit...
Basistyp A-X oder SAP-Präfix Y-Z oder Präfix
Erweiterung nicht von SAP ausgeliefert alle Namen möglich
Segment E1 Z1 oder Präfix
Nachrichtentyp A-X Y-Z oder Präfix
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente
164 April 2001
Designrichtlinien und Formatierungsregeln beimErstellen neuer SegmenteDesignrichtlinien� Erfinden Sie das Rad nicht neu
Vor dem Erstellen prüfen Sie, ob nicht ein bereits bestehendes Segment IhreForderungen abdeckt. Orientieren Sie sich auch an EDI-Standards, wie etwa ANSI X12(nordamerikanischer Raum) oder EDIFACT (weltweit). Bei codierten Feldwerten solltenSie ISO-Codes verwenden, um sich an eine allgemein übliche Norm anzulehnen. ISO-Codes existieren beispielsweise für Länder (ISO 3166), Währungen (ISO 4217) oderMaßeinheiten (ISO 31).
� Gruppieren Sie Ihre Daten sinnvoll
Betriebswirtschaftliche Daten werden in Segmentfeldern abgebildet. Logischzusammengehörende Daten sollten auch zu einem Segment zusammengefaßt werden.Logisch zusammengehörende Segmente sollten zu einer Segmentgruppezusammengefaßt werden. Zum Beispiel können die Materialien einer Bestellung ineinem Segment abgebildet werden. Zusammen mit anderen Segmenten (Informationenzum Partner, zu den Steuern und Zahlungsbedingungen) ist dieses Segment dann Teilder Segmentgruppe “Positionen”.
� Schaffen Sie universelle Segmente
Damit können Sie einmal erstellte Segmente in anderen IDoc-Typen erneut einsetzen.Prüfen Sie, ob ein Segment nachrichtenunabhängig verwendbar ist. Ein in diesem Sinneuniverselles Segment ist beispielsweise eines, welches allgemeine Adreßdaten enthält.
� Schaffen Sie übersichtliche Segmente und Segmentgruppen
Plazieren Sie Mußfelder möglichst weit vorne im Segment. 2 Segmente, die immerzusammen vorkommen, sollten zu einem Segment zusammengefaßt werden.
Überlegen Sie, ob Sie die Verwendung von Qualifiern vermeiden können. Qualifier (=Kennzeichen, wie ein Segment verwendet wird) sind schwer zu dokumentieren und zuinterpretieren. Qualifier sind meist auch nicht anwendungsübergreifend festgelegt, sodaß diese Segmente nicht universell sind.
� Denken Sie ökonomisch
Die Maximallänge aller Felder eines Segments liegt bei 1000 Zeichen. Je größer einSegment ist, um so besser ist das Verhältnis von Nutzdaten zu Verwaltungsdaten. Wennes sich herausstellt, daß später noch weitere Daten in einem Segment benötigt werden,ist allerdings eine gewisse Platzreserve im Segment zum Hinzufügen von Feldernsinnvoll.
� Dokumentieren Sie Ihre Segmente
Nutzen Sie die Dokumentationsmöglichkeiten, die Ihnen der Segmenteditor bietet. Siekönnen pro Feld ein zusätzliches Datenelement hinterlegen, das Informationen über dieFeldverwendung in der Anwendung trägt. Außerdem können Sie Dokumentation zueinem Segment erfassen, um Eigenschaften des gesamten Segments und seinesAufbaus zu erläutern. Bedenken Sie bei Ihrer Dokumentation sowohl die Verwendungder Segmentfelder im Eingang als auch im Ausgang.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Designrichtlinien und Formatierungsregeln beim Erstellen neuer Segmente
April 2001 165
� Denken Sie an eine eventuelle Konvertierung in EDI-Standards
Dazu sollten Sie die unten aufgeführten Formatierungsregeln speziell für diesen Fallbeachten.
FormatierungsregelnAllgemein gelten folgende Formatierungsregeln für Daten in Segmentfeldern:
� Die Felder in Segmenten dürfen nur alphanumerische Daten enthalten. Dies wird durch dieVerwendung von charakterähnlichen Datenelementen in den Segmentfeldern erreicht.
� Es wird nicht zwischen Groß- und Kleinschreibung unterschieden.
� Die Felder werden linksbündig gefüllt.
� Die Standarddarstellung (ohne Qualifier) für das Datum ist YYYYMMDD. Der 28. Februar1996 würde somit als 19960228 dargestellt werden.
� Die Standarddarstellung (ohne Qualifier) für die Uhrzeit ist HHMMSS. Die Uhrzeit 20 Uhr 35würde somit als 203500 dargestellt werden.
� Bei Fixkommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keineTausender-Trennzeichen. Negative Werte werden durch ein nachfolgendes Minuszeichengekennzeichnet.
Deutsche Notierung: Die Zahl -2.097.152,64 würde als 2097152.64- dargestellt werden.
Amerikanische Notierung: Die Zahl -2,097,152.64 würde als 2097152.64- dargestelltwerden.
� Bei Fließkommazahlen wird als Dezimalzeichen der Punkt verwendet, es gibt keineTausender-Trennzeichen. Negative Werte werden durch ein vorangestelltes Minuszeichengekennzeichnet, der Exponent wird immer mit angegeben.
Deutsche Notierung: Die Zahl -23,4 würde als -2.34E+01 dargestellt werden.
Amerikanische Notierung: Die Zahl -23.4 würde als -2.34E+01 dargestellt werden.
Wenn Ihre IDocs in andere EDI-Standards (EDIFACT, ANSI X12) umgewandelt werden sollen,können zusätzlich folgende Regeln hilfreich sein:
� Segmentfelder im IDoc sollten möglichst direkt auf EDI-Datenelemente abgebildet werdenkönnen. Vermeiden Sie das Aufteilen, Zusammensetzen oder sonstige Umsetzungen, die zuSchwierigkeiten bei der automatischen Konvertierung führen.
� Die Feldlänge sollte die Maximallänge der SAP-Anwendung oder der betrachteten EDI-Standards betragen (je nachdem, welche größer ist), so daß die vorhandene Informationimmer vollständig übertragen werden kann.
� Mußfelder der Segmente im EDI-Standard müssen im IDoc-Segment enthalten sein, um einefehlerfreie Konvertierung zu ermöglichen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Designrichtlinien beim Erstellen neuer IDoc-Typen
166 April 2001
Designrichtlinien beim Erstellen neuer IDoc-Typen� Schaffen Sie übersichtliche IDoc-Typen
Ihr IDoc-Typ sollte eine flache Struktur besitzen (nicht zu viele Eltern-Kind-Generationen). Ein Segment darf bei der Definition eines IDoc-Typs nur einmalverwendet werden. Da Segmente oder Segmentgruppen aber wiederholt werden können(maximale und minimale Wiederholbarkeit sind zwei ihrer Attribute) und überdies nuroptional sein können (Attribut: Kannsegment), können sie im erzeugten IDoc durchausmehrfach oder überhaupt nicht erscheinen. Plazieren Sie Mußsegmente möglichst weitvorne im IDoc-Typ.
� Denken Sie an eine eventuelle Konvertierung in EDI-Standards
Mußsegmente der EDI-Standards sollten dann auch Mußsegmenten im IDoc-Typentsprechen. Ebenso sollten maximale und minimale Wiederholbarkeit entsprechendgewählt werden.
� Denken Sie an die zugeordneten Funktionsbausteine
Der Buchungsbaustein muß alle zulässigen IDocs des jeweiligen IDoc-Typs verarbeitenkönnen. Ebenso muß der Selektionsbaustein die Segmente in der korrekten Reihenfolgeund Hierarchie erstellen können. Andernfalls konstatiert die Syntaxprüfung der IDoc-Schnittstelle einen Fehler.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Segmenteditor
April 2001 167
SegmenteditorVerwendungSegmente werden im Segmenteditor angelegt und geändert. Dabei geschieht die Änderungimmer auf der Ebene der Segmentdefinition [Seite 160], also der zum aktuellen Releasegehörenden Version des Segmentes. Der Segmenteditor stellt sicher, daß die Regeln beimErstellen von Segmentdefinitionen eingehalten werden, z.B. ob nur eine Segmentdefinition proRelease existiert.
FunktionsumfangDie Segmentdefinitionen werden komfortabel aus den einzelnen Feldern und denzugrundeliegenden Datenelementen und Domänen zusammengestellt. Zusätzlich kann (undsollte!) Anwendungsdokumentation zu den Segmentdefinitionen erfaßt werden. Sie bekommensofort einen Überblick über die bereits erfaßten Segmentdefinitionen. Über denVerwendungsnachweis erhalten Sie sämtliche IDoc-Typen, in denen das jeweilige Segmentbereits vorkommt.
Wenn die Entwicklung einer Segmentdefinition abgeschlossen ist, wird sie vom Editor ausaktiviert und freigegeben. Durch das Aktivieren werden alle zugrundeliegenden Strukturen imABAP Dictionary aktiviert. Die Freigabe einer Segmentdefinition ist ein Sicherheitskonzept: Sieverhindert, daß die Segmentdefinition weiter geändert wird.
Der Segmenteditor besitzt einen automatischen Transportanschluß. Wenn Sie Objektedefinieren oder ändern, wird automatisch der Auftrag abgefragt, der diese Änderung zugeordnetwerden soll. Diese Abfrage können Sie vermeiden, indem Sie einen Standardauftrag setzen,dem alle Änderungen, die Sie in einer Sitzung durchführen, zugeordnet werden. DerStandardauftrag kann direkt vom Segmenteditor gesetzt werden.
AktivitätenSegmente ändern [Seite 168]
Segment definieren [Seite 198]
Kommunikation mit älteren Releases [Seite 34]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Segmente ändern
168 April 2001
Segmente ändernVoraussetzungenSegmente werden über ihre Segmentdefinitionen geändert. Es darf nur eine Segmentdefinitionpro SAP Release geben. Wenn daher ein Segment schon eine Segmentdefinition aus demaktuellen Release besitzt, kann es nur geändert werden, indem diese aktuelle Segmentdefinitionüberschrieben wird.
Vorgehensweise1. Zum Segmenteditor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern]
über Entwicklung � IDoc-Segmente. Geben Sie den Segmenttyp ein und wählen Sie .
Der Editor zeigt die bestehenden Segmentdefinitionen mit Freigabekennzeichen undzugehörigem Release an.
2. Bevor Sie das Segment ändern, sollten Sie einen Transportauftrag anlegen, in den SieIhre neue Segmentdefinition und dessen Dokumentation stellen. In den WorkbenchOrganizer gelangen Sie aus dem Segmenteditor über Hilfsmittel � Aufträge (Organizer).Von dort aus wählen Sie und beantworten die Abfragen. Über gelangen Sie in denSegmenteditor zurück.
3. Wenn die letze Segmentdefinition aus Ihrem Release stammt und freigegeben ist,müssen Sie das Freigabekennzeichen über Bearbeiten � Freigabe aufhebenzurücknehmen.
4. Editieren Sie die letzte nicht freigegebene Segmentdefinition über oder legen Sieüber eine neue, zum aktuellen Release gehörige Segmentdefinition an.
Wenn die editierte Segmentdefinition einen Vorgänger (also eine frühere Version)besitzt, dann werden die Felder dieses Vorgängers im Editor grau angezeigt und sindnicht änderbar. Sie können nur neue Felder an das Segment hängen (Vorgänger-Nachfolgerbeziehung!)
5. Die weiteren Schritte (Editieren, Sichern, Freigeben, Transportieren) sind analog imAbschnitt Segment definieren [Seite 198] beschrieben. Die Version Ihrer neuenSegmentdefinition ist um 1 höher als die der letzten Segmentdefinition.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Segment definieren
April 2001 169
Segment definierenEs wird der Fall betrachtet, daß Sie ein neues Segment anlegen müssen. Wenn Sie eine neueSegmentdefinition anlegen müssen, ändern Sie ein bestehendes Segment [Seite 168] mit demSegmenteditor.
VoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.
Vorgehensweise1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle
[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an.
2. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie .
3. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll(Ankreuzfeld).
Aus den Datenelementen werden über die Domäne die Feldlängen (in Bytes) alsExportlängen und eventuell Festwerte abgeleitet. Auch die Dokumentation desDatenelements wird übernommen und in den Dokumentationswerkzeugen angezeigt.
Ändern Sie nicht die Exportlänge! Daten werden als Character-Felder dieser Länge miteinem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ desgewählten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Längegespeichert. Unterschiedliche Längen können zu Datenverlust (Abschneidenüberzähliger Bytes) führen.
4. Wählen Sie Springen � Dokumentation und beschreiben Sie Ihren Segmenttyp. SichernSie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in denSegmenteditor zurück.
Wenn Sie später Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ überdie Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hierverfaßte Beschreibung erscheinen.
5. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.
Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.
6. Verlassen Sie das Bild (F3).
Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit derVersionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Segment definieren
170 April 2001
ErgebnisSie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist nochnicht freigegeben [Seite 162], aber Sie können mit ihm bereits testen und arbeiten. Sie solltenIhr Segment erst freigeben, wenn Ihre geplante Verarbeitung fehlerfrei funktioniert!
Im Fallbeispiel definieren Sie zwei Segmente, E1HEAD (Kopf) und E1ITEM(Position). Diese beiden Beispielsegmente sind bereits im System vorhanden. Siedienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das SegmentE1HEAD beginnt beispielsweise mit folgenden Feldern:
Feld Datenelement Länge
BELNR (Belegnummer) EDI_BELNR 35
VKORG (Verkaufsorgan.) VKORG 4
VTWEG (Vertriebsweg) VTWEG 2
SPART (Sparte) SPART 2
... ... ...
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Typ-Editor
April 2001 171
IDoc-Typ-EditorVerwendungMit diesem Werkzeug werden IDoc-Typen erstellt und bearbeitet. Sie können sowohl Basistypeneditieren (SAP- oder Kundenentwicklung) wie auch Erweiterungen (Kundenerweiterung).
FunktionsumfangAbgesehen von zwei Kopfeinträgen (Name u. Beschreibung) werden IDoc-Typen auf der Ebeneder Segmente editiert. Segmente können angehängt, eingefügt oder wieder gelöscht werden.Der IDoc-Typ-Editor erlaubt auch, in den Segmenteditor zu springen.
Der IDoc-Typ wird als Baum dargestellt, in dem z.B. auch die Eltern-Kind-Struktur vonSegmenten zum Ausdruck kommt (siehe auch den Abschnitt Allgemeiner Aufbau eines IDocs[Seite 146]): Ein Elternsegment wird dabei als Knoten angezeigt, der in die einzelnen Kinderverzweigt.
Wenn die Entwicklung eines IDoc-Typs abgeschlossen ist, wird sie vom Editor aus freigegeben.Die Freigabe ist wie beim Fall der Segmentdefinition ein Sicherheitskonzept: Sie verhindert, daßder IDoc-Typ weiter geändert wird. Vor der Freigabe sollte aber vom Editor aus geprüft werden,ob der IDoc-Typ auf Segmentebene konsistent ist - Damit wird beispielsweise verhindert, daßfehlerhafte Segmente eingebaut werden.
Vom IDoc-Typ-Editor aus kann man direkt dem neuen IDoc-Typ eine Nachricht zuordnen.Beachten Sie, daß Sie das sowieso tun müssen, da später in den Partnervereinbarungen aufdiese Zuordnung geprüft wird!
Der IDoc-Typ-Editor besitzt einen automatischen Transportanschluß. Wenn Sie irgendwelcheObjekte definieren oder ändern, wird automatisch die Korrektur abgefragt, der diese Änderungzugeordnet werden soll. Diese Abfrage können Sie vermeiden, wenn Sie einen Standardauftragsetzen, dem dann alle Änderungen, die Sie in einer Sitzung durchführen, zugeordnet werden.Der Standardauftrag kann direkt vom IDoc-Typ-Editor gesetzt werden.
AktivitätenMit dem IDoc-Typ-Editor erweitern oder schaffen Sie nur den IDoc-Typ. Um einen neuen IDoc-Typ (erweiterter oder neuer Basistyp) tatsächlich einsetzen zu können, müssen Sie allerdingsnoch mehr tun. Beachten Sie dazu folgende
Zwei Checklisten:Erweiterung eines IDoc-Typs [Seite 176]
Definition und Verwendung eines Basistyps [Seite 194]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
IDoc-Sichten
172 April 2001
IDoc-SichtenVerwendungIDoc-Typen können für mehr als eine Nachricht, d.h. für mehr als einen Geschäftsprozeßverwendet werden. Dadurch enthalten sie im allgemeinen mehr Segmente, als im konkretenAnwendungsfall benötigt wird. Um die Performance beim Erzeugen des IDocs zu verbessern,können Sie durch Sichten erreichen, daß nur die für den jeweiligen Geschäftsprozeß relevantenSegmente mit Daten gefüllt werden. Sichten spielen also nur beim IDoc-Ausgang eine Rolle.
IntegrationDie Anwendung muß diese Funktion unterstützen: Das Programm, das die Anwendungsdaten inIDocs schreibt, muß folgendes leisten:
� Abfrage der Partnervereinbarungen, ob eine Sicht existiert. Hierzu wird derFunktionsbaustein EDI_PARTNER_READ_OUTGOING aufgerufen.
� Abfrage, welche Segmente zur Sicht gehören. Hierzu wird der FunktionsbausteinEDI_VIEW_READ einmal aufgerufen, der die Segmente in einer Tabelle liefert.
� Abfrage, ob das aktuelle Segment in der aktuellen Sicht gefüllt werden soll. Hierzu wirddie von EDI_VIEW_READ zurückgegebene Tabelle benutzt.
Im Standard werden Sichten auf die IDoc-Typen DELVRY01 und INVOIC01 ausgeliefert.
VoraussetzungenSie benötigen IDoc-Entwicklungsberechtigungen (Berechtigungsobjekt S_IDOCDEFT, z.B. in derRolle SAP_BC_SRV_EDI_DEVELOPER_AG), um eine Sicht zu definieren.
Aktivitäten1. Im Einstiegsknoten der IDoc-Schnittstelle [Extern] wählen Sie Entwicklung � IDoc-Sicht,
um eine Sicht zu definieren. Geben Sie einen Namen für die Sicht ein und wählen Sie.
2. Im nächsten Bild ordnen Sie der Sicht einen Nachrichtentyp (logische Nachricht) undeinen Basistyp, optional auch eine Erweiterung zu. Diese Zuordnung wird in denPartnervereinbarungen geprüft.
3. Positionieren Sie auf ein Segment, das in der Sicht vorkommen soll. Wählen Sie .Folgende Segmente müssen in der Sicht vorkommen:
a) Qualifizierte Segmente
b) Mußsegmente
4. Sichern Sie Ihre Angaben.
5. In den Partnervereinbarungen (Ausgang allgemein [Seite 78]) tragen Sie für diebetreffenden Kombinationen aus Partner und Nachricht die Sicht ein.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Das API zur IDoc-Typ- und Segmentdefinition
April 2001 173
Das API zur IDoc-Typ- und SegmentdefinitionDefinitionZur automatischen, dialogfreien Entwicklung von Segmenten und IDoc-Typen steht Ihnen eineReihe von Funktionsbausteinen zur Verfügung. Diese Programmierschnittstelle (API) wird auchvom IDoc-Typ- und Segmenteditor verwendet.
VerwendungHinter BAPIs [Extern] stehen IDoc-Typen zur Übertragung der Geschäftsinformationen. Wennneue BAPIs erzeugt werden, werden die entsprechenden IDocs über dieses API erzeugt.
StrukturDas API ist auf drei Funktionsgruppen verteilt: Die auf Segmenten operierendenFunktionsbausteine finden sich in der Funktionsgruppe EDIJ, die auf Basistypen undErweiterungen operierenden Funktionsbausteine in der Funktionsgruppe EDIM. Die dritteFunktionsgruppe ist eine Gruppe RFC-fähiger Funktionsbausteine, die von externenEntwicklungen genutzt werden können. Ein Beispiel ist die IDoc-Klassenbibliothek [Extern](Dokumentation nur auf Englisch verfügbar!), die in C geschrieben ist.
Funktionsbausteine aus der Gruppe EDIJ (Segmente)
Name Beschreibung
SEGMENT_CREATE Legt ein neues Segment an. DieSegmentstruktur wird als Tabelle übergeben. Dieneue (und bislang einzige) Segmentdefinition hatvorläufig die Releasekennung <SPACE>. Dieerste Version (Segmentdefinition [Seite 160]) ist000.
SEGMENT_MODIFY Ändert ein bestehendes Segment. Abhängigvom Freigabekennzeichen wird eine neueSegmentdefinition angelegt oder einebestehende verändert.
SEGMENT_DELETE Löscht ein komplettes Segment.
SEGMENTDEFINITION_DELETE Löscht eine nicht freigegebeneSegmentdefinition.
SEGMENTDEFINITION_CLOSE Gibt eine Segmentdefinition frei, setzt also dasFreigabekennzeichen. Die freigegebeneSegmentdefinition bekommt das Kennzeichendes aktuellen Releases.
SEGMENTDEFINITION_UNCLOSE Nimmt die Freigabe zurück, löscht also dasFreigabekennzeichen. Die betroffeneSegmentdefinition bekommt <SPACE> alsReleasekennung.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Das API zur IDoc-Typ- und Segmentdefinition
174 April 2001
SEGMENT_CHECK_EXISTENCE Gibt eine Tabelle mit den bereits vorhandenenSegmentdefinitionen mit Freigabe- undReleasekennzeichen zurück.
SEGMENT_CHECK_CONSISTENCY Prüft u.a., ob die einzelnen Segmentfeldernahtlos zu dem Segment zusammengefügtwerden können, ob das Segment in einemTransportauftrag steht, ob der letzte Änderereines Feldes im Dictionary mit dem letztenÄnderer dieses Feldes im Segmentübereinstimmt etc.
SEGMENT_TRANSPORT_INSERT Stellt ein Segment mit allen seinenSegmentdefinitionen in eine Transportaufgabe.ACHTUNG: Wenn keine Auftrags- undAufgabennummer angegeben wird, werdenAuftrag und Aufgabe im Dialog abgefragt!
Funktionsbausteine aus der Gruppe EDIM (Basistypen und Erweiterungen)<OBJEKT> steht für das Objekt, auf dem der Funktionsbaustein operiert: IDOCTYPE fürBasistyp, EXTTYPE für Erweiterung. Da sich ein erweiterter Basistyp aus Basistyp undErweiterung zusammensetzt, braucht man keine Funktionsbausteine, die auf ihmoperieren.
Name Beschreibung
<OBJEKT>_CREATE Erzeugt einen Basistyp oder eine Erweiterunganhand einer in einer Tabelle übergebenenSyntaxbeschreibung. Prüft vorher u.a., ob es dasObjekt schon gibt. Das neue Objekt wird dann ineinen Transportauftrag gestellt.
<OBJEKT>_UPDATE Ändert einen vorhandenen Basistyp oder eineErweiterung anhand einer in einer Tabelleübergebenen Syntaxbeschreibung.
<OBJEKT>_READ Liest sämtliche Informationen zu einem Objekt:Syntax, eventuell vorhandene Erweiterungen oderVorgänger.
<OBJEKT>_DELETE Löscht einen Basistyp oder eine Erweiterung.
<OBJEKT>_CLOSE Gibt ein Objekt frei, setzt also dasFreigabekennzeichen.
<OBJEKT>_UNCLOSE Nimmt die Freigabe eines Objektes zurück.
<OBJEKT>_EXISTENCE_CHECK Prüft, ob der übergebene Basistyp oder dieErweiterung schon existiert. Wenn ja, dann liest erdessen/deren Attribute (Verknüpfung mitBasistypen, Vorgängern etc.)
<OBJEKT>_INTEGRITY_CHECK Prüft die Syntax allgemein. Prüft bei Nachfolgern,ob sie vorschriftsgemäß aus Vorgängernentstanden sind.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Das API zur IDoc-Typ- und Segmentdefinition
April 2001 175
<OBJEKT>_TRANSPORT Stellt Basistyp oder Erweiterung in einenTransportauftrag.
Funktionsbausteine aus der Gruppe EDIMEXT (API für externe Programme)
Name Beschreibung
IDOCTYPES_FOR_MESTYPE_READ Liest alle einem Nachrichtentyp (logischeNachricht) zugeordneten IDoc-Typen.
IDOCTYPE_READ_COMPLETE Liest die Struktur und Attribute (Segmente) wieauch die Segmentattribute (Felder undFestwerte) eines IDoc-Typs. DemFunktionsbaustein werden dazu die Version derSatzarten [Seite 151] und der Segmente [Seite162] übergeben.
IDOC_RECORD_READ Liest zu gegebener Version die Struktur derSatzarten.
SEGMENT_READ_COMPLETE Liest die Struktur und Attribute einesSegments. Dem Funktionsbaustein werdendazu die Version der Satzarten und dasRelease der Segmente übergeben.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Erweiterung eines IDoc-Typs
176 April 2001
Erweiterung eines IDoc-TypsEinsatzmöglichkeitenMit einer Kundenerweiterung fügen Sie an einen von SAP ausgelieferten IDoc-Typ (einenBasistyp) zusätzliche Segmente an, so daß Sie mehr (oder auch einfach andere)betriebswirtschaftliche Information übertragen können. Diese Erweiterung ist aufwärtskompatibel,d.h. wird in zukünftigen Releases unterstützt.
VoraussetzungenDiese Checkliste setzt voraus, daß der zu erweiternde Basistyp schon fest in die Verarbeitungeingebunden ist: Das heißt insbesondere, daß seine Verarbeitung (Ausgang bzw. Eingang) überVorgangscodes in den Partnervereinbarungen festgelegt ist, und daß hinter den Vorgangscodesauch die entsprechenden Programme (z.B. Funktionsbausteine) stehen, die wie der Basistyperweitert werden.
Für die Erweiterungen benötigen Sie Entwicklungsberechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemKundensystem.
AblaufIn den folgenden Unterabschnitten werden die einzelnen Schritte aufgeführt. Die Liste könnenSie als Checkliste bei der Erweiterung verwenden. Darüber, welche Schritte notwendig undwelche Alternativen sind, informiert Sie das Ablaufdiagramm.
Anhand eines Fallbeispiels können Sie einen konkreten IDoc-Typ definieren und aufverschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgeführt. Essetzt die Existenz von Stammdaten für den Testkunden TESTKUND, Partnerart KU, und für denTestlieferanten TESTLIEF, Partnerart LI, voraus. Außerdem wird angenommen, daß derDateiport TESTPORT angelegt ist.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Erweiterung eines IDoc-Typs
April 2001 177
Ablaufdiagramm
AllgemeineDefinitionen
Eingang
Freigabeoder/und
Ausgang
EinzelschritteAllgemeine Definitionen
Segmente zusammenstellen [Seite 178]
Basistyp erweitern [Seite 179]
Nachrichtentyp Basistyp und Erweiterung zuordnen [Seite 181]
Ausgang einrichten (Fall Ausgang unter Nachrichtensteuerung)Ausgangsfunktionsbaustein erweitern [Seite 182]
Partnervereinbarungen ändern (Ausgang) [Seite 185]
Ausgang testen [Seite 213]
Eingang einrichten (Fall direkter Eingang über ALE-Funktionsbaustein)Eingangsfunktionsbaustein erweitern [Seite 187]
Zuordnung des Funktionsbausteins erweitern (direkter Eingang) [Seite 189]
Partnervereinbarungen prüfen (Eingang) [Seite 190]
Eingang testen [Seite 248]
Neu definierte Objekte freigeben [Seite 251]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Segmente zusammenstellen
178 April 2001
Segmente zusammenstellenVoraussetzungenFür Neudefinitionen benötigen Sie Entwicklungsberechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemKundensystem.
VorgehensweiseSie können
� SAP-Segmente, die Sie in Ihrer Erweiterung verwenden wollen, in Ihren Namensraum[Seite 163] kopieren (= “anlegen mit Vorlage”)
� Segmente ohne Vorlage anlegen
Im folgenden wird davon ausgegangen, daß Sie Segmente ohne Vorlage anlegen, d.h. neueFeldzusammenstellungen definieren.
1. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an. Diesem Auftrag werden Sie später alleEntwicklungsobjekte zuordnen. Gehen Sie dann zurück in den Segmenteditor.
2. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie . Beachten Sie dabei denNamensraum [Seite 163].
3. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein, aus denen über die Domäne die Feldlängen (in Bytes) und eventuellFestwerte abgeleitet werden. Auch die Dokumentation des Datenelements wirdübernommen und in den Dokumentationswerkzeugen angezeigt.
Sie sollten über Springen � Dokumentation noch eine spezielle Dokumentation fürIhren Segmenttyp erfassen.
4. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.
5. Verlassen Sie das Bild ( ). Im Segmenteditor erscheint jetzt Ihre angelegteSegmentdefinition mit der Versionsnummer 000.
Im Fallbeispiel heißt Ihr Segment Z1TEST1 und hat folgende Felder:
Feld Datenelement Länge
Kontinent CHAR20 20
Land CHAR2 2
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Basistyp erweitern
April 2001 179
Basistyp erweiternVoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].
Es kann durchaus vorkommen, daß Sie Tabellenfelder füllen wollen, die zwar schoneine Entsprechung im Basistyp haben, die aber im Standard nicht versorgt werden.Dann brauchen Sie nicht den Basistyp zu erweitern, sondern nur denFunktionsbaustein, der die Anwendungsfelder versorgt. Überspringen Sie in diesemFall die Vorgehensweise.
Vorgehensweise1. Zum IDoc-Typ-Editor gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle über
Entwicklung � IDoc Typen.
2. Falls noch nicht geschehen, legen Sie einen Transportauftrag für Ihre Entwicklungsobjekte(Erweiterungssegmente, Erweiterung, Funktions-Exits etc.) an. In den Workbench Organizergelangen Sie aus dem Editor über Aufträge (Organizer). Von dort aus wählen Sie Auftrag �anlegen und beantworten die Abfragen. Über gelangen Sie in den IDoc-Typ-Editorzurück.
3. Benennen Sie Ihre Erweiterung unter Beachtung des Kundennamensraumes und wählen Sieals Entwicklungsobjekt Erweiterung. Wählen Sie .
Der Name Ihrer Erweiterung sollte höchstens 8 Zeichen lang sein, wenn Sie sie beimKommunizieren mit Partnern verwenden wollen, die SAP-Releases vor 4.0verwenden! Erst mit Release 4.0 können Erweiterungen nämlich länger als 8Zeichen sein.
4. Wählen Sie eine der folgenden Möglichkeiten aus:
� Neu anlegen: Sie erstellen die Erweiterung ohne Vorlage.
� als Kopie anlegen, die Sie dann nach Wunsch ändern können
� als Nachfolger anlegen: Hierbei müssen Sie beachten, daß es bloß einen Nachfolgerpro Release und Erweiterung geben darf.
5. Geben Sie den Basistyp an, mit dem Sie Ihre Erweiterung kombinieren wollen. BestätigenSie Ihre Angaben.
Der Basistyp wird als Baum angezeigt. Beachten Sie die Farblegende (Hilfsmittel �Farblegende)!
6. Positionieren Sie auf das Segment, an das Sie Erweiterungssegmente anhängen wollen (dassogenannte Referenzsegment). Wählen Sie . Für diese Kindsegmente müssen Attributevergeben werden, nämlich
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Basistyp erweitern
180 April 2001
� Mußsegment (Kennzeichen): Müssen im IDoc Daten in dieses Segment geschriebenwerden?
� maximale und minimale Wiederholbarkeit: Wie oft darf und muß ein Segment imIDoc vorkommen?
7. Sie können weitere Kinder oder “Kindeskinder” an dies oder ein anderes Referenzsegmentdes Basistypen anlegen.
8. Wenn Sie Ihre neue Erweiterung fertiggestellt haben, können Sie sie sichern.
Auf folgende Dinge sollten Sie besonders bei Erweiterungen achten:
� Segmente dürfen im IDoc-Typ nicht explizit mehrfach vorkommen - Dasbedeutet, daß die Erweiterung keine Segmente besitzen darf, die bereits imBasistyp vorkommen. Das bedeutet auch, daß ein Nachfolger keineSegmente besitzen darf, die bereits im Vorgänger vorkommen.
� Elternsegmente des Vorgängers müssen bei Nachfolgern auchElternsegmente bleiben.
� Referenzsegmente können nicht durch die Funktionen Ausschneiden undEinfügen zu Erweiterungssegmenten gemacht werden und umgekehrt.
Im Fallbeispiel nennen Sie Ihre Erweiterung Z1ORDERS. Sie hängen dasKindsegment Z1TEST1 an das Referenzsegment E1EDP19 des BasistypsORDERS01. Es muß genau einmal vorkommen.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Nachrichtentyp Basistyp und Erweiterung zuordnen
April 2001 181
Nachrichtentyp Basistyp und Erweiterung zuordnen1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung � IDoc-
Typ/Nachricht.
2. Wählen Sie und dann Neue Einträge.
3. Geben Sie den Basistyp und seine Erweiterung sowie den Nachrichtentyp an, dem Sie dieseKombination zuordnen. Geben Sie das aktuelle Release an.
In den Partnervereinbarungen wird geprüft, ob IDoc-Typ und Nachrichtentyp zueinander„passen“. Daher müssen Sie diesen Eintrag vornehmen. Außerdem erhalten Sie aus derZuordnung eine spezifische F4-Hilfe: Pro Nachrichtentyp werden alle zugeordnetenIDoc-Typen im entsprechenden Feld angeboten und umgekehrt.
4. Sichern Sie Ihre Angaben.
Im Fallbeispiel pflegen Sie folgende Zuordnung:
Nachrichtentyp ORDERS (im Standard ausgeliefert)
Basistyp ORDERS01
Erweiterung Z1ORDERS
Release 45A
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgangsfunktionsbaustein erweitern
182 April 2001
Ausgangsfunktionsbaustein erweiternDen Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding desAusgangsfunktionsbausteins, der die Erweiterungssegmente mit Anwendungsdaten füllt.
VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].
Vorgehensweise1. Die Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie über einen
Funktions- oder User-Exit in der Projektverwaltung: Wählen Sie im Einstiegsbild der ABAPWorkbench Hilfsmittel � Erweiterungen � Projektverwaltung. Geben Sie einenProjektnamen an (Kundennamensraum beachten!) und wählen Sie Attribute (Auswahlknopf)und Anlegen. Geben Sie einen Kurztext ein und sichern Sie.
Genaueres zu Erweiterungsprojekten finden Sie in der R/3 Bibliothek unter Basis �ABAP Workbench � Erweiterungen des SAP-Standards � Das R/3Erweiterungskonzept [Extern].
2. Gehen Sie ins Einstiegsbild der Projektverwaltung zurück und wählen Sie die TeilobjekteZuordnung Erweiterungen. Wählen Sie Ändern, um Ihrem Projekt SAP-Erweiterungenzuzuordnen. Um SAP-Erweiterungen zu finden, benutzen Sie die F4-Hilfe. Sichern Sie IhreAngaben.
Eine SAP-Erweiterung beinhaltet als Komponenten Funktions-Exits(Funktionsbausteine), aus denen Sie im nächsten Schritt die richtigen aussuchenwerden.
3. Im Einstiegsbild der Projektverwaltung wählen Sie jetzt die Teilobjekte Komponenten.Wählen Sie Ändern.
Sie erhalten eine Liste aller Funktions-Exits. Über Erweiterung gelangen Sie zurDokumentation zu den einzelnen Exits.
4. Per Doppelklick auf den gewünschten Funktions-Exit gelangen Sie in den ABAP Editor.
5. Der Funktions-Exit enthält die Zeile include <Kunden-Include>. Durch Doppelklick auf denNamen legen Sie dies Include an (Systemabfragen bestätigen). Geben Sie Ihren Quelltextein und sichern Sie anschließend.
Beachten Sie, daß Sie die Felder HLEVEL (Hierarchieebene des Segments) undPSGNUM (Nummer des Elternsegments) im IDoc-Datensatz nicht zu füllenbrauchen. Das erledigt die IDoc-Schnittstelle, die ja aus der Definition derErweiterung um die Stellung des Segments im IDoc-Typ weiß.
6. Sie müssen jetzt noch Ihre neuen Erweiterungssegmente als globale Strukturen imkundeneigenen TOP-include definieren. Dazu wählen Sie im ABAP-Editor Springen �Globale Daten
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgangsfunktionsbaustein erweitern
April 2001 183
Sie gelangen in das TOP-Programm.
7. Legen Sie das Kunden-TOP-Include durch Doppelklick auf dessen Namen an(Systemabfragen bestätigen!). Geben Sie Ihre Erweiterungssegmente als TABLES-Datendeklarationen an.
Wenn Sie Ihr Segment zuvor aktiviert hatten, sollte es beim Syntaxcheck ( ) keineSchwierigkeiten geben. Auf keinen Fall sollten Sie das Segment direkt im Dictionarydirekt anlegen! Benutzen Sie dazu immer den Segmenteditor!
8. Aktivieren Sie nun Ihr gesamtes Projekt. Dazu gehen Sie wieder ins Einstiegsbild derProjektverwaltung und wählen .
Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_OUTPUT_ORDERS imZusatzprojekt ZM06E001.
SAP-Erweiterung MM06E001
Funktions-Exit EXIT_SAPLEINM_002 (Kundenerweiterung derDatensegmente bei Einkaufsbeleg Ausgang)
Include ZXM06U02
Segment Z1TEST1
Rahmenprogramm SAPLXM06
TOP-Programm LXM06TOP
Kunden-Top-Include ZXM06TOP
Der Quelltext lautet:DATA segnam(27).
segnam = int_edidd-segnam.
CASE segnam.
WHEN 'E1EDP19'.
CLEAR int_edidd. "Arbeitsbereich leeren
int_edidd-segnam = 'Z1TEST1'. "Name des Kundensegmentes
z1test1-kontinent = 'Europa'.
int_edidd-sdata = z1test1. "Übrige Felder von int_edidd
"können übernommen werden
APPEND int_edidd.
ENDCASE.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgangsfunktionsbaustein erweitern
184 April 2001
Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment imFunktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufenwird. Daher muß das neu angelegte include erst feststellen, ob es beim richtigenElternsegment aufgerufen wurde.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Partnervereinbarungen ändern (Ausgang)
April 2001 185
Partnervereinbarungen ändern (Ausgang)Die Erweiterung muß in den Ausgangspartnervereinbarungen eingetragen sein, um eingesetztwerden zu können.
VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].
VorgehensweiseErweitern Sie Ihre bereits bestehenden Partnervereinbarungen. Zum Vorgehen lesen Sie denAbschnitt Partnervereinbarungen im Standarddialog [Seite 76].
Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen „Ausgangallgemein“ und „Ausgang über Nachrichtensteuerung“:
Feld Wert
Partnernummer TESTLIEF
Partnerart LI
Partnerrolle LF
Nachrichtentyp ORDERS
Basistyp ORDERS01
Erweiterung Z1ORDERS
Empfängerport TESTPORT
Ausgabemodus IDocs sofort übergeben, Subsystem nicht starten
Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE
Anwendung (Applikation) EF (Einkauf)
Nachrichtenart NEU
Vorgangscode ME10
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgang testen
186 April 2001
Ausgang testenVoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus
� Erweiterung eines IDoc-Typs [Seite 176] (falls Sie einen Basistyp erweitert haben) oder
� Definition und Verwendung eines Basistyps [Seite 194] (falls Sie einen neuen Basistypdefiniert haben)
VorgehensweiseSie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unterNachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatzeingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Siemit dem Programm Test ab NAST [Seite 100].
Im Fallbeispiel legen Sie eine Bestellung aus dem Einkauf an (Transaktion ME21).Adressat ist TESTLIEF, Sie bestellen ein Material aus dem Materialstamm. ImKonditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf � Nachrichten) habenSie den Versandzeitpunkt 4 gewählt (Bearbeitung über Zusatzangaben), d.h. IhrIDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert „Europa“ im FeldKONTINENT auf: Überprüfen Sie das über die IDoc-Anzeige [Seite 120].
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsfunktionsbaustein erweitern
April 2001 187
Eingangsfunktionsbaustein erweiternDen Erweiterungssegmenten entspricht eine Kundenerweiterung im Coding desEingangsfunktionsbausteins, der Daten aus den Erweiterungssegmenten in Anwendungstabellenstellt.
VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].
VorgehensweiseDie Kundenerweiterung der entsprechenden Funktionsbausteine schreiben Sie über dieTransaktion CMOD. Sie gehen analog vor wie für den Ausgang beschrieben [Seite 182].
Im Fallbeispiel erweitern Sie den Funktionsbaustein IDOC_INPUT_ORDERS imZusatzprojekt ZEDA0001: Die Erweiterung schreibt den Wert aus dem SegmentfeldZ1TEST1-KONTINENT in das Feld IHREZ (Zeichen des Kunden) der StrukturXVBAK. Der Inhalt dieser Struktur wird beim Aufbau der Batch-Input-TabelleBDCDATA verwendet, die der Transaktion VA01 (Terminauftrag anlegen) übergebenwird.
IHREZ wird eigentlich schon aus dem Feld E1EDKA1-IHREZ des BasistypsORDERS01 versorgt, so daß eine Erweiterung hier gar nicht notwendig ist. DasBeispiel soll nur zur Veranschaulichung des Prinzips dienen.
SAP-Erweiterung VEDA0001
Funktions-Exit EXIT_SAPLVEDA_001 (Kundenerweiterung derDatensegmente bei Auftragsbeleg Eingang)
Include ZXVEDU03
Segment Z1TEST1
Rahmenprogramm SAPLXVED
TOP-Programm LXVEDTOP
Kunden-Top-Include ZXVEDTOP
Der Quelltext lautet:
DATA segnam(27).DATA: BEGIN OF hxvbak.
INCLUDE STRUCTURE vbak.DATA END OF hxvbak.segnam = segment-segnam.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsfunktionsbaustein erweitern
188 April 2001
CASE segnam.WHEN 'Z1TEST1'. "Name desKundensegmentes
z1test1 = segment-sdata. "Daten bekommenStruktur
hxvbak-ihrez = z1test1-kontinent. "Hilfsstruktur füllen
MOVE hxvbak TO dxvbak. "CHANGING-Parameter versorgen
ENDCASE.
Die CASE-Anweisung im Coding ist notwendig, weil bei jedem Segment imFunktionsbaustein IDOC_OUTPUT_ORDERS derselbe Customer-Exit aufgerufenwird. Daher muß das neu angelegte Include erst feststellen, ob es beim richtigenElternsegment aufgerufen wurde.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Zuordnung des Funktionsbausteins erweitern (direkter Eingang)
April 2001 189
Zuordnung des Funktionsbausteins erweitern (direkterEingang)Hier definieren Sie, daß Ihr erweiterter Funktionsbaustein den erweiterten Basistyp mit einerbestimmten Nachricht verarbeiten darf. Damit erweitern Sie die ALE-Registrierung desFunktionsbausteins.
VoraussetzungenVoraussetzung sind die vorangegangenen Schritte für den Ausgang aus Erweiterung eines IDoc-Typs [Seite 176].
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung ��
Nachricht/Anw.Objekt, , Neue Einträge. Ordnen Sie den betroffenenFunktionsbaustein (Typ F) dem Basistyp, Ihrer neuen Erweiterung und IhremNachrichtentyp zu und wählen Sie das Anwendungsobjekt wie im nicht erweiterten Fall.
2. Tragen Sie die Richtung 2 ein (Eingang). Sichern Sie Ihre Angaben.
Im Fallbeispiel sind nach Ihrem Eintrag folgende Objekte einander zugeordnet:
Baustein IDOC_INPUT_ORDERS
Basistyp ORDERS01
Erweiterung Z1ORDERS
Nachrichtentyp ORDERS
Objekttyp BUS2032 (Kundenauftrag)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partnervereinbarungen prüfen (Eingang)
190 April 2001
Partnervereinbarungen prüfen (Eingang)VoraussetzungenVoraussetzungen sind die vorangegangenen notwendigen Schritte aus Erweiterung eines IDoc-Typs [Seite 176].
VorgehensweiseIhr erweiterter Funktionsbaustein wird in den Partnervereinbarungen durch einen Vorgangscode[Seite 73] angesprochen. Von allen Partnern, in deren Vereinbarungen dieser Vorgangscode(und der entsprechende Nachrichtentyp) steht, werden also die Daten dieser Erweiterung auchim System verarbeitet. Wenn Sie das bei bestimmten Partnern vermeiden wollen, dann müssenSie eine Kopie dieses (ursprünglich nicht erweiterten) Funktionsbausteines anlegen und einenVorgangscode benutzen, der auf die Kopie zeigt.
Zur Partnervereinbarung beachten Sie den Abschnitt
Partnervereinbarungen im Standarddialog [Seite 76].
Im Fallbeispiel sind folgende Felder in den Eingangspartnervereinbarungen gepflegt:
Feld Wert
Partnernummer TESTKUND
Partnerart KU
Nachrichtentyp ORDERS
Verarbeitung sofort
Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender),Sprache DE
Vorgangscode ORDE
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingang testen
April 2001 191
Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus
� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder
� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)
Vorgehensweise1. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs
Ihres Typs editieren können. Als Testvorlage wählen Sie
� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.
� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.
Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.
2. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.
3. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.
Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.
Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:
Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen
Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingang testen
192 April 2001
Wenn Sie den Basistyp ORDERS01 erweitert haben:
IDoc-Typ ORDERS01
Erweiterung Z1ORDERS
Nachrichtentyp ORDERS
Wenn Sie den neuen Basistyp TESTER01 definiert haben:
IDoc-Typ TESTER01
Nachrichtentyp TESTER
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Neu definierte Objekte freigeben
April 2001 193
Neu definierte Objekte freigebenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus
� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder
� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)
VorgehensweiseSie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung.
Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oderSegmenteditor) über Bearbeiten � Freigabe setzen. Die Freigabe können Sie auch wieder überBearbeiten � Freigabe aufheben zurücknehmen.
Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjektein der angegebenen Reihenfolge frei:
Wenn Sie den Basistyp ORDERS01 erweitert haben:
Segment Z1TEST1
Erweiterung Z1ORDERS
Wenn Sie den neuen Basistyp TESTER01 definiert haben:
Segmente E1HEAD, E1ITEM
IDoc-Typ TESTER01
ErgebnisIhre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionennoch übersetzen wollen, können Sie dies gezielt mit der allgemeinen Übersetzungstransaktionbewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafürinnerhalb der Übersetzungstransaktion anfassen müssen:
Dokumentation übersetzen [Seite 155]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Definition und Verwendung eines Basistyps
194 April 2001
Definition und Verwendung eines BasistypsEinsatzmöglichkeitenMit einer SAP-Entwicklung schaffen Sie einen neuen Basistyp; der Basistyp steht für einenneuen Geschäftsprozeß, innerhalb dessen Daten elektronisch ausgetauscht werden sollen.
VoraussetzungenFür die Entwicklungen benötigen Sie entsprechende Berechtigungen (BerechtigungsobjektS_IDOCDEFT, z.B. in der Rolle SAP_BC_SRV_EDI_DEVELOPER_AG). Sie entwickeln in einemSAP-System.
AblaufIn den folgenden Unterabschnitten werden die einzelnen Schritte aufgeführt. Die Liste könnenSie als Checkliste bei der Neudefinition verwenden. Darüber, welche Schritte notwendig undwelche Alternativen sind, informiert Sie das Ablaufdiagramm.
Anhand eines Fallbeispiels können Sie einen konkreten IDoc-Typ definieren und aufverschiedene Arten verarbeiten lassen. Das Fallbeispiel ist in jedem Einzelschritt aufgeführt. Essetzt die Existenz von Stammdaten für den Testkunden TESTKUND, Partnerart KU, und für denTestlieferanten TESTLIEF, Partnerart LI, voraus. Außerdem wird angenommen, daß derDateiport TESTPORT angelegt ist.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Definition und Verwendung eines Basistyps
April 2001 195
Ablaufdiagramm
AllgemeineDefinitionen
Eingang(direkt)
Ausgang
Eingang(Workflow)
Freigabeoder/und
oder
EinzelschritteAllgemeine Definitionen [Seite 197]
Segmente zusammenstellen, eventuell neue definieren [Seite 198]
Basistyp definieren [Seite 200]
Eventuell: Nachricht anlegen. Immer: Nachricht IDoc-Typ zuordnen [Seite 202]
Objekttyp anlegen [Seite 203]
Ausgang einrichten (mit Nachrichtensteuerung) [Seite 204]Funktionsbaustein schreiben (Ausgang) [Seite 205]
Vorgangscode anlegen und zuordnen [Seite 211]
Partner vereinbaren [Seite 212]
Ausgangsverarbeitung für neuen Basistyp testen [Seite 213]
Eingang einrichtenDirekten Eingang einrichten (mit ALE) [Seite 214]
Neuen Funktionsbaustein anlegen [Seite 215]
Eigenschaften des neuen Funktionsbausteins pflegen [Seite 226]
Funktionsbaustein zuordnen (direkter Eingang) [Seite 227]
Vorgangscode zuordnen (direkter Eingang) [Seite 228]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Definition und Verwendung eines Basistyps
196 April 2001
Partner vereinbaren (direkter Eingang) [Seite 230]
Standardaufgabe anlegen (Ausnahme) [Seite 245]
Eingang testen [Seite 248]
Ausnahmebehandlung testen [Seite 250]
Eingang über Workflow einrichten [Seite 237]
Eingangsverarbeitung als Objektmethode definieren [Seite 238]
Standardaufgabe anlegen (Eingang über Workflow) [Seite 243]
Vorgangscode anlegen (Eingang über Workflow) [Seite 244]
Standardaufgabe anlegen (Ausnahme) [Seite 245]
Aufgabe anlegen (Ausnahme bei Workflow-Eingang) [Seite 245]
Partner vereinbaren (Eingang über Workflow) [Seite 247]
Eingang testen [Seite 248]
Ausnahmebehandlung testen (Eingang über Workflow) [Seite 250]
Freigabe [Seite 251]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Allgemeine Definitionen
April 2001 197
Allgemeine DefinitionenSegment definieren [Seite 198]
Basistyp definieren [Seite 200]
Nachricht anlegen und Basistyp zuordnen [Seite 202]
Objekttyp definieren [Seite 203]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Segment definieren
198 April 2001
Segment definierenEs wird der Fall betrachtet, daß Sie ein neues Segment anlegen müssen. Wenn Sie eine neueSegmentdefinition anlegen müssen, ändern Sie ein bestehendes Segment [Seite 168] mit demSegmenteditor.
VoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.
Vorgehensweise7. Gehen Sie in den Segmenteditor, indem Sie vom Einstiegsmenü der IDoc-Schnittstelle
[Extern] Entwicklung � IDoc-Segmente wählen. Legen Sie von dort über Hilfsmittel �Aufträge (Organizer) einen Auftrag an.
8. Geben Sie einen Segmenttyp [Seite 160] an und wählen Sie .
9. Geben Sie eine Beschreibung für Ihr Segment ein und tragen Sie die Feldnamen undDatenelemente ein. Entscheiden Sie, ob Ihr Feld nach ISO codierte Daten aufnehmen soll(Ankreuzfeld).
Aus den Datenelementen werden über die Domäne die Feldlängen (in Bytes) alsExportlängen und eventuell Festwerte abgeleitet. Auch die Dokumentation desDatenelements wird übernommen und in den Dokumentationswerkzeugen angezeigt.
Ändern Sie nicht die Exportlänge! Daten werden als Character-Felder dieser Länge miteinem externen System ausgetauscht, intern (im IDoc) aber als Feld vom Typ desgewählten Datenelementes (z.B. als Integer-Zahl) mit entsprechender Längegespeichert. Unterschiedliche Längen können zu Datenverlust (Abschneidenüberzähliger Bytes) führen.
10. Wählen Sie Springen � Dokumentation und beschreiben Sie Ihren Segmenttyp. SichernSie Ihre Anwendungsdokumentation in aktiver Fassung und kehren Sie in denSegmenteditor zurück.
Wenn Sie später Ihr Segment in einem IDoc-Typ verwenden und sich diesen Typ überdie Dokumentationswerkzeuge anzeigen lassen, wird bei diesem Segment Ihre hierverfaßte Beschreibung erscheinen.
11. Sichern Sie die Segmentdefinition [Seite 160] über . Stellen Sie das Segment in einenTransportauftrag.
Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.
12. Verlassen Sie das Bild (F3).
Im Segmenteditor erscheint jetzt Ihre angelegte Segmentdefinition mit derVersionsnummer 000. Es befindet sich in Ihrem angelegten Transportauftrag.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Segment definieren
April 2001 199
ErgebnisSie haben jetzt einen neuen Segmenttyp mit einer ersten Segmentdefinition angelegt. Er ist nochnicht freigegeben [Seite 162], aber Sie können mit ihm bereits testen und arbeiten. Sie solltenIhr Segment erst freigeben, wenn Ihre geplante Verarbeitung fehlerfrei funktioniert!
Im Fallbeispiel definieren Sie zwei Segmente, E1HEAD (Kopf) und E1ITEM(Position). Diese beiden Beispielsegmente sind bereits im System vorhanden. Siedienen nur als Fallbeispiel, sollten also nicht produktiv genutzt werden! Das SegmentE1HEAD beginnt beispielsweise mit folgenden Feldern:
Feld Datenelement Länge
BELNR (Belegnummer) EDI_BELNR 35
VKORG (Verkaufsorgan.) VKORG 4
VTWEG (Vertriebsweg) VTWEG 2
SPART (Sparte) SPART 2
... ... ...
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Basistyp definieren
200 April 2001
Basistyp definierenVoraussetzungenBerechtigung zum Anlegen von Entwicklungsobjekten und Transportaufträgen.
Vorgehensweise1. Gehen Sie ins Einstiegsbild des IDoc-Typ-Editors: Wählen Sie im Einstiegsknoten der
IDoc-Schnittstelle [Extern] Entwicklung � IDoc-Typen.
2. Tragen Sie einen Namen für Ihren Basistyp ein, und markieren Sie Basistyp alsEntwicklungsobjekt. Wählen Sie . Wählen Sie im folgenden Bild z.B. Neu anlegen.Geben Sie eine Beschreibung ein und wählen Sie .
3. Gehen Sie auf die Kopfleiste und wählen Sie .
Sie gelangen auf das Dialogfenster zur Attributpflege.
4. Geben Sie ein Segment an. Geben Sie die Maximal- und Minimalanzahl an markierenSie gegebenenfalls Mußsegment. Das Segment erscheint als erstes Segment im neuenBasistyp.
5. Legen Sie die anderen Segmente entsprechend an, auf gleicher Ebene oder alsKindsegmente.
6. Sichern Sie Ihren Basistyp.
Sie sollten alle Ihre Entwicklungsobjekte (Segmente, IDoc-Typ, Funktionsgruppe...)für die IDoc-Typ-Entwicklung ein und derselben Entwicklungsklasse zuordnen, damitdie Transporteigenschaften die gleichen sind.
ErgebnisSie haben jetzt Ihren neuen Basistyp definiert. Er ist noch nicht freigegeben [Seite 162], aber Siekönnen mit ihm bereits testen und arbeiten. Sie sollten Ihren Basistyp erst freigeben, wennIhre geplante Verarbeitung fehlerfrei funktioniert!
Im Fallbeispiel heißt Ihr IDoc-Typ TESTER01 und hat folgende Struktur (allesMußsegmente, Maximalanzahl = Minimalanzahl = 1):
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Basistyp definieren
April 2001 201
TESTER01
E1HEAD(Belegkopf)
E1ITEM(Position)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Nachrichtentyp Basistyp zuordnen
202 April 2001
Nachrichtentyp Basistyp zuordnenDer betriebswirtschaftliche Hintergrund wird hergestellt, indem man den IDoc-Typ einer (odermehreren) Nachricht(en) zuordnet. Beispielsweise wird für die Bestellung im Ausgang und denAuftrag im Eingang üblicherweise der “logische Nachrichtentyp” ORDERS verwendet.
Da ein IDoc-Typ mehreren logischen Nachrichtentypen zugeordnet werden kann und umgekehrt,sollten Sie nur dann eine neue Nachricht anlegen, wenn keine der bestehenden NachrichtenIhren neuen Geschäftsprozeß ausreichend beschreibt.
VorgehensweiseNeuen Nachrichtentyp (“logische Nachricht”) anlegen (optional)
1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Entwicklung �Nachrichtentypen.
2. Wählen Sie und dann neue Einträge.
3. Tragen Sie Ihren neuen Nachrichtentyp mit Kurzbeschreibung ein und sichern Sie. BeimSichern stellen Sie dieses Entwicklungsobjekt in Ihren Änderungsauftrag für IhreBasistypdefinition.
Nachrichtentyp Basistyp zuordnen (erforderlich)4. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle Entwicklung � IDoc-
Typ/Nachricht.
5. Wählen Sie und dann neue Einträge.
6. Geben Sie Ihren Nachrichtentyp und Ihren Basistyp in die entsprechenden Spalten ein.Geben Sie das SAP-Release an. Verwenden Sie auch hier beim Sichern wieder IhrenÄnderungsauftrag für Ihre Basistypdefinition.
Sie können diese Zuordnungen auch aus dem Umfeld-Menü des IDoc-Typ-Editorsvornehmen.
ErgebnisSie haben dem IDoc-Typ eine logische Nachricht und damit eine betriebswirtschaftlicheBedeutung zugeordnet. Seine funktionale Bedeutung wird in der Verarbeitung über einenFunktionsbaustein bzw. über eine Workflow-Aufgabe realisiert.
Im Fallbeispiel machen Sie folgende Angaben:
Nachrichtentyp (logische Nachricht) TESTER
Basistyp TESTER01
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Objekttyp definieren
April 2001 203
Objekttyp definierenUm Ihren neuen Basistyp im Workflow verwenden zu können (optional in derEingangsverarbeitung, immer aber in der Fehlerbehandlung), sollten Sie einen entsprechendenObjekttyp im Business Object Repository (BOR) anlegen. Der Objekttyp erbt alle Attribute,Methoden und Ereignisse des Supertyps IDOCAPPL. Sie könnten auch diesen Objekttyp selbstnehmen und z.B. nur andere Methoden zur Ausnahmebehandlung für ihn definieren. In der SAP-Konvention entspricht aber jedem Nachrichtentyp auch ein BOR-Objekttyp.
Vorgehensweise1. Gehen Sie aus dem R/3-Einstiegsbild über Werkzeuge � Business Workflow �
Entwicklung in das Workflow-Bereichsmenü. Wählen Sie dann Business Object Builder.
2. Legen Sie den neuen Objekttyp als Subtyp von IDOCAPPL an. Tragen Sie dazu IDOCAPPLin das Feld ein und wählen Subtyp.
3. Geben Sie die Attribute Ihres neuen Objekttyps ein (Name, Kurzbeschreibung etc.) undeinen noch nicht existierenden Programmnamen ein (Programm wird generiert): DasProgramm beschreibt den Objekttyp (Seine Attribute und Methoden) in der Sprache ABAP.
4. Wählen Sie und sichern Sie das Objekt.
5. Wählen Sie .
6. Damit Sie Ihren Objekttyp verwenden können, muß er mindestens den Freigabestatus“implementiert” haben. Sie erreichen das aus dem Einstiegsbild des Business Object Builderüber Objekttyp � Freigabestatus ändern in � implementiert.
Beachten Sie auch die R/3-Dokumentation BC � Business Management � SAP BusinessWorkflow � Pflege von Objekttypen [Extern].
ErgebnisSie haben einen Objekttyp für Ihr neues IDoc definiert.Wichtig für die Ausnahmebehandlung sind die beiden Ereignisse inputErrorOccurred undinputFinished, die Sie diesem Objekttyp zugeordnet haben.
Im Fallbeispiel hat Ihr Objekttyp folgende Attribute:
Objekttyp IDOCTEST
Objektname IDOCTEST
Bezeichnung Test-IDoc
Kurzbeschreibung Test Fehlerbehandlung TESTER01
Anwendung V (Vertrieb)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausgang einrichten (mit Nachrichtensteuerung)
204 April 2001
Ausgang einrichten (mit Nachrichtensteuerung)VoraussetzungIhre Anwendung ist „NAST-fähig“, d.h. sie arbeitet mit der Nachrichtensteuerung zusammen.
Sie haben die allgemeinen Definitionen [Seite 197] durchgeführt.
VorgehensweiseNeuen Funktionsbaustein anlegen (Ausgang unter NAST) [Seite 205]
Neuen Vorgangscode neuem Funktionsbaustein und Nachricht zuordnen (Ausgang) [Seite 211]
Partnervereinbarungen für den neuen IDoc-Typ treffen (Ausgang) [Seite 212]
Ausgangsverarbeitung für neuen Basistyp testen [Seite 213]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (Ausgang unter NAST)
April 2001 205
Funktionsbaustein anlegen (Ausgang unter NAST)Sie legen einen Funktionsbaustein an, der vom Report RSNASTED (FormroutineNEW_DYN_PERFORM) aus über einen neuen Vorgangscode identifiziert wird. DieserFunktionsbaustein füllt den neuen Basistyp mit Anwendungsdaten. RSNASTED selbst steht inder Tabelle TNAPR als EDI-Verarbeitungsprogramm. Die Nachrichtensteuerung liest dieseTabelle und kann dadurch RSNASTED aufrufen.
Vorgehensweise1. Legen Sie im Function Builder einen neuen Funktionsbaustein an.
2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. IhrFunktionsbaustein muß die Anwendungsdaten aus den Anwendungstabellen in dieentsprechenden Segmente überführen.
3. Aktivieren Sie Ihren Funktionsbaustein: Wählen Sie dazu im Einstiegsbild des FunctionBuilder .
Im Fallbeispiel heißt Ihr neuer Funktionsbaustein IDOC_OUTPUT_TESTER. Erverwendet die neue Schnittstelle (ab Release 3.0), d.h. er stellt dieAnwendungsdaten in eine interne Tabelle. Außerdem wird der Weg ohne die ALE-Schicht (also ohne Filtern) gewählt.
Ihr Funktionsbaustein wird wie IDOC_OUTPUT_ORDERS (IDoc-Typ ORDERS01)aus dem Einkauf (Bestellung anlegen) aufgerufen. Er füllt daher auch die SegmenteIhres neuen IDoc-Typs aus ein Einkaufstabellen, nämlich EKKO und EKPO(Einkaufsbelegkopf und -position). Beachten Sie, daß keine realistische Bestellungsimuliert, sondern nur dargelegt werden soll, wie Daten aus Anwendungstabellenüber Segmentstrukturen schließlich in eine IDoc-Tabelle wandern. Dazu beachtenSie die Formroutinen HEADER_E1HEAD_FILL oder POSITION_E1ITEM_FILL.
Verwaltungsparameter von IDOC_OUTPUT_TESTER
Anwendungskürzel M (Materialwirtschaft)
Ablaufart normal, Start sofort
Schnittstelle von IDOC_OUTPUT_TESTER
Formalparameter Bezugsstruktur
Erläuterung
Importparameter
OBJECT NAST aktueller NAST-Satz
CONTROL_RECORD_IN EDIDC enthält die Empfängerinformation
Exportparameter
OBJECT_TYPE WFAS1-ASGTP Objekttyp für das Anwendungsobjekt imBusiness Object Repository (BOR)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (Ausgang unter NAST)
206 April 2001
CONTROL_RECORD_OUT EDIDC enthält die Senderinformation sowieDatum und Uhrzeit, zu dem die IDoc-Tabelle gefüllt wurde.
Tabelle
INT_EDIDD EDIDD Interne Tabelle der IDoc-Datensätze
BeispielcodingFUNCTION IDOC_OUTPUT_TESTER.*"------------------------------------------------------------------*"*"Globale Schnittstelle:*" IMPORTING*" VALUE(OBJECT) LIKE NAST STRUCTURE NAST*" VALUE(CONTROL_RECORD_IN) LIKE EDIDC STRUCTURE EDIDC*" EXPORTING*" VALUE(OBJECT_TYPE) LIKE WFAS1-ASGTP*" VALUE(CONTROL_RECORD_OUT) LIKE EDIDC STRUCTURE EDIDC*" TABLES*" INT_EDIDD STRUCTURE EDIDD*" EXCEPTIONS*" ERROR_MESSAGE_RECEIVED*"-------------------------------------------------------------------
CLEAR CONTROL_RECORD_OUT.* fill help fields H_KAPPL = OBJECT-KAPPL. H_EBELN = OBJECT-OBJKY. H_PARVW = OBJECT-PARVW.* fill control record MOVE CONTROL_RECORD_IN TO CONTROL_RECORD_OUT. CONTROL_RECORD_OUT-DIRECT = '1'. CONTROL_RECORD_OUT-SERIAL = SY-DATUM. CONTROL_RECORD_OUT-SERIAL+8 = SY-UZEIT.* read orders PERFORM ORDERS_READ.* fill idoc table PERFORM IDOC_TABLE_FILL.* provide object type OBJECT_TYPE = 'BUS2012'.
ENDFUNCTION.
FORM ORDERS_READ.
SELECT SINGLE * FROM T000 WHERE MANDT EQ SY-MANDT.
* read header data SELECT SINGLE * FROM EKKO WHERE EBELN EQ H_EBELN. IF SY-SUBRC NE 0. MESSAGE E751 WITH H_EBELN. ENDIF.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (Ausgang unter NAST)
April 2001 207
EDIDC-SNDPRT = 'MM'. EDIDC-SNDPRN = EKKO-EKORG.
* read data of supplier (book keeping view) SELECT SINGLE * FROM LFB1 WHERE LIFNR = EKKO-LIFNR AND BUKRS = EKKO-BUKRS.* fill purchasing organization IF LFB1-EIKTO EQ SPACE. LFB1-EIKTO = EKKO-EKORG. ENDIF.* read position data SELECT * FROM EKPO WHERE EBELN = EKKO-EBELN. MOVE-CORRESPONDING EKPO TO XEKPO. APPEND XEKPO. ENDSELECT.
* read schedule lines SELECT * FROM EKET WHERE EBELN = EKKO-EBELN. ENDSELECT.
ENDFORM. " ORDERS_READ
FORM IDOC_TABLE_FILL.
* header data PERFORM HEADER_E1HEAD_FILL.* data in position PERFORM POSITION_E1ITEM_FILL.
ENDFORM. " IDOC_TABLE_FILL
FORM HEADER_E1HEAD_FILL.
CLEAR INT_EDIDD. CLEAR E1HEAD. INT_EDIDD-SEGNAM = 'E1HEAD'.
* fill fields* document number E1HEAD-BELNR = EKKO-EBELN.
* Die folgenden Konstanten (Zuordnung Kunde/Lieferant zur* Verkaufsorganisation) werden nur in die Segmente geschrieben, damit* im Fallbeispiel die nachfolgende Eingangsverarbeitung im SD* funktioniert. Beim „reellen“ Terminauftrag im SD Eingang pflegt man* hierzu Customizing-Tabellen, oder die Zuordnung wird vom* EDI-Subsystem übernommen.
* sales organization (not supplied -> constant) E1HEAD-VKORG = '1000'.* distribution channel (not supplied -> constant)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (Ausgang unter NAST)
208 April 2001
E1HEAD-VTWEG = '10'.* division (not supplied -> constant) E1HEAD-SPART = '00'. ENDSELECT.* order typeE1HEAD-AUART = 'NB'.* date of delivery IF EKET-EINDT NE 0. E1HEAD-WLDAT = EKET-EINDT. ELSE. E1HEAD-WLDAT = SY-DATUM + 21. ENDIF. CONDENSE E1HEAD-WLDAT.* ordering party / sold to party (AG) E1HEAD-AUGEB = LFB1-EIKTO.* supplier E1HEAD-LIEF = EKKO-LIFNR.* order date E1HEAD-BSTDK = EKKO-BEDAT. CONDENSE E1HEAD-BSTDK.* order time E1HEAD-BELUZT = SY-UZEIT.
* move data to segment area of data record MOVE E1HEAD TO INT_EDIDD-SDATA.* append data record to internal table APPEND INT_EDIDD.
* customer function in order to change header segment CALL CUSTOMER-FUNCTION '001' EXPORTING PI_EKKO = EKKO IMPORTING PE_EKKO = EKKO TABLES PT_IDOC_DATA_RECORDS = INT_EDIDD.
ENDFORM. " HEADER_E1HEAD_FILL
FORM POSITION_E1ITEM_FILL.
* loop at positions LOOP AT XEKPO.
CLEAR INT_EDIDD. CLEAR E1ITEM. INT_EDIDD-SEGNAM = 'E1ITEM'. MOVE XEKPO TO EKPO.
* fill fields* position number E1ITEM-POSEX = EKPO-EBELP.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (Ausgang unter NAST)
April 2001 209
CONDENSE E1ITEM-POSEX.
* material number IF EKPO-MATNR NE SPACE. E1ITEM-MATNR = EKPO-MATNR. ENDIF.
* amount E1ITEM-MENGE = EKPO-MENGE. CONDENSE E1ITEM-MENGE.* unit PERFORM ISO_CODE_UNIT USING EKPO-MEINS. E1ITEM-BMEINH = EKPO-MEINS.* material number of supplier IF EKPO-IDNLF NE SPACE. E1ITEM-LMATNR = EKPO-IDNLF. ENDIF.
* move data to segment area of data record MOVE E1ITEM TO INT_EDIDD-SDATA.* append data record to internal table APPEND INT_EDIDD.
* customer function for position segment CALL CUSTOMER-FUNCTION '002' EXPORTING PI_EKPO = EKPO IMPORTING PE_EKPO = EKPO TABLES PT_IDOC_DATA_RECORDS = INT_EDIDD.
ENDFORM. " HEADER_E1HEAD_FILL
ENDLOOP.
ENDFORM. " POSITION_E1ITEM_FILL
FORM ISO_CODE_UNIT USING ICU_UNIT.
CHECK ICU_UNIT NE SPACE. CALL FUNCTION 'UNIT_OF_MEASURE_SAP_TO_ISO' EXPORTING SAP_CODE = ICU_UNIT IMPORTING ISO_CODE = ISO_UNIT EXCEPTIONS NOT_FOUND = 01 NO_ISO_CODE = 02.
IF SY-SUBRC NE 0. MESSAGE I764 WITH EKPO-EBELP ICU_UNIT.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (Ausgang unter NAST)
210 April 2001
ENDIF. MOVE ISO_UNIT TO ICU_UNIT.
ENDFORM. " ISO_CODE_UNIT
Beachten Sie, daß im Verwaltungsteil das Feld HLEVEL (Hierarchieebene desSegmentes) nicht gefüllt wird. Das übernimmt die IDoc-Schnittstelle, die denentsprechenden Wert aus der Definition des IDoc-Typs TESTER01 bekommt.
Beachten Sie auch, daß im Feld INT_EDIDD-SEGNAM die Segmente großgeschrieben werden müssen. Sonst meldet die IDoc-Schnittstelle einenSyntaxfehler.
Globale Daten von IDOC_OUTPUT_TESTER*- Tabellen ------------------------------------------------------*TABLES: EKPO, EKET, LFB1, EDIDC, E1HEAD, E1ITEM, T000, EDSDC.* help fieldsDATA: H_EBELN LIKE EKKO-EBELN, H_KAPPL LIKE NAST-KAPPL, H_PARVW LIKE EKPA-PARVW.* iso codesDATA: ISO_UNIT LIKE T006-ISOCODE.
TYPE-POOLS ISOC.*- Direktwerte für Return_variables ---------------------------------DATA:EID LIKE BDWFRETVAR-WF_PARAM VALUE 'Error_IDOCs', PID LIKE BDWFRETVAR-WF_PARAM VALUE 'Processed_IDOCs', APO LIKE BDWFRETVAR-WF_PARAM VALUE 'Appl_Objects', APE LIKE BDWFRETVAR-WF_PARAM VALUE 'Appl_Object'.
*- Hilfsfelder für Änderungsbeleg ----------------------------------* INCLUDE FM06ECDT.
*- Common-Part für Änderungsbeleg ----------------------------------* INCLUDE FM06LCCD.
*- Direktwerte -----------------------------------------------------* INCLUDE FMMEXDIR.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Vorgangscode zuordnen (Ausgang)
April 2001 211
Vorgangscode zuordnen (Ausgang)Der Ausgangsfunktionsbaustein wird über einen Vorgangscode in der IDoc-Schnittstelleangesteuert.
VoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus Definition und Verwendung einesBasistyps [Seite 194]
Vorgehensweise1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �
Vorgangscode Ausgang. Wählen Sie die Navigation Vorgangscode Ausgang.
2. Wählen Sie und Neue Einträge.
3. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihren Funktionsbaustein ein.Wählen Sie eine Version des Funktionsbausteines, und ob Sie die ALE-Dienste aufrufenwollen.
4. Sichern Sie Ihre Eingaben. Wählen Sie die Navigation Logische Nachricht.
5. Wählen Sie Neue Einträge.
6. Tragen Sie die logische Nachricht und den Vorgangscode in die entsprechenden Felderein und sichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen diemöglichen Vorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichenSicht, ausgeben.
ErgebnisDurch die Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie jetzt in den Partnervereinbarungen eintragen können.
Im Fallbeispiel machen Sie folgende Angaben:
Vorgangscode TESTAUS
Funktionsbaustein IDOC_OUTPUT_TESTER
Nachrichtentyp (logische Nachricht) TESTER
Option ALE/Eingang Verarbeitung ohne ALE
Version des Funktionsbausteines Verarbeitung mit Funktionsbaustein Version 3.0.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partner vereinbaren (Ausgang)
212 April 2001
Partner vereinbaren (Ausgang)Der neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Ausgang unter Nachrichtensteuerung vereinbaren Sie zum Basistyp noch denneuen Vorgangscode, der den neuen Ausgangsfunktionsbaustein identifiziert. Zum Vorgehenlesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].
Im Fallbeispiel pflegen Sie folgende Felder in den Partnervereinbarungen „Ausgangallgemein“ und „Ausgang über Nachrichtensteuerung“:
Feld Wert
Partnernummer TESTLIEF
Partnerart LI
Partnerrolle LF
Nachrichtentyp TESTER
IDoc-Typ TESTER01
Empfängerport TESTPORT
Ausgabemodus IDocs sofort übergeben, Subsystem nicht starten
Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE
Anwendung (Applikation) EF (Einkauf)
Nachrichtenart NEU
Vorgangscode TESTAUS
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Ausgang testen
April 2001 213
Ausgang testenVoraussetzungenVoraussetzung sind die vorangegangenen Schritte aus
� Erweiterung eines IDoc-Typs [Seite 176] (falls Sie einen Basistyp erweitert haben) oder
� Definition und Verwendung eines Basistyps [Seite 194] (falls Sie einen neuen Basistypdefiniert haben)
VorgehensweiseSie erzeugen das IDoc ausgehend von der Anwendung. Wenn Sie beim Ausgang unterNachrichtensteuerung (NAST) den Verarbeitungszeitpunkt [Extern] 1 im Konditionssatzeingestellt haben, dann wird nur der NAST-Satz erzeugt. Ausgehend vom NAST-Satz testen Siemit dem Programm Test ab NAST [Seite 100].
Im Fallbeispiel legen Sie eine Bestellung aus dem Einkauf an (Transaktion ME21).Adressat ist TESTLIEF, Sie bestellen ein Material aus dem Materialstamm. ImKonditionssatz (Bearbeitung in der Einkaufstransaktion: Kopf � Nachrichten) habenSie den Versandzeitpunkt 4 gewählt (Bearbeitung über Zusatzangaben), d.h. IhrIDoc wird sofort erzeugt. Es weist im Segment Z1TEST1 den Wert „Europa“ im FeldKONTINENT auf: Überprüfen Sie das über die IDoc-Anzeige [Seite 120].
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Direkten Eingang einrichten (mit ALE)
214 April 2001
Direkten Eingang einrichten (mit ALE)Sie richten den direkten Eingang ein, der immer über die ALE-Dienste läuft.
VoraussetzungenAllgemeine Definitionen [Seite 197]
VorgehensweiseFunktionsbaustein anlegen (direkter Eingang) [Seite 215]
Eigenschaften des Funktionsbausteins pflegen [Seite 226]
Funktionsbaustein zuordnen (direkter Eingang) [Seite 227]
Vorgangscode zuordnen (direkter Eingang) [Seite 228]
Partner vereinbaren (direkter Eingang) [Seite 230]
Standardaufgabe anlegen (Ausnahme) [Seite 245]
Eingang testen [Seite 248]
Ausnahmebehandlung testen [Seite 250]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 215
Funktionsbaustein anlegen (direkter Eingang)Sie legen einen Funktionsbaustein an, der von der IDoc-Schnittstelle über einen Vorgangscodeidentifiziert und von ALE aufgerufen wird (Feld TBD52-FUNCNAME). Die direkteEingangsverarbeitung über einen Funktionsbaustein (nicht über einen Workflow) durchläuftimmer die ALE-Schicht. Die Einstellung „Verarbeitung durch Funktionsbaustein und durch ALE-Schicht“ wird durch den Wert 6 im Feld TEDE2-EDIVRS identifiziert, der vom FunktionsbausteinIDOC_START_INBOUND gelesen wird. IDOC_START_INBOUND ruft dann ALE.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Vorgehensweise1. Legen Sie im Einstiegsbild des Function Builder einen neuen Funktionsbaustein an.
2. Legen Sie die Segmente als globale Daten in Ihrer Funktionsgruppe an. IhrFunktionsbaustein sollte die Anwendungsdaten aus den Segmenten in die entsprechendenAnwendungstabellen überführen und den IDoc-Status fortschreiben. Im Fehlerfall muß derFunktionsbaustein die entsprechenden Workflow-Parameter für die Ausnahmebehandlungsetzen.
3. Aktivieren Sie Ihren Funktionsbaustein: Wählen Sie dazu aus dem Einstiegsbild des FunctionBuilder .
Im Fallbeispiel legen Sie den Funktionsbaustein IDOC_INPUT_TESTER mit globalerSchnittstelle an. Der Funktionsbaustein wird beim Eingang eines IDocs vom TypTESTER01 aufgerufen. Sie werden diesem IDoc-Typ ein Anwendungsobjekt“Terminauftrag” zuordnen und daher Tabellen aus dem Vertrieb (SD) füllen. Dazurufen Sie mit dem Befehl CALL TRANSACTION die Transaktion VA01 auf. BeachtenSie, daß kein realistischer Terminauftrag simuliert, sondern nur dargelegt werdensoll, wie Daten aus einer IDoc-Tabelle über Segmentstrukturen inAnwendungstabellen wandern (Formroutine READ_IDOC_TESTER) und wie derFunktionsbaustein ein Ereignis für die Ausnahmebehandlung auslöst (DurchZurückgeben geeigneter Return-Variabler an die ALE-Schicht in FormroutineRETURN_VARIABLES_FILL).
Ein umfangreiches Beispiel für das Coding eines Eingangsfunktionsbausteins findenSie in der ALE-Dokumentation der R/3-Bibliothek unter AnwendungsübergreifendeFunktionen � Business Framework Architecture � Application Link Enabling �ALE-Programmierleitfaden � Eingangsverarbeitung � Funktionsbaustein imEingang � Verarbeitung eines einzelnen IDocs � Coding Beispiel [Extern]. DieserFunktionsbaustein prüft zum Beispiel auch auf richtige logische Nachricht und rufteinen (fiktiven) zweiten Funktionsbaustein auf, der erst die Anwendungsdatenschreibt und die Nummer des entstandenen Belegs zurückgibt. Außerdem setzt erStatus 53, wenn der Anwendungsbeleg fehlerfrei gebucht werden konnte.
Verwaltungsparameter von IDOC_INPUT_TESTER
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (direkter Eingang)
216 April 2001
Anwendungskürzel V (Vertrieb)
Ablaufart normal, Start sofort
Schnittstelle von IDOC_INPUT_TESTER (globale Schnittstelle)
Formalparameter Bezugsstruktur Erläuterung
Importparameter
INPUT_METHOD BDWFAP_PAR-INPUTMETHD beschreibt, wie derFunktionsbausteinabgearbeitet werden soll(Beispiel: im Hintergrundoder “dunkel”)
MASS_PROCESSING BDWFAP_PAR-MASS_PROC Masseneingang? (Flag)
Exportparameter
WORKFLOW_RESULT BDWFAP_PAR-RESULT wird auf 99999 gesetzt,falls ein Workflow-Ereignis zurFehlerbehandlungausgelöst werden soll.
APPLICATION_VARIABLE BDWFAP_PAR-APPL_VAR von der Anwendung freiverfügbare Variable fürWorkflow
IN_UPDATE_TASK BDWFAP_PAR-UPDATETASK asynchrone Verbuchung?(Flag, wird im Beispielnicht gesetzt)
CALL_TRANSACTION_DONE BDWFAP_PAR-CALLTRANS Transaktion aufgerufen?(Flag, wird im Beispielnicht gesetzt)
Tabelle
IDOC_CONTRL EDIDC IDoc-Kontrollsatz
IDOC_DATA EDIDD IDoc-Datensätze
IDOC_STATUS BDIDOCSTAT IDoc-Statussätze für ALE
RETURN_VARIABLES BDWFRETVAR IDoc-Zuordnung zuParametern derWorkflow-Methode
SERIALIZATION_INFO BDI_SER Falls mehrere IDocs ineiner bestimmtenReihenfolge verarbeitetwerden sollen: DieseStruktur enthält die dazunötige Information
Beispielcoding
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 217
FUNCTION IDOC_INPUT_TESTER.*"-------------------------------------------------------------------*"*"Globale Schnittstelle:*" IMPORTING*" VALUE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD*" VALUE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC*" EXPORTING*" VALUE(WORKFLOW_RESULT) LIKE BDWFAP_PAR-RESULT*" VALUE(APPLICATION_VARIABLE) LIKE BDWFAP_PAR-APPL_VAR*" VALUE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK*" VALUE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS*" TABLES*" IDOC_CONTRL STRUCTURE EDIDC OPTIONAL*" IDOC_DATA STRUCTURE EDIDD*" IDOC_STATUS STRUCTURE BDIDOCSTAT*" RETURN_VARIABLES STRUCTURE BDWFRETVAR*" SERIALIZATION_INFO STRUCTURE BDI_SER*"----------------------------------------------------------------------
* initialize SET/GET Parameter and internal tables PERFORM INITIALIZE_ORGANIZATIONAL_DATA.* Move IDOC to internal tables of application PERFORM READ_IDOC_TESTER.* call transaction Order Entry VA01 PERFORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.* set status value perform write_status_record using errorcode.* return values of function module PERFORM RETURN_VARIABLES_FILL USING ERRORCODE.
ENDFUNCTION.
FORM INITIALIZE_ORGANIZATIONAL_DATA.
* initialize SET/GET parameters SET PARAMETER ID 'VKO' FIELD SPACE. SET PARAMETER ID 'VTW' FIELD SPACE. SET PARAMETER ID 'SPA' FIELD SPACE. SET PARAMETER ID 'VKB' FIELD SPACE. SET PARAMETER ID 'VKG' FIELD SPACE.
* initialize internal tables REFRESH BDCDATA. CLEAR BDCDATA. CLEAR BELEGNUMMER. CLEAR ERRTAB. REFRESH ERRTAB. REFRESH XBDCMSGCOLL. CLEAR XBDCMSGCOLL.
ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (direkter Eingang)
218 April 2001
FORM READ_IDOC_TESTER.
PERFORM INITIALIZE_IDOC. LOOP AT IDOC_DATA WHERE DOCNUM = IDOC_CONTRL-DOCNUM. CASE IDOC_DATA-SEGNAM.* header data WHEN 'E1HEAD'. MOVE IDOC_DATA-SDATA TO E1HEAD. PERFORM PROCESS_SEGMENT_E1HEAD.* position data WHEN 'E1ITEM'. MOVE IDOC_DATA-SDATA TO E1ITEM. PERFORM PROCESS_SEGMENT_E1ITEM. ENDCASE. ENDLOOP.* only when there were one or more items CHECK FIRST NE 'X'. APPEND XVBAP. "last one
ENDFORM. " READ_IDOC_TESTER
FORM INITIALIZE_IDOC.
CLEAR XVBAK. REFRESH XVBAP. CLEAR XVBAP. POSNR = 0. FIRST = 'X'.
ENDFORM. " INITIALIZE_IDOC
FORM PROCESS_SEGMENT_E1HEAD.
* requested date of delivery WLDAT = E1HEAD-WLDAT.* delivery date XVBAK-BSTDK = E1HEAD-BSTDK.* customer number XVBAK-KUNNR = E1HEAD-AUGEB.* order number XVBAK-BSTNK = E1HEAD-BELNR.* division XVBAK-SPART = E1HEAD-SPART.* distribution channel XVBAK-VTWEG = E1HEAD-VTWEG.* sales organization XVBAK-VKORG = E1HEAD-VKORG.* order type XVBAK-AUART = E1HEAD-AUART.* do not fill incoterms (inco1, inco2)* customer function
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 219
CALL CUSTOMER-FUNCTION '001' EXPORTING PI_VBAK621 = XVBAK IMPORTING PE_VBAK621 = XVBAK TABLES PT_IDOC_DATA_RECORDS = IDOC_DATA.
ENDFORM. " PROCESS_SEGMENT_E1HEAD
FORM PROCESS_SEGMENT_E1ITEM.* position number XVBAP-POSNR = XVBAP-POSNR + 1.* amount XVBAP-WMENG = E1ITEM-MENGE.* unit CALL FUNCTION 'ISO_TO_SAP_MEASURE_UNIT_CODE' EXPORTING ISO_CODE = E1ITEM-BMEINH IMPORTING SAP_CODE = XVBAP-VRKME EXCEPTIONS OTHERS = 0.* material number XVBAP-MATNR = E1ITEM-LMATNR.
CALL CUSTOMER-FUNCTION '002' EXPORTING PI_VBAP621 = XVBAP IMPORTING PE_VBAP621 = XVBAP TABLES PT_IDOC_DATA_RECORDS = IDOC_DATA.APPEND XVBAP.
ENDFORM. " PROCESS_SEGMENT_E1ITEM
FORM CALL_VA01_IDOC_ORDERS USING ERRORCODE.
* call transaction first dynpro PERFORM DYNPRO_START.* call transaction double-line entry PERFORM DYNPRO_DETAIL2.* incoterms PERFORM DYNPRO_HEAD_300.* call transaction item datas PERFORM DYNPRO_POSITION. PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.* determine input method IF INPUT_METHOD IS INITIAL. INPUT_METHOD = 'N'. ENDIF.* call transaction VA01
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (direkter Eingang)
220 April 2001
CALL TRANSACTION 'VA01' USING BDCDATA MODE INPUT_METHOD UPDATE 'S' MESSAGES INTO XBDCMSGCOLL.
errorcode = SY-SUBRC. " remember returncode for status update
ENDFORM. " CALL_VA01_IDOC_ORDERS
form write_status_record using errorcode.
* FILL IDOC_STATUS IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM. IF ERRORCODE = 0.IDOC_STATUS-STATUS = BELEG_GEBUCHT. "value 53 GET PARAMETER ID 'AUN' FIELD BELEGNUMMER. IDOC_STATUS-MSGID = 'V1'. IDOC_STATUS-MSGNO = '311'. IDOC_STATUS-MSGV1 = 'Terminauftrag'. IDOC_STATUS-MSGV2 = BELEGNUMMER. ELSE. IDOC_STATUS-STATUS = BELEG_NICHT_GEBUCHT. "value 51 IDOC_STATUS-MSGID = SY-MSwGID. IDOC_STATUS-MSGNO = SY-MSGNO. IDOC_STATUS-MSGV1 = SY-MSGV1. IDOC_STATUS-MSGV2 = SY-MSGV2. IDOC_STATUS-MSGV3 = SY-MSGV3. IDOC_STATUS-MSGV4 = SY-MSGV4. ENDIF. APPEND IDOC_STATUS.
ENDFORM.
FORM DYNPRO_START.
PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG DYNPRO-EINSTIEG CHANGING LAST_DYNPRO.* ordertype PERFORM DYNPRO_SET USING 'VBAK-AUART' XVBAK-AUART.* sales organization PERFORM DYNPRO_SET USING 'VBAK-VKORG' XVBAK-VKORG.* Distribution channel PERFORM DYNPRO_SET USING 'VBAK-VTWEG' XVBAK-VTWEG.* Division PERFORM DYNPRO_SET USING 'VBAK-SPART' XVBAK-SPART.* Sales office PERFORM DYNPRO_SET USING 'VBAK-VKBUR' XVBAK-VKBUR.* Sales group PERFORM DYNPRO_SET USING 'VBAK-VKGRP' XVBAK-VKGRP.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 221
ENDFORM. " DYNPRO_START
FORM DYNPRO_NEW USING PROGNAME DYNPRONR CHANGING LAST_DYNPRO.
CLEAR BDCDATA. BDCDATA-PROGRAM = PROGNAME. BDCDATA-DYNPRO = DYNPRONR. BDCDATA-DYNBEGIN = 'X'. APPEND BDCDATA. LAST_DYNPRO = DYNPRONR.
ENDFORM. " DYNPRO_NEW
FORM DYNPRO_SET USING FELDNAME FELDINHALT.
CLEAR BDCDATA. CHECK FELDINHALT NE SPACE.* dynpro field name BDCDATA-FNAM = FELDNAME.* contents BDCDATA-FVAL = FELDINHALT. APPEND BDCDATA.
ENDFORM. " DYNPRO_SET
FORM DYNPRO_DETAIL2.* okcode* PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-UER2.* fix dynpro number 4001 PERFORM DYNPRO_NEW USING PROGRAMM_AUFTRAG '4001' CHANGING LAST_DYNPRO.* order party PERFORM DYNPRO_SET USING 'KUAGV-KUNNR' XVBAK-KUNNR.* purchase order number PERFORM DYNPRO_SET USING 'VBKD-BSTKD' XVBAK-BSTNK.* requested delivery date PERFORM DYNPRO_DATE_SET USING 'VBKD-BSTDK' XVBAK-BSTDK.* purchase order date PERFORM DYNPRO_DATE_SET USING 'RV45A-KETDAT' WLDAT.
ENDFORM. " DYNPRO_DETAIL2
FORM DYNPRO_DATE_SET USING FELDNAME FELDINHALT.
DATA: DATE TYPE D.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (direkter Eingang)
222 April 2001
CLEAR BDCDATA. CHECK FELDINHALT NE SPACE. BDCDATA-FNAM = FELDNAME. WRITE FELDINHALT TO DATE. BDCDATA-FVAL = DATE. APPEND BDCDATA.
ENDFORM. " DYNPRO_DATE_SET
FORM DYNPRO_HEAD_300.
PERFORM DYNPRO_SET USING 'BDC_OKCODE' PANEL-KKAU.
* incoterms part 1 IF NOT XVBAK-INCO1 IS INITIAL. PERFORM DYNPRO_SET USING 'VBKD-INCO1' XVBAK-INCO1. ENDIF.* incoterms part 2 IF NOT XVBAK-INCO2 IS INITIAL. PERFORM DYNPRO_SET USING 'VBKD-INCO2' XVBAK-INCO2. ENDIF.* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'BACK'.
ENDFORM. " DYNPRO_HEAD_300
FORM DYNPRO_POSITION.
LOOP AT XVBAP.* dynpro item double line entry* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'UER2'.
IF XVBAP-POSNR = 1.* material number PERFORM DYNPRO_SET USING 'VBAP-MATNR(01)' XVBAP-MATNR.* order quantity PERFORM DYNPRO_SET USING 'RV45A-KWMENG(01)' XVBAP-WMENG.* desired delivery date PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(1)' WLDAT.* sales unit PERFORM DYNPRO_SET USING 'VBAP-VRKME(1)' XVBAP-VRKME. ELSE.* PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'POAN'.
* material number PERFORM DYNPRO_SET USING 'VBAP-MATNR(02)' XVBAP-MATNR.* order quantity PERFORM DYNPRO_SET USING 'RV45A-KWMENG(02)' XVBAP-WMENG.* desired delivery date PERFORM DYNPRO_DATE_SET USING 'RV45A-ETDAT(02)' WLDAT.* sales unit PERFORM DYNPRO_SET USING 'VBAP-VRKME(02)' XVBAP-VRKME. ENDIF.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 223
ENDLOOP.
ENDFORM. " DYNPRO_POSITION
FORM RETURN_VARIABLES_FILL USING ERRORCODE.
* allocate IDOC numbers to Workflow output parameters IF MASS_PROCESSING <> SPACE. IF ERRORCODE = 0. RETURN_VARIABLES-WF_PARAM = PID. RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. APPEND RETURN_VARIABLES. RETURN_VARIABLES-WF_PARAM = APO. RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_OK. ELSE. RETURN_VARIABLES-WF_PARAM = EID. RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_ERROR. ENDIF. ELSE. IF ERRORCODE = 0. RETURN_VARIABLES-WF_PARAM = APE. RETURN_VARIABLES-DOC_NUMBER = BELEGNUMMER. APPEND RETURN_VARIABLES. WORKFLOW_RESULT = C_WF_RESULT_OK. ELSE. WORKFLOW_RESULT = C_WF_RESULT_ERROR. ENDIF. ENDIF.
ENDFORM. " RETURN_VARIABLES_FILL
Globale Daten von IDOC_INPUT_TESTER
TABLES: E1HEAD, E1ITEM.
DATA: BEGIN OF BDCDATA OCCURS 500. INCLUDE STRUCTURE BDCDATA.DATA: END OF BDCDATA.
DATA: BEGIN OF XVBAK. "Kopfdaten INCLUDE STRUCTURE VBAK621.DATA: END OF XVBAK.
DATA: BEGIN OF XVBAP OCCURS 50. "Position INCLUDE STRUCTURE VBAP.DATA: WMENG(18) TYPE C.DATA: LFDAT LIKE VBAP-ABDAT.DATA: KSCHL LIKE KOMV-KSCHL.DATA: KBTRG(16) TYPE C.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Funktionsbaustein anlegen (direkter Eingang)
224 April 2001
DATA: KSCHL_NETWR LIKE KOMV-KSCHL.DATA: KBTRG_NETWR(16) TYPE C.DATA: INCO1 LIKE VBKD-INCO1.DATA: INCO2 LIKE VBKD-INCO2.DATA: YANTLF(1) TYPE C.DATA: PRSDT LIKE VBKD-PRSDT.DATA: HPRSFD LIKE TVAP-PRSFD.DATA: END OF XVBAP.
DATA: BEGIN OF DYNPRO, EINSTIEG LIKE T185V-DYNNR VALUE 101, KKAU LIKE T185V-DYNNR, UER2 LIKE T185V-DYNNR, KBES LIKE T185V-DYNNR, ERF1 LIKE T185V-DYNNR, PBES LIKE T185V-DYNNR, PKAU LIKE T185V-DYNNR, PEIN LIKE T185V-DYNNR, EID1 LIKE T185V-DYNNR, POPO LIKE T185V-DYNNR, EIPO LIKE T185V-DYNNR, KPAR LIKE T185V-DYNNR, PSDE LIKE T185V-DYNNR, PPAR LIKE T185V-DYNNR, KDE1 LIKE T185V-DYNNR, KDE2 LIKE T185V-DYNNR, PDE1 LIKE T185V-DYNNR, PDE2 LIKE T185V-DYNNR, PKON LIKE T185V-DYNNR, END OF DYNPRO.
DATA: BEGIN OF PANEL, KKAU LIKE T185V-PANEL VALUE 'KKAU', UER2 LIKE T185V-PANEL VALUE 'UER2', KBES LIKE T185V-PANEL VALUE 'KBES', ERF1 LIKE T185V-PANEL VALUE 'ERF1', PBES LIKE T185V-PANEL VALUE 'PBES', PKAU LIKE T185V-PANEL VALUE 'PKAU', PEIN LIKE T185V-PANEL VALUE 'PEIN', EID1 LIKE T185V-PANEL VALUE 'EID1', EIAN LIKE T185V-PANEL VALUE 'EIAN', POPO LIKE T185V-PANEL VALUE 'POPO', EIPO LIKE T185V-PANEL VALUE 'EIPO', KPAR LIKE T185V-PANEL VALUE 'KPAR', PSDE LIKE T185V-PANEL VALUE 'PSDE', POAN LIKE T185V-PANEL VALUE 'POAN', PPAR LIKE T185V-PANEL VALUE 'PPAR', KDE1 LIKE T185V-PANEL VALUE 'KDE1', KDE2 LIKE T185V-PANEL VALUE 'KDE2', PDE1 LIKE T185V-PANEL VALUE 'PDE1', PDE2 LIKE T185V-PANEL VALUE 'PDE2', PKON LIKE T185V-PANEL VALUE 'PKON', KOAN LIKE T185V-PANEL VALUE 'KOAN',
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein anlegen (direkter Eingang)
April 2001 225
END OF PANEL.
DATA: BEGIN OF ERRTAB OCCURS 20, TRANS LIKE TSTC-TCODE, ARBGB LIKE T100-ARBGB, CLASS(1) TYPE C, MSGNR LIKE T100-MSGNR,* TEXT LIKE T100-TEXT, TEXT(123) TYPE C, MSGV1 LIKE SY-MSGV1, MSGV2 LIKE SY-MSGV2, MSGV3 LIKE SY-MSGV3, MSGV4 LIKE SY-MSGV4, END OF ERRTAB.*---- Hilfsfelder ------------------------------------------------*
DATA: PROGRAMM_AUFTRAG LIKE T185V-AGIDV VALUE 'SAPMV45A'.
DATA: LAST_DYNPRO LIKE T185V-DYNNR, WLDAT LIKE VBAK-BSTDK, POSNR LIKE VBAP-POSNR, FIRST(1) TYPE C VALUE 'X'.
DATA: BEGIN OF XBDCMSGCOLL OCCURS 10. INCLUDE STRUCTURE BDCMSGCOLL.DATA: END OF XBDCMSGCOLL.
* Terminauftrag ( Auftragsart wird fest gesetzt !)DATA: BELEGNUMMER LIKE VBAK-VBELN.DATA: ERRORCODE LIKE SY-SUBRC.
* Statuswerte fuer IDOC-StatusDATA: BELEG_NICHT_GEBUCHT LIKE TEDS1-STATUS VALUE '51'.DATA: BELEG_GEBUCHT LIKE TEDS1-STATUS VALUE '53'.
*- Direktwerte für Return_variables -------------------------data: eid like bdwfretvar-wf_param value 'Error_IDOCs', pid like bdwfretvar-wf_param value 'Processed_IDOCs', apo like bdwfretvar-wf_param value 'Appl_Objects', ape like bdwfretvar-wf_param value 'Appl_Object'.
*- Direktwerte für Workflow_Result -------------------------DATA: C_WF_RESULT_ERROR LIKE BDWFAP_PAR-RESULT VALUE '99999'.DATA: C_WF_RESULT_OK LIKE BDWFAP_PAR-RESULT VALUE '0'.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eigenschaften des Funktionsbausteins pflegen
226 April 2001
Eigenschaften des Funktionsbausteins pflegenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Vorgehensweise1. Gehen Sie in das ALE-Entwicklungsmenü: Wählen Sie aus dem R/3-Einstiegsbild
Werkzeuge � Business Framework � ALE � Entwicklung, IDoc-Schnittstelle �Eingangsverarbeitung � Funktionsbaustein � Attribute pflegen, Neue Einträge.
2. Pflegen Sie die Eigenschaften Ihres Funktionsbausteins und sichern Sie Ihre Angaben.Stellen Sie die neuen Einträge in Ihren Transportauftrag
Beim Einzeleingang setzen Sie die Eigenschaft Inputtyp je nachdem, ob die aufgerufeneTransaktion die IDocs sperrt und den IDoc-Status fortschreibt oder nicht. WeitereInformationen zu „ALE-fähigen Transaktionen“ finden Sie unter Call Transactioneinsetzen [Extern].
Im Fallbeispiel geben Sie den Inputtyp 2 ein (Einzeleingang mit IDoc-Sperre in derTransaktion) und markieren die Option “Dialog möglich” (Ihr Funktionsbaustein solleine Dialogtransaktion aufrufen können).
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Funktionsbaustein zuordnen (direkter Eingang)
April 2001 227
Funktionsbaustein zuordnen (direkter Eingang)Hier definieren Sie, daß Ihr neuer Funktionsbaustein Ihren neuen Basistyp mit einer bestimmtenNachricht verarbeiten darf. Außerdem weisen Sie dem Funktionsbaustein ein Anwendungsobjektaus dem Business Object Repository (BOR) zu (etwa einen Kundenauftrag), dem er dieAnwendungsdaten aus dem IDoc zuweisen darf. Dieser Schritt ist die ALE-Registrierung desFunktionsbausteins.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194].
Vorgehensweise1. Wählen Sie aus dem Einstiegsbild der IDoc-Schnittstelle [Extern] Entwicklung ��
Nachricht/Anw.Objekt, und dann neue Einträge.
2. Ordnen Sie Ihren Funktionsbaustein den verschiedenen Objekten zu. Als Richtungwählen Sie 2 (Eingang). Sichern Sie die neuen Einträge in Ihrem Transportauftrag.
Im Fallbeispiel ordnen Sie folgende Objekte einander zu:
Baustein IDOC_INPUT_TESTER, Typ F (Funktionsbaustein)
Basistyp TESTER01
Nachrichtentyp TESTER
Objekttyp BUS2032 (Kundenauftrag)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Vorgangscode zuordnen (direkter Eingang)
228 April 2001
Vorgangscode zuordnen (direkter Eingang)In diesem Schritt ordnen Sie dem neuen Funktionsbaustein einen neuen Vorgangscode zu. Sieerreichen dadurch, daß der Funktionsbaustein aus den Partnervereinbarungen der IDoc-Schnittstelle identifiziert werden kann, wenn ein IDoc mit Ihrem neu angelegten Nachrichtentypeingeht.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Vorgehensweise1. Wählen Sie im Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �
Vorgangscode Eingang, Navigation Vorgangscode Eingang, dann , dann NeueEinträge.
2. Tragen Sie Ihren Vorgangscode und eine Beschreibung ein. Wählen Sie als OptionenVerarbeitung mit ALE und Verarbeitung durch Funktionsbaustein und sichern Sie IhreAngaben.
Sie gelangen (entweder automatisch oder von Hand) in das Pflegebild, in dem Sie demVorgangscode den Eingangsfunktionsbaustein zuordnen.
3. Wählen Sie Neue Einträge Tragen Sie im Detailbild ein:
� Ihren Vorgangscode
� Rahmen Eingangsmodul: Ihren Funktionsbaustein und wie oft er maximal versuchensoll, die Anwendungsdaten einzubuchen, bevor die Ausnahmebehandlungangesprungen werden soll.
� Rahmen IDoc: Ihren Objekttyp, das Startereignis inputErrorOccurred und dasEndereignis inputFinished.
� Rahmen Anwendungsobjekt: Ihren Objekttyp
Lassen Sie die anderen Felder leer. Sichern Sie und gehen Sie zurück zum Einstiegsbild“Vorgangscodes Eingang”.
5. Gehen Sie über zur Pflege der Eingangsvorgangscodes zurück und wählen Sie dieNavigation Logische Nachricht.
6. Im Änderungsmodus wählen Sie Neue Einträge.
7. Tragen Sie Ihren Nachrichtentyp (logische Nachricht) und Ihren Vorgangscode ein undsichern Sie. Damit kann die Wertehilfe (F4) in den Partnervereinbarungen die möglichenVorgangscodes aus der logischen Nachricht, also der betriebswirtschaftlichen Sicht,ausgeben.
Wenn Sie im letzten Schritt alle Typen gewählt haben, dann gibt die Wertehilfe denVorgangscode zu allen Nachrichtentypen aus. Gleiches gilt für die beiden anderenOptionen zu Nachrichtenvariante und –funktion.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Vorgangscode zuordnen (direkter Eingang)
April 2001 229
ErgebnisDurch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie in den Partnervereinbarungen eintragen können.
Im Fallbeispiel machen Sie folgende Angaben:
Vorgangscode TESTEIN
Basistyp TESTER01
Funktionsbaustein IDOC_INPUT_TESTER
maximale Anzahl Wiederholungen 0
Nachrichtentyp (logische Nachricht) TESTER
IDoc-Objekttyp IDOCTEST
Anwendungsobjekttyp BUS2032 (Kundenauftrag)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Partner vereinbaren (direkter Eingang)
230 April 2001
Partner vereinbaren (direkter Eingang)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
VorgehensweiseDer neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fürEingangsverarbeitung und Ausnahmebehandlung.
Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].
Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen(allgemeine Kopfeinträge müssen vorhanden sein):
Feld Wert
Partnernummer TESTKUND
Partnerart KU
Partnerrolle AG
Nachrichtentyp TESTER
Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), SpracheDE
Vorgangscode TESTEIN
Beachten Sie die folgende Graphik, die Ihnen zeigt, was Sie definiert haben und wie sich das inder Eingangsverarbeitung auswirkt!
Schlüsselfelder sind in der Graphik grau dargestellt, Zuordnungen, die das R/3-Systemvornimmt, durch Pfeile. Im Verlauf Ihrer Entwicklung des neuen Basistyps und seiner Einbettungin die Eingangsverarbeitung haben Sie die diese Felder einander entsprechend definiert. Da Sieden Mandanten nicht einstellen können, ist dieses Schlüsselfeld hier nicht gezeigt.
Felder und Zuordnungen im Eingang
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Partner vereinbaren (direkter Eingang)
April 2001 231
IDoc-Kontrollsatz
Eingangs-Partnervereinbarungen
Zuordnung Nachricht - IDoc-Typ
Zuordnung F.Baustein - IDoc-Typ, Nachricht... (ALE-Registrierung)
IDoc-Typ
IDoc-Typ Partner("Nummer",Art,Rolle)
Nachricht(Typ, Variante, Funktion) Test?
IDoc-Typ Funktions-baustein
Nachricht(Typ, Variante, Funktion)
BOR-Objekt
Partner("Nummer",Art,Rolle)
Vorgangscode
Nachricht(Typ, Variante, Funktion)
Eingang mit ALE?, Empfänger von
Benachrichtigungen,...
Test?
Nachricht(Typ, Variante, Funktion)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Aufgabe anlegen (Ausnahme)
232 April 2001
Aufgabe anlegen (Ausnahme)In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred.Außerdem aktivieren Sie die Typkopplung [Extern].
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
VorgehensweiseAufgabe anlegen durch Kopieren1. Wählen Sie aus dem R/3-Einstiegsbild Werkzeuge � Business Workflow � Entwicklung,
Definitionswerkzeuge � Aufgaben � Kopieren. Geben Wählen Sie als AufgabentypStandardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung vonORDERS01) ein.
2. Wählen Sie und geben Sie ein Aufgabenkürzel ein. Beim Kopieren wählen Sie dieEntwicklungsklasse, die Sie für sich in der IDoc-Administration eingestellt haben, oder die füralle anderen Objekte Ihrer Basistypdefinition gilt.
Neu angelegte Aufgabe ändern3. Gehen Sie ins Workflow-Entwicklungsmenü zurück und wählen Sie Definitionswerkzeuge �
Aufgabe � ändern. Das System übernimmt Ihre neue Aufgabe ins Eingabefeld.
4. Wählen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fürfolgende Registerkarten:
� Grunddaten
� Auslösende Ereignisse (neue Zeile einfügen, alte löschen)
� Beendende Ereignisse (neue Zeile einfügen, alte löschen)
Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom ObjekttypIDOCORDERS übernommen (Registerkarte Grunddaten).
5. Schalten Sie per Knopfdruck die Typkopplung beim auslösenden Ereignis ein (grünes Licht).Sichern Sie Ihre Angaben.
6. Wählen Sie Zusatzdaten � Bearbeiterzuordnung � pflegen, um Ihrer Aufgabe möglicheBearbeiter zuzuordnen. Über Eigenschaften können Sie die Aufgabe als generelle Aufgabeklassifizieren, d.h. jeder ist möglicher Bearbeiter.
7. Sichern Sie ihre Angaben.
Sie können testen, ob Sie als möglicher Bearbeiter der Aufgabe in Frage kommen.Wählen Sie dazu aus dem Workflow-Entwicklungsmenü Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .Wenn eine Fehlermeldung Sie als nicht möglichen Bearbeiter ausweist, kann das
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufgabe anlegen (Ausnahme)
April 2001 233
auch an internen Puffertabellen der Organisationsmodellierung liegen. Wählen Siedann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.
Im Fallbeispiel machen Sie folgende Angaben:
Aufgabenkürzel TEST_ERROR
Objekttyp IDOCTEST
Objektmethode errorProcess
Bearbeiterzuordnung generelle Aufgabe
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingang testen
234 April 2001
Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus
� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder
� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)
Vorgehensweise4. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs
Ihres Typs editieren können. Als Testvorlage wählen Sie
� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.
� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.
Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.
5. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.
6. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.
Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.
Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:
Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen
Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingang testen
April 2001 235
Wenn Sie den Basistyp ORDERS01 erweitert haben:
IDoc-Typ ORDERS01
Erweiterung Z1ORDERS
Nachrichtentyp ORDERS
Wenn Sie den neuen Basistyp TESTER01 definiert haben:
IDoc-Typ TESTER01
Nachrichtentyp TESTER
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausnahmebehandlung testen
236 April 2001
Ausnahmebehandlung testenTesten Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehlerprovozieren, z.B. ein IDoc mit leerem Mußfeld übergeben.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps [Seite 194]. Insbesondere muß Ihr Coding die Ausnahmebehandlung rufen (bzw.beim ALE-Eingang über die Workflow-Rückgabeparameter veranlassen) und Status 51 setzen!
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test �
Testwerkzeug. Wählen Sie als Vorlage für den Test existierendes IDoc und geben Siedie Nummer eines Eingangs-IDocs an, das Status 53 hat.
2. Wählen Sie .
3. Editieren Sie durch Anklicken ein Mußfeld eines Segments und entfernen Sie seinenInhalt.
4. Wählen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Siez.B. über die IDoc-Anzeige [Seite 120] verifizieren können).
5. Wenn Sie als möglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter inden Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem inIhren integrierten Eingangskorb, das Sie dort ausführen können. Zum Eingangskorbkommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle über IDoc �Eingangskorb.
Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG.Dadurch stößt Ihre Eingangsverarbeitung in der FormroutineCALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisationangegeben). Sie erhalten als möglicher und ausgewählter Bearbeiter ein Workitem inIhren integrierten Eingangskorb.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingang über Workflow einrichten
April 2001 237
Eingang über Workflow einrichtenVoraussetzungenAllgemeine Definitionen [Seite 197]
VorgehensweiseEingangsverarbeitung als Objektmethode definieren [Seite 238]
Standardaufgabe anlegen (Eingang über Workflow) [Seite 243]
Vorgangscode anlegen (Eingang über Workflow) [Seite 244]
Standardaufgabe anlegen (Ausnahme) [Seite 245]
Partner vereinbaren (Eingang über Workflow) [Seite 247]
Eingang über Workflow testen [Seite 248]
Ausnahmebehandlung testen [Seite 250]
ErgebnisSie haben den Eingang (mit Ausnahmebehandlung) über Workflow definiert und getestet.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung als Objektmethode definieren
238 April 2001
Eingangsverarbeitung als Objektmethode definierenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Vorgehensweise1. Wählen Sie aus dem Werkzeuge � Business Workflow � Entwicklung
��Definitionswerkzeuge ��Business Objekt Builder. Geben Sie Ihren Objekttyp ein undwählen Sie ändern.
2. Definieren Sie eine neue Methode für Ihren Objekttyp. Positionieren Sie dazu auf Methodenund wählen Sie .
3. Wenn Sie einen Funktionsbaustein als technische Realisierung Ihrer Methode geschriebenhaben, dann geben Sie ihn als Vorlage ein. Benennen Sie die Methode und sichern Sie.
Bei synchronen Methoden brauchen Sie kein Ereignis zu definieren, mit dem sich dieMethode zurückmeldet.
4. Positionieren Sie auf Ihre neue Methode und wählen Programm.
5. Programmieren Sie Ihre Verarbeitung.
6. Sichern Sie den Programmcode und verlassen Sie den ABAP Editor ( ).
7. Ändern Sie im Business Object Builder den Freigabestatus der Methode auf implementiert:Positionieren Sie auf Ihre Methode und wählen Sie Bearbeiten � Freigabestatus ändern �Objekttypkomponente � in implementiert.
8. Wählen Sie .
ErgebnisSie haben eine Methode durch ein konkretes ABAP-Programm realisiert. Sie müssen noch eineStandardaufgabe anlegen, die auf diese Methode und auf den zugehörigen Objekttyp zeigt.
Im Fallbeispiel definieren Sie die synchrone, dialogfreie MethodeinputBackgroundTest für Ihren Objekttyp IDOCTEST. Das ABAP-Coding lautet:INCLUDE <OBJECT>. " Workflow-Makros zur Objektdefinitionbegin_data object. " Do not change.. DATA is generated* only private members may be inserted into structure privatedata:" begin of private," to declare private attributes remove comments and" insert private attributes here..." end of private, begin of key, idocnumber like edidc-docnum, end of key.end_data object. " Do not change.. DATA is generated
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsverarbeitung als Objektmethode definieren
April 2001 239
...BEGIN_METHOD inputBackgroundTest changing container.CALL FUNCTION 'IDOC_INPUT_WF_TESTER' EXPORTING idocnumber = object-key-idocnumber EXCEPTIONS OTHERS = 01.END_METHOD.
Der übergebene Parameter ist IDOCNUMBER, den der Objekttyp IDOCTEST vom SupertypIDOCAPPL als Schlüsselfeld geerbt hat.
Den Funktionsbaustein IDOC_INPUT_WF_TESTER legen Sie per Vorwärtsnavigation(Doppelklick) an. Er liest die Daten aus dem IDoc und setzt ein Ereignis im Fehlerfall ab (durchAufruf des Workflow-Funktionsbausteins SWE_EVENT_CREATE). In der FormroutineREAD_IDOC_TESTER sehen Sie, wie Daten aus einer IDoc-Tabelle über Segmentstrukturenin Anwendungstabellen wandern.
Im folgenden Coding wird öfters auf das Analogon beim direkten Eingang verwiesen(Beispiel IDOC_INPUT_TESTER), jedoch nur aus Platzgründen, da man jaentweder den direkten oder den Workflow-Eingang wählt.
Verwaltungsparameter von IDOC_INPUT_WF_TESTER
Anwendungskürzel V (Vertrieb)
Ablaufart normal, Start sofort
BeispielcodingFUNCTION IDOC_INPUT_WF_TESTER.*---------------------------------------------------------*Globale Schnittstelle: * IMPORTING idocnumber LIKE EDIDC-DOCNUM*---------------------------------------------------------
INCLUDE <CNTN01>. " Workflow-Makros zur ContainerdefinitionDATA: i_edids LIKE edi_ds OCCURS 1 WITH HEADER LINE,event_id like swedumevid-evtid,status like edids-status,cidocnumber like sweinstcou-objkey,errorcode like sy-subrc.
"Für Test der Ausnahmebehandlungswc_container ev_container.
* initialize SET/GET parameters and internal tablesPERFORM INITIALIZE_ORGANIZATIONAL_DATA.
CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS' EXPORTING
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung als Objektmethode definieren
240 April 2001
document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_foreign_lock = 01 document_not_exist = 02 document_number_invalid = 03 document_is_already_open = 04.
CALL FUNCTION 'EDI_SEGMENTS_GET_ALL' EXPORTING document_number = idocnumber TABLES idoc_containers = idoc_data EXCEPTIONS document_number_invalid = 01 end_of_document = 02.
PERFORM READ_IDOC_TESTER.
PERFORM CALL_VA01_IDOC_ORDERS using errorcode.
PERFORM WRITE_STATUS_RECORD TABLES i_edids "Status schreibenUSING errorcode.
CALL FUNCTION 'EDI_DOCUMENT_CLOSE_PROCESS' EXPORTING document_number = idocnumber IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_not_open = 01 failure_in_db_write = 02 parameter_error = 03 status_set_missing = 04.IF errorcode <> 0. cidocnumber = idocnumber. CALL FUNCTION 'SWE_EVENT_CREATE' EXPORTING objtype = 'IDOCTEST' objkey = cidocnumber event = 'InputErrorOccurred' start_recfb_synchron = 'X' "synchroner Aufruf IMPORTING event_id = event_id TABLES event_container = ev_container EXCEPTIONS objtype_not_found = 1 others = 2. COMMIT WORK.ENDIF.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingangsverarbeitung als Objektmethode definieren
April 2001 241
ENDFUNCTION.
FORM INITIALIZE_ORGANIZATIONAL_DATA...* Formroutine wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]
ENDFORM. " INITIALIZE_ORGANIZATIONAL_DATA
FORM READ_IDOC_TESTER....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]
ENDFORM. " READ_IDOC_TESTER
FORM CALL_VA01_IDOC_ORDERS using errorcode.
* call transaction first dynpro PERFORM DYNPRO_START.* call transaction double-line entry PERFORM DYNPRO_DETAIL2.* incoterms PERFORM DYNPRO_HEAD_300.* call transaction item datas PERFORM DYNPRO_POSITION. PERFORM DYNPRO_SET USING 'BDC_OKCODE' 'SICH'.* call transaction VA01 CALL TRANSACTION 'VA01' USING BDCDATA MODE 'N' UPDATE 'S' MESSAGES INTO XBDCMSGCOLL.
errorcode = SY-SUBRC. " remember returncode for status update
ENDFORM. " CALL_VA01_IDOC_ORDERS
FORM DYNPRO_START....* Formroutine und aufgerufene Routinen wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]
ENDFORM. " DYNPRO_START
FORM WRITE_STATUS_RECORD TABLES i_edids STRUCTURE edi_dsUSING errorcode.
* fill status record I_EDIDS-DOCNUM = IDOC_CONTRL-DOCNUM. I_EDIDS-LOGDAT = SY-DATUM. IF errorcode = 0.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingangsverarbeitung als Objektmethode definieren
242 April 2001
I_EDIDS-STATUS = BELEG_GEBUCHT. "value 53 GET PARAMETER ID 'AUN' FIELD BELEGNUMMER. I_EDIDS-STAMID = 'V1'. I_EDIDS-STAMNO = '311'. I_EDIDS-STAPA1 = 'Terminauftrag'. I_EDIDS-STAPA2 = BELEGNUMMER. ELSE.I_EDIDS-STATUS = BELEG_NICHT_GEBUCHT. "value 51 I_EDIDS-STAMID = SY-MSGID. I_EDIDS-STAMNO = SY-MSGNO. I_EDIDS-STAPA1 = SY-MSGV1. I_EDIDS-STAPA2 = SY-MSGV2. I_EDIDS-STAPA3 = SY-MSGV3. I_EDIDS-STAPA4 = SY-MSGV4. ENDIF.
CALL FUNCTION 'EDI_DOCUMENT_STATUS_SET'EXPORTING document_number = idoc_contrl-docnum idoc_status = i_edids IMPORTING idoc_control = idoc_contrl EXCEPTIONS document_number_invalid = 01 other_fields_invalid = 02 status_invalid = 03.ENDFORM. " WRITE_STATUS_RECORD
Globale Daten von IDOC_INPUT_WF_TESTERdata:idoc_data LIKE edidd occurs 10 WITH HEADER LINE,idoc_contrl LIKE edidc occurs 1 WITH HEADER LINE.* weitere Daten wie im Abschnitt * Funktionsbaustein anlegen (direkter Eingang) [Seite 215]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufgabe anlegen (Eingang über Workflow)
April 2001 243
Aufgabe anlegen (Eingang über Workflow)In diesem Schritt legen Sie eine Aufgabe zur Eingangsverarbeitung an, die im Hintergrundabgearbeitet wird. Die Aufgabe zeigt auf Ihre neu angelegte Objektmethode. Alternativ könnenSie einen Workflow definieren.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Aufgabe anlegen1. Wählen Sie Entwicklung � Business Workflow � Definitionswerkzeuge � Aufgaben �
Anlegen (Aufgabentyp Standardaufgabe). Geben Sie ein Aufgabenkürzel ein.
Wählen Sie und sichern Sie gleich im Anschluß.
Beim Sichern ordnen Sie die Aufgabe der Entwicklungsklasse Ihrer anderenEntwicklungsobjekte (Basistyp, Funktionsgruppe,...) zu.
2. Weisen Sie der Aufgabe mögliche Bearbeiter zu: Wählen Sie Zusatzdaten �Bearbeiterzuordnung � Pflegen. Diesen Schritt müssen Sie nur dann durchführen, wennSie keine Hintergrundaufgabe anlegen wollen – in diesem Fall gibt es ja keinenBearbeiter.
Sie können die Aufgabe über Eigenschaften als generelle Aufgabe pflegen.
3. Tragen Sie Ihren Objekttyp und Ihre Methode ein und kennzeichnen Sie die Aufgabenach der Verarbeitungsart (z.B. für Hintergrundverarbeitung). Ändern Sie denFreigabestatus auf implementiert. Sichern Sie Ihre Angaben.
Bei Dialogaufgaben können Sie testen, ob Sie als möglicher Bearbeiter in Fragekommen. Wählen Sie Entwicklung � Business Workflow � Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .
Im Fallbeispiel machen Sie folgende Angaben:
Aufgabenkürzel TEST_INPUT
Methode InputBackgroundTest
Objekttyp IDOCTEST
Ausführung Hintergrundverarbeitung
Bearbeiterzuordnung keine (Es gibt keine Bearbeiter fürHintergrundaufgaben)
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Vorgangscode anlegen (Eingang über Workflow)
244 April 2001
Vorgangscode anlegen (Eingang über Workflow)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
Vorgehensweise1. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Steuerung �
Vorgangscode Eingang, Navigation Vorgangscode Eingang, und dann neue Einträge.
2. Tragen Sie einen Vorgangscode, eine Beschreibung und Ihre neue Standardaufgabe imFeld Identifizierung ein. Wählen Sie als Optionen Verarbeitung durch Aufgabe und z.B.Verarbeitung ohne ALE und sichern Sie Ihre Angaben.
3. Wählen Sie die Navigation Logische Nachricht.
4. Wählen Sie Neue Einträge.
5. Tragen Sie Ihren Nachrichtentyp und Ihren Vorgangscode ein und sichern Sie.
Die Wertehilfe (F4) in den Partnervereinbarungen kann jetzt aus Ihrem Nachrichtentyp,also der betriebswirtschaftlichen Sicht, Ihren Vorgangscode anbieten. Im Bild können Siediese Hilfe auch auf bestimmte Nachrichtenvarianten oder –funktionen einschränken.
ErgebnisDurch Zuordnung haben Sie den verarbeitenden Funktionsbaustein mit einem neuenVorgangscode benannt, den Sie in den Partnervereinbarungen eintragen können.
Im Fallbeispiel machen Sie folgende Angaben:
Vorgangscode TESTWFEIN
Identifizierung <Ihre Aufgabe>
Logische Nachricht TESTER
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Aufgabe anlegen (Ausnahme)
April 2001 245
Aufgabe anlegen (Ausnahme)In diesem Schritt legen Sie eine Aufgabe als Verbraucher des Ereignisses inputErrorOccurred.Außerdem aktivieren Sie die Typkopplung [Extern].
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
VorgehensweiseAufgabe anlegen durch Kopieren8. Wählen Sie aus dem R/3-Einstiegsbild Werkzeuge � Business Workflow � Entwicklung,
Definitionswerkzeuge � Aufgaben � Kopieren. Geben Wählen Sie als AufgabentypStandardaufgabe und als Kennung 00008046 (Fehler bei Eingangsverarbeitung vonORDERS01) ein.
9. Wählen Sie und geben Sie ein Aufgabenkürzel ein. Beim Kopieren wählen Sie dieEntwicklungsklasse, die Sie für sich in der IDoc-Administration eingestellt haben, oder die füralle anderen Objekte Ihrer Basistypdefinition gilt.
Neu angelegte Aufgabe ändern10. Gehen Sie ins Workflow-Entwicklungsmenü zurück und wählen Sie Definitionswerkzeuge �
Aufgabe � ändern. Das System übernimmt Ihre neue Aufgabe ins Eingabefeld.
11. Wählen Sie . Ersetzen Sie den Objekttyp IDOCORDERS durch Ihren neuen Objekttyp fürfolgende Registerkarten:
� Grunddaten
� Auslösende Ereignisse (neue Zeile einfügen, alte löschen)
� Beendende Ereignisse (neue Zeile einfügen, alte löschen)
Die Objektmethode inputForeground zur Ausnahmebehandlung wird vom ObjekttypIDOCORDERS übernommen (Registerkarte Grunddaten).
12. Schalten Sie per Knopfdruck die Typkopplung beim auslösenden Ereignis ein (grünes Licht).Sichern Sie Ihre Angaben.
13. Wählen Sie Zusatzdaten � Bearbeiterzuordnung � pflegen, um Ihrer Aufgabe möglicheBearbeiter zuzuordnen. Über Eigenschaften können Sie die Aufgabe als generelle Aufgabeklassifizieren, d.h. jeder ist möglicher Bearbeiter.
14. Sichern Sie ihre Angaben.
Sie können testen, ob Sie als möglicher Bearbeiter der Aufgabe in Frage kommen.Wählen Sie dazu aus dem Workflow-Entwicklungsmenü Laufzeitwerkzeuge �Workflow starten (Testumgebung), geben dann Ihre Aufgabe ein und wählen .Wenn eine Fehlermeldung Sie als nicht möglichen Bearbeiter ausweist, kann das
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Aufgabe anlegen (Ausnahme)
246 April 2001
auch an internen Puffertabellen der Organisationsmodellierung liegen. Wählen Siedann Organisatorisches Umfeld auffrischen und versuchen Sie es noch einmal.
Im Fallbeispiel machen Sie folgende Angaben:
Aufgabenkürzel TEST_ERROR
Objekttyp IDOCTEST
Objektmethode errorProcess
Bearbeiterzuordnung generelle Aufgabe
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Partner vereinbaren (Eingang über Workflow)
April 2001 247
Partner vereinbaren (Eingang über Workflow)VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps. [Seite 194]
VorgehensweiseDer neue Basistyp muß in den Partnervereinbarungen eingetragen sein, um eingesetzt werdenzu können. Im Eingang vereinbaren Sie zum Basistyp noch den neuen Vorgangscode fürEingangsverarbeitung und Ausnahmebehandlung.
Zum Vorgehen lesen Sie den Abschnitt Partnervereinbarungen im Standarddialog [Seite 76].
Im Fallbeispiel pflegen Sie folgende Felder in den Eingangspartnervereinbarungen:
Feld Wert
Partnernummer TESTKUND
Partnerrolle AG
Partnerart KU
Nachrichtentyp TESTER
IDoc-Typ TESTER01
Erlaubter Bearbeiter Ihr SAP-Benutzer, Art US (einzelner Anwender), Sprache DE
Vorgangscode TESTWFEIN
Verarbeitung sofortige Verarbeitung
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Eingang testen
248 April 2001
Eingang testenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte für den Eingang aus
� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder
� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)
Vorgehensweise7. Zum Testen verwenden Sie das Testwerkzeug Eingang [Seite 99], da Sie damit direkt IDocs
Ihres Typs editieren können. Als Testvorlage wählen Sie
� Ein Ausgangs-IDoc, falls Sie für Ihren IDoc-Typ den Ausgang eingerichtet und getestethaben. Dann müssen Sie nur noch Absender und Empfänger vertauschen und imKontrollsatz die Richtung 2 eingeben.
� Ihren neuen IDoc-Typ, falls Sie noch kein IDoc Ihres neuen Typs (erweiterter oder neuerBasistyp) besitzen. Dann müssen Sie zusätzlich noch die Segmentfelder mitAnwendungsdaten füllen.
Beim direkten ALE-Eingang können Sie den Funktionsbaustein direkt und imDebugging-Modus aus dem Testwerkzeug anspringen. Gerade beiNeuentwicklungen ist das sehr hilfreich. Beim Eingang über Workflow testen Sie IhreVerarbeitung z.B. in der ABAP Workbench.
8. Überprüfen Sie über die IDoc-Anzeige [Seite 120] den aktuellen Stand des neuen IDocs.Wenn die Anwendung den Beleg akzeptiert, erhält er jetzt den aktuellen Status 53(“Anwendungsbeleg gebucht”). Andernfalls hat es den aktuellen Status 51(“Anwendungsbeleg nicht gebucht”). Durch Anklicken der Statussätze können Sie sichanzeigen lassen, welche Fehler die Anwendung in die Statussätze geschrieben hat.
9. Überprüfen Sie, ob die Anwendung die IDoc-Daten in die entsprechenden Tabellengeschrieben hat.
Gibt das Testwerkzeug eine Fehlernachricht aus (z.B. “IDoc konnte oder sollte nichtverarbeitet werden”), dann können Sie von dieser Nachricht direkt in die IDoc-Anzeige springen.
Im Fallbeispiel sollten Sie folgende Einträge im Kontrollsatz vornehmen:
Empfänger: Port SAPC11, Partnernummer C11CLNT<aktueller Mandant>,Partnerart LS (logisches System), Partnerrolle leer lassen
Absender: Port TESTPORT, Partnernummer TESTKUND, Partnerart KU(Kunde), Partnerrolle AG
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Eingang testen
April 2001 249
Wenn Sie den Basistyp ORDERS01 erweitert haben:
IDoc-Typ ORDERS01
Erweiterung Z1ORDERS
Nachrichtentyp ORDERS
Wenn Sie den neuen Basistyp TESTER01 definiert haben:
IDoc-Typ TESTER01
Nachrichtentyp TESTER
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Ausnahmebehandlung testen
250 April 2001
Ausnahmebehandlung testenTesten Sie die Ausnahmebehandlung, indem Sie mit dem Testwerkzeug einen Fehlerprovozieren, z.B. ein IDoc mit leerem Mußfeld übergeben.
VoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus Definition und Verwendungeines Basistyps [Seite 194]. Insbesondere muß Ihr Coding die Ausnahmebehandlung rufen (bzw.beim ALE-Eingang über die Workflow-Rückgabeparameter veranlassen) und Status 51 setzen!
Vorgehensweise6. Wählen Sie aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] Test �
Testwerkzeug. Wählen Sie als Vorlage für den Test existierendes IDoc und geben Siedie Nummer eines Eingangs-IDocs an, das Status 53 hat.
7. Wählen Sie .
8. Editieren Sie durch Anklicken ein Mußfeld eines Segments und entfernen Sie seinenInhalt.
9. Wählen Sie Standard Eingang. Ihr IDoc sollte auf den Fehlerstatus 51 laufen (was Siez.B. über die IDoc-Anzeige [Seite 120] verifizieren können).
10. Wenn Sie als möglicher Bearbeiter Ihrer Standardaufgabe und als erlaubter Bearbeiter inden Eingangspartnervereinbarungen eingetragen sind, erhalten Sie ein Workitem inIhren integrierten Eingangskorb, das Sie dort ausführen können. Zum Eingangskorbkommen Sie z.B. aus dem Einstiegsknoten der IDoc-Schnittstelle über IDoc �Eingangskorb.
Im Fallbeispiel entfernen Sie den Wert aus dem Segmentfeld E1HEAD-VKORG.Dadurch stößt Ihre Eingangsverarbeitung in der FormroutineCALL_VA01_IDOC_ORDERS auf einen Fehler (keine Verkaufsorganisationangegeben). Sie erhalten als möglicher und ausgewählter Bearbeiter ein Workitem inIhren integrierten Eingangskorb.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Neu definierte Objekte freigeben
April 2001 251
Neu definierte Objekte freigebenVoraussetzungenVoraussetzung sind die vorangegangenen notwendigen Schritte aus
� Erweiterung eines IDoc-Typs [Seite 176] (Wenn Sie einen Basistyp erweitert haben)oder
� Definition und Verwendung eines Basistyps. [Seite 194] (Wenn Sie einen neuen Basistypdefiniert haben)
VorgehensweiseSie geben zuerst die neuen Segmente frei, dann Ihren Basistyp bzw. Ihre Erweiterung.
Die Freigabe setzen Sie aus dem jeweiligen Entwicklungswerkzeug (IDoc-Typ-Editor oderSegmenteditor) über Bearbeiten � Freigabe setzen. Die Freigabe können Sie auch wieder überBearbeiten � Freigabe aufheben zurücknehmen.
Im Fallbeispiel geben Sie nach erfolgreichem Testen folgende Entwicklungsobjektein der angegebenen Reihenfolge frei:
Wenn Sie den Basistyp ORDERS01 erweitert haben:
Segment Z1TEST1
Erweiterung Z1ORDERS
Wenn Sie den neuen Basistyp TESTER01 definiert haben:
Segmente E1HEAD, E1ITEM
IDoc-Typ TESTER01
ErgebnisIhre Neudefinition ist jetzt abgeschlossen. Wenn Sie die Dokumentation zu Ihren Neudefinitionennoch übersetzen wollen, können Sie dies gezielt mit der allgemeinen Übersetzungstransaktionbewerkstelligen. Im folgenden Abschnitt sind die Objekte zusammengestellt, die Sie dafürinnerhalb der Übersetzungstransaktion anfassen müssen:
Dokumentation übersetzen [Seite 155]
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Suche nach Fehlern in der Workflow-Verarbeitung
252 April 2001
Suche nach Fehlern in der Workflow-VerarbeitungBei ereignisgesteuerten Workflows prüfen Sie bei Fehlern folgendes:
Wird ein Ereignis erzeugt, daß die Aufgabe startet?
1. Schalten Sie den Ereignismonitor ein: Werkzeuge � Business Workflow � Entwicklung,Hilfsmittel � Ereignisse � Ereignis-Trace � Ein/Ausschalten.
2. Testen Sie Eingang bzw. Ausnahmebehandlung wie in der Checkliste beschrieben.
3. Wählen Sie Werkzeuge � Business Workflow � Entwicklung � Hilfsmittel � Ereignisse �Ereignis-Trace � Anzeigen. Geben Sie Ihren erzeugenden Objekttyp und das Ereignis einund grenzen Sie die Erzeugungszeit entsprechend ein.
4. Wenn kein Ereignis gefunden wurde, dann prüfen Sie bitte:
Beim direkten Eingang über ALE (Ausnahmebehandlung):
� Gibt Ihr Funktionsbaustein den richtigen Workflow-Parameter zurück?
� Ist in der entsprechenden ALE-Tabelle (erreichbar über den Eingangs-Vorgangscode)das Ereignis beim entsprechenden Objekttyp gepflegt?
Sie können die Konsistenzprüfung von ALE benutzen: Wählen Sie dazu Werkzeuge� Business Framework � ALE � Entwicklung, IDoc-Schnittstelle �Eingangsverarbeitung � Konsistenz prüfen und beachten Sie die Meldungen fürIhren Vorgangscode.
Beim Eingang über Workflow:
� Ruft Ihr ABAP-Coding zur verarbeitenden Methode den FunktionsbausteinSWE_EVENT_CREATE mit dem richtigen Ereignis auf?
5. Schalten Sie nach diesem Test den Ereignismonitor wieder ein.
Hat das Ereignis eine Aufgabe als Verbraucher?1. Verwenden Sie wie oben den Ereignismonitor. Wenn in der Ereignisliste die Meldung kein
Verbraucher eingetragen erscheint, dann überprüfen Sie, ob Ihre Aufgabe in der Karteikarteauslösendes Ereignis das richtige Ereignis besitzt.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Administration: Anwenderparameter
April 2001 253
IDoc-Administration: AnwenderparameterVerwendungIn der IDoc-Administration stellen Sie globale und benutzerspezifische Parameter ein. Hierwerden die benutzerspezifischen oder Anwenderparameter betrachtet. Für die globalenParameter beachten Sie den Abschnitt IDoc-Administration im Customizing [Seite 255].
FunktionsumfangAnwenderparameter sind z.B.:
� der Testport bei der Dateischnittstelle. Aus dessen Beschreibung werden z.B. die Pfade beimTest Eingang modifizierte Ausgangsdatei [Seite 104] gezogen
� das Ausgabeformat bei der IDoc-Dokumentation, sowie Verzeichnisse und Namen für dieausgegebenen Dateien (bei HTML/XML/C-Header).
� Ob Sie bei HTML-Ausgabe der IDoc-Dokumentation einen Browser automatisch startenwollen
� ob Sie Nullwerte bei IDoc-Listen anzeigen lassen wollen, d.h. ob Sie bei der zeitlichenDarstellung etwa von IDoc-Eingängen jeden Zeitschritt aufgelistet haben wollen, auch wenngar keine IDocs eingegangen sind
Die IDoc-Administration bietet außerdem Absprünge
� zum Workflow-Customizing: Hier werden die Einstellungen des Customizings überprüft(existiert eine Planvariante, existiert ein Workflow-Administrator etc.)
� Zum IDoc-CATT-Testlauf [Seite 106]: Hier können Sie die Funktionen der Schnittstelleautomatisch testen lassen.
AktivitätenZur Administration gelangen Sie vom Einstiegsknoten der IDoc-Schnittstelle [Extern] überSteuerung � Administration. Wählen Sie die entsprechende Registerkarte, um Voreinstellungenoder Vorschlagswerte zu erfassen.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Zusätzliche Einstellungen
254 April 2001
Zusätzliche EinstellungenVerwendungDie folgenden Funktionen bieten Voreinstellungen, die normalerweise nur selten getätigt werden.
FunktionsumfangIDoc-Administration im Customizing [Seite 255].
Weiterleitung Eingang [Seite 256]
Dateinamen erzeugen [Seite 257]
Partnerarten bearbeiten [Seite 258]
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
IDoc-Administration im Customizing
April 2001 255
IDoc-Administration im CustomizingVerwendungWichtige Voreinstellungen der IDoc-Administration sind die globalen Parameter. Sie werden imCustomizing gesetzt.
FunktionsumfangSystemparameter sind z.B.
� der IDoc-Administrator, der in der Ausnahmebehandlung benachrichtigt wird. Gegebenenfallswird er durch speziellere Einträge in den Partnervereinbarungen überschrieben (sieheRollenauflösung in der Ausnahmebehandlung [Seite 31]).
� die Systemumgebung: Sie beschreibt, mit welchen Funktionen die IDoc-Schnittstellezusammenarbeiten kann: Den Anwendungen oder der Nachrichtensteuerung.
� die maximale Anzahl protokollierter Fehler, bevor eine Ausnahmebehandlung nach derSyntaxprüfung gestartet wird. Die Syntaxprüfung selbst können Sie in denPartnervereinbarungen Ausgang [Seite 78] bzw. Eingang [Seite 84] abstellen.
� die SAPoffice Eingangsmappe für IDocs aus dem Internet (MIME-attachment). Aus dieserEingangsmappe werden IDocs beim Porttyp Internet weiterverarbeitet. Zu den noch zutätigenden Einstellungen für diesen Porttyp lesen Sie Porttyp Internet [Seite 62].
� Ob Fehler beim Einlesen von Statusdateien zu Workitems („Warnungen“) führen sollen.
AktivitätenDie globalen Parameter werden im Customizing oder aus dem Einstiegsknoten der IDoc-Schnittstelle [Extern] über Steuerung � IDoc-Administration ( ) angezeigt oder gepflegt.Wählen Sie die Registerkarte globale Parameter und gegebenenfalls .
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Weiterleitung Eingang
256 April 2001
Weiterleitung EingangVerwendungHier geben Sie die Stelle als logische Adresse an, an die Daten aus einem Eingangs-IDoc oderaus einer Statusrückmeldung weitergeleitet werden sollen.
IntegrationDie Weiterleitung findet zur Zeit nur bei internen Rechnungen (Anwendung V3 = Fakturierung,Komponente SD - Vertrieb) Verwendung.
AktivitätenSie pflegen die Adressen vom Eingangsbild der IDoc-Schnittstelle über Steuerung �Weiterleiten Eingang.
Die logische Adresse muß mit der entsprechenden im IDoc-Kontrollsatz (Feld SNDLAD =logische Adresse des Absenders bzw. Feld RCVLAD = logische Adresse des Empfängers)übereinstimmen.
Die Verarbeitung bei der internen Verrechnung wird über den Ausgangs-Vorgangscode [Seite72] SD08 identifiziert. In der Verarbeitung entsteht aus dem Ausgangs-IDoc ein Eingangs-IDoc,das an die logische Adresse weitergereicht wird.
SAP AG IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI
Dateinamen erzeugen
April 2001 257
Dateinamen erzeugenVerwendungHier werden die Funktionsbausteine hinterlegt, die beim IDoc-Austausch über einen Port vomTyp “Datei” einen Dateinamen erzeugen. Diese Funktionsbausteine erscheinen als Wertehilfe(F4) beim Anlegen eines Ports vom Typ “Datei”. Im Standard werden bereits solcheFunktionsbausteine ausgeliefert. Hier können Sie eigene Funktionsbausteine hinterlegen.
AktivitätenSie pflegen die Funktionsbausteine vom Eingangsbild der IDoc-Schnittstelle über Steuerung��Dateinamen erzeugen.
Der Funktionsbaustein muß Verzeichnis und Datei als eine Zeichenkettezurückliefern. Er kann (wie das die Standardbausteine tun) das Verzeichnis aus derPortbeschreibung übernehmen, muß es aber nicht.
IDoc-Schnittstelle / Electronic Data Interchange (BC-SRV-EDI SAP AG
Prüfen von Partnern nach Partnerart
258 April 2001
Prüfen von Partnern nach PartnerartVerwendungWährend Sie die Partnervereinbarungen bearbeiten, wird geprüft, ob für den angegebenenPartner Stammdaten existieren oder ob der angegebene Partner zu den folgenden Arten gehört
� R/3-Benutzer (Partnerart US)
� Bank
� logisches System
In dieser Tabelle sind die Prüf- und Zugriffsprogramme für die einzelnen Partnerarten hinterlegt.Im Standard werden für alle Partnerarten Prüfroutinen ausgeliefert.
AktivitätenSie pflegen die Programme vom Eingangsbild der IDoc-Schnittstelle [Extern] über Steuerung��Partnerarten.
Wenn Sie die vorgegebenen Prüfroutinen ändern oder neue Partnerarten aufnehmen wollen,geben Sie folgende Parameter an:
� Partnerart (z.B. KU für Kunde, LI für Lieferant, US für R/3-Benutzer)
� Report (z.B. RSETESTP)
� Formroutine (z.B. READ_KNA1 (Der Kundenstammsatz wird gelesen)