cimerp:0140_workflow:0080_workflow_beispiele:0040_beispiel_pruefung_uid_rest_api

Dies ist eine alte Version des Dokuments!




Workflow - Prüfung der Umsatzsteuer ID Nummer des Kunden/Lieferanten via REST-API

Das folgende Beispiel beschreibt die automatisierte Prüfung der Umsatzsteuer bei Speichern eines Kunden-/Lieferantenstammsatzes.

ACHTUNG: Ab dem 30.11.2025 ist die alte XML-RPC-Schnittstelle des Bundeszentralamt für Steuern (BZSt) nicht mehr verfügbar und es steht nur noch die neue REST-API zur Verfügung.
Hierzu wurde eine neue Funktion implementiert, die sehr ähnlich zur bestehenden Bestätigungsabfrage agiert.

Umsetzung

Definition Workflow

Formel

WICHTIG: Hier neuer Prozeduraufruf mit anderen Parametern.
Erläuterung der Parameter unterhalb.

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_api(strResult          = byref(result),
                                       pKundenNr          = ikey1,   
                                       iNameDepth         = 1,
                                       pIdentNummer       = '',  
                                       pFirmenname        = '', 
                                       pFirmenname2       = '',
                                       pFirmenname3       = '',
                                       bDebugApiOutput    = false,
                                       bProtokoll         = true, 
                                       bTestAufruf        = false, 
                                       pTerminalId        = terminal_id, 
                                       bCheckStammNr      = false, 
                                       pStammNr           = '', 
                                       bQualifizierteAnfr = true,
                                       // Nur wichtig wenn bQualifizierteAnfr = true übergeben wurde
                                       pStrPlz            = '', 
                                       pOrt               = '', 
                                       pStrasse           = '',
                                       bStrictName        = false,
                                       bStrictPlace       = false,
                                       bStrictPostCode    = false,
                                       bStrictStreet      = false
                                    );
   ResultString = ResultString + result;
   //message ResultString;
   if retCode < 0 then
      return true;  // Fehler
   else
      return true; // in Ordnung
   endif;
end

Erläuterung Parameter

Name ParameterArt d. VariableBeschreibung
strResultalphanummerisch - maximal 256 ZeichenAuswertbarer Rückgabewert, z.B. „Die angefragte Ust-IdNr. ist zum Anfragezeitpunkt gültig.“
pKundenNrnummerisch - GanzzahlKunden-Nr. - Wichtig, wenn nicht gesetzt, funktioniert Aufruf nicht
pIdentNummeralphanummerisch - maximal 16 ZeichenAngefragte Ust.-Ident - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr.
iNameDepthnummerisch (Nur Werte 1-3 erlaubt, 1 = default)Wenn Prüfung auf name_zeile1 fehlschlägt wird bei iNameDepth = 2 auf name_zeile1 + name_zeile2 geprüft
pFirmennamealphanummerisch - maximal 64 ZeichenName Zeile 1 des Kunden - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr.
pFirmenname2alphanummerisch - maximal 64 ZeichenName Zeile 2 des Kunden (Nur relevant wenn iNameDepth min. 2 - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr.
pFirmenname3alphanummerisch - maximal 64 ZeichenName Zeile 3 des Kunden (Nur relevant wenn iNameDepth min. 3 - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr.
bDebugApiOutputboolean (true/false)Aktivierung Debugausgaben in Log-Datei zusätzlich wird eine Datei im w4glerrors-Ordner erzeugt, mit der rohen Rückgabe des API-Aufrufs
bProtokollboolean (true/false)Aktivierung Protokollierung in Protokolltabelle sta_ustident_protokoll anhand Terminal-ID
bTestAufrufboolean (true/false)Wenn true verwendet vom BZSt. vergebene Dummy-Daten zur Prüfung der Funktionalität der API
pTerminalIdalphanummerisch - maximal 64 ZeichenTerminal-ID für Protokolltabelle - Wird autom. erzeugt wenn nicht vergeben und bProtokoll mit true übergeben wurde
bCheckStammNrboolean (true/false)Wenn true, wird bei fehlgeschlagener Prüfung des Kunden die im Kundenstamm hinterlegte Stamm-Nr. verwendet
pStammNrnummerisch - GanzzahlWenn bCheckStammNr = true wird diese anstatt der Kunden-Nr. verwendet, sollte die Prüfung der Kunden-Nr. fehlschlagen (wird autom. ermittelt)
bQualifizierteAnfrboolean (true/false)Wenn true, dann wird zusätzlich zum Namen und Ust.-Ident auch auf PLZ, Ort und Strasse geprüft
pStrPlzalphanummerisch - maximal 11 ZeichenPostleitzahl des Kunden - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr. (Nur relevant wenn bQualifizierteAnfr mit true übergeben wurde)
pOrtalphanummerisch - maximal 64 ZeichenOrt des Kunden - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr. (Nur relevant wenn bQualifizierteAnfr mit true übergeben wurde)
pStrassealphanummerisch - maximal 64 ZeichenStrasse des Kunden - Wenn nicht gesetzt wird autom. ermittelt anhand der Kunden-Nr. (Nur relevant wenn bQualifizierteAnfr mit true übergeben wurde)
bStrictNameboolean (true/false)Wenn true und die Namensprüfung der qualifizierten Anfrage schlägt Fehl, wird die Prüfung als fehlerhaft erachtet
bStrictPlaceboolean (true/false)Wenn true und die Ortsprüfung der qualifizierten Anfrage schlägt Fehl, wird die Prüfung als fehlerhaft erachtet
bStrictPostCodeboolean (true/false)Wenn true und die Postleitzahlprüfung der qualifizierten Anfrage schlägt Fehl, wird die Prüfung als fehlerhaft erachtet
bStrictStreetboolean (true/false)Wenn true und die Strassenprüfung der qualifizierten Anfrage schlägt Fehl, wird die Prüfung als fehlerhaft erachtet

Ergebnis

Historieneintrag

Reportaufruf

Reportergebnis

               
       
cimerp/0140_workflow/0080_workflow_beispiele/0040_beispiel_pruefung_uid_rest_api.1763104750.txt.gz · Zuletzt geändert: von koepplinger

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki