> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Installieren Sie den ABBYY FlexiCapture Connector für Pega, indem Sie FlexiCaptureConnector.jar auf den Server importieren und eine Java-Funktion erstellen, die seine Klassen aufruft.

Um PEGA zu installieren, müssen Sie den [Connector auf den Server importieren](#import) und [eine Java-Funktion in Pega erstellen](#java).

<a id="import" />So importieren Sie den Connector auf den Server:

1. Öffnen Sie **Dev Studio** und klicken Sie auf **Configure → Application → Distribution → Import**.

   <Frame>
     <img src="https://mintcdn.com/abbyy/KEmWsO92hkr7eybZ/images/flexi-capture/connectors/Pega1.png?fit=max&auto=format&n=KEmWsO92hkr7eybZ&q=85&s=a341f96a004c8a19fb49207d18680709" alt="Screenshot von Pega Dev Studio mit geöffnetem Menü „Configure“, das den ausgewählten Pfad „Application → Distribution → Import“ zum Importieren des Connectors zeigt." width="935" height="329" data-path="images/flexi-capture/connectors/Pega1.png" />
   </Frame>

2. Laden Sie die Datei **FlexiCaptureConnector.jar** auf den Server.

3. Öffnen Sie das **Pega Self-Service Portal** und klicken Sie auf **Restart Server**.

<Frame>
  <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega2.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=eecde34cbec1e5bd944b2b7b9ae52933" alt="Screenshot der Seite „Operations“ im Pega Self-Service Portal mit hervorgehobener Schaltfläche „Restart Server“ zum Neustarten des Anwendungsservers." width="537" height="297" data-path="images/flexi-capture/connectors/Pega2.png" />
</Frame>

<a id="java" />So erstellen Sie eine Java-Funktion, die Methoden aus Connector-Klassen aufruft:

1. Erstellen Sie eine neue Bibliothek, indem Sie auf **Records → Technical → Library → Create** klicken, und geben Sie ihr z. B. den Namen *FlexiCaptureLibrary*. Fügen Sie dann die folgenden Pakete hinzu:

   * *java.util.*\*
   * *java.nio.file.*\*
   * *com.abbyy.connectors.*\*
   * *com.abbyy.connectors.models.*\*

   <Frame>
     <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega48.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=c0db6b32efd6466d4e21a56900335a91" alt="Screenshot von Pega Dev Studio beim Bearbeiten des Datensatzes FlexiCaptureLibrary auf dem Tab „Packages“, mit den aufgelisteten Paketen java.util, java.nio.file, com.abbyy.connectors und com.abbyy.connectors.models, die eingebunden werden sollen." width="577" height="394" data-path="images/flexi-capture/connectors/Pega48.png" />
   </Frame>

2. Klicken Sie auf **Save** und anschließend auf **Generate Library**.

3. Erstellen Sie eine neue Funktion, indem Sie auf **Records → Technical →** **Function → Create** klicken.

4. Geben Sie im Feld **Label** einen Namen für die neue Funktion an (z. B. *CaptureData*).

5. Geben Sie im Abschnitt **Parameters** die folgenden beiden Eingabeparameter an:

| **Name**        | **Java-Typ** |
| --------------- | ------------ |
| *FileName*      | *String*     |
| *Base64Content* | *String*     |

6. Geben Sie im Feld **Library** den Namen der Bibliothek ein, die Sie in Schritt 1 erstellt haben, und klicken Sie auf **Create and open**.

7. Geben Sie im sich öffnenden Fenster auf dem **Parameters**-Tab *String* als Datentyp im Feld **Java data type** an:

   <Frame>
     <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega26.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=ed724ead37a0bdc2a4a9a863b618b362" alt="Screenshot von Pega Dev Studio auf dem Tab „Parameters“ der Funktion, der die String-Eingabeparameter FileName und Base64Content sowie die im Abschnitt „Output“ als Java-Datentyp ausgewählte Option String zeigt." width="710" height="495" data-path="images/flexi-capture/connectors/Pega26.png" />
   </Frame>

8. Kopieren Sie den Code aus der Datei **CodeExample.java**, die Sie unter *%Installation Path%\Connector for FlexiCapture as a Service\Samples\Pega Function* finden (der Code ist unten der Einfachheit halber noch einmal aufgeführt). Klicken Sie im selben Fenster auf den Tab **Java** und fügen Sie den gerade kopierten Code ein. Dieser Beispielcode sendet Dateien an FC und gibt die Verarbeitungsergebnisse in Form von JSON-Strings mit den Namen der erfassten Felder und ihren Werten zurück. Die gelb hervorgehobenen Codefragmente müssen durch gültige Verbindungsdaten ersetzt werden, die für die Verbindung zum FC Application Server erforderlich sind. Laden Sie dann Ihr Projekt auf den FC Application Server hoch und [konfigurieren Sie es](/de/flexi-capture/connectors/pega/pega-configuring-fc).

```
// FlexiCapture Web Services API-Client wird erstellt. Bitte geben Sie hier die Adresse des FlexiCapture Application Servers an. 
try (FlexiCaptureWebServiceClient client = new FlexiCaptureWebServiceClient("https://FlexiCaptureApplicationServer")) {
// Bitte kommentieren Sie die folgende Zeile ein und geben Sie einen Unternehmensnamen an, um mit FlexiCapture Cloud oder einem Tenant zu interagieren.
// client.setTenant("Company");
// Bitte geben Sie gültige FlexiCapture-Benutzeranmeldedaten an.
client.setCredentials(new Credentials("Username", "Password"));
// FlexiCapture-Projekt wird abgerufen. Bitte geben Sie hier einen Projektnamen an.
try (FlexiCaptureProject project = client.getProject("InvoiceDemoProject")) {
// Eine Datei wird für den Upload zu FlexiCapture vorbereitet. 'FileName' und 'Base64Content' sind Pega-Funktionsparameter.
List<File> files = new ArrayList<File>();
files.add(new File(FileName, Base64.getDecoder().decode(Base64Content.replace("\n", "").replace("\r", ""))));
// Ein Auftrag für die FlexiCapture-Batch-Verarbeitung wird vorbereitet.
BatchCreationJob job = new BatchCreationJob(files);
job.setName("Pega_" + System.currentTimeMillis());  // FlexiCapture-Batch-Name wird festgelegt.
job.setType("Default");                             // FlexiCapture-Batch-Typname wird festgelegt.
// FlexiCapture-Batch wird erstellt und ausgeführt.
int batchId = project.create(job);
// Es wird auf die Verarbeitung des Batches gewartet und die Verarbeitungsergebnisse werden abgerufen.
Result result = project.getResult(batchId);
// Prüfen, ob die Batch-Stufe Processed ist.
if (result.getStage() == com.abbyy.connectors.models.Stage.Processed) {
// Erfasste Felder werden als JSON-String zurückgegeben.
return result.getFields();
} else {
// Für andere Stufen wird eine Ausnahme ausgelöst.
// Anstatt die Ausnahme auszulösen, kann hier die Verarbeitung dieser Stufen konfiguriert werden.
throw new FlexiCaptureConnectorException(String.format("Unsupported FlexiCapture stage type '%s'.", result.getStage()));
}
}
} catch (Exception ex) {
// Fehlermeldungen werden verkettet.
Throwable cause = ex.getCause();
String message = ex.getMessage();
while (cause != null) {
message += " " + cause.getMessage();
cause = cause.getCause();
}
// Verkettete Meldung wird ausgelöst.
throw new FlexiCaptureConnectorException(message);
}
```

9. Klicken Sie auf die Registerkarte **Imports & Exceptions** und geben Sie im Abschnitt **Exceptions thrown** *Exception* ein.
10. Gehen Sie zurück zur Registerkarte **Java**, wählen Sie die Option **Function ready to be compiled?** aus, speichern Sie Ihre Änderungen und klicken Sie auf **Generate function**. Wenn die Funktion erfolgreich generiert wurde, wird diese Meldung angezeigt:

<Frame>
  <img src="https://mintcdn.com/abbyy/Xgx3EG8BZs5YQjIJ/images/flexi-capture/connectors/Pega3.png?fit=max&auto=format&n=Xgx3EG8BZs5YQjIJ&q=85&s=0b973102dd28000d18049bfa8285b7da" alt="Screenshot eines Pega-Dialogfelds „Library Acknowledgement“ mit dem Status Good und der Meldung, dass die Bibliothek erfolgreich generiert wurde." width="364" height="282" data-path="images/flexi-capture/connectors/Pega3.png" />
</Frame>
