{{indexmenu_n>0030}} ====== (ab 30.11.2025 obsolet) Workflow - Prüfung der Umsatzsteuer ID Nummer des Kunden/Lieferanten ====== Das folgende Beispiel beschreibt die automatisierte Prüfung der Umsatzsteuer bei Speichern eines Kunden-/Lieferantenstammsatzes.\\ Prüfung über Serveradresse: [[https://evatr.bff-online.de/|https://evatr.bff-online.de/]]\\ \\ Zertifikat für SSL Verschlüsselung:\\ __Download über FAQ__ \\ [[https://evatr.bff-online.de/eVatR/xmlrpc/faq_xmlrpc|https://evatr.bff-online.de/eVatR/xmlrpc/faq_xmlrpc]]\\ \\ __Direktdownload__ \\ [[https://evatr.bff-online.de/eVatR/evatr.bff-online.de.crt|https://evatr.bff-online.de/eVatR/evatr.bff-online.de.crt]] ===== Umsetzung ===== ==== Definition Workflow ==== {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200211-153629.png}} ==== Formel ==== declare retcode = integer not null with default, result = varchar(2000) not null with default, terminal_id = varchar(50) not null with default, enddeclare begin callproc cdpr3_GenerateWorktableID(byref(terminal_id)); ResultString = 'Überprüfung UST-Identnummer zu Kunde: ' + text(ikey1) + HC_NEWLINE; // Prozedur kann periodisch in Schleife, für einen Massenlauf, aufgerufen werden retcode = cdwpr4_check_ustident(param_string = 'kunden_nr=' + text(ikey1), ret_result = byref(result), // Parameter zur Übersteuerung param_kunden_nr = 0, param_ident_nummer = '', param_firmenname = '', param_ort = '', param_plz_char = '', param_strasse = '', // Aktivierung Debugausgaben kz_debug = 0, // Aktivierung Protokollierung in Protokolltabelle sta_ustident_protokoll anhand Terminal-ID kz_protokoll = 1, terminal_id = terminal_id, // Steuert, ob ein Satz als fehlerhaft behandelt werden soll, wenn die Prüfung auf Firmenname, Ort, PLZ oder Straße fehlschlägt bStrictName = true/false, bStrictPlace = true/false, bStrictPostCode = true/false, bStrictStreet = true/false, // Festlegung, wie Tief eine Namensprüfung gehen soll // z.B. wenn Prüfung auf name_zeile1 fehlschlägt wird bei iNameDepth = 2 auf name_zeile1 + name_zeile2 geprüft iNameDepth = 1-3 ); ResultString = ResultString + result; //message ResultString; if retCode <0 then return true; // Fehler else return true; // in Ordnung endif; end ==== Ergebnis ==== {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200211-153943.png}} ==== Historieneintrag ==== {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200211-155234.png}} {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200211-155304.png}} ==== Reportaufruf ==== {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200403-130104.png}} ==== Reportergebnis ==== {{:cimerp:0140_workflow:0080_workflow_beispiele:pasted:20200403-130201.png}}