Performing a Full Data Publish of Current Effective Data

This section discusses how to perform a full data publish of current effective data.

For full data messages that are intended for vendors who do not handle effective dating, use the Effective Date Publish utility and a current full message to publish only those rows that are currently active. Any future-dated rows are written to the delay table.

This section discusses the process involved in a full data publish of current effective data. It uses the CUSTOMER_FULLSYNC_EFF service operation as an example, but the methods and procedures that are described here apply to creating any effective-dated service operation that contains effective-dated messages.

Page Name

Definition Name

Usage

Chunking Rule Page

EO_CHUNKRULE

Define the chunking rule description.

Full Data Publish Page

EO_FULLDATAPUB

Create the run control for the Full Data Publish utility.

The run control associates publish rule definitions with the scheduled Full Publish process run. For example, you can set up a run control to publish both customer and sales order full messages at the end of each day.

The structure of the current full message must be a clone of the original FullSync message structure. However, you must map effective-dated records to a record view that selects only those rows that contain current data.

This example uses the message CUSTOMER_FULLSYNC. The current full message for customer data, CUSTOMER_FULLSYNC, uses the following views that are created as ordering view records.

Level

Target Records

Ordering View Records

Level 0

CUSTOMER

CUSTOMER

Level 1

CUST_ADDR_CNTCTC

CUST_ADDR_CNTCTC

Level 1

CUST_ADDR_SEQ

CUST_ADDR_SEQ

Level 2

CUST_ADDRESS (effective-dated)

CUST_ADDR_EF2VW (current effective-dated view)

Level 1

CUST_CNTCT_SEQ

CUST_CNTCT_SEQ

Level 2

CUST_CONTACT (effective-dated)

CUST_CNCT_EF2VW (current effective-dated view)

Level 3

CUST_CNTCT_CARD (effective-dated)

CUST_CARD_EF_VW (current effective-dated view)

Level 3

CUST_CNTCT_DOC (effective-dated)

CUST_DOC_EF_VW (current effective-dated view)

Level 3

CUST_CNTCT_PHN (effective-dated)

CUST_PHN_EF_VW (current effective-dated view)

Level 3

CUST_CNTCT_TYPE (effective-dated)

CUST_TYPE_EF_VW (current effective-dated view)

To complete a full data publish of effective dated data, you must create a service operation.

Note: The name of the service operation must end with _EFF suffix to be effective dated.

When you create a service operation:

  • Specify the effective dated messages to publish.

  • Specify a service operation queue for each message.

  • Specify the directionality or routing of the integration.

  • Define an OnRouteSend service operation handler, which contains the processing logic.

Create a full message definition that contains the necessary records in the publishing system. You can also set up message routing by using OnRouteTo PeopleCode.

Note: Remember to insert the message version first, otherwise you can’t add the tables that compose the message.

Begin by setting up the node and the transaction and connector details by using the Integration Profile setup function of PeopleSoft Integration Broker. To set up the node:

  1. Create a node.

    See PeopleTools: PeopleSoft Integration Broker Administration, “Adding and Configuring Nodes”

  2. Set up the connector.

    The default target is PSHTTP, but you can instead provide the HTTP address for another target.

    See PeopleTools: PeopleSoft Integration Broker Administration, “Managing Integration Gateways”

Use the Chunking Rule page (EO_CHUNKRULE) to define the chunking rule description.

Image: Chunking Rule page

This example illustrates the fields and controls on the Chunking Rule page. You can find definitions for the fields and controls later on this page.

Chunking Rule page

In message chunking, all data within the message contains the same break field. For example, if the break field is business unit, all transactions in the message are for the same business unit.

To ensure that the message publishes when you use chunking rules:

  1. Add subscribing nodes to the chunking node table.

  2. In PeopleSoft Application Designer, add OnRouteSend PeopleCode to return a list of subscribing nodes.

For creating the current full message, the publish rule defines these options:

  • Message header and trailer creation.

  • Chunking rules.

  • Ordering views.

Create publish rule definitions for each current full message definition. Observe these guidelines:

  • Specify only target records that are effective-dated.

  • Select only the current effective row to list the ordering view record that should be used as an override when the message is published.

  • The Effective Date Publish utility makes a logic pass through the data for each publish rule definition.

    You can use this logic to order and chunk the data differently for each subscriber.

Note: When chunking a message, you must provide an ordering view for each record that includes the chunking fields. The fields in this view must appear in the same order as the primary keys, followed by any other keys that are needed for that record. If you override the normal key structure of the message records, you must provide the ordering views for each record to guarantee that the message is reconstructed with the correct chunking, parent, or child key relationships.

Use the Full Data Publish page (EO_FULLDATAPUB) to create the run control for the Full Data Publish utility.

The run control associates publish rule definitions with the scheduled Full Publish process run. For example, you can set up a run control to publish both customer and sales order full messages at the end of each day.

Image: Full Data Publish page

This example illustrates the fields and controls on the Full Data Publish page. You can find definitions for the fields and controls later on this page.

Full Data Publish page

Use this page to create the run control for the Full Data Publish utility.

Field or Control

Definition

Request ID

Enter request IDs to group the Description, Process Frequency, and Message Name parameters under one unique process request. A single run control ID can encompass multiple request IDs.

Parameters

Select the name of the message to publish.

The PeopleSoft system adds a run control for the currently effective FullSync message that is chunked by the setID CUSTOMER_FULLSYNC_EFF_SETID.

Note: If you insert a new row, the same run control component can publish more than one message, so you can produce both the full message and the current effective-dated full message from the same PeopleSoft Process Scheduler run.

Note: You must set up the run control parameters to start the Full Data Publish program.

Performing Full Table Replication

Access the Full Data Publish page (Enterprise Components > Integration Definitions > Initiate Processes > Full Data Publish).

Click the Run button on the Full Data Publish (EO_FULLDATAPUB) page to access and select the Full Table Data Publish check box and perform a full table replication.

Image: Process Scheduler Request page showing the Full Table Data Publish option

This example illustrates the fields and controls on the Process Scheduler Request page showing the Full Table Data Publish option. You can find definitions for the fields and controls later on this page.

Process Scheduler Request page showing the Full Table Data Publish option

To define the message routing, you must create an OnRouteSend service operation handler and define the handler in the service operation.

Note: Perform this step only if you're chunking a message.

Example

You want to route the customer message to the nodes that are defined in the SetID/Nodes page within the Publish Setup component. Add the following PeopleCode to the OnRouteSend handler for the service operation:

Declare Function GETSETIDNODES PeopleCode FUNCLIB_EOEIP.PUBLISH_ROUTE_PC 
     Field Formula;
Local Message &MSG;
/* Call Function that looks at Setid of first transaction in the message 
 and returns a list of subscribing nodes to route the message */
&MSG = GetMessage();
GETSETIDNODES(&MSG, %Date);