eric developers toolkit - instantview.org · iii inhaltsverzeichnis api-referenz

96
i ERiC Developers Toolkit Version 19.5.2.0

Upload: phamkien

Post on 29-Jul-2018

472 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

i

ERiC Developers Toolkit

Version 19.5.2.0

Page 2: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

ii

Page 3: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

iii

Inhaltsverzeichnis API-Referenz ................................................................................................................................................................. 2

Willkommen............................................................................................................................................................... 2 Suchfunktion .............................................................................................................................................................. 2

Datenstruktur-Verzeichnis ............................................................................................................................................. 3 Datei-Verzeichnis ........................................................................................................................................................... 4 Datenstruktur-Dokumentation ........................................................................................................................................ 5

eric_druck_parameter_t .............................................................................................................................................. 5 eric_verschluesselungs_parameter_t .......................................................................................................................... 8 eric_zertifikat_parameter_t ...................................................................................................................................... 10 Finanzamtsdaten ....................................................................................................................................................... 13 FinanzamtsdatenNeu ................................................................................................................................................ 17

Datei-Dokumentation ................................................................................................................................................... 21 eric_fehlercodes.h .................................................................................................................................................... 21 eric_types.h .............................................................................................................................................................. 31 ericapi.h .................................................................................................................................................................... 34 Inhalt des Rückgabepuffers und des Serverantwortpuffers ...................................................................................... 38

Erfolgsfall............................................................................................................................................................. 38 Plausibilitätsfehler ................................................................................................................................................ 38 Fehler in der Serverantwort .................................................................................................................................. 38 Sonstige Fehler ..................................................................................................................................................... 39

UI-Callbacks ............................................................................................................................................................ 39 ericapiExport.h ......................................................................................................................................................... 55 ericdef.h ................................................................................................................................................................... 56 ericdef_gui.h ............................................................................................................................................................ 58 mainpage.txt ............................................................................................................................................................. 64 platform.h ................................................................................................................................................................. 65 tm98ericapi.h............................................................................................................................................................ 67

Index ............................................................................................................................................................................ 83

Page 4: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

1

Page 5: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

2

API-Referenz

Willkommen

Auf diesen Seiten finden Sie Referenzinformationen über die von ERiC angebotenen API-Funktionen.

Beginnen Sie nach dem Auspacken des mitgelieferten Common-Pakets im Dokument

ERiC-<Version>/common/ERiC-Entwicklerhandbuch.pdf

In diesem Dokument finden Sie sowohl allgemeine Zusatzinformationen als auch spezielle Hinweise zum

Gebrauch der Bibliotheken, Datensätze, Datensatzformate und Werte.

Das ESt-Tutorial

ERiC-<Version>/common/Tutorial/ERiC-ESt-Tutorial.pdf

illustriert detailliert die Softwareentwicklung mit ERiC am mitgelieferten Beispiel ericdemo.

Suchfunktion

Die HTML-Seiten der API-Referenz enthalten ein Suchfeld. Voraussetzung ist ein Browser mit

aktiviertem JavaScript. Es kann nur nach Symbolen gesucht werden. Eine Volltextsuche ist nicht möglich.

Page 6: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

3

Datenstruktur-Verzeichnis

Datenstrukturen Hier folgt die Aufzählung aller Datenstrukturen mit einer Kurzbeschreibung:

eric_druck_parameter_t (Diese Struktur enhält alle für den Druck notwendigen Informationen ) ................................................................................................................................................................. 5

eric_verschluesselungs_parameter_t (Für die Signatur oder Authentifizierung benötigte Informationen ) ................................................................................................................................................................. 8

eric_zertifikat_parameter_t (Struktur mit Informationen zur Erzeugung von Zertifikaten mit

EricCreateKey ) .................................................................................................................................. 10

Finanzamtsdaten (Wird von EricHoleFinanzamtsdaten benötigt ) ............................................... 13

FinanzamtsdatenNeu (Wird von EricHoleFinanzamtsdatenNeu benötigt. Oeffnungszeichen und

Bemerkung sind länger - siehe ERIC-21598 ) .................................................................................. 17

Page 7: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

4

Datei-Verzeichnis

Auflistung der Dateien Hier folgt die Aufzählung aller Dateien mit einer Kurzbeschreibung:

eric_fehlercodes.h (Aufzählung der ERIC API-Fehlercodes ) ....................................................... 21

eric_types.h (Einfache Aufzaehlungstypen und Strukturen ) ........................................................ 31

ericapi.h (Deklaration der ERiC API-Funktionen ) ........................................................................ 34

ericapiExport.h (DLL-Export- und Importdeklarationen ) ........................................................... 55

ericdef.h (Konstanten für Übergabe- und Druckparameter ) ........................................................ 56

ericdef_gui.h (Konstanten und Typdeklarationen für Callbackfunktionen ) ............................... 58

platform.h (Konstanten für verschiedene Betriebssystemplattformen ) ....................................... 65

tm98ericapi.h (Deklaration der ERiC API-Funktionen ) ............................................................... 67

Page 8: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

5

Datenstruktur-Dokumentation

eric_druck_parameter_t Strukturreferenz

Diese Struktur enhält alle für den Druck notwendigen Informationen. #include <eric_types.h>

Zusammengehörigkeiten von eric_druck_parameter_t:

Datenfelder

uint32_t vorschau

Soll ein Vorschau-PDF erstellt werden?

uint32_t ersteSeite

Soll das PDF nur die erste Seite oder alles enthalten?

const char * pdfName

Name der erzeugten PDF-Datei.

const char * fussText

Fusstext der auf dem Ausdruck verwendet werden soll (optional).

Ausführliche Beschreibung

Diese Struktur enhält alle für den Druck notwendigen Informationen.

Der Anwendungsentwickler muss diese Struktur allokieren und nach Verwendung wieder freigeben.

Definiert in Zeile 124 der Datei eric_types.h.

Dokumentation der Datenelemente

uint32_t eric_druck_parameter_t::ersteSeite

Soll das PDF nur die erste Seite oder alles enthalten?

ersteSeite = 1: Es wird nur die erste Seite einer komprimierten Erklärung gedruckt.

ersteSeite = 0: Es wird alles gedruckt.

Definiert in Zeile 139 der Datei eric_types.h.

Page 9: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

6

const char* eric_druck_parameter_t::fussText

Fusstext der auf dem Ausdruck verwendet werden soll (optional).

Wenn der uebergebene Text laenger als ERIC_MAX_LAENGE_FUSSTEXT Zeichen ist, dann bricht

der Druck mit Fehlerkode ERIC_PRINT_FUSSTEXT_ZU_LANG ab!

Zu beachten:

Fachliche Informationen sind in ERiC-Entwicklerhandbuch.pdf nachzulesen.

Definiert in Zeile 186 der Datei eric_types.h.

const char* eric_druck_parameter_t::pdfName

Name der erzeugten PDF-Datei.

Der Name darf nur gültige Zeichen für den PDF-Dateinamen (inkl. Pfad) enthalten. Es wird

empfohlen nur Groß- und Kleinbuchstaben sowie Ziffern zu verwenden, auf Sonderzeichen und

Steuerzeichen ist zu verzichten. Zur Pfadangabe sind ":", "\\" bzw. "//" möglich. Bitte

Betriebssystemspezifika beachten.

Windows-Beispiel: "c:\\test\\ericprint.pdf"

Ist der pdfName==NULL, dann wird ein Dateiname nach folgendem Schema (in spitzen Klammern

befinden sich verbindliche Bestandteile des Namens, in eckigen Klammern optionale Bestandteile)

generiert:

[VZ]<Datenart>[Steuernummer|Ordnungsbegriff|USt-IdNr][_SteuerID1][_SteuerID2][_Preview].pdf

Der Bestandteil VZ entfällt bei VZ-unabhängigen Datenarten

Besonderheiten bei Sammeldaten

Ist der pdfName==NULL, dann wird der Dateiname nach folgendem Schema generiert:

[VZ]<Datenart>[Steuernummer|Ordnungsbegriff|USt-IdNr][_SteuerID1][_SteuerID2][_Preview]<_Nutzdat

enTicket>.pdf

Ist der pdfName!=NULL, dann wird zuerst die Dateiendung mit einem regulären Ausdruck ".[Pp][Dd][Ff]"

entfernt. Der pdfName, für die einzelnen PDF-Dokumente, setzt sich dann folgendermaßen zusammen:

<ÜbergebenerPDFName>[_Preview]<_NutzdatenTicket>.pdf

Zu beachten:

Es ist sicherzustellen, dass alle PDF-Dateien im Dateisystem erstellt bzw. geschrieben werden können. Falls

es beim Erstellen der PDF-Dokumente einen Fehler gibt oder falls diese nicht geschrieben werden können,

wird die Bearbeitung abgebrochen, eine Log-Ausgabe erstellt, aus der hervorgeht, welcher Steuerfall nicht

gedruckt werden konnte, und eine Fehlermeldung an den Aufrufer zurückgeliefert.

Definiert in Zeile 177 der Datei eric_types.h.

uint32_t eric_druck_parameter_t::vorschau

Soll ein Vorschau-PDF erstellt werden?

Vorschau = 1: Ein Vorschau-PDF wird erzeugt und als solches gekennzeichnet

Vorschau = 0: Es wird kein Vorschau-PDF erzeugt

Definiert in Zeile 132 der Datei eric_types.h.

Page 10: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

7

Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei:

eric_types.h

Page 11: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

8

eric_verschluesselungs_parameter_t Strukturreferenz

Für die Signatur oder Authentifizierung benötigte Informationen. #include <eric_types.h>

Zusammengehörigkeiten von eric_verschluesselungs_parameter_t:

Datenfelder

EricZertifikatHandle zertifikatHandle

Verweis auf den KeyStore, siehe EricGetHandleToCertificate().

const char * pin

PIN für den KeyStore.

const char * abrufCode

Dieser muss für Datenlieferungen zum Verfahren ElsterDatenabholung und Datenart ElsterVaStDaten

angegeben werden, falls für die Signatur ein SoftPSE-Zertifikat verwendet wird. In allen anderen Fällen muss

hier NULL übergeben werden. Der Parameter abrufCode besteht aus 2 x 5 Zeichen, die mit "-" verbunden sind.

Beispiel: "K6FG5-RS32P".

Ausführliche Beschreibung

Für die Signatur oder Authentifizierung benötigte Informationen.

Diese Struktur ist vom Anwender zu allokieren und samt Inhalt auch wieder freizugeben.

Definiert in Zeile 197 der Datei eric_types.h.

Dokumentation der Datenelemente

const char* eric_verschluesselungs_parameter_t::abrufCode

Dieser muss für Datenlieferungen zum Verfahren ElsterDatenabholung und Datenart ElsterVaStDaten

angegeben werden, falls für die Signatur ein SoftPSE-Zertifikat verwendet wird. In allen anderen Fällen muss

hier NULL übergeben werden. Der Parameter abrufCode besteht aus 2 x 5 Zeichen, die mit "-" verbunden sind.

Beispiel: "K6FG5-RS32P".

Definiert in Zeile 216 der Datei eric_types.h.

const char* eric_verschluesselungs_parameter_t::pin

PIN für den KeyStore.

Page 12: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

9

Definiert in Zeile 206 der Datei eric_types.h.

EricZertifikatHandle eric_verschluesselungs_parameter_t::zertifikatHandle

Verweis auf den KeyStore, siehe EricGetHandleToCertificate().

Definiert in Zeile 202 der Datei eric_types.h.

Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei:

eric_types.h

Page 13: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

10

eric_zertifikat_parameter_t Strukturreferenz

Struktur mit Informationen zur Erzeugung von Zertifikaten mit EricCreateKey. #include <eric_types.h>

Zusammengehörigkeiten von eric_zertifikat_parameter_t:

Datenfelder

uint32_t version

Version dieser Struktur. Muss derzeit immer 1 sein.

const char * name

Name des Anwenders. Die Angabe des Namens ist obligatorisch. Der Parameter darf nicht mit NULL oder

einem Leerstring (String der Länge 0) belegt werden.

const char * land

Land des Anwenders. Beispiel: "DE".

const char * ort

Wohnort des Anwenders, inklusive PLZ. Beispiel: "D-10179 Berlin".

const char * adresse

Adresse des Anwenders.

const char * email

E-Mail-Adresse des Anwenders.

const char * organisation

Name der Organisation.

const char * abteilung

Name der Abteilung (organizational unit) der Organisation.

const char * beschreibung

Beschreibung, welche für den Anwender im Zertifikat abgelegt wird.

Ausführliche Beschreibung

Struktur mit Informationen zur Erzeugung von Zertifikaten mit EricCreateKey.

Die Elemente der Struktur beschreiben den Anwender, für den ein Schlüssel erstellt werden soll.

Unbenutzte Parameter müssen mit NULL oder Leerstring initialisiert werden.

Diese Struktur und ihre Elemente sind vom Anwender zu allokieren und samt Inhalt auch wieder

freizugeben. Alle Elemente sind vom Anwender zu initialisieren.

Page 14: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

11

Definiert in Zeile 232 der Datei eric_types.h.

Dokumentation der Datenelemente

const char* eric_zertifikat_parameter_t::abteilung

Name der Abteilung (organizational unit) der Organisation.

Die Angabe dieses Wertes ist optional. Wenn Organisation und Abteilung nicht angegeben werden,

wird "ERiC" verwendet.

Definiert in Zeile 288 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::adresse

Adresse des Anwenders.

Die Angabe dieses Wertes ist optional.

Definiert in Zeile 265 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::beschreibung

Beschreibung, welche für den Anwender im Zertifikat abgelegt wird.

Die Angabe dieses Wertes ist optional.

Definiert in Zeile 295 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::email

E-Mail-Adresse des Anwenders.

Die Angabe dieses Wertes ist optional.

Definiert in Zeile 272 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::land

Land des Anwenders. Beispiel: "DE".

Die Angabe dieses Wertes ist optional.

Definiert in Zeile 251 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::name

Name des Anwenders. Die Angabe des Namens ist obligatorisch. Der Parameter darf nicht mit NULL oder

einem Leerstring (String der Länge 0) belegt werden.

Definiert in Zeile 244 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::organisation

Page 15: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

12

Name der Organisation.

Die Angabe dieses Wertes ist optional. Wenn Organisation und Abteilung nicht angegeben werden,

wird "ELSTER" verwendet.

Definiert in Zeile 280 der Datei eric_types.h.

const char* eric_zertifikat_parameter_t::ort

Wohnort des Anwenders, inklusive PLZ. Beispiel: "D-10179 Berlin".

Die Angabe dieses Wertes ist optional.

Definiert in Zeile 258 der Datei eric_types.h.

uint32_t eric_zertifikat_parameter_t::version

Version dieser Struktur. Muss derzeit immer 1 sein.

Definiert in Zeile 237 der Datei eric_types.h.

Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei:

eric_types.h

Page 16: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

13

Finanzamtsdaten Strukturreferenz

Wird von EricHoleFinanzamtsdaten benötigt. #include <ericdef.h>

Zusammengehörigkeiten von Finanzamtsdaten:

Datenfelder

char BUFA_NR [1+4]

char Finanzamtsname [1+30]

char Ergaenzung_FAName [1+30]

char Strasse [1+30]

char PLZ [1+5]

char Ort [1+24]

char Telefon [1+20]

char FAX [1+20]

char PLZ_Grosskunden [1+5]

char PLZ_Postfach [1+5]

char Postfach_Nr [1+10]

char BLZ_1 [1+8]

char Kontonummer_1 [1+15]

char Bankbezeichnung_1 [1+30]

char IBAN_1 [1+22]

char BIC_1 [1+11]

char Kontoinhaber_1_BUFA_NR [1+4]

char BLZ_oertlich [1+8]

char Kontonummer_oertlich [1+15]

char Bankbezeichnung_oertlich [1+30]

char IBAN_oertlich [1+22]

char BIC_oertlich [1+11]

char Kontoinhaber_oertlich_BUFA_NR [1+4]

char Oeffnungszeiten [1+100]

char EMail_Adresse [1+70]

char URL [1+70]

char Bemerkung [1+180]

char Hauptstelle_BUFA_NR [1+4]

char Hauptstelle_Aussenstellen [1+60]

Page 17: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

14

Ausführliche Beschreibung

Wird von EricHoleFinanzamtsdaten benötigt.

Alle Werte mit Null-Terminierung!

Definiert in Zeile 49 der Datei ericdef.h.

Dokumentation der Datenelemente

char Finanzamtsdaten::Bankbezeichnung_1[1+30]

Definiert in Zeile 63 der Datei ericdef.h.

char Finanzamtsdaten::Bankbezeichnung_oertlich[1+30]

Definiert in Zeile 69 der Datei ericdef.h.

char Finanzamtsdaten::Bemerkung[1+180]

Definiert in Zeile 76 der Datei ericdef.h.

char Finanzamtsdaten::BIC_1[1+11]

Definiert in Zeile 65 der Datei ericdef.h.

char Finanzamtsdaten::BIC_oertlich[1+11]

Definiert in Zeile 71 der Datei ericdef.h.

char Finanzamtsdaten::BLZ_1[1+8]

Definiert in Zeile 61 der Datei ericdef.h.

char Finanzamtsdaten::BLZ_oertlich[1+8]

Definiert in Zeile 67 der Datei ericdef.h.

char Finanzamtsdaten::BUFA_NR[1+4]

Definiert in Zeile 50 der Datei ericdef.h.

char Finanzamtsdaten::EMail_Adresse[1+70]

Definiert in Zeile 74 der Datei ericdef.h.

Page 18: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

15

char Finanzamtsdaten::Ergaenzung_FAName[1+30]

Definiert in Zeile 52 der Datei ericdef.h.

char Finanzamtsdaten::FAX[1+20]

Definiert in Zeile 57 der Datei ericdef.h.

char Finanzamtsdaten::Finanzamtsname[1+30]

Definiert in Zeile 51 der Datei ericdef.h.

char Finanzamtsdaten::Hauptstelle_Aussenstellen[1+60]

Definiert in Zeile 78 der Datei ericdef.h.

char Finanzamtsdaten::Hauptstelle_BUFA_NR[1+4]

Definiert in Zeile 77 der Datei ericdef.h.

char Finanzamtsdaten::IBAN_1[1+22]

Definiert in Zeile 64 der Datei ericdef.h.

char Finanzamtsdaten::IBAN_oertlich[1+22]

Definiert in Zeile 70 der Datei ericdef.h.

char Finanzamtsdaten::Kontoinhaber_1_BUFA_NR[1+4]

Definiert in Zeile 66 der Datei ericdef.h.

char Finanzamtsdaten::Kontoinhaber_oertlich_BUFA_NR[1+4]

Definiert in Zeile 72 der Datei ericdef.h.

char Finanzamtsdaten::Kontonummer_1[1+15]

Definiert in Zeile 62 der Datei ericdef.h.

char Finanzamtsdaten::Kontonummer_oertlich[1+15]

Definiert in Zeile 68 der Datei ericdef.h.

Page 19: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

16

char Finanzamtsdaten::Oeffnungszeiten[1+100]

Definiert in Zeile 73 der Datei ericdef.h.

char Finanzamtsdaten::Ort[1+24]

Definiert in Zeile 55 der Datei ericdef.h.

char Finanzamtsdaten::PLZ[1+5]

Definiert in Zeile 54 der Datei ericdef.h.

char Finanzamtsdaten::PLZ_Grosskunden[1+5]

Definiert in Zeile 58 der Datei ericdef.h.

char Finanzamtsdaten::PLZ_Postfach[1+5]

Definiert in Zeile 59 der Datei ericdef.h.

char Finanzamtsdaten::Postfach_Nr[1+10]

Definiert in Zeile 60 der Datei ericdef.h.

char Finanzamtsdaten::Strasse[1+30]

Definiert in Zeile 53 der Datei ericdef.h.

char Finanzamtsdaten::Telefon[1+20]

Definiert in Zeile 56 der Datei ericdef.h.

char Finanzamtsdaten::URL[1+70]

Definiert in Zeile 75 der Datei ericdef.h.

Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei:

ericdef.h

Page 20: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

17

FinanzamtsdatenNeu Strukturreferenz

Wird von EricHoleFinanzamtsdatenNeu benötigt. Oeffnungszeichen und Bemerkung sind länger - siehe

ERIC-21598. #include <ericdef.h>

Zusammengehörigkeiten von FinanzamtsdatenNeu:

Datenfelder

char BUFA_NR [1+4]

char Finanzamtsname [1+30]

char Ergaenzung_FAName [1+30]

char Strasse [1+30]

char PLZ [1+5]

char Ort [1+24]

char Telefon [1+20]

char FAX [1+20]

char PLZ_Grosskunden [1+5]

char PLZ_Postfach [1+5]

char Postfach_Nr [1+10]

char BLZ_1 [1+8]

char Kontonummer_1 [1+15]

char Bankbezeichnung_1 [1+30]

char IBAN_1 [1+22]

char BIC_1 [1+11]

char Kontoinhaber_1_BUFA_NR [1+4]

char BLZ_oertlich [1+8]

char Kontonummer_oertlich [1+15]

char Bankbezeichnung_oertlich [1+30]

char IBAN_oertlich [1+22]

char BIC_oertlich [1+11]

char Kontoinhaber_oertlich_BUFA_NR [1+4]

char Oeffnungszeiten [1+200]

char EMail_Adresse [1+70]

char URL [1+70]

char Bemerkung [1+300]

char Hauptstelle_BUFA_NR [1+4]

Page 21: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

18

char Hauptstelle_Aussenstellen [1+60]

Ausführliche Beschreibung

Wird von EricHoleFinanzamtsdatenNeu benötigt. Oeffnungszeichen und Bemerkung sind länger - siehe

ERIC-21598.

Alle Werte mit Null-Terminierung!

Definiert in Zeile 87 der Datei ericdef.h.

Dokumentation der Datenelemente

char FinanzamtsdatenNeu::Bankbezeichnung_1[1+30]

Definiert in Zeile 101 der Datei ericdef.h.

char FinanzamtsdatenNeu::Bankbezeichnung_oertlich[1+30]

Definiert in Zeile 107 der Datei ericdef.h.

char FinanzamtsdatenNeu::Bemerkung[1+300]

Definiert in Zeile 114 der Datei ericdef.h.

char FinanzamtsdatenNeu::BIC_1[1+11]

Definiert in Zeile 103 der Datei ericdef.h.

char FinanzamtsdatenNeu::BIC_oertlich[1+11]

Definiert in Zeile 109 der Datei ericdef.h.

char FinanzamtsdatenNeu::BLZ_1[1+8]

Definiert in Zeile 99 der Datei ericdef.h.

char FinanzamtsdatenNeu::BLZ_oertlich[1+8]

Definiert in Zeile 105 der Datei ericdef.h.

char FinanzamtsdatenNeu::BUFA_NR[1+4]

Definiert in Zeile 88 der Datei ericdef.h.

Page 22: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

19

char FinanzamtsdatenNeu::EMail_Adresse[1+70]

Definiert in Zeile 112 der Datei ericdef.h.

char FinanzamtsdatenNeu::Ergaenzung_FAName[1+30]

Definiert in Zeile 90 der Datei ericdef.h.

char FinanzamtsdatenNeu::FAX[1+20]

Definiert in Zeile 95 der Datei ericdef.h.

char FinanzamtsdatenNeu::Finanzamtsname[1+30]

Definiert in Zeile 89 der Datei ericdef.h.

char FinanzamtsdatenNeu::Hauptstelle_Aussenstellen[1+60]

Definiert in Zeile 116 der Datei ericdef.h.

char FinanzamtsdatenNeu::Hauptstelle_BUFA_NR[1+4]

Definiert in Zeile 115 der Datei ericdef.h.

char FinanzamtsdatenNeu::IBAN_1[1+22]

Definiert in Zeile 102 der Datei ericdef.h.

char FinanzamtsdatenNeu::IBAN_oertlich[1+22]

Definiert in Zeile 108 der Datei ericdef.h.

char FinanzamtsdatenNeu::Kontoinhaber_1_BUFA_NR[1+4]

Definiert in Zeile 104 der Datei ericdef.h.

char FinanzamtsdatenNeu::Kontoinhaber_oertlich_BUFA_NR[1+4]

Definiert in Zeile 110 der Datei ericdef.h.

char FinanzamtsdatenNeu::Kontonummer_1[1+15]

Definiert in Zeile 100 der Datei ericdef.h.

Page 23: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

20

char FinanzamtsdatenNeu::Kontonummer_oertlich[1+15]

Definiert in Zeile 106 der Datei ericdef.h.

char FinanzamtsdatenNeu::Oeffnungszeiten[1+200]

Definiert in Zeile 111 der Datei ericdef.h.

char FinanzamtsdatenNeu::Ort[1+24]

Definiert in Zeile 93 der Datei ericdef.h.

char FinanzamtsdatenNeu::PLZ[1+5]

Definiert in Zeile 92 der Datei ericdef.h.

char FinanzamtsdatenNeu::PLZ_Grosskunden[1+5]

Definiert in Zeile 96 der Datei ericdef.h.

char FinanzamtsdatenNeu::PLZ_Postfach[1+5]

Definiert in Zeile 97 der Datei ericdef.h.

char FinanzamtsdatenNeu::Postfach_Nr[1+10]

Definiert in Zeile 98 der Datei ericdef.h.

char FinanzamtsdatenNeu::Strasse[1+30]

Definiert in Zeile 91 der Datei ericdef.h.

char FinanzamtsdatenNeu::Telefon[1+20]

Definiert in Zeile 94 der Datei ericdef.h.

char FinanzamtsdatenNeu::URL[1+70]

Definiert in Zeile 113 der Datei ericdef.h.

Die Dokumentation für diese Struktur wurde erzeugt aufgrund der Datei:

ericdef.h

Page 24: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

21

Datei-Dokumentation

eric_fehlercodes.h-Dateireferenz

Aufzählung der ERIC API-Fehlercodes.

Typdefinitionen

typedef enum eric_fehlercode eric_fehlercode_t

Aufzählungen

enum eric_fehlercode { ERIC_OK = 0, ERIC_GLOBAL_UNKNOWN = 610001001,

ERIC_GLOBAL_PRUEF_FEHLER = 610001002,

ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN = 610001007,

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN = 610001008,

ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER = 610001013,

ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN = 610001014,

ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG = 610001016, ERIC_GLOBAL_ILLEGAL_STATE =

610001017, ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT = 610001018,

ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT = 610001019,

ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION = 610001020,

ERIC_GLOBAL_UFA_VZ_NICHT_UNTERSTUETZT = 610001022,

ERIC_GLOBAL_TESTMERKER_UNGUELTIG = 610001025, ERIC_GLOBAL_DATENSATZ_ZU_GROSS

= 610001026, ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT = 610001027,

ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT = 610001028,

ERIC_GLOBAL_ABRUFCODE_NICHT_ERLAUBT = 610001029,

ERIC_GLOBAL_ERROR_XML_CREATE = 610001030, ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX =

610001031, ERIC_GLOBAL_INTERNER_FEHLER = 610001032, ERIC_GLOBAL_ARITHMETIKFEHLER

= 610001033, ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT = 610001040,

ERIC_GLOBAL_PUFFER_UEBERLAUF = 610001041,

ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR = 610001102,

ERIC_GLOBAL_CHECK_CORRUPTED_NDS = 610001108,

ERIC_GLOBAL_NDS_TYPE_IS_NOT_ERKLAERUNGSSTEUER = 610001109,

ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN = 610001206,

ERIC_GLOBAL_SEND_AUTH_PIN_NICHT_ANGEGEBEN_RESERVIERT = 610001208,

ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES = 610001209,

ERIC_GLOBAL_VERFAHREN_NICHT_UNTERSTUETZT = 610001212,

ERIC_GLOBAL_DATENART_NICHT_UNTERSTUETZT = 610001213,

ERIC_GLOBAL_EINGABE_FORMAT_NICHT_UNTERSTUETZT = 610001214,

ERIC_GLOBAL_VORGANG_NICHT_UNTERSTUETZT = 610001215,

ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION = 610001218,

ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT = 610001220,

ERIC_GLOBAL_UNGUELTIGER_PARAMETER = 610001222,

ERIC_GLOBAL_EINGANGSDATENSATZ_ZU_GROSS = 610001223,

ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT = 610001224,

ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT = 610001225,

ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION = 610001226,

ERIC_GLOBAL_TRANSFERHANDLE = 610001227, ERIC_GLOBAL_UTI_ERROR = 610001400,

ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED = 610001404,

ERIC_GLOBAL_IBAN_FORMALER_FEHLER = 610001501,

ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER = 610001502,

ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER = 610001503,

ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER = 610001504,

ERIC_GLOBAL_BIC_FORMALER_FEHLER = 610001510,

Page 25: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

22

ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER = 610001511,

ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG = 610001519,

ERIC_GLOBAL_IDNUMMER_LAENGE_UNGUELTIG = 610001520,

ERIC_GLOBAL_IDNUMMER_NICHT_NUMERISCH = 610001521,

ERIC_GLOBAL_IDNUMMER_NICHT_GENAU_EINE_ZIFFER_DOPPELT = 610001522,

ERIC_GLOBAL_IDNUMMER_ERSTE_ZIFFER_UNGUELTIG = 610001523,

ERIC_GLOBAL_IDNUMMER_PRUEFZIFFER_UNGUELTIG = 610001524,

ERIC_GLOBAL_UPDATE_NECESSARY = 610001851,

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG = 610001860,

ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG = 610001861,

ERIC_GLOBAL_ERR_DEKODIEREN = 610001862,

ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT = 610001863,

ERIC_GLOBAL_NUTZDATENTICKET_UNGUELTIG = 610001864, ERIC_TRANSFER_COM_ERROR =

610101200, ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT = 610101201,

ERIC_TRANSFER_ERR_XML_THEADER = 610101210, ERIC_TRANSFER_ERR_PARAM = 610101251,

ERIC_TRANSFER_ERR_DATENTEILNOTFOUND = 610101252,

ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND = 610101253,

ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT = 610101255,

ERIC_TRANSFER_ERR_ENDDATENLIEFERANT = 610101256,

ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL = 610101257,

ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL = 610101258,

ERIC_TRANSFER_ERR_BEGINDATENGROESSE = 610101259,

ERIC_TRANSFER_ERR_ENDDATENGROESSE = 610101260, ERIC_TRANSFER_ERR_SEND =

610101271, ERIC_TRANSFER_ERR_NOTENCRYPTED = 610101274,

ERIC_TRANSFER_ERR_PROXYCONNECT = 610101276, ERIC_TRANSFER_ERR_CONNECTSERVER =

610101278, ERIC_TRANSFER_ERR_NORESPONSE = 610101279,

ERIC_TRANSFER_ERR_PROXYAUTH = 610101280, ERIC_TRANSFER_ERR_SEND_INIT = 610101282,

ERIC_TRANSFER_ERR_TIMEOUT = 610101283, ERIC_TRANSFER_ERR_OTHER = 610101291,

ERIC_TRANSFER_ERR_XML_NHEADER = 610101292, ERIC_TRANSFER_ERR_XML_ENCODING =

610101293, ERIC_TRANSFER_ERR_ENDSIGUSER = 610101294,

ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN = 610101295,

ERIC_TRANSFER_ERR_HERSTELLERID_UNGUELTIG = 610101296,

ERIC_CRYPT_ERROR_CREATE_KEY = 610201016,

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT = 610201203,

ERIC_CRYPT_E_INVALID_HANDLE = 610201101, ERIC_CRYPT_E_MAX_SESSION = 610201102,

ERIC_CRYPT_E_BUSY = 610201103, ERIC_CRYPT_E_OUT_OF_MEM = 610201104,

ERIC_CRYPT_E_PSE_PATH = 610201105, ERIC_CRYPT_E_PIN_WRONG = 610201106,

ERIC_CRYPT_E_PIN_LOCKED = 610201107, ERIC_CRYPT_E_P7_READ = 610201108,

ERIC_CRYPT_E_P7_DECODE = 610201109, ERIC_CRYPT_E_P7_RECIPIENT = 610201110,

ERIC_CRYPT_E_P12_READ = 610201111, ERIC_CRYPT_E_P12_DECODE = 610201112,

ERIC_CRYPT_E_P12_SIG_KEY = 610201113, ERIC_CRYPT_E_P12_ENC_KEY = 610201114,

ERIC_CRYPT_E_P11_SIG_KEY = 610201115, ERIC_CRYPT_E_P11_ENC_KEY = 610201116,

ERIC_CRYPT_E_XML_PARSE = 610201117, ERIC_CRYPT_E_XML_SIG_ADD = 610201118,

ERIC_CRYPT_E_XML_SIG_TAG = 610201119, ERIC_CRYPT_E_XML_SIG_SIGN = 610201120,

ERIC_CRYPT_E_ENCODE_UNKNOWN = 610201121, ERIC_CRYPT_E_ENCODE_ERROR = 610201122,

ERIC_CRYPT_E_XML_INIT = 610201123, ERIC_CRYPT_E_ENCRYPT = 610201124,

ERIC_CRYPT_E_DECRYPT = 610201125, ERIC_CRYPT_E_P11_SLOT_EMPTY = 610201126,

ERIC_CRYPT_E_NO_SIG_ENC_KEY = 610201127, ERIC_CRYPT_E_INTERN = 610201208,

ERIC_CRYPT_ZERTIFIKAT = 610201200, ERIC_CRYPT_SIGNATUR = 610201201,

ERIC_CRYPT_PSE_PFAD = 610201202, ERIC_CRYPT_PIN_BENOETIGT = 610201205,

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND = 610201206,

ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS = 610201209,

ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS = 610201210,

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN = 610201211,

ERIC_CRYPT_E_INVALID_PARAM_ABC = 610201212, ERIC_IO_FEHLER = 610301001,

ERIC_IO_DATEI_INKORREKT = 610301005, ERIC_IO_PARSE_FEHLER = 610301006,

ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN = 610301007,

Page 26: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

23

ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR = 610301010,

ERIC_IO_STEUERZEICHEN_IM_NDS = 610301014,

ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN = 610301031,

ERIC_IO_FALSCHES_VERFAHREN = 610301104, ERIC_IO_READER_MEHRFACHE_STEUERFAELLE

= 610301105, ERIC_IO_READER_UNERWARTETE_ELEMENTE = 610301106,

ERIC_IO_READER_FORMALE_FEHLER = 610301107, ERIC_IO_READER_FALSCHES_ENCODING =

610301108, ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE = 610301109,

ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE = 610301110,

ERIC_IO_UNBEKANNTE_DATENART = 610301111,

ERIC_IO_READER_FEHLENDER_NUTZDATENHEADER = 610301112,

ERIC_IO_READER_NUTZDATENHEADER_NICHT_UNTERSTUETZTE_VERSION = 610301113,

ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG = 610301114,

ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE = 610301115,

ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER = 610301150,

ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER = 610301151,

ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN = 610301152,

ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER = 610301200,

ERIC_IO_READER_UNBEKANNTE_XML_ENTITY = 610301201, ERIC_IO_DATENTEILNOTFOUND =

610301252, ERIC_IO_DATENTEILENDNOTFOUND = 610301253,

ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT = 610301300, ERIC_PRINT_INTERNER_FEHLER

= 610501001, ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN = 610501002,

ERIC_PRINT_UNGUELTIGER_DATEI_PFAD = 610501004,

ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT = 610501007,

ERIC_PRINT_AUSGABEZIEL_UNBEKANNT = 610501008,

ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG = 610501009,

ERIC_PRINT_ABBRUCH_GENERIERUNG = 610501010,

ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT = 610501011,

ERIC_PRINT_FUSSTEXT_ZU_LANG = 610501012 }

Ausführliche Beschreibung

Aufzählung der ERIC API-Fehlercodes.

Definiert in Datei eric_fehlercodes.h.

Dokumentation der benutzerdefinierten Typen

typedef enum eric_fehlercode eric_fehlercode_t

Dokumentation der Aufzählungstypen

enum eric_fehlercode

Aufzählungswerte

ERIC_OK [0]Verarbeitung fehlerfrei.

ERIC_GLOBAL_UNKNOWN [610001001] Verarbeitung fehlerhaft, keine genaueren

Informationen vorhanden.

ERIC_GLOBAL_PRUEF_FEHLER [610001002] Fehler während der Plausibilitätsprüfung,

Datensatz nicht plausibel.

Page 27: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

24

ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN [610001007] Keine

Klartextfehlermeldung vorhanden.

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN [610001008] Für den übergebenen Wert

sind keine Daten vorhanden.

ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER [610001013] Es ist nicht

genügend Arbeitsspeicher vorhanden.

ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN [610001014] Datei nicht gefunden.

ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG [610001016] Ungültige Steuernummer.

ERIC_GLOBAL_ILLEGAL_STATE [610001017] Ungültiger Zustand.

ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT [610001018] Die aufgerufene Funktion ist

nicht erlaubt.

ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT [610001019] Für dieses Verfahren/diese

Datenart sind Echtfälle derzeit nicht erlaubt.

ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION [610001020] Der Versand von

Echtfällen (= Fällen ohne gesetzten Testmerker) ist mit dieser BETA-Version nicht möglich! Es

werden daher KEINE Dateien für den Versand angelegt.

ERIC_GLOBAL_UFA_VZ_NICHT_UNTERSTUETZT [610001022] Die übergebene

Unterfallart bzw. der Veranlagungszeitraum werden nicht unterstützt.

ERIC_GLOBAL_TESTMERKER_UNGUELTIG [610001025] Der übergebene Testmerker ist

für das angegebene Verfahren nicht zulässig.

ERIC_GLOBAL_DATENSATZ_ZU_GROSS [610001026] Der zu versendende Datensatz ist

zu groß.

ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT [610001027] Bei der angegebenen Versandart dürfen Verschlüsselungsparameter nicht angegeben

werden.

ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT [610001028] Bei der

angegebenen Versandart sind nur Portal-Zertifikate erlaubt.

ERIC_GLOBAL_ABRUFCODE_NICHT_ERLAUBT [610001029] Bei der übermittelten

Datenart darf kein Abrufcode ungleich NULL angegeben werden.

ERIC_GLOBAL_ERROR_XML_CREATE [610001030] Es ist ein Fehler bei der Umwandlung

nach XML aufgetreten.

ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX [610001031] Die Größe des Textpuffers

kann nicht verändert werden.

ERIC_GLOBAL_INTERNER_FEHLER [610001032] Interner Fehler aufgetreten! Details

stehen ggf. im Logfile (eric.log).

ERIC_GLOBAL_ARITHMETIKFEHLER [610001033] Bei einer arithmetischen Operation ist

ein Fehler aufgetreten! Details stehen im Logile (eric.log)

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT [610001040] Ein Puffer-Handle wurde

mehrfach übergeben.

ERIC_GLOBAL_PUFFER_UEBERLAUF [610001041] Es wurde versucht, einen Puffer über

die maximal mögliche Länge hinaus zu beschreiben.

ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR [610001102] Unbekannter

Parameterfehler.

ERIC_GLOBAL_CHECK_CORRUPTED_NDS [610001108] Defekter Nutzdatensatz.

Page 28: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

25

ERIC_GLOBAL_NDS_TYPE_IS_NOT_ERKLAERUNGSSTEUER [610001109] Der

Nutzdatensatz muss vom Typ Erklärungssteuer sein.

ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN [610001206] Verschlüsselter/authentifizierter Versand gewünscht, aber keine notwendigen

Verschlüsselungsparameter angegeben.

ERIC_GLOBAL_SEND_AUTH_PIN_NICHT_ANGEGEBEN_RESERVIERT [610001208]

Es wurde keine PIN angegeben.

ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES [610001209] Es ist mehr als ein

Versandflag angegeben.

ERIC_GLOBAL_VERFAHREN_NICHT_UNTERSTUETZT [610001212] Das übergebene

Verfahren ist unbekannt bzw. wird nicht unterstützt.

ERIC_GLOBAL_DATENART_NICHT_UNTERSTUETZT [610001213] Es ist eine

unbekannte bzw. in dem Verfahren nicht unterstützte Datenart angegeben.

ERIC_GLOBAL_EINGABE_FORMAT_NICHT_UNTERSTUETZT [610001214]

Fehlerhaftes Eingabeformat: Als Eingabeformat wird nur der ElsterXML-Datensatz unterstützt.

ERIC_GLOBAL_VORGANG_NICHT_UNTERSTUETZT [610001215] Der übergebene

Vorgang ist unbekannt bzw. wird nicht unterstützt.

ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION [610001218] Die Kombination

der Versandflags ist nicht möglich.

ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICHT_UNTERSTUETZT [610001220] Der

Erste-Seite-Druck ist nur für Steuerberater bei nicht-authentifizierten Einkommenssteuerfällen ab

Veranlagungszeitraum 2010 ohne Versandanforderung erlaubt.

ERIC_GLOBAL_UNGUELTIGER_PARAMETER [610001222] Die angegeben Parameter

sind ungültig oder unvollständig.

ERIC_GLOBAL_EINGANGSDATENSATZ_ZU_GROSS [610001223] Der übergebene

Eingangsdatensatz ist zu groß.

ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT [610001224] Für das

angegebene Verfahren wird der Druck nicht unterstützt.

ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT [610001225] Die Versandart

ist für das angegebene Verfahren nicht erlaubt.

ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION [610001226] Die angegebene

Version des Parameters ist ungültig.

ERIC_GLOBAL_TRANSFERHANDLE [610001227] Für das Verfahren Datenabholung wurde

ein illegaler Transferhandle angegeben.

ERIC_GLOBAL_UTI_ERROR [610001400] Allgemeiner Fehler bei einer Hilfsfunktion.

ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED [610001404] Das

Bundesland/Finanzamt mit der angegebenen Nummer nimmt bei der angegebenen Steuerart am

ELSTER-Verfahren nicht teil.

ERIC_GLOBAL_IBAN_FORMALER_FEHLER [610001501] Ungültige IBAN: IBAN muss

aus zweistelligem Ländercode gefolgt von zweistelliger Prüfziffer gefolgt von der Basic Bank

Account Number bestehen.

ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER [610001502] Ungültige IBAN: Der

angegebene Ländercode ist ungültig oder wird aktuell im ELSTER-Verfahren nicht unterstützt.

Page 29: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

26

ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER [610001503] Ungültige IBAN: Die

angegebene IBAN entspricht nicht dem für das angegebene Land definierten formalen Aufbau der

IBAN.

ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER [610001504] Ungültige IBAN: Die

Prüfziffernberechnung zur angegebenen IBAN führt zu einer abweichenden Prüfziffer.

ERIC_GLOBAL_BIC_FORMALER_FEHLER [610001510] Ungültiger BIC: Der formale

Aufbau des angegeben BIC ist ungültig.

ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER [610001511] Ungültiger BIC: Der

angegebene Ländercode ist ungültig oder wird aktuell im ELSTER-Verfahren nicht unterstützt.

ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG [610001519] Die angegebene

Zulassungsnummer entspricht nicht den Längenvorgaben. Es sind maximal 6 Stellen erlaubt.

ERIC_GLOBAL_IDNUMMER_LAENGE_UNGUELTIG [610001520] Ungültige IDNummer:

Die Länge der Identifikationsnummer ist falsch, es werden 11 Zeichen erwartet.

ERIC_GLOBAL_IDNUMMER_NICHT_NUMERISCH [610001521] Ungültige IDNummer:

Identifikationsnummer nicht im numerischen Format.

ERIC_GLOBAL_IDNUMMER_NICHT_GENAU_EINE_ZIFFER_DOPPELT [610001522]

Ungültige IDNummer: In den ersten 10 Stellen der Identifikationsnummer muss genau eine Ziffer

doppelt vorkommen.

ERIC_GLOBAL_IDNUMMER_ERSTE_ZIFFER_UNGUELTIG [610001523] Ungültige

IDNummer: Die erste Ziffer der Identifikationsnummer darf nicht 0 sein.

ERIC_GLOBAL_IDNUMMER_PRUEFZIFFER_UNGUELTIG [610001524] Ungültige

IDNummer: Die Prüfziffer der Identifikationsnummer ist falsch.

ERIC_GLOBAL_UPDATE_NECESSARY [610001851] Update des ERiC erforderlich. Starten

Sie nun das Update.

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG [610001860] Ungültiger Name für

Einstellung.

ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG [610001861] Ungültiger Wert für

Einstellung.

ERIC_GLOBAL_ERR_DEKODIEREN [610001862] Fehler beim Dekodieren.

ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT [610001863] Die aufgerufene

Funktion wird nicht unterstützt.

ERIC_GLOBAL_NUTZDATENTICKET_UNGUELTIG [610001864] Fehler im übergebenen

EDS-XML: Es wurde kein oder ein ungültiges Nutzdatenticket angegegeben, siehe

Schema-Definition des Nutzdaten-Headers

ERIC_TRANSFER_COM_ERROR [610101200] Allgemeiner Kommunikationsfehler.

ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT [610101201] Dieser Vorgang

wird von der aufgerufenen Funktion nicht unterstützt.

ERIC_TRANSFER_ERR_XML_THEADER [610101210] Fehler im Transferheader. Der

ELSTER-Annahmeserver hat einen Fehler zurückgemeldet. Bitte werten Sie die Serverantwort

aus.

ERIC_TRANSFER_ERR_PARAM [610101251] Es wurden ungültige Parameter übergeben.

ERIC_TRANSFER_ERR_DATENTEILNOTFOUND [610101252] Im XML-String konnte der

Text "<DatenTeil>" nicht gefunden werden.

ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND [610101253] Im XML-String

konnte der Text "</DatenTeil>" nicht gefunden werden.

Page 30: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

27

ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT [610101255] Im XML-String konnte

der Text "<DatenLieferant>" nicht gefunden werden.

ERIC_TRANSFER_ERR_ENDDATENLIEFERANT [610101256] Im XML-String konnte der

Text "</DatenLieferant>" nicht gefunden werden.

ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL [610101257] Im XML-String

konnte der Text "<TransportSchluessel>" nicht gefunden werden.

ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL [610101258] Im XML-String

konnte der Text "</TransportSchluessel>" nicht gefunden werden.

ERIC_TRANSFER_ERR_BEGINDATENGROESSE [610101259] Im XML-String konnte der

Text "<DatenGroesse>" nicht gefunden werden.

ERIC_TRANSFER_ERR_ENDDATENGROESSE [610101260] Im XML-String konnte der

Text "</DatenGroesse>" nicht gefunden werden.

ERIC_TRANSFER_ERR_SEND [610101271] Beim Datenaustausch ist ein Fehler aufgetreten.

ERIC_TRANSFER_ERR_NOTENCRYPTED [610101274] Die Antwortdaten waren nicht

PKCS#7-verschlüsselt.

ERIC_TRANSFER_ERR_PROXYCONNECT [610101276] Verbindung zum ProxyServer

konnte nicht aufgebaut werden.

ERIC_TRANSFER_ERR_CONNECTSERVER [610101278] Zu den Servern konnte keine

Verbindung aufgebaut werden.

ERIC_TRANSFER_ERR_NORESPONSE [610101279] Von der Clearingstelle konnte keine

Antwort empfangen werden.

ERIC_TRANSFER_ERR_PROXYAUTH [610101280] Der Proxyserver erwartet

Anmeldedaten.

ERIC_TRANSFER_ERR_SEND_INIT [610101282] Fehler bei der Initialisierung des

Versandsubsystems, Details stehen ggf. im Logfile (eric.log).

ERIC_TRANSFER_ERR_TIMEOUT [610101283] Bei der Kommunikation mit dem Server

kam es zu einer Zeitüberschreitung.

ERIC_TRANSFER_ERR_OTHER [610101291] Sonstiger, nicht definierter Fehler aufgetreten.

ERIC_TRANSFER_ERR_XML_NHEADER [610101292] Fehler im NutzdatenHeader. Der

ELSTER-Annahmeserver hat einen Fehler zurückgemeldet. Bitte werten Sie die Serverantwort

aus. Bei Sammeldaten sind alle Nutzdatenblöcke zu prüfen, um den fehlerhaften Datensatz

identifizieren zu können.

ERIC_TRANSFER_ERR_XML_ENCODING [610101293] Das XML liegt im falschen

Encoding vor.

ERIC_TRANSFER_ERR_ENDSIGUSER [610101294] Im XML-String konnte der Text

"</SigUser>" nicht gefunden werden.

ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN [610101295] Im XML-String

konnte ein Tag nicht gefunden werden.

ERIC_TRANSFER_ERR_HERSTELLERID_UNGUELTIG [610101296] Hersteller ID im

Transferheader keine 5 stellige Zahl.

ERIC_CRYPT_ERROR_CREATE_KEY [610201016] Fehler bei der Schlüsselerzeugung.

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT [610201203] Das Format der

PSE wird nicht unterstützt.

ERIC_CRYPT_E_INVALID_HANDLE [610201101] eSigner: Ungültiges Token Handle.

Page 31: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

28

ERIC_CRYPT_E_MAX_SESSION [610201102] eSigner: Zu viele Sessions geöffnet.

ERIC_CRYPT_E_BUSY [610201103] eSigner: Überlastung.

ERIC_CRYPT_E_OUT_OF_MEM [610201104] eSigner: Speicherzuordnungsfehler.

ERIC_CRYPT_E_PSE_PATH [610201105] eSigner: Ungültiger PSE Pfad.

ERIC_CRYPT_E_PIN_WRONG [610201106] eSigner: Falsche PIN.

ERIC_CRYPT_E_PIN_LOCKED [610201107] eSigner: PIN gesperrt.

ERIC_CRYPT_E_P7_READ [610201108] eSigner: Fehler beim Lesen des PKCS#7-Objekts.

ERIC_CRYPT_E_P7_DECODE [610201109] eSigner: Fehler beim PKCS#7 Dekodieren.

ERIC_CRYPT_E_P7_RECIPIENT [610201110] eSigner: Entschlüsselungszertifikat nicht in

Empfängerliste enthalten.

ERIC_CRYPT_E_P12_READ [610201111] eSigner: Fehler beim Lesen des PKCS#12-Objekts.

ERIC_CRYPT_E_P12_DECODE [610201112] eSigner: Fehler beim Dekodieren des

PKCS#12-Objekts.

ERIC_CRYPT_E_P12_SIG_KEY [610201113] eSigner: Fehler beim Zugriff auf

Soft-PSE-Signaturschlüssel.

ERIC_CRYPT_E_P12_ENC_KEY [610201114] eSigner: Fehler beim Zugriff auf Soft-PSE

Entschlüsselungsschlüssel.

ERIC_CRYPT_E_P11_SIG_KEY [610201115] eSigner: Fehler beim Zugriff auf Hard-Token

Signaturschlüssel.

ERIC_CRYPT_E_P11_ENC_KEY [610201116] eSigner: Fehler beim Zugriff auf Hard-Token

Entschlüsselungsschlüssel.

ERIC_CRYPT_E_XML_PARSE [610201117] eSigner: Fehler beim Parsen der

XML-Eingabedatei.

ERIC_CRYPT_E_XML_SIG_ADD [610201118] eSigner: Fehler beim Erzeugen des

XML-Signaturasts.

ERIC_CRYPT_E_XML_SIG_TAG [610201119] eSigner: XML-Signaturtag nicht vorhanden.

ERIC_CRYPT_E_XML_SIG_SIGN [610201120] eSigner: Fehler bei XML-Signaturerzeugung.

ERIC_CRYPT_E_ENCODE_UNKNOWN [610201121] eSigner: Parameter-Fehler,

unbekanntes Encoding.

ERIC_CRYPT_E_ENCODE_ERROR [610201122] eSigner: Encoding-Fehler.

ERIC_CRYPT_E_XML_INIT [610201123] eSigner: XML Initialisierungsfehler.

ERIC_CRYPT_E_ENCRYPT [610201124] eSigner: Fehler beim Verschlüsseln.

ERIC_CRYPT_E_DECRYPT [610201125] eSigner: Fehler beim Entschlüsseln.

ERIC_CRYPT_E_P11_SLOT_EMPTY [610201126] eSigner: Leere Slotliste, d.h. keine Karte

gesteckt (PKCS#11).

ERIC_CRYPT_E_NO_SIG_ENC_KEY [610201127] eSigner: Keine

Signatur-/Verschlüsselungs-Zertifikate/-Schlüssel (PKCS#11).

ERIC_CRYPT_E_INTERN [610201208] Interner Fehler aufgetreten! Details stehen ggf. im

Logfile (eric.log).

ERIC_CRYPT_ZERTIFIKAT [610201200] Fehler beim Zugriff auf Zertifikat.

ERIC_CRYPT_SIGNATUR [610201201] Fehler bei Signaturerzeugung.

ERIC_CRYPT_PSE_PFAD [610201202] Ungültiger PSE-Pfad.

Page 32: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

29

ERIC_CRYPT_PIN_BENOETIGT [610201205] Für die ausgewählte Operation muss eine PIN

angegeben werden.

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND [610201206] Die gewünschte PIN

ist nicht sicher genug (z.B. zu kurz).

ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS [610201209] Der angegebene

Zertifikatspfad ist kein Verzeichnis.

ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS [610201210] Im angegebenen

Verzeichnis existiert bereits ein Bestandteil eines ERiC-Zertifikats.

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN [610201211] Die gewünschte

PIN enthält ungültige Zeichen (z.B. Umlaute).

ERIC_CRYPT_E_INVALID_PARAM_ABC [610201212] eSigner: Der Abrufcode besitzt eine

falsche Struktur oder enthält ungültige Zeichen.

ERIC_IO_FEHLER [610301001] Verarbeitung fehlerhaft, keine genaueren Informationen

vorhanden.

ERIC_IO_DATEI_INKORREKT [610301005] Der Dateiaufbau ist nicht korrekt.

ERIC_IO_PARSE_FEHLER [610301006] Fehler beim Parsen der Eingabedaten, Details

stehen ggf. im Logfile (eric.log).

ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN [610301007] Die Generierung des

Nutzdatensatzes ist fehlgeschlagen.

ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR [610301010] Interner

Fehler, der Masterdatenservice ist nicht verfügbar.

ERIC_IO_STEUERZEICHEN_IM_NDS [610301014] Es wurden ungültige Steuerzeichen im

Nutzdatensatz gefunden.

ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN [610301031] Die

Versionsinformationen der ERiC-Bibliotheken konnten nicht ausgelesen werden.

ERIC_IO_FALSCHES_VERFAHREN [610301104] Der Wert im Transferheader-Element

"Verfahren" wird vom verwendeten Reader nicht unterstützt.

ERIC_IO_READER_MEHRFACHE_STEUERFAELLE [610301105] Es wurde mehr als ein

Steuerfall in der Eingabedatei gefunden.

ERIC_IO_READER_UNERWARTETE_ELEMENTE [610301106] Es wurden unerwartete

Elemente in der Eingabedatei gefunden, Details stehen ggf. im Logfile (eric.log).

ERIC_IO_READER_FORMALE_FEHLER [610301107] Es wurden formale Fehler in der

Eingabedatei gefunden, Details stehen ggf. im Logfile (eric.log).

ERIC_IO_READER_FALSCHES_ENCODING [610301108] Die Eingabedaten lagen nicht im

Encoding ISO-8859-15 vor, oder es war kein Encoding spezifiziert.

ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE [610301109] Es wurde

mehr als ein "Nutzdaten"-Element in der Eingabedatei gefunden.

ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE [610301110] Es

wurde mehr als ein Nutzdatenblock in der Eingabedatei gefunden.

ERIC_IO_UNBEKANNTE_DATENART [610301111] Der Wert im Transferheader-Element

"Datenart" wird vom verwendeten Reader nicht unterstützt.

ERIC_IO_READER_FEHLENDER_NUTZDATENHEADER [610301112] Es wurde kein

Nutzdatenheader im Datenteil gefunden.

Page 33: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

30

ERIC_IO_READER_NUTZDATENHEADER_NICHT_UNTERSTUETZTE_VERSION [610301113] Die Version des Nutzdatenheaders wird nicht unterstützt.

ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG [610301114] Ungültiger oder

fehlender Wert für den Untersachbereich.

ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE [610301115] Es

wurden zu viele Nutzdatenblöcke in der Eingabedatei gefunden.

ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER [610301150] Es

wurden ungültige Steuerzeichen im TransferHeader-Element gefunden.

ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER [610301151] Es

wurden ungültige Steuerzeichen im NutzdatenHeader-Element gefunden.

ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN [610301152] Es wurden

ungültige Steuerzeichen im Nutzdaten-Element gefunden.

ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER [610301200] Es traten Fehler

beim Validieren des XML auf.

ERIC_IO_READER_UNBEKANNTE_XML_ENTITY [610301201] Eine XML-Entity konnte

nicht aufgelöst werden.

ERIC_IO_DATENTEILNOTFOUND [610301252] Im XML-String konnte der Text

"<DatenTeil>" nicht gefunden werden.

ERIC_IO_DATENTEILENDNOTFOUND [610301253] Im XML-String konnte der Text

"</DatenTeil>" nicht gefunden werden.

ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT [610301300] Falsche

Übergabeparameter für die Funktion.

ERIC_PRINT_INTERNER_FEHLER [610501001] Verarbeitung fehlerhaft, keine genaueren

Informationen vorhanden.

ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN [610501002] Keine Druckvorlage

für die angegebene Kombination aus Unterfallart und Veranlagungszeitraum gefunden. Bitte

prüfen Sie die installierten Druckvorlagen.

ERIC_PRINT_UNGUELTIGER_DATEI_PFAD [610501004] Es wurde ein falscher Dateipfad

angegeben oder es fehlen Zugriffsrechte.

ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT [610501007] ERiCPrint wurde nicht

richtig initialisiert. Eventuell wurde ERiC nicht richtig initialisiert?

ERIC_PRINT_AUSGABEZIEL_UNBEKANNT [610501008] Das zu verwendende Format

bzw. der Zielklient sind nicht bekannt.

ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG [610501009] Der Beginn des

Ausdruckprozesses schlug fehl. Eventuell konnten notwendige Ressourcen nicht allokiert werden.

ERIC_PRINT_ABBRUCH_GENERIERUNG [610501010] Während der Ausgabe der Inhalte

ist ein Fehler aufgetreten.

ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT [610501011] Die Kombination

aus Unterfallart und Veranlagungszeitraum wird nicht unterstützt.

ERIC_PRINT_FUSSTEXT_ZU_LANG [610501012] Der übergebene Fußtext ist zu lang.

Definiert in Zeile 12 der Datei eric_fehlercodes.h.

Page 34: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

31

eric_types.h-Dateireferenz

Einfache Aufzaehlungstypen und Strukturen. #include "platform.h" Include-Abhängigkeitsdiagramm für eric_types.h:

Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Datenstrukturen

struct eric_druck_parameter_t

Diese Struktur enhält alle für den Druck notwendigen Informationen. struct eric_verschluesselungs_parameter_t

Für die Signatur oder Authentifizierung benötigte Informationen. struct eric_zertifikat_parameter_t

Struktur mit Informationen zur Erzeugung von Zertifikaten mit EricCreateKey. Typdefinitionen

typedef uint32_t EricZertifikatHandle

Integer-Typ fuer Zertifikat-Handles.

typedef uint32_t EricTransferHandle

Ein der EricBearbeiteVorgang bei dem Anwendungsfall "Datenabholung" zu übergebenes Transferhandle. Es

ist vom Aufrufer zu initialisieren und wird der EricBearbeiteVorgang als Pointer übergeben. Es wird verwendet

um bei der Datenabholung mehrere Versandvorgänge zu bündeln. Dabei ist das Handle für den ersten Vorgang

"Anfrage" mit dem Wert 0 zu intialisieren bevor EricBearbeiteVorgang aufgerufen wird. Das von

EricBearbeiteVorgang zurückgegebene Handle ist dann bei allen Folgevorgängen derselben Datenabholung

unverändert wieder zu übergeben. Wird bei einer Datenabholung NULL oder ein Zeiger auf ungültiges Handle

übergeben, gibt die EricBearbeiteVorgang den Fehlercode ERIC_GLOBAL_TRANSFERHANDLE zurück. Bei

allen Verfahren außer der Datenabholung sollte das Transferhandle beim Aufruf der EricBearbeiteVorgang

NULL sein. Wird bei solchen Verfahren ein Handle übergeben, so wird dieses ignoriert.

typedef struct eric_puffer_t * EricRueckgabepufferHandle

Handle zur Verwaltung und Verwendung von Rückgabepuffern.

Page 35: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

32

Aufzählungen

enum eric_bearbeitung_flag_t { ERIC_VALIDIERE = 1L << 1, ERIC_SEND_NO_SIG = 1L << 2,

ERIC_SEND_AUTH = 1L << 4, ERIC_PRINT_PDF = 1L << 5, ERIC_SEND_AUTH_PART = 1L << 6 }

Aufzaehlungstypen und Strukturen.

Ausführliche Beschreibung

Einfache Aufzaehlungstypen und Strukturen.

Definiert in Datei eric_types.h.

Dokumentation der benutzerdefinierten Typen

typedef struct eric_puffer_t* EricRueckgabepufferHandle

Handle zur Verwaltung und Verwendung von Rückgabepuffern.

Viele ERiC API-Funktionen geben Informationen an ihren Aufrufer zurück, indem sie Daten in

sogenannte Rückgabepuffer schreiben. Solche Rückgabepuffer müssen mit

EricRueckgabepufferErzeugen() angelegt werden. Das bei dieser Erzeugung generierte Puffer-Handle

wird vom Aufrufer an die API-Funktion übergeben, die den Puffer leert bevor sie dann in den Puffer

schreibt. Ein einmal generiertes Puffer-Handle kann damit auch für mehrere aufeinanderfolgende

Aufrufe von ERiC-API Funktionen wiederverwendet werden. Mittels EricRueckgabepufferLaenge()

kann danach die Anzahl der in den Puffer geschriebenen Bytes ermittelt werden. Mit

EricRueckgabepufferInhalt() kann der Pufferinhalt als null-terminiertes Character-Array abgefragt

werden. Jeder Rückgabepuffer muss nach seiner Verwendung mit EricRueckgabepufferFreigeben()

wieder freigegeben werden.

Die Struktur eric_puffer_t kapselt die Rückgabepuffer-Implementierung. Anwender der ERiC API

verwenden ausschließlich Zeiger auf Instanzen dieser Struktur und müssen daher deren Felder nicht

kennen.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Rückgabepuffer der ERiC Programmierschnittstelle"

Definiert in Zeile 114 der Datei eric_types.h.

typedef uint32_t EricTransferHandle

Ein der EricBearbeiteVorgang bei dem Anwendungsfall "Datenabholung" zu übergebenes Transferhandle. Es ist

vom Aufrufer zu initialisieren und wird der EricBearbeiteVorgang als Pointer übergeben. Es wird verwendet um

bei der Datenabholung mehrere Versandvorgänge zu bündeln. Dabei ist das Handle für den ersten Vorgang

"Anfrage" mit dem Wert 0 zu intialisieren bevor EricBearbeiteVorgang aufgerufen wird. Das von

EricBearbeiteVorgang zurückgegebene Handle ist dann bei allen Folgevorgängen derselben Datenabholung

unverändert wieder zu übergeben. Wird bei einer Datenabholung NULL oder ein Zeiger auf ungültiges Handle

übergeben, gibt die EricBearbeiteVorgang den Fehlercode ERIC_GLOBAL_TRANSFERHANDLE zurück. Bei

allen Verfahren außer der Datenabholung sollte das Transferhandle beim Aufruf der EricBearbeiteVorgang

NULL sein. Wird bei solchen Verfahren ein Handle übergeben, so wird dieses ignoriert.

Definiert in Zeile 37 der Datei eric_types.h.

Page 36: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

33

typedef uint32_t EricZertifikatHandle

Integer-Typ fuer Zertifikat-Handles.

Definiert in Zeile 17 der Datei eric_types.h.

Dokumentation der Aufzählungstypen

enum eric_bearbeitung_flag_t

Aufzaehlungstypen und Strukturen.

Vorgangs-Bearbeitungsflags.

Über diese Flags werden die Aktionen festgelegt, die von ERiC ausgeführt werden sollen.

Aufzählungswerte

ERIC_VALIDIERE Datensatz soll plausibilisert werden.

ERIC_SEND_NO_SIG Nicht-Signierter Versand an die ELSTER Server.

Zu beachten:

Nicht gemeinsam angebbar mit ERIC_SEND_AUTH oder ERIC_SEND_AUTH_PART

ERIC_SEND_AUTH Authentifizierter Versand an die ELSTER Server.

Zu beachten:

Nicht gemeinsam angebbar mit ERIC_SEND_NO_SIG oder ERIC_SEND_AUTH_PART

ERIC_PRINT_PDF Druck des Datensatzes.

ERIC_SEND_AUTH_PART Authentifizierter Versand an die ELSTER Server der partiell

verarbeitet wird, d.h. wenn bei Sammellieferungen ein Fehler enthalten ist, wird nicht die gesamte

Datenlieferung abgelehnt, sondern nur der fehlerhafte Teil.

Zu beachten:

Nicht gemeinsam angebbar mit ERIC_SEND_NO_SIG oder ERIC_SEND_AUTH

Definiert in Zeile 51 der Datei eric_types.h.

Page 37: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

34

ericapi.h-Dateireferenz

Deklaration der ERiC API-Funktionen. #include "platform.h" #include "ericapiExport.h" #include "ericdef_gui.h" #include "eric_types.h" #include "ericdef.h" Include-Abhängigkeitsdiagramm für ericapi.h:

Funktionen

ERICAPI_DECL int EricBearbeiteVorgang (const char *datenpuffer, uint32_t bearbeitungsFlags, const

eric_druck_parameter_t *druckParameter, const eric_verschluesselungs_parameter_t *cryptoParameter,

EricTransferHandle *transferHandle, EricRueckgabepufferHandle rueckgabeXmlPuffer,

EricRueckgabepufferHandle serverantwortXmlPuffer)

ERICAPI_DECL int EricDekodiere (const eric_verschluesselungs_parameter_t *verschluesselungsParameter,

const char *eingabe, const char *verfahren, EricRueckgabepufferHandle rueckgabePuffer)

Die Funktion dekodiert ein verschlüsseltes XML, das im Speicher übergeben wird.

ERICAPI_DECL int EricDialogRegisterCloseProgressDialog (T_GUI_EricCloseProgressDialog

callBackFunctionPtr)

Registrierung einer Callback Funktion für das Schließen eines Fortschrittsdialoges.

ERICAPI_DECL int EricDialogRegisterInitProgressDialog (T_GUI_EricInitProgressDialog

callBackFunctionPtr)

Registrierung einer Callback Funktion für den initialen Aufruf eines Fortschrittsdialoges.

ERICAPI_DECL int EricDialogRegisterMessageDialog (T_GUI_EricMessageDialog callBackFunctionPtr)

Registrierung einer Callback Funktion für die Ausgabe einer Message.

ERICAPI_DECL int EricDialogRegisterUpdateProgressDialog (T_GUI_EricUpdateProgressDialog

callBackFunctionPtr)

Registrierung einer Callback Funktion für den aktualisierten Aufruf eines Fortschrittsdialoges.

ERICAPI_DECL int EricDialogUnregisterCloseProgressDialog (void)

Entfernt die registrierte Callback-Funktion für für das Schließen eines Fortschrittsdialoges.

ERICAPI_DECL int EricDialogUnregisterInitProgressDialog (void)

Entfernt die registrierte Callback-Funktion für den initialen Aufruf eines Fortschrittsdialoges.

Page 38: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

35

ERICAPI_DECL int EricDialogUnregisterMessageDialog (void)

Entfernt die registrierte Callback-Funktion für die Message.

ERICAPI_DECL int EricDialogUnregisterUpdateProgressDialog (void)

Entfernt die registrierte Callback-Funktion für den aktualisierten Aufruf eines Fortschrittsdialoges.

ERICAPI_DECL int EricEinstellungAlleZuruecksetzen (void)

Setze alle Einstellungen auf den jeweiligen Standardwert zurück.

ERICAPI_DECL int EricEinstellungLesen (const char *name, EricRueckgabepufferHandle rueckgabePuffer)

Lese den Wert einer Einstellung.

ERICAPI_DECL int EricEinstellungSetzen (const char *name, const char *wert)

Setze den Wert einer Einstellung.

ERICAPI_DECL int EricEinstellungZuruecksetzen (const char *name)

Setze den Wert einer Einstellung auf den Standardwert zurück.

ERICAPI_DECL int EricFormatIdentifikationsMerkmal (const char *steuerIdOrig, EricRueckgabepufferHandle

rueckgabePuffer)

Formatiert eine SteuerId.

ERICAPI_DECL int EricFormatStNr (const char *eingabeSteuernummer, EricRueckgabepufferHandle

rueckgabePuffer)

Formatiert eine Steuernummer.

ERICAPI_DECL int EricGetAuswahlListen (const char *ufa, const char *vz, const char *feldkennung,

EricRueckgabepufferHandle rueckgabeXmlPuffer)

Liefert die Auswahlliste(n) für ufa / vz oder feldkennung zurück.

ERICAPI_DECL int EricHoleFinanzaemter (const char *finanzamtLandNummer, EricRueckgabepufferHandle

rueckgabeXmlPuffer)

Gibt die Finanzamtliste für eine bestimmte Finanzamtlandnummer zurück.

ERICAPI_DECL int EricHoleFinanzamtLandNummern (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Gibt die Finanzamtlandliste zurück.

ERICAPI_DECL int EricHoleTestfinanzaemter (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Gibt die Testfinanzamtliste zurück.

ERICAPI_DECL int EricHoleFinanzamtsdaten (const char bufaNr[5], Finanzamtsdaten *finanzamtsdaten)

Gibt zu einer Bundesfinanzamtsnummer die Finanzamtsdaten zurück. Die Bundesfinanzamtnummer bekommen

Sie zum Beispiel über die Kombination der Funktionen EricHoleFinanzamtLandNummern und

EricHoleFinanzaemter.

ERICAPI_DECL int EricHoleFinanzamtsdatenNeu (const char bufaNr[5], FinanzamtsdatenNeu

*finanzamtsdaten)

Gibt zu einer Bundesfinanzamtsnummer die FinanzamtsdatenNeu zurück. Die Bundesfinanzamtnummer

bekommen Sie zum Beispiel über die Kombination der Funktionen EricHoleFinanzamtLandNummern und

EricHoleFinanzaemter.

ERICAPI_DECL int EricHoleFehlerText (int fehlerkode, EricRueckgabepufferHandle rueckgabePuffer)

Klartextfehlermeldung zu Fehlercode ermitteln.

ERICAPI_DECL int EricHoleZertifikatFingerabdruck (const eric_verschluesselungs_parameter_t

*cryptoParameter, EricRueckgabepufferHandle fingerabdruckPuffer, EricRueckgabepufferHandle

signaturPuffer)

Hole für ein Zertifikat den Fingerabdruck und dessen Signatur.

ERICAPI_DECL int EricKonvertiereZertifikat (const char *pin, const char *pse)

Konvertiert einen RSAPEM Zertifikat-Container in eine p12-Datei mit dem privaten Schlüssel und eine

cer-Datei mit dem Zertifikat und dem darin enthaltenen öffentlichen Schlüssel. Nach einem erfolgreichen

Konvertieren werden diese Dateien in das übergebene, bereits existierende Verzeichnis geschrieben.

ERICAPI_DECL int EricPruefeBIC (const char *bic)

Prüfe, ob die BIC gültig ist.

Page 39: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

36

ERICAPI_DECL int EricPruefeIBAN (const char *iban)

Prüfe, ob die IBAN gültig ist.

ERICAPI_DECL int EricPruefeIdentifikationsMerkmal (const char *steuerId, EricRueckgabepufferHandle

fehlertextPuffer)

Prüft eine Steuer-Identifikationsnummer auf Gültigkeit.

ERICAPI_DECL int EricPruefeSteuernummer (const char *steuernummer, EricRueckgabepufferHandle

pruefzifferVorStnrUmstellungPuffer, EricRueckgabepufferHandle pruefzifferNachStnrUmstellungPuffer)

Steuernummer einschließlich Bundesfinanzamtsnummer auf formale Richtigkeit prüfen.

ERICAPI_DECL

EricRueckgabepufferHandle EricRueckgabepufferErzeugen ()

Erzeugt einen Rückgabepuffer und gibt ein Handle darauf zurück.

ERICAPI_DECL const char * EricRueckgabepufferInhalt (EricRueckgabepufferHandle handle)

Gibt den Inhalt eines Rückgabepuffers zurück.

ERICAPI_DECL uint32_t EricRueckgabepufferLaenge (EricRueckgabepufferHandle handle)

Gibt die Länge des Inhalts eines Rückgabepuffers zurück.

ERICAPI_DECL int EricRueckgabepufferFreigeben (EricRueckgabepufferHandle handle)

Gibt einen Rückgabepuffer wieder frei.

Ausführliche Beschreibung

Deklaration der ERiC API-Funktionen.

Definiert in Datei ericapi.h.

Dokumentation der Funktionen

ERICAPI_DECL int EricBearbeiteVorgang (const char * datenpuffer, uint32_t bearbeitungsFlags, const eric_druck_parameter_t * druckParameter, const eric_verschluesselungs_parameter_t * cryptoParameter, EricTransferHandle * transferHandle, EricRueckgabepufferHandle rueckgabeXmlPuffer, EricRueckgabepufferHandle serverantwortXmlPuffer)

Zentrale Schnittstellenfunktion zur Kommunikation mit dem ELSTER-Annahmeserver. Als

Austauschformat wird XML verwendet. Siehe dazu das Kapitel "Verarbeitung vonXML-Daten mit

EricBearbeiteVorgang()" im Entwicklerhandbuch. Dort sind auch die möglichen Anwendungsfälle

beschrieben. Darunter fällt das elektronische Übertragen von Steuerdaten, die Rechteverwaltung und

das Abholen von steuerrelevanten Daten.

Die Funktion kann Steuerdaten plausibilisieren, an den ELSTER-Annahmeserver übertragen und

ausdrucken, sowie Protokolle der Übertragung erzeugen. Die Bearbeitungsflags im Parameter

bearbeitungsFlags definieren, welche der Schritte wie ausgeführt werden.

Je nach Anwendungsfall sollten die Daten authentifiziert übertragen werden, oder sollte ein Druck der

Daten stattfinden. Die Anwendungsfälle sind im Entwicklerhandbuch beschrieben. In diesen Fällen

sind die Parameter cryptoParameter und druckParameter richtig zu befüllen.

Sind für einen Anwendungsfall mehrere voneinander abhängige Aufrufe der EricBearbeiteVorgang

nötig, so ist der Parameter transferHandle zu übergeben. Dies ist derzeit nur für die

Datenabholung der Fall.

Es werden an bestimmten Punkten der Verarbeitung benutzerdefinierte Callback Funktionen

aufgerufen. Siehe hierzu UI-Callbacks.

Page 40: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

37

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Parameter:

in datenpuffer Enthält die zu verarbeitenden XML-Daten.

in bearbeitungsFlags Oder-Verknüpfung von Bearbeitungsvorgaben. Anhand dieser

Vorgaben werden die übergebenen Daten verarbeitet. Zu gültigen

Werten siehe eric_bearbeitung_flag_t. Bei welchen

Anwendungsfällen welche Flags möglich oder notwendig sind ist

im Entwicklerhandbuch in den Abschnitten zu den jeweiligen

Verfahren und Datenarten nachzulesen.

in druckParameter Parameter, die für den PDF-Druck benötigt werden (siehe

eric_druck_parameter_t). Bei welchen Anwendungsfällen welche

Druckparameter möglich oder notwendig sind ist im

Entwicklerhandbuch in den Abschnitten zu den jeweiligen

Verfahren und Datenarten nachzulesen.

in cryptoParameter Enhält die für den authentifizierten Versand benötigten

Informationen und darf nur dann übergeben werden. Erfolgt kein

authentifizierter Versand, so ist NULL zu übergeben. Siehe

eric_verschluesselungs_parameter_t.

in,out transferHandle Bei der Datenabholung ist einen Zeiger auf ein vom Aufrufer

verwaltetes und anfangs mit 0 befülltes Transferhandle zu

übergeben über das die zusammenhängende Versandvorgänge einer

Datenabholung gebündelt werden (Bündelung der Versandvorgänge

"Anforderung", "Abholung" und (optional) "Quittierung"). Bei

anderen Anwendungsfällen ist hier NULL zu übergeben. Siehe

EricTransferHandle.

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den beim Versand

Telenummer und Ordnungsbegriff oder Fehler bei der Regelprüfung

geschrieben werden. Siehe Inhalt des Rückgabepuffers und des

Serverantwortpuffers und EricRueckgabepufferHandle.

out serverantwortXmlP

uffer

Handle auf einen Rückgabepuffer, in den beim Versand die

Antwort des Empfangsservers geschrieben wird. Siehe Inhalt des

Rückgabepuffers und des Serverantwortpuffers und

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PRUEF_FEHLER Plausibilitätsfehler in den Eingabedaten, die Fehlermeldungen

werden im Rückgabepuffer rueckgabeXmlPuffer zurückgegeben. Siehe Abschnit

Plausibilitätsfehler.

ERIC_TRANSFER_ERR_XML_THEADER, ERIC_TRANSFER_ERR_XML_NHEADER Die

Serverantwort enthält Fehlermeldungen. Zur Auswertung kann entweder die Serverantwort selbst

ausgewertet werden oder Sie verwenden EricGetErrormessagesFromXMLAnswer .

ERIC_GLOBAL_EINGANGSDATENSATZ_ZU_GROSS Die maximal zulässige Größe des

XML-Eingangsdatensatzes, siehe ERiC-Entwicklerhandbuch.pdf Kap. "Größenbegrenzung der

Eingangsdaten", ist überschritten.

ERIC_GLOBAL_DATENSATZ_ZU_GROSS Die maximal zulässige Größe des zu übermittelnden,

komprimierten, verschlüsselten und base64-kodierten Datenteils, siehe ERiC-Entwicklerhandbuch.pdf

Kap. "Größenbegrenzung der Eingangsdaten", ist überschritten.

weitere, siehe eric_fehlercodes.h

Page 41: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

38

Inhalt des Rückgabepuffers und des Serverantwortpuffers

Der Inhalt der Pufferspeicher kann mit EricRueckgabepufferInhalt abgefragt und ausgewertet werden.

rueckgabeXmlPuffer gibt im Erfolgsfall oder bei Plausibilitätsfehler XML-Daten nach Schema

API-Rueckgabe-Schemata/EricBearbeiteVorgang.xsd im common-Paket zurück.

serverantwortXmlPuffer gibt bei Sendevorgängen die Antwort des ELSTER-

Annahmeservers zurück.

Nach dem Aufruf der Funktion müssen programmatisch folgende Fälle aufgrund des Rückgabewerts

unterschieden werden.

Erfolgsfall

Sind alle Bearbeitungsschritte fehlerfrei durchlaufen worden, dann ist der Rückgabewert ERIC_OK

und der Text im Pufferspeicher rueckgabeXmlPuffer enthält beim Versand XML-Daten mit

generierter Telenummer und bei Neuaufnahmen den Ordnungsbegriff. Beispiel:

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricBearbeiteVorgang xmlns="http://www.elster.de/EricXML/1.0/EricBearbeiteVorgang"

<Erfolg>

<Telenummer>N55</Telenummer>

</Erfolg>

</EricBearbeiteVorgang>

Beim Versand befindet sich zusätzlich im Pufferspeicher serverantwortXmlPuffer die

Antwort des ELSTER-Annahmeservers. Bei einer Datenabholung kann diese ausgewertet werden.

Details hierzu befinden sich im Entwicklerhandbuch.

Plausibilitätsfehler

Bei fehlgeschlagener Plausibilitätsprüfung ist der Rückgabewert ERIC_GLOBAL_PRUEF_FEHLER,

und die Fehler werden im Rückgabepuffer als XML-Daten zurückgeliefert. Beispiel:

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricBearbeiteVorgang xmlns="http://www.elster.de/EricXML/1.0/EricBearbeiteVorgang"

<FehlerRegelpruefung>

<Nutzdatenticket>1075</Nutzdatenticket>

<Feldidentifikator>100001</Feldidentifikator>

<Mehrfachzeilenindex>1</Mehrfachzeilenindex>

<LfdNrVordruck>1</LfdNrVordruck>

<Untersachbereich>5</Untersachbereich>

<RegelName>testRegelName</RegelName>

<FachlicheFehlerId>9995</FachlicheFehlerId>

<Text>Beim Ankreuzfeld muss der Wert 'X' angegeben werden.</Text>

</FehlerRegelpruefung>

</EricBearbeiteVorgang>

Die einzelnen Elemente sind in der Schemadefinition

API-Rueckgabe-Schemata/EricBearbeiteVorgang.xsd im common-Paket dokumentiert.

Fehler in der Serverantwort

Ist der Rückgabewert ERIC_TRANSFER_ERR_XML_THEADER oder

ERIC_TRANSFER_ERR_XML_NHEADER so enthält der Serverantwortpuffer Fehlermeldungen.

Zur Auswertung kann entweder die Serverantwort selbst ausgewertet werden oder Sie verwenden

EricGetErrormessagesFromXMLAnswer.

Page 42: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

39

Sonstige Fehler

Bei sonstigen Fehlern ist der Inhalt der Rückgabepuffer undefiniert. Um nähere Informationen über

die Fehlerursache herauszufinden können Sie EricHoleFehlerText mit dem Rückgabewert aufrufen.

UI-Callbacks

Während der Verarbeitung eines Anwendungsfalls werden die durch die Funktionen

EricDialogUnregisterInitProgressDialog, EricDialogRegisterUpdateProgressDialog,

EricDialogRegisterCloseProgressDialog registrierten Callbacks wie folgt aufgerufen:

Vor und nach der Plausibilisierung eines jeden Steuerfalles mit der Anzahl der bereits plausibilisierten

Steuerfälle.

Während des Versands mit dem Prozentanteil der bereits versendeten Daten

Vor und nach der Erstellung des PDF-Dokuments zu einem Steuerfall mit der Anzahl der bereits erstellten

PDF-Dokumente.

Während der Erstellung des PDF-Dokuments mit einem prozentualen Fertigstellungsanteil.

Siehe EricDialog-API-Funktionen.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kapitel "Anwendungsfälle von EricBearbeiteVorgang()"

ERiC-Entwicklerhandbuch.pdf, Kapitel der jeweiligen Datenart

ERiC-Entwicklerhandbuch.pdf, Kapitel Datenabholung

ERiC-Entwicklerhandbuch.pdf, Kapitel "Größenbegrenzung der Eingangsdaten"

EricHoleFehlerText()

EricGetErrormessagesFromXMLAnswer()

ERICAPI_DECL int EricDekodiere (const eric_verschluesselungs_parameter_t * verschluesselungsParameter, const char * eingabe, const char * verfahren, EricRueckgabepufferHandle rueckgabePuffer)

Die Funktion dekodiert ein verschlüsseltes XML, das im Speicher übergeben wird.

Die Dekodierung erfolgt in drei Schritten:

1. Base64-Dekodierung

2. Entschlüsselung

3. Dekomprimierung

Falls während der Bearbeitung ein Fehler auftritt, liefert die Funktion EricHoleFehlerText() den

zugehörigen Fehlertext.

Parameter:

in verschluesselungsP

arameter

Zeiger auf die Verschlüsselungsparameter.

in eingabe Das verschlüsselte XML, d.h., der zu dekodierende

Nutzdatenblockabschnitt, der mit <Nutzdatenblock> beginnt und

mit </Nutzdatenblock> endet. Die Encoding-Vorgabe für den zu

dekodierenden Nutzdatenblockabschnitt ist ISO-8859-15.

in verfahren Das Verfahren ist im Transferheader des Elster-XML angegeben.

Page 43: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

40

Gültige Verfahren: ElsterDatenabholung, ElsterLohn

out rueckgabePuffer Handle auf einen Rückgabepuffer, in den das entschlüsselte XML

geschrieben wird. Im Fehlerfall ist der Inhalt des Rückgabepuffers

undefiniert. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER

ERIC_GLOBAL_VERFAHREN_NICHT_UNTERSTUETZT: Das angegebene Verfahren wird nicht

unterstützt.

ERIC_CRYPT_E_INVALID_HANDLE Der übergebene Handle ist ungültig.

ERIC_GLOBAL_ERR_DEKODIEREN: Im übergebenen Nutzdatenblock ist bei der Dekodierung ein

Fehler aufgetreten

ERIC_GLOBAL_CHECK_CORRUPTED_NDS: Im übergebenen Nutzdatenblock fehlen zu

dekodierende Elemente

ERIC_GLOBAL_UNKNOWN: Das Dekodieren konnte nicht durchgeführt werden

Siehe auch:

EricHoleFehlerText()

ERiC-Entwicklerhandbuch.pdf Kap. "Datenabholung"

ERICAPI_DECL int EricDialogRegisterCloseProgressDialog (T_GUI_EricCloseProgressDialog callBackFunctionPtr)

Registrierung einer Callback Funktion für das Schließen eines Fortschrittsdialoges.

Parameter:

in callBackFunctionPt

r

Funktionszeiger der für Callback Funktionalität registriert werden

soll.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: callBackFunctionPtr ist NULL

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogRegisterInitProgressDialog (T_GUI_EricInitProgressDialog callBackFunctionPtr)

Registrierung einer Callback Funktion für den initialen Aufruf eines Fortschrittsdialoges.

Parameter:

in callBackFunctionPt

r

Funktionszeiger der für Callback Funktionalität registriert werden

soll.

Page 44: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

41

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: callBackFunctionPtr ist NULL

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogRegisterMessageDialog (T_GUI_EricMessageDialog callBackFunctionPtr)

Registrierung einer Callback Funktion für die Ausgabe einer Message.

Parameter:

in callBackFunctionPt

r

Funktionszeiger der für Callback Funktionalität registriert werden

soll.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: callBackFunctionPtr ist NULL

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogRegisterUpdateProgressDialog (T_GUI_EricUpdateProgressDialog callBackFunctionPtr)

Registrierung einer Callback Funktion für den aktualisierten Aufruf eines Fortschrittsdialoges.

Parameter:

in callBackFunctionPt

r

Funktionszeiger der für Callback Funktionalität registriert werden

soll.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: callBackFunctionPtr ist NULL

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogUnregisterCloseProgressDialog (void )

Entfernt die registrierte Callback-Funktion für für das Schließen eines Fortschrittsdialoges.

Page 45: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

42

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogUnregisterInitProgressDialog (void )

Entfernt die registrierte Callback-Funktion für den initialen Aufruf eines Fortschrittsdialoges.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogUnregisterMessageDialog (void )

Entfernt die registrierte Callback-Funktion für die Message.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricDialogUnregisterUpdateProgressDialog (void )

Entfernt die registrierte Callback-Funktion für den aktualisierten Aufruf eines Fortschrittsdialoges.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

ERICAPI_DECL int EricEinstellungAlleZuruecksetzen (void )

Setze alle Einstellungen auf den jeweiligen Standardwert zurück.

Page 46: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

43

Die Standardwerte sind im Dokument ERiC-Entwicklerhandbuch.pdf, Kap. "Vorbelegung der

ERiC-Einstellungen" zu finden.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNKNOWN

Siehe auch:

EricEinstellungSetzen()

EricEinstellungLesen()

EricEinstellungZuruecksetzen()

ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der ERiC-Einstellungen"

ERICAPI_DECL int EricEinstellungLesen (const char * name, EricRueckgabepufferHandle rueckgabePuffer)

Lese den Wert einer Einstellung.

Liefert den Wert einer Einstellung, falls der Name gültig ist.

Parameter:

in name Name der Einstellung, null-terminierte Zeichenfolge.

out rueckgabePuffer Handle auf einen Rückgabepuffer, in den der Wert der Einstellung

geschrieben wird. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UNKNOWN

Siehe auch:

EricEinstellungSetzen()

EricEinstellungZuruecksetzen()

EricEinstellungAlleZuruecksetzen()

ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der ERiC-Einstellungen"

ERICAPI_DECL int EricEinstellungSetzen (const char * name, const char * wert)

Setze den Wert einer Einstellung.

Nach dem Laden der ERiC-Bibliotheken hat jede API-Einstellung ihren Standardwert. Mit dieser

Funktion kann der Wert verändert werden. Der Wertebereich der jeweiligen API-Einstellung ist zu

beachten.

Parameter:

in name Name der Einstellung, null-terminierte Zeichenfolge.

in wert Wert der Einstellung, null-terminierte Zeichenfolge.

Rückgabe:

ERIC_OK

Page 47: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

44

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG

ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UNKNOWN

Siehe auch:

EricEinstellungLesen()

EricEinstellungZuruecksetzen()

EricEinstellungAlleZuruecksetzen()

ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der ERiC-Einstellungen"

ERICAPI_DECL int EricEinstellungZuruecksetzen (const char * name)

Setze den Wert einer Einstellung auf den Standardwert zurück.

Diese Funktion setzt für die Einstellung name den Standardwert. Die Standardwerte sind im

Dokument ERiC-Entwicklerhandbuch.pdf, Kap. "Vorbelegung der ERiC-Einstellungen" zu finden.

Parameter:

in name Name der Einstellung, null-terminierte Zeichenfolge.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UNKNOWN

Siehe auch:

EricEinstellungSetzen()

EricEinstellungLesen()

EricEinstellungAlleZuruecksetzen()

ERiC-Entwicklerhandbuch.pdf, Kap. "Bedeutung der ERiC-Einstellungen"

ERICAPI_DECL int EricFormatIdentifikationsMerkmal (const char * steuerIdOrig, EricRueckgabepufferHandle rueckgabePuffer)

Formatiert eine SteuerId.

Beispielsweise wird aus der steuerIdOrig="55492670836" die formatierte SteuerId "55/492/670/836"

erzeugt.

Parameter:

in steuerIdOrig Die aufzubereitende SteuerId.

out rueckgabePuffer Handle auf einen Rückgabepuffer, in den die formatierte SteuerId

geschrieben wird. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UNKNOWN

Page 48: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

45

ERICAPI_DECL int EricFormatStNr (const char * eingabeSteuernummer, EricRueckgabepufferHandle rueckgabePuffer)

Formatiert eine Steuernummer.

Parameter:

in eingabeSteuernum

mer

Gültige, zu formatierende Steuernummer im

ELSTER-Steuernummernformat.

out rueckgabePuffer Handle auf einen Rückgabepuffer, in den die formatierte

Steuernummer geschrieben wird. Zur Erzeugung, Verwendung und

Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERICAPI_DECL int EricGetAuswahlListen (const char * ufa, const char * vz, const char * feldkennung, EricRueckgabepufferHandle rueckgabeXmlPuffer)

Liefert die Auswahlliste(n) für ufa / vz oder feldkennung zurück.

Zwei Anwendungsfälle:

Parameter feldkennung ist nicht NULL: Die Funktion liefert die zur Feldkennung gehörige

Auswahlliste. (Variante 1)

Parameter feldkennung ist NULL: Die Funktion liefert alle zu ufa und vz gehörigen

Feldkennungen mit hinterlegten Auswahllisten. (Variante 2)

Für die Ermittlung der Auswahllisten vieler Feldkennungen wird aus Performanzgründen Variante 2

empfohlen.

Die Funktion liefert Auswahllisten zu Feldkennungen vom Format

"NichtAbgeschlosseneEnumeration" zurück. Diese Auswahllisten werden auch in der

Jahres-/Deltadokumentation dokumentiert.

Parameter:

in ufa Unterfallart oder Datenart, zu der die Feldkennung definiert ist.

Wenn für die Datenart keine Unterfallart definiert ist, muss die

Datenart selbst angegeben werden, siehe

ERiC-Entwicklerhandbuch.pdf, Kap. "Unterstützte Fachverfahren

und Daten- / Steuerarten".

in vz Veranlagungszeitraum, in dem die Feldkennung definiert ist. Wenn

die Unterfallart bzw. Datenart als

"Veranlagungszeitraum-unabhängig" definiert ist, Angabe von "0".

in feldkennung Feldkennung, für welche die Auswahlliste zu ermitteln ist.

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den die angeforderten

Auswahlliste(n) als XML-Daten geschrieben werden. Die

XML-Daten folgen der XML Schema Definition

API-Rueckgabe-Schemata/EricGetAuswahlListen.xsd im

common-Paket.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern

siehe Dokumentation zu EricRueckgabepufferHandle.

Beispielrückgabe: <?xml version="1.0" encoding="ISO-8859-15"?>

Page 49: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

46

<EricGetAuswahlListen

xmlns="http://www.elster.de/EricXML/1.0/EricGetAuswah

lListen"

<AuswahlListe>

<Feldkennung>0104110</Feldkennung>

<ListenElement>Arbeitslosengeld</ListenElement>

<ListenElement>Elterngeld</ListenElement>

<ListenElement>Insolvenzgeld</ListenElement>

<ListenElement>Krankengeld</ListenElement>

<ListenElement>Mutterschaftsgeld</ListenElement>

</AuswahlListe>

</EricGetAuswahlListen>

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UFA_VZ_NICHT_UNTERSTUETZT

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN

ERIC_GLOBAL_UNKNOWN

ERICAPI_DECL int EricHoleFehlerText (int fehlerkode, EricRueckgabepufferHandle rueckgabePuffer)

Klartextfehlermeldung zu Fehlercode ermitteln.

Die Funktion liefert die Klartextfehlermeldung zu einem ERiC Fehlercode - definiert in

eric_fehlercodes.h

Parameter:

in fehlerkode Eingabe-Fehlercode, definiert in eric_fehlercodes.h.

out rueckgabePuffer Handle auf einen Rückgabepuffer, in den die Klartextfehlermeldung

geschrieben wird. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Die Klartextfehlermeldung ist gemäß ISO-8859-15 kodiert.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN

ERICAPI_DECL int EricHoleFinanzaemter (const char * finanzamtLandNummer, EricRueckgabepufferHandle rueckgabeXmlPuffer)

Gibt die Finanzamtliste für eine bestimmte Finanzamtlandnummer zurück.

Parameter:

in finanzamtLandNum

mer

Die Finanzamtlandnummer besteht aus den ersten zwei Stellen der

Bundesfinanzamtnummer. Eine Liste aller Finanzamtlandnummern

wird von EricHoleFinanzamtLandNummern zurückgegeben.

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den die Ergebnis XML-Daten

geschrieben werden. Die XML-Daten folgen der XML Schema

Page 50: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

47

Definition API-Rueckgabe-Schemata/EricHoleFinanzaemter.xsd im

common-Paket. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Beispielrückgabe:

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricHoleFinanzaemter xmlns="http://www.elster.de/EricXML/1.0/EricHoleFinanzaemter">

<Finanzamt>

<BuFaNummer>2801</BuFaNummer>

<Name>Finanzamt Offenburg Außenstelle Achern</Name>

</Finanzamt>

<Finanzamt>

<BuFaNummer>2804</BuFaNummer>

<Name>Finanzamt Villingen-Schwenningen Außenstelle Donaueschingen</Name>

</Finanzamt>

(...)

</EricHoleFinanzaemter>

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UTI_ERROR

ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED

ERICAPI_DECL int EricHoleFinanzamtLandNummern (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Gibt die Finanzamtlandliste zurück.

Parameter:

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den die Ergebnis XML-Daten

geschrieben werden. Die XML-Daten folgen der XML Schema

Definition

API-Rueckgabe-Schemata/EricHoleFinanzamtLandNummern.xsd

im common-Paket. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Beispielrückgabe:

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricHoleFinanzamtLandNummern

xmlns="http://www.elster.de/EricXML/1.0/EricHoleFinanzamtLandNummern">

<FinanzamtLand>

<FinanzamtLandNummer>28</FinanzamtLandNummer>

<Name>Baden-Württemberg</Name>

</FinanzamtLand>

<FinanzamtLand>

<FinanzamtLandNummer>91</FinanzamtLandNummer>

<Name>Bayern (Zuständigkeit LfSt - München)</Name>

</FinanzamtLand>

(...)

</EricHoleFinanzamtLandNummern>

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

Page 51: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

48

ERICAPI_DECL int EricHoleFinanzamtsdaten (const char bufaNr[5], Finanzamtsdaten * finanzamtsdaten)

Gibt zu einer Bundesfinanzamtsnummer die Finanzamtsdaten zurück. Die Bundesfinanzamtnummer bekommen

Sie zum Beispiel über die Kombination der Funktionen EricHoleFinanzamtLandNummern und

EricHoleFinanzaemter.

Die Funktion erwartet als Parameter einen Zeiger auf eine vom Aufrufer allokierte Instanz der

Finanzamtsdaten-Struktur. Ein Casting auf eine Zeichenkette darf nicht vorgenommen werden!

Achtung: Einträge für das Element "Öffnungszeiten", die länger als 100 Zeichen sind oder

Einträge für das Element "Bemerkung", die länger als 180 Zeichen sind, können über diese

Funktion nicht abgefragt werden. Für den Fall, dass die Einträge zu lang sind, wird ein Leerstring

zurückgeliefert. Die vollständigen Einträge können mit der neuen API-Funktion

EricHoleFinanzamtsdatenNeu

abgefragt werden.

Parameter:

in bufaNr Übergabe der 4-stelligen Bundesfinanzamtsnummer. Muss auf

einen validen Speicherbereich zeigen.

out finanzamtsdaten Zeiger auf eine valide, vom Aufrufer allokierte Struktur der

Finanzamtsdaten.

Rückgabe:

ERIC_OK.

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: Parameter bufaNr oder finanzamtsdaten

ist NULL.

ERIC_GLOBAL_PRUEF_FEHLER: Die übergebene Bundesfinanzamtsnummer ist keine Ganzzahl.

ERIC_GLOBAL_UNKNOWN

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN: Immer bei Testfinanzämtern, da diese nicht in der

FADAT vorhanden sind.

Siehe auch:

Struktur Finanzamtsdaten

ERICAPI_DECL int EricHoleFinanzamtsdatenNeu (const char bufaNr[5], FinanzamtsdatenNeu * finanzamtsdaten)

Gibt zu einer Bundesfinanzamtsnummer die FinanzamtsdatenNeu zurück. Die Bundesfinanzamtnummer

bekommen Sie zum Beispiel über die Kombination der Funktionen EricHoleFinanzamtLandNummern und

EricHoleFinanzaemter.

Die Funktion erwartet als Parameter einen Zeiger auf eine vom Aufrufer allokierte Instanz der

Finanzamtsdaten-Struktur. Ein Casting auf eine Zeichenkette darf nicht vorgenommen werden!

Parameter:

in bufaNr Übergabe der 4-stelligen Bundesfinanzamtsnummer. Muss auf

einen validen Speicherbereich zeigen.

out finanzamtsdaten Zeiger auf eine valide, vom Aufrufer allokierte Struktur der

FinanzamtsdatenNeu.

Rückgabe:

ERIC_OK.

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: Parameter bufaNr oder finanzamtsdaten

ist NULL.

ERIC_GLOBAL_PRUEF_FEHLER: Die übergebene Bundesfinanzamtsnummer ist keine Ganzzahl.

Page 52: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

49

ERIC_GLOBAL_UNKNOWN

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN: Immer bei Testfinanzämtern, da diese nicht in der

FADAT vorhanden sind.

Siehe auch:

Struktur FinanzamtsdatenNeu

ERICAPI_DECL int EricHoleTestfinanzaemter (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Gibt die Testfinanzamtliste zurück.

Parameter:

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den die Ergebnis XML-Daten

geschrieben werden. Die XML-Daten folgen der XML Schema

Definition

API-Rueckgabe-Schemata/EricHoleTestFinanzaemter.xsd im

common-Paket. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Beispielrückgabe:

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricHoleTestFinanzaemter xmlns="http://www.elster.de/EricXML/1.0/EricHoleTestFinanzaemter">

<Finanzamt>

<BuFaNummer>1096</BuFaNummer>

<Name>Testfinanzamt Saarland</Name>

</Finanzamt>

<Finanzamt>

<BuFaNummer>1097</BuFaNummer>

<Name>Finanzschule (Edenkoben)</Name>

</Finanzamt>

(...)

</EricHoleTestFinanzaemter>

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERICAPI_DECL int EricHoleZertifikatFingerabdruck (const eric_verschluesselungs_parameter_t * cryptoParameter, EricRueckgabepufferHandle fingerabdruckPuffer, EricRueckgabepufferHandle signaturPuffer)

Hole für ein Zertifikat den Fingerabdruck und dessen Signatur.

Hinweis: Die Erzeugung eines Fingerabdrucks mit dieser Funktion ist nur in Zusammenhang mit

clientseitig erzeugten Zertifikaten definiert.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Parameter:

in cryptoParameter Zertifikatsdaten, siehe eric_verschluesselungs_parameter_t. Das in

der übergebenen Struktur referenzierte Zertifikat muss ein

clientseitig erzeugtes Zertifikat (CEZ) sein.

out fingerabdruckPuffe

r

Handle auf einen Rückgabepuffer, in den der Fingerabdruck

geschrieben wird, siehe EricRueckgabepufferHandle.

Page 53: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

50

out signaturPuffer Handle auf einen Rückgabepuffer, in den die Signatur des

Fingerabdrucks geschrieben wird, siehe

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

ERIC_CRYPT_E_P12_READ

ERIC_CRYPT_E_P12_DECODE

ERIC_CRYPT_E_PIN_WRONG

ERIC_CRYPT_E_P12_SIG_KEY

ERIC_CRYPT_E_P12_ENC_KEY

ERIC_CRYPT_ZERTIFIKAT

ERIC_CRYPT_SIGNATUR

ERICAPI_DECL int EricKonvertiereZertifikat (const char * pin, const char * pse)

Konvertiert einen RSAPEM Zertifikat-Container in eine p12-Datei mit dem privaten Schlüssel und eine

cer-Datei mit dem Zertifikat und dem darin enthaltenen öffentlichen Schlüssel. Nach einem erfolgreichen

Konvertieren werden diese Dateien in das übergebene, bereits existierende Verzeichnis geschrieben.

Eine Konvertierung von Portalzertifikaten ist nicht möglich. Es werden ausschließlich clientseitig

erzeugte Zertifikate im RSAPEM Format konvertiert.

Nach der Konvertierung liegen folgende Dateien in dem angegebenen Verzeichnis:

eric_private.p12 (PIN-gesicherte Datei mit dem privaten Schlüssel)

eric_public.cer (Datei mit Zertifikat und öffentlichem Schlüssel)

Parameter:

in pin PIN für Zugriff auf den privaten Schlüssel

in pse Vollständiger Pfad des Zertifikat-Containers

Rückgabe:

ERIC_OK

Die Konvertierung wurde erfolgreich durchgeführt oder

Der Zertifikat-Container liegt bereits im aktuellen Format vor und es wurde keine Konvertierung

durchgeführt (eine entsprechende Meldung wurde geloggt).

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_CRYPT_ZERTIFIKAT

Pfad zum Zertifikat-Container ist ungültig

Der Aufrufer verfügt nicht über ausreichende Zugriffsrechte auf das Verzeichnis

pin ist falsch

Zertifikat-Container ist ungültig

ERIC_GLOBAL_UNKNOWN

ERICAPI_DECL int EricPruefeBIC (const char * bic)

Prüfe, ob die BIC gültig ist.

Parameter:

in bic Zeiger auf eine null-terminierte Zeichenkette.

Page 54: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

51

Die Prüfung erfolgt in zwei Schritten:

1. Formale Prüfung auf gültige Zeichen und richtige Länge

2. Prüfung, ob das Länderkennzeichen für BIC gültig ist.

Falls die BIC ungültig ist liefert die Funktion EricHoleFehlerText() den zugehörigen Fehlertext.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_BIC_FORMALER_FEHLER: Ungültige Zeichen, falsche Länge.

ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: Parameter bic ist Null.

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "BIC ISO-Ländercodes"

ERiC-Entwicklerhandbuch.pdf, Kap. "BIC-Prüfung"

ERICAPI_DECL int EricPruefeIBAN (const char * iban)

Prüfe, ob die IBAN gültig ist.

Parameter:

in iban Zeiger auf eine null-terminierte Zeichenkette.

Die Prüfung erfolgt in vier Schritten:

1. Formale Prüfung auf gültige Zeichen und richtige Länge

2. Prüfung, ob das Länderkennzeichen für IBAN gültig ist

3. Prüfung, ob das länderspezifische Format gültig ist

4. Prüfung, ob die Prüfziffer der IBAN gültig ist

Falls die IBAN ungültig ist liefert die Funktion EricHoleFehlerText() den zugehörigen Fehlertext.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_IBAN_FORMALER_FEHLER: Ungültige Zeichen, falsche Länge.

ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER

ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER

ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: Parameter iban ist Null.

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "IBAN - länderspezifische Formate"

ERiC-Entwicklerhandbuch.pdf, Kap. "IBAN-Prüfung"

ERICAPI_DECL int EricPruefeIdentifikationsMerkmal (const char * steuerId, EricRueckgabepufferHandle fehlertextPuffer)

Prüft eine Steuer-Identifikationsnummer auf Gültigkeit.

Page 55: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

52

Parameter:

in steuerId Steuer-Identifikationsnummer (IdNr)

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den die Fehlermeldungen

geschrieben werden. Zur Erzeugung, Verwendung und Freigabe

von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_IDNUMMER_NICHT_NUMERISCH

ERIC_GLOBAL_IDNUMMER_NICHT_GENAU_EINE_ZIFFER_DOPPELT

ERIC_GLOBAL_IDNUMMER_ERSTE_ZIFFER_UNGUELTIG

ERIC_GLOBAL_IDNUMMER_LAENGE_UNGUELTIG

ERIC_GLOBAL_IDNUMMER_PRUEFZIFFER_UNGUELTIG

ERIC_GLOBAL_UNKNOWN

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Prüfung der Steueridentifikationsnummer (IdNr)"

ERiC-Entwicklerhandbuch.pdf, Kap. "Test-Identifikationsnummer"

EricPruefeSteuernummer()

ERICAPI_DECL int EricPruefeSteuernummer (const char * steuernummer, EricRueckgabepufferHandle pruefzifferVorStnrUmstellungPuffer, EricRueckgabepufferHandle pruefzifferNachStnrUmstellungPuffer)

Steuernummer einschließlich Bundesfinanzamtsnummer auf formale Richtigkeit prüfen.

Zur Prüfung der Bundesfinanzamtsnummer wird EricCheckBuFaNummer() verwendet.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Die Rückgabepuffer pruefzifferVorStnrUmstellungPuffer und

pruefzifferNachStnrUmstellungPuffer sind nur als Hilfe für den

Steuersoftwarehersteller gedacht. Ihr Inhalt darf in keiner Form dem Endanwender dargestellt werden,

da sonst auf einfache Art und Weise eine gültige Steuernummer erzeugt werden kann, die nicht der

Steuernummer des Endanwenders entsprechen muss.

Parameter:

in steuernummer Null-terminierte 13-stellige Steuernummer im

ELSTER-Steuernummernformat.

out pruefzifferVorStnrU

mstellungPuffer

Handle auf einen Rückgabepuffer, in den die Prüfziffer oder eine

Fehlerbeschreibung geschrieben wird, siehe

EricRueckgabepufferHandle.

out pruefzifferNachStnr

UmstellungPuffer

Handle auf einen Rückgabepuffer, in den die Prüfziffer oder eine

Fehlerbeschreibung geschrieben wird, siehe

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

Page 56: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

53

ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG

Siehe auch:

EricCheckBuFaNummer()

Pruefung_der_Steuer-_und_Steueridentifikatsnummer.pdf

ERICAPI_DECL EricRueckgabepufferHandle EricRueckgabepufferErzeugen ()

Erzeugt einen Rückgabepuffer und gibt ein Handle darauf zurück.

Die von dieser Funktion erzeugten Rückgabepuffer werden verwendet, um die Ausgaben von

ERiC-Funktionen (z.B. EricBearbeiteVorgang()) aufzunehmen. Dazu wird das

Rückgabepuffer-Handle für den Schreibvorgang an die ausgebende Funktion übergeben. Zum

Auslesen des von den API-Funktionen beschriebenen Puffers wird das Rückgabepuffer-Handle an

EricRueckgabepufferInhalt() übergeben. Ein einmal erzeugtes Rückgabepuffer-Handle kann für

weitere nachfolgende Aufrufe von ERiC-API Funktionen wiederverwendet werden. Bei einer

Wiederverwendung eines Handles werden frühere Inhalte überschrieben. Nach Verwendung muss

jeder Rückgabepuffer mit EricRueckgabepufferFreigeben() freigegeben werden.

Rückgabe:

Bei erfolgreicher Erzeugung: Eine Instanz vom Typ EricRueckgabepufferHandle

Bei fehlgeschlagener Erzeugung: NULL

Siehe auch:

EricRueckgabepufferLaenge()

EricRueckgabepufferInhalt()

EricRueckgabepufferFreigeben()

ERICAPI_DECL int EricRueckgabepufferFreigeben (EricRueckgabepufferHandle handle)

Gibt einen Rückgabepuffer wieder frei.

Der durch das übergebene Handle bezeichnete Rückgabepuffer wird wieder freigebeben. Das Handle

darf danach nicht weiter verwendet werden. Es wird daher empfohlen, Handle-Variablen nach der

Freigabe explizit auf NULL zu setzen.

Parameter:

in handle Handle auf einen mit EricRueckgabepufferErzeugen() angelegten

Rückgabepuffer. Dieser Rückgabepuffer darf nicht bereits

freigegeben worden sein.

Rückgabe:

ERIC_OK: Übergebenes Handle war gültig, Rückgabepuffer wurde freigegeben

ERIC_GLOBAL_UNGUELTIGER_PARAMETER: Übergebenes Handle war NULL

ERIC_GLOBAL_UNKNOWN

Siehe auch:

EricRueckgabepufferErzeugen()

EricRueckgabepufferLaenge()

EricRueckgabepufferInhalt()

Page 57: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

54

ERICAPI_DECL const char* EricRueckgabepufferInhalt (EricRueckgabepufferHandle handle)

Gibt den Inhalt eines Rückgabepuffers zurück.

Der zurückgegebene Zeiger verweist auf ein Character-Array, das alle in den Rückgabepuffer

geschriebenen Bytes sowie eine abschließende Null-Terminierung enthält. Dieses Array existiert so

lange im Speicher, bis der Rückgabepuffer entweder (bei einer Wiederverwendung des Handles)

erneut beschrieben oder der Puffer explizit freigegeben wird.

Parameter:

in handle Handle auf einen mit EricRueckgabepufferErzeugen() angelegten

Rückgabepuffer. Dieser Rückgabepuffer darf nicht bereits

freigegeben worden sein.

Rückgabe:

Bei Übergabe eines gültigen Handles: Zeiger auf den null-terminierten Rückgabepuffer-Inhalt

Bei Übergabe des ungültigen Wertes NULL: NULL

Siehe auch:

EricRueckgabepufferErzeugen()

EricRueckgabepufferLaenge()

EricRueckgabepufferFreigeben()

ERICAPI_DECL uint32_t EricRueckgabepufferLaenge (EricRueckgabepufferHandle handle)

Gibt die Länge des Inhalts eines Rückgabepuffers zurück.

Die zurückgegebene Zahl entspricht der Anzahl von Bytes, die von einer zuvor aufgerufenen ERiC

API-Funktion in den Rückgabepuffer geschrieben wurden. Die Null-Terminierung, die bei Aufruf von

EricRueckgabepufferInhalt() an das zurückgegebene Character-Array angefügt wird, wird bei dieser

Längenangabe nicht berücksichtigt.

Parameter:

in handle Handle auf einen mit EricRueckgabepufferErzeugen() angelegten

Rückgabepuffer. Dieser Rückgabepuffer darf nicht bereits

freigegeben worden sein.

Rückgabe:

Bei Übergabe eines gültigen Handles: Anzahl der in den Rückgabepuffer geschriebenen Bytes

Bei Übergabe des ungültigen Wertes NULL: 0

Siehe auch:

EricRueckgabepufferErzeugen()

EricRueckgabepufferInhalt()

EricRueckgabepufferFreigeben()

Page 58: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

55

ericapiExport.h-Dateireferenz

DLL-Export- und Importdeklarationen. #include "platform.h" Include-Abhängigkeitsdiagramm für ericapiExport.h:

Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Makrodefinitionen

#define ERICAPI_DECL ERIC_DECL_EXPORT

Ausführliche Beschreibung

DLL-Export- und Importdeklarationen.

Diese Deklarationen sind für Windows-Plattformen relevant.

Definiert in Datei ericapiExport.h.

Makro-Dokumentation

#define ERICAPI_DECL ERIC_DECL_EXPORT

Definiert in Zeile 27 der Datei ericapiExport.h.

Page 59: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

56

ericdef.h-Dateireferenz

Konstanten für Übergabe- und Druckparameter. Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Datenstrukturen

struct Finanzamtsdaten

Wird von EricHoleFinanzamtsdaten benötigt. struct FinanzamtsdatenNeu

Wird von EricHoleFinanzamtsdatenNeu benötigt. Oeffnungszeichen und Bemerkung sind länger - siehe ERIC-21598. Makrodefinitionen

#define ERIC_MAX_LAENGE_FUSSTEXT (30)

Definition der maximalen Laenge des Fusstextes in eric_druck_parameter_t.

#define ERIC_KLARTEXT_FEHLER_MAX_GROESSE (512)

Definition der maximalen Größe einer nullterminierten Klartext-Fehlermeldung.

#define ERIC_TESTMERKER_ECHTFALL "000000000"

Definition des Echtfall Merkers zur Verwendung als Testmerker Parameter.

#define ERIC_TESTMERKER_CLEARINGSTELLE "700000004"

Definition des Standard Testmerkers. Bei der Verwendung dieses Testmerkers werden die Fälle in der

Clearingstelle aussortiert und verworfen. Es findet keine Verarbeitung im Finanzamt statt.

#define ERIC_TESTMERKER_ECC "700000001"

Definition des Testmerkers für das ECC. Bei der Verwendung dieses Testmerkers werden die Fälle in der

Landeskopfstelle bzw dem ECC aussortiert und verworfen. Es findet keine Verarbeitung im Finanzamt statt.

#define EURO (unsigned char)164

Ausführliche Beschreibung

Konstanten für Übergabe- und Druckparameter.

Definiert in Datei ericdef.h.

Makro-Dokumentation

#define ERIC_KLARTEXT_FEHLER_MAX_GROESSE (512)

Definition der maximalen Größe einer nullterminierten Klartext-Fehlermeldung.

Definiert in Zeile 23 der Datei ericdef.h.

Page 60: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

57

#define ERIC_MAX_LAENGE_FUSSTEXT (30)

Definition der maximalen Laenge des Fusstextes in eric_druck_parameter_t.

Definiert in Zeile 17 der Datei ericdef.h.

#define ERIC_TESTMERKER_CLEARINGSTELLE "700000004"

Definition des Standard Testmerkers. Bei der Verwendung dieses Testmerkers werden die Fälle in der

Clearingstelle aussortiert und verworfen. Es findet keine Verarbeitung im Finanzamt statt.

Definiert in Zeile 35 der Datei ericdef.h.

#define ERIC_TESTMERKER_ECC "700000001"

Definition des Testmerkers für das ECC. Bei der Verwendung dieses Testmerkers werden die Fälle in der

Landeskopfstelle bzw dem ECC aussortiert und verworfen. Es findet keine Verarbeitung im Finanzamt statt.

Definiert in Zeile 42 der Datei ericdef.h.

#define ERIC_TESTMERKER_ECHTFALL "000000000"

Definition des Echtfall Merkers zur Verwendung als Testmerker Parameter.

Definiert in Zeile 28 der Datei ericdef.h.

#define EURO (unsigned char)164

Definiert in Zeile 123 der Datei ericdef.h.

Page 61: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

58

ericdef_gui.h-Dateireferenz

Konstanten und Typdeklarationen für Callbackfunktionen. #include "platform.h" Include-Abhängigkeitsdiagramm für ericdef_gui.h:

Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Typdefinitionen

typedef int(* T_GUI_EricMessageDialog )(const char *text, const char *caption, int type)

typedef int(* T_GUI_EricInitProgressDialog )(const char *label1, const char *value1, const char *label2, const

char *value2, const char *label3, const char *value3, const char *label4, const char *value4, const char

*labelStatus, const char *valueStatus, short pos, short max)

typedef int(* T_GUI_EricUpdateProgressDialog )(const char *label1, const char *value1, const char *label2,

const char *value2, const char *label3, const char *value3, const char *label4, const char *value4, const char

*labelStatus, const char *valueStatus, short pos, short max)

typedef int(* T_GUI_EricCloseProgressDialog )()

Variablen

{Rückgabewerte für Message Callback}Konstanten, die ausgewählte Schaltflächen in Fragen

repräsentieren. Der Callback T_GUI_EricMessageDialog sollte einen dieser Werte zurückgeben

const int GUI_IDOK = 1

const int GUI_IDCANCEL = 2

const int GUI_IDABORT = 3

const int GUI_IDRETRY = 4

const int GUI_IDIGNORE = 5

const int GUI_IDYES = 6

const int GUI_IDNO = 7

{ Message Dekorationen }Diese Flags bestimmen das Erscheinungsbild einer Message. Die einzelnen

Stellen der Zahl stellen (anlehnend an die WinApi Funktion "MessageBox") verschiedene

Eigenschaften dar:

Page 62: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

59

Erste Stelle (extrahierbar mit typ & 0x0000000fL ) listet die möglichen Rückgabewerte:

GUI_MB_OK

GUI_MB_OKCANCEL

GUI_MB_YESNOCANCEL

GUI_MB_YESNO

Zweite Stelle (extrahierbar mit typ & 0x000000f0L ), bestimmt die Art / das Symbol der Message:

GUI_MB_ICONERROR / GUI_MB_ICONHAND / GUI_MB_ICONSTOP

GUI_MB_ICONQUESTION

GUI_MB_ICONWARNING / GUI_MB_ICONEXCLAMATION

GUI_MB_ICONINFORMATION / GUI_MB_ICONASTERISK

Vierte Stelle (extrahierbar mit typ & 0x0000f000L ), bestimmt, ob die Message modal ist.

GUI_MB_SYSTEMMODAL

0

Die restlichen Stellen werden vom ERiC nicht benutzt.

const int GUI_MB_OK = 0x00000000L

const int GUI_MB_OKCANCEL = 0x00000001L

const int GUI_MB_YESNOCANCEL = 0x00000003L

const int GUI_MB_YESNO = 0x00000004L

const int GUI_MB_ICONERROR = 0x00000010L

const int GUI_MB_ICONQUESTION = 0x00000020L

const int GUI_MB_ICONWARNING = 0x00000030L

const int GUI_MB_ICONINFORMATION = 0x00000040L

const int GUI_MB_ICONHAND = GUI_MB_ICONERROR

const int GUI_MB_ICONEXCLAMATION = GUI_MB_ICONWARNING

const int GUI_MB_ICONSTOP = GUI_MB_ICONERROR

const int GUI_MB_ICONASTERISK = GUI_MB_ICONINFORMATION

const int GUI_MB_SYSTEMMODAL = 0x00001000L

Ausführliche Beschreibung

Konstanten und Typdeklarationen für Callbackfunktionen.

Definiert in Datei ericdef_gui.h.

Dokumentation der benutzerdefinierten Typen

typedef int( * T_GUI_EricCloseProgressDialog)()

Spezifiziert eine Callback-Funktion, die einen Fortschrittsbalken schließt.

Rückgabe:

Definiert in Zeile 307 der Datei ericdef_gui.h.

typedef int( * T_GUI_EricInitProgressDialog)(const char *label1, const char *value1, const char *label2, const char *value2, const char *label3, const char *value3, const char *label4, const char *value4, const char *labelStatus, const char *valueStatus, short pos, short max)

Spezifiziert eine Callback-Funktion, die einen Fortschrittsbalken initialisiert

Page 63: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

60

Informationen zu den möglichen Werten der Labels entnehmen Sie bitte dem

ERiC-Entwicklerhandbuch.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

Parameter:

label1 Info Label 1

value1 zugehöriger Wert für Label 1

label2 Info Label 2

value2 zugehöriger Wert für Label 2

label3 Info Label 3

value3 zugehöriger Wert für Label 3

label4 Info Label 4

value4 zugehöriger Wert für Label 4

labelStatus Info Label für Status

valueStatus zugehöriger Wert für Status

pos initialer Positionswert des Fortschrittsbalkens

max maximaler Positionswert des Fortschrittsbalkens

Rückgabe:

Definiert in Zeile 239 der Datei ericdef_gui.h.

typedef int( * T_GUI_EricMessageDialog)(const char *text, const char *caption, int type)

Spezifiziert eine Callback-Funktion für eine Message

Informationen zu den möglichen Textinhalten entnehmen Sie bitte dem ERiC-Entwicklerhandbuch.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge"

Parameter:

text auszugebender Text

caption Fenstertitel

type Typ der Message

Rückgabe:

Ergebnis, welcher Button in der Message gewählt wurde.

Siehe auch:

Rückgabewerte für Message Callback

Definiert in Zeile 196 der Datei ericdef_gui.h.

typedef int( * T_GUI_EricUpdateProgressDialog)(const char *label1, const char *value1, const char *label2, const char *value2, const char *label3, const char *value3, const char *label4, const char *value4, const char *labelStatus, const char *valueStatus, short pos, short max)

Spezifiziert eine Callback-Funktion, die einen Fortschrittsbalken aktualisiert

Parameter:

label1 Info Label 1

value1 zugehöriger Wert für Label 1

label2 Info Label 2

value2 zugehöriger Wert für Label 2

label3 Info Label 3

value3 zugehöriger Wert für Label 3

Page 64: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

61

label4 Info Label 4

value4 zugehöriger Wert für Label 4

labelStatus Info Label für Status

valueStatus zugehöriger Wert für Status

pos aktueller Positionswert des Fortschrittsbalkens

max maximaler Positionswert des Fortschrittsbalkens

Rückgabe:

Definiert in Zeile 286 der Datei ericdef_gui.h.

Variablen-Dokumentation

const int GUI_IDABORT = 3

wird zurückgegeben wenn der Dialog über die Fensterschaltfläche [X] abgebrochen wurde

Definiert in Zeile 34 der Datei ericdef_gui.h.

const int GUI_IDCANCEL = 2

wird zurückgegeben wenn der Cancel Button aktiviert wurde

Definiert in Zeile 29 der Datei ericdef_gui.h.

const int GUI_IDIGNORE = 5

wird zurückgeben wenn eine Frage ignoriert werden soll

Definiert in Zeile 44 der Datei ericdef_gui.h.

const int GUI_IDNO = 7

wird zurückgegeben wenn der Nein Button aktiviert wurde

Definiert in Zeile 54 der Datei ericdef_gui.h.

const int GUI_IDOK = 1

wird zurückgeben wenn der OK Button aktviert wurde

Definiert in Zeile 24 der Datei ericdef_gui.h.

const int GUI_IDRETRY = 4

wird zurückgeben wenn eine Aufgabe wiederholt werden soll

Definiert in Zeile 39 der Datei ericdef_gui.h.

const int GUI_IDYES = 6

wird zurückgeben wenn der Ja Button aktiviert wurde

Definiert in Zeile 49 der Datei ericdef_gui.h.

const int GUI_MB_ICONASTERISK = GUI_MB_ICONINFORMATION

Siehe auch:

GUI_MB_ICONINFORMATION

Definiert in Zeile 166 der Datei ericdef_gui.h.

Page 65: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

62

const int GUI_MB_ICONERROR = 0x00000010L

Der Dialog meldet einen Fehler

Definiert in Zeile 131 der Datei ericdef_gui.h.

const int GUI_MB_ICONEXCLAMATION = GUI_MB_ICONWARNING

Siehe auch:

GUI_MB_ICONWARNING

Definiert in Zeile 156 der Datei ericdef_gui.h.

const int GUI_MB_ICONHAND = GUI_MB_ICONERROR

Siehe auch:

GUI_MB_ICONERROR

Definiert in Zeile 151 der Datei ericdef_gui.h.

const int GUI_MB_ICONINFORMATION = 0x00000040L

Der Dialog zeigt Informationen an

Definiert in Zeile 146 der Datei ericdef_gui.h.

const int GUI_MB_ICONQUESTION = 0x00000020L

Der Dialog stellt eine Frage

Definiert in Zeile 136 der Datei ericdef_gui.h.

const int GUI_MB_ICONSTOP = GUI_MB_ICONERROR

Siehe auch:

GUI_MB_ICONERROR

Definiert in Zeile 161 der Datei ericdef_gui.h.

const int GUI_MB_ICONWARNING = 0x00000030L

Der Dialog meldet eine Warnung

Definiert in Zeile 141 der Datei ericdef_gui.h.

const int GUI_MB_OK = 0x00000000L

Darstellung eines Ok Buttons. Bei Aktivierung des Button ist der Wert GUI_IDOK zurückzugeben.

Bei Schließen des Dialogs über die Titelleiste ist GUI_IDABORT als Rückgabewert vorzusehen.

Definiert in Zeile 91 der Datei ericdef_gui.h.

const int GUI_MB_OKCANCEL = 0x00000001L

Darstellung eines Ok und eines Cancel Buttons. Bei Aktivierung der einzelnen Buttons sind folgende

Werte zurückzugeben:

OK - GUI_IDOK

Cancel - GUI_IDCANCEL

Beim Schließen des Fensters über die Titelleiste ist GUI_IDABORT zurückzugeben.

Page 66: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

63

Definiert in Zeile 102 der Datei ericdef_gui.h.

const int GUI_MB_SYSTEMMODAL = 0x00001000L

Macht den Dialog Modal. Es wird ein synchrones Verhalten des Callbacks erwartet, er sollte also den

Rest des Programms blockieren.

Definiert in Zeile 173 der Datei ericdef_gui.h.

const int GUI_MB_YESNO = 0x00000004L

Darstellung eines Ja und eines Nein Buttons. Bei Aktivierung der einzelnen Buttons sind folgende

Werte zurückzugeben.

Ja - GUI_IDYES

Nein - GUI_IDNO

Beim Schließen des Fensters über die Titelleiste ist GUI_IDABORT zurückzugeben.

Definiert in Zeile 125 der Datei ericdef_gui.h.

const int GUI_MB_YESNOCANCEL = 0x00000003L

Darstellung eines Ja, Nein und eines Cancel Buttons. Bei Aktivierung der einzelnen Buttons sind

folgende Werte zurückzugeben:

Ja - GUI_IDYES

Nein - GUI_IDNO

Cancel - GUI_IDCANCEL

Beim Schließen des Fensters über die Titelleiste ist GUI_IDABORT zurückzugeben.

Definiert in Zeile 114 der Datei ericdef_gui.h.

Page 67: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

64

mainpage.txt-Dateireferenz

Page 68: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

65

platform.h-Dateireferenz

Konstanten für verschiedene Betriebssystemplattformen. #include <sys/types.h> #include <sys/stat.h> #include <sys/utime.h> Include-Abhängigkeitsdiagramm für platform.h:

Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

Makrodefinitionen

#define ERIC_DECL_EXPORT

#define ERIC_DECL_IMPORT

#define ATOI64 atoll

#define I64(C) C##LL

#define HAS_FUTIME 1

#define UTIME_NEEDS_CLOSED_FILE 0

Typdefinitionen

typedef

__plattformabhaengige_Implementierung__ uint32_t

Definition eines vorzeichenlosen, 32 Bit breiten Integer-Typs.

Ausführliche Beschreibung

Konstanten für verschiedene Betriebssystemplattformen.

Definiert in Datei platform.h.

Page 69: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

66

Makro-Dokumentation

#define ATOI64 atoll

Definiert in Zeile 241 der Datei platform.h.

#define ERIC_DECL_EXPORT

Definiert in Zeile 198 der Datei platform.h.

#define ERIC_DECL_IMPORT

Definiert in Zeile 212 der Datei platform.h.

#define HAS_FUTIME 1

Definiert in Zeile 250 der Datei platform.h.

#define I64( C) C##LL

Definiert in Zeile 242 der Datei platform.h.

#define UTIME_NEEDS_CLOSED_FILE 0

Definiert in Zeile 258 der Datei platform.h.

Dokumentation der benutzerdefinierten Typen

typedef __plattformabhaengige_Implementierung__ uint32_t

Definition eines vorzeichenlosen, 32 Bit breiten Integer-Typs.

Siehe Quellcode von platform.h für Implementierung.

Definiert in Zeile 142 der Datei platform.h.

Page 70: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

67

tm98ericapi.h-Dateireferenz

Deklaration der ERiC API-Funktionen. #include "platform.h" #include "ericapiExport.h" #include "eric_types.h" Include-Abhängigkeitsdiagramm für tm98ericapi.h:

Funktionen

ERICAPI_DECL int EricChangePassword (const char *psePath, const char *oldPin, const char *newPin,

EricRueckgabepufferHandle fehlertextPuffer)

Ändere die PIN für ein clientseitig erzeugtes Zertifikat (CEZ).

ERICAPI_DECL int EricCheckBuFaNummer (const char *steuernummer)

Prüfe die Bundesfinanzamtsnummer.

ERICAPI_DECL int EricCheckXML (uint32_t eingabeArt, const char *path2XML, const char *path2XSD,

EricRueckgabepufferHandle fehlertextPuffer)

Validiere einen XML-Datensatz gegen ein XML-Schema.

ERICAPI_DECL int EricCloseHandleToCertificate (EricZertifikatHandle hToken)

Den Zertifikat-Handle freigeben.

ERICAPI_DECL int EricCreateKey (const char *pin, const char *pfad, const eric_zertifikat_parameter_t

*zertifikatInfo)

Erstellt die Kryptomittel für ein clientseitig erzeugtes Zertifikat (CEZ) in einem Verzeichnis des Dateisystems.

ERICAPI_DECL int EricCreateTH (const char *xml, const char *verfahren, const char *datenart, const char

*vorgang, const char *testmerker, const char *herstellerId, const char *datenLieferant, const char

*versionClient, const char *publicKey, EricRueckgabepufferHandle fehlertextPuffer,

EricRueckgabepufferHandle xmlRueckgabePuffer)

Diese Funktion erzeugt einen TransportHeader.

ERICAPI_DECL int EricGetErrormessagesFromXMLAnswer (const char *xml, EricRueckgabepufferHandle

transferticketPuffer, EricRueckgabepufferHandle returncodeTHPuffer, EricRueckgabepufferHandle

fehlertextTHPuffer, EricRueckgabepufferHandle returncodesUndFehlertexteNDHXmlPuffer)

Hole Transferticket und Returncodes/Fehlermeldungen aus dem Anwort-XML des Servers.

ERICAPI_DECL int EricGetHandleToCertificate (EricZertifikatHandle *hToken, uint32_t *iInfoPinSupport,

const char *pathToKeystore)

Page 71: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

68

Liefert ein Zertifikat-Handle und gibt im Parameter iInfoPinSupport die unterstützten PIN-Werte zurück.

ERICAPI_DECL int EricGetHighestVersions (EricRueckgabepufferHandle produktversionPuffer,

EricRueckgabepufferHandle dateiversionPuffer)

Ermittle höchste Produkt- und Dateiversionen.

ERICAPI_DECL int EricGetPinStatus (EricZertifikatHandle hToken, uint32_t *pinStatus, uint32_t keyType)

Abfrage des PIN-Status für ein passwortgeschütztes Kryptomittel.

ERICAPI_DECL int EricGetPublicKey (const eric_verschluesselungs_parameter_t *cryptoParameter,

EricRueckgabepufferHandle rueckgabePuffer)

Liefert zum Zertifikathandle der übergebenen cryptoParameter den öffentlichen Schlüssel des

Verschlüsselungszertifikats als base64-kodierte Zeichenkette.

ERICAPI_DECL int EricMakeElsterStnr (const char *steuernrBescheid, const char landesnr[2+1], const char

bundesfinanzamtsnr[4+1], EricRueckgabepufferHandle steuernrPuffer, EricRueckgabepufferHandle

fehlertextPuffer)

Erzeuge Steuernummer im ELSTER-Steuernummerformat.

ERICAPI_DECL int EricSend (const char *proxyServer, const char *proxyPort, const char *proxyUser, const

char *proxyPwd, const char *xml, EricRueckgabepufferHandle antwortXmlPuffer)

Diese Funktion übermittelt die XML-Daten an die ELSTER Annahmeserver. Die Angabe der

Proxyinformationen ist optional.

ERICAPI_DECL int EricSignAndSend (const char *proxyServer, const char *proxyPort, const char

*proxyUser, const char *proxyPwd, EricZertifikatHandle hToken, const char *pin4PSE, const char *xml2sign,

EricRueckgabepufferHandle antwortXmlPuffer)

Diese Funktion übermittelt XML-Daten authentifiziert an die ELSTER-Annahmeserver. Sie übernimmt auch die

Komprimierung sowie die Verschlüsselung der Daten. Der XML-String im Parameter xml2sign ist mit

gefülltem Transferheader zu übergeben, siehe EricCreateTH(). Die Authentifizierung ist nur mit "send-Auth"

möglich.

ERICAPI_DECL int EricSystemCheck (uint32_t callDialogs)

Plattform-, Betriebssystem- und ERiC-Informationen ausgeben.

ERICAPI_DECL int EricVV (const char *herstellerId, const char *sourcePath, const char *testmerker,

EricRueckgabepufferHandle fehlertextPuffer)

Übertragung einer Datei mit Vorsteuervergütungsanträgen an das Bundeszentralamt für Steuern (BZSt).

ERICAPI_DECL int EricVersion (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Ermittle Produkt- und Dateiversionen.

ERICAPI_DECL int EricZD (const char *herstellerId, const char *zulNr, const char *landesnr, const char

*sourcePath, const char *testmerker, EricRueckgabepufferHandle fehlertextPuffer)

Über diese Funktion werden Kfz-Zulassungsdaten verschlüsselt und versendet.

Ausführliche Beschreibung

Deklaration der ERiC API-Funktionen.

Definiert in Datei tm98ericapi.h.

Dokumentation der Funktionen

ERICAPI_DECL int EricChangePassword (const char * psePath, const char * oldPin, const char * newPin, EricRueckgabepufferHandle fehlertextPuffer)

Page 72: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

69

Ändere die PIN für ein clientseitig erzeugtes Zertifikat (CEZ).

Die Funktion ändert die, bei der Funktion EricCreateKey(), angegebene PIN. Eine Passwortänderung

von einem Portalzertifikat (POZ) ist nicht möglich.

Parameter:

in psePath Pfad zu dem Verzeichnis wo das Schlüsselpaar (eric_private.p12

und eric_public.cer) liegt.

in oldPin Bisherige PIN.

in newPin Neue PIN. Die Mindestlänge beträgt 4 Stellen. Zulässige Zeichen

sind alle ASCII-Zeichen ohne die Kontrollzeichen.

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Fehlertexte geschrieben

werden. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN

ERIC_CRYPT_PSE_PFAD

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT

ERIC_CRYPT_ERROR_CREATE_KEY

Siehe auch:

EricCreateKey()

ERiC-Entwicklerhandbuch.pdf, Kap. "Zuordnung der API-Funktionen zur Verwendung von POZ und

CEZ"

ERICAPI_DECL int EricCheckBuFaNummer (const char * steuernummer)

Prüfe die Bundesfinanzamtsnummer.

Wird eine 13-stellige Steuernummer im ELSTER-Steuernummernformat angegeben, so wird nur die

Bundesfinanzamtsnummer (= die ersten 4 Stellen der 13-stelligen Steuernummer) geprüft.

Eine Prüfung der Steuernummer selbst findet nicht statt (hierfür EricPruefeSteuernummer()

verwenden).

Parameter:

in steuernummer 13-stellige Steuernummer im ELSTER Steuernummernformat bzw.

4-stellige Bundesfinanzamtsnummer.

Rückgabe:

ERIC_OK

sonst: ungültige Bundesfinanzamtsnummer.

Siehe auch:

EricPruefeSteuernummer()

Pruefung_der_Steuer-_und_Steueridentifikatsnummer.pdf

Page 73: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

70

ERICAPI_DECL int EricCheckXML (uint32_t eingabeArt, const char * path2XML, const char * path2XSD, EricRueckgabepufferHandle fehlertextPuffer)

Validiere einen XML-Datensatz gegen ein XML-Schema.

Parameter:

in eingabeArt Art der Datenübergabe:

0: Übergabe des XML-String im Speicher.

1: Übergabe des XML-String als Datei

in path2XML XML-String bzw. Pfad zur XML-Datei

in path2XSD Pfad zur XSD-(Schema)-Datei

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Fehlertexte geschrieben

werden. Zur Erzeugung, Verwendung und Freigabe von

Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT: Schemavalidierung wird für EBilanz

nicht unterstützt.

ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER: Fehler beim Validieren des

XML-Datensatz gegen Schema aufgetreten. Ist ein Validierungsfehler aufgetreten, steht der Fehlertext

des XML-Parsers in Parameter fehlertextPuffer . Die Fehlermeldung wird auch in der Datei

eric.log protokolliert.

ERICAPI_DECL int EricCloseHandleToCertificate (EricZertifikatHandle hToken)

Den Zertifikat-Handle freigeben.

Diese Funktion gibt das übergebene Zertifikat-Handle frei. Zertifikat-Handles sollten möglichst

frühzeitig, d.h. wenn sie nicht mehr benötigt werden, mit EricCloseHandleToCertificate() freigegeben

werden, spätestens jedoch zum Programmende bzw. vor dem Entladen der ericapi Bibliothek. Tritt ein

Fehler auf, kann die Fehlermeldung mit EricHoleFehlerText() ausgelesen werden.

Parameter:

in hToken Zertifikat-Handle wie von der Funktion

EricGetHandleToCertificate() zurückgeliefert.

Rückgabe:

ERIC_OK

ERIC_CRYPT_E_INVALID_HANDLE

Siehe auch:

EricGetHandleToCertificate()

EricGetPinStatus()

EricSignAndSend()

ERICAPI_DECL int EricCreateKey (const char * pin, const char * pfad, const eric_zertifikat_parameter_t * zertifikatInfo)

Page 74: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

71

Erstellt die Kryptomittel für ein clientseitig erzeugtes Zertifikat (CEZ) in einem Verzeichnis des Dateisystems.

Im angegebenen Verzeichnis pfad sind nach Ausführung der Funktion EricCreateKey zwei Dateien

erstellt worden:

eric_public.cer: Enthält das Zertifikat mit den Daten aus zertifikatInfo und darin den öffentlichen

Schlüssel.

eric_private.p12: Enthält den privaten Schlüssel. Der Zugriff ist über die pin geschützt.

Ein CEZ kann unter anderem für die Bescheiddaten-Rückübermittlung verwendet werden. Weitere

Informationen zur Datenabholung lesen Sie bitte im ERiC-Entwicklerhandbuch.pdf nach.

Über eine Meldung sollte der Benutzer darauf hingewiesen werden, dass die Generierung der

Kryptomittel je nach Leistungsfähigkeit der verwendeten Hardware bis zu einigen Minuten dauern

kann.

Parameter:

in pin PIN (Passwort), mit der auf den privaten Schlüssel zugegriffen

werden kann.

Die Mindestlänge beträgt 4 Stellen. Zulässige Zeichen sind alle

ASCII-Zeichen ohne die Kontrollzeichen.

in pfad Pfad in dem die Kryptomittel erzeugt werden sollen. Das durch den

angegebenen Pfad bezeichnete Verzeichnis muss im Dateisystem

bereits existieren und beschreibbar sein. Es gibt folgende

Möglichkeiten:

Absoluter Pfad (Empfehlung)

Relativer Pfad; er wird an das Arbeitsverzeichnis

angehängt

Leere Zeichenkette; in diesem Fall wird das

Arbeitsverzeichnis verwendet.

in zertifikatInfo Daten, die zur Identifikation des Schlüsselinhabers im Zertifikat

abgelegt werden.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION

ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS

ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN

ERIC_CRYPT_ERROR_CREATE_KEY

Siehe auch:

EricChangePassword()

eric_zertifikat_parameter_t

ERiC-Entwicklerhandbuch.pdf, Kap. "Verwendung unterstützter Zertifikate und

Authentifizierungsverfahren"

ERICAPI_DECL int EricCreateTH (const char * xml, const char * verfahren, const char * datenart, const char * vorgang, const char * testmerker, const char * herstellerId, const char * datenLieferant, const char * versionClient, const char * publicKey, EricRueckgabepufferHandle fehlertextPuffer, EricRueckgabepufferHandle xmlRueckgabePuffer)

Diese Funktion erzeugt einen TransportHeader.

Page 75: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

72

Dieser ist der oberste Header in der Datenstruktur. Er enthält Felder für die Kommunikation zwischen

Server und Client. Es wird nur die Kombination NutzdatenHeader-Version "10" und

TransferHeader-Version "8" unterstützt.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Parameter:

in xml XML-String, für den der TransferHeader erzeugt werden soll. Es

kann entweder ein komplettes Elster-XML oder nur der Datenteil

übergeben werden. Ein evtl. vorhandener TransferHeader wird

durch den Aufruf ersetzt. Der allgemeine Aufbau des Elster-XMLs

wird im ERiC-Entwicklerhandbuch.pdf, Kapitel "Verarbeitung von

Daten im XML-Format", beschrieben.

in verfahren Name des Verfahrens, z.B: 'ElsterLohn' oder 'ElsterAnmeldung',

siehe ERiC-Entwicklerhandbuch.pdf, Tabelle "Eigenschaften der

Datenart" im jeweiligen Kapitel zur Datenart.

in datenart Name der Datenart, z.B.:'LStB' oder 'UStVA', siehe

ERiC-Entwicklerhandbuch.pdf, Tabelle "Eigenschaften der

Datenart" im jeweiligen Kapitel zur Datenart.

in vorgang Name der Übertragungsart, z.B. 'send-NoSig-Offline', siehe

ERiC-Entwicklerhandbuch.pdf, Tabelle "Eigenschaften der

Datenart" im jeweiligen Kapitel zur Datenart.

in testmerker Angabe ob Echtfall oder Testübertragung, siehe

ERiC-Entwicklerhandbuch.pdf, Kap. "Test Unterstützung bei der

ERiC-Anbindung".

in herstellerId Hersteller-ID des Softwareproduktes.

in datenLieferant Der Wert entspricht dem XML-Element "DatenLieferant", wie es

im Schema des Transferheaders der ElsterBasis-XML-Schnittstelle

definiert ist.

in versionClient Angabe von Versionsinformation, die in der Serverantwort auch

zurückgegeben wird und ausgewertet werden kann. Der Wert

NULL entspricht "keine Angabe von Versionsinformation", d.h. es

wird kein Element VersionClient im Transferheader erzeugt. Die

Übergabe eines leeren Strings oder eines zu langen Strings (Länge

> 42), eines Strings mit führenden oder abschließenden

Leerzeichen, oder eines String mit nicht zulässigen (Kontroll-)

Zeichen führt zu einem Fehler

ERIC_GLOBAL_UNGUELTIGER_PARAMETER.

in publicKey Öffentlicher Schlüssel für die Transportschlüsselung

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Fehlertexte geschrieben

werden, siehe EricRueckgabepufferHandle.

out xmlRueckgabePuffe

r

Handle auf einen Rückgabepuffer, in den das Elster-XML mit dem

erzeugten TransportHeader geschrieben wird, siehe

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

ERIC_GLOBAL_VERFAHREN_NICHT_UNTERSTUETZT

ERIC_GLOBAL_DATENART_NICHT_UNTERSTUETZT

ERIC_GLOBAL_VORGANG_NICHT_UNTERSTUETZT

sonst: Fehler aufgetreten, Fehlertext in fehlertextPuffer , Fehler-Returncodes siehe

eric_fehlercodes.h

Page 76: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

73

Vorbedingung:

Falls ein Transportschlüssel übergeben werden muss, ist die Funktion EricGetPublicKey() vorher

aufzurufen.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "XML-Datenverarbeitung mit ERiC"

ERiC-Entwicklerhandbuch.pdf, Kap. "Anwendungsfälle von EricBearbeiteVorgang()"

ERiC-Returncodes und Fehlertexte sind in eric_fehlercodes.h zu finden.

ERICAPI_DECL int EricGetErrormessagesFromXMLAnswer (const char * xml, EricRueckgabepufferHandle transferticketPuffer, EricRueckgabepufferHandle returncodeTHPuffer, EricRueckgabepufferHandle fehlertextTHPuffer, EricRueckgabepufferHandle returncodesUndFehlertexteNDHXmlPuffer)

Hole Transferticket und Returncodes/Fehlermeldungen aus dem Anwort-XML des Servers.

Die Funktion liefert bei erfolgreicher Ausführung:

Das Transferticket aus dem Antwort-XML in dem Parameter transferticketPuffer .

Den Returncode und die Fehlermeldung aus dem Transferheader in den Parametern

returncodeTHPuffer und fehlertextTHPuffer .

Für jeden Nutzdatenheader dessen Returncode und Fehlermeldung als XML-Daten im Parameter

returncodesUndFehlertexteNDHXmlPuffer nach XML Schema Definition

API-Rueckgabe-Schemata/EricGetErrormessagesFromXMLAnswer.xsd im common-Paket. Enthält das

Antwort-XML keine Nutzdaten, wird kein <Fehler> Element zurückgegeben.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Parameter:

in xml Antwort-XML des ELSTER-Servers, das ausgewertet werden soll.

Der originale XML-Server-Datenstrom sollte unverändert

übergeben werden und darf insbesondere keine

Zeilenumbruchzeichen enthalten.

out transferticketPuffer Handle auf einen Rückgabepuffer, in den das Transferticket

geschrieben wird, siehe EricRueckgabepufferHandle.

out returncodeTHPuffe

r

Handle auf einen Rückgabepuffer, in den der Returncode aus dem

Transferheader geschrieben wird. Siehe

EricRueckgabepufferHandle.

out fehlertextTHPuffer Handle auf einen Rückgabepuffer, in den die Fehlermeldung aus

dem Transferheader geschrieben wird, siehe

EricRueckgabepufferHandle.

out returncodesUndFeh

lertexteNDHXmlPu

ffer

Handle auf einen Rückgabepuffer, in den die Liste der Returncodes

nach XML-Schema

API-Rueckgabe-Schemata/EricGetErrormessagesFromXMLAnswe

r.xsd im common-Paket geschrieben werden, siehe

EricRueckgabepufferHandle.

Beispiel: <?xml version="1.0" encoding="ISO-8859-15"?>

<EricGetErrormessagesFromXMLAnswer

xmlns="http://www.elster.de/EricXML/1.0/EricGetErrorm

essagesFromXMLAnswer">

<Fehler>

<Code>1</Code>

<Meldung>Fehlermeldung 1</Meldung>

</Fehler>

<Fehler>

<Code>2</Code>

<Meldung>Fehlermeldung 2</Meldung>

</Fehler>

Page 77: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

74

(...)

</EricGetErrormessagesFromXMLAnswer>

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

Zu beachten:

Diese Funktion kann nicht dafür verwendet werden, die Antwort im Datenteil aus einer dekodierten

Serverantwort für Lohnsteuerbescheinigungen auszuwerten.

Siehe auch:

XML-Schema des Transferheaders ist zu finden in Teil1_ElsterBasis-XML-Schnittstelle_V*.zip

(th000008_extern.xsd).

XML-Schema des Nutzdatenheaders ist zu finden in Teil1_ElsterBasis-XML-Schnittstelle_V*.zip

(ndh000010_extern.xsd).

ERiC-Entwicklerhandbuch.pdf, Kap. "Schnittstellenbeschreibungen", Tabelle "Weitere Dokumentation

- Schnittstellenbeschreibung"

ERICAPI_DECL int EricGetHandleToCertificate (EricZertifikatHandle * hToken, uint32_t * iInfoPinSupport, const char * pathToKeystore)

Liefert ein Zertifikat-Handle und gibt im Parameter iInfoPinSupport die unterstützten PIN-Werte zurück.

Das ERiC-API benötigt Zertifikat-Handles typischerweise bei kryptografischen Operationen.

Zertifikat-Handles sollten möglichst frühzeitig, d.h. wenn sie nicht mehr benötigt werden, mit

EricCloseHandleToCertificate() freigegeben werden, spätestens jedoch zum Programmende bzw. vor

dem Entladen der ericapi Bibliothek.

Parameter:

out hToken Handle zum Portalzertifikat oder clientseitig erzeugtem Zertifikat

out iInfoPinSupport Wird in iInfoPinSupport ein Zeiger ungleich NULL

übergeben und die Funktion mit ERIC_OK beendet, dann enthält

iInfoPinSupport einen vorzeichenlosen Integer-Wert. In

diesem Wert ist kodiert abgelegt, ob eine PIN-Eingabe erforderlich

ist und welche PIN-Statusinformationen unterstützt werden. Die

kodierten Werte (nachfolgend in hexadezimaler Form angegeben)

können durch ein binäres ODER kombiniert werden und bedeuten

im Einzelnen:

0x00: Keine PIN-Angabe erforderlich, kein PIN-Status

unterstützt.

0x01: PIN-Angabe für Signatur erforderlich.

0x02: PIN-Angabe für Entschlüsselung erforderlich.

0x04: PIN-Angabe für Verschlüsselung des Zertifikats

erforderlich.

0x08: reserviert (wird derzeit nicht verwendet)

0x10: PIN-Status "Pin Ok" wird unterstützt.

0x20: PIN-Status "Der letzte Versuch der Pin-Eingabe

schlug fehl" wird unterstützt.

0x40: PIN-Status "Beim nächsten fehlerhaften Versuch

wird die Pin gesperrt" wird unterstützt.

0x80: PIN-Status "Pin ist gesperrt" wird unterstützt.

Page 78: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

75

Falls vom Aufrufer NULL übergeben wird, gibt die

Funktion nichts zurück.

in pathToKeystore

Clientseitig erzeugtes Zertifikat: Pfad zum Verzeichnis, in

dem sich die Zertifikats-Datei (.cer) und die Datei mit dem

privaten Schlüssel (.p12) befinden. Diese Kryptomittel

wurden mit EricCreateKey() erzeugt, siehe (1).

Software-Portalzertifikat: Pfad zur

Software-Zertifikatsdatei (i.d.R. mit der Endung .pfx),

siehe (2).

Sicherheitsstick: Pfad zur Treiberdatei, siehe (3). Bitte

beachten, dass der Treiber betriebssystemabhängig sein

kann. Weitere Informationen in der Anleitung zum

Sicherheitsstick oder unter https://www.sicherheitsstick.de.

Signaturkarte: Pfad zur Treiberdatei, welcher einen Zugriff

auf die Signaturkarte ermöglicht, siehe (3). Weitere

Informationen in der Anleitung zur Signaturkarte.

(1) Der Pfad zum Verzeichnis ist bei clientseitig erzeugten Zertifikaten relativ zum aktuellen

Arbeitsverzeichnis oder absolut anzugeben.

(2) Der Pfad zur Datei ist bei Software-Zertifikaten relativ zum aktuellen Arbeitsverzeichnis oder

absolut anzugeben.

(3) Bei Sicherheitssticks und Signaturkarten ist bei der Angabe des Treibers der Suchmechanismus

nach dynamischen Modulen des jeweiligen Betriebssystems zu berücksichtigen. Weitere

Informationen sind z.B. unter Windows der Dokumentation der LoadLibrary() oder unter Linux und

Mac OS der Dokumentation der dlopen() zu entnehmen.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT

ERIC_CRYPT_E_MAX_SESSION

ERIC_CRYPT_E_PSE_PATH

ERIC_CRYPT_E_BUSY

ERIC_CRYPT_E_P11_SLOT_EMPTY

ERIC_CRYPT_E_NO_SIG_ENC_KEY

Siehe auch:

EricCloseHandleToCertificate()

EricGetPinStatus()

EricSignAndSend()

ERICAPI_DECL int EricGetHighestVersions (EricRueckgabepufferHandle produktversionPuffer, EricRueckgabepufferHandle dateiversionPuffer)

Ermittle höchste Produkt- und Dateiversionen.

Mit Hilfe dieser Funktion werden die höchste Dateiversion und die höchste Produktversion aller ERiC

DLLs jeweils als Zeichenkette in die Rückgabepuffer zurückgegeben. Eine aktuelle Liste der

geprüften Bibliotheken ist im Entwicklerbereich, ERiC Downloadbereich, im Abschnitt

"Mindestversion" auf https://www.elster.de/ssl/secure/eric.php#mindest zu finden.

Page 79: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

76

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Parameter:

out produktversionPuff

er

Handle auf einen Rückgabepuffer, in den die höchste

Produktversion geschrieben wird, siehe

EricRueckgabepufferHandle.

out dateiversionPuffer Handle auf einen Rückgabepuffer, in den die höchste Dateiversion

geschrieben wird, siehe EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

sonst: Fehler aufgetreten.

Siehe auch:

EricSystemCheck()

EricVersion()

ERICAPI_DECL int EricGetPinStatus (EricZertifikatHandle hToken, uint32_t * pinStatus, uint32_t keyType)

Abfrage des PIN-Status für ein passwortgeschütztes Kryptomittel.

Der PIN-Status wird für einen passwortgeschützten Bereich ermittelt, der durch das übergebene

Zertifikat-Handle im Parameter hToken referenziert wird. Da bei Sicherheitssticks und

Signaturkarten durch ein einziges Zertifikat-Handle zwei Schlüsselpaare referenziert werden können

(eines für die Signatur und eines für die Verschlüsselung von Daten), muss grundsätzlich der

Parameter keyType gesetzt werden.

Mit dem Rückgabewert der Funktion kann der Endanwender rechtzeitig informiert werden, falls bei

einer weiteren falschen PIN-Eingabe das Kryptomittel gesperrt wird. Im Fehlerfall ist pinStatus

nicht definiert.

Der Karten- bzw. Stickhersteller ist für seine Implementierung verantwortlich, dass der korrekte

PIN-Status zurückgegeben wird, siehe auch Tabelle "PIN-Statusabfrage für POZ" im Unterkap. "Das

Portalzertifikat (POZ)" im Dokument ERiC-Entwicklerhandbuch.pdf.

Parameter:

in hToken Zertifikat-Handle für dessen passwortgeschützten Bereich der

PIN-Status ermittelt werden soll. Wird von der Funktion

EricGetHandleToCertificate() zurückgeliefert.

out pinStatus Mögliche Rückgabewerte:

0: StatusPinOk: Kein Fehlversuch oder keine

Informationen verfügbar

1: StatusPinLocked: PIN gesperrt

2: StatusPreviousPinError: Die letzte PIN-Eingabe war

fehlerhaft

3: StatusLockedIfPinError: Beim nächsten fehlerhaften

Versuch wird die PIN gesperrt

in keyType Mögliche Eingabewerte:

0: eSignatureKey: Schlüssel für die Signatur von Daten

1: eEncryptionKey: Schlüssel für die Verschlüsselung von

Page 80: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

77

Daten

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

sonst: Fehler aufgetreten

Siehe auch:

EricGetHandleToCertificate()

ERiC-Entwicklerhandbuch.pdf, Kap. "Verwendung unterstützter Zertifikate und

Authentifizierungsverfahren"

ERICAPI_DECL int EricGetPublicKey (const eric_verschluesselungs_parameter_t * cryptoParameter, EricRueckgabepufferHandle rueckgabePuffer)

Liefert zum Zertifikathandle der übergebenen cryptoParameter den öffentlichen Schlüssel des

Verschlüsselungszertifikats als base64-kodierte Zeichenkette.

Parameter:

in cryptoParameter Die Struktur enthält das Zertifikat-Handle und die PIN. Der

Abrufcode wird ignoriert. Falls der Zugriff auf den öffentlichen

Schlüssel keine PIN erfordert, ist PIN=NULL anzugeben.

out rueckgabePuffer Handle auf den Rückgabepuffer. Bei Erfolg enthält der

Rückgabepuffer den öffentlichen Schlüssel als base64-kodierte

Zeichenkette.

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern

siehe Dokumentation zu EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_CRYPT_E_INVALID_HANDLE

ERIC_CRYPT_E_P12_ENC_KEY

ERIC_CRYPT_E_PIN_WRONG

ERIC_CRYPT_E_PIN_LOCKED

Sonst: Ein anderer Fehler ist aufgetreten. Eine Fehlerbeschreibung kann über die Funktion

EricHoleFehlerText() abgerufen werden.

Siehe auch:

EricGetHandleToCertificate()

EricHoleFehlerText()

EricCreateTH()

ERICAPI_DECL int EricMakeElsterStnr (const char * steuernrBescheid, const char landesnr[2+1], const char bundesfinanzamtsnr[4+1], EricRueckgabepufferHandle steuernrPuffer, EricRueckgabepufferHandle fehlertextPuffer)

Erzeuge Steuernummer im ELSTER-Steuernummerformat.

Page 81: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

78

Die Funktion erzeugt aus einer angegebenen Steuernummer im Format des Steuerbescheides eine

13-stellige Steuernummer im ELSTER-Steuernummerformat.

Die sich ergebende 13-stellige Steuernummer im ELSTER-Steuernummerformat wird von der

Funktion EricMakeElsterStnr() auch auf Gültigkeit geprüft.

Einer der beiden Parameter Landesnummer oder Bundesfinanzamtnummer muss korrekt angegeben

werden. Der jeweils andere Parameter darf Null oder leer sein. Bei bayerischen und berliner

Steuernummern im Format BBB/UUUUP ist die Angabe der Bundesfinanzamtsnummer zwingend

erforderlich.

Parameter:

in steuernrBescheid Format der Steuernummer wie auch auf amtlichen Schreiben

angegeben.

in landesnr 2-stellige Landesnummer (entspricht den ersten zwei Stellen der

Bundesfinanzamtsnummer).

in bundesfinanzamtsnr 4-stellige Bundesfinanzamtsnummer.

out steuernrPuffer Handle auf einen Rückgabepuffer, in den die Steuernummer im

ELSTER-Steuernummerformat geschrieben wird. Zur Erzeugung,

Verwendung und Freigabe von Rückgabepuffern siehe

Dokumentation zu EricRueckgabepufferHandle.

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Fehlerbeschreibungen im

Klartext geschrieben werden.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

ERIC_GLOBAL_UNKNOWN

ERICAPI_DECL int EricSend (const char * proxyServer, const char * proxyPort, const char * proxyUser, const char * proxyPwd, const char * xml, EricRueckgabepufferHandle antwortXmlPuffer)

Diese Funktion übermittelt die XML-Daten an die ELSTER Annahmeserver. Die Angabe der

Proxyinformationen ist optional.

Dem Entwicklerhandbuch ERiC-Entwicklerhandbuch.pdf ist im jeweiligen Datenartkapitel zu

entnehmen, ob EricSend() unterstützt wird.

UI Callbacks:

Die Anzeige von Fortschrittsdialogen ist im Entwicklerhandbuch ERiC-Entwicklerhandbuch.pdf,

Kap. "Funktionen für Hinweisfenster und Fortschrittsdialoge" beschrieben.

Parameter:

in proxyServer IP-Adresse oder Servername des HTTP-Proxyservers bzw. ""

in proxyPort Port des Proxyservers bzw. ""

in proxyUser Login am Proxyserver (falls notwendig) bzw. ""

in proxyPwd Passwort für Login am Proxyserver (falls notwendig) bzw. ""

in xml XML-String, der versendet werden soll. Der String muss einen

gefüllten Transferheader enthalten (siehe z. Bsp. EricCreateTH). Er

darf nicht NULL und nicht leer sein.

out antwortXmlPuffer Handle auf einen Rückgabepuffer, in den das Antwort-XML des

ELSTER-Servers geschrieben wird. Zur Erzeugung, Verwendung

und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Page 82: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

79

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT: Die Funktion unterstützt das Verfahren/Datenart

nicht.

ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT: Die Funktion unterstützt den

Vorgang/die Datenart nicht (z.B. darf LStB nur authentifiziert übertragen werden).

ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT: Der Vorgang wird für das angegebene

Verfahren nicht unterstützt.

sonst: Fehler aufgetreten, Fehler-Returncodes siehe eric_fehlercodes.h.

Siehe auch:

EricDialogRegisterInitProgressDialog()

EricDialogRegisterUpdateProgressDialog()

EricDialogRegisterCloseProgressDialog()

EricDialogRegisterCloseProgressDialog()

ERiC-Returncodes und Fehlertexte sind in eric_fehlercodes.h zu finden.

ERICAPI_DECL int EricSignAndSend (const char * proxyServer, const char * proxyPort, const char * proxyUser, const char * proxyPwd, EricZertifikatHandle hToken, const char * pin4PSE, const char * xml2sign, EricRueckgabepufferHandle antwortXmlPuffer)

Diese Funktion übermittelt XML-Daten authentifiziert an die ELSTER-Annahmeserver. Sie übernimmt auch die

Komprimierung sowie die Verschlüsselung der Daten. Der XML-String im Parameter xml2sign ist mit

gefülltem Transferheader zu übergeben, siehe EricCreateTH(). Die Authentifizierung ist nur mit "send-Auth"

möglich.

Erklärungssteuern werden abgelehnt. Für Erklärungssteuern ist die Funktion EricBearbeiteVorgang()

zu verwenden. UI Callbacks:

Es werden die Callbacks für den Fortschrittsdialog aufgerufen.

Zusatzinformationen zu den Fortschrittsdialogen sind im Entwicklerhandbuch

ERiC-Entwicklerhandbuch.pdf beschrieben.

Parameter:

in proxyServer IP-Adresse oder Servername des HTTP-Proxyservers bzw. ""

in proxyPort Port des Proxyservers bzw. ""

in proxyUser Login am Proxyserver (falls notwendig) bzw. ""

in proxyPwd Passwort für Login am Proxyserver (falls notwendig) bzw. ""

in hToken Zertifikat-Handle wie von der Funktion

EricGetHandleToCertificate() zurückgeliefert.

in pin4PSE Passwort des Softwarezertifikates Zur Verwendung von

Signaturkarten in Klasse 3 Lesern ist der Parameter auf NULL zu

setzen.

in xml2sign XML-String, der "authentifiziert" und versendet werden soll. Der

String muss einen gefüllten Transferheader enthalten (siehe z. Bsp.

EricCreateTH). Er darf nicht NULL und nicht leer sein.

out antwortXmlPuffer Handle auf einen Rückgabepuffer, in den das Antwort-XML des

ELSTER-Servers geschrieben wird. Zur Erzeugung, Verwendung

und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

Page 83: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

80

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT: Die Funktion unterstützt das Verfahren/Datenart

nicht.

ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT: Der Vorgang wird für das angegebene

Verfahren nicht unterstützt.

sonst: Anderer Fehler aufgetreten

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Fortschrittsdialoge aufrufen"

EricCreateTH()

EricGetHandleToCertificate()

EricDialogRegisterUpdateProgressDialog()

EricDialogRegisterCloseProgressDialog()

EricDialogRegisterCloseProgressDialog()

ERICAPI_DECL int EricSystemCheck (uint32_t callDialogs)

Plattform-, Betriebssystem- und ERiC-Informationen ausgeben.

Diese Funktion liefert Informationen über die verwendeten ERiC Bibliotheken, ERiC Druckvorlagen,

die eingesetzte Plattform, den Arbeitsspeicher und das verwendete Betriebssystem.

Parameter:

in callDialogs Steuerung der Protokollierungsart

0: Die Protokollierung erfolgt nur in der Logdatei eric.log.

1: Die Protokollierung erfolgt in der Logdatei eric.log und

ggf. über die registrierten Dialogcallbacks

Rückgabe:

ERIC_OK

sonst: Fehler aufgetreten. Der Fehler wird in der Logdatei eric.log protokolliert.

Siehe auch:

EricVersion()

EricDialogRegisterInitProgressDialog()

EricDialogRegisterUpdateProgressDialog()

EricDialogRegisterCloseProgressDialog()

ERICAPI_DECL int EricVersion (EricRueckgabepufferHandle rueckgabeXmlPuffer)

Ermittle Produkt- und Dateiversionen.

Mit Hilfe dieser Funktion kann eine Liste sämtlicher Produkt- und Fileversionen der verwendeten

ERiC-Bibliotheken als XML-Daten geholt werden. Diese Funktion soll bei evtl. auftretenden Fehlern

die Fehlersuche beschleunigen.

Parameter:

out rueckgabeXmlPuffe

r

Handle auf einen Rückgabepuffer, in den zu allen

ERiC-Bibliotheken die Produkt- und Dateiversionen als

XML-Daten nach XML Schema Definition

API-Rueckgabe-Schemata/EricVersion.xsd im common-Paket

geschrieben werden.

Beispiel für Puffer-Inhalt, sofern kein Fehler aufgetreten:

Page 84: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

81

<?xml version="1.0" encoding="ISO-8859-15"?>

<EricVersion xmlns="http://www.elster.de/EricXML/1.0/EricVersion">

<Bibliothek>

<Name>ericapi.dll</Name>

<Produktversion>99, 1, 2, 32767</Produktversion>

<Dateiversion>2008, 3, 5, 0</Dateiversion>

</Bibliothek>

<Bibliothek>

<Name>ericapi.dll</Name>

<Produktversion>99, 1, 2, 32767</Produktversion>

<Dateiversion>2008, 3, 5, 0</Dateiversion>

</Bibliothek>

(...)

</EricVersion>

Zur Erzeugung, Verwendung und Freigabe von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

sonst: Fehler.

Siehe auch:

EricSystemCheck()

EricGetHighestVersions()

ERICAPI_DECL int EricVV (const char * herstellerId, const char * sourcePath, const char * testmerker, EricRueckgabepufferHandle fehlertextPuffer)

Übertragung einer Datei mit Vorsteuervergütungsanträgen an das Bundeszentralamt für Steuern (BZSt).

Parameter:

in herstellerId Identifikationsnummer des Softwareherstellers

in sourcePath Kompletter Pfad der zu übertragenden Datei.

in testmerker Angabe ob Echtfall oder Testübertragung. Für gültige Testmerker

siehe ERiC-Entwicklerhandbuch.pdf, Kapitel "Testmerker".

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Klartextfehlermeldungen

geschrieben werden. Zur Erzeugung, Verwendung und Freigabe

von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

sonst: Fehler aufgetreten, Fehlertext im fehlertextPuffer

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Vorsteuervergütungsantrag (VV)"

ERiC-Entwicklerhandbuch.pdf, Kap. "Test Unterstützung bei der ERiC-Anbindung"

Page 85: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

82

ERICAPI_DECL int EricZD (const char * herstellerId, const char * zulNr, const char * landesnr, const char * sourcePath, const char * testmerker, EricRueckgabepufferHandle fehlertextPuffer)

Über diese Funktion werden Kfz-Zulassungsdaten verschlüsselt und versendet.

Parameter:

in herstellerId Identifikationsnummer des Softwareherstellers

in zulNr Nummer der Zulassungsstelle (5-stellig)

in landesnr Zweistellige Landesnummer des Bundeslandes, an dessen

Rechenzentrum die Daten übertragen werden sollen.

in sourcePath Kompletter Pfad der zu übertragenden Datei.

in testmerker Angabe ob Echtfall oder Testübertragung. Für gültige Testmerker

siehe ERiC-Entwicklerhandbuch.pdf, Kap. "Testmerker".

out fehlertextPuffer Handle auf einen Rückgabepuffer, in den Klartextfehlermeldungen

geschrieben werden. Zur Erzeugung, Verwendung und Freigabe

von Rückgabepuffern siehe Dokumentation zu

EricRueckgabepufferHandle.

Rückgabe:

ERIC_OK

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

sonst: Fehler aufgetreten, Fehlertext im fehlertextPuffer

Zu beachten:

Diese Funktion darf nur von Herstellern von Kfz-Zulassungssoftware genutzt werden.

Siehe auch:

ERiC-Entwicklerhandbuch.pdf, Kap. "Zulassungsdaten (ZD) KFZ Anmeldung"

ERiC-Entwicklerhandbuch.pdf, Kap. "Test Unterstützung bei der ERiC-Anbindung"

Page 86: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

83

Index

abrufCode

eric_verschluesselungs_parameter_t 8

abteilung

eric_zertifikat_parameter_t 11

adresse

eric_zertifikat_parameter_t 11

ATOI64

platform.h 66

Bankbezeichnung_1

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

Bankbezeichnung_oertlich

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

Bemerkung

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

beschreibung

eric_zertifikat_parameter_t 11

BIC_1

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

BIC_oertlich

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

BLZ_1

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

BLZ_oertlich

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

BUFA_NR

Finanzamtsdaten 14

FinanzamtsdatenNeu 18

email

eric_zertifikat_parameter_t 11

EMail_Adresse

Finanzamtsdaten 14

FinanzamtsdatenNeu 19

Ergaenzung_FAName

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

eric_bearbeitung_flag_t

eric_types.h 33

ERIC_CRYPT_E_BUSY

eric_fehlercodes.h 28

ERIC_CRYPT_E_DECRYPT

eric_fehlercodes.h 28

ERIC_CRYPT_E_ENCODE_ERROR

eric_fehlercodes.h 28

ERIC_CRYPT_E_ENCODE_UNKNOWN

eric_fehlercodes.h 28

ERIC_CRYPT_E_ENCRYPT

eric_fehlercodes.h 28

ERIC_CRYPT_E_INTERN

eric_fehlercodes.h 28

ERIC_CRYPT_E_INVALID_HANDLE

eric_fehlercodes.h 27

ERIC_CRYPT_E_INVALID_PARAM_ABC

eric_fehlercodes.h 29

ERIC_CRYPT_E_MAX_SESSION

eric_fehlercodes.h 28

ERIC_CRYPT_E_NO_SIG_ENC_KEY

eric_fehlercodes.h 28

ERIC_CRYPT_E_OUT_OF_MEM

eric_fehlercodes.h 28

ERIC_CRYPT_E_P11_ENC_KEY

eric_fehlercodes.h 28

ERIC_CRYPT_E_P11_SIG_KEY

eric_fehlercodes.h 28

ERIC_CRYPT_E_P11_SLOT_EMPTY

eric_fehlercodes.h 28

ERIC_CRYPT_E_P12_DECODE

eric_fehlercodes.h 28

ERIC_CRYPT_E_P12_ENC_KEY

eric_fehlercodes.h 28

ERIC_CRYPT_E_P12_READ

eric_fehlercodes.h 28

ERIC_CRYPT_E_P12_SIG_KEY

eric_fehlercodes.h 28

ERIC_CRYPT_E_P7_DECODE

eric_fehlercodes.h 28

ERIC_CRYPT_E_P7_READ

eric_fehlercodes.h 28

ERIC_CRYPT_E_P7_RECIPIENT

eric_fehlercodes.h 28

ERIC_CRYPT_E_PIN_LOCKED

eric_fehlercodes.h 28

ERIC_CRYPT_E_PIN_WRONG

eric_fehlercodes.h 28

ERIC_CRYPT_E_PSE_PATH

eric_fehlercodes.h 28

ERIC_CRYPT_E_XML_INIT

eric_fehlercodes.h 28

ERIC_CRYPT_E_XML_PARSE

eric_fehlercodes.h 28

ERIC_CRYPT_E_XML_SIG_ADD

eric_fehlercodes.h 28

ERIC_CRYPT_E_XML_SIG_SIGN

eric_fehlercodes.h 28

ERIC_CRYPT_E_XML_SIG_TAG

eric_fehlercodes.h 28

ERIC_CRYPT_ERROR_CREATE_KEY

eric_fehlercodes.h 27

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_

FORMAT

Page 87: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

84

eric_fehlercodes.h 27

ERIC_CRYPT_PIN_BENOETIGT

eric_fehlercodes.h 29

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_

ZEICHEN

eric_fehlercodes.h 29

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREIC

HEND

eric_fehlercodes.h 29

ERIC_CRYPT_PSE_PFAD

eric_fehlercodes.h 28

ERIC_CRYPT_SIGNATUR

eric_fehlercodes.h 28

ERIC_CRYPT_ZERTIFIKAT

eric_fehlercodes.h 28

ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT

_BEREITS

eric_fehlercodes.h 29

ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZ

EICHNIS

eric_fehlercodes.h 29

ERIC_DECL_EXPORT

platform.h 66

ERIC_DECL_IMPORT

platform.h 66

eric_druck_parameter_t 5

ersteSeite 5

fussText 6

pdfName 6

vorschau 6

eric_fehlercode

eric_fehlercodes.h 23

eric_fehlercode_t

eric_fehlercodes.h 23

eric_fehlercodes.h 21

ERIC_CRYPT_E_BUSY 28

ERIC_CRYPT_E_DECRYPT 28

ERIC_CRYPT_E_ENCODE_ERROR 28

ERIC_CRYPT_E_ENCODE_UNKNOWN 28

ERIC_CRYPT_E_ENCRYPT 28

ERIC_CRYPT_E_INTERN 28

ERIC_CRYPT_E_INVALID_HANDLE 27

ERIC_CRYPT_E_INVALID_PARAM_ABC 29

ERIC_CRYPT_E_MAX_SESSION 28

ERIC_CRYPT_E_NO_SIG_ENC_KEY 28

ERIC_CRYPT_E_OUT_OF_MEM 28

ERIC_CRYPT_E_P11_ENC_KEY 28

ERIC_CRYPT_E_P11_SIG_KEY 28

ERIC_CRYPT_E_P11_SLOT_EMPTY 28

ERIC_CRYPT_E_P12_DECODE 28

ERIC_CRYPT_E_P12_ENC_KEY 28

ERIC_CRYPT_E_P12_READ 28

ERIC_CRYPT_E_P12_SIG_KEY 28

ERIC_CRYPT_E_P7_DECODE 28

ERIC_CRYPT_E_P7_READ 28

ERIC_CRYPT_E_P7_RECIPIENT 28

ERIC_CRYPT_E_PIN_LOCKED 28

ERIC_CRYPT_E_PIN_WRONG 28

ERIC_CRYPT_E_PSE_PATH 28

ERIC_CRYPT_E_XML_INIT 28

ERIC_CRYPT_E_XML_PARSE 28

ERIC_CRYPT_E_XML_SIG_ADD 28

ERIC_CRYPT_E_XML_SIG_SIGN 28

ERIC_CRYPT_E_XML_SIG_TAG 28

ERIC_CRYPT_ERROR_CREATE_KEY 27

ERIC_CRYPT_NICHT_UNTERSTUETZTES_PS

E_FORMAT 27

ERIC_CRYPT_PIN_BENOETIGT 29

ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIG

E_ZEICHEN 29

ERIC_CRYPT_PIN_STAERKE_NICHT_AUSRE

ICHEND 29

ERIC_CRYPT_PSE_PFAD 28

ERIC_CRYPT_SIGNATUR 28

ERIC_CRYPT_ZERTIFIKAT 28

ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIE

RT_BEREITS 29

ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VE

RZEICHNIS 29

eric_fehlercode 23

eric_fehlercode_t 23

ERIC_GLOBAL_ABRUFCODE_NICHT_ERLA

UBT 24

ERIC_GLOBAL_ARITHMETIKFEHLER 24

ERIC_GLOBAL_BIC_FORMALER_FEHLER

26

ERIC_GLOBAL_BIC_LAENDERCODE_FEHLE

R 26

ERIC_GLOBAL_CHECK_CORRUPTED_NDS

24

ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN

24

ERIC_GLOBAL_DATENART_NICHT_UNTERS

TUETZT 25

ERIC_GLOBAL_DATENSATZ_ZU_GROSS 24

ERIC_GLOBAL_DRUCK_FUER_VERFAHREN

_NICHT_ERLAUBT 25

ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUB

T 24

ERIC_GLOBAL_EINGABE_FORMAT_NICHT_

UNTERSTUETZT 25

ERIC_GLOBAL_EINGANGSDATENSATZ_ZU_

GROSS 25

ERIC_GLOBAL_EINSTELLUNG_NAME_UNG

UELTIG 26

ERIC_GLOBAL_EINSTELLUNG_WERT_UNG

UELTIG 26

ERIC_GLOBAL_ERR_DEKODIEREN 26

ERIC_GLOBAL_ERROR_XML_CREATE 24

ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICH

T_UNTERSTUETZT 25

ERIC_GLOBAL_FEHLERMELDUNG_NICHT_

VORHANDEN 24

Page 88: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

85

ERIC_GLOBAL_FUNKTION_NICHT_ERLAUB

T 24

ERIC_GLOBAL_FUNKTION_NICHT_UNTERS

TUETZT 26

ERIC_GLOBAL_IBAN_FORMALER_FEHLER

25

ERIC_GLOBAL_IBAN_LAENDERCODE_FEHL

ER 25

ERIC_GLOBAL_IBAN_LANDESFORMAT_FE

HLER 26

ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLE

R 26

ERIC_GLOBAL_IDNUMMER_ERSTE_ZIFFER

_UNGUELTIG 26

ERIC_GLOBAL_IDNUMMER_LAENGE_UNG

UELTIG 26

ERIC_GLOBAL_IDNUMMER_NICHT_GENAU

_EINE_ZIFFER_DOPPELT 26

ERIC_GLOBAL_IDNUMMER_NICHT_NUMER

ISCH 26

ERIC_GLOBAL_IDNUMMER_PRUEFZIFFER_

UNGUELTIG 26

ERIC_GLOBAL_ILLEGAL_STATE 24

ERIC_GLOBAL_INTERNER_FEHLER 24

ERIC_GLOBAL_KEINE_DATEN_VORHANDE

N 24

ERIC_GLOBAL_NDS_TYPE_IS_NOT_ERKLA

ERUNGSSTEUER 25

ERIC_GLOBAL_NICHT_GENUEGEND_ARBEI

TSSPEICHER 24

ERIC_GLOBAL_NO_VERSAND_IN_BETA_VE

RSION 24

ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_

ERLAUBT 24

ERIC_GLOBAL_NUTZDATENTICKET_UNGU

ELTIG 26

ERIC_GLOBAL_PRUEF_FEHLER 23

ERIC_GLOBAL_PUFFER_UEBERLAUF 24

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIK

T 24

ERIC_GLOBAL_SEND_AUTH_PIN_NICHT_A

NGEGEBEN_RESERVIERT 25

ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EI

NES 25

ERIC_GLOBAL_STEUERNUMMER_UNGUEL

TIG 24

ERIC_GLOBAL_TESTMERKER_UNGUELTIG

24

ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX

24

ERIC_GLOBAL_TRANSFERHANDLE 25

ERIC_GLOBAL_UFA_VZ_NICHT_UNTERSTU

ETZT 24

ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBI

NATION 25

ERIC_GLOBAL_UNGUELTIGE_PARAMETER

_VERSION 25

ERIC_GLOBAL_UNGUELTIGER_PARAMETE

R 25

ERIC_GLOBAL_UNKNOWN 23

ERIC_GLOBAL_UNKNOWN_PARAMETER_E

RROR 24

ERIC_GLOBAL_UPDATE_NECESSARY 26

ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPO

RTED 25

ERIC_GLOBAL_UTI_ERROR 25

ERIC_GLOBAL_VERFAHREN_NICHT_UNTE

RSTUETZT 25

ERIC_GLOBAL_VERSAND_ART_NICHT_UNT

ERSTUETZT 25

ERIC_GLOBAL_VERSCHLUESSELUNGS_PA

RAMETER_NICHT_ANGEGEBEN 25

ERIC_GLOBAL_VERSCHLUESSELUNGS_PA

RAMETER_NICHT_ERLAUBT 24

ERIC_GLOBAL_VORGANG_NICHT_UNTERS

TUETZT 25

ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_

LANG 26

ERIC_IO_DATEI_INKORREKT 29

ERIC_IO_DATENTEILENDNOTFOUND 30

ERIC_IO_DATENTEILNOTFOUND 30

ERIC_IO_FALSCHES_VERFAHREN 29

ERIC_IO_FEHLER 29

ERIC_IO_MASTERDATENSERVICE_NICHT_

VERFUEGBAR 29

ERIC_IO_NDS_GENERIERUNG_FEHLGESCH

LAGEN 29

ERIC_IO_PARSE_FEHLER 29

ERIC_IO_READER_FALSCHES_ENCODING

29

ERIC_IO_READER_FEHLENDER_NUTZDATE

NHEADER 29

ERIC_IO_READER_FORMALE_FEHLER 29

ERIC_IO_READER_MEHRFACHE_NUTZDAT

EN_ELEMENTE 29

ERIC_IO_READER_MEHRFACHE_NUTZDAT

ENBLOCK_ELEMENTE 29

ERIC_IO_READER_MEHRFACHE_STEUERFA

ELLE 29

ERIC_IO_READER_NUTZDATENHEADER_NI

CHT_UNTERSTUETZTE_VERSION 30

ERIC_IO_READER_SCHEMA_VALIDIERUNG

SFEHLER 30

ERIC_IO_READER_STEUERZEICHEN_IM_NU

TZDATENHEADER 30

ERIC_IO_READER_STEUERZEICHEN_IM_TR

ANSFERHEADER 30

ERIC_IO_READER_STEUERZEICHEN_IN_DE

N_NUTZDATEN 30

ERIC_IO_READER_UNBEKANNTE_XML_EN

TITY 30

ERIC_IO_READER_UNERWARTETE_ELEME

NTE 29

Page 89: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

86

ERIC_IO_READER_UNTERSACHBEREICH_U

NGUELTIG 30

ERIC_IO_READER_ZU_VIELE_NUTZDATEN

BLOCK_ELEMENTE 30

ERIC_IO_STEUERZEICHEN_IM_NDS 29

ERIC_IO_UEBERGABEPARAMETER_FEHLER

HAFT 30

ERIC_IO_UNBEKANNTE_DATENART 29

ERIC_IO_VERSIONSINFORMATIONEN_NICH

T_GEFUNDEN 29

ERIC_OK 23

ERIC_PRINT_ABBRUCH_DRUCKVORBEREIT

UNG 30

ERIC_PRINT_ABBRUCH_GENERIERUNG 30

ERIC_PRINT_AUSGABEZIEL_UNBEKANNT

30

ERIC_PRINT_DRUCKVORLAGE_NICHT_GEF

UNDEN 30

ERIC_PRINT_FUSSTEXT_ZU_LANG 30

ERIC_PRINT_INITIALISIERUNG_FEHLERHA

FT 30

ERIC_PRINT_INTERNER_FEHLER 30

ERIC_PRINT_STEUERFALL_NICHT_UNTERS

TUETZT 30

ERIC_PRINT_UNGUELTIGER_DATEI_PFAD

30

ERIC_TRANSFER_COM_ERROR 26

ERIC_TRANSFER_ERR_BEGINDATENGROES

SE 27

ERIC_TRANSFER_ERR_BEGINDATENLIEFER

ANT 27

ERIC_TRANSFER_ERR_BEGINTRANSPORTS

CHLUESSEL 27

ERIC_TRANSFER_ERR_CONNECTSERVER

27

ERIC_TRANSFER_ERR_DATENTEILENDNOT

FOUND 26

ERIC_TRANSFER_ERR_DATENTEILNOTFOU

ND 26

ERIC_TRANSFER_ERR_ENDDATENGROESS

E 27

ERIC_TRANSFER_ERR_ENDDATENLIEFERA

NT 27

ERIC_TRANSFER_ERR_ENDSIGUSER 27

ERIC_TRANSFER_ERR_ENDTRANSPORTSCH

LUESSEL 27

ERIC_TRANSFER_ERR_HERSTELLERID_UN

GUELTIG 27

ERIC_TRANSFER_ERR_NORESPONSE 27

ERIC_TRANSFER_ERR_NOTENCRYPTED 27

ERIC_TRANSFER_ERR_OTHER 27

ERIC_TRANSFER_ERR_PARAM 26

ERIC_TRANSFER_ERR_PROXYAUTH 27

ERIC_TRANSFER_ERR_PROXYCONNECT

27

ERIC_TRANSFER_ERR_SEND 27

ERIC_TRANSFER_ERR_SEND_INIT 27

ERIC_TRANSFER_ERR_TIMEOUT 27

ERIC_TRANSFER_ERR_XML_ENCODING 27

ERIC_TRANSFER_ERR_XML_NHEADER 27

ERIC_TRANSFER_ERR_XML_THEADER 26

ERIC_TRANSFER_ERR_XMLTAG_NICHT_GE

FUNDEN 27

ERIC_TRANSFER_VORGANG_NICHT_UNTE

RSTUETZT 26

ERIC_GLOBAL_ABRUFCODE_NICHT_ERLAUB

T

eric_fehlercodes.h 24

ERIC_GLOBAL_ARITHMETIKFEHLER

eric_fehlercodes.h 24

ERIC_GLOBAL_BIC_FORMALER_FEHLER

eric_fehlercodes.h 26

ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER

eric_fehlercodes.h 26

ERIC_GLOBAL_CHECK_CORRUPTED_NDS

eric_fehlercodes.h 24

ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN

eric_fehlercodes.h 24

ERIC_GLOBAL_DATENART_NICHT_UNTERST

UETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_DATENSATZ_ZU_GROSS

eric_fehlercodes.h 24

ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_N

ICHT_ERLAUBT

eric_fehlercodes.h 25

ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT

eric_fehlercodes.h 24

ERIC_GLOBAL_EINGABE_FORMAT_NICHT_U

NTERSTUETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_EINGANGSDATENSATZ_ZU_G

ROSS

eric_fehlercodes.h 25

ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUE

LTIG

eric_fehlercodes.h 26

ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUE

LTIG

eric_fehlercodes.h 26

ERIC_GLOBAL_ERR_DEKODIEREN

eric_fehlercodes.h 26

ERIC_GLOBAL_ERROR_XML_CREATE

eric_fehlercodes.h 24

ERIC_GLOBAL_ERSTE_SEITE_DRUCK_NICHT_

UNTERSTUETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VO

RHANDEN

eric_fehlercodes.h 24

ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT

eric_fehlercodes.h 24

ERIC_GLOBAL_FUNKTION_NICHT_UNTERST

UETZT

Page 90: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

87

eric_fehlercodes.h 26

ERIC_GLOBAL_IBAN_FORMALER_FEHLER

eric_fehlercodes.h 25

ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLE

R

eric_fehlercodes.h 25

ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHL

ER

eric_fehlercodes.h 26

ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER

eric_fehlercodes.h 26

ERIC_GLOBAL_IDNUMMER_ERSTE_ZIFFER_U

NGUELTIG

eric_fehlercodes.h 26

ERIC_GLOBAL_IDNUMMER_LAENGE_UNGUE

LTIG

eric_fehlercodes.h 26

ERIC_GLOBAL_IDNUMMER_NICHT_GENAU_E

INE_ZIFFER_DOPPELT

eric_fehlercodes.h 26

ERIC_GLOBAL_IDNUMMER_NICHT_NUMERIS

CH

eric_fehlercodes.h 26

ERIC_GLOBAL_IDNUMMER_PRUEFZIFFER_U

NGUELTIG

eric_fehlercodes.h 26

ERIC_GLOBAL_ILLEGAL_STATE

eric_fehlercodes.h 24

ERIC_GLOBAL_INTERNER_FEHLER

eric_fehlercodes.h 24

ERIC_GLOBAL_KEINE_DATEN_VORHANDEN

eric_fehlercodes.h 24

ERIC_GLOBAL_NDS_TYPE_IS_NOT_ERKLAER

UNGSSTEUER

eric_fehlercodes.h 25

ERIC_GLOBAL_NICHT_GENUEGEND_ARBEIT

SSPEICHER

eric_fehlercodes.h 24

ERIC_GLOBAL_NO_VERSAND_IN_BETA_VER

SION

eric_fehlercodes.h 24

ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ER

LAUBT

eric_fehlercodes.h 24

ERIC_GLOBAL_NUTZDATENTICKET_UNGUEL

TIG

eric_fehlercodes.h 26

ERIC_GLOBAL_PRUEF_FEHLER

eric_fehlercodes.h 23

ERIC_GLOBAL_PUFFER_UEBERLAUF

eric_fehlercodes.h 24

ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT

eric_fehlercodes.h 24

ERIC_GLOBAL_SEND_AUTH_PIN_NICHT_ANG

EGEBEN_RESERVIERT

eric_fehlercodes.h 25

ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINE

S

eric_fehlercodes.h 25

ERIC_GLOBAL_STEUERNUMMER_UNGUELTI

G

eric_fehlercodes.h 24

ERIC_GLOBAL_TESTMERKER_UNGUELTIG

eric_fehlercodes.h 24

ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX

eric_fehlercodes.h 24

ERIC_GLOBAL_TRANSFERHANDLE

eric_fehlercodes.h 25

ERIC_GLOBAL_UFA_VZ_NICHT_UNTERSTUET

ZT

eric_fehlercodes.h 24

ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBIN

ATION

eric_fehlercodes.h 25

ERIC_GLOBAL_UNGUELTIGE_PARAMETER_V

ERSION

eric_fehlercodes.h 25

ERIC_GLOBAL_UNGUELTIGER_PARAMETER

eric_fehlercodes.h 25

ERIC_GLOBAL_UNKNOWN

eric_fehlercodes.h 23

ERIC_GLOBAL_UNKNOWN_PARAMETER_ERR

OR

eric_fehlercodes.h 24

ERIC_GLOBAL_UPDATE_NECESSARY

eric_fehlercodes.h 26

ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPOR

TED

eric_fehlercodes.h 25

ERIC_GLOBAL_UTI_ERROR

eric_fehlercodes.h 25

ERIC_GLOBAL_VERFAHREN_NICHT_UNTERS

TUETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_VERSAND_ART_NICHT_UNTE

RSTUETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_VERSCHLUESSELUNGS_PARA

METER_NICHT_ANGEGEBEN

eric_fehlercodes.h 25

ERIC_GLOBAL_VERSCHLUESSELUNGS_PARA

METER_NICHT_ERLAUBT

eric_fehlercodes.h 24

ERIC_GLOBAL_VORGANG_NICHT_UNTERSTU

ETZT

eric_fehlercodes.h 25

ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_L

ANG

eric_fehlercodes.h 26

ERIC_IO_DATEI_INKORREKT

eric_fehlercodes.h 29

ERIC_IO_DATENTEILENDNOTFOUND

eric_fehlercodes.h 30

Page 91: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

88

ERIC_IO_DATENTEILNOTFOUND

eric_fehlercodes.h 30

ERIC_IO_FALSCHES_VERFAHREN

eric_fehlercodes.h 29

ERIC_IO_FEHLER

eric_fehlercodes.h 29

ERIC_IO_MASTERDATENSERVICE_NICHT_VE

RFUEGBAR

eric_fehlercodes.h 29

ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLA

GEN

eric_fehlercodes.h 29

ERIC_IO_PARSE_FEHLER

eric_fehlercodes.h 29

ERIC_IO_READER_FALSCHES_ENCODING

eric_fehlercodes.h 29

ERIC_IO_READER_FEHLENDER_NUTZDATEN

HEADER

eric_fehlercodes.h 29

ERIC_IO_READER_FORMALE_FEHLER

eric_fehlercodes.h 29

ERIC_IO_READER_MEHRFACHE_NUTZDATEN

_ELEMENTE

eric_fehlercodes.h 29

ERIC_IO_READER_MEHRFACHE_NUTZDATEN

BLOCK_ELEMENTE

eric_fehlercodes.h 29

ERIC_IO_READER_MEHRFACHE_STEUERFAE

LLE

eric_fehlercodes.h 29

ERIC_IO_READER_NUTZDATENHEADER_NIC

HT_UNTERSTUETZTE_VERSION

eric_fehlercodes.h 30

ERIC_IO_READER_SCHEMA_VALIDIERUNGSF

EHLER

eric_fehlercodes.h 30

ERIC_IO_READER_STEUERZEICHEN_IM_NUT

ZDATENHEADER

eric_fehlercodes.h 30

ERIC_IO_READER_STEUERZEICHEN_IM_TRA

NSFERHEADER

eric_fehlercodes.h 30

ERIC_IO_READER_STEUERZEICHEN_IN_DEN_

NUTZDATEN

eric_fehlercodes.h 30

ERIC_IO_READER_UNBEKANNTE_XML_ENTI

TY

eric_fehlercodes.h 30

ERIC_IO_READER_UNERWARTETE_ELEMENT

E

eric_fehlercodes.h 29

ERIC_IO_READER_UNTERSACHBEREICH_UN

GUELTIG

eric_fehlercodes.h 30

ERIC_IO_READER_ZU_VIELE_NUTZDATENBL

OCK_ELEMENTE

eric_fehlercodes.h 30

ERIC_IO_STEUERZEICHEN_IM_NDS

eric_fehlercodes.h 29

ERIC_IO_UEBERGABEPARAMETER_FEHLERH

AFT

eric_fehlercodes.h 30

ERIC_IO_UNBEKANNTE_DATENART

eric_fehlercodes.h 29

ERIC_IO_VERSIONSINFORMATIONEN_NICHT_

GEFUNDEN

eric_fehlercodes.h 29

ERIC_KLARTEXT_FEHLER_MAX_GROESSE

ericdef.h 56

ERIC_MAX_LAENGE_FUSSTEXT

ericdef.h 57

ERIC_OK

eric_fehlercodes.h 23

ERIC_PRINT_ABBRUCH_DRUCKVORBEREITU

NG

eric_fehlercodes.h 30

ERIC_PRINT_ABBRUCH_GENERIERUNG

eric_fehlercodes.h 30

ERIC_PRINT_AUSGABEZIEL_UNBEKANNT

eric_fehlercodes.h 30

ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFU

NDEN

eric_fehlercodes.h 30

ERIC_PRINT_FUSSTEXT_ZU_LANG

eric_fehlercodes.h 30

ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT

eric_fehlercodes.h 30

ERIC_PRINT_INTERNER_FEHLER

eric_fehlercodes.h 30

ERIC_PRINT_PDF

eric_types.h 33

ERIC_PRINT_STEUERFALL_NICHT_UNTERST

UETZT

eric_fehlercodes.h 30

ERIC_PRINT_UNGUELTIGER_DATEI_PFAD

eric_fehlercodes.h 30

ERIC_SEND_AUTH

eric_types.h 33

ERIC_SEND_AUTH_PART

eric_types.h 33

ERIC_SEND_NO_SIG

eric_types.h 33

ERIC_TESTMERKER_CLEARINGSTELLE

ericdef.h 57

ERIC_TESTMERKER_ECC

ericdef.h 57

ERIC_TESTMERKER_ECHTFALL

ericdef.h 57

ERIC_TRANSFER_COM_ERROR

eric_fehlercodes.h 26

ERIC_TRANSFER_ERR_BEGINDATENGROESS

E

eric_fehlercodes.h 27

Page 92: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

89

ERIC_TRANSFER_ERR_BEGINDATENLIEFERA

NT

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_BEGINTRANSPORTSCH

LUESSEL

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_CONNECTSERVER

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_DATENTEILENDNOTF

OUND

eric_fehlercodes.h 26

ERIC_TRANSFER_ERR_DATENTEILNOTFOUN

D

eric_fehlercodes.h 26

ERIC_TRANSFER_ERR_ENDDATENGROESSE

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_ENDDATENLIEFERAN

T

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_ENDSIGUSER

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_ENDTRANSPORTSCHL

UESSEL

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_HERSTELLERID_UNGU

ELTIG

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_NORESPONSE

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_NOTENCRYPTED

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_OTHER

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_PARAM

eric_fehlercodes.h 26

ERIC_TRANSFER_ERR_PROXYAUTH

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_PROXYCONNECT

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_SEND

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_SEND_INIT

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_TIMEOUT

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_XML_ENCODING

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_XML_NHEADER

eric_fehlercodes.h 27

ERIC_TRANSFER_ERR_XML_THEADER

eric_fehlercodes.h 26

ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEF

UNDEN

eric_fehlercodes.h 27

ERIC_TRANSFER_VORGANG_NICHT_UNTERS

TUETZT

eric_fehlercodes.h 26

eric_types.h 31

eric_bearbeitung_flag_t 33

ERIC_PRINT_PDF 33

ERIC_SEND_AUTH 33

ERIC_SEND_AUTH_PART 33

ERIC_SEND_NO_SIG 33

ERIC_VALIDIERE 33

EricRueckgabepufferHandle 32

EricTransferHandle 32

EricZertifikatHandle 33

ERIC_VALIDIERE

eric_types.h 33

eric_verschluesselungs_parameter_t 8

abrufCode 8

pin 8

zertifikatHandle 9

eric_zertifikat_parameter_t 10

abteilung 11

adresse 11

beschreibung 11

email 11

land 11

name 11

organisation 11

ort 12

version 12

ericapi.h 34

EricBearbeiteVorgang 36

EricDekodiere 39

EricDialogRegisterCloseProgressDialog 40

EricDialogRegisterInitProgressDialog 40

EricDialogRegisterMessageDialog 41

EricDialogRegisterUpdateProgressDialog 41

EricDialogUnregisterCloseProgressDialog 41

EricDialogUnregisterInitProgressDialog 42

EricDialogUnregisterMessageDialog 42

EricDialogUnregisterUpdateProgressDialog 42

EricEinstellungAlleZuruecksetzen 42

EricEinstellungLesen 43

EricEinstellungSetzen 43

EricEinstellungZuruecksetzen 44

EricFormatIdentifikationsMerkmal 44

EricFormatStNr 45

EricGetAuswahlListen 45

EricHoleFehlerText 46

EricHoleFinanzaemter 46

EricHoleFinanzamtLandNummern 47

EricHoleFinanzamtsdaten 48

EricHoleFinanzamtsdatenNeu 48

EricHoleTestfinanzaemter 49

EricHoleZertifikatFingerabdruck 49

EricKonvertiereZertifikat 50

EricPruefeBIC 50

EricPruefeIBAN 51

EricPruefeIdentifikationsMerkmal 51

EricPruefeSteuernummer 52

EricRueckgabepufferErzeugen 53

Page 93: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

90

EricRueckgabepufferFreigeben 53

EricRueckgabepufferInhalt 54

EricRueckgabepufferLaenge 54

ERICAPI_DECL

ericapiExport.h 55

ericapiExport.h 55

ERICAPI_DECL 55

EricBearbeiteVorgang

ericapi.h 36

EricChangePassword

tm98ericapi.h 68

EricCheckBuFaNummer

tm98ericapi.h 69

EricCheckXML

tm98ericapi.h 70

EricCloseHandleToCertificate

tm98ericapi.h 70

EricCreateKey

tm98ericapi.h 70

EricCreateTH

tm98ericapi.h 71

ericdef.h 56

ERIC_KLARTEXT_FEHLER_MAX_GROESSE

56

ERIC_MAX_LAENGE_FUSSTEXT 57

ERIC_TESTMERKER_CLEARINGSTELLE 57

ERIC_TESTMERKER_ECC 57

ERIC_TESTMERKER_ECHTFALL 57

EURO 57

ericdef_gui.h 58

GUI_IDABORT 61

GUI_IDCANCEL 61

GUI_IDIGNORE 61

GUI_IDNO 61

GUI_IDOK 61

GUI_IDRETRY 61

GUI_IDYES 61

GUI_MB_ICONASTERISK 61

GUI_MB_ICONERROR 62

GUI_MB_ICONEXCLAMATION 62

GUI_MB_ICONHAND 62

GUI_MB_ICONINFORMATION 62

GUI_MB_ICONQUESTION 62

GUI_MB_ICONSTOP 62

GUI_MB_ICONWARNING 62

GUI_MB_OK 62

GUI_MB_OKCANCEL 62

GUI_MB_SYSTEMMODAL 63

GUI_MB_YESNO 63

GUI_MB_YESNOCANCEL 63

T_GUI_EricCloseProgressDialog 59

T_GUI_EricInitProgressDialog 59

T_GUI_EricMessageDialog 60

T_GUI_EricUpdateProgressDialog 60

EricDekodiere

ericapi.h 39

EricDialogRegisterCloseProgressDialog

ericapi.h 40

EricDialogRegisterInitProgressDialog

ericapi.h 40

EricDialogRegisterMessageDialog

ericapi.h 41

EricDialogRegisterUpdateProgressDialog

ericapi.h 41

EricDialogUnregisterCloseProgressDialog

ericapi.h 41

EricDialogUnregisterInitProgressDialog

ericapi.h 42

EricDialogUnregisterMessageDialog

ericapi.h 42

EricDialogUnregisterUpdateProgressDialog

ericapi.h 42

EricEinstellungAlleZuruecksetzen

ericapi.h 42

EricEinstellungLesen

ericapi.h 43

EricEinstellungSetzen

ericapi.h 43

EricEinstellungZuruecksetzen

ericapi.h 44

EricFormatIdentifikationsMerkmal

ericapi.h 44

EricFormatStNr

ericapi.h 45

EricGetAuswahlListen

ericapi.h 45

EricGetErrormessagesFromXMLAnswer

tm98ericapi.h 73

EricGetHandleToCertificate

tm98ericapi.h 74

EricGetHighestVersions

tm98ericapi.h 75

EricGetPinStatus

tm98ericapi.h 76

EricGetPublicKey

tm98ericapi.h 77

EricHoleFehlerText

ericapi.h 46

EricHoleFinanzaemter

ericapi.h 46

EricHoleFinanzamtLandNummern

ericapi.h 47

EricHoleFinanzamtsdaten

ericapi.h 48

EricHoleFinanzamtsdatenNeu

ericapi.h 48

EricHoleTestfinanzaemter

ericapi.h 49

EricHoleZertifikatFingerabdruck

ericapi.h 49

EricKonvertiereZertifikat

ericapi.h 50

EricMakeElsterStnr

tm98ericapi.h 77

Page 94: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

91

EricPruefeBIC

ericapi.h 50

EricPruefeIBAN

ericapi.h 51

EricPruefeIdentifikationsMerkmal

ericapi.h 51

EricPruefeSteuernummer

ericapi.h 52

EricRueckgabepufferErzeugen

ericapi.h 53

EricRueckgabepufferFreigeben

ericapi.h 53

EricRueckgabepufferHandle

eric_types.h 32

EricRueckgabepufferInhalt

ericapi.h 54

EricRueckgabepufferLaenge

ericapi.h 54

EricSend

tm98ericapi.h 78

EricSignAndSend

tm98ericapi.h 79

EricSystemCheck

tm98ericapi.h 80

EricTransferHandle

eric_types.h 32

EricVersion

tm98ericapi.h 80

EricVV

tm98ericapi.h 81

EricZD

tm98ericapi.h 82

EricZertifikatHandle

eric_types.h 33

ersteSeite

eric_druck_parameter_t 5

EURO

ericdef.h 57

FAX

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Finanzamtsdaten 13

Bankbezeichnung_1 14

Bankbezeichnung_oertlich 14

Bemerkung 14

BIC_1 14

BIC_oertlich 14

BLZ_1 14

BLZ_oertlich 14

BUFA_NR 14

EMail_Adresse 14

Ergaenzung_FAName 15

FAX 15

Finanzamtsname 15

Hauptstelle_Aussenstellen 15

Hauptstelle_BUFA_NR 15

IBAN_1 15

IBAN_oertlich 15

Kontoinhaber_1_BUFA_NR 15

Kontoinhaber_oertlich_BUFA_NR 15

Kontonummer_1 15

Kontonummer_oertlich 15

Oeffnungszeiten 16

Ort 16

PLZ 16

PLZ_Grosskunden 16

PLZ_Postfach 16

Postfach_Nr 16

Strasse 16

Telefon 16

URL 16

FinanzamtsdatenNeu 17

Bankbezeichnung_1 18

Bankbezeichnung_oertlich 18

Bemerkung 18

BIC_1 18

BIC_oertlich 18

BLZ_1 18

BLZ_oertlich 18

BUFA_NR 18

EMail_Adresse 19

Ergaenzung_FAName 19

FAX 19

Finanzamtsname 19

Hauptstelle_Aussenstellen 19

Hauptstelle_BUFA_NR 19

IBAN_1 19

IBAN_oertlich 19

Kontoinhaber_1_BUFA_NR 19

Kontoinhaber_oertlich_BUFA_NR 19

Kontonummer_1 19

Kontonummer_oertlich 20

Oeffnungszeiten 20

Ort 20

PLZ 20

PLZ_Grosskunden 20

PLZ_Postfach 20

Postfach_Nr 20

Strasse 20

Telefon 20

URL 20

Finanzamtsname

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

fussText

eric_druck_parameter_t 6

GUI_IDABORT

ericdef_gui.h 61

GUI_IDCANCEL

ericdef_gui.h 61

GUI_IDIGNORE

ericdef_gui.h 61

GUI_IDNO

ericdef_gui.h 61

Page 95: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

92

GUI_IDOK

ericdef_gui.h 61

GUI_IDRETRY

ericdef_gui.h 61

GUI_IDYES

ericdef_gui.h 61

GUI_MB_ICONASTERISK

ericdef_gui.h 61

GUI_MB_ICONERROR

ericdef_gui.h 62

GUI_MB_ICONEXCLAMATION

ericdef_gui.h 62

GUI_MB_ICONHAND

ericdef_gui.h 62

GUI_MB_ICONINFORMATION

ericdef_gui.h 62

GUI_MB_ICONQUESTION

ericdef_gui.h 62

GUI_MB_ICONSTOP

ericdef_gui.h 62

GUI_MB_ICONWARNING

ericdef_gui.h 62

GUI_MB_OK

ericdef_gui.h 62

GUI_MB_OKCANCEL

ericdef_gui.h 62

GUI_MB_SYSTEMMODAL

ericdef_gui.h 63

GUI_MB_YESNO

ericdef_gui.h 63

GUI_MB_YESNOCANCEL

ericdef_gui.h 63

HAS_FUTIME

platform.h 66

Hauptstelle_Aussenstellen

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Hauptstelle_BUFA_NR

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

I64

platform.h 66

IBAN_1

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

IBAN_oertlich

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Kontoinhaber_1_BUFA_NR

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Kontoinhaber_oertlich_BUFA_NR

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Kontonummer_1

Finanzamtsdaten 15

FinanzamtsdatenNeu 19

Kontonummer_oertlich

Finanzamtsdaten 15

FinanzamtsdatenNeu 20

land

eric_zertifikat_parameter_t 11

mainpage.txt 64

name

eric_zertifikat_parameter_t 11

Oeffnungszeiten

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

organisation

eric_zertifikat_parameter_t 11

ort

eric_zertifikat_parameter_t 12

Ort

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

pdfName

eric_druck_parameter_t 6

pin

eric_verschluesselungs_parameter_t 8

platform.h 65

ATOI64 66

ERIC_DECL_EXPORT 66

ERIC_DECL_IMPORT 66

HAS_FUTIME 66

I64 66

uint32_t 66

UTIME_NEEDS_CLOSED_FILE 66

PLZ

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

PLZ_Grosskunden

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

PLZ_Postfach

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

Postfach_Nr

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

Strasse

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

T_GUI_EricCloseProgressDialog

ericdef_gui.h 59

T_GUI_EricInitProgressDialog

ericdef_gui.h 59

T_GUI_EricMessageDialog

ericdef_gui.h 60

T_GUI_EricUpdateProgressDialog

ericdef_gui.h 60

Telefon

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

tm98ericapi.h 67

Page 96: ERiC Developers Toolkit - instantview.org · iii Inhaltsverzeichnis API-Referenz

93

EricChangePassword 68

EricCheckBuFaNummer 69

EricCheckXML 70

EricCloseHandleToCertificate 70

EricCreateKey 70

EricCreateTH 71

EricGetErrormessagesFromXMLAnswer 73

EricGetHandleToCertificate 74

EricGetHighestVersions 75

EricGetPinStatus 76

EricGetPublicKey 77

EricMakeElsterStnr 77

EricSend 78

EricSignAndSend 79

EricSystemCheck 80

EricVersion 80

EricVV 81

EricZD 82

uint32_t

platform.h 66

URL

Finanzamtsdaten 16

FinanzamtsdatenNeu 20

UTIME_NEEDS_CLOSED_FILE

platform.h 66

version

eric_zertifikat_parameter_t 12

vorschau

eric_druck_parameter_t 6

zertifikatHandle

eric_verschluesselungs_parameter_t 9