| FUNCTION CheckPostCode(PostCode$, Country$, StateCode$, City$, Zipcode$) 
 | 
 
| FUNCTION CloseTables() 
 | 
 
| FUNCTION CreateAdditionalLinks(key$, type$, companyid$) 
 
Called from the Maintain Relationship wizard to establish any links
required based on the changes made through the wizard.
 | 
 
| 
| Parameter | Description | 
|---|
 
    | Key$ | [input, string] Key to the record |  
    | Type$ | [input, string] record identifier, Person, Company or Addressy |  
    | companyID$ | [input, string]  CRM Record ID |  | 
 
|  | 
 
| FUNCTION CreateLink(key$, type$, companyID$) 
 | 
 
| FUNCTION CreateLink(key$, type$, companyID$, newRecord) 
 
Called when establishing a link from a MAS 90/200 record to an existing CRM Entity
This method creates the link information in the CU tables.
 | 
 
| 
| Parameter | Description | 
|---|
 
    | Key$ | [input, string] Key to the record |  
    | Type$ | [input, string] record identifier, Person, Company or Addressy |  
    | companyID$ | [input, string]  CRM Record ID |  
    | newRecord | [input, boolean] flag indicating if a new link is being created. |  | 
 
|  | 
 
| FUNCTION CRMIDChanged(idType$) 
 | 
 
| FUNCTION DissolveLink(key$, type$) 
 
Called when unlinking a MAS 90/200 record from a existing CRM Entity.
This method removes the link information from the CU tables.
 | 
 
| 
| Parameter | Description | 
|---|
 
    | Key$ | [input, string] Key to the record |  
    | Type$ | [input, string] record identifier, Person, Company or Addressy |  | 
 
|  | 
 
| FUNCTION FormatCountryToCRM(countryCode$, value$) 
 | 
 
| FUNCTION FormatCountryToMAS(country$, value$) 
 | 
 
| FUNCTION FormatInactiveReasonToCRM(InactiveReasonCode$, InactiveReasonCodeDesc$) 
 
Called when linking a MAS 90/200 record to a CRM Entity.
This method get the description information for the CU table.
 | 
 
| 
| Parameter | Description | 
|---|
 
    | InactiveReasonCode$ | [input, string] Key to the record |  
    | InactiveReasonCodeDesc$ | [input, string] Description of Key record |  | 
 
| 
    | Returns | Success if record found |  | 
 
| FUNCTION FormatPersonToCRM(crmValue$, firstName$, lastName$) 
 | 
 
| FUNCTION FormatPersonToMAS(firstName$, lastName$, masValue$) 
 | 
 
| FUNCTION FormatPhoneNumberToCRM(MASNumber$, crmArea$, crmNum$) 
 | 
 
| FUNCTION FormatPhoneNumberToMAS(AreaCode$, Number$, rtnVal$) 
 | 
 
| FUNCTION FormatStateToMAS(state$, value$) 
 | 
 
| FUNCTION FormatStateToMAS(state$, value$, country$) 
 | 
 
| FUNCTION FormatTaxScheduleToCRM(TaxSchedule$, TaxScheduleDesc$) 
 | 
 
| FUNCTION FormatTermsCodeToCRM(TermsCode$, TermsCodeDesc$) 
 | 
 
| FUNCTION GenerateContactCode$(firstName$, lastName$) 
 | 
 
| FUNCTION GenerateNewCRMID(CRMFileChn, rtnCRMID$) 
 | 
 
| FUNCTION GenerateNewCRMID(CRMFileChn, rtnCRMID$, fileName$) 
 | 
 
| FUNCTION GenerateShipToCode$() 
 | 
 
| FUNCTION GenerateTimeStamp$() 
 | 
 
| FUNCTION GetAddressLinkID$(recordKey$, recordType$) 
 | 
 
| FUNCTION GetEmailLinkID$(recordKey$, recordType$) 
 
Get the EmailLinkID.  If more than one link record exists, then break the link and create a new link record
Update the new link record with the values from the existing record
 | 
 
| 
| Parameter | Description | 
|---|
 
    | recordKey$ | [input, string] Key to the Email Link record |  
    | recordType$ | [input, string] record identifier, Person or Company |  | 
 
| 
    | Returns | [string] Returns either the existing EmailLinkID$ or the newly created one |  | 
 
| FUNCTION GetPhoneLinkID$(recordKey$, recordType$, PhoneType$) 
 
Get the PhoneLinkID.  If more than one link record exists, then break the link and create a new link record
Update the new link record with the values from the existing record
 | 
 
| 
| Parameter | Description | 
|---|
 
    | recordKey$ | [input, string] Key to the Phone Link record |  
    | recordType$ | [input, string] record identifier, either Person or Company |  | 
 
| 
    | Returns | [string] Returns either the existing PhoneLinkID$ or the newly created one |  | 
 
| FUNCTION GetTaxSchedule(zipCode$, taxSchedule$) 
 | 
 
| FUNCTION LinkedToCRM(recordKey$, recordType$) 
 | 
 
| FUNCTION PromoteCompanyToCustomer(compID$, div$, cust$) 
 | 
 
| FUNCTION PushData() 
 | 
 
| FUNCTION PushData(synchronous) 
 | 
 
| FUNCTION PushData(synchronous, uiObject) 
 | 
 
| FUNCTION PushData(synchronous, uiObject, instance$) 
 
Pushes data back and forth to CRM
 | 
 
| 
| Parameter | Description | 
|---|
 
    | synchronous | [input, numeric] |  
    | uiObject | [input, numeric] UI where data is being pushed |  
    | instance$ | [input, string] if blank or none read instance from CU_Options for current company |  | 
 
| 
    | Returns | [boolean] Success or Failuret |  | 
 
| FUNCTION PushMasData(variables$, recordKey$, recordType$, companyID$) 
 | 
 
| FUNCTION PushMasData(variables$, recordKey$, recordType$, companyID$, primary$) 
 | 
 
| FUNCTION PushMasData(variables$, recordKey$, recordType$, companyID$, primary$, noPushToCRM) 
 
Updates the data changed in MAS 90/200 to the CU tables
uses the Sage Integration Engine to update the the CRM database with the changes
 | 
 
| 
| Parameter | Description | 
|---|
 
    | variables$ | [input, string] list of MAS 90/200 columns that have been updated.  If null, then we are establishing a new link between MAS 90/MAS 200 and CRM |  
    | recordKey$ | [input, string] Key to the record |  
    | recordType$ | [input, string] record identifier, Person, Company or Address |  
    | companyID$ | [input, string]  CRM Company ID |  
    | primary$ | [input, string] YES/NO flag indicating the Primary Contact |  
    | noPushtoCRM | [input, boolean] Indicate if the data should be updated to CRM or only the Mirror Tables |  | 
 
| 
    | Returns | [boolean] Success or Failure |  | 
 
| FUNCTION SetCustomerTemplate(templateName$) 
 | 
 
| FUNCTION SetCustomerTemplate(templateName$, recVal$) 
 | 
 
| FUNCTION LOCAL CheckColumnsToSkip(valCols$, skipcols$) 
 | 
 
| FUNCTION LOCAL GetCRMValidationGroupMembers$() 
 | 
 
| FUNCTION LOCAL PERFORM InstantiateLinkObject(objName$) 
 
Instantiate the appropriate business object for linking the records to CRM
 | 
 
| 
| Parameter | Description | 
|---|
 
    | objName$ | [input, string] Name of business object to be instantiated |  | 
 
| 
    | Returns | [integer] Returns the object handle for the business object |  | 
 
| FUNCTION LOCAL PERFORM OpenCountryFile() 
 | 
 
| FUNCTION LOCAL OpenTable(table$, path$) 
 | 
 
| FUNCTION LOCAL OpenTable(table$, path$, forceOpen) 
 | 
 
| FUNCTION LOCAL PushDataReadLine(line$, buf$) 
 | 
 
| FUNCTION LOCAL PushDataReadLine(line$, buf$, timeout) 
 | 
 
| FUNCTION LOCAL PERFORM SetCRMCompanyFields() 
 
Set company fields MAS_CompanyKey$, MAS_CompanyCode$, SageCRMInstanceID$
 | 
 
| FUNCTION LOCAL PERFORM SetKeyLength() 
 | 
 
| FUNCTION LOCAL PERFORM TranslateField() 
 
Called from the PushMASData() method for fields defined in the SY_FieldMapping.M4T table that require special formatting.
This routine handles translating the values from MAS 90/200 to the appropriate format for CRM.
 | 
 
|  | 
 
| FUNCTION LOCAL UpdatePrimaryContactID(crmKey$) 
 | 
 
| FUNCTION LOCAL UpdatePrimaryContactID(crmKey$, noPushToCRM) 
 | 
 
| FUNCTION LOCAL ValidateGroupCRM() 
 |