As I'm just getting started with SSJS scripting I need help for the below scenario. I have a DE which consist of Contact_ID & Mobile_Number fields. I need to update _MobileAddress table for mobile number change. I have Script which update _MobileAddress table, but I looking to run it in loop so that it will pull all records for DE and updates the _MobileAddress. Please help me with the below script to run loop. Thank you.

<script runat="server">
    var contactId = 111111111;
    var mobileAddressDataView = DataExtension.Init('_MobileAddress');
    var result = mobileAddressDataView.Rows.Update({_MobileNumber: '13333333333'}, ['_ContactID'], [contactId]);
  • The data views are read-only. You can't update them. Jul 26 at 10:07
  • 1
    @AdamSpriggs, _MobileAddress is not a standard data view - it really is editable. For example: mateuszdabrowski.pl/docs/ssjs/… Jul 26 at 10:15
  • Ah yeah... not sure I'd build a solution that included something like this. However, MobileConnect is activity data and reporting is such a dumpster fire, that's all we have. Jul 26 at 12:56

1 Answer 1


Try the following script:

var mobileAddressDataView = DataExtension.Init("_MobileAddress");
var rows = mobileAddressDataView.Rows.Lookup(["_ContactID"], [contactId]); // If you want to retrieve only records matching your contactId
var rows = mobileAddressDataView.Rows.Retrieve(); // If you want to retrieve all records in the DE

if(rows.length >= 1) {
      for (i = 0; i < rows.length; i++) {
          var result = mobileAddressDataView.Rows.Update({_MobileNumber:'13333333333'}, ['_ContactID'], [contactId]);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.