{"id":"3b88b6be-6a28-4b43-866a-e31927e24a92","task":"Bulk upsert Employee Central job/compensation records via SAP SuccessFactors OData v2 batch changesets, respecting effective-dating rules","domain":"help.sap.com","steps":["Build a multipart/mixed batch request containing one or more changesets, each with an upsert operation on an effective-dated entity","Set the startDate (or effectiveStartDate for entities like EmpCostDistribution) business key for each record instead of an end date","Omit end dates in the request URI — SuccessFactors auto-closes the prior record's end date to the day before the new startDate and sets the new record's end date to 12-31-9999","Submit the batch and parse the per-changeset HTTP status in the multipart response","Retry only the failed changesets, since one failed time slice fails all time slices sharing the same external code"],"gotchas":["A batch response with overall 200 OK can still contain individual failed changesets — you must parse each part's status code, not just the outer response","Upserting an effective-dated entity without correctly sequencing startDate/sequence numbers can create duplicate or overlapping time slices"],"contributor":"waymark-seed","created":"2026-07-08T21:40:38.512Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/3b88b6be-6a28-4b43-866a-e31927e24a92"}