This chapter discusses implementing integrations.
Setting up inbound transactions
Setting up BackBone Interlinks
Setting up XML Mapper
Setting up chunking
This section discusses setting up inbound transactions.
Page Name |
Object Name |
Navigation |
Usage |
BCT_SETUP_FS |
SCM Integrations, Setup, Data Collection, Data Collection Setup |
Set up electronic data collection defaults. |
To enter defaults for inbound transactions, use the Bar Code Transaction Setup component.
Access the Data Collection Setup page.
Transaction Number |
The last transaction number used in the transaction log appears. The system uses the transaction number to automatically generate a unique number for each transaction added to the transaction log from the transaction pages. System-generated transactions also use this field. |
History Options |
Determines whether a history of the transactions is saved when you run the Purge process (INPYPURG) on the transactions in the transaction log. Options are: History for all Transactions: The system maintains a history of all transactions in the transaction log. History only for Errors: The system maintains a history only for transactions that have errors or warnings. No history will be maintained: The system doesn’t maintain a history for any transactions in the transaction log. |
Status of Records to Purge |
Determines which records the system purges when you run the Purge process. Options are: Complete: All rows for the transaction are either canceled or successfully processed. Confirmed: Purges only rows set to a confirmed status. This entry should be selected only if you have modified the interacting system to set the status of transactions to confirmed after making sure that the PeopleSoft system has processed the transaction to a complete status. |
File Suffix |
Used as the suffix for the file name of the label extraction file, when a format ID is not specified on the label generation page. |
Note. If your interacting system is selecting Complete transactions to mark them as being ready to purge, the BCT_STATUS on BCT_CTL should be updated from 2 (complete) to 6 (confirmed).
See Also
Using Electronic Data Collection Transactions
This section provides an overview and discusses BackBone InterlinX Framework.
BackBone InterlinX provide a metadata-driven, generic framework for data synchronization of tables between PeopleSoft databases. This framework enables PeopleSoft data synchronization through a single, metadata-driven EIP, thereby leaving standard EIPs to do their intended purpose of providing integration “services”.
The design concepts behind the BackBone InterlinX Framework provide:
A single, generic, metadata-driven EIP for selecting and/or synchronizing data between PeopleSoft databases of varied releases.
A private EIP that does not expose any additional unnecessary EIP contracts to the outside world.
An internal EIP that is not intended for external use and not posted to the ISR for external-use or support.
The ability to synchronize record level data independent of application business logic.
The ability to leverage XSL transformations for data model changes between releases.
BackBone InterlinX provides a simple, metadata-driven, Integration Broker-based solution for data synchronization. In addition, BackBone InterlinX provides data query (“Data Pull”) capabilities using XML that are not offered with ETL tools.
The following objects must be activated and configured correctly within the PeopleSoft Integration Broker for the BackBone InterlinX Framework to work:
Message.SAC_BBIX_MESSAGE.
Message Subscription.SAC_BBIX_MESSAGE.
Message Channel.SAC_BBIX.
Integration broker nodes.
Node transactions for each target node.
Integration broker domain.
Page Name |
Object Name |
Navigation |
Usage |
Define Target Set |
SAC_BBIX_TARGETSET |
SCM Integrations, Backbone InterlinX, Define Target Set |
Set up target sets, a logical grouping of target databases for data to be synchronized with the Backbone InterlinX framework. You can enter a list of target databases or Integration Broker Nodes for data to be “pushed” to or “pulled” from in order to define your target sets. |
Integration Definition |
SAC_BBIX_DEFN |
SCM Integrations, Backbone InterlinX, Define Integration |
Set up integrations, a record or group of records that you wish to synchronize with other PeopleSoft databases within the BackBone InterlinX Framework. You can select the data options for integrating with your target databases. |
BBIX User Exit Processing |
SAC_BBIX_USER_EXIT |
Click the Integration User Exits link on the Integration Definition page |
Set up additional processing to be done before and/or after data is synchronized using the BackBone InterlinX Framework. |
Access the Define Target Sets page.
Target Set |
Enter an identifier for your target set. |
Node Name |
Enter a PeopleSoft Integration Broker Node with which to synchronize data. Note. Add additional rows for each Node that you wish to integrate with for this target set ID. |
See Also
Enterprise PeopleTools 8.46 PeopleBook: Integration Broker
Access the Integration Definition page.
Integration ID |
Enter an ID for your integration. |
Active |
Click to indicate that the integration is active. If cleared, the integration is inactive. Inactive integrations will not publish data. |
Processing |
Determines how the integration will be processed. Options include: Standard Mode: Select to enables theProcessing Options group box so that you can execute the integration either from the BBIX Run Control Component or directly from PeopleCode. PeopleCode Only Mode: Select to disables the Processing Options group box so that you can only execute the integration using PeopleCode. |
Data |
Determines the type of data that the integration will synchronize. Options include: Setup Data: Data is synchronized and committed record by record Transaction Data: Data is synchronized and committed based on a parent-child transaction model. When this option is selected, the first record in the Processing Options group box is used as the parent record, and all additional records are used as child records. The system synchronizes data one parent row and all of the corresponding children rows at a time. Each parent row and the children rows is considered a logical transaction. This option is only available with the processing option of Standard Mode. |
Action |
Select to determine whether data is sent to or retrieved from the target sets. Options include: Data Push – Data is sent to the defined target set(s). Data Pull – Data is retrieved from the defined target set(s). This option is only available with the processing option of Standard Mode. |
Processing Options
Import Option |
Select to determine whether date is deleted from tables before synchronization occurs. Options include: Update and Append Only: Data is not deleted from the source or target database(s). The data sent is updated if the record already exists or added if the record does not exist in the target for a “Data Push” or in the source for a “Data Pull”. Delete All Record Data: The system deletes date from the source or target database. ALL of the data in the table is deleted in the target for a “Data Push” or in the source for a “Data Pull” before the new data is inserted. Delete Records using Filter: Data is deleted from the source or target database(s) based on the record “filter” that is defined. The data that matches the “filter” condition in the table is deleted in the target for a “Data Push” or in the source for a “Data Pull” before the new data is inserted. This option is only available with the processing option of Standard Mode and Setup Data. |
Record |
Select a table to synchronize. Note. For transaction data, the key values on the parent record must exist in all child records. This option is only available with the processing option of Standard Mode. |
Fields |
Select to determine whether to synchronize all fields on the record or a list of fields. Options include: All Fields: All fields on the record are synchronized. List of Fields: Enables a subset of the fields on the record to be synchronized. When selected, you can create rows and search for each field on the selected record. However, the key fields for a record are always synchronized. Note. If fields are sent in a “Data Push” that do not exist in the target database(s), then these extra fields are ignored. However, if specific fields are selected within a “Data Pull” that do not exist in the target database(s), then data will not be synchronized. |
Filter |
Create a filter or WHERE clause to subset the data to be synchronized. If not entered, then the entire record is used. This field is not required. |
Target Nodes
Target SetID |
Determines the Target Set with which to synchronize the integration. If you don't select at least one Target Set, then the integration will be sent based on the Integration Broker Node Transactions defined for the SAC_BBIX_MESSAGE message. |
Map Set ID |
Enter the map set ID for which you want to map the integration. |
This section provides an overview of XML Mapper and discusses how to set it up.
XML Mapper enables you to map values between your database and an external trading partner database. For example, if you are integrating to a computer hardware vendor, if you use a field called business unit, and the vendor uses a field called BU, you can set up a mapping relationship where your outbound purchase order XML messages automatically convert data in business unit fields to BU fields.
Before you being using XML Mapper, you must:
Activate applicable messages and set up Integration Broker.
Set up an integration broker relationship including transaction modifiers for the node associations.
See Also
Enterprise PeopleTools 8.46 PeopleBook: Integration Broker
Page Name |
Object Name |
Navigation |
Usage |
Define Map |
SAC_MAP_DEFN |
SCM Integrations, XML Mapper, Define Maps |
Use to define the type of transformation and to which message, records, and fields it applies. |
Map Detail |
SAC_MAP_DEFN_DTL |
SCM Integrations, XML Mapper, Define Maps, Map Detail |
Use to specify the map type detail. |
Define Map Sets |
SAC_MAPSETDEFN |
SCM Integrations, XML Mapper, Define Map Sets |
Use to group maps together, order them, and specify in which directions they apply. |
Define Node Associations |
SAC_NODE_ASSOC |
SCM Integrations, XML Mapper, Define Node Associations |
Use to associate a source node and a target node with a map set. All maps in an associated map set will then execute using the node association. Before defining a node association, set up an Integration Broker relationship containing transaction modifiers for your nodes and messages. See Enterprise PeopleTools 8.46 PeopleBook: Integration Broker |
Access the Define Maps page.
Map Type |
Select to specify a map type for this map. The value you select determines the options available on the Map Detail page. Options include: Application Class: maps data using an application class that you specify. Selecting this makes the application class ID and application class path fields available on the Map Detail page. Specify an extension of class SCM_SAC_XMLMAPPER:Maps:MapBase, and be certain the specified class implements method TransformXMLString(). Attribute Value: maps the values associated with a specific XML attribute. Selecting this makes the internal value and external value fields available on the Map Detail page. Field Alias: enables the renaming of fields, such as renaming a field called business unit to BU. Selecting this makes the internal field name and external field name fields available on the Map Detail page. Field Value: enables the revaluing of fields. For example, externally, a business unit could be called NY Operations, internally, it could be called US007. Selecting this makes the internal value and external value fields available on the Map Detail page. Field Value — SQL: maps field values using a SQL object. The SQL objects should return two values: internal value and external value, in that order. Selecting this makes the SQL object identifier field available on the Map Detail page. Record Alias: enables the renaming of records. Selecting this makes the internal record and external record fields available on the Map Detail page. Values Only: sets up a simple list of mapped values that you can use from code. Selecting this makes the internal value and external value fields available on the Map Detail page. Note. This map type is never run automatically. XSL: maps data using XSL that you provide. Selecting this makes the XSL field available on the Map Detail page. |
Map Level |
Select All Messages to apply this map to all active messages, or Specific Message to apply this map to one message only. This option is only available if you select a map type of application class, attribute value, field alias, field value, record alias, or XSL. |
Message |
Enter the specific message to map to if you selected the specific message mapping level. |
Map Match Criteria
Attribute Name |
Enter a name for the attribute. The system displays this field only when you have selected an attribute value map type. |
Criteria |
Enter criteria used to map the data. This is only available if you have selected a field alias, field value, field value — SQL map type. Options include: None: no criteria will be used to map the data other than that found on the Map Detail page. Note. This value is for system use only. You must select a value other than None. Record/Field: to map data by a specified record or field. You can choose All Records, Specific Record, and select a Record, or select a Field. XPath: select to enter an XPath expression that will specify everything BUT the values you would like to map. Additional XPath text will be appended to your XPath based on the values specified on the Map Details page. For example, if A and B are specified as Internal and External values, respectively, the XPath expression //RECORD_NAME/FIELDNAME would become //RECORD_NAME/FIELDNAME/text()[.='A'] for an outbound transaction. If you select this option, enter a Pattern. |
Access the Map Set Detail page.
Application Class Path |
Specify an extension of class SCM_SAC_XMLMAPPER:Maps:MapBase. Be certain the specified class implements method TransformXMLString(). The system displays this field only when you have selected an application class map type on the Define Map page. |
Application Class ID |
Select a valid application class ID that is available at the specified application class path. The system displays this field only when you have selected an application class map type on the Define Map page. |
Internal Value |
Enter the value you wish to convert to on an inbound message or convert from on an outbound message. The system displays this field only when you have selected an attribute value, field value, or values only map type on the Define Map page. |
External Value |
Enter the value you wish to convert from on an inbound message or convert to on an outbound message. The system displays this field only when you have selected an attribute value, field value, or values only map type on the Define Map page. |
Internal Field Name |
Enter the value you wish to convert to an inbound field name or from an outbound field name. The system displays this field only when you have selected a field alias map type on the Define Map page. |
External Field Name |
Enter the value you wish to convert from an inbound field name or to an outbound field name. The system displays this field only when you have selected a field alias map type on the Define Map page. |
SQL Object Identifier |
Select a SQL Object Identifier. The system displays this field only when you have selected a field value — SQL map type on the Define Map page. |
Internal Record Name |
Enter the value you wish to convert to on an inbound record or convert from on an outbound record. The system displays this field only when you have selected a record alias map type on the Define Map page. |
External Record Name |
Enter the value you wish to convert from an inbound record name or to an outbound record name. The system displays this field only when you have selected a record alias map type on the Define Map page. |
XSL |
Enter your own custom XSL transformation. The system displays this field only when you have selected a map type of XSL on the Define Map page. |
Access the Define Map Sets page.
Map Set ID |
Create a map set ID to designate each map set. |
Active |
This option must be selected for the XML mapper to complete data transformations. |
Map ID |
Select a Map ID to associate with this map set. You can associate multiple map IDs with a single map set. |
Direction |
Enter the direction for which the selected map should apply. Options include Inbound for inbound messages, Outbound for outbound messages, or Both if you want the map set to be used for inbound and outbound messages. |
Arrows |
Choose the order in which the maps should be run. |
Access the Define Node Associations page.
Map Set ID |
Enter a map set ID to use with the source node and target node. |
Arrows |
Choose the order in which the map sets should be run. |
This section provides an overview of chunking and discusses how to set up chunking.
If you are publishing application messages, you may want to set up chunking. When chunking, the system automatically breaks up messages into several smaller messages based on the values in one or more of the fields in the level zero record. For example, if you want to chunk by business unit, messages would be broken up by business unit sending each business unit’s transactions to a node that you have defined. Another example would be for sites sending EDI messages directly to trading partners. If you are sending purchase orders directly to a vendor, make sure that the vendor gets only their transactions. Chunking provides the ability to split a batch of purchase orders into separate messages based on the trading partner. The Integration Broker then provides tools to route the message to specific nodes based on that trading partner identification, in this case the vendor ID.
See PeopleSoft Enterprise SCM Electronic Data Interchange Messaging 8.9 PeopleBook.
Note. If you are using a middleware product to transform and route transactions to trading partners then you most likely will not need to use message chunking. All messages would go to the node defined for the middleware product.
Chunking is implemented using the Batch Publish Utility or the Full Data Publish Utility. In either case a batch publish rule is created and a chunking rule can be attached. The chunking rule defines a table containing a set of values that map to specific nodes. For example, in the example where you are chunking by vendor ID, the chunking rule table would contain a set of vendor IDs that map to individual nodes for trading partners receiving the purchase order message.
The following is an step by step explanation of the process flow of a transaction using message chunking:
Chunking Selection
The run process that generated the message. This may be the Full Data Publish Utility or one of the batch based messages that use the Batch Publish Utility.
Note. All messages generated from the Publish Outbound Messages use the Batch Publish Utility.
When the batch publish utility or full data publish utilities run they recognize the chunking rule assigned to the batch publish rule and split the different transactions into separate messages for each chunking rule value. They then publish the message handing it over to the Integration Broker.
Chunking Node Routing
The Integration Broker makes the decision of which node will receive the Message. Standard processing for the Integration Broker is to send the message to any node that has a transaction setup for that message. When chunking, you want to override the standard method of processing and force the Integration Broker to send the message only to the node for which the message was intended. This is done by assigning OnRouteSend PeopleCode to the message in the Application Designer. When OnRouteSend PeopleCode exists on a message the Integration Broker will only send the message to the nodes that it is told to by this routine. PeopleSoft provides some common functions that can be used for this purpose. The setup instructions for different messages explain exactly how to setup the OnRouteSend PeopleCode for messages where in most cases when using a chunking rule with the batch publish utility or the full data publish utility all you need to do to override the Integration Brokers standard processing is to add the following PeopleCode to the OnRouteSend PeopleCode for the message being sent.
Note. Incremental Publish messages do not use message chunking as defined above. By definition, incremental published messages do not need the Chunking Selection step because they only contain a single transaction. But, if incremental publish messages need to be sent to specific nodes based on values in the message then the Chunking Node Routing step defined above would still be required.
PeopleSoft provides a number of chunking rules, chunking rule tables, data entry pages and OnRouteSend functions that can be used to maintain node mappings and routing rules for some of the more commonly used field values. The data entry pages are noted in the Pages Used to Set up Chunking table below. Information about setup for specific messages is provided in the PeopleBook for the actual application publishing the message. Additional information is provided in the PeopleSoft Enterprise Components PeopleBook explaining how to create your own customized chunking rule, chunking rule table and data entry pages.
For an example of how multiple chunking rules can be setup on a single message look at the batch publish rules for the ADVANCED_SHIPPING_NOTICE Message. These batch publish rules were provided as examples to show the power of message chunking. In this example, the ADVANCED_SHIPPING_NOTICE rule is the standard rule used without chunking. If you want to chunk by Business Unit just attach the Business Unit chunk rule to the batch publish rule. You would also have to populate the Business Unit to node values in the chunk table and set up the OnRouteSend Routing Rule on the Message. In this case, to setup the routing rule you would add the following to the OnRouteSend people code on the ADVANCED_SHIPPING_NOTICE message:
Declare Function GetNodes PeopleCode FUNCLIB_INEIP.PUBLISH_ROUTE_PC FieldForumula; GetNodes (" ");
If you want to chunk by Ship To Customer then activate the ASN_SETID_SHIPTO batch publish rule. In this case you also need to populate the customer chunk rule table and setup the OnRouteSend Routing Rule.
If you want to chunk by Sold To Customer then setup the ASN_SETID_SOLDTO chunk rule, populate the customer chunk rule table and setup the OnRouteSend Routing Rule.
See Also
Page Name |
Object Name |
Navigation |
Usage |
EO_ADNODECHUNK_PNL |
Enterprise Components, Integration Definition, Map Chunking Rules, Node to ChunkRule, Add Nodes to Chunk Rule |
Map nodes by Chunk Rules. |
|
EO_CHUNKBU |
Enterprise Components, Integration Definition, Map Chunking Rules, Business Units, BusUnit Mapping |
Maintain ChunkRule business unit mapping. |
|
EO_ADDBUNODE_PNL |
Enterprise Components, Integration Definition, Map Chunking Rules, BU to ChunkRule/Node, Quick Map |
Map business units by ChunkRules or nodes. |
|
EO_ADDNODEBU_PNL |
Enterprise Components, Integration Definition, Map Chunking Rules, ChunkRule/Node to BU, Map Business Unit |
Map ChunkRules or nodes by business unit. |
|
EO_CHUNKSETID |
Enterprise Components, Integration Definition, Map Chunking Rules, Setids, Setid Mapping |
Maintain ChunkRule setID mapping. |
|
EO_ADDSIDNODE_PNL |
Enterprise Components, Integration Definition, Map Chunking Rules, Setid to ChunkRule/Node, Quick Map |
Map setIDs by ChunkRules or nodes. |
|
EO_ADDNODESID_PNL |
Enterprise Components, Integration Definition, Map Chunking Rules, ChunkRule/Node to Setid, Map Set IDs |
Map ChunkRules by setID. |
|
OM_CHUNKCUSTID |
SCM Integrations, Chunking Rule, CustID to Node Mapping, Customer ID Chunk |
Map publish application messages by customer. |
|
IN_CHUNKBULOCATION |
SCM Integrations, Chunking Rule, BU/Loc to Node Mapping, BU/Location Node Mapping |
Map business units and locations. |
|
IN_CHUNKBUPARLOC |
SCM Integrations, Chunking Rule, BU/Par to Node Mapping, BU/Par Location Node Mapping |
Set up chunking by business unit and par location for publish application messages. |
|
PO_CHUNK_VENDOR |
SCM Integrations, Chunking Rule, Manage ChunkRule VendorID Map, Setup Vendor to Node |
Set up chunking by vendor ID for publish application messages. |
|
PO_CHUNK_SHIPTO |
SCM Integrations, Chunking Rule, Ship to Loc to Node Mapping, PO Chunk Shipto |
Set up chunking by ship to location for publish application messages. |
|
OM_CHUNK_SRC_CD |
SCM Integrations, Chunking Rule, Source Code to Node Mapping, Source Code Chunk |
Set up chunking by source code for publish application messages. |
See Also