loadContact.selectLine({                          ...
# suitescript
n
loadContact.selectLine({                             sublistId: 'addressbook',                             line: i                         });                         var defaultbilling = loadContact.getCurrentSublistValue({                             sublistId : 'addressbook',                             fieldId: 'defaultbilling'                         });                         if (defaultbilling == true) {                             var addressSubrecord = loadContact.getCurrentSublistSubrecord({                                 sublistId: 'addressbook',                                 fieldId: 'addressbookaddress'                             });                             addressSubrecord.setValue({                                 fieldId: 'addr1',                                 value: scriptContext.request.parameters.address                             });                             addressSubrecord.setValue({                                 fieldId: 'city',                                 value: scriptContext.request.parameters.city                             });                             addressSubrecord.setValue({                                 fieldId: 'state',                                 value: scriptContext.request.parameters.state                             });                             addressSubrecord.setValue({                                 fieldId: 'zip',                                 value: scriptContext.request.parameters.zip                             });                         }                         loadContact.commitLine({                             sublistId: 'addressbook'                         });
c
Do you need to call record.save?
Looks like you might have the record in dynamic mode. Might be a little easier to work with it in the standard mode if you can.