08-15-2019, 09:35 PM
(08-14-2019, 04:29 PM)efrain.c Wrote: Hi sltfn,
Here is one way to use cdb_batchUpdate in your code:
global myVar
set itemDelimiter to tab
put "thisCustID" & tab & "thisFullName" & tab & "thisLastName" & tab & "thisBalance" & tab & "thisCode" & tab & "thisStatus" & tab & "thisRecordID" into theLineItems
put cdb_tableID("CUSTOMERS") into tTableID
put "cloud" into tTarget
set itemDelimiter to tab
repeat for each line DBrecordLine of myVar
repeat with itemCount = 1 to (the number of items of theLineItems)
do "put item" && itemCount && "of DBrecordLine into" && (item itemCount of theLineItems)
end repeat
put thisRecordID into tRecordID
put thisCustID into tDataA[tTableID][tRecordID]["CUSTOMER_ID"]
put thisFullName into tDataA[tTableID][tRecordID]["FULL_NAME"]
put thisLastName into tDataA[tTableID][tRecordID]["LAST_NAME"]
put thisBalance into tDataA[tTableID][tRecordID]["BALANCE"]
put thisCode into tDataA[tTableID][tRecordID]["CODE"]
put thisStatus into tDataA[tTableID][tRecordID]["STATUS"]
end repeat -- looping through each line of myVar
cdb_batchUpdate tDataA, tTarget
There are a couple changes to note. cdb_batchUpdate uses tableID instead of table name. tDataA is structured differently to allow updates across multiple records across multiple tables. cdb_batchUpdate is placed after the repeat, the repeat structures the data and cdb_batchUpdate sends all the updates as a single request.
Hope this helps. Let us know if you have any questions.
Thanks, efrain. This is very helpful. Now I just need to change some routines used earlier in my processing to work with batch updating and test. Much appreciated.