例:外部財務アプリケーションのデータの要求

この例は、外部財務アプリケーションからデータを要求する場合に使用します。

ERP において

[外部財務インターフェースデータ要求ユーティリティ] で、[ユニットコード 1] フィールドを選択した場合、ExtFinRequestUnitCd1 タスクが送信されます。このタスクにより、次のような XML 要求文書が構築されます。

<IDORequest>

 <RequestHeader Type="LoadCollection">

  <RequestData>

   <LoadCollection Name= EXTFIN.ExtFinRequestUnitCd1.unitcd1>

style="clear:none;" />

    <Items>

     <Item ID="unitcd1">

     <Property>unit1</Property>

style="clear:none;" />

     <Property>description</Property>

style="clear:none;" />

     <Property>CreatedBy</Property>

style="clear:none;" />

     <Property>UpdatedBy</Property>

style="clear:none;" />

     </Item>

    </Items>

   </LoadCollection>

  </RequestData>

 </RequestHeader>

</IDORequest>

この XML 文書は、 「外部財務アプリケーションのデータからの SyteLine のデータ更新」 で説明されているように、外部財務システムに受け渡されます。

外部財務システム

システム上で次のことを行う ASP ページを設定する必要があります。

  • SyteLine から送信された XML 要求文書を取得します。
  • 受け付けた「LoadCollection」 XML 要求が、外部財務アプリケーションからデータを取得し、それを SyteLine に返すように求めていることを知っておいてください。
  • XML から要求されたテーブルおよびカラム (テーブル (ビュー) unitcd1、テーブルカラム unit1、description、CreatedBy、UpdatedBy) に関する情報を取得します。
  • そのデータを外部財務アプリケーションの該当データにマッピングします。
    Table.Column ExtFin Table.Column
    unitcd1.unit1 ucode1.code
    unitcd1.description ucode1.description
    (カラム CreatedBy および UpdatedBy の処理方法については、この節の末尾の注記を参照してください)。
  • 外部財務アプリケーションのデータベースからテーブル ucode1 内の要求されたカラムの値を取得します。このテーブルには現在、次の 2 つの行が含まれます。
    コード 説明
    1000 Dept 1000 - 梱包
    2000 Dept 2000 - 検査
       
  • SyteLine に送り返す「updatecollection」 XML 要求 (以下参照) を構築するためにマッピング情報を使用します。
  • SyteLine のメールボックスにこの XML 要求を送ります。

「UpdateCollection」 XML 要求は、次のようになります。

<IDORequest>

 <RequestHeader UserName="ExtFin User" Password=Password_Value PasswordEncrypted="N" Type="UpdateCollection" New="1" SkipTriggers="0">

 <SourceName>EXTFIN</SourceName>

 <TargetName>SyteLineSite</TargetName>

style="clear:none;" />

 <RequestData ObjectType="1">

 <UpdateCollection Name="TABLE!unitcd1">

  <Items>

   <Item ItemNo="0" Action="Insert">

style="clear:none;" />

    <Property Name="unit1" Modified="Y" xml:space="preserve">1000</Property>

    <Property Name="description" Modified="Y" xml:space="preserve">Dept 1000 - Packaging</Property>

style="clear:none;" />

    <Property Name="CreatedBy" Modified="Y" xml:space="preserve">ExtFin User</Property>

    <Property Name="UpdatedBy" Modified="Y" xml:space="preserve">ExtFin User</Property>

   </Item>

   <Item ItemNo="1" Action="Insert">

style="clear:none;" />

    <Property Name="unit1" Modified="Y" xml:space="preserve">2000</Property>

    <Property Name="description" Modified="Y" xml:space="preserve">Dept 2000 - Inspection</Property>

style="clear:none;" />

    <Property Name="CreatedBy" Modified="Y" xml:space="preserve">ExtFin User</Property>

    <Property Name="UpdatedBy" Modified="Y" xml:space="preserve">ExtFin User</Property>

   </Item>

  </Items>

 </UpdateCollection>

 </RequestData>

 </RequestHeader>

</IDORequest>

注:  プロパティ CreatedBy および UpdatedBy の値には、RequestHeader UserName の値を設定する必要があります。上記の例では、この値は ExtFin User です。