PartyRelationship (relacja między stronami)
PartyRelationship (relacja między stronami) opisuje relację biznesową między dwiema stronami w rolach (PartyRole) – np. klient–dostawca, sold-to–ship-to, płatnik–odbiorca płatności, członek grupy–grupa, oddział–centrala. Rozszerza DomainResource. Relacja łączy dwa PartyRole (partyFrom, partyTo); strona (podmiot) pochodzi z PartyRole.party. Typ relacji biznesowej określa dziedziczone pole type (z DomainResource); odczyt odwrotny wynika z definicji typu.
1. Zakres i zastosowanie
PartyRelationship jest używany do:
- Relacje biznesowe między dwoma PartyRole – zawsze dwie referencje: partyFrom i partyTo (każda do PartyRole). Strona pochodzi z PartyRole.party. Typ relacji określa type (z DomainResource).
- Dwukierunkowość – ta sama para ról może być opisana przez jeden zasób; kierunek „od–do" jest ustalony (partyFrom → partyTo); interpretacja odwrotna wynika z definicji type.
- Okres ważności – relacja może mieć period (validFrom, validTo).
- Status – opcjonalnie active, inactive.
Typowe wartości type (system np. https://api-erp.kamsoft.pl/ns/party-relationship-type): sold-to, ship-to, bill-to, payer, payee, group–member, subsidiary–headquarters, customer–supplier, employer-employee (używany w Employment).
2. Struktura (pola)
Poza polami z DomainResource (id, resourceType, identifier, meta, attribute, status, type):
| Nazwa | Kard. | Typ | Opis |
|---|---|---|---|
| partyFrom | 1..1 | Reference(PartyRole) | Pierwsza strona w relacji (od) – strona w roli |
| partyTo | 1..1 | Reference(PartyRole) | Druga strona w relacji (do) – strona w roli |
| period | 0..1 | Period | Okres ważności relacji (validFrom, validTo) |
Typ relacji biznesowej (sold-to, ship-to, bill-to, payer, member-of itp.) – dziedziczone type z DomainResource (system np. https://api-erp.kamsoft.pl/ns/party-relationship-type). Status – dziedziczony status z DomainResource.
Uwaga: partyFrom i partyTo muszą wskazywać na różne zasoby PartyRole (lub contained w contained). Party jest dostępny przez PartyRole.party. Zasoby PartyRole (lub Party w contained) mogą w razie potrzeby być osadzone i referowane przez Reference (#id).
3. Relacja Party – PartyRole – PartyRelationship
- Party – podmiot (identyfikatory, nazwa, adresy, kontakty). Party NIE zawiera referencji do PartyRole ani PartyRelationship; relacje i role są w zasobach PartyRole i PartyRelationship.
- PartyRole – referuje do Party przez party (strona w roli). PartyRelationship – „PartyRole A w relacji Z z PartyRole B" (partyFrom, partyTo → PartyRole; typ relacji w type). Strona pochodzi z PartyRole.party.
Relacje są odpytywane po PartyRole (np. „wszystkie PartyRelationship gdzie partyFrom=X lub partyTo=X") lub po Party przez PartyRole („PartyRole gdzie party=Party/id").
4. Mapowanie na systemy ERP
| System | Odpowiednik | Uwagi |
|---|---|---|
| SAP HCM / S/4HANA | Relacja klient–dostawca, relacja organizacyjna | Type określa relację biznesową; period i status zarządzają ważnością |
| SAP SuccessFactors | Relacja zatrudnienia, relacja raportowania | Typ relacji (employment, reporting, delegation itp.) |
| Oracle HCM Cloud | Relacja zatrudnienia, hierarchia organizacyjna | Employment = pracodawca–pracownik; hierarchia org przez relacje jednostek org |
| Workday | Relacja zatrudnienia, relacja org, relacja menedżer | Typ relacji ustala kierunek i naturę (employment, reporting itp.) |
5. Powiązane zasoby
→ Party — Informacje o podmiocie
→ PartyRole — Strona w roli
→ Core Master Data Overview — Wspólne dane główne