)clear clear ws )copy conga Conga C:\apps\dyalog182U64\ws\conga.dws saved Tue Mar 8 14:28:06 2022 i←Conga.Init '' ]load HttpCommand #.HttpCommand service←'https://services.odata.org/V4/Northwind/Northwind.svc' ⎕←res←HttpCommand.Get service [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 2016] 200↑res.Data {"@odata.context":"https://services.odata.org/V4/Northwind/Northwind.svc/$metadata","value":[{"name":"Categories","kind":"EntitySet","url":"Categories"},{"name":"CustomerDemographics","kind":"EntitySe jres←⎕json res.Data jres.⎕nl -2 9 value ⍙⍙64⍙odata⍙46⍙context jres.value #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON o bject].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON object].[JSON object] #.[JSON obj ect].[JSON object] #.[JSON object].[JSON object] jres.value[1].⎕nl -2 9 kind name url ⍪jres.value.(kind url) EntitySet Categories EntitySet CustomerDemographics EntitySet Customers EntitySet Employees EntitySet Order_Details EntitySet Orders EntitySet Products EntitySet Regions EntitySet Shippers EntitySet Suppliers EntitySet Territories EntitySet Alphabetical_list_of_products EntitySet Category_Sales_for_1997 EntitySet Current_Product_Lists EntitySet Customer_and_Suppliers_by_Cities EntitySet Invoices EntitySet Order_Details_Extendeds EntitySet Order_Subtotals EntitySet Orders_Qries EntitySet Product_Sales_for_1997 EntitySet Products_Above_Average_Prices EntitySet Products_by_Categories EntitySet Sales_by_Categories EntitySet Sales_Totals_by_Amounts EntitySet Summary_of_Sales_by_Quarters EntitySet Summary_of_Sales_by_Years jres.⍙⍙64⍙odata⍙46⍙context https://services.odata.org/V4/Northwind/Northwind.svc/$metadata ⍝ crtl+click on the link ObjIn←{(⊃⍵).⎕NL-2 9} ⎕←orders←HttpCommand.Get service,'/Orders' [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 70806] jorders←⎕json orders.Data ObjIn jorders value ⍙⍙64⍙odata⍙46⍙context ⍙⍙64⍙odata⍙46⍙nextLink ObjIn jorders.value CustomerID EmployeeID Freight OrderDate OrderID RequiredDate ShipAddress ShipCity ShipCountry ShipName ShipPostalCode ShipRegion ShipVia ShippedDate ⍴jorders.value.ShippedDate 200 10↑jorders.value.ShippedDate 1996-07-16T00:00:00Z 1996-07-10T00:00:00Z 1996-07-12T00:00:00Z 1996-07-15T00:00:00Z 1996-07-11T00:00:00Z 1996-07-16T00:00:00Z 1996-07-23T00:00:00Z 1996-07-15T00:00:00Z 1996-07-17T00:00:00Z 1996-07-22T00:00:00Z jorders.⍙⍙64⍙odata⍙46⍙nextLink Orders?$skiptoken=10447 ⎕←orders2←HttpCommand.Get service,'/',jorders.⍙⍙64⍙odata⍙46⍙nextLink [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 71078] jo2←⎕json orders2.Data ⍴jo2.value 200 ⎕←t←HttpCommand.Get service,'/Orders/$count' [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 3] t.Data 830 params←1 2⍴ '$select' 'OrderID,ShippedDate' params⍪← '$filter' 'ShippedDate ge 1997-07-01 and ShippedDate lt 1997-08-01' ⎕←july97←HttpCommand.Get (service,'/Orders') (params) [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 1827] jjuly97←⎕json july97.Data ObjIn jjuly97 value ⍙⍙64⍙odata⍙46⍙context ObjIn jjuly97.value OrderID ShippedDate ⍴jjuly97.value 31 jjuly97.value.ShippedDate 1997-07-09T00:00:00Z 1997-07-11T00:00:00Z 1997-07-04T00:00:00Z 1997-07-25T00:00:00Z 1997-07-04T00:00:00Z 1997-07-01T00:00:00Z 1997-07-02T00:00:00Z 1997-07-14T00:00:00Z 1997-07-04T00:00:00Z 1997-07-04T00:00:00Z 1997-07-10T00:00:00Z 1997-07-09T00 :00:00Z 1997-07-09T00:00:00Z 1997-07-10T00:00:00Z 1997-07-14T00:00:00Z 1997-07-14T00:00:00Z 1997-07-16T00:00:00Z 1997-07-16T00:00:00Z 1997-07-16T00:00:00Z 1997-07-14T00:00:00Z 1997-07-18T00:00:00Z 1997-07-18T00:00:00Z 1997-07-21T00:00:00Z 1997-07-21T00:00:00Z 1997-07-22T00:00:00Z 1997-07-22T00:00:00Z 1997-07-29T00:00:00Z 1997-07-29T00:00:00Z 1997-07-31T00:00:00Z 1997-07-25T00:00:00Z 1997-07-30T00:00:00Z 1 HttpCommand.Get (service,'/Orders') (params) GET /V4/Northwind/Northwind.svc/Orders?%24select=OrderID%2CShippedDate&%24filter=ShippedDate%20ge%201997-07-01%20and%20ShippedDate%20lt%201997-08-01 HTTP/1.1 Host: services.odata.org User-Agent: Dyalog/HttpCommand Accept: */* params←1 2⍴ '$select' 'OrderID,ShippedDate' params⍪← '$filter' 'month(ShippedDate) eq 7 and year(ShippedDate) eq 1997' params⍪←'$expand' 'Order_Details' ⎕←t ←HttpCommand.Get (service,'/Orders') (params) [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 7814] jt←⎕Json t.Data ⍴jt.value 31 ObjIn jt.value OrderID Order_Details ShippedDate ObjIn jt.value.Order_Details Discount OrderID ProductID Quantity UnitPrice params⍪←'$compute' 'Order_Details/Quantity mul Order_Details/UnitPrice as Amount' ⎕←t ←HttpCommand.Get (service,'/Orders') (params) [rc: 0 | msg: | HTTP Status: 400 "Bad Request" | ⍴Data: 131] t.Data {"error":{"code":"","message":"The query parameter '$compute' begins with a system-reserved '$' character but is not recognized."}} params←¯1↓params ⎕←t ←HttpCommand.Get (service,'/Orders') (params) [rc: 0 | msg: | HTTP Status: 200 "OK" | ⍴Data: 7814] jt←⎕json t.Data jt.value.Order_Details.(Quantity×(1-Discount)×UnitPrice) 155 350 540 217.3875 333.2 360 117 155 162.75 331.3125 82.5075 599.925 310 78 252 1237.9 693.6 306 593.75 142.5 23.8 187.38 360 260 2000 1120 72 360 741 140 300 372.5 368.125 148.3425 168 397.5 405 2565 1755 126 390 202.08 2195 193.5 493 29.8 450 360 1925 48.75 68.85 162 497.325 1045 2261 306.375 352 384 394.4 1350 3900 35 772.8 417.6 54 310 60 ⍴¨jt.value.Order_Details.(Quantity×(1-Discount)×UnitPrice) 1 2 2 2 2 3 1 2 3 1 1 1 3 2 1 2 3 2 2 3 3 2 1 2 2 1 2 4 3 5 3 +/⊃,/jt.value.Order_Details.(Quantity×(1-Discount)×UnitPrice) 37544.96 ⍝ exercise