Class CI_CUConvertData

Inherits

CI_NextNumber

Properties

LOCAL cCompanyEntityID$="5"  

[constant, string] Specifies that this is a Company Entity

LOCAL cPersonEntityID$="13"  
[constant, string] Specifies that this is a Person Entity
LOCAL cCompanyLinkFiles$="Address"+SEP+"Company"+SEP+"Email"+SEP+"Phone"+SEP  
LOCAL cPersonLinkFiles$="Person"+SEP+"Email"+SEP+"Address"+SEP+"Phone"+SEP  
LOCAL cAddressLinkFiles$="Address"+SEP  
LOCAL cCompanyCreateLinkFiles$  
LOCAL cPersonCreateLinkFiles$="Person"+SEP+"Email"+SEP+"Address"+SEP+"Phone"+SEP  
LOCAL cAddressCreateLinkFiles$="Address"+SEP  
LOCAL cCompanyWhereClause$="~ContactCode$=$$ AND ~ShipToCode$=$$"  

Methods

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.

ParameterDescription
Key$ [input, string] Key to the record
Type$ [input, string] record identifier, Person, Company or Addressy
companyID$ [input, string] CRM Record ID
Returns Success
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.

ParameterDescription
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.
Returns Success
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.

ParameterDescription
Key$ [input, string] Key to the record
Type$ [input, string] record identifier, Person, Company or Addressy
Returns Success
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.

ParameterDescription
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

ParameterDescription
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

ParameterDescription
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

ParameterDescription
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

ParameterDescription
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

ParameterDescription
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.

Returns Success
FUNCTION LOCAL UpdatePrimaryContactID(crmKey$)  
FUNCTION LOCAL UpdatePrimaryContactID(crmKey$, noPushToCRM)  
FUNCTION LOCAL ValidateGroupCRM()  

Methods inherited from: CI_NextNumber

FormatLotSerialNo$(), IncrementSerialNo(), NextNumber(), FindPrefix(), GetColumnInfo(), IncrementNumber()