Integration Profile Configuration
The following outlines the settings for Databuild Orders integration .ini file profiles.
Default initialisation filename:
- Int_DatabuildOrders_Default.ini
Settings
Key | Description/Setting |
---|---|
IntegrationType | Description: Specifies the type of integration to be performed. This is a fixed value that should not be changed. Setting: Databuild Ordering |
UseWizard | Description: Specifies whether Integration will be run manually or automatically. Setting: 0: Integration will be run based on the values in the ini file and can be run automatically without user intervention. 1: Integration will be run using a wizard allowing users to modify the details of the integration. |
ODBCConnectionType | Description: Indicates if the Databuild database is SQL Server or Microsoft Access. Setting: 1: SQL Server 2: Microsoft Access |
YieldMilliSeconds | Description: Length of time to pause the program in milliseconds. Setting: 0 (default) |
Databases
Key | Description/Setting |
---|---|
ODBCDSN_Framework | Description: ODBC DSN name for the Framework database. Setting: FworkSQLEcm |
ODBCConnect_Framework | Description: ODBC DSN connection string for the Framework database. Setting: None |
ODBCDSN_FrameworkLicense | Description: ODBC DSN name for the Framework Licence database. Setting: FworkSQLLic |
ODBCDSN_DataBuildSys | Description: ODBC DSN name for the Databuild system database. Setting: FworkDBuildSys |
DatabaseName_DataBuildSys | Description: Databuild system database name. Setting: DataBuildSys |
ODBCConnect_DataBuildSys | Description: ODBC DSN connection string for the Databuild System database. Setting: "uid=enterUserName;pwd=enterPassword" |
ODBCDSN_DataBuildJob | Description: ODBC DSN name of the Databuild Job database. Setting: FworkDBuildJob |
DatabaseName_DataBuildJob | Description: Databuild Job database name. Setting: DataBuildJob |
ODBCConnect_DataBuildJob | Description: ODBC DSN connection string for the Databuild Job database. Setting: "uid=enterUserName;pwd=enterPassword" |
Mail Configuration
Key | Description/Setting |
---|---|
Mail_System | Description: Email delivery method. Setting: 0: no email will be sent. 1: email will be sent using MAPI. 2 (default): email will be sent using SMTP. |
Mapi_Profile | Description: Microsoft Outlook user profile name. Setting: (default): Outlook |
Mail_From | Description: The name or email address of who/where the email is being sent from. Setting: FrameworkIntegration |
Mail_Recipient | Description: These are the mail recipients of integration logs. Multiple addresses can be added if separated with a semi-colon (;). Spaces are not necessary before or after the semi-colon. Setting: enterRecipientEmail@yourDomain.com.au;integrationsupport@insulagroup.com.au |
Mail_Subject | Description: Email subject heading. Setting: "Framework Integration : Databuild Ordering" |
SMTP_Server | Description: If using Mail_System 2 (SMTP), add the SMTP Server name. Setting: enterSMTPServerName (replace this text with your SMTP Server name) |
SMTP_UseSecurity | Description: Is security used for the STMP server? Setting: 0 (default): A username or password is not required. 1: A username and password is required. If this setting is used, the SMTP_UserName and SMTP_Pwd fields must have a valid username and password. |
SMTP_UserName | Description: A valid username for the SMTP server. Setting: enterUserName (replace this text with a valid SMTP Server User Name) |
SMTP_PWD | Description: A valid password for the SMTP username. Setting: enterPassword (replace this text with a valid SMTP Server Password) |
Criteria
Key | Description/Setting |
---|---|
CriteriaMethod | Description: Determines which data for Databuild Ordering is updated. Setting: 1: CostCentre 2: Entity 3: Items 4: Orders 5: All |
OrderCriteria | Description: Criteria for selecting which jobs are updated. Setting: 1: AllJobs 2: ByConstructionManager 3: BySupervisor 4: SingleJob(JobNumber) |
OrderCriteriaID | Description: The ID for the construction manager, supervisor, or single job as indicated in the OrderCriteria. Setting: 0 (default) |
Context | Description: The Region Division ID if users only want to process Integration for a certain context. Setting: 0 (default): All Region Divisions will be processed. |
ProcessApprovals | Description: The type of process approval process. Note: Only applies if the CriteriaMethod is 4 or 5. Setting: 1: OrdersAndApprovals 2: OrdersOnly 3: ApprovalsOnly Note: If the setting is 1 or 3 then orders in Framework that are not found in Databuild will have their status in Framework set to Cancelled. |
OnlyIntegrateNew | Description: Instructs Integration to only process job orders that have dates within the range specified below. Setting: True: Only records within the date range will be included. False: All records will be included. |
StartIntegrationDate | Description: If OnlyIntegrateNew is True (above), then we retrieve Databuild orders with dates >= to the StartIntegrationDate. If StartIntegrationDate is None, then Integration continues as if OnlyIntegrateNew was set to False. Setting: None dd/mm/yyyy |
EndIntegrationDate | Description: If OnlyIntegrateNew is True (above), then we retrieve Databuild orders with dates <= EndIntegrationDate. If EndIntegrationDate is None, then today's date will be used. Setting: None dd/mm/yyyy |
Actions
Key | Description/Setting |
---|---|
LinkPOsToLogisticsItems | Description:
Setting: True: Link function is switched on False: Link function switched off |
ApproveReceiptedInvoices | Description: The Payment Approval status for a Purchase Order made on the Construction Logistics tablet is automatically set to Payment Authorisation in Databuild. Setting: True: Approval function is switched on False: Approval function switched off |
Integrated Fields
The integration of Databuild Purchase Orders to Framework is fixed in the content that is exchanged between the systems. There are no user-configurable integrated fields available to this type of integration.
Database Models
The following database model(s) displays the manner in which data is integrated between the third party application and Framework Integration.
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.
- Read profile keys to determine which actions to process.
- Process Cost Centres
- Read all eligible records from Framework table int_cCentreGrp where
- Int_cCentreGrp.l_link_sys_gl_id = -2027 (Databuild)
- Int_cCentreGrp.l_context_id = ‘Context’ (profile key)
- Int_cCentreGrp.l_int_cCentreGrp_id <> 0
- For each record get matching Databuild record in table ccBanks where
- ccBanks.ccBankCode = int_cCentreGrp.s_link_cCentreGrp
- Update the int_cCentreGrp.s_link_name field
- Read all eligible records from Framework table int_cCentre where
- Int_cCentre.l_link_sys_gl_id = -2027 (Databuild)
- Int_cCentre.l_context_id = ‘Context’ (profile key)
- Int_cCentre.l_int_cCentre_id <> 0
- Int_cCentre.l_int_cCentreGrp_id <> 0
- For each record make sure the int_cCentreGrp linked record exists, and if so get the matching databuild record in table costCentres where
- costCentres.code = int_cCentre.s_link_cCentre
- costCentres.tier = int_cCentreGrp.s_link_cCentreGrp
- Read all eligible records from Framework table int_cCentreGrp where
- Process Entities
- Read all eligible records from Framework table int_entity where
- Int_entity.l_link_sys_gl_id = -2027 (Databuild)
- Int_entity.l_context_id = ‘Context’ (profile key)
- Int_entity.l_int_entity_id <> 0
- For each record get matching Databuild record in table supplier where
- Supplier.supplier_code = int_entity.s_link_entity
- Update the int_entity.s_name, int_entity.f_nonCompliance and int_entity.f_preventAlloc fields.
- Get matching int_entityGrp.l_int_EntityGrp_id record where supplier.supp_group = int_entityGrp.s_link_entityGrp, update the int_entity record with the correct group link.
- Read all eligible records from Framework table int_entityGrp where
- Int_entityGrp.l_link_sys_gl_id = -2027 (Databuild)
- Int_entityGrp.l_context_id = ‘Context’ (profile key)
- Int_entityGrp.l_int_entityGrp_id <> 0
- For each record get the matching Databuild record from SupplierGroup where
- SupplierGroup.GroupNumber = int_entityGrp. l_link_entityGroup
- Update the Group name
- Read all eligible records from Framework table int_entity where
- Process Items
- Get all Databuild records from PriceList and PerCodes where PriceList.perCode = PerCode.Code
- For each databuild record get matching Framework record from int_estItem where
- Int_estItem.s_link_item = priceList. PriceCode
- Int_estItem.l_context_id = ‘Context’ (profile key)
- Update Existing records d. Get all Framework records from int_estItem where
- Int_estItem.l_context_id = ‘Context’ (profile key)
- Int_estItem.l_int_estItem_id <> 0
- For each int_estItem record get the Databuild prices from table prices where prices.priceCode = int_estItem.s_link_item
- Look for this price in int_estIPrice where
- Int_estIPrice. l_link_price = prices. Counter If found update, otherwise add the int_estIPrice record
- For each int_estItem record get the Databuild prices from table SuppliersPrices where SuppliersPrices.itemCode = int_estItem.s_link_item
- Look for this price in int_estIPriceE where
- Int_estIPriceE.l_link_price = SuppliersPrices.counter
- If found update, otherwise add the int_estIPriceE record
- Process Orders
- Get eligible Framework jobs from v_sched_dbJobOrders where
- Job.s_link_boq <> ‘N/A’
- Job.l_context_id = ‘Context’ (profile key, if 0 all contexts)
- Job.l_wfl_stgMajor_id = -4(Construction) or job.l_wfl_stgMajor_id = -3(Administration) and job.l_wfl_stgMinor_id = -18(Maintenance) or job.l_wfl_stgMinor_id = -19(Service)
- and apply order criteria where OrderCriteria is
- 2 – Construction Manager • Cst.l_mgr_e_id = ‘OrderCriteriaID’
- 3 – Supervsor • Cst.l_super_e_id = ‘OrderCriteriaID’
- 4 – Single Job • job.s_job_num = ‘OrderCriteriaID’
- For each job get orders and items from Databuild where
- Jobs.job_no = job.s_job_num (job.s_link_boq is used instead if not empty)
- Orders.orderNumber is not null
- Orders.ordered = 1
- If profile key OnlyIntegrateNew is true, add additional criteria where
- Orders.orderDate >= ‘StartIntegrationDate’ – 7 days
- Orders.orderDate <= ‘EndIntegrationDate’ or now if endIntegrationDate is none.
- Once we have the Databuild Order, see if it exists in po_order table where
- Po_order.s_jobNo = orders.job
- Po_order.s_costCentreCode = orders.costCentre
- Po_order.s_orderLoad = orders.bLoad
- And we check each Databuild Order Item, by seeing if it exists in po_item table where
- Po_item.l_link_item = bill.counter
- Orders and items are updated or added. At the end of integration items are checked to see if there are any that need to be removed from Framework.
- Get eligible Framework jobs from v_sched_dbJobOrders where
- Process Order Approvals
- If processApprovals is 1 or 3 then:
- If valid, then Framework p_orderAppr records are retrieved based on the approval type being processed (from preferences).
- If type is Approval 1:
- order.ok2Pay.date is d_payment1_appd
- If type is Approval 2:
- order.ok2Pay.date is d_payment2_appd
- If type is Latter of Approval 1 or Approval 2 then:
- order.ok2Pay.date is the latest date entered in either d_payment1_appd or d_payment2_appd where only 1 of those 2 dates has a value entered.
- If type is Latter of Approval 1 AND Approval 2 then:
- order.ok2Pay.date is the latest date entered in either d_payment1_appd or d_payment2_appd where both dates must have a value.
- Process Order Approvals