Input/Output Payload Structures

The highly generalized structure of an SSC input XML payload file is shown below:

<SSC>
  <User>
    <Name></Name>
  </User>
  <SunSystemsContext>
    <BusinessUnit></BusinessUnit>
  </SunSystemsContext>
  <Payload>
    <ComponentName>
      <Tag1></Tag1>
      <Tag2></Tag2>
	 <Section1>
        <Section1Tag1></Section1Tag1>
        <Secction2Tag2></Section2Tag2>
	 </Section1>
      <Section2> 
        <Section2Tag1></Section2Tag1>
        <Section2Tag2></Section2Tag2>
      </Section2>
    </ComponentName>
  </Payload>
</SSC>

The input payload is divided into three sections:

  • <User> optionally identifies the user Id that is to be used to execute the payload. If specified, this must be a user already created in SunSystems.
  • <SunSystemsContext> identifies the context in which the payload is to be run, such as the business unit, budget or ledger code.
  • <Payload> contains the identity of the component that is to be executed, together with the tags and tag values for data that are used to identify the records that are to be processed and the values for data items to be created or amended. Depending on the component, there may be dependent or related data and these are conveniently organized into sections.

Each component has an associated payload definition that is defined by SunSystems containing all the tags that can be specified. SSC is installed with a variety of online tools that allow users to view and work with the payload definitions, as well as creating payload files.

Payloads can be created using any text editor, such as Windows Notepad or Wordpad. Depending on user expertise, a dedicated XML editor may be easier and more appropriate to use.

The payload can be executed via a number of different means, such as from Transfer Desk, Automation Desk or Connect Portal.

For payloads submitted from within SunSystems using Transfer Desk or Automation Desk, SSC generates a log file in XML format that shows the results of the execution. It contains information such as what was run, when it ran and whether the execution was successful or not. It lists a summary of the records that were successfully created, amended or deleted. In the event of failures, it lists the error messages that were generated. A sample is shown below.

<?xml version="1.0" encoding="UTF-8" ?>
<Log>
  <StartTime>08 July 2003 10:00:57</StartTime>
  <TransferProfile>Supp_Setup_a</TransferProfile>
  <TransferDescription>Supp_Setup_a</TransferDescription>
  <UserName>PRD</UserName>
  <Source>
    <DataType>Acnts</DataType>
      <RuntimeParameter name="File name" value="C:\Setup\Supp_Setup_1000_Supplier_Acnts_0000_IP.xml" />
  </Source>
  <Target>
    <DataType>Acnts</DataType>
    <RuntimeParameter name="Business Unit" value="PKP" />
  </Target>
  <Transfer succeeded="true" id="0">
    <SucceededRecords>1,000</SucceededRecords>
    <FailedRecords>0</FailedRecords>
  </Transfer>
  <EndTime>08 July 2003 10:05:31</EndTime>
</Log>

For payloads that are not executed through these means, an output payload, in XML format is produced that contains the results of the execution. A sample is show below.

<?xml version="1.0" encoding="UTF-8" ?>
<SSC>
  <User>
    <Name>PRD</Name>
  </User>
  <SunSystemsContext>
    <BusinessUnit>PKP</BusinessUnit>
  </SunSystemsContext>
  <Payload>
    <LedgerInterface status="fail" Reference="1" rejected="true">
      <AllowBalancingTransactions>0</AllowBlanacingTransactions>
      <AllowOverBudgetEntries>1</AllowOverBudgetEntries>
      <BaseSuspenseAccount>999</BaseSuspenseAccount>
      <BatchOrOnlinePosting>1</BatchOrOnlinePosting>
      <TransactionSuspenseAccount>999</TransactionSuspenseAccount>
      <LineDetails>
        <AccountCode>62000</AccountCode>
        <AssetMarkerUpdateMethod>0</AssetMarkerUpdateMethod>
        <DebitCredit>0</DebitCredit>
        <LedgerInterfaceLineNumber>10</LedgerInterfaceLineNumber>
        <LedgerValue>
          <CostIndicator>99</CostIndicator>
          <LedgerValue>4</LedgerValue>
          <ValueLabelValueType>1</ValueLabelValueType>
        </LedgerValue>
      </LineDetails>
    </LedgerInterface>
    <LedgerInterface status="success">
      <LedgerInterfaceDefinitionCode>LIDC2</LedgerInterfaceDefinitionCode>
      <LineDetails>
        <LedgerInterfaceLineNumber>1</LedgerInterfaceLineNumber>
      </LineDetails>
      <LineDetails>
        <LedgerInterfaceLineNumber>2</LedgerInterfaceLineNumber>
      </LineDetails>
    </LedgerInterface>
  </Payload>
  <ErrorMessages>
    <Message>
      <PayloadRef>1</PayloadRef>
      <UserText> Abort() method called from SASI script.  Provided message was 2918 : ''At least one currency type Value Label must be defined when Transaction ost is in use''.</UserText>
      <Exception>
        (Remainder of exception details removed for brevity)
      </Exception>
    </Message>
  </ErrorMessages>
</SSC>