Bfx.Abstract.Model.WebService.dll: Unterschied zwischen den Versionen

Markierung: 2017-Quelltext-Bearbeitung
Zeile 47: Zeile 47:
Beispiel:
Beispiel:


* Dezember 2021 befindet sich im Status IST
*Dezember 2021 befindet sich im Status IST
* Jänner 2022 befindet sich im Status Planung
*Jänner 2022 befindet sich im Status Planung
* "Ist bis" ist somit der 1.1.2022
*"Ist bis" ist somit der 1.1.2022
* Parameter Zuname wird mit Stichtag 1.3.2022 gesendet
*Parameter Zuname wird mit Stichtag 1.3.2022 gesendet
** Ergebnis: Zuname wird per 1.3.2022 hinterlegt
**Ergebnis: Zuname wird per 1.3.2022 hinterlegt
* Parameter Zuname wird mit Stichtag 1.11.2021 gesendet
*Parameter Zuname wird mit Stichtag 1.11.2021 gesendet
** Ergebnis: Zuname wird per 1.1.2022 hinterlegt<br />
**Ergebnis: Zuname wird per 1.1.2022 hinterlegt<br />


<br />
<br />
Zeile 130: Zeile 130:
*Setzen von Kindern beim Personal (max. 7 Kinder sind möglich)
*Setzen von Kindern beim Personal (max. 7 Kinder sind möglich)


1. Kind
1. Kind: Franz, Geburtstag: 03.02.2012
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=0&valueString=ChildName%23%23%23%23Franz%26ChildBirthday%23%23%23%2303.02.2012
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=0&valueString=ChildName%23%23%23%23Franz%26ChildBirthday%23%23%23%2303.02.2012
2. Kind
2. Kind: Hans, Geburtstag: 03.02.2013
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=1&valueString=ChildName%23%23%23%23Hans%26ChildBirthday%23%23%23%2303.02.2013
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=1&valueString=ChildName%23%23%23%23Hans%26ChildBirthday%23%23%23%2303.02.2013
7. Kind
7. Kind: Karl, Geburtstag: 03.02.2014
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=6&valueString=ChildName%23%23%23%23Karl%26ChildBirthday%23%23%23%2303.02.2014
  /Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=6&valueString=ChildName%23%23%23%23Karl%26ChildBirthday%23%23%23%2303.02.2014



Version vom 17. Februar 2022, 18:35 Uhr


Ab Version 2021.16 können beliebige Objekte angelegt und deren Eigenschaften (z.B. Zuname, E-Mail Adressen, etc.) über diese Webservice Schnittstelle geändert werden.


Objekt anlegen

/New
?objectType=<Objekttyp des neuen Objektes>
&indexQuery=<Index für Verifizierung>
&matchString=<Wert für Suche auf Index>
&keyDate=<Stichtag bei zeitlich begrenzbaren Eigenschaften>

Beispiel Personal

Details zur Anlage eines neuen Personals finden Sie hier.

Beispiel Benutzer

Neuer Benutzer mit Username "USER1"

/New?objectType=AlexUser&indexQuery=UserX&matchString=USER1

Objekt ändern

/Set
?objectType=<Objekttyp auf dem geändert wird>
&indexQuery=<Index über den das Objekt gefunden wird>
&matchString=<Wert für Suche auf Index>
&importType=<Eigenschaft die geändert werden soll>
&valueString=<Wert der der Eigenschaft, URL-Encoded>
&keyDate=<Stichtag bei zeitlich begrenzbaren Eigenschaften>

Format für Datum:

DD.MM.YYYY

Ergebnis:

Enthält eine etwaige Fehlermeldung.

Beispiele Personal

Beim Setzen von zeitlich abgrenzbaren Eigenschaften wird der Beginn automatisch begrenzt mit dem 'Ist bis'-Datum der Stammplanungseinheit des Mitarbeiters.

Wird ein keyDate mitgegeben, so wird entweder dieses Datum verwendet oder als Beginn das Maximum zwischen keyDate und "Ist bis" genommen.

Wird kein keyDate mitgegeben, so wird entwerder der 1. des aktuellen Monats genommen oder auch das Maximum zwischen keyDate und "Ist bis".

Beispiel:

  • Dezember 2021 befindet sich im Status IST
  • Jänner 2022 befindet sich im Status Planung
  • "Ist bis" ist somit der 1.1.2022
  • Parameter Zuname wird mit Stichtag 1.3.2022 gesendet
    • Ergebnis: Zuname wird per 1.3.2022 hinterlegt
  • Parameter Zuname wird mit Stichtag 1.11.2021 gesendet
    • Ergebnis: Zuname wird per 1.1.2022 hinterlegt


  • Setzen von Email "test@example.com" bei Personal mit Personalnummer "PNR123"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeEmailAddress&valueString=test@example.com
  • Setzen von Kartennummer "1234567" bei Personal mit Personalnummer "PNR123" ab 01.01.2020
    • Achtung, ist das "Ist bis" Datum z. B. der 01.03.2020 so würde der Beginn auch erst ab 01.03.2020 gesetzt werden!
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeCardID&valueString=1234567&keyDate=01.01.2020
  • Setzen von Zuname "Mustermann" bei Personal mit Personalnummer "PNR123" ab 01.10.2020
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=Surname&valueString=Mustermann&keyDate=01.10.2020
  • Setzen von Vorname "Max" bei Personal mit Personalnummer "PNR123"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=Forename&valueString=Max
  • Setzen von Beschäftigungsausmaß 62,5% bei Personal mit Personalnummer "PNR123" ab 01.03.2022
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmploymentFactorPercent&valueString=62,5&keyDate=01.03.2022

Beispiele Benutzer

  • Setzen von Email "test@example.com" bei User mit Username "USER1"
/Set?objectType=AlexUser&indexQuery=UserX&matchString=USER1&importType=UserEmail&valueString=test@example.com
  • Setzen von Username "USER1NEU" bei User mit Username "USER1"
/Set?objectType=AlexUser&indexQuery=UserX&matchString=USER1&importType=Username&valueString=USER1NEU

Externe Kennzeichen (Foreign Keys)

Der Import von Externen Kennzeichen (Foreign Keys) ist über die interne ObjectID von ALEX möglich oder über Fremdschlüssel, die zuvor initialisiert werden müssen.

Fremdschlüssel stehen für die gängigsten Objekttypen zur Verfügung:

  • Berufsgruppe
  • Planungseinheit
  • Qualifikation
  • Vertrag
  • Lohnartenumschlüsselung


  • Setzen von Berufsgruppe mit externem Kennzeichen "B1" bei Personal mit Personalnummer "1"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=1&importType=EmployeeJobGroup&valueString=B1
  • Setzen von Planungseinheit mit externem Kennzeichen "P1" bei Personal mit Personalnummer "1"
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=1&importType=MasterAllocation&valueString=P1
  • Setzen von Qualifikationen - Beispiel folgt

Eingebettete Objekte (Records)

Der Import von eingebetteten Objekten (Records) ist ebenfalls möglich

Beispiele für eingebettete Objekte:

  • Anspruchszeile am Personal
  • Informationen über Kinder für Pflegefreistellung


  • Setzen von Anspruchszeile bei Personal
/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeEntitlement_Urlaub&valueString=EmployeeRecEntitlementKeyDate%23%23%23%2302.02.2012%26EmployeeRecEntitlementCustomPostingKeyDate%23%23%23%2303.02.2012%26EmployeeRecEntitlementValue%23%23%23%23200,00&keyDate=01.10.2020


  • Setzen von Kindern beim Personal (max. 7 Kinder sind möglich)

1. Kind: Franz, Geburtstag: 03.02.2012

/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=0&valueString=ChildName%23%23%23%23Franz%26ChildBirthday%23%23%23%2303.02.2012

2. Kind: Hans, Geburtstag: 03.02.2013

/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=1&valueString=ChildName%23%23%23%23Hans%26ChildBirthday%23%23%23%2303.02.2013

7. Kind: Karl, Geburtstag: 03.02.2014

/Set?objectType=Employee&indexQuery=EmployeeIDX&matchString=PNR123&importType=EmployeeChildren&keyString=6&valueString=ChildName%23%23%23%23Karl%26ChildBirthday%23%23%23%2303.02.2014

Ausgabe

Json-Objekt in der Form:

{ "request" : "" 
, "status" : ""
, "details" : "" 
}
  • "request": Angeforderter Request als "Handshake"
  • "status": "ok" oder "error"
  • "details": Optionale Detailinformationen bei "error"

File Import

Der Pfad für die Importfiles kann in den Systemeinstellungen in der Gruppe "Object Import Einstellungen" beim Parameter "Eigenschaften-Import Pfad" festgelegt werden.

Die gewünschte Dateierweiterung kann beim Parameter "Eigenschaften-Import Dateierweiterung" eingetragen werden.

Der definierte Ordner wird alle 2 Minuten auf neue Dateien geprüft.

Format für Datei

{
   "objectType": "string",
   "indexQuery": "string",
   "importType": "string",
   "lines": [
       {
           "matchString": "string",
           "valueString": "string",
           "keyDate": "DD.MM.YYYY"
       }
   ]
}

Beispiele Personal

Setzen von Kartennummer "1234567" bei Personal mit Personalnummer "1" ab 01.01.2020.

{
    "objectType": "Employee",
    "indexQuery": "EmployeeIDX",
    "importType": "EmployeeCardID",
    "lines": [
        {
            "matchString": "1",
            "valueString": "1234567",
            "keyDate": "01.01.2020"
        }
    ]
}

Setzen von Email "test@example.com" bei Personal mit Personalnummer "1" ab 01.01.2020.

{
    "objectType": "Employee",
    "indexQuery": "EmployeeIDX",
    "importType": "EmployeeEmailAddress",
    "lines": [
        {
            "matchString": "1",
            "valueString": "test@example.com",
            "keyDate": "01.01.2020"
        }
    ]
}

Setzen von Zuname "Mair" bei Personal mit Personalnummer "1" ab 01.01.2020 und setzen von Zuname "Huber" bei Personal mit Personalnummer "2" ab 01.02.2020.

{
   "objectType": "Employee",
   "indexQuery": "EmployeeIDX",
   "importType": "Surname",
   "lines": [
       {
           "matchString": "1",
           "valueString": "Mair",
           "keyDate": "01.01.2020"
       },
       {
           "matchString": "2",
           "valueString": "Huber",
           "keyDate": "01.02.2020"
       }
   ]
}


Bit Factory interne Zusatzinfos

Aktivierung