Es ist schon eine Weile her, dass ich mein erstes ereignisgesteuertes Szenario in SAP Business One implementiert habe. Seit ich angefangen habe, bin ich auf ein „Meer“ von Möglichkeiten/Plattformen/Diensten gestoßen, die so ziemlich den gleichen Ansatz bieten, wie man das erreichen kann, und von denen jeder seine eigenen Vor- und Nachteile hat.
Es besteht kein Zweifel daran, dass die Branche gut entwickelt ist und zahlreiche Möglichkeiten bietet, Dinge zu erledigen, und ich bin ein wenig „übereifrig“, wenn es darum geht, neue Technologien zu erlernen (schließlich ist das unser Brot und Butter). Aber wenn ich mich hinsetze, um einen Projektentwurf zu schreiben, versuche ich, mich an den „One-Stop“-Ansatz zu halten, bei dem die Wiederverwendung von Werkzeugen und Diensten, die in die B1-Anwendung selbst eingebettet sind, wahrscheinlich ganz oben auf meiner Liste stehen würde.
Diese Tools sind seither auf dem Markt und haben sich im Laufe der Jahre weiterentwickelt und sind nicht nur nicht veraltet, sondern haben auch ihre Fähigkeiten und Leistungen erweitert.
Verstehen Sie mich nicht falsch: Ich denke, dass die SAP BTP-Plattform beispielsweise unendlich viele Möglichkeiten bietet, wenn es um die Nutzung von REST-Webdiensten geht, die mit unseren SAP-Systemen interagieren können, und auch die Wiederverwendung einiger der leistungsfähigsten Konnektoren zur Integration mit anderen SAP-/Nicht-SAP-Systemen sowie zur Erweiterung unserer Geschäftsanwendungen und -prozesse ermöglicht. Das SAP BTP nutzt auch hochmoderne Dienste wie AI Builders und Fiori Apps Tools. Es geht hier also nicht darum, das SAP BTP, das seinen Platz zu Recht verdient hat, schlecht zu machen, sondern lediglich darum, festzustellen, dass das SAP BTP nicht das einzige Spiel in der Stadt ist.
Diejenigen von Ihnen, die versucht haben, sich durch diesen Ozean von Daten auf der SAP BTP-Plattform zu bewegen, haben wahrscheinlich schon erkannt, dass BTP sehr stark auf S4/HANA ausgerichtet ist und nicht speziell auf SAP Business One-Entwickler zugeschnitten ist.
Darüber hinaus weist das BTP einige offensichtliche Defizite auf:
- Langwierige und mühsame Einrichtung – das Hinzufügen eines Abonnements/einer Instanz/einer Berechtigung kostet Zeit, und in den meisten Fällen klappt es nicht beim ersten Mal.
- Die Preisstufen sind für KMU-Kunden einfach nicht geeignet. Solange Sie das „kostenlose“ Abonnement für nicht-produktive Umgebungen verwenden, sollte alles in Ordnung sein, aber sobald Sie in die „Pay-As-You-Go“-Abonnementstufen übergehen und in die Produktion gehen, wird es in den meisten Fällen zu einem „Overkill“ für jedes SMB-basierte Projekt und auch ziemlich kostspielig.
- Es hat kein eingebautes Bewusstsein für die B1-Objekte. Wir können sie wie jede andere API verwenden und aufrufen, um ihr mitzuteilen, was wir abrufen wollen.
Kommen wir also gleich zur Sache: Wie können wir ein Ereignisweiterleitungsszenario implementieren und die erhaltenen Informationen nutzen, um andere B1-bezogene Lösungen auszulösen/zu erstellen, ohne die Dinge zu sehr zu verkomplizieren?
Normalerweise müssten wir Folgendes tun:
- Einrichten einer SAP Event Mesh-Instanz auf BTP
- Eine SAP CAP-Anwendung, die die Ereignisse in BTP verarbeitet (normalerweise für den Aufbau von
Unternehmen
-Grade-Dienste und -Anwendungen, was wiederum bei SAP B1 ein „Schlag ins Wasser“ ist) - Wir müssten einen zusätzlichen Schritt programmieren, um das Token abzurufen, damit wir uns gegenüber der SAP Event Mesh-Instanz auf der SAP BTP-Plattform authentifizieren können.
Die architektonische Übersicht würde wie folgt aussehen:
Wie wäre es, wenn ich Ihnen sage, dass wir den Teil überspringen können, in dem wir das BTP abonnieren und direkt zu unserem B1-Integrations-Framework (B1If) gehen, um diese Ereignisse zu konsumieren und sie weiter zu nutzen, um das Verhalten unserer B1-Anwendung mit Microsoft Azure zu erweitern?
Vorausgesetzt, Sie haben B1iF installiert und in Ihrer Umgebung korrekt eingerichtet, haben Sie einen guten Start hingelegt.
Ich würde Ihnen dringend raten, die folgenden Schritte zu unternehmen, um sicherzustellen, dass Sie alle Voraussetzungen erfüllen:
- Einrichten der B1iF-Entwicklungsumgebung.
- Verständnis der B1iF-Grundlagen und technischer Überblick.
- Einrichtung der SLD-Konfiguration für Ihr Unternehmen.
- Konfigurieren Sie die Konnektivität zum B1 Service Layer (wir möchten uns nicht nur auf die DI-API verlassen, die die „alte Generation“ der Erweiterungs-API für die Nutzung von SAP Business One-Daten und -Diensten ist)
** Wenn Sie Probleme mit der Konfiguration des B1iF haben, können Sie sich gerne an mich wenden, und ich werde Sie gerne beraten und unterstützen**
Schließlich möchten wir unseren B1iF Event Sender so einrichten, dass er Ereignisse auslöst.
Die B1iF-Best-Practices schreiben vor, dass wir uns an Folgendes halten:
1) Stellen Sie sicher, dass Sie auf das Integration Framework 2.0 statt 1.0 zugreifen:
Dies bringt mehrere entscheidende Vorteile mit sich:
- Hinzu kommt das Integrationsframework – alle Programmiermodelle können gleichzeitig und parallel laufen.
- Optimiert für Cloud Computing
- Integrierte Mehrmandantenfähigkeit – Mehr Flexibilität bei der Bereitstellung von Szenarien
- Entwickelt für alle Integrationsentwickler
- Höhere Flexibilität
- Mehr Kontrolle und Transparenz bei der Entwicklung von Integrationsinhalten
- „Klassische“ Entwickler fühlen sich durch die neue browserbasierte IDE wohler
- Bis zu 10 Mal schneller – läuft direkt auf der Integrationsplattform
- Ersetzt nicht das derzeitige Programmiermodell Migration bestehender Szenarienpakete nicht erforderlich, es sei denn, Sie möchten die Mandantenfähigkeit in Cloud-Umgebungen nutzen
2. Vergewissern Sie sich, dass alle Ihre SLD-Verbindungen korrekt getestet wurden:
Wenn eine dieser Verbindungen unterbrochen wird, gefährdet dies den Prozess und verhindert später die Kommunikation mit dem HANA-Server / Service Layer. Daher sollten Sie sicherstellen, dass alle Verbindungen fehlerfrei sind, und, falls dies nicht der Fall ist, die Verbindungszeichenfolgen neu konfigurieren.
3) Stellen Sie sicher, dass B1i-Ereignisse gefiltert werden, indem Sie zu Wartung -> B1 Event Filter navigieren und die Option „B1i User Filter Switched On“ (B1i-Benutzerfilter eingeschaltet ) aktivieren – so stellen Sie sicher, dass Sie alle Systemereignisse loswerden, die Sie nicht hören wollen.
Beachten Sie, dass Sie diese Konfiguration auch in die Version 1.X einbinden können, indem Sie sie direkt aus der Version 2.0 aufrufen (unter Extras ->Version 1) und zum Ereignissender-Assistenten navigieren.
Hier sollten Sie auch Ihre B1-Objekt-IDs für alle Objekte angeben, für die Sie Ereignisse abrufen möchten
Die vollständige Liste der B1-Objekte finden Sie am Ende dieses Themas
Alternativ können Sie diesen Wert auch direkt aus der Anwendung B1 abrufen, indem Sie den Abfragegenerator starten und die Spalte „<table_name>“.“ ObjType“ Spalte:
4) Der wichtigste Schritt besteht darin, zu testen, dass IHRE Ereignisse NICHT herausgefiltert werden, sondern an den B1 Event Monitor weitergeleitet werden, wenn Ihr Szenario ausgelöst wird.
In meinem Fall habe ich einfach einen Geschäftspartner erstellt und die Anzeige aktualisiert, um zu sehen, dass B1iF das Ereignis abfangen konnte:
Hinweis: Der Testlauf wird nur dann erfolgreich sein, wenn Sie sicherstellen, dass Sie eine neue Verteilung zum „Verteilungs-Panel“ Ihres Szenarios hinzufügen und ein gültiges Sender-/Empfängersystem aus Ihrem SLD zuweisen – dieses Fenster ist die neue (und coole!) Funktion in Version 2.0, die es Ihnen ermöglicht, einen einzigen Überblick über alle Ihre Szenario-Artefakte zu erhalten.
Sobald wir sicher sind, dass unser Ereignis-Sender unsere Ereignisse korrekt verarbeitet, können wir mit dem Aufbau unseres Szenarios in BizFlow fortfahren.
Nun ist es wichtig, dass wir genau verstehen, was wir hier erreichen wollen:
Wir möchten lediglich, dass B1iF jedes Ereignis, das unsere Filterkriterien erfüllt, an einen externen HTTP-WebHook-basierten Workflow in Form einer XML-Nutzlast weiterleitet, aus der wir dann Daten analysieren und abrufen können.
Das ist alles, was es zu sagen gibt!
Wenn Sie sich fragen „Warum?“, dann ist die Antwort ziemlich einfach:
Mit
Azure Logic Apps
und dem integrierten HTTP-Webhook-Connector können wir automatisierte Aufgaben und Workflows erstellen, die einen Service-Endpunkt abonnieren, indem sie eine Callback-URL registrieren, auf bestimmte Ereignisse warten und auf der Grundlage dieser Ereignisse ausgeführt werden, anstatt diesen Endpunkt regelmäßig zu überprüfen oder abzufragen.
Dies ist besonders nützlich und vorteilhaft in Fällen, in denen PaaS (Platforms as a Service) wie Microsoft-Azure pro Ausführung berechnet werden.
Stellen Sie sich einmal vor, wie viele Ausführungen innerhalb eines 24-Stunden-Zeitraums ausgelöst werden, wenn ein Workflow alle 15 Minuten ausgeführt werden soll (96 Ausführungen), im Vergleich zu 3 Ausführungen für die 3 neuen Geschäftspartner, die Sie erstellt haben, wenn der Workflow nur unmittelbar nach dem Hinzufügen des Geschäftspartnerdatensatzes zur B1-Datenbank ausgelöst.
Dies wirkt sich direkt auf den Verbrauch und damit auf die Höhe der Abrechnung am Monatsende aus.
Im nächsten Teil dieses Blogs werde ich die Logic App-Seite unseres Projekts behandeln.
Lassen Sie uns zunächst unser Szenario und die Szenarioschritte abschließen.
Unser BizFlow-Diagramm wird ein relativ einfaches Diagramm sein:
Wir betrachten einen typischen „asynchronen“ Prozessmodus, bei dem das Ereignis ausgelöst, abgerufen und dann an das Inbound Atom weitergeleitet wird, wo es dann über ein XSLT Atom transformiert wird, um in unserem HTTPCall Atom verwendet zu werden.
Beachten Sie, dass B1iF die Daten immer intern als XML verarbeitet. In unserem Fall möchten wir also nur die XML-Darstellung unseres Ereignisses vom Sendersystem (Ereignissender) abrufen und sie als Teil unseres HTTP-Aufrufkörpers verwenden.
Eine gute Möglichkeit, die Struktur der Nachrichten während der Laufzeit zu analysieren, ist die Verwendung des B1iF-Debuggers:
Unser XSL-Transformations-Atom muss nur angepasst werden, um die eingehende XML-Nutzlast des B1-Ereignisses zu holen, wo dann ein XPATH-Ausdruck zu unserem HTTPCall-Atom hinzugefügt wird.
Wir werden zu unserem HttpCall Atom zurückkehren, nachdem wir unsere Diskussion über Logic App (WebHook) in Teil 2 dieses Blogs abgeschlossen haben.
Lassen Sie uns zusammenfassen, was wir bisher erreicht haben:
- Wir haben unser Hauptthema – Ereigniserstellung und Weiterleitung in SAP Business One – vorgestellt.
- Wir haben einige der gängigsten Methoden zur Ereignisbehandlung behandelt und die Vor- und Nachteile der einzelnen Ansätze erläutert.
- Wir sind einige der grundlegenden Einstellungen und Konfigurationen des SAP Business One Integration Frameworks durchgegangen
- Wir haben über die neuen Verbesserungen der B1iF-Version 2.0 berichtet
- Wir erhielten einen detaillierten Überblick über die Einrichtung des Ereignissenders und lernten, wie man erfolgreich Filterkriterien für B1-Objekte festlegt, für die man Ereignisse erhalten möchte
- Wir haben gelernt, wie man eine Entwicklung über das „Deployment Panel“ unseres Szenarios einsetzt und ein SLD-Sender/Empfänger-System zuweist.
- Wir haben HTTP WebHooks besprochen und verstanden, dass sie eine wichtige Rolle bei der Verringerung der Anzahl von Workflow-Ausführungen spielen, die sich letztendlich auf unsere Rechnungsstellung auswirken.
- Wir haben die verschiedenen Schritte des Szenarios durchlaufen, um eine eingehende Nachricht (Ereignis) zu empfangen, sie zu verarbeiten und umzuwandeln und sie dann für HTTPCall Atom vorzubereiten.
Besuchen Sie uns auf der SAP Business One Community Blog Seite für Teil 2 der Implementierung eines Event-Forwarding Mechanismus mit SAP Business One B1iF und Microsoft Azure.
Liste der SAP Business One-Objekttypen
Tabelle | Beschreibung der Tabelle | Primärschlüssel | Objekttyp |
OACT | Sachkonten | AcctCode | 1 |
OCRD | Geschäftspartner | CardCode | 2 |
ODSC | Bankleitzahlen | AbsEntry | 3 |
OITM | Artikel | ArtikelCode | 4 |
OVTG | Steuerliche Definition | Code | 5 |
OPLN | Preislisten | ListeZahl | 6 |
OSPP | Besondere Preise | CardCode, ItemCode | 7 |
OITG | Artikel-Eigenschaften | ItmsTypCod | 8 |
ORTM | Tarifunterschiede | ZeileNum, IsSysCurr | 9 |
OCRG | Kartengruppen | GroupCode | 10 |
OCPR | Kontaktpersonen | CntctCode | 11 |
OUSR | Benutzer | USERID | 12 |
OINV | Ausgangsrechnung | DocEntry | 13 |
ORIN | Ausgangsgutschrift | DocEntry | 14 |
ODLN | Lieferung | DocEntry | 15 |
ORDN | Rückgabe | DocEntry | 16 |
ORDR | Kundenauftrag | DocEntry | 17 |
OPCH | Eingangsrechnung | DocEntry | 18 |
ORPC | Eingangsgutschrift | DocEntry | 19 |
OPDN | Wareneingang PO | DocEntry | 20 |
ORPD | Rücksendung von Waren | DocEntry | 21 |
OPOR | Bestellung | DocEntry | 22 |
OQUT | Verkaufsangebot | DocEntry | 23 |
ORCT | Eingehende Zahlung | DocEntry | 24 |
ODPS | Einzahlung | Einzahlung | 25 |
OMTH | Geschichte der Versöhnung | MthAcctCod, IsInternal, MatchNum | 26 |
OCHH | Scheckheft | CheckKey | 27 |
OBTF | Vorerfasster Beleg | BatchNum, TransId | 28 |
OBTD | Liste der Journalbelege | BatchNum | 29 |
OJDT | Journaleintrag | TransId | 30 |
OITW | Artikel – Lager | ItemCode, WhsCode | 31 |
OADP | Druck-Einstellungen | PrintId | 32 |
OCLG | Aktivitäten | ClgCode | 33 |
ORCR | Wiederkehrende Buchungen | RcurCode, Instanz | 34 |
ONNM | Dokumentennummerierung | ObjectCode, DocSubType | 35 |
OCRC | Kreditkarten | Kreditkarte | 36 |
OCRN | Währungs-Codes | CurrCode | 37 |
OIDX | CPI-Codes | IdexCode | 38 |
OADM | Verwaltung | Code | 39 |
OCTG | Zahlungsbedingungen | GruppeNummer | 40 |
OPRF | Präferenzen | FormNumber, UserSign | 41 |
OBNK | Externer Kontoauszug erhalten | AcctCode, Sequence | 42 |
OMRC | Hersteller | FirmCode | 43 |
OCQG | Eigenschaften der Karte | GroupCode | 44 |
OTRC | Codes für Journaleinträge | TrnsCode | 45 |
OVPM | Ausgehende Zahlungen | DocEntry | 46 |
OSRL | Seriennummern | ArtikelCode, SerienNummer | 47 |
OALC | Ladekosten | AlcCode | 48 |
OSHP | Lieferarten | TrnspCode | 49 |
OLGT | Länge Einheiten | UnitCode | 50 |
OWGT | Gewichtseinheiten | UnitCode | 51 |
OITB | Artikelgruppen | ItmsGrpCod | 52 |
OSLP | Vertriebsmitarbeiter | SlpCode | 53 |
OFLT | Bericht – Auswahlkriterien | FormularNummer, BenutzerZeichen, FilterName | 54 |
OTRT | Buchungsvorlagen | TrtCode | 55 |
OARG | Zollgruppen | CstGrpCode | 56 |
OCHO | Schecks zur Zahlung | CheckKey | 57 |
OINM | Whse Journal | TransNum, Instanz | 58 |
OIGN | Wareneingang | DocEntry | 59 |
OIGE | Warenausgang | DocEntry | 60 |
OPRC | Kostenstelle | PrcCode | 61 |
OOCR | Kostensatz | OcrCode | 62 |
OPRJ | Projekt-Codes | PrjCode | 63 |
OWHS | Lagerhäuser | WhsCode | 64 |
OCOG | Gruppen der Kommission | GroupCode | 65 |
OITT | Produktbaum | Code | 66 |
OWTR | Übertragung des Inventars | DocEntry | 67 |
OWKO | Produktionsanweisungen | BestellNummer | 68 |
OIPF | Gelandete Kosten | DocEntry | 69 |
OCRP | Zahlungsarten | CrTypeCode | 70 |
OCDT | Zahlung mit Kreditkarte | Code | 71 |
OCRH | Verwaltung von Kreditkarten | AbsId, Instanz | 72 |
OSCN | Kunde/Lieferant Kat. Nein. | ItemCode, CardCode, Substitute | 73 |
OCRV | Kredit-Zahlungen | AbsId, PayId, Instanz | 74 |
ORTT | VPI und BZ-Sätze | RateDate, Währung | 75 |
ODPT | Nachschüssige Einzahlung | Einzahlung | 76 |
OBGT | Haushalt | AbsId | 77 |
OBGD | Budget Kostenbewertung. Mthd | BgdCode | 78 |
ORCN | Einzelhandelsketten | KettenCode | 79 |
OALT | Vorlage für Warnmeldungen | Code | 80 |
OALR | Warnungen | Code | 81 |
OAIB | Empfangene Warnungen | AlertCode, UserSign | 82 |
OAOB | Gesendete Nachricht | AlertCode, UserSign | 83 |
OCLS | Tätigkeit Themen | Code | 84 |
OSPG | Sonderpreise für Gruppen | CardCode, ObjType, ObjKey | 85 |
SPRG | Anwendung Start | LineNum, UserCode | 86 |
OMLS | Verteilerliste | Code | 87 |
OENT | Versandarten | DocEntry | 88 |
OSAL | Ausgehend von | DocEntry | 89 |
OTRA | Überleitung | DocEntry | 90 |
OBGS | Budget-Szenario | AbsId | 91 |
OIRT | Zinsen Preise | Zähler | 92 |
OUDG | Benutzer-Standardeinstellungen | Code | 93 |
OSRI | Seriennummern für Artikel | ItemCode, SysSerial | 94 |
OFRT | Vorlagen für Finanzberichte | AbsId | 95 |
OFRC | Kategorien des Finanzberichts | TemplateId, CatId | 96 |
OOPR | Gelegenheit | Einspruch | 97 |
OOIN | Zinsen | Ziffern | 98 |
OOIR | Zinsniveau | Ziffern | 99 |
OOSR | Informationsquelle | Ziffern | 100 |
OOST | Opportunitätsphase | Ziffern | 101 |
OOFR | Defekt Ursache | Ziffern | 102 |
OCLT | Arten von Aktivitäten | Code | 103 |
OCLO | Sitzungsort | Code | 104 |
OISR | Service-Anrufe | AnfrageNummer | 105 |
OIBT | Charge Nr. für Artikel | ItemCode, BatchNum, WhsCode | 106 |
OALI | Alternative Positionen 2 | UrsprünglichesElement, AltesElement | 107 |
OPRT | Partner | PrtId | 108 |
OCMT | Wettbewerber | CompetId | 109 |
OUVV | Benutzer-Validierungen | IndexID, Zeilennummer | 110 |
OFPR | Buchungszeitraum | AbsEntry | 111 |
ODRF | Entwürfe | DocEntry | 112 |
OSRD | Chargen und Seriennummern | ItemCode, DocType, DocEntry, DocLineNum | 113 |
OUDC | Benutzeranzeige Kat. | CodeID | 114 |
OPVL | Darlehensgeber – Pelecard | Code | 115 |
ODDT | Hierarchie des Quellensteuerabzugs | Zähler | 116 |
ODDG | Quellensteuerabzugsgruppen | Zähler | 117 |
OUBR | Zweigstellen | Code | 118 |
OUDP | Abteilungen | Code | 119 |
OWST | Bestätigungsstufe | WstCode | 120 |
OWTM | Genehmigungsvorlagen | WtmCode | 121 |
OWDD | Dokumente. zur Konfirmation | WddCode | 122 |
OCHD | Schecks für Zahlungsanweisungen | CheckKey | 123 |
CINF | Infos zum Unternehmen | Version | 124 |
OEXD | Fracht-Einrichtung | ExpnsCode | 125 |
OSTA | Umsatzsteuerbehörden | Code, Typ | 126 |
OSTT | Umsatzsteuerbehörden Typ | AbsId | 127 |
OSTC | Umsatzsteuer-Codes | Code | 128 |
OCRY | Länder | Code | 129 |
OCST | Staaten | Land, Code | 130 |
OADF | Adressformate | Code | 131 |
OCIN | Ausgangskorrektur-Rechnung | DocEntry | 132 |
OCDC | Bargeld-Rabatt | Code | 133 |
OQCN | Abfrage-Kategorien | KategorieId | 134 |
OIND | Dreiecksgeschäft | Code | 135 |
ODMW | Migration von Daten | Code | 136 |
OCSTN | Workstation-ID | Code | 137 |
OIDC | Indikator | Code | 138 |
OGSP | Warenversand | Code | 139 |
OPDF | Zahlungsanweisung | DocEntry | 140 |
OQWZ | Abfrage-Assistent | Code | 141 |
OASG | Konto-Segmentierung | AbsId | 142 |
OASC | Kategorien der Kontensegmentierung | SegmentId, Code | 143 |
OLCT | Standort | Code | 144 |
OTNN | 1099 Formulare | FormCode | 145 |
OCYC | Zyklus | Code | 146 |
OPYM | Zahlungsarten für den Zahlungsassistenten | PayMethCod | 147 |
OTOB | 1099 Eröffnungsbilanz | VendCode, Formular1099, Box1099 | 148 |
ORIT | Mahnwesen Zinssatz | Code | 149 |
OBPP | BP-Prioritäten | PrioCode | 150 |
ODUN | Mahnbriefe | ZeileNummer | 151 |
CUFD | Benutzerfelder – Beschreibung | TabelleID, FeldID | 152 |
OUTB | Benutzer-Tabellen | Tabellenname | 153 |
OCUMI | Meine Menüpunkte | UserSign , Id_ | 154 |
OPYD | Zahlungslauf | Code | 155 |
OPKL | Auswahlliste | AbsEntry | 156 |
OPWZ | Zahlungs-Assistent | IdNummer | 157 |
OPEX | Tabelle der Zahlungsergebnisse | AbsEntry | 158 |
OPYB | Zahlungssperre | AbsEntry | 159 |
OUQR | Abfragen | IntrnalSchlüssel, QKategorie | 160 |
OCBI | Zentralbank Ind. | Indikator | 161 |
OMRV | Neubewertung der Bestände | DocEntry | 162 |
OCPI | Einnahme-Korrektur-Rechnung | DocEntry | 163 |
OCPV | Eingangskorrektur Rechnungsstorno | DocEntry | 164 |
OCSI | Ausgangskorrektur-Rechnung | DocEntry | 165 |
OCSV | Ausgangskorrektur Rechnungsstorno | DocEntry | 166 |
OSCS | Status der Serviceabrufe | statusID | 167 |
OSCT | Arten von Serviceabrufen | callTypeID | 168 |
OSCP | Serviceanrufe Problemtypen | prblmTypID | 169 |
OCTT | Vertragsvorlage | TmpltName | 170 |
OHEM | Mitarbeiter | empID | 171 |
OHTY | Mitarbeitertypen | typeID | 172 |
OHST | Arbeitnehmerstatus | statusID | 173 |
OHTR | Grund der Beendigung | reasonID | 174 |
OHED | Bildungstypen | edType | 175 |
OINS | Kundengerätekarte | insID | 176 |
OAGP | Name des Vertreters | AgentCode | 177 |
OWHT | Quellensteuer | WTCode | 178 |
ORFL | Bereits angezeigte Berichte 347, 349 und WTax | DocEntry, ReportType, DocType, LineNum, TaxCode, OrdinalNum | 179 |
OVTR | Steuerbericht | AbsEntry | 180 |
OBOE | Wechsel zur Zahlung | BoeKey | 181 |
OBOT | Wechsel-Transaktion | AbsEntry | 182 |
OFRM | Dateiformat | AbsEntry | 183 |
OPID | Zeitraum-Indikator | Indikator | 184 |
ODOR | Zweifelhafte Schulden | AbsEntry | 185 |
OHLD | Feiertagstisch | HldCode | 186 |
OCRB | BP – Bankkonto | Land, BankCode, Konto, CardCode | 187 |
OSST | Status der Serviceabruflösung | Nummer | 188 |
OSLT | Service Call Lösungen | SltCode | 189 |
OCTR | Service-Verträge | VertragID | 190 |
OSCL | Service-Anrufe | callID | 191 |
OSCO | Ursprünge von Serviceabrufen | originID | 192 |
OUKD | Benutzerschlüssel Beschreibung | Tabellenname, SchlüsselId | 193 |
OQUE | Warteschlange | queueID | 194 |
OIWZ | Inflations-Assistent | AbsEntry | 195 |
ODUT | Mahnwesen Begriffe | TermCode | 196 |
ODWZ | Mahnungs-Zauberer | WizardId | 197 |
OFCT | Umsatzprognose | AbsID | 198 |
OMSN | MRP-Szenarien | AbsEntry | 199 |
OTER | Territorien | territorialeID | 200 |
OOND | Branchen | IndCode | 201 |
OWOR | Produktionsauftrag | DocEntry | 202 |
ODPI | Kreditorische Anzahlung | DocEntry | 203 |
ODPO | Kreditorische Anzahlung | DocEntry | 204 |
OPKG | Paket-Typen | PkgCode | 205 |
OUDO | Benutzerdefiniertes Objekt | Code | 206 |
ODOW | Dateneigentum – Objekte | Objekt, Unterobjekt | 207 |
ODOX | Dateneigentum – Ausnahmen | QueryId, Objekt, SubObjekt | 208 |
209 | |||
OHPS | Mitarbeiter Position | posID | 210 |
OHTM | Mitarbeiterteams | teamID | 211 |
OORL | Beziehungen | OrlCode | 212 |
ORCM | Empfehlung Daten | DocEntry | 213 |
OUPT | Benutzerautorisierungsbaum | AbsId | 214 |
OPDT | Vordefinierter Text | AbsEntry | 215 |
OBOX | Box Definition | BoxCode, ReportType, BosCode | 216 |
OCLA | Status der Aktivität | statusID | 217 |
OCHF | 312 | ObjName | 218 |
OCSHS | Benutzerdefinierte Werte | IndexID | 219 |
OACP | Zeiträume Kategorie | AbsEntry | 220 |
OATC | Anhänge | AbsEntry | 221 |
OGFL | Gitternetz-Filter | FormID, GridID, UserCode | 222 |
OLNG | Tabelle der Benutzersprache | Code | 223 |
OMLT | Mehrsprachige Übersetzung | TranEntry | 224 |
OAPA3 | 225 | ||
OAPA4 | 226 | ||
OAPA5 | 227 | ||
SDIS | Dynamische Schnittstelle (Strings) | FormId, ItemId, ColumnId, Sprache | 229 |
OSVR | Gespeicherte Abgleiche | acctCode | 230 |
DSC1 | Hausbankkonten | AbsEntry | 231 |
RDOC | Dokument | DocCode | 232 |
ODGP | Parametersätze für die Dokumentenerstellung | AbsEntry | 233 |
OMHD | #740 | AlertCode | 234 |
OACG | Konto-Kategorie | AbsId | 238 |
OBCA | Zuweisungscodes für Bankgebühren | Code | 239 |
OCFT | Cashflow-Transaktionen – Zeilen | CFTId | 241 |
OCFW | Cash Flow Einzelposten | CFWId | 242 |
OBPL | Geschäftlicher Ort | BPLId | 247 |
OJPE | Lokaler Epochenkalender | Code | 250 |
ODIM | Dimension der Kostenrechnung | DimCode | 251 |
OSCD | Service Code Tabelle | AbsEntry | 254 |
OSGP | Servicegruppe für Brasilien | AbsEntry | 255 |
OMGP | Werkstoff-Gruppe | AbsEntry | 256 |
ONCM | NCM-Code | AbsEntry | 257 |
OCFP | CFOP für Nota Fiscal | ID | 258 |
OTSC | CST-Code für Nota Fiscal | ID | 259 |
OUSG | Verwendung der Nota Fiscal | ID | 260 |
OCDP | Stichtag Verfahren | ClsDateNum | 261 |
ONFN | Nota Fiscal Nummerierung | ObjectCode, DocSubType | 263 |
ONFT | Nota Fiscal Steuerkategorie (Brasilien) | AbsId | 264 |
OCNT | Landkreise | AbsId | 265 |
OTCD | Ermittlung des Steuerkennzeichens | AbsId | 266 |
ODTY | BoE Dokumenttyp | AbsEntry | 267 |
OPTF | BoE-Portfolio | AbsEntry | 268 |
OIST | BoE-Anweisung | AbsEntry | 269 |
OTPS | Steuerliche Parameter | AbsId | 271 |
OTFC | Steuerart-Kombination | AbsId | 275 |
OFML | Steuerformel-Stammtabelle | AbsId | 276 |
OCNA | CNAE-Code | AbsId | 278 |
OTSI | Umsatzsteuer-Rechnung | DocEntry | 280 |
OTPI | Kaufsteuerrechnung | DocEntry | 281 |
OCCD | Zollanmeldungsnummern der Fracht | CCDNum | 283 |
ORSC | Ressourcen | ResCode | 290 |
ORSG | Ressourcen-Eigenschaften | ResTypCod | 291 |
ORSB | ResGrpCod | ResGrpCod | 292 |
RecordSet | 300 | ||
Brücke | 305 | ||
OITR | Interne Abstimmung | ReconNum | 321 |
OPOS | POS-Stammdaten | Ausrüstungsnr. | 541 |
ODRF | Aktienübertragungsvertrag | DocEntry | 1179 |
OMSG | Einstellungen des Nachrichtendienstes | USERID | 10000105 |
OBTN | Chargennummern Stammdaten | AbsEntry | 10000044 |
OSRN | Seriennummern Stammdaten | AbsEntry | 10000045 |
OIVK | IVL vs. OINM-Schlüssel | TransSeq | 10000062 |
OIQR | Bestandsbuchung | DocEntry | 10000071 |
OFYM | Haushaltsjahr Master | AbsId | 10000073 |
OSEC | Sektionen | AbsId | 10000074 |
OCSN | Zertifikat-Serie | AbsId | 10000075 |
ONOA | Art des Steuerpflichtigen | AbsId | 10000077 |
RTYP | Dokumenttyp-Liste | CODE | 10000196 |
OUGP | UoM-Gruppe | UgpEntry | 10000197 |
OUOM | UoM-Stammdaten | UomEntry | 10000199 |
OBFC | Behälterfeld-Konfiguration | AbsEntry | 10000203 |
OBAT | Attribut Behälterstandort | AbsEntry | 10000204 |
OBSL | Unterebene des Lagers | AbsEntry | 10000205 |
OBIN | Speicherort | AbsEntry | 10000206 |
ODNF | DNF-Code | AbsEntry | 140000041 |
OUGR | Berechtigungsgruppe | GroupId | 231000000 |
OEGP | E-Mail-Gruppe | EmlGrpCode | 234000004 |
OGPC | Staatlicher Zahlungscode | AbsId | 243000001 |
OIQI | Vorräte Anfangsbestand | DocEntry | 310000001 |
OBTW | Chargenattribute im Standort | AbsEntry | 310000008 |
OLLF | Legal List Format | AbsEntry | 410000005 |
OHET | Objekt: HR Mitarbeitertransfer | TransferID | 480000001 |
OTCX | Ermittlung des Steuerkennzeichens | DocEntry | 540000005 |
OPQT | Kaufangebot | DocEntry | 540000006 |
ORCP | Vorlage für wiederkehrende Transaktionen | AbsEntry | 540000040 |
OCCT | Kostenstellenart | CctCode | 540000042 |
OACR | Abgrenzungsart | Code | 540000048 |
ONFM | Nota Fiscal Model | AbsEntry | 540000056 |
OBFI | Brasilien Fuel Indexer | ID | 540000067 |
OBBI | Brasilien Getränkeindexierer | ID | 540000068 |
OCPT | Cockpit-Haupttisch | AbsEntry | 1210000000 |
OWTQ | Antrag auf Bestandsumlagerung | DocEntry | 1250000001 |
OOAT | Pauschalvereinbarung | AbsID | 1250000025 |
OKPI | Paket mit Leistungsindikatoren | AbsEntry | 1320000000 |
OTGG | Zielgruppe | ZielCode | 1320000002 |
OCPN | Kampagne | CpnNo | 1320000012 |
OROC | Retorno Operation Codes | AbsEntry | 1320000028 |
OPSC | Produkt-Quellcode | Code | 1320000039 |
ODTP | Anlagevermögen Abschreibungsarten | Code | 1470000000 |
OADT | Ermittlung des Anlagekontos | Code | 1470000002 |
ODPA | Abschreibungsbereiche des Anlagevermögens | Code | 1470000003 |
ODPP | Abschreibungsart Pools | Code | 1470000004 |
OACS | Asset-Klassen | Code | 1470000032 |
OAGS | Asset-Gruppen | Code | 1470000046 |
ODMC | Sachkontenbestimmungskriterien – Inventar | DmcId | 1470000048 |
OACQ | Kapitalisierung | DocEntry | 1470000049 |
OGAR | Erweiterte Regeln für Sachkonten | AbsEntry | 1470000057 |
OACD | Gutschrift | DocEntry | 1470000060 |
OBCD | Barcode-Stammdaten | BcdEntry | 1470000062 |
OINC | Inventurzählung | DocEntry | 1470000065 |
OEDG | Rabatt-Gruppen | AbsEntry | 1470000077 |
OCCS | Bestimmung der Zykluszahl | WhsCode | 1470000092 |
OPRQ | Anfrage zum Kauf | DocEntry | 1470000113 |
OWLS | Workflow – Aufgabendetails | AufgabeID | 1620000000 |
Hinterlasse einen Kommentar
Du musst angemeldet sein, um einen Kommentar schreiben zu können.