Table of Contents

Search

  1. Preface
  2. Introduction to Services Integration Framework
  3. Setting Up the SIF SDK
  4. Request and Response Objects
  5. Transactions and Exception Handling
  6. ORS-Specific SIF API
  7. Asynchronous SIF Requests
  8. ORS-Specific JMS Event Messages
  9. Using Security Access Manager
  10. Using Dynamic Data Masking
  11. SIF API Reference
  12. Troubleshooting
  13. Appendix A: Identifiers
  14. Appendix B: Frequently Asked Questions

Services Integration Framework Guide

Services Integration Framework Guide

GetAggregatePeriod

GetAggregatePeriod

The
GetAggregatePeriod
API retrieves the aggregate period for multiple base objects arranged into a tree with a specified root base object.
The aggregate period is an aggregate of the effective periods of all base object records in a request that encompasses the specified effective date. The advantage of an aggregated effective period is there is a minimal intersection of individual effective periods around the specified effective date.

Required Parameters

The following table lists and describes the parameters that are required by the GetAggregatePeriod API:
Parameter
Description
SiperianObjectUid
Name and type of the package or base object to be queried.
RecordKey
Key to uniquely identify the record to be fetched.
EffectiveDate
The effective date of the calculated effective period.
JoinUids
List of JoinObjectType instances. Each JoinObjectType describes a relationship between two elements of the base object tree. Each JoinObjectType contains a match path UID for the base object join. Optionally, each JoinObjectType can contain a list of filter fields.

Optional Parameters

The following table lists and describes the optional parameters that are used by the GetAggregatePeriod API:
Parameter
Description
RecordStates
The Hub state indicator to filter the records. The aggregate period depends on the effective periods of the filtered records. By default, only records in an ACTIVE state are taken into account.

Response Fields

The following table describes the fields returned by the
GetAggregatePeriod
response:
Field
Description
AggregatedPeriodStartDate
Start date of the calculated effective period.
AggregatedPeriodEndDate
End date of the calculated effective period.

Use Case

The following is a common scenario for using the GetAggregatePeriod API:
  • The base object C_PHONE base object is a one-to-many child of C_ORGANIZATION. They are linked with the match path C_MT_ORG_PHONE.
    GetAggregatePeriod
    used to retrieve the C_PHONE records that have the value "FAX” value in the PHONE_TYPE field. In this scenario, you want to get the aggregate period for all three records on effective date September 1, 2014.
The following table describes the relevant fields for this scenario:
Base Object Name
Period Start Date
Period End Date
Organization
January 1, 2014
Phone 1
January 1, 2014
December 31, 2014
Phone 2
May 1, 2014

Usage Example

The following example returns a response that contains aggregatedPeriodStartDate of May 1, 2014 and aggregatedPeriodEndDate of December 31, 2014 from C_ORGANIZATION described in the use case.
GetAggregatePeriodRequest request = new GetAggregatePeriodRequest(); RecordKey recordKey = RecordKey.rowid("782") request.setRecordKey(recordKey); //Required request.setSiperianObjectUID("BASE_OBJECT.C_ORGANIZATION"); //Required Date date=new Date(2014, 09, 01); JoinObjectType sifJoin = new JoinObjectType(); sifJoin.setSiperianObjectUid("MATCH_PATH_COMPONENT.C_MT_ORG_PHONE"); Field filterField = new Field("C_MT_ORG_PHONE.PHONE_TYPE", "FAX"); sifJoin.setFilterFields(Collections.singletonList(filterField)); request.getJoins().add(sifJoin); //Required GetAggregatePeriod response = sipClient.process(request);

0 COMMENTS

We’d like to hear from you!