code: function getSubData( data, subPath ) {
    log( "getSubData",  'start ' );
    log( "getSubData",  JSON.stringify(data) );
    var result = data;
    if ( subPath == null ) {
      log( "getSubData",  'no subPath' );
    } else {
      log( "getSubData",  'tbl.dataDocSubPath='+subPath );
      var pathToken = subPath.split('.');
      log( "getSubData",  'pathToken[0] ' + pathToken[0] );
      var subdata = data[ pathToken[0] ];
      log( "getSubData", ">>"+JSON.stringify(subdata) );
      for ( var i = 1; i < pathToken.length; i++ ) {
        log( "getSubData", 'pathToken['+i+'] ' + pathToken[i] );
        if ( subdata != null ) {
          subdata = subdata[ pathToken[i] ];
          log( "getSubData", ">>"+JSON.stringify(subdata) );        
        } else {
          log( "getSubData", ">> NULL" );        
        }
      }
      result = subdata;
    }
    return result;
  }
docs: =====================================================================================================