Siebel Connector for PeopleSoft > Prebuilt Integration Objects > Prebuilt Position Workflows >

Position - Receive PeopleSoft Customer Workflow


The Position - Receive PeopleSoft Customer workflow involves reading position data from an XML file and upserting data into the Siebel application.

Figure 29. Position - Receive PeopleSoft Customer Workflow

Click for full size image

This workflow does the reverse of the workflow discussed in the previous section (Position - Send PeopleSoft Position). Here the goal is to read an XML file filled with position(s) information, and upsert them into the Siebel database. Here the upsert stands for a combination of update and insert. Meaning, if the record already exists in Siebel database, then the record will be updated, using any changes supplied in the XML file. If no such record exists, then this record will be inserted as a brand new record. This determination is made by using the user keys in the integration object.

Process Properties

The Position Inbound workflow has exactly the same set of process properties as Position Outbound. Just like there, except for the process property XML File, all others come by default. The XML File process property was created. Of all these process properties, here, two have a higher significance—Siebel Message and XML File. Siebel Message is used to transfer the object related data between workflow steps, in a hierarchical format. And, XML File is the name and directory location of the XML file that contains account records to be loaded.

Workflow Steps

As shown in Figure 29, this integration workflow involves the following sequential processes:

  1. Read Position from XML File.
  2. At first, the workflow uses Read Siebel Message method of the EAI XML Read from File business service to read data from an external XML file. This is a standard business service shipped with the Siebel software.

    A value for one parameter, location of the XML file, is passed to this method. The XML data from the above file is converted into Siebel Message, and is kept in the output argument of the same name.

    This data is read by the next workflow step.

  3. Upsert Position into Siebel.
  4. This step writes the data to Siebel database. The EAI Siebel Adapter business service is used. But now, the Insert or Update method is used. As the name suggests, this method inserts or updates the record according to need.

    All this needs is the Siebel Message output from the Read Position from XML File workflow step. As discussed before, this step decides on whether to insert or update a record, based on the user keys.

    Finally, how would this workflow know which Integration Object it has to go against? This is neither listed in the process properties nor in the input arguments. This information comes from the input XML file itself. See the Example for details.

    This workflow step has no Output Arguments because once the data is written to Siebel database, the job of this workflow process is complete.

Example

The following XML file is loaded using the prebuilt Employee - Receive PeopleSoft Employee workflow.

<?xml version="1.0" encoding="UTF-8"?>

<?Siebel-Property-Set EscapeNames="false"?>

<SiebelMessage MessageId="PositionInboundSample" MessageType="Integration Object" IntObjectName="EAI Position" IntObjectFormat="Siebel Hierarchical">

<ListOfPosition>

<Position>

<BillingProduct>Field Engineer</BillingProduct>

<IntegrationId>PosId123</IntegrationId>

<Compensatable>Y</Compensatable>

<DivisionIntegrationId>SiebelAdm1</DivisionIntegrationId>

<Name>Engineering Manager</Name>

<OrganizationIntegrationId>DefOrg1</ OrganizationIntegrationId>

<PositionType>Manager</PositionType>

<Description>Insert all fields using Integration Id</ Description>

<ParentPositionId>0-5220</ParentPositionId>

<PrimaryPositionAddressId>1-VGHC</ PrimaryPositionAddressId>

</Position>

</ListOfPosition>

</SiebelMessage>

The following XML example includes child positions that are defined before the parent positions using the prebuilt Employee - Receive PeopleSoft Employee workflow. The following XML are run twice to make sure the child position can associate its parent position the second time.

<?xml version="1.0" encoding="UTF-8" ?>

<?Siebel-Property-Set EscapeNames="false"?>

<SiebelMessage MessageId="PositionInboundSample2" MessageType="Integration Object" IntObjectName="EAI Position" IntObjectFormat="Siebel Hierarchical">

<ListOfPosition>

<Position>

<BillingProduct>Field Engineer</BillingProduct>

<Compensatable>Y</Compensatable>

<Division>Siebel Engineering</Division>

<Name>Software Engineer</Name>

<Organization>Default Organization</Organization>

<PositionType>Developer</PositionType>

<ParentPositionName> Engineering Manager </ParentPositionName>

<Description>This is a child position. Its parent position is Engineering Manager</Description>

</Position>

<Position>

<BillingProduct>Field Engineer</BillingProduct>

<Compensatable>Y</Compensatable>

<Division>Siebel Engineering</Division>

<Name>Engineering Manager </Name>

<Organization>Default Organization</Organization>

<PositionType>Manager</PositionType>

<ParentPositionName />

<Description>This is the parent position of the child position, Software Engineer</Description>

</Position>

</ListOfPosition>

</SiebelMessage>


 Siebel Connector for PeopleSoft 
 Published: 18 April 2003