SQL Server
SQL Server
UPS Rate Request
See more UPS Examples
Simple UPS Rate ExampleChilkat SQL Server Downloads
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
DECLARE @hr int
-- Important: Do not use nvarchar(max). See the warning about using nvarchar(max).
DECLARE @sTmp0 nvarchar(4000)
DECLARE @success int
SELECT @success = 0
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
DECLARE @http int
EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT
IF @hr <> 0
BEGIN
PRINT 'Failed to create ActiveX component'
RETURN
END
-- Use this online tool to generate code from sample JSON:
-- Generate Code to Create JSON
-- The following JSON is sent in the request body.
-- {
-- "RateRequest": {
-- "Request": {
-- "TransactionReference": {
-- "CustomerContext": "CustomerContext"
-- }
-- },
-- "Shipment": {
-- "Shipper": {
-- "Name": "ShipperName",
-- "ShipperNumber": "ShipperNumber",
-- "Address": {
-- "AddressLine": [
-- "ShipperAddressLine",
-- "ShipperAddressLine",
-- "ShipperAddressLine"
-- ],
-- "City": "TIMONIUM",
-- "StateProvinceCode": "MD",
-- "PostalCode": "21093",
-- "CountryCode": "US"
-- }
-- },
-- "ShipTo": {
-- "Name": "ShipToName",
-- "Address": {
-- "AddressLine": [
-- "ShipToAddressLine",
-- "ShipToAddressLine",
-- "ShipToAddressLine"
-- ],
-- "City": "Alpharetta",
-- "StateProvinceCode": "GA",
-- "PostalCode": "30005",
-- "CountryCode": "US"
-- }
-- },
-- "ShipFrom": {
-- "Name": "ShipFromName",
-- "Address": {
-- "AddressLine": [
-- "ShipFromAddressLine",
-- "ShipFromAddressLine",
-- "ShipFromAddressLine"
-- ],
-- "City": "TIMONIUM",
-- "StateProvinceCode": "MD",
-- "PostalCode": "21093",
-- "CountryCode": "US"
-- }
-- },
-- "PaymentDetails": {
-- "ShipmentCharge": {
-- "Type": "01",
-- "BillShipper": {
-- "AccountNumber": "ShipperNumber"
-- }
-- }
-- },
-- "Service": {
-- "Code": "03",
-- "Description": "Ground"
-- },
-- "NumOfPieces": "1",
-- "Package": {
-- "PackagingType": {
-- "Code": "02",
-- "Description": "Packaging"
-- },
-- "Dimensions": {
-- "UnitOfMeasurement": {
-- "Code": "IN",
-- "Description": "Inches"
-- },
-- "Length": "5",
-- "Width": "5",
-- "Height": "5"
-- },
-- "PackageWeight": {
-- "UnitOfMeasurement": {
-- "Code": "LBS",
-- "Description": "Pounds"
-- },
-- "Weight": "1"
-- }
-- }
-- }
-- }
-- }
DECLARE @json int
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @json OUT
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Request.TransactionReference.CustomerContext', 'CustomerContext'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Name', 'ShipperName'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.ShipperNumber', 'ShipperNumber'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.AddressLine[0]', 'ShipperAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.AddressLine[1]', 'ShipperAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.AddressLine[2]', 'ShipperAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.City', 'TIMONIUM'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.StateProvinceCode', 'MD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.PostalCode', '21093'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Shipper.Address.CountryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Name', 'ShipToName'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.AddressLine[0]', 'ShipToAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.AddressLine[1]', 'ShipToAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.AddressLine[2]', 'ShipToAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.City', 'Alpharetta'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.StateProvinceCode', 'GA'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.PostalCode', '30005'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipTo.Address.CountryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Name', 'ShipFromName'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.AddressLine[0]', 'ShipFromAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.AddressLine[1]', 'ShipFromAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.AddressLine[2]', 'ShipFromAddressLine'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.City', 'TIMONIUM'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.StateProvinceCode', 'MD'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.PostalCode', '21093'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.ShipFrom.Address.CountryCode', 'US'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.PaymentDetails.ShipmentCharge.Type', '01'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.PaymentDetails.ShipmentCharge.BillShipper.AccountNumber', 'ShipperNumber'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Service.Code', '03'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Service.Description', 'Ground'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.NumOfPieces', '1'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.PackagingType.Code', '02'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.PackagingType.Description', 'Packaging'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Code', 'IN'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.Dimensions.UnitOfMeasurement.Description', 'Inches'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.Dimensions.Length', '5'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.Dimensions.Width', '5'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.Dimensions.Height', '5'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Code', 'LBS'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.PackageWeight.UnitOfMeasurement.Description', 'Pounds'
EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RateRequest.Shipment.Package.PackageWeight.Weight', '1'
-- Load the OAuth2 access token obtained via client credentials as shown
-- in this UPS OAuth2 Client Credentials example.
DECLARE @jsonToken int
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jsonToken OUT
EXEC sp_OAMethod @jsonToken, 'LoadFile', @success OUT, 'qa_data/tokens/ups_oauth2_token.json'
IF @success <> 1
BEGIN
PRINT 'Failed to load ups_oauth2_token.json'
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @jsonToken
RETURN
END
-- The access token JSON looks something like this:
-- {
-- "token_type": "Bearer",
-- "issued_at": "1686911985606",
-- "client_id": "2498righ8wr6aihe98rt8rhowirtyw9er6twe80rtywrehrt",
-- "access_token": "eyJraW......R2sbqrY",
-- "expires_in": "14399",
-- "status": "approved"
-- }
-- Adds the "Authorization: Bearer <YOUR_TOKEN_HERE>" header.
EXEC sp_OAMethod @jsonToken, 'StringOf', @sTmp0 OUT, 'access_token'
EXEC sp_OASetProperty @http, 'AuthToken', @sTmp0
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'Content-Type', 'application/json'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'transId', 'string'
EXEC sp_OAMethod @http, 'SetRequestHeader', NULL, 'transactionSrc', 'testing'
-- The "version" indicates Rate API to display the new release features in Rate API response based on Rate release.
-- Supported values: v1, v1601, v1607, v1701, v1707, v2108, v2205.
EXEC sp_OAMethod @http, 'SetUrlVar', @success OUT, 'version', 'v1'
-- The "requestoption" has the following valid values:
-- Rate = The server rates (The default Request option is Rate if a Request Option is not provided).
-- Shop = The server validates the shipment, and returns rates for all UPS products from the ShipFrom to the ShipTo addresses.
-- Rate is the only valid request option for Ground Freight Pricing requests.
EXEC sp_OAMethod @http, 'SetUrlVar', @success OUT, 'requestoption', 'Rate'
DECLARE @resp int
EXEC @hr = sp_OACreate 'Chilkat.HttpResponse', @resp OUT
EXEC sp_OAMethod @http, 'HttpJson', @success OUT, 'POST', 'https://wwwcie.ups.com/api/rating/{$version}/{$requestoption}?additionalinfo=string', @json, 'application/json', @resp
IF @success = 0
BEGIN
EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT
PRINT @sTmp0
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @jsonToken
EXEC @hr = sp_OADestroy @resp
RETURN
END
DECLARE @sbResponseBody int
EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbResponseBody OUT
EXEC sp_OAMethod @resp, 'GetBodySb', @success OUT, @sbResponseBody
DECLARE @jResp int
EXEC @hr = sp_OACreate 'Chilkat.JsonObject', @jResp OUT
EXEC sp_OAMethod @jResp, 'LoadSb', @success OUT, @sbResponseBody
EXEC sp_OASetProperty @jResp, 'EmitCompact', 0
PRINT 'Response Body:'
EXEC sp_OAMethod @jResp, 'Emit', @sTmp0 OUT
PRINT @sTmp0
-- ----------------------------------------------------------------------------------------------------------
-- Important: If you get the following error response, read further for the solution..
--
-- {
-- "response": {
-- "errors": [
-- {
-- "code": "250002",
-- "message": "Invalid Authentication Information."
-- }
-- ]
-- }
-- }
--
-- It means you didn't add the Rating API permission to your app.
-- To add the Rating API, login to your developer account and go to your Apps page at https://developer.ups.com/apps?loc=en_US
-- Then edit your app and add the Rating API.
-- ----------------------------------------------------------------------------------------------------------
DECLARE @respStatusCode int
EXEC sp_OAGetProperty @resp, 'StatusCode', @respStatusCode OUT
PRINT 'Response Status Code = ' + @respStatusCode
IF @respStatusCode >= 400
BEGIN
PRINT 'Response Header:'
EXEC sp_OAGetProperty @resp, 'Header', @sTmp0 OUT
PRINT @sTmp0
PRINT 'Failed.'
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @jsonToken
EXEC @hr = sp_OADestroy @resp
EXEC @hr = sp_OADestroy @sbResponseBody
EXEC @hr = sp_OADestroy @jResp
RETURN
END
-- Sample JSON response:
-- (Sample code for parsing the JSON response is shown below)
-- {
-- "RateResponse": {
-- "Response": {
-- "ResponseStatus": {
-- "Code": "s",
-- "Description": "string"
-- },
-- "Alert": [
-- {
-- "Code": "string",
-- "Description": "string"
-- }
-- ],
-- "AlertDetail": [
-- {
-- "Code": "string",
-- "Description": "string",
-- "ElementLevelInformation": {
-- "Level": "s",
-- "ElementIdentifier": [
-- {
-- "Code": null,
-- "Value": null
-- }
-- ]
-- }
-- }
-- ],
-- "TransactionReference": {
-- "CustomerContext": "string"
-- }
-- },
-- "RatedShipment": [
-- {
-- "Disclaimer": [
-- {
-- "Code": "st",
-- "Description": "string"
-- }
-- ],
-- "Service": {
-- "Code": "str",
-- "Description": "string"
-- },
-- "RateChart": "s",
-- "RatedShipmentAlert": [
-- {
-- "Code": "string",
-- "Description": "string"
-- }
-- ],
-- "BillableWeightCalculationMethod": "st",
-- "RatingMethod": "st",
-- "BillingWeight": {
-- "UnitOfMeasurement": {
-- "Code": "str",
-- "Description": "string"
-- },
-- "Weight": "strin"
-- },
-- "TransportationCharges": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "stringstringstri"
-- },
-- "BaseServiceCharge": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "stringstringstri"
-- },
-- "ItemizedCharges": [
-- {
-- "Code": "str",
-- "Description": "string",
-- "CurrencyCode": "str",
-- "MonetaryValue": "string",
-- "SubType": "string"
-- }
-- ],
-- "FRSShipmentData": {
-- "TransportationCharges": {
-- "GrossCharge": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "DiscountAmount": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "DiscountPercentage": "st",
-- "NetCharge": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- }
-- },
-- "FreightDensityRate": {
-- "Density": "strin",
-- "TotalCubicFeet": "string"
-- },
-- "HandlingUnits": [
-- {
-- "Quantity": "string",
-- "Type": {
-- "Code": null,
-- "Description": null
-- },
-- "Dimensions": {
-- "UnitOfMeasurement": null,
-- "Length": null,
-- "Width": null,
-- "Height": null
-- },
-- "AdjustedHeight": {
-- "Value": null,
-- "UnitOfMeasurement": null
-- }
-- }
-- ]
-- },
-- "ServiceOptionsCharges": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "TaxCharges": [
-- {
-- "Type": "string",
-- "MonetaryValue": "string"
-- }
-- ],
-- "TotalCharges": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "TotalChargesWithTaxes": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "NegotiatedRateCharges": {
-- "ItemizedCharges": [
-- {
-- "Code": "str",
-- "Description": "string",
-- "CurrencyCode": "str",
-- "MonetaryValue": "string",
-- "SubType": "string"
-- }
-- ],
-- "TaxCharges": [
-- {
-- "Type": "string",
-- "MonetaryValue": "string"
-- }
-- ],
-- "TotalCharge": {
-- "CurrencyCode": "string",
-- "MonetaryValue": "string"
-- },
-- "TotalChargesWithTaxes": {
-- "CurrencyCode": "string",
-- "MonetaryValue": "string"
-- }
-- },
-- "RatedPackage": [
-- {
-- "BaseServiceCharge": {
-- "CurrencyCode": "str",
-- "MonetaryValue": "string"
-- },
-- "TransportationCharges": {
-- "CurrencyCode": "string",
-- "MonetaryValue": "string"
-- },
-- "ServiceOptionsCharges": {
-- "CurrencyCode": "string",
-- "MonetaryValue": "string"
-- },
-- "TotalCharges": {
-- "CurrencyCode": "string",
-- "MonetaryValue": "string"
-- },
-- "Weight": "string",
-- "BillingWeight": {
-- "UnitOfMeasurement": {
-- "Code": null,
-- "Description": null
-- },
-- "Weight": "string"
-- },
-- "Accessorial": [
-- {
-- "Code": null,
-- "Description": null
-- }
-- ],
-- "ItemizedCharges": [
-- {
-- "Code": null,
-- "Description": null,
-- "CurrencyCode": null,
-- "MonetaryValue": null,
-- "SubType": null
-- }
-- ],
-- "NegotiatedCharges": {
-- "ItemizedCharges": [
-- null
-- ]
-- },
-- "SimpleRate": {
-- "Code": "st"
-- },
-- "RateModifier": [
-- {
-- "ModifierType": null,
-- "ModifierDesc": null,
-- "Amount": null
-- }
-- ]
-- }
-- ],
-- "TimeInTransit": {
-- "PickupDate": "stringst",
-- "DocumentsOnlyIndicator": "string",
-- "PackageBillType": "st",
-- "ServiceSummary": {
-- "Service": {
-- "Description": "string"
-- },
-- "GuaranteedIndicator": "string",
-- "Disclaimer": "string",
-- "EstimatedArrival": {
-- "Arrival": {
-- "Date": null,
-- "Time": null
-- },
-- "BusinessDaysInTransit": "strin",
-- "Pickup": {
-- "Date": null,
-- "Time": null
-- },
-- "DayOfWeek": "string",
-- "CustomerCenterCutoff": "string",
-- "DelayCount": "str",
-- "HolidayCount": "st",
-- "RestDays": "st",
-- "TotalTransitDays": "strin"
-- },
-- "SaturdayDelivery": "string",
-- "SaturdayDeliveryDisclaimer": "string",
-- "SundayDelivery": "string",
-- "SundayDeliveryDisclaimer": "string"
-- },
-- "AutoDutyCode": "st",
-- "Disclaimer": "string"
-- },
-- "ScheduledDeliveryDate": "string",
-- "RoarRatedIndicator": "string"
-- }
-- ]
-- }
-- }
-- Sample code for parsing the JSON response...
-- Use the following online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON
DECLARE @Level nvarchar(4000)
DECLARE @j int
DECLARE @count_j int
DECLARE @Value nvarchar(4000)
DECLARE @ServiceCode nvarchar(4000)
DECLARE @ServiceDescription nvarchar(4000)
DECLARE @RateChart nvarchar(4000)
DECLARE @BillableWeightCalculationMethod nvarchar(4000)
DECLARE @RatingMethod nvarchar(4000)
DECLARE @UnitOfMeasurementCode nvarchar(4000)
DECLARE @UnitOfMeasurementDescription nvarchar(4000)
DECLARE @Weight nvarchar(4000)
DECLARE @CurrencyCode nvarchar(4000)
DECLARE @MonetaryValue nvarchar(4000)
DECLARE @BaseServiceChargeCurrencyCode nvarchar(4000)
DECLARE @BaseServiceChargeMonetaryValue nvarchar(4000)
DECLARE @GrossChargeCurrencyCode nvarchar(4000)
DECLARE @GrossChargeMonetaryValue nvarchar(4000)
DECLARE @DiscountAmountCurrencyCode nvarchar(4000)
DECLARE @DiscountAmountMonetaryValue nvarchar(4000)
DECLARE @DiscountPercentage nvarchar(4000)
DECLARE @NetChargeCurrencyCode nvarchar(4000)
DECLARE @NetChargeMonetaryValue nvarchar(4000)
DECLARE @Density nvarchar(4000)
DECLARE @TotalCubicFeet nvarchar(4000)
DECLARE @ServiceOptionsChargesCurrencyCode nvarchar(4000)
DECLARE @ServiceOptionsChargesMonetaryValue nvarchar(4000)
DECLARE @TotalChargesCurrencyCode nvarchar(4000)
DECLARE @TotalChargesMonetaryValue nvarchar(4000)
DECLARE @TotalChargesWithTaxesCurrencyCode nvarchar(4000)
DECLARE @TotalChargesWithTaxesMonetaryValue nvarchar(4000)
DECLARE @TotalChargeCurrencyCode nvarchar(4000)
DECLARE @TotalChargeMonetaryValue nvarchar(4000)
DECLARE @PickupDate nvarchar(4000)
DECLARE @DocumentsOnlyIndicator nvarchar(4000)
DECLARE @PackageBillType nvarchar(4000)
DECLARE @GuaranteedIndicator nvarchar(4000)
DECLARE @Disclaimer nvarchar(4000)
DECLARE @Date nvarchar(4000)
DECLARE @Time nvarchar(4000)
DECLARE @BusinessDaysInTransit nvarchar(4000)
DECLARE @PickupTime nvarchar(4000)
DECLARE @DayOfWeek nvarchar(4000)
DECLARE @CustomerCenterCutoff nvarchar(4000)
DECLARE @DelayCount nvarchar(4000)
DECLARE @HolidayCount nvarchar(4000)
DECLARE @RestDays nvarchar(4000)
DECLARE @TotalTransitDays nvarchar(4000)
DECLARE @SaturdayDelivery nvarchar(4000)
DECLARE @SaturdayDeliveryDisclaimer nvarchar(4000)
DECLARE @SundayDelivery nvarchar(4000)
DECLARE @SundayDeliveryDisclaimer nvarchar(4000)
DECLARE @AutoDutyCode nvarchar(4000)
DECLARE @TimeInTransitDisclaimer nvarchar(4000)
DECLARE @ScheduledDeliveryDate nvarchar(4000)
DECLARE @RoarRatedIndicator nvarchar(4000)
DECLARE @SubType nvarchar(4000)
DECLARE @Quantity nvarchar(4000)
DECLARE @TypeCode nvarchar(4000)
DECLARE @TypeDescription nvarchar(4000)
DECLARE @UnitOfMeasurement nvarchar(4000)
DECLARE @Length nvarchar(4000)
DECLARE @Width nvarchar(4000)
DECLARE @Height nvarchar(4000)
DECLARE @AdjustedHeightValue nvarchar(4000)
DECLARE @AdjustedHeightUnitOfMeasurement nvarchar(4000)
DECLARE @v_Type nvarchar(4000)
DECLARE @TransportationChargesCurrencyCode nvarchar(4000)
DECLARE @TransportationChargesMonetaryValue nvarchar(4000)
DECLARE @BillingWeightWeight nvarchar(4000)
DECLARE @SimpleRateCode nvarchar(4000)
DECLARE @k int
DECLARE @count_k int
DECLARE @nullVal int
DECLARE @ModifierType nvarchar(4000)
DECLARE @ModifierDesc nvarchar(4000)
DECLARE @Amount nvarchar(4000)
DECLARE @Code nvarchar(4000)
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.Response.ResponseStatus.Code'
DECLARE @Description nvarchar(4000)
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.Response.ResponseStatus.Description'
DECLARE @CustomerContext nvarchar(4000)
EXEC sp_OAMethod @jResp, 'StringOf', @CustomerContext OUT, 'RateResponse.Response.TransactionReference.CustomerContext'
DECLARE @i int
SELECT @i = 0
DECLARE @count_i int
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'RateResponse.Response.Alert'
WHILE @i < @count_i
BEGIN
EXEC sp_OASetProperty @jResp, 'I', @i
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.Response.Alert[i].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.Response.Alert[i].Description'
SELECT @i = @i + 1
END
SELECT @i = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'RateResponse.Response.AlertDetail'
WHILE @i < @count_i
BEGIN
EXEC sp_OASetProperty @jResp, 'I', @i
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.Response.AlertDetail[i].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.Response.AlertDetail[i].Description'
EXEC sp_OAMethod @jResp, 'StringOf', @Level OUT, 'RateResponse.Response.AlertDetail[i].ElementLevelInformation.Level'
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Value OUT, 'RateResponse.Response.AlertDetail[i].ElementLevelInformation.ElementIdentifier[j].Value'
SELECT @j = @j + 1
END
SELECT @i = @i + 1
END
SELECT @i = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_i OUT, 'RateResponse.RatedShipment'
WHILE @i < @count_i
BEGIN
EXEC sp_OASetProperty @jResp, 'I', @i
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceCode OUT, 'RateResponse.RatedShipment[i].Service.Code'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceDescription OUT, 'RateResponse.RatedShipment[i].Service.Description'
EXEC sp_OAMethod @jResp, 'StringOf', @RateChart OUT, 'RateResponse.RatedShipment[i].RateChart'
EXEC sp_OAMethod @jResp, 'StringOf', @BillableWeightCalculationMethod OUT, 'RateResponse.RatedShipment[i].BillableWeightCalculationMethod'
EXEC sp_OAMethod @jResp, 'StringOf', @RatingMethod OUT, 'RateResponse.RatedShipment[i].RatingMethod'
EXEC sp_OAMethod @jResp, 'StringOf', @UnitOfMeasurementCode OUT, 'RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Code'
EXEC sp_OAMethod @jResp, 'StringOf', @UnitOfMeasurementDescription OUT, 'RateResponse.RatedShipment[i].BillingWeight.UnitOfMeasurement.Description'
EXEC sp_OAMethod @jResp, 'StringOf', @Weight OUT, 'RateResponse.RatedShipment[i].BillingWeight.Weight'
EXEC sp_OAMethod @jResp, 'StringOf', @CurrencyCode OUT, 'RateResponse.RatedShipment[i].TransportationCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].TransportationCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @BaseServiceChargeCurrencyCode OUT, 'RateResponse.RatedShipment[i].BaseServiceCharge.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @BaseServiceChargeMonetaryValue OUT, 'RateResponse.RatedShipment[i].BaseServiceCharge.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @GrossChargeCurrencyCode OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @GrossChargeMonetaryValue OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.GrossCharge.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @DiscountAmountCurrencyCode OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @DiscountAmountMonetaryValue OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountAmount.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @DiscountPercentage OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.DiscountPercentage'
EXEC sp_OAMethod @jResp, 'StringOf', @NetChargeCurrencyCode OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @NetChargeMonetaryValue OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.TransportationCharges.NetCharge.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @Density OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.Density'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalCubicFeet OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.FreightDensityRate.TotalCubicFeet'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceOptionsChargesCurrencyCode OUT, 'RateResponse.RatedShipment[i].ServiceOptionsCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceOptionsChargesMonetaryValue OUT, 'RateResponse.RatedShipment[i].ServiceOptionsCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesCurrencyCode OUT, 'RateResponse.RatedShipment[i].TotalCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesMonetaryValue OUT, 'RateResponse.RatedShipment[i].TotalCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesWithTaxesCurrencyCode OUT, 'RateResponse.RatedShipment[i].TotalChargesWithTaxes.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesWithTaxesMonetaryValue OUT, 'RateResponse.RatedShipment[i].TotalChargesWithTaxes.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargeCurrencyCode OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargeMonetaryValue OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalCharge.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesWithTaxesCurrencyCode OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesWithTaxesMonetaryValue OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TotalChargesWithTaxes.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @PickupDate OUT, 'RateResponse.RatedShipment[i].TimeInTransit.PickupDate'
EXEC sp_OAMethod @jResp, 'StringOf', @DocumentsOnlyIndicator OUT, 'RateResponse.RatedShipment[i].TimeInTransit.DocumentsOnlyIndicator'
EXEC sp_OAMethod @jResp, 'StringOf', @PackageBillType OUT, 'RateResponse.RatedShipment[i].TimeInTransit.PackageBillType'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceDescription OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Service.Description'
EXEC sp_OAMethod @jResp, 'StringOf', @GuaranteedIndicator OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.GuaranteedIndicator'
EXEC sp_OAMethod @jResp, 'StringOf', @Disclaimer OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.Disclaimer'
EXEC sp_OAMethod @jResp, 'StringOf', @Date OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Date'
EXEC sp_OAMethod @jResp, 'StringOf', @Time OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Arrival.Time'
EXEC sp_OAMethod @jResp, 'StringOf', @BusinessDaysInTransit OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.BusinessDaysInTransit'
EXEC sp_OAMethod @jResp, 'StringOf', @PickupDate OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Date'
EXEC sp_OAMethod @jResp, 'StringOf', @PickupTime OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.Pickup.Time'
EXEC sp_OAMethod @jResp, 'StringOf', @DayOfWeek OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DayOfWeek'
EXEC sp_OAMethod @jResp, 'StringOf', @CustomerCenterCutoff OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.CustomerCenterCutoff'
EXEC sp_OAMethod @jResp, 'StringOf', @DelayCount OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.DelayCount'
EXEC sp_OAMethod @jResp, 'StringOf', @HolidayCount OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.HolidayCount'
EXEC sp_OAMethod @jResp, 'StringOf', @RestDays OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.RestDays'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalTransitDays OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.EstimatedArrival.TotalTransitDays'
EXEC sp_OAMethod @jResp, 'StringOf', @SaturdayDelivery OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDelivery'
EXEC sp_OAMethod @jResp, 'StringOf', @SaturdayDeliveryDisclaimer OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SaturdayDeliveryDisclaimer'
EXEC sp_OAMethod @jResp, 'StringOf', @SundayDelivery OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDelivery'
EXEC sp_OAMethod @jResp, 'StringOf', @SundayDeliveryDisclaimer OUT, 'RateResponse.RatedShipment[i].TimeInTransit.ServiceSummary.SundayDeliveryDisclaimer'
EXEC sp_OAMethod @jResp, 'StringOf', @AutoDutyCode OUT, 'RateResponse.RatedShipment[i].TimeInTransit.AutoDutyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TimeInTransitDisclaimer OUT, 'RateResponse.RatedShipment[i].TimeInTransit.Disclaimer'
EXEC sp_OAMethod @jResp, 'StringOf', @ScheduledDeliveryDate OUT, 'RateResponse.RatedShipment[i].ScheduledDeliveryDate'
EXEC sp_OAMethod @jResp, 'StringOf', @RoarRatedIndicator OUT, 'RateResponse.RatedShipment[i].RoarRatedIndicator'
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].Disclaimer'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].Disclaimer[j].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].Disclaimer[j].Description'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].RatedShipmentAlert'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].RatedShipmentAlert[j].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].RatedShipmentAlert[j].Description'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].ItemizedCharges'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].ItemizedCharges[j].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].ItemizedCharges[j].Description'
EXEC sp_OAMethod @jResp, 'StringOf', @CurrencyCode OUT, 'RateResponse.RatedShipment[i].ItemizedCharges[j].CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].ItemizedCharges[j].MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @SubType OUT, 'RateResponse.RatedShipment[i].ItemizedCharges[j].SubType'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Quantity OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Quantity'
EXEC sp_OAMethod @jResp, 'StringOf', @TypeCode OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Code'
EXEC sp_OAMethod @jResp, 'StringOf', @TypeDescription OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Type.Description'
EXEC sp_OAMethod @jResp, 'StringOf', @UnitOfMeasurement OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.UnitOfMeasurement'
EXEC sp_OAMethod @jResp, 'StringOf', @Length OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Length'
EXEC sp_OAMethod @jResp, 'StringOf', @Width OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Width'
EXEC sp_OAMethod @jResp, 'StringOf', @Height OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].Dimensions.Height'
EXEC sp_OAMethod @jResp, 'StringOf', @AdjustedHeightValue OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.Value'
EXEC sp_OAMethod @jResp, 'StringOf', @AdjustedHeightUnitOfMeasurement OUT, 'RateResponse.RatedShipment[i].FRSShipmentData.HandlingUnits[j].AdjustedHeight.UnitOfMeasurement'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].TaxCharges'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @v_Type OUT, 'RateResponse.RatedShipment[i].TaxCharges[j].Type'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].TaxCharges[j].MonetaryValue'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].Description'
EXEC sp_OAMethod @jResp, 'StringOf', @CurrencyCode OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @SubType OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.ItemizedCharges[j].SubType'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @v_Type OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].Type'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].NegotiatedRateCharges.TaxCharges[j].MonetaryValue'
SELECT @j = @j + 1
END
SELECT @j = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_j OUT, 'RateResponse.RatedShipment[i].RatedPackage'
WHILE @j < @count_j
BEGIN
EXEC sp_OASetProperty @jResp, 'J', @j
EXEC sp_OAMethod @jResp, 'StringOf', @BaseServiceChargeCurrencyCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @BaseServiceChargeMonetaryValue OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].BaseServiceCharge.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TransportationChargesCurrencyCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TransportationChargesMonetaryValue OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].TransportationCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceOptionsChargesCurrencyCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @ServiceOptionsChargesMonetaryValue OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ServiceOptionsCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesCurrencyCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @TotalChargesMonetaryValue OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].TotalCharges.MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @Weight OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].Weight'
EXEC sp_OAMethod @jResp, 'StringOf', @UnitOfMeasurementCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Code'
EXEC sp_OAMethod @jResp, 'StringOf', @UnitOfMeasurementDescription OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.UnitOfMeasurement.Description'
EXEC sp_OAMethod @jResp, 'StringOf', @BillingWeightWeight OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].BillingWeight.Weight'
EXEC sp_OAMethod @jResp, 'StringOf', @SimpleRateCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].SimpleRate.Code'
SELECT @k = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].Accessorial'
WHILE @k < @count_k
BEGIN
EXEC sp_OASetProperty @jResp, 'K', @k
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].Accessorial[k].Description'
SELECT @k = @k + 1
END
SELECT @k = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges'
WHILE @k < @count_k
BEGIN
EXEC sp_OASetProperty @jResp, 'K', @k
EXEC sp_OAMethod @jResp, 'StringOf', @Code OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Code'
EXEC sp_OAMethod @jResp, 'StringOf', @Description OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].Description'
EXEC sp_OAMethod @jResp, 'StringOf', @CurrencyCode OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].CurrencyCode'
EXEC sp_OAMethod @jResp, 'StringOf', @MonetaryValue OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].MonetaryValue'
EXEC sp_OAMethod @jResp, 'StringOf', @SubType OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].ItemizedCharges[k].SubType'
SELECT @k = @k + 1
END
SELECT @k = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges'
WHILE @k < @count_k
BEGIN
EXEC sp_OASetProperty @jResp, 'K', @k
EXEC sp_OAMethod @jResp, 'IsNullOf', @nullVal OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].NegotiatedCharges.ItemizedCharges[k]'
SELECT @k = @k + 1
END
SELECT @k = 0
EXEC sp_OAMethod @jResp, 'SizeOfArray', @count_k OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].RateModifier'
WHILE @k < @count_k
BEGIN
EXEC sp_OASetProperty @jResp, 'K', @k
EXEC sp_OAMethod @jResp, 'StringOf', @ModifierType OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierType'
EXEC sp_OAMethod @jResp, 'StringOf', @ModifierDesc OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].ModifierDesc'
EXEC sp_OAMethod @jResp, 'StringOf', @Amount OUT, 'RateResponse.RatedShipment[i].RatedPackage[j].RateModifier[k].Amount'
SELECT @k = @k + 1
END
SELECT @j = @j + 1
END
SELECT @i = @i + 1
END
EXEC @hr = sp_OADestroy @http
EXEC @hr = sp_OADestroy @json
EXEC @hr = sp_OADestroy @jsonToken
EXEC @hr = sp_OADestroy @resp
EXEC @hr = sp_OADestroy @sbResponseBody
EXEC @hr = sp_OADestroy @jResp
END
GO