Ejemplo: Solicitar datos de una aplicación financiera externa

Utilice este ejemplo al solicitar datos de una aplicación financiera externa.

En el ERP

En la Utilidad de solicitud de datos de interfaz externa de finanzas, si el campo Código de unidad 1 está seleccionado, la tarea ExtFinRequestUnitCd1 se envía. Esta tarea crea un documento de solicitud XML similar a esto:

<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>

El documento XML se pasa al sistema financiero externo como está descrito en Actualizar datos de SyteLine a partir de los datos de una aplicación financiera externa.

En el sistema financiero externo

Una página ASP en ese sistema se debe configurar para:

  • Recuperar el documento de solicitud XML que se envió por SyteLine.
  • Sepa que la solicitud XML "LoadCollection" que recibió quiere obtener datos de una aplicación financiera externa y devolverla ha SyteLine.
  • Extraer información sobre la tabla y las columna solicitada del XML (tabla (visualización) unitcd1; columna de tabla unidad1, descripción, CreatedBy y UpdatedBy).
  • Asigne los datos a los datos correspondientes en la aplicación financiera externa:
    Table.Column ExtFin Table.Column
    unitcd1.unit1 ucode1.code
    unitcd1.description ucode1.description
    (Consulte la nota al final de esta sección sobre como gestionar las columnas CreatedBy y UpdatedBy.)
  • Extraer valores de la base de datos de la aplicación financiera externa para las columnas solicitadas en la table ucode1. Esta tabla actualmente contiene dos filas:
    Código Descripción
    1000 Dept 1000 - Empaquetado
    2000 Dept 2000 - Inspección
       
  • Utilice la información de asignación para crear una solicitud XML "actualizar colección" (consulte a continuación) para volver a SyteLine.
  • Coloque la solicitud XML en la bandeja de entrada de SyteLine.

La solicitud XML "Actualizar recolección" sería similar a esto:

<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>

Nota:  Los valores de las propiedades CreatedBy y UpdatedBy se deberían establecer en el valor del RequestHeader UserName. En el ejemplo anterior, el valor es ExtFin User.