ORA_PConnect(); if (!$ora_res){ echo "
Error : " . htmlspecialchars($ora_obj->last_error_msg) . "
"; exit(); } initAjaxParamTemplate(); if ($_REQUEST['action'] == "DoPost") { $result = do_post($ora_obj); } elseif ($_REQUEST['action'] == "initForm") { $result = initForm($ora_obj); } elseif ($_REQUEST['action'] == "DoCheck") { $result = do_check($ora_obj); } else { $result = -1; } echo $result; unset($_SESSION['TEMPLATE_ARRAY_ADDR']); if ($ora_obj->conn) { $ora_obj->ORA_Close(); #echo "connection closed.
"; } function initAjaxParamTemplate() { $ajaxParamTemplate['PARAM'] = <<< params
POSTING DATA TAMBAHAN AB2 TO STAGING
Proses Tambahan Load Data dari External ke Staging
untuk data - data yang belum diload
 
Tabel AB2 yang akan diproses :
 
params; $_SESSION['TEMPLATE_ARRAY_ADDR'] = &$ajaxParamTemplate; } function initForm(&$ora_obj) { $templObj = new PregReplaceCallbackClass(''); $templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR'); $_SESSION['ARRAY_ADDR_VAR'] = &$variable_array; $templObj->SetFormatName('PARAM'); $result = $templObj->PregReplaceCallback(); return $result; } function do_post(&$ora_obj) { $field = explode('^', $_REQUEST["param"]); $num_field = count($field); for ($i=0;$i<$num_field-1;$i++) { $val_sep = '*'; list($field_name, $field_value) = split("[$val_sep]", $field[$i]); $param["$field_name"] = $field_value; $_REQUEST["$field_name"] = $field_value; } $_REQUEST["USER_ID"] = $_SESSION["KD_USER"]; $_REQUEST["IPNUM"] = gethostbyname($_SERVER['REMOTE_ADDR']); $_REQUEST["PAGENAME"] = 'reposting_ab2.php'; $package = 'MAP_'.strtoupper($_REQUEST['TABLE_NAME']).'_STAGING'; if ($ora_obj->checkProcedure($package, 'MAIN', 'DWH') > 0) { //$ora_obj->SetServerOutput(true); $ora_obj->set_auto_commit(); $proc_call = 'DWH.'.$package.'.MAIN'; $stmt = "begin {$proc_call}(:retVar); end;"; $stmt_res = oci_parse($ora_obj->conn,$stmt); oci_bind_by_name($stmt_res, ":retVar",$retVal, 4000, SQLT_CHR); if (!oci_execute($stmt_res, $ora_obj->execution_mode)) { $e = oci_error($stmt_res); $retVal = split("\n",$e['message']); } if (!is_null($stmt_res)):oci_free_statement($stmt_res);endif; //$ora_obj->GetDbmsOutput(); //$ora_obj->SetServerOutput(false); } else { $retVal = 'NOT_RUN'; } return $retVal; } function do_check(&$ora_obj) { $paramSQL = "SELECT (CASE WHEN i.method = 'I' THEN 'Insert' WHEN i.method = 'TI' THEN 'Truncate Insert' WHEN i.method = 'IU' THEN 'Insert Update' ELSE '' END ) method FROM external_data_tab i WHERE i.tab_name = '{$_REQUEST['TABLE_NAME']}'"; $paramArray = $ora_obj->ORA_SelectData($paramSQL,null,null,OCI_FETCHSTATEMENT_BY_ROW); if ($ora_obj->nrows>0) { $method = $paramArray[0]['METHOD']; $result = 'Tabel '.$_REQUEST['TABLE_NAME'].'_EXT
Posting Method: '.$method.'

'; $paramSQL = 'SELECT MIN(podtpo) min_date, MAX(podtpo) max_date, COUNT(1) cnt_trans FROM '.$_REQUEST['TABLE_NAME'].'_ext'; $paramArray = $ora_obj->ORA_SelectData($paramSQL,null,null,OCI_FETCHSTATEMENT_BY_ROW); if ($ora_obj->nrows>0) { $min_date = $paramArray[0]['MIN_DATE']; $max_date = $paramArray[0]['MAX_DATE']; $cnt_trans = $paramArray[0]['CNT_TRANS']; $result .= 'Jumlah Record: '.$cnt_trans.'
'; $result .= 'Data Transaksi dari tanggal: '.$min_date.' s/d '.$max_date; } else { $result = 'Tidak Ada Data'; } } else { $result = 'Tabel tidak terdaftar'; } return $result; } ?>