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 |
|
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;
}
?>