Contents

How to FULLSYNC Tables Between Databases

This article explains how to set up a FULLSYNC of a table from one PeopleSoft database to another where there is no delivered message or process. This works for custom records or records where Oracle has not delivered syncs. We use mostly configuration and a small piece of generic code.

Assumptions

  • You have a working integration broker setup between the two PeopleSoft databases.
  • You have access to set up integration broker configurations.
  • You have access to install PeopleCode.
  • The base record(s) being FULLSYNCed exist in both databases.

For background on SYNC vs FULLSYNC concepts, see SYNC vs FULLSYNC Operations.

Publication Setup

We will be syncing a custom table called CHG_POSITION_DATA from one PeopleSoft database to another.

Create Message

PeopleTools > Integration Broker > Integration Setup > Messages

Attribute Value
Message Name CHG_POSITION_DATA_FULLSYNC
Message Type Rowset-based
Version VERSION_1
Level zero Record CHG_POSITION_DATA
All other properties Take Default

Create Service

PeopleTools > Integration Broker > Integration Setup > Services

Service Name: CHG_POSITION_DATA_FULLSYNC

Create Service Operation

PeopleTools > Integration Broker > Integration Setup > Service Operations

Attribute Value
Service Operation CHG_POSITION_DATA_FULLSYNC
Active Yes
Default Version VERSION_1
Message CHG_POSITION_DATA_FULLSYNC.VERSION_1
Queue Name HR_SETUP
  • Handlers: No handlers on the publishing database.
  • Routings: Set up one routing from your publishing node to your subscribing node.

Configure Full Data Publish Rules

Enterprise Components > Integration Definitions > Full Data Publish Rules

Open CHG_POSITION_DATA_FULLSYNC in the search record:

Setting Value
Publish Rule ID CHG_POSITION_DATA_FULLSYNC
Status Active
Chunking Rule ID Blank
Create Message Header Yes (causes full table truncation on subscriber)
Create Message Trailer No
Output Format Message

For chunking rules to send only subsets of data to specific nodes, see FULLSYNC Chunking Rules.

Run the Publication Process

Enterprise Components > Integration Definitions > Initiate Process > Full Data Publish

  • Create a new Run Control ID for this service operation (do NOT reuse existing ones).
  • Add the service operation CHG_POSITION_DATA_FULLSYNC to the run control.

Run Application Engine: EOP_PUBLISHT (Full Table Data Publish)

This delivered AE dynamically gathers all data from the tables in the message definition and packages it into service operations. At minimum it creates 2 operation instances (1 header + 1 body).

Subscription Setup

The subscription side has similar setup. The key difference is that we create a handler to run generic code that works for any FULLSYNC.

Message, Service, and Service Operation

Follow the same steps as the publication side.

Service Operation Handler

Create one active OnNotify handler on the subscribing side that invokes a generic application class:

import PS_PT:Integration:INotificationHandler;
import HR_INTEGRATION:*;

class genericFullSyncSubscription implements PS_PT:Integration:INotificationHandler
   method OnNotify(&_MSG As Message);
end-class;

method OnNotify
   /+ &_MSG as Message +/
   /+ Extends/implements PS_PT:Integration:INotificationHandler.OnNotify +/

   Local HR_INTEGRATION:HR_Subscription &Subscription;
   &Subscription = create HR_INTEGRATION:HR_Subscription();
   &Subscription.SetExecuteEdits( False);
   &Subscription.HR_Full_Sync();
end-method;

This calls delivered application class methods that handle the FULLSYNC processing based on the message content. The HR_INTEGRATION application package exists in both CS and HCM.

Service Operation Routings

Set up the appropriate inbound routing from the publishing node.

Web Service Security

Grant web service security to the user running the publication AE, or exclude the authentication token on the publication side.


Author Info
Chris Malek

Chris Malek s a PeopleTools® Technical Consultant with over two decades of experience working on PeopleSoft enterprise software projects. He is available for consulting engagements.

Work with Chris