From ce2d69fc82d3c44bbf9232ca384dfb5656efd7e2 Mon Sep 17 00:00:00 2001 From: Alexei Karpenko Date: Fri, 6 Dec 2024 13:05:35 +0100 Subject: [PATCH] Vertragsbestandteil Model: check if sap sync table present before executing select for sap organisationseinheit --- .../Vertragsbestandteil_model.php | 42 ++++++++++++++++--- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/application/models/vertragsbestandteil/Vertragsbestandteil_model.php b/application/models/vertragsbestandteil/Vertragsbestandteil_model.php index 6d8c18859..cbc529d83 100644 --- a/application/models/vertragsbestandteil/Vertragsbestandteil_model.php +++ b/application/models/vertragsbestandteil/Vertragsbestandteil_model.php @@ -19,12 +19,17 @@ class Vertragsbestandteil_model extends DB_Model protected function getVertragsbestandteilSQL() { + $sapInstalled = $this->_checkIfSAPSyncTableExists(); + + $oe_kurzbz_sap = $sapInstalled ? 'sap.oe_kurzbz_sap' : 'NULL AS oe_kurzbz_sap'; + $sap_join = $sapInstalled ? 'LEFT JOIN sync.tbl_sap_organisationsstruktur sap USING(oe_kurzbz)' : ''; + $sql = <<overlappingvbs; } + + /** + * Checks if sap sync table exists. + * @return bool + */ + private function _checkIfSAPSyncTableExists() + { + $params = array( + DB_NAME, + 'sync', + 'tbl_sap_organisationsstruktur' + ); + + $sql = "SELECT + 1 AS exists + FROM + information_schema.tables + WHERE + table_catalog = ? AND + table_schema = ? AND + table_name = ?"; + + $res = $this->execReadOnlyQuery($sql, $params); + + return hasData($res); + } }