Einführung

Cloud HCM bietet die Möglichkeit, Daten aus HCM mit einer Plattform der neuen Generation mit schreibgeschütztem Datenspeicher zu extrahieren.

Ziele

Nach Abschluss dieses Tutorials erfahren Sie, wie Sie:

  • Worker-Extraktionsansichten und ihre Hierarchie von Objekten abfragen
  • Extraktionsjobanforderungen zum Abrufen ausgewählter Mitarbeiterhierarchiedaten asynchron weiterleiten und verfolgen
  • Exportausgabedateien herunterladen

Voraussetzungen

Bevor Sie beginnen:

  1. Wenden Sie sich an Oracle CoE, um sicherzustellen, dass der schreibgeschützte Datenspeicher in Ihrem Pod bereitgestellt wird und Ihre Daten repliziert werden
  2. Führen Sie die erforderliche Sicherheitskonfiguration aus, einschließlich:
    • Datensicherheit einrichten
    • OAuth Client-App-Setup

Anwendungsfälle

Mit dieser Funktion können Sie die folgenden Anwendungsfälle bearbeiten.

Vollständige Datenextraktion

Die vollständige Extraktion von Mitarbeiterdaten kann eine einmalige oder periodische Aktivität sein.

Sie können die gesamte Objekthierarchie oder nur eine Teilmenge davon abrufen.

Die vollständige Datenextraktion ruft alle Datensätze ab, die den Filterkriterien entsprechen, und die Ausgabedateien können sehr groß sein.

Datumsabhängige Objekte werden ab dem angeforderten Gültigkeitsdatum abgerufen, wobei das aktuelle Extraktionsdatum der Standardwert ist.

Inkrementelle Datenextraktion

Die inkrementelle Extraktion von Mitarbeiterdaten ist in der Regel eine periodische, geplante Aktivität.

Sie können die gesamte Objekthierarchie oder nur eine Teilmenge davon abrufen.

In diesem Anwendungsfall möchten Sie nur Objekte abrufen, die seit der vorherigen Extraktionsausführung geändert wurden, wobei die erste Extraktionsausführung die Baseline ist. Um dies zu erreichen, müssen timeUpdated-Attributfilter auf jeder Ebene angewendet werden, die der Änderungserkennung unterliegt.

Inkrementelle Datenextraktionsabfrage kann zusätzliche Filterkriterien anwenden. Ausgabedateien sind im Allgemeinen kleiner als die vollständige Extraktion, da sie nur Delta enthalten.

Es werden nur aktuelle Werte von Attributen abgerufen.

Datumsabhängige Objekte werden ab dem angeforderten Gültigkeitsdatum abgerufen, wobei das aktuelle Extraktionsdatum der Standardwert ist.

Achtung:

Physisch gelöschte Datensätze werden nicht durch Filtern nach timeUpdated zurückgegeben.

Aufgabe 1: Extraktionsansicht auswählen

Wählen Sie abhängig von den erforderlichen Objekten und Attributen aus, welche Extraktionsansicht verwendet werden soll. Verfügbare Ansichten ab Release 26A werden unten zusammen mit den Objekten und Attributen aufgeführt, die extrahiert werden können, gruppiert nach Modul.

Für datumsabhängige Objekte finden Sie in der Regel eine normale Ansicht, die Daten zurückgibt, die zum angegebenen Datum gültig sind, sowie eine Historienansicht, die alle datumsabhängigen Datensätze zurückgibt.

Mehrere Sprachen :

Übersetzbare Attribute sind derzeit nur auf Englisch verfügbar.

Global HR - Beschäftigung

Modulname oraHcmHrCoreEmployment
Modulkontextpfad hcmHrCore/employment

View-Name Attribute
actionExtracts ID
actionCode
startDate
endDate
timeCreated
timeUpdated
createdBy
updatedBy
actionName
Beschreibung
assignmentStatusTypeExtracts id
assignmentStatusCode
fromDate
toDate
activeFlag
defaultFlag
timeCreated
timeUpdated
createdBy
updatedBy
userStatus
emailExtracts id
fromDate
toDate
emailAddress
timeUpdated
updatedBy
timeCreated
createdBy
primaryFlag
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
type.lookupCode
type.lookupType
type.meaning
legislativeInformationExtracts id
effectiveStartDate
effectiveEndDate
Geschlecht
maritalStatus
maritalStatusChangeDate
highestEducationLevel
timeUpdated
updatedBy
timeCreated
createdBy
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
legislation.territoryCode
legislation.territoryShortName
legislativeInformationHistoryExtracts id
effectiveStartDate
effectiveEndDate
Geschlecht
maritalStatus
maritalStatusChangeDate
highestEducationLevel
timeUpdated
updatedBy
timeCreated
createdBy
personDetail.id
personDetail.personNumber
legislation.territoryCode
legislation.territoryShortName
managerHierarchyExtracts effectiveStartDate
effectiveEndDate
personId
assignmentId
managerType
managerLevel
managerId
managerAssignmentId
primaryAssignmentFlag
primaryManagerFlag
createdBy
timeCreated
updatedBy
timeUpdated
personAssignment.id
personAssignment.effectiveStartDate
personAssignment.effectiveEndDate
personAssignment.effectiveSequence
personAssignment.effectiveLatestChange
personAssignment.assignmentType
personAssignment.assignmentNumber
personAssignment.primaryFlag
personAssignment.businessTitle
personAssignment.workAtHomeFlag
personAssignment.officeBuilding
personAssignment.officeFloor
personAssignment.officeMailStop
personAssignment.officeNumber
personAssignment.primaryAssignmentFlag
personAssignment.primaryWorkRelationshipFlag
personAssignment.timeUpdated
personAssignment.updatedBy
personAssignment.timeCreated
personAssignment.createdBy
personAssignment.systemPersonType
personAssignment.labourUnionMemberFlag
personAssignment.managerFlag
personAssignment.probationEndDate
personAssignment.probationPeriod
personAssignment.probationPeriodUnit
personAssignment.normalHours
personAssignment.frequency
personAssignment.endTime
personAssignment.startTime
personAssignment.noticePeriod
personAssignment.noticePeriodUOM
personAssignment.workerCategory
personAssignment.assignmentCategory
personAssignment.hourlyPaidOrSalaried
personAssignment.projectedEndDate
personAssignment.projectedStartDate
personAssignment.assignmentStatusType
personAssignment.retirementAge
personAssignment.retirementDate
personAssignment.synchronizeFromPositionFlag
personAssignment.fullTimeOrPartTime
personAssignment.permanentAssignmentFlag
personAssignment.seniorityBasis
personAssignment.overtimePeriod
personAssignment.adjustedFullTimeEquivalent
personAssignment.annualWorkingDuration
personAssignment.annualWorkingDurationUnit
personAssignment.annualWorkingRatio
personAssignment.standardFrequency
personAssignment.standardWorkingHours
personAssignment.standardAnnualWorkingDuration
personAssignment.sequence
personAssignment.department.id
personAssignment.department.name
personAssignment.department.title
personAssignment.department.effectiveStartDate
personAssignment.department.effectiveEndDate
personAssignment.legalEmployer.id
personAssignment.legalEmployer.name
personAssignment.legalEmployer.effectiveStartDate
personAssignment.legalEmployer.effectiveEndDate
personAssignment.legislation.territoryCode
personAssignment.legislation.territoryShortName
personAssignment.position.id
personAssignment.position.effectiveStartDate
personAssignment.position.effectiveEndDate
personAssignment.position.name
personAssignment.position.code
personAssignment.grade.id
personAssignment.grade.effectiveStartDate
personAssignment.grade.effectiveEndDate
personAssignment.grade.name
personAssignment.grade.code
personAssignment.location.id
personAssignment.location.effectiveStartDate
personAssignment.location.effectiveEndDate
personAssignment.location.name
personAssignment.location.code
personAssignment.location.mainAddress.id
personAssignment.location.mainAddress.effectiveStartDate
personAssignment.location.mainAddress.effectiveEndDate
personAssignment.location.mainAddress.county
personAssignment.location.mainAddress.state
personAssignment.location.mainAddress.province
personAssignment.location.mainAddress.townOrCity
personAssignment.location.mainAddress.postalCode
personAssignment.location.mainAddress.longPostalCode
personAssignment.location.mainAddress.addressLine1
personAssignment.location.mainAddress.addressLine2
personAssignment.location.mainAddress.addressLine3
personAssignment.location.mainAddress.addressLine4
personAssignment.location.mainAddress.country.territoryCode
personAssignment.location.mainAddress.country.territoryShortName
personAssignment.job.id
personAssignment.job.effectiveStartDate
personAssignment.job.effectiveEndDate
personAssignment.job.name
personAssignment.job.code
personAssignment.job.jobFunctionCode
personAssignment.job.managerLevel
personAssignment.job.jobFamily.id
personAssignment.job.jobFamily.effectiveStartDate
personAssignment.job.jobFamily.effectiveEndDate
personAssignment.job.jobFamily.code
personAssignment.job.jobFamily.name
personAssignment.collectiveAgreement.id
personAssignment.collectiveAgreement.effectiveStartDate
personAssignment.collectiveAgreement.effectiveEndDate
personAssignment.collectiveAgreement.name
personAssignment.personType.id
personAssignment.personType.userPersonType
personAssignment.workerUnion.id
personAssignment.workerUnion.effectiveStartDate
personAssignment.workerUnion.effectiveEndDate
personAssignment.workerUnion.name
personAssignment.assignmentUserStatus.id
personAssignment.assignmentUserStatus.userStatus
personAssignment.businessUnit.id
personAssignment.businessUnit.effectiveStartDate
personAssignment.businessUnit.effectiveEndDate
personAssignment.businessUnit.name
personAssignment.account.codeCombinationId
personAssignment.account.concatenatedSegments
personAssignment.account.chartOfAccountsId
personAssignment.ledger.ledgerId
personAssignment.ledger.name
personAssignment.workRelationship.id
personAssignment.workRelationship.startDate
personAssignment.workRelationship.workerType
personAssignment.workRelationship.timeCreated
personAssignment.workRelationship.timeUpdated
personAssignment.localName.id
personAssignment.localName.effectiveStartDate
personAssignment.localName.effectiveEndDate
personAssignment.localName.lastName
personAssignment.localName.firstName
personAssignment.localName.displayName
personAssignment.localName.listName
personAssignment.localName.timeCreated
personAssignment.localName.timeUpdated
personAssignment.globalName.id
personAssignment.globalName.effectiveStartDate
personAssignment.globalName.effectiveEndDate
personAssignment.globalName.lastName
personAssignment.globalName.firstName
personAssignment.globalName.displayName
personAssignment.globalName.listName
personAssignment.globalName.timeCreated
personAssignment.globalName.timeUpdated
personAssignment.personDetail.id
personAssignment.personDetail.personNumber
personAssignment.personDetail.effectiveStartDate
personAssignment.personDetail.effectiveEndDate
personAssignment.personDetail.timeCreated
personAssignment.personDetail.timeUpdated
nameExtracts id
effectiveStartDate
effectiveEndDate
lastname
firstname
middlenames
title
prefix
suffix
knownAs
previousLastname
honors
militaryRank
displayname
fullname
listname
ordername
type
timeUpdated
updatedBy
timeCreated
createdBy
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
legislation.territoryCode
legislation.territoryShortname
nationalIdentifierExtracts id
createdBy
expirationDate
issueDate
identifierNumber
placeOfIssue
timeCreated
timeUpdated
updatedBy
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
country.territoryCode
country.territoryShortName
type.lookupCode
type.lookupType
type.meaning
personAddressExtracts id
effectiveStartDate
effectiveEndDate
type
primaryFlag
timeCreated
timeUpdated
createdBy
updatedBy
building
floorNumber
townOrCity
postalCode
longPostalCode
addressLine1
addressLine2
addressLine3
addressLine4
county
state
province
country.territoryCode
country.territoryShortName
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
personAddressHistoryExtracts id
effectiveStartDate
effectiveEndDate
type
primaryFlag
timeCreated
timeUpdated
createdBy
updatedBy
erstellen
floorNumber
townOrCity
postalCode
longPostalCode
addressLine1
addressLine2
addressLine3
addressLine4
county
state
provinz
country.territoryCode
country.territoryShortName
personTypeExtracts ID
systemPersonType
activeFlag
defaultFlag
timeCreated
timeUpdated
createdBy
updatedBy
userPersonType
phoneExtracts id
fromDate
toDate
phoneNumber
areaCode
countryCodeNumber
Erweiterung
Gültigkeit
timeUpdated
updatedBy
timeCreated
createdBy
primaryFlag
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
legislation.territoryCode
legislation.territoryShortName
type.lookupCode
type.lookupType
type.meaning
workerAssignmentExtracts id
effectiveStartDate
effectiveEndDate
effectiveSequence
effectiveLatestChange
assignmentType
assignmentNumber
primaryFlag
businessTitle
workAtHomeFlag
officeBuilding
officeFloor
officeMailStop
officeNumber
primaryAssignmentFlag
primaryWorkRelationshipFlag
timeUpdated
updatedBy
timeCreated
createdBy
systemPersonType
labourUnionMemberFlag
managerFlag
probationEndDate
probationPeriod
probationPeriodUnit
normalHours
frequency
endTime
startTime
noticePeriod
noticePeriodUOM
workerCategory
assignmentCategory
hourlyPaidOrSalaried
projectedEndDate
projectedStartDate
assignmentStatusType
expenseCheckSendToAddress
retirementAge
retirementDate
synchronizeFromPositionFlag
fullTimeOrPartTime
permanentAssignmentFlag
seniorityBasis
overtimePeriod
adjustedFullTimeEquivalent
annualWorkingDuration
annualWorkingDurationUnit
annualWorkingRatio
standardFrequency
standardWorkingHours
standardAnnualWorkingDuration
sequence
department.id
department.name
department.title
department.effectiveStartDate
department.effectiveEndDate
legalEmployer.id
legalEmployer.name
legalEmployer.effectiveStartDate
legalEmployer.effectiveEndDate
legislation.territoryCode
legislation.territoryShortName
position.id
position.ffectiveStartDate
position.effectiveEndDate
position.name
position.code
grade.id
grade.effectiveStartDate
grade.effectiveEndDate
grade.name
grade.code
location.id
location.effectiveStartDate
location.effectiveEndDate
location.name
location.code
location.mainAddress.id
location.mainAddress.effectiveStartDate
location.mainAddress.effectiveEndDate
location.mainAddress.county
location.mainAddress.state
location.mainAddress.province
location.mainAddress.townOrCity
location.mainAddress.postalCode
location.mainAddress.longPostalCode
location.mainAddress.addressLine1
location.mainAddress.addressLine2
location.mainAddress.addressLine3
location.mainAddress.addressLine4
location.mainAddress.country.territoryCode
location.mainAddress.country.territoryShortName
job.id
job.effectiveStartDate
job.effectiveEndDate
job.name
job.code
job.jobFunctionCode
job.managerLevel
job.jobFamily.id
job.jobFamily.effectiveStartDate
job.jobFamily.effectiveEndDate
job.jobFamily.code
job.jobFamily.name
collectiveAgreement.id
collectiveAgreement.effectiveStartDate
collectiveAgreement.effectiveEndDate
collectiveAgreement.name
personType.id
personType.userPersonType
workerUnion.id
workerUnion.effectiveStartDate
workerUnion.effectiveEndDate
workerUnion.name
assignmentUserStatus.id
assignmentUserStatus.userStatus
businessUnit.id
businessUnit.effectiveStartDate
businessUnit.effectiveEndDate
businessUnit.name
account.codeCombinationId
account.concatenatedSegments
account.chartOfAccountsId
ledger.ledgerId
ledger.name
workRelationship.id
workRelationship.startDate
workRelationship.workerType
workRelationship.timeCreated
workRelationship.timeUpdated
localName.id
localName.effectiveStartDate
localName.effectiveEndDate
localName.lastName
localName.firstName
localName.displayName
localName.listName
localName.timeCreated
localName.timeUpdated
globalName.id
globalName.effectiveStartDate
globalName.effectiveEndDate
globalName.lastName
globalName.firstName
globalName.displayName
globalName.listName
globalName.timeCreated
globalName.timeUpdated
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate
personDetail.timeCreated
personDetail.timeUpdated
workerAssignmentHistoryExtracts id
effectiveStartDate
effectiveEndDate
effectiveSequence
effectiveLatestChange
assignmentType
assignmentNumber
primaryFlag
businessTitle
workAtHomeFlag
officeBuilding
officeFloor
officeMailStop
officeNumber
primaryAssignmentFlag
primaryWorkRelationshipFlag
timeUpdated
updatedBy
timeCreated
createdBy
systemPersonType
labourUnionMemberFlag
managerFlag
probationEndDate
probationPeriod
probationPeriodUnit
normalHours
frequency
endTime
startTime
noticePeriod
noticePeriodUOM
workerCategory
assignmentCategory
hourlyPaidOrSalaried
projectedEndDate
projectedStartDate
assignmentStatusType
expenseCheckSendToAddress
retirementAge
retirementDate
synchronizeFromPositionFlag
fullTimeOrPartTime
permanentAssignmentFlag
seniorityBasis
overtimePeriod
adjustedFullTimeEquivalent
annualWorkingDuration
annualWorkingDurationUnit
annualWorkingRatio
standardFrequency
standardWorkingHours
standardAnnualWorkingDuration
sequence
department.id
legalEmployer.id
legislation.territoryCode
legislation.territoryShortName
position.id
grade.id
location.id
location.mainAddress.id
location.mainAddress.country.territoryCode
location.mainAddress.country.territoryShortName
job.id
job.jobFamily.id
collectiveAgreement.id
personType.id
personType.userPersonType
workerUnion.id
assignmentUserStatus.id
assignmentUserStatus.userStatus
businessUnit.id
account.codeCombinationId
account.concatenatedSegments
account.chartOfAccountsId
ledger.ledgerId
ledger.name
workRelationship.id
localName.id
globalName.id
personDetail.id
personDetail.personNumber
workRelationshipExtracts id
startDate
workerType
timeCreated
timeUpdated
workerNumber
primaryFlag
createdBy
updatedBy
readyToConvertFlag
enterpriseSeniorityDate
legalEmployerSeniorityDate
onMilitaryServiceFlag
lastWorkingDate
terminationDate
notificationDate
projectedTerminationDate
legalEmployer.id
legalEmployer.name
legalEmployer.effectiveStartDate
legalEmployer.effectiveEndDate
legislation.territoryCode
legislation.territoryShortName
personDetail.id
personDetail.personNumber
personDetail.effectiveStartDate
personDetail.effectiveEndDate

Global HR - Arbeitsstrukturen

Modulname oraHcmHrCoreWorkStructures
Modulkontextpfad hcmHrCore/workStructures

View-Name Attribute
gradeExtracts ID
createdBy
effectiveStartDate
effectiveEndDate
Code
timeCreated
timeUpdated
updatedBy
Status
Name
gradeHistoryExtracts ID
createdBy
effectiveStartDate
effectiveEndDate
Code
timeCreated
timeUpdated
updatedBy
Status
Name
jobExtracts id
Name
effectiveStartDate
effectiveEndDate
Code
Status
createdBy
timeCreated
updatedBy
timeUpdated
jobFamilyExtracts ID
Code
Name
effectiveStartDate
effectiveEndDate
Status
timeUpdated
updatedBy
timeCreated
createdBy
jobFamilyHistoryExtracts ID
Code
Name
effectiveStartDate
effectiveEndDate
Status
timeUpdated
updatedBy
timeCreated
createdBy
jobHistoryExtracts id
Name
effectiveStartDate
effectiveEndDate
Code
Status
createdBy
timeCreated
updatedBy
timeUpdated
locationExtracts ID
createdBy
effectiveStartDate
effectiveEndDate
Code
timeCreated
timeUpdated
updatedBy
Status
countryCode
employeeLocationFlag
shipToSiteFlag
receivingSiteFlag
billToSiteFlag
officeSiteFlag
detailCreatedBy
detailTimeCreated
detailUpdatedBy
detailTimeUpdated
timezoneCode
Beschreibung
Name
locationHistoryExtracts ID
createdBy
effectiveStartDate
effectiveEndDate
Code
timeCreated
timeUpdated
updatedBy
Status
countryCode
employeeLocationFlag
shipToSiteFlag
receivingSiteFlag
billToSiteFlag
officeSiteFlag
detailCreatedBy
detailTimeCreated
detailUpdatedBy
detailTimeUpdated
timezoneCode
Beschreibung
Name
positionExtracts id
effectiveStartDate
effectiveEndDate
code
status
hiringStatus
createdBy
timeCreated
updatedBy
timeUpdated
name
positionHistoryExtracts id
effectiveStartDate
effectiveEndDate
code
status
hiringStatus
createdBy
timeCreated
updatedBy
timeUpdated
name

HCM Common - Ereignisse

Modulname oraHcmHrCoreEvents
Modulkontextpfad hcmHrCore/events
View-Name Attribute
objectChangeExtracts id
sourceObjectName
groupSequence
operationType
dateEffectiveMode
effectiveDate
keyAttribute1Name
keyAttribute1DataType
keyAttribute1StringValue
keyAttribute1NumberValue
keyAttribute1DateValue
keyAttribute2Name
keyAttribute2DataType
keyAttribute2StringValue
keyAttribute2NumberValue
keyAttribute2DateValue
keyAttribute3Name
keyAttribute3DataType
keyAttribute3StringValue
keyAttribute3NumberValue
keyAttribute3DateValue
purgeDate
createdBy
timeCreated
updatedBy
timeUpdated
changeComponents.id
changeComponents.physicalType
changeComponents.logicalType
changeComponents.oldEffectiveStartDate
changeComponents.newEffectiveStartDate
changeComponents.oldEffectiveEndDate
changeComponents.newEffectiveEndDate
changeComponents.oldEffectiveSequence
changeComponents.newEffectiveSequence
changeComponents.createdBy
changeComponents.timeCreated
changeComponents.updatedBy
changeComponents.timeUpdated
changeComponents.changedAttributes.changedAttributesXml

Aufgabe 2: Extraktionsabfragen vorbereiten und testen

Jede Extraktionsansicht verfügt über eine Abfrage-API, mit der Extraktionsabfragen erstellt und getestet werden können.

URL /api/boss/data/objects/ora/{{moduleContextPath}}/v1/{{viewName}}/$query
HTTP-Methode POST
Anforderungsvorlage
{
    "collection": {
        "limit": {{limit}},
        "offset": {{offset}},
        "sortBy": [ {{sortAttributes}} ],
        "filter": "{{topLevelFilter}}"
    },
    "fields": [ {{topLevelAttributes}} ],
    "accessors": {
        "{{childObject}}": {
            "collection": {
                "filter": "{{childLevelFilter}}"
            },
            "fields": [ {{childLevelAttributes}} ],
            "accessors": {
                {{nestedChildAccessors}}               
            }
        },
        ...
    }
}
Antwortvorlage
200 OK

{
	"items": [
		{{items}}
	],
	"hasMore": {{hasMore}}
}

Objekte und Attribute

Definieren Sie, welche Daten extrahiert werden sollen, d.h. welche Objekte und Attribute einbezogen werden sollen. Um untergeordnete Objekte einzubeziehen, müssen Accessor hinzugefügt werden, während bestimmte Felder im Array fields aufgelistet werden müssen. Siehe vollständiges Beispiel.

Filtern

Definieren Sie, wie Daten gefiltert werden sollen. Sie können die folgenden Ausdrücke verwenden, um Filter für Ihre Abfrage zu erstellen.

Zweck Ausdruck Beispiel
Gleichheitstest field = value ename = 'KING'
Ungleichheitstest field != value activeFlag != true
Größer als ein Test
Weniger als ein Test
field > value
field < value
sal > 1999.99
hireDate < '2000-01-01'
timeUpdated> '1900-01-01T13:51:54Z'
Größer als oder gleichwertig zu testen
Weniger als oder gleichwertig zu testen
field >= value
field <= value< code>
sal >= 1999.99
hireDate <= '2000-01-01'
timeUpdated >= '1900-01-01T13:51:54Z'
Musterabgleich field LIKE 'pattern' job LIKE 'SALES%'
Mitgliedschaftstest field IN (value1, ..., valueN) deptno IN (10, 20, 40)
Vergleich der Groß-/Kleinschreibung ignorieren field ~= value
field ~!= value
field ~> value
field ~< value
field ~>= value
field ~<= value
field ~LIKE 'pattern'
field ~IN (value1, ..., valueN)
ename ~= 'king'
Existenztest (für Eins-zu-Viele-Beziehungen) child[expression] assignments[startDate = null]
Logische UND-Verknüpfung expression AND expression  
Logische ODER-Verknüpfung expression OR expression  
Logische Negation !(expression)  

Nach untergeordneten Objekten in einer Eins-zu-Eins-Beziehung filtern:

Bei Eins-zu-Eins-Beziehungen können Sie auf untergeordnete Objekte und deren Attribute in der Filterklausel genauso wie auf die Attribute anderer übergeordneter Objekte verweisen, z.B. legalEmployer.id in (1001, 1002).

Untergeordnete Objekte in Eins-zu-viele-Beziehungen filtern:

In seltenen Fällen von Eins-zu-Viele-Beziehungen, die durch den Plural Accessor-Namen angegeben sind, filtert der Existenztest in der obigen Tabelle Eltern, die mindestens ein Kind haben, das die Kriterien erfüllt. Dies bedeutet jedoch nicht, dass untergeordnete Datensätze automatisch gefiltert werden, wenn sie abgerufen werden. Wenn Sie sicherstellen möchten, dass Sie nur untergeordnete Datensätze erhalten, die den Kriterien entsprechen, müssen Sie den Filter auch auf der untergeordneten Ebene wiederholen.

Beispiel: Wenn Sie nur Änderungskomponenten des physischen Typs UPDATE abrufen möchten, müssen Sie die folgenden Filter in der Objektänderungsabfrage anwenden:


{
    "collection": {
        "filter": "changeComponents[physicalType = 'UPDATE']"
    },
    "accessors": {
        "changeComponents": {
            "collection": {
                "filter": "physicalType = 'UPDATE'"
            },
...
                

Nach Gültigkeitsdatum filtern:

Bei datumsabhängigen Objekten erhalten Sie standardmäßig Daten, die ab dem aktuellen Datum gültig sind. Um Daten abzurufen, die ab einem bestimmten Datum gültig sind, verwenden Sie den HTTP-Abfrageparameter $effectiveDate.

Beispiel: Wenn Sie Daten abrufen möchten, die ab 2023-01-01 gültig sind, verwenden Sie die folgende URL für Ihre Abfrage:

/api/boss/data/objects/ora/hcmHrCore/employment/v1/{{viewPath}}/$query?$effectiveDate=2023-01-01

Sortierung

Definieren Sie, wie Daten sortiert werden sollen. Die Sortierung wird durch ein Array von Sortierattributen einschließlich der Sortierrichtung (asc oder desc) ausgedrückt. Beispiel:

"sortBy": [
    {
        "totalAmount": "desc"
    },
    {
        "paidAmount": "asc"
    }
]

Paging

Legen Sie fest, wie Daten paginiert werden sollen. Der Client kann das Paging steuern, indem er Grenz- und Offsetparameter bereitstellt. Beispiel:

"limit": 200,
"offset": 400

Das Standardlimit ist 25 und das maximale Limit ist 1000.

Der Standard-Offset ist 0 und gibt den Anfang der Ergebnisse an.

Das hasMore-Attribut der obersten Ebene in der Antwort gibt an, ob weitere Ergebnisse abgerufen werden müssen.

Paginierung sollte nicht als alternative Methode zum Extrahieren von Daten verwendet werden. Bei der Abfrage dieser API gibt es keine Garantie, dass sich die Daten zwischen den Anforderungen nicht ändern. Verwenden Sie die asynchrone API für die Datenextraktion.

Beispiel

Die folgende Beispielextraktabfrage soll Arbeitsstelleninformationen zusammen mit Arbeitgeber- und Abteilungsdetails abrufen, die:

  • Sind primäre Arbeitsstellen
  • Sind vom Typ "Mitarbeiter"
  • Gehören Sie nicht zu Arbeitgebern mit den IDs 10001 und 10002
  • Gültig ab Extraktionsdatum
  • Seit der vorherigen Ausführung aktualisiert (oder erstellt)

Anforderungsbeispiel

Beachten Sie den Parameter limit und die Attributbedingung timeUpdated mit dem Zeitstempel des vorherigen Exportlaufs.

POST /api/boss/data/objects/ora/hcmHrCore/employment/v1/workerAssignmentExtracts/$query
 
{
    "collection": {
        "limit": 10,
        "filter": "primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))"
    },
    "fields": [ "id", "assignmentType", "assignmentStatusType", "effectiveStartDate", "effectiveEndDate", "businessTitle", "workAtHomeFlag", "assignmentNumber", "timeUpdated" ],
    "accessors": {
        "personDetail": {
            "fields": [ "personNumber" ]
        },
        "globalName": {
            "fields": [ "firstName", "lastName" ]
        },
        "department": {
            "fields": [ "id", "name", "title" ]
        },
        "legalEmployer": {
            "fields": [ "id", "name" ]
        },
        "workRelationship": {
            "fields": [ "id" ]
        }
    }
}
				

Antwortbeispiel

200 OK
 
{
    "items": [
        {
            "id": "300000795682243",
            "assignmentType": "E",
            "assignmentStatusType": "ACTIVE",
            "effectiveStartDate": "2018-06-14",
            "effectiveEndDate": "4712-12-31",
            "businessTitle": "Aeronautical Engineer Level-9352",
            "workAtHomeFlag": false,
            "assignmentNumber": "EHDLWorker_190903_1637",
            "timeUpdated": "2025-05-06T11:42:17.821Z",
            "$id": "300000795682243",
            "$context": {
                "etag": "89"
            },
            "personDetail": {
                "personNumber": "HDLWorker_190903_1637",
                "$id": "100000329366771",
                "$context": {
                    "etag": ""
                }
            },
            "globalName": {
                "firstName": "Raymond-Olivier",
                "lastName": "Beer-Tröst",
                "$id": "300000795668871",
                "$context": {
                    "etag": ""
                }
            },
            "department": {
                "id": "300000044556980",
                "name": "South - Venaria DC-GROUP/SFIELESOIT74155",
                "title": null,
                "$id": "300000044556980",
                "$context": {
                    "etag": "13",
                    "links": {
                        "$self": {
                            "href": "https://example.com/api/boss/data/objects/ora/hcmHrCore/workStructures/v1/departments/300000044556980?$effectiveDate=2025-05-13"
                        }
                    }
                }
            },
            "legalEmployer": {
                "id": "300000046740247",
                "name": "PSR_US_LE_1",
                "$id": "300000046740247",
                "$context": {
                    "etag": "15",
                    "links": {
                        "$self": {
                            "href": "https://example.com/api/boss/data/objects/ora/hcmHrCore/workStructures/v1/legalEmployers/300000046740247?$effectiveDate=2025-05-13"
                        }
                    }
                }
            },
            "workRelationship": {
                "id": "100000329414679",
                "$id": "100000329414679",
                "$context": {
                    "etag": "1"
                }
            }
        },
        {
            "id": "300000795670049",
            "assignmentType": "E",
            "assignmentStatusType": "ACTIVE",
            "effectiveStartDate": "2018-05-28",
            "effectiveEndDate": "4712-12-31",
            "businessTitle": "Civil Engineer-6864",
            "workAtHomeFlag": false,
            "assignmentNumber": "EHDLWorker_190903_11128",
            "timeUpdated": "2025-05-06T11:42:25.787Z",
            "$id": "300000795670049",
            "$context": {
                "etag": "89"
            },
            "personDetail": {
                "personNumber": "HDLWorker_190903_11128",
                "$id": "100000329383875",
                "$context": {
                    "etag": ""
                }
            },
            "globalName": {
                "firstName": "Charlotte-Pénélope",
                "lastName": "Beer-Tröst",
                "$id": "300000795669677",
                "$context": {
                    "etag": ""
                }
            },
            "department": {
                "id": "300000044582197",
                "name": "Human Resources-GROUP/AT081000101",
                "title": null,
                "$id": "300000044582197",
                "$context": {
                    "etag": "13",
                    "links": {
                        "$self": {
                            "href": "https://example.com/api/boss/data/objects/ora/hcmHrCore/workStructures/v1/departments/300000044582197?$effectiveDate=2025-05-13"
                        }
                    }
                }
            },
            "legalEmployer": {
                "id": "300000046740247",
                "name": "PSR_US_LE_1",
                "$id": "300000046740247",
                "$context": {
                    "etag": "15",
                    "links": {
                        "$self": {
                            "href": "https://example.com/api/boss/data/objects/ora/hcmHrCore/workStructures/v1/legalEmployers/300000046740247?$effectiveDate=2025-05-13"
                        }
                    }
                }
            },
            "workRelationship": {
                "id": "100000329453488",
                "$id": "100000329453488",
                "$context": {
                    "etag": "1"
                }
            }
        },
        ...
    ],
    "hasMore": true
}

Aufgabe 3: Exportjobanforderungen weiterleiten

Nachdem die Abfrage definiert wurde, kann eine Exportjobanforderung mit der Job Scheduler-API weitergeleitet werden.

URL /api/saas-batch/jobscheduler/v1/jobRequests
HTTP-Methode POST
Anforderungsvorlage
{
    "jobDefinitionName": "AsyncDataExtraction",
    "serviceName": "boss",
    "requestParameters": {
        "boss.module": "{{moduleName}}",
        "boss.resource.name": "{{viewName}}",
        "boss.resource.version": "v1",
        "boss.outputFormat": "json",
        "boss.request.system.param.effectiveDate": "{{effectiveDate}}",
        "boss.advancedQuery": "{{query}}"
    }
}

boss.request.system.param.effectiveDate ist ein optionaler Parameter, der nur angegeben werden sollte, wenn Sie Daten abrufen möchten, deren Gültigkeitsstichtag vom aktuellen Datum abweicht.

Antwortvorlage

Bei erfolgreicher Weiterleitung wird der 202-Antwortcode zusammen mit dem Location-Header zurückgegeben, wobei die URL auf die jeweilige Jobanforderungsinstanz verweist.

202 Accepted
 
Location: {{jobRequestUrl}}

Paging beim Extrahieren von Daten:

Sie haben zwar Paginierungssteuerelemente verwendet, d.h. die Parameter limit und offset. Beim Erstellen und Testen der Abfrage möchten Sie jedoch nicht, dass die Extraktionsergebnisse von ihnen eingeschränkt werden. Entfernen Sie die Verwendung der Parameter limit und offset beim Weiterleiten einer Abfrage.

Abfrage übergeben:

Die beim Weiterleiten der Extraktionsjobanforderung übergebene Abfrage muss eine JSON-Standardzeichenfolge aufweisen. Führen Sie die mit dem API-Endpunkt $query vorbereitete und getestete Abfrage aus, und führen Sie folgende Schritte aus:
  • Alle doppelten Anführungszeichen (" → \") entweichen
  • Alle Zeilenvorschubzeichen entfernen (\n)
  • Potenzielle Reduzierung anderer Leerzeichen (z.B. Einrückungen)

Insgesamt möchten Sie z.B. von:

{
    "collection": {
        "limit": 100,
        "filter": "totalAmount > 10000"
    },
    "fields": [ "id", "totalAmount" ]
}

Zweck:

{\"collection\": {\"filter\": \"totalAmount > 10000\"},\"fields\": [ \"id\", \"totalAmount\" ]}

Beispiel

Anforderungsbeispiel

POST /api/saas-batch/jobscheduler/v1/jobRequests
 
{
    "jobDefinitionName": "AsyncDataExtraction",
    "serviceName": "boss",
    "requestParameters": {
        "boss.module": "oraHcmHrCoreEmployment",
        "boss.resource.name": "workerAssignmentExtracts",
        "boss.resource.version": "v1",
        "boss.outputFormat": "json",
        "boss.advancedQuery": "{\"collection\": {\"filter\": \"primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))\"},\"fields\": [ \"id\", \"assignmentType\", \"assignmentStatusType\", \"effectiveStartDate\", \"effectiveEndDate\", \"businessTitle\", \"workAtHomeFlag\", \"assignmentNumber\", \"timeUpdated\" ],\"accessors\": {\"personDetail\": {\"fields\": [ \"personNumber\" ]},\"globalName\": {\"fields\": [ \"firstName\", \"lastName\" ]},\"department\": {\"fields\": [ \"id\", \"name\", \"title\" ]},\"legalEmployer\": {\"fields\": [ \"id\", \"name\" ]},\"workRelationship\": {\"fields\": [ \"id\" ]}}}"
    }
}

Antwortbeispiel

202 Accepted
 
Location: https://example.com/api/saas-batch/jobscheduler/v1/jobRequests/42075

Aufgabe 4: Jobabschluss prüfen

Bei der Prüfung auf Abschluss wird die Job Scheduler-API verwendet, um die Jobanforderungsdetails regelmäßig abzufragen, bis sie erfolgreich abgeschlossen wurden oder nicht erfolgreich waren.

URL /api/saas-batch/jobscheduler/v1/jobRequests/{{jobRequestId}}
HTTP-Methode GET

Erfolgreicher Abschluss:

Eine Jobanforderung wird als erfolgreich abgeschlossen betrachtet, wenn die folgenden Bedingungen erfüllt sind:
Attribut Erwarteter Wert
jobDetails.jobProgress.completed true
jobDetails.jobProgress.status SUCCEEDED

Nicht erfolgreich abgeschlossen:

Eine Jobanforderung gilt als nicht erfolgreich, wenn die folgende Bedingung erfüllt ist. In diesem Fall enthält das Attribut jobDetails.jobProgress.message die Fehlermeldung.
Attribut Erwarteter Wert
jobDetails.jobProgress.status FAILED

Beispiel

Anforderungsbeispiel

GET /api/saas-batch/jobscheduler/v1/jobRequests/42075

Antwortbeispiele

Unter Antworten werden verschiedene Phasen eines weitergeleiteten Jobs angezeigt. Siehe insbesondere die Attribute jobProgress.status und jobProgress.completed.

Akzeptiert/in Queue gestellt
200 OK
 
{
    "jobDetails": {
        "jobRequestId": 42075,
        "jobRequest": {
            "jobDefinitionName": "AsyncDataExtraction",
            "serviceName": "boss",
            "systemDerivedVersion": "90",
            "jobSubmitter": "TM-MFITZIMMONS",
            "requestParameters": {
                "boss.module": "oraHcmHrCoreEmployment",
                "boss.resource.name": "workerAssignmentExtracts",
                "boss.resource.version": "v1",
                "boss.outputFormat": "json",
                "boss.advancedQuery": "{\"collection\": {\"filter\": \"primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))\"},\"fields\": [ \"id\", \"assignmentType\", \"assignmentStatusType\", \"effectiveStartDate\", \"effectiveEndDate\", \"businessTitle\", \"workAtHomeFlag\", \"assignmentNumber\", \"timeUpdated\" ],\"accessors\": {\"personDetail\": {\"fields\": [ \"personNumber\" ]},\"globalName\": {\"fields\": [ \"firstName\", \"lastName\" ]},\"department\": {\"fields\": [ \"id\", \"name\", \"title\" ]},\"legalEmployer\": {\"fields\": [ \"id\", \"name\" ]},\"workRelationship\": {\"fields\": [ \"id\" ]}}}"
            },
            "jobRetryNumber": 0,
            "timeoutThreshold": 14400
        },
        "jobStatus": "ENQUEUED",
        "jobProgress": {
            "status": "ACCEPTED",
            "message": "Job is submitted",
            "startTime": "2025-05-25T13:39:01Z",
            "endTime": "2025-05-25T13:39:15Z",
            "completedPercentage": "0",
            "completed": false
        }
    },
    "$context": {
        "links": {
            "$self": {
                "href": "https://example.com/api/saas-batch/jobscheduler/v1/jobRequests/42075"
            }
        }
    }
}
Wird ausgeführt
200 OK
 
{
    "jobDetails": {
        "jobRequestId": 42075,
        "jobRequest": {
            "jobDefinitionName": "AsyncDataExtraction",
            "serviceName": "boss",
            "systemDerivedVersion": "90",
            "jobSubmitter": "TM-MFITZIMMONS",
            "requestParameters": {
                "boss.module": "oraHcmHrCoreEmployment",
                "boss.resource.name": "workerAssignmentExtracts",
                "boss.resource.version": "v1",
                "boss.outputFormat": "json",
                "boss.advancedQuery": "{\"collection\": {\"filter\": \"primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))\"},\"fields\": [ \"id\", \"assignmentType\", \"assignmentStatusType\", \"effectiveStartDate\", \"effectiveEndDate\", \"businessTitle\", \"workAtHomeFlag\", \"assignmentNumber\", \"timeUpdated\" ],\"accessors\": {\"personDetail\": {\"fields\": [ \"personNumber\" ]},\"globalName\": {\"fields\": [ \"firstName\", \"lastName\" ]},\"department\": {\"fields\": [ \"id\", \"name\", \"title\" ]},\"legalEmployer\": {\"fields\": [ \"id\", \"name\" ]},\"workRelationship\": {\"fields\": [ \"id\" ]}}}"
            },
            "jobRetryNumber": 0,
            "timeoutThreshold": 14400
        },
        "jobStatus": "RUNNING",
        "jobProgress": {
            "jobRequestId": 42075,
            "status": "RUNNING",
            "message": "Job status is changed to RUNNING",
            "startTime": "2025-05-25T13:39:27Z",
            "endTime": "2025-05-25T13:40:25Z",
            "completedPercentage": "50",
            "completed": false
        }
    },
    "$context": {
        "links": {
            "$self": {
                "href": "https://example.com/api/saas-batch/jobscheduler/v1/jobRequests/42075"
            }
        }
    }
}
200 OK
 
{
    "jobDetails": {
        "jobRequestId": 42075,
        "jobRequest": {
            "jobDefinitionName": "AsyncDataExtraction",
            "serviceName": "boss",
            "systemDerivedVersion": "90",
            "jobSubmitter": "TM-MFITZIMMONS",
            "requestParameters": {
                "boss.module": "oraHcmHrCoreEmployment",
                "boss.resource.name": "workerAssignmentExtracts",
                "boss.resource.version": "v1",
                "boss.outputFormat": "json",
                "boss.advancedQuery": "{\"collection\": {\"filter\": \"primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))\"},\"fields\": [ \"id\", \"assignmentType\", \"assignmentStatusType\", \"effectiveStartDate\", \"effectiveEndDate\", \"businessTitle\", \"workAtHomeFlag\", \"assignmentNumber\", \"timeUpdated\" ],\"accessors\": {\"personDetail\": {\"fields\": [ \"personNumber\" ]},\"globalName\": {\"fields\": [ \"firstName\", \"lastName\" ]},\"department\": {\"fields\": [ \"id\", \"name\", \"title\" ]},\"legalEmployer\": {\"fields\": [ \"id\", \"name\" ]},\"workRelationship\": {\"fields\": [ \"id\" ]}}}"
            },
            "jobRetryNumber": 0,
            "timeoutThreshold": 14400
        },
        "jobStatus": "RUNNING",
        "jobProgress": {
            "jobRequestId": 42075,
            "status": "RUNNING",
            "message": "Publishing BOSS job progress: JobProgress(jobRequestId=42075, resourcePath=oraHcmHrCoreEmployment/v1/workers, dataDocName=null, deploymentId=null, jobStatus=RUNNING, startTime=2025-05-25T13:40:18Z, endTime=2025-05-25T13:40:38Z, completedPercentage=30, completed=false, error=null)",
            "startTime": "2025-05-25T13:40:40Z",
            "endTime": "2025-05-25T13:40:40Z",
            "completedPercentage": "30",
            "completed": false
        }
    },
    "$context": {
        "links": {
            "$self": {
                "href": "https://example.com/api/saas-batch/jobscheduler/v1/jobRequests/42075"
            }
        }
    }
}
Erfolgreich beendet
200 OK
 
{
    "jobDetails": {
        "jobRequestId": 42075,
        "jobRequest": {
            "jobDefinitionName": "AsyncDataExtraction",
            "serviceName": "boss",
            "systemDerivedVersion": "90",
            "jobSubmitter": "TM-MFITZIMMONS",
            "requestParameters": {
                "boss.module": "oraHcmHrCoreEmployment",
                "boss.resource.name": "workerAssignmentExtracts",
                "boss.resource.version": "v1",
                "boss.outputFormat": "json",
                "boss.advancedQuery": "{\"collection\": {\"filter\": \"primaryFlag = true and timeUpdated > '2025-05-01T00:00:00Z' and assignmentType = 'E' and !(legalEmployer.id in (10001, 10002))\"},\"fields\": [ \"id\", \"assignmentType\", \"assignmentStatusType\", \"effectiveStartDate\", \"effectiveEndDate\", \"businessTitle\", \"workAtHomeFlag\", \"assignmentNumber\", \"timeUpdated\" ],\"accessors\": {\"personDetail\": {\"fields\": [ \"personNumber\" ]},\"globalName\": {\"fields\": [ \"firstName\", \"lastName\" ]},\"department\": {\"fields\": [ \"id\", \"name\", \"title\" ]},\"legalEmployer\": {\"fields\": [ \"id\", \"name\" ]},\"workRelationship\": {\"fields\": [ \"id\" ]}}}"
            },
            "jobRetryNumber": 0,
            "timeoutThreshold": 14400
        },
        "jobStatus": "SUCCEEDED",
        "jobProgress": {
            "jobRequestId": 42075,
            "status": "SUCCEEDED",
            "message": "Job status is changed to SUCCEEDED",
            "startTime": "2025-05-25T13:39:27Z",
            "endTime": "2025-05-25T13:41:26Z",
            "completedPercentage": "100",
            "completed": true
        }
    },
    "$context": {
        "links": {
            "$self": {
                "href": "https://example.com/api/saas-batch/jobscheduler/v1/jobRequests/42075"
            }
        }
    }
}

Aufgabe 5: Exportausgabedetails abrufen

Nachdem der Job erfolgreich abgeschlossen wurde, können die Informationen zur Ausgabedatei abgerufen werden. Dabei wird die Job File Manager-API für die jeweilige Instanz der Exportjobanforderung verwendet.

Die Ausgabe wird in komprimierten Blöcken gespeichert.

URL /api/saas-batch/jobfilemanager/v1/jobRequests/{{jobRequestId}}/outputFiles
HTTP-Methode GET

Dateigröße:

Die Dateigröße wird im Antwortattribut items.fileSize zurückgegeben und in Byte ausgedrückt.

Anlagenlink:

Die URL zum tatsächlichen Dateiinhalt wird im Antwortattribut items.$context.links.enclosure zurückgegeben.

Beispiel

Anforderungsbeispiel

GET /api/saas-batch/jobfilemanager/v1/jobRequests/42075/outputFiles

Antwortbeispiel

Im folgenden Beispiel wird die vollständige Ausgabe in zwei komprimierten Dateien gespeichert.

200 OK
 
{
    "items": [
        {
            "fileName": "result_1_json.zip",
            "fileSize": 9390419,
            "timeCreated": "2025-04-22T22:04:22.667Z",
            "$context": {
                "links": {
                    "enclosure": {
                        "href": "https://example.com/api/saas-batch/jobfilemanager/v1/jobRequests/40071/outputFiles/result_1_json.zip/content"
                    },
                    "$self": {
                        "href": "https://example.com/api/saas-batch/jobfilemanager/v1/jobRequests/40071/outputFiles/result_1_json.zip"
                    }
                }
            }
        },
        {
            "fileName": "result_2_json.zip",
            "fileSize": 4462724,
            "timeCreated": "2025-04-22T22:04:36.565Z",
            "$context": {
                "links": {
                    "enclosure": {
                        "href": "https://example.com/api/saas-batch/jobfilemanager/v1/jobRequests/40071/outputFiles/result_2_json.zip/content"
                    },
                    "$self": {
                        "href": "https://example.com/api/saas-batch/jobfilemanager/v1/jobRequests/40071/outputFiles/result_2_json.zip"
                    }
                }
            }
        }
    ],
    "totalItems": 2,
    "$context": {
        "links": {
            "$self": {
                "href": "https://example.com/api/saas-batch/jobfilemanager/v1/jobRequests/40071/outputFiles"
            }
        }
    }
}

Aufgabe 6: Exportausgabe herunterladen

Die Exportausgabedateien können schließlich mit der Job File Manager-API für die jeweilige Instanz und Ausgabedatei der Exportjobanforderung heruntergeladen werden.

URL /api/saas-batch/jobfilemanager/v1/jobRequests/{{jobRequestId}}/outputFiles/{{fileName}}/content
HTTP-Methode GET

Tipp:

Bei Bedarf können Sie große Dateien effizienter herunterladen, indem Sie Multithread-Downloads mit dem Range-HTTP-Header wie unten implementieren.

Range: {{startByte}}-{{endByte}}/{{fileSize}}

Beispiel

Anforderungsbeispiel

GET /api/saas-batch/jobfilemanager/v1/jobRequests/42075/outputFiles/result_42075.json/content

Antwortbeispiele

Tatsächliche Antwort ist binär komprimierter Dateiinhalt. Nach der Dekomprimierung ist es vollständig oder teilweise (im Falle der Verwendung des Range-Headers), unformatierte JSON-Payload, mit vollständigen oder teilweisen (im Falle eines File-Chunk) Ergebnissen der Extraktionsabfrage.

Beispiel für vollständige nicht komprimierte Ergebnisse
{"items": [
    {"id":"300008335145001","assignmentType":"E","assignmentStatusType":"ACTIVE","effectiveStartDate":"2025-05-02","effectiveEndDate":"4712-12-31","businessTitle":"E7356262523","workAtHomeFlag":false,"assignmentNumber":"E7356262523","timeUpdated":"2025-05-01T07:53:15.722Z","$id":"300008335145001","$context":{"etag":"1"},"personDetail":{"personNumber":"7356262523","$id":"300008335144985","$context":{"etag":""}},"globalName":{"firstName":null,"lastName":"oracle","$id":"300008335144986","$context":{"etag":""}},"department":null,"legalEmployer":{"id":"300001939234024","name":"AORT Oracle United States","$id":"300001939234024","$context":{"etag":"6","links":{"$self":{"href":"/ora/hcmHrCore/workStructures/v1/$en-US/legalEmployers/300001939234024?$effectiveDate=2025-05-13"}}}},"workRelationship":{"id":"300008335144995","$id":"300008335144995","$context":{"etag":"1"}}},
    {"id":"300000310085281","assignmentType":"E","assignmentStatusType":"ACTIVE","effectiveStartDate":"2018-03-04","effectiveEndDate":"4712-12-31","businessTitle":"Medical Technologist Corporate Level-35321","workAtHomeFlag":false,"assignmentNumber":"EHDLWorker_190409_467490","timeUpdated":"2025-05-07T15:29:46.59Z","$id":"300000310085281","$context":{"etag":"90"},"personDetail":{"personNumber":"HDLWorker_190409_467490","$id":"100000127293313","$context":{"etag":""}},"globalName":{"firstName":"Martin-David","lastName":"Oestrovsky-Krein","$id":"300000310075057","$context":{"etag":""}},"department":{"id":"300000041568062","name":"GFIN Global Controlling-GROUP/GFINGC74155","title":null,"$id":"300000041568062","$context":{"etag":"13","links":{"$self":{"href":"/ora/hcmHrCore/workStructures/v1/$en-US/departments/300000041568062?$effectiveDate=2025-05-13"}}}},"legalEmployer":{"id":"300000046740247","name":"PSR_US_LE_1","$id":"300000046740247","$context":{"etag":"15","links":{"$self":{"href":"/ora/hcmHrCore/workStructures/v1/$en-US/legalEmployers/300000046740247?$effectiveDate=2025-05-13"}}}},"workRelationship":{"id":"100000127362395","$id":"100000127362395","$context":{"etag":"1"}}}
]}

Weitere Lernressourcen

Sehen Sie sich weitere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um ein Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.