DataFlex
DataFlex
SugarCRM Filtering Records
See more SugarCRM Examples
Export records and filter.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoRest
Req Handle hoJsonReq
Variant vSbReq
Handle hoSbReq
Variant vSbJson
Handle hoSbJson
Handle hoJson
Integer iNext_offset
Integer i
Integer iCount_i
String sId
String sDate_modified
String sV_module
String sTemp1
Integer iTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatRest)) To hoRest
If (Not(IsComObjectCreated(hoRest))) Begin
Send CreateComObject of hoRest
End
Get ComConnect Of hoRest "your.site.domain" 443 True True To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComAddHeader Of hoRest "Cache-Control" "no-cache" To iSuccess
Get ComAddHeader Of hoRest "OAuth-Token" "<access_token>" To iSuccess
// The following code creates the JSON request body.
// The JSON created by this code is shown below.
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonReq
If (Not(IsComObjectCreated(hoJsonReq))) Begin
Send CreateComObject of hoJsonReq
End
Get ComUpdateString Of hoJsonReq "filter[0].$or[0].name.$starts" "A" To iSuccess
Get ComUpdateString Of hoJsonReq "filter[0].$or[1].name.$starts" "b" To iSuccess
Get ComUpdateNumber Of hoJsonReq "max_num" "2" To iSuccess
Get ComUpdateNumber Of hoJsonReq "offset" "0" To iSuccess
Get ComUpdateString Of hoJsonReq "fields" "id" To iSuccess
Get ComUpdateString Of hoJsonReq "order_by" "date_entered" To iSuccess
Get ComUpdateBool Of hoJsonReq "favorites" False To iSuccess
Get ComUpdateBool Of hoJsonReq "my_items" False To iSuccess
// The JSON request body created by the above code:
// {
// "filter": [
// {
// "$or": [
// {
// "name": {
// "$starts": "A"
// }
// },
// {
// "name": {
// "$starts": "b"
// }
// }
// ]
// }
// ],
// "max_num": 2,
// "offset": 0,
// "fields": "id",
// "order_by": "date_entered",
// "favorites": false,
// "my_items": false
// }
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbReq
If (Not(IsComObjectCreated(hoSbReq))) Begin
Send CreateComObject of hoSbReq
End
Get pvComObject of hoSbReq to vSbReq
Get ComEmitSb Of hoJsonReq vSbReq To iSuccess
Get ComAddHeader Of hoRest "Content-Type" "application/json" To iSuccess
Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson
If (Not(IsComObjectCreated(hoSbJson))) Begin
Send CreateComObject of hoSbJson
End
Get pvComObject of hoSbReq to vSbReq
Get pvComObject of hoSbJson to vSbJson
Get ComFullRequestSb Of hoRest "POST" "/rest/v10/Accounts/filter" vSbReq vSbJson To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoRest To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComResponseStatusCode Of hoRest To iTemp1
If (iTemp1 <> 200) Begin
Get ComResponseStatusCode Of hoRest To iTemp1
Showln "Received error response code: " iTemp1
Showln "Response body:"
Get ComGetAsString Of hoSbJson To sTemp1
Showln sTemp1
Procedure_Return
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Get pvComObject of hoSbJson to vSbJson
Get ComLoadSb Of hoJson vSbJson To iSuccess
// The following code parses the JSON response.
// A sample JSON response is shown below the sample code.
Get ComIntOf Of hoJson "next_offset" To iNext_offset
Move 0 To i
Get ComSizeOfArray Of hoJson "records" To iCount_i
While (i < iCount_i)
Set ComI Of hoJson To i
Get ComStringOf Of hoJson "records[i].id" To sId
Get ComStringOf Of hoJson "records[i].date_modified" To sDate_modified
Get ComStringOf Of hoJson "records[i]._module" To sV_module
Move (i + 1) To i
Loop
// A sample JSON response body that is parsed by the above code:
// {
// "next_offset": 2,
// "records": [
// {
// "id": "f16760a4-3a52-f77d-1522-5703ca28925f",
// "date_modified": "2016-04-05T10:23:28-04:00",
// "_acl": {
// "fields": {}
// },
// "_module": "Accounts"
// },
// {
// "id": "ec409fbb-2b22-4f32-7fa1-5703caf78dc3",
// "date_modified": "2016-04-05T10:23:28-04:00",
// "_acl": {
// "fields": {}
// },
// "_module": "Accounts"
// }
// ]
// }
Showln "Example Completed."
End_Procedure