function cloneUTable($attr)
 {
     //---------------------------------------------------------------------
     // destination table must exist prior to call
     //---------------------------------------------------------------------
     $csrcTable = new muser_fields_create();
     $cdestTable = new muser_fields_create();
     // load source table record
     $csrcTable->lTableID = $attr->lSrcTableID;
     $csrcTable->loadTableViaTableID(false);
     $srcTable =& $csrcTable->userTables[0];
     // load source table fields
     $csrcTable->loadTableFields(true);
     $srcFields =& $csrcTable->fields;
     if ($csrcTable->lNumFields == 0) {
         return;
     }
     // nothing to clone
     // the destination table
     $cdestTable->lTableID = $attr->lDestTableID;
     $cdestTable->strENPTableName = $cdestTable->strGenUF_TableName($attr->lDestTableID);
     $cdestTable->fields = array();
     $cdestTable->fields[0] = new stdClass();
     $destField =& $cdestTable->fields[0];
     foreach ($csrcTable->fields as $sfield) {
         $lSrcFieldID = $sfield->pff_lKeyID;
         $destField->enumFieldType = $enumFieldType = $sfield->enumFieldType;
         $destField->pff_strFieldNameUser = $sfield->pff_strFieldNameUser;
         $destField->pff_bCheckDef = $sfield->pff_bCheckDef;
         $destField->pff_curDef = $sfield->pff_curDef;
         $destField->pff_strTxtDef = $sfield->pff_strTxtDef;
         $destField->pff_lDef = $sfield->pff_lDef;
         $destField->pff_lCurrencyACO = $sfield->pff_lCurrencyACO;
         $destField->pff_bHidden = $sfield->pff_bHidden;
         $destField->pff_bRequired = $sfield->pff_bRequired;
         $destField->bPrefilled = $sfield->bPrefilled;
         $destField->strFieldNotes = $sfield->strFieldNotes;
         $lDestFieldID = $cdestTable->addNewField();
         // map the sort order
         $cdestTable->setUFieldSortIDX($lDestFieldID, $sfield->lSortIDX);
         // clone the drop-down list entries
         if ($enumFieldType == CS_FT_DDL || $enumFieldType == CS_FT_DDLMULTI) {
             $this->cloneUFDDL($lSrcFieldID, $lDestFieldID);
             $cdestTable->setDDL_asConfigured($lDestFieldID);
         }
     }
 }