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 T24 TO STAGING |
|
params;
$ajaxParamTemplate['ELEMENT'] = <<< params
<>. |
<> |
<> |
<> |
<> |
params;
$ajaxParamTemplate['CONTAINER'] = <<< params
Check Tabel External - Staging |
params;
$ajaxParamTemplate['NORESULT'] = <<< params
Check Tabel External - Staging |
params;
$ajaxParamTemplate['ELEMENT_SALDO'] = <<< params
<>. |
<> - <> |
<> |
<> |
<> |
params;
$ajaxParamTemplate['CONTAINER_SALDO'] = <<< params
Check Selisih Saldo 10 Rekening |
Tanggal Saldo <> |
params;
$ajaxParamTemplate['NORESULT_SALDO'] = <<< params
Check Selisih Saldo 10 Rekening |
Tanggal Saldo <> |
params;
$_SESSION['TEMPLATE_ARRAY_ADDR'] = &$ajaxParamTemplate;
}
function initForm(&$ora_obj) {
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$date = show_tanggal("Y");
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$variable_array['DATE'] = $date;
$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"] = 'posting_T24.php';
if ($ora_obj->checkProcedure('MAP_DWH', 'POST_T24_TRANSACTION', 'T24DWH') > 0) {
//$ora_obj->SetServerOutput(true);
$ora_obj->set_auto_commit();
$retVal = $ora_obj->ORA_ProcedureCall('T24DWH.MAP_DWH.POST_T24_TRANSACTION', 1, 0);
//$ora_obj->GetDbmsOutput();
//$ora_obj->SetServerOutput(false);
$job = $retVal[0];
}
if ($job == 0) {
$e = $ora_obj->last_error_msg;
$vKetError = trim(substr($e[0], 10, strlen($e[0])-10));
$msg = 'Proses GAGAL !!'.chr(10).$vKetError.chr(10).'Click OK untuk Refresh';
$ret = $msg;
} else {
$ret = $job;
}
return $ret;
}
function do_check(&$ora_obj) {
$result = Do_Check_Staging($ora_obj);
$result .= Do_Check_Saldo($ora_obj);
return $result;
}
function Do_Check_Staging(&$ora_obj) {
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$paramSQL = <<< sql
SELECT upper(tab) tab, UPPER(col) col,
substr(ext_date,-2)||'-'||substr(ext_date,5,2)||'-'||substr(ext_date,1,4) ext_date,
to_char(stg_date, 'DD-MM-YYYY') stg_date
FROM t24dwh.v_ext_staging
ORDER BY tab
sql;
$paramArray = $ora_obj->ORA_SelectData($paramSQL,null,null,OCI_FETCHSTATEMENT_BY_ROW);
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
if ($ora_obj->nrows>0) {
foreach ($paramArray as $pkey => $pval) {
$variable_array['COUNTER']++;
foreach ($pval as $tkey => $tval) {
$variable_array[$tkey] = htmlspecialchars($tval);
}
$templObj->SetFormatName('ELEMENT');
$list .= $templObj->PregReplaceCallback();
}
$variable_array['LIST'] = $list;
$templObj->SetFormatName('CONTAINER');
$result = $templObj->PregReplaceCallback();
} else {
$templObj->SetFormatName('NORESULT');
$result = $templObj->PregReplaceCallback();
}
return $result;
}
function Do_Check_Saldo(&$ora_obj) {
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$paramSQL = <<< sql
SELECT a.*
FROM (
SELECT b.recode acc_no, b.reclbl reclbl, b.hist_saldo hist_saldo,
( SELECT m.account_name FROM t24dwh.t_account m WHERE m.account_number = b.recode) acc_name
FROM t24dwh.v_balance b ) a
WHERE ABS(a.reclbl - a.hist_saldo) > 0.001
AND ROWNUM <= 10
sql;
$paramArray = $ora_obj->ORA_SelectData($paramSQL,null,null,OCI_FETCHSTATEMENT_BY_ROW);
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
if ($ora_obj->nrows>0) {
foreach ($paramArray as $pkey => $pval) {
$variable_array['COUNTER']++;
foreach ($pval as $tkey => $tval) {
$variable_array[$tkey] = htmlspecialchars($tval);
}
$variable_array['SELISIH_SALDO'] = abs($variable_array['RECLBL'] - $variable_array['HIST_SALDO']);
$variable_array['RECLBL'] = number_format($variable_array['RECLBL'],DECIMAL_POINT,DECIMAL_SEP,THOUSAND_SEP);
$variable_array['HIST_SALDO'] = number_format($variable_array['HIST_SALDO'],DECIMAL_POINT,DECIMAL_SEP,THOUSAND_SEP);
$variable_array['SELISIH_SALDO'] = number_format($variable_array['SELISIH_SALDO'],DECIMAL_POINT,DECIMAL_SEP,THOUSAND_SEP);
$templObj->SetFormatName('ELEMENT_SALDO');
$list .= $templObj->PregReplaceCallback();
}
$variable_array['LIST_SALDO'] = $list;
$variable_array['LAST_HIST_SALDO'] = LAST_HIST_SALDO;
$templObj->SetFormatName('CONTAINER_SALDO');
$result = $templObj->PregReplaceCallback();
} else {
$variable_array['LAST_HIST_SALDO'] = LAST_HIST_SALDO;
$templObj->SetFormatName('NORESULT_SALDO');
$result = $templObj->PregReplaceCallback();
}
return $result;
}
?>