Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerpt
FWINT HEAD
FWINT HEAD
nopaneltrue

Return to Sage Timberline Client and Jobs Integration

Article Index

Table of Contents

Integrated Fields

The integration of Sage of Sage Timberline Client and Jobs to Framework ECM is Jobs to Framework ECM is fully customisable via the integration mapping database.

Master_Arm_Record_1

Sage

Timberline Database

Timberline Database Field Name

Sage

Timberline Field

Timberline Field Label

Create

Update

Framework Database Field Name

Framework Field Label

CADD1


Yes

Yes

Special #1: client street number & client street name


CAKEY1


Yes


Fixed Value: 1


CBADD1


Yes

Yes

Special #1: client street number & client street name


CBCIY


Yes

Yes

Framework - s_client_suburb


CBEMAIL


Yes

Yes

Framework - s_client_email


CBSTATE


Yes

Yes

Framework - s_client_state


CBZIP


Yes

Yes

Framework - s_client_postcode


CCITY


Yes

Yes

Framework - s_client_suburb


CDAYDUE


Yes


Fixed Value: 7


CEMAIL


Yes

Yes

Framework - s_client_email


CESTDT


Yes


Framework - d_created


CFAX


Yes

Yes

Framework - s_client_fax


CGLPREF


Yes


Special #3: depending on the criteria method from the ini file, we get a value from the ini file like this (TLJOBPREFIX(method criteria)).


CNAME


Yes

Yes

Special #7: Client Name (job num).


CPHONE


Yes

Yes

Framework - s_client_phone


CSTATE


Yes

Yes

Framework - s_client_state


CTRADE


Yes


Fixed Value: None


CTXGR


Yes


Fixed Value: GST


CTXGRPE


Yes


Fixed Value: Taxable


CTXGRPL


Yes


Fixed Value: Taxable


CTXGRPM


Yes


Fixed Value: Taxable


CTXGRPO


Yes


Fixed Value: Taxable


CTXGRPS


Yes


Fixed Value: Taxable


CTXGRPT


Yes


Fixed Value: Taxable


CTXGRTB


Yes


Fixed Value: Taxable


CTYPEA


Yes


Fixed Value: Standard


CUST


Yes


Special #2: Gets the first four or five characters from client ref name (ini file key determines harmony) appends 2 numbers to it, adds leading 0 if needed.


CZIP


Yes

Yes

Framework - s_client_postcode


Master_Arm_Record_4

Sage

Timberline Database

Timberline Database Field Name

Sage

Timberline Field

Timberline Field Label

Create

Update

Framework Database Field Name

Framework Database Field Label

ATITLE


Yes

Yes

Framework s_client_name


CUCUST


Yes


Special #2: Gets the first four or five characters from client ref name (ini file key determines harmony) appends 2 numbers to it, adds leading 0 if needed. 


Master_JCM_Record_1_1

Sage

Timberline Database

Timberline Database Field Name

Sage

Timberline Field

Timberline Field Label

Create

Update

Framework Database Field Name

Framework Database Field Label

JACTSD


Yes

Yes

Framework - d_admin_comp_act


JADDR1


Yes

Yes

Special #5: job lot numb, job street num, job street name


JADDR2


Yes


Fixed Value: 1


JARCUST


Yes


Special #2: Gets the first four or five characters from client ref name (ini file key determines harmony) appends 2 numbers to it, adds leading 0 if needed. 


JAUTH


Yes

Yes

Framework - s_super_nameRef


JBCITY


Yes

Yes

Framework - s_client_suburb


JBSTATE


Yes

Yes

Framework - s_client_state


JBZIP


Yes

Yes

Framework - s_client_postcode


JCITY


Yes

Yes

Framework - s_job_suburb


JCNAME


Yes

Yes

Framework - s_client_name


JDESC


Yes

Yes

Special #8: job lot num, job street num, job street name (client name ref)


JESTSD


Yes

Yes

Framework - d_admin_comp_fMan


JOB


Yes


Special #6: Fwork job number formatted to the Timberline format.


JOESTFN


Yes

Yes

Special #9: if fwork d_site_start_act is entered and the timberline JOESTFN field is 0 we set this to true.


JORDER1


Yes

Yes

Framework - s_supervisor_name


JORDER2


Yes

Yes

Framework - s_hType_notes


JPREFIX


Yes


Special #3: depending on the criteri method from the ini file, we get a value from the ini file like this (TLJOBPREFIX(method criteria)).


JPRJMGR


Yes

Yes

Framework - s_administrator_name


JSTATE


Yes

Yes

Framework - s_job_state


JSTATUS


Yes

Yes

Special #4: if not = closed this will be 'in progress' if job status is active/on hold and wfl stage is construction/maintenance else it will be unstarted.


JTITL1


Yes

Yes

Framework - s_estimator_name


JTITL2


Yes

Yes

Framework - s_hFacade_name


JTYPE


Yes

Yes

Framework - s_hType_name


JZIP


Yes

Yes

Framework - s_job_postcode


JACTCD


Yes

Yes

Framework - d_settle_act


JBMETH


Yes


Fixed Value: Use Quick Bill. This value applies to using Timberline Quickbill for invoicing when not using Contracts.

Fixed Value: Use Contracts. This value applies to using Timberline Contracts


Master_JCM_Record_20

FieSage TimberlineDatabase

FieSage TimberlineDatabase Field Nameld

Sage

Timberline Field

Timberline Field Label

Create

Update

Framework Database Field Name

Framework Database Field Label

DJOBCRE


Yes


Framework - d_created


JUJOB


Yes


Special #6: Fwork job number formatted to the Timberline format.


NFWCVAP


Yes

Yes

Special #17: Sum of doc.c_retail_total whose subtype is building Var or PC Var, status is final and d_signed_act is not null.


NFWCVPE


Yes

Yes

Special #16: Sum of doc.c_retail_total whose sub type in building Var or Post Contract Variations, status is final or draft and d_signed_act is null.


Database Models

The following database model(s) displays the manner in which data is integrated between the third party application and Framework and Framework Integration.

Image RemovedImage Added


Integration Process

The following information is a low level account of the integration process including criteria, decisions, and outcomes. This information is technical in nature and is provided "as-is" for a detailed analysis of the integration process for system administrators.

  1. If the profile key for setClosedStatus is 1 then we get all jobs from v_sched_tlGold1 where

    1. Job.l_wfl_stgMajor_id = -5 (Maintenance)

    2. Cont.d_settle_act = within the last 6 months. Not including the current month.

  2. We then get matching Timberline Accounts from Master_Jcm_Record_1_1 where If job.s_link_boq is empty then

    1. Master_Jcm_Record_1_1.job = job.s_job_num (formatted for timberline) else use Master_Jcm_Record_1_1.job = job.s_link_boq

    2. The records that match in Timberline will have their status set to Closed

  3. Next, get eligible Framework jobs using v_sched_tlGold1 where

    1. Client.s_name_ref is not null

    2. Client.s_name is not null

    3. Job.s_link_boq <> ‘N/A’

    4. Job.s_link_accts <> ‘N/A’

    5. Job.l_job_status_gl_id = -7(Active) or -10(On Hold) or l_job_status_gl_id = -946 (Pending Cancellation) or -8(Cancelled) and if d_cont_cancelled >= (today - 14 days).

    6. Job.l_wfl_stgMajor_id <> -5 (Maintenance)
      OR
      Job.l_wfl_stgMinor_id = -18(Maint DLP) and d_settle_act >= (today - 140) up to 20 weeks
      or
      Job.l_wfl_stgMinor_id = -19(Maint Service) and d_dlp_expiry_act >= (today - 28) up to 4 weeks.

    7. and apply Criteria Method criteria where CriteriaMethod is

    8. 1 – Single Region Division • job.l_context_id = ‘CriteriaMethodID’

    9. 2 – Single Job • job.s_job_num = ‘CriteriaMethodID’

    10. 3 – Single Team • job.l_team_id = ‘CriteriaMethodID’

    11. 4 – All Jobs • job.l_job_id <> 0

    12. 5 – Accounts Entity • job.l_accounts_e_id = ‘CriteriaMethodID’

  4. For each Framework Job search for the job in Timberline table Master_Jcm_Record_1_1 for a matching record where...

    1. Master_Jcm_Record_1_1.job = job.s_job_num (formatted to match Timberlines format)
      OR 
      if s_boq_link is not empty then

    2. Master_Jcm_Record_1_1.job = job.s_link_boq

  5. If the job is found in timberline then

    1. The matching job record is retrieved from Master_Jcm_Record_1_1 where Master_Jcm_Record_1_1.job = the formatted framework job number (or link BOQ)

    2. The matching record from Master_Jcm_Record_20 is found where Master_Jcm_Record_20.juJob = the formatted framework job number (or link BOQ)

    3. The matching client record is retrieved from Master_Arm_Record_1 where Master_Arm_Record_1.cust = Master_Jcm_Record_1_1.jarcust

    4. The matching record is retrieved from Master_Arm_Record_4 where Master_Arm_Record_4.cucust = Master_Jcm_Record_1_1.jarcust

    5. If all records above are retrieved successfully we update the timberline job.

    6. After updating the job successfully, then we read from Master_JCM_Record_13 to get costs for this job where IJOB = job.s_link_boq (or if empty then job.s_job_num formatted to match Timberline)

    7. If there are records returned we then update Frameworks doc_sumJob so with costs and dates. They are updated as follows

      • The cost is read from Master_jcm_record_13 and is (IAMT + IAPPCOA) all valid currency fields will have this amount

      • Updated every time...

      • -doc_sumJob.d_poCost_Current = todays date

      • -doc_sumJob.c_pocost_Current = jcm13 calculated cost

      • IFd_admin_comp_act is empty then

      • -doc_sumJob.d_pocost_AdminComp = todays date

      • -doc_sumJob.c_pocost_adminComp = jcm13 calculated cost

      • IF d_cst_comp_act is empty then

      • -doc_sumJob.d_pocost_cstComp = todays date

      • -doc_sumJob.c_pocost_cstComp = jcm13 calculated cost

      • IF d_dlp_expiry_fman is empty then

      • -doc_sumJob.d_pocost_dlpExpiry = todays date

      • -doc_sumJob.c_pocost_dlpExpiry = jcm13 calculated cost

      • IF d_dlp_expiry_act is empty then

      • -doc_sumJob.d_pocost_dlpComplete = todays date

      • -doc_sumJob.c_pocost_dlpComplete = jcm13 calculated cost

  6. If the job is not found in timberline then

    1. If the population of field 'CUST' is not the standard default outlined earlier then we will check to ensure the client is not already entered. This saves errors if the clients have multiple jobs. If the client exists only the job is created, else both client and job is created.

    2. If the job.s_link_boq field is empty we create the job in timberline.

    3. We retrieve links to the timberline tables so we can add the new job and customer records. If we can successfully retrieve the links we create the new records.