Understanding Publishing Rules

You control the size and number of, and the frequency at which data full table or batch data is published by creating and using a series of data publishing rules.

The PeopleSoft Pure Internet Architecture component that you use to create publishing rules depends on the type of processing that you want to perform. For full table publish processing, use the Full Table Publish Rules component (EOIU_SOPUBFULL) to create publishing rules; for batch publish processes, use the Batch Process Rules component (EO_MSGPUBBATCH).

The pages in the Full Table Publish Rules and Batch Process Rules components are very similar. You use these components to specify:

  • Pre-processing and post-processing tasks.

  • The source of the data.

  • Whether to chunk the message.

  • Record mapping.

  • Output format.

  • Related languages in which to publish the data. (Full table publishing rules only)

Often, performing pre-processing and post-processing tasks on the subscribing system before or after it processes a service operation message is desirable. Pre-processing tasks can include actions such as deleting existing data. Post-processing actions can include data clean-up.

Performing pre-processing and post-processing tasks is optional. However, if you choose to perform them, you must enable the Message Header or Message Trailer options on the Full Table Publish Rules or Batch Publish Rules page, as well as code the processing logic on the service operation handler.

You can perform pre-processing and post-processing tasks on service operations that are processed sequentially or in parallel.

Note: Using pre-processing and post-processing tasks in conjunction with the parallel processing feature of the Publish Utility is currently available in the HCM application only. To use pre- and post-processing tasks in conjunction with parallel processing you must apply one of the following resolutions to both the publishing and subscribing systems: HCM 9.0 systems – Resolution 827074; HCM 9.1 systems – Resolution 827350.

Using pre-processing and post-processing logic is discussed in greater detail elsewhere in this documentation.

See Performing Pre-Processing and Post-Processing Tasks.

The data to publish using the Publish utility can be from the following sources:

  • A staging table.

  • A temporary table.

  • A view.

This section discusses message chunking as it pertains to specifying chunking options in publishing rules. Setting up message chunking is discussed elsewhere in this documentation.

See Setting Up Message Chunking.


Chunking refers to the automatic breaking of a message into several smaller messages based on values in fields in the level zero record.

You can perform chunking based on setID, business unit, or record group.

Chunking on business unit means that all transactions within the message are for the same business unit value.

The system chunks message data based on the MaxMessageSize parameter.

The MaxMessageSize (maximum message size) field in the PeopleSoft Option (PSOPTIONS) table limits the size of the message. Before processing each level zero record, the Full Table Publish utility compares the size of the message against the value in the MaxMessageSize field. When the message size exceeds the value in the MaxMessageSize field, the service operation publishes, and a new service operation starts.

You can also specify message chunking in the publish rules for the service operation, which enables the message to publish when the value of a chunk field changes.

Chunking Field

Chunking fields are key fields in the level zero record that are used to break the message into parts.

Chunking Table

A chunking table is a derived or Structured Query Language (SQL) table that contains the fields by which the message is chunked. SQL chunk tables define the valid values of the chunking fields and the nodes to which the message is published.

Oracle provides three standard chunking tables: EO_BUSUNIT_EOC for business unit values, EO_SETID_EOC for setID values and EO_RECGRP_EOC for record groups values. Oracle provides chunking tables for business unit, setID and record group that are maintained by a series of components (such as components that are created for maintaining the business unit chunking table).

Alternate Chunking Table

An alternate chunking table is a secondary chunk table. It provides a separate view of an existing chunk table, but with one or more field names customized. It enables you to reuse an existing chunk table. For example, if the record EO_BUSUNT_EOC has BUSINESS_UNIT as the chunking field, you can create a view of this table that has BUSINESS_UNIT_IN as the chunking field.

When the field being chunked doesn't use the normal field names for business unit and setID, the alternate chunk table enables you to use the existing chunk tables and maintenance pages for business unit and setID. The alternate chunk table enables the user to use the existing chunk tables and maintenance pages for business unit and setID when the field being chunked doesn't use the normal field names for business unit and setID, for example, BUSINESS_UNIT_IN. Use the _EOV suffix for alternate chunk tables.

Chunking Rule

A chunking rule points to the chunking table. Multiple chunking rules can point to the same chunking table.

You should use the record mapping feature in a publish rule because:

  • The published data comes from staging tables or temporary tables.

    Using staging tables is the only way to publish rows that have been deleted from application master tables.

  • The published data needs an order sequence that differs from that of the records in the message.

  • You must create a view that selects only current effective-dated rows in situations in which the application table is effective-dated and the subscribing database cannot process future-dated transactions.

You can choose the output of the Full Table Publish utility to be in the following formats:

  • Message (default value).

  • Flat file.

  • Flat file with control record.

You can create multiple publish rules with different output formats for the same service operation.

Flat File Output

You select the flat file option when you set up publish rule definitions for the service operation. If a file layout object exists with the same name as the message object, you can modify the output format field on the Publish Rule Definition page.

If you select flat file output, the header and trailer messages aren’t created, and a single output flat file is created even if you already specified the chunking rule.

The file layout definition must have a record structure identical to that of the message; if the AUDIT_ACTN field does not exist in the record, you must add it to the file layout record definition.

The option becomes modifiable if a file layout object exists with the same name as the message definition.

The directory location of the flat file is determined by the value in the OUTPUT parameter in PeopleSoft Configuration Manager.

The flat file name is messageName_SequenceNumber.out, where messageName is the message name and SequenceNumber is the next available sequential number for files with that message name.

The Publish utility provides the option to publish data in related languages.

If you choose to use the related language feature, the system creates the following related language messages:

  • One message in the base language of the publishing system.

  • One message for each language in the related language tables for the base tables.

The subscribing system receives the messages in the order in which they are published. For example, if the base language is English, with French and then German as related language tables, the Publish utility creates the messages in this order:

  1. (Optional) Header message.

  2. English message 1.

  3. French message 1.

  4. German message 1.

  5. English message 2.

  6. French message 2.

  7. German message 2.

  8. (Optional) Trailer message.