Informationen zu Eingabe-XML-Dateien für APIs

Daten werden von APIs mithilfe von XML-Dateien abgerufen, die definieren, welche Datensätze ausgewählt oder verwendet werden müssen. Wenn Sie die Datenbank erweitern, um zusätzliche Felder einzubeziehen, müssen Sie auch die Eingabe-XML-Datei erweitern, um diese Felder aufzufüllen.

Vorsicht:
Übergeben Sie keine leeren Elemente (ein Element, das alle Attribute mit Leerwerten enthält) an eine API. Übergeben Sie ebenso keine Attribute, die über führende oder nachgestellte Leerzeichen verfügen. Das Ergebnis ist für beide Situationen nicht vorhersehbar.

Im folgenden Beispiel wird die Änderung einer Eingabe-XML-Datei veranschaulicht.

Beispiel für die Änderung einer Eingabe-XML-Datei

Im folgenden Beispiel wird die Eingabe-XML-Datei für die API "YFS_createOrder()" geändert:

<Orders AuthenticationKey="">
   <Order EnterpriseCode="DEFAULT" OrderNo="DB04"
OrderName="DB04" OrderDate="20010803" OrderType="Phone" PriorityCode="1"
PriorityNumber="1" ReqDeliveryDate="20010810" ReqCancelDate="" 
ReqShipDate="20010810" SCAC="FEDEX" CarrierServiceCode="Express Saver Pak" 
CarrierAccountNo="112255" NotifyAfterShipmentFlag="N" 
NotificationType="FAX" NotificationReference="" ShipCompleteFlag="N"
EnteredBy="Iain " ChargeActualFreightFlag="Y" AORFlag="Y" 
SearchCriteria1="Search" SearchCriteria2="Search Again" >
      <OrderLines>
         <OrderLine PrimeLineNo="1" SubLineNo="1"
OrderedQty="1" ReqDeliveryDate="20010810" ReqCancelDate="20010810"
ReqShipDate="20010810" SCAC="FEDEX" CarrierServiceCode="Express
Saver Pak" PickableFlag="Y" HoldFlag="N" CustomerPONo="11" >
            <Extn ExtnAcmeLineType="Type1"/>
            <Item ItemID="ITEM1" ProductClass="A" ItemWeight="1" 
ItemDesc="paintball gun" ItemShortDesc="pball gun"
UnitOfMeasure="EACH" CustomerItem="Spectra Flex" CustomerItemDesc="GEGRG"
SupplierItem="Spectra Flex @ supplier" SupplierItemDesc="Spectra
Flex Desc @ supplier" UnitCost="15.99"  CountryOfOrigin="CA"/>
            <PersonInfoShipTo Title="Mr" FirstName="Quigley"
MiddleName="Al" LastName="Johns" Company="Company" JobTitle="Project
Clert" AddressLine1="Address Line 1 -3 Main Street" AddressLine2="ShipTo
Address line 2" AddressLine3="ShipTo Address line 3" AddressLine4="ShipTo
Address line 4" AddressLine5="ShipTo Address line 5" AddressLine6="ShipTo
Address line 6" City="Acton" State="MA" ZipCode="01720" Country="US"
DayPhone="978-635-9242" EveningPhone="978-635-9252" MobilePhone="978-888-8888"
Beeper="" OtherPhone="other555-5555" DayFaxNo="" EveningFaxNo=""
EMailID="jquigley@maine.com" AlternateEmailID="hfournier@ontario.com"
ShipToID=""/>
         </OrderLine>
         <NumberOfOrderLines/>
      </OrderLines>
      <PersonInfoShipTo Title="MR" FirstName="s"
MiddleName="X" LastName="T" Suffix="T" Department="T" Company="SD"
JobTitle="SS" AddressLine1="SS" AddressLine2="SS" AddressLine3="SS"
AddressLine4="SS" AddressLine5="SS" AddressLine6="SS" City="REDWOOD"
State="CA" ZipCode="01852" Country="USA" DayPhone="3456789234" 
EveningPhone="3456789234" MobilePhone=""  EveningFaxNo="SS" />
       <PersonInfoBillTo Title="mj" FirstName="m"
MiddleName="JJ" LastName="KK" Suffix="lll" Department="l" Company="kj"
JobTitle="k" AddressLine1="HJHKK" AddressLine2="HJKHK" AddressLine3="HKHJ" 
AddressLine4="" AddressLine5="" AddressLine6="" City="UUU" State="IUI" 
ZipCode="78787" Country="USA"  />
  </Order>
  <NumberOfOrders/> 
</Orders>
Wichtig: Damit die Factory-Setup-Scripts ordnungsgemäß funktionieren, müssen Sie beim Hinzufügen einer Spalte zu einer Datenbanktabelle sicherstellen, dass die Spalte nicht null ist und einen Standardwert hat. Wenn die Spalte Nullwerte enthalten können soll, darf der Standardwert nicht vorhanden sein.

Bedenken Sie beim Angeben von XML-Namen und XML-Gruppen außerdem, dass es sich bei den Werten um gültige DOM-Zeichenfolgen (Document Object Model) handeln muss. (Die Werte dürfen keine Leer- oder Sonderzeichen enthalten, die von der DOM-Spezifikation nicht unterstützt werden.)

In der folgenden XML-Beispieldatei wird eine Spalte zur Tabelle "YFS_ORDER_LINE" hinzugefügt:

<?xml version="1.0" encoding="UTF-8" ?> 
<DBSchema>
 <Entities>
  <Entity TableName="YFS_ORDER_LINE">
   <Attributes> 
    <Attribute ColumnName="EXTN_ACME_LINE_TYPE" DecimalDigits="" 
Default Value="' '" Size="10" Type="CHAR" XMLGroup="Extn" 
XMLName="ExtnAcmeLineType"/> 
   </Attributes> 
  </Entity> 
 </Entities> 
</DBSchema>