24.14 A Schema Data Guide For Purchase-Order Documents

The fields of a sample JSON-Schema data guide are described. It corresponds to a set of purchase-order documents.

Example 24-24 shows a schema data guide for the purchase-order documents in table j_purchaseorder. The data guide was created using SQL function json_dataguide.

Example 24-24 Schema Data Guide for Purchase-Order Documents

Field names are bold. JSON Schema keywords are italic.

{
  "type" : "object",
  "o:length" : 1,
  "properties" :
  {
    "User" :
    {
      "type" : "string",
      "o:length" : 8,
      "o:preferred_column_name" : "User"
    },
    "PONumber" :
    {
      "type" : "number",
      "o:length" : 2,
      "o:preferred_column_name" : "PONumber"
    },
    "LineItems" :
    {
      "type" : "array",
      "o:length" : 1,
      "o:preferred_column_name" : "LineItems",
      "items" :
      {
       "properties" :
       {
         "Part" :
         {
           "type" : "object",
           "o:length" : 1,
           "o:preferred_column_name" : "Part",
           "properties" :
           {
             "UPCCode" :
             {
              "type" : "number",
              "o:length" : 8,
              "o:preferred_column_name" : "UPCCode"
             },
             "UnitPrice" :
             {
              "type" : "number",
              "o:length" : 4,
              "o:preferred_column_name" : "UnitPrice"
             },
             "Description" :
             {
              "type" : "string",
              "o:length" : 32,
              "o:preferred_column_name" : "Description"
             }
           }
         },
         "Quantity" :
         {
           "type" : "number",
           "o:length" : 2,
           "o:preferred_column_name" : "Quantity"
         },
         "ItemNumber" :
         {
           "type" : "number",
           "o:length" : 2,
           "o:preferred_column_name" : "ItemNumber"
         }
       }
      }
    },
    "Reference" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "Reference"
    },
    "Requestor" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "Requestor"
    },
    "CostCenter" :
    {
      "type" : "string",
      "o:length" : 4,
      "o:preferred_column_name" : "CostCenter"
    },
    "AllowPartialShipment" :
    {
      "type" : "boolean",
      "o:length" : 8,
      "o:preferred_column_name" : "AllowPartialShipment"
    },
    "ShippingInstructions" :
    {
      "type" : "object",
      "o:length" : 1,
      "o:preferred_column_name" : "ShippingInstructions",
      "properties" :
      {
       "name" :
       {
         "type" : "string",
         "o:length" : 16,
         "o:preferred_column_name" : "name"
       },
       "Phone" :
       {
         "type" : "array",
         "o:length" : 1,
         "o:preferred_column_name" : "Phone",
         "items" :
         {
           "properties" :
           {
             "type" :
             {
              "type" : "string",
              "o:preferred_column_name" : "type"
             },
             "number" :
             {
              "type" : "string",
              "o:length" : 16,
              "o:preferred_column_name" : "number"
             }
           }
         }
       },
       "Address" :
       {
         "type" : "object",
         "o:length" : 1,
         "o:preferred_column_name" : "Address",
         "properties" :
         {
           "city" :
           {
             "type" : "string",
             "o:length" : 32,
             "o:preferred_column_name" : "city"
           },
           "state" :
           {
             "type" : "string",
             "o:length" : 2,
             "o:preferred_column_name" : "state"
           },
           "street" :
           {
             "type" : "string",
             "o:length" : 32,
             "o:preferred_column_name" : "street"
           },
           "country" :
           {
             "type" : "string",
             "o:length" : 32,
             "o:preferred_column_name" : "country"
           },
           "zipCode" :
           {
             "type" : "number",
             "o:length" : 4,
             "o:preferred_column_name" : "zipCode"
           }
         }
       }
      }
    },
    "Special Instructions" :
    {
      "type" : "null",
      "o:length" : 1,
      "o:preferred_column_name" : "Special Instructions"
    }
  }
}

See Also: