316 lines
11 KiB
PHP
316 lines
11 KiB
PHP
<?php
|
|
|
|
$PARENT_SCRIPTNAME='posting_ab2.php';
|
|
include_once 'script_auth.php';
|
|
|
|
include_once 'class/PregReplaceCallbackClass.php';
|
|
include_once 'init/initialisation_parameter.php';
|
|
include_once 'headerFile.php';
|
|
include_once 'incl.php';
|
|
|
|
$ora_obj = new ORAConnectionClass('init/ORA_INIT.php');
|
|
$ora_res = $ora_obj->ORA_PConnect();
|
|
if (!$ora_res){
|
|
echo "<BR>Error : " . htmlspecialchars($ora_obj->last_error_msg) . "<br>";
|
|
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.<br>";
|
|
}
|
|
|
|
function initAjaxParamTemplate() {
|
|
$ajaxParamTemplate['PARAM'] = <<< params
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr>
|
|
<td align=left class="orangetitle" nowrap>POSTING DATA AB2 TO STAGING</td>
|
|
</tr>
|
|
<tr>
|
|
<td align=left>
|
|
<form name="rep_param" onsubmit="javascript:return false;">
|
|
<table width="65%" cellpadding="2" cellspacing="1" border="0" style="layout:auto" class="font11">
|
|
<tr>
|
|
<td colspan=3>
|
|
Menjalankan proses Load Data dari External ke Staging<BR>
|
|
Tanggal yang diisi adalah H-1
|
|
</td>
|
|
</tr>
|
|
<tr><td> </td></tr>
|
|
<tr>
|
|
<td align=left>Proses Data untuk Tanggal</td>
|
|
<td>:</td>
|
|
<td align=left>
|
|
<input type="text" name="TGL_PROSES" value=<<DATE>> note="Tanggal Proses" ATTRIB="DM" display="block" dbname="TGL_PROSES" class="font11" readonly onclick="javascript:displayCalendar(this,'dd-mm-yyyy',this);" onblur='javascript:chgAttr(rep_param.PROCESS)';>
|
|
</td>
|
|
</tr>
|
|
<tr><td> </td></tr>
|
|
<tr>
|
|
<td>
|
|
<button id="PROCESS_BTN" name="PROCESS" dbname="" display="no" onclick="javascript:doPost();">
|
|
<img src="images/button_execute.gif" width="12" height="12">
|
|
<span class="font10"> Process</span>
|
|
</button>
|
|
|
|
<button id="CHECK_BTN" name="CHECK" dbname="" display="no" onclick="javascript:doCheck();">
|
|
<img src="images/button_execute.gif" width="12" height="12">
|
|
<span class="font10"> Check Data</span>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
params;
|
|
|
|
$ajaxParamTemplate['ELEMENT'] = <<< params
|
|
<tr id="tr<<COUNTER>>" class="font11" onmouseover="changeColor(this,'#FFFF99');" onmouseout="changeColor(this,'#F7F7F7');">
|
|
<td width=35 align=right><<COUNTER>>.</td>
|
|
<td align=left><<TAB>></td>
|
|
<td align=left><<COL>></td>
|
|
<td align=right><<EXT_DATE>></td>
|
|
<td align=right><<STG_DATE>></td>
|
|
</tr>
|
|
params;
|
|
|
|
$ajaxParamTemplate['CONTAINER'] = <<< params
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr><td align=left class="font12B">Check Tabel External - Staging</td></tr>
|
|
<tr>
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr class="table_form_header">
|
|
<th align=left width=35>No.</th>
|
|
<th align=left>Nama Table</th>
|
|
<th align=left>Field Tanggal</th>
|
|
<th align=right>Tanggal External</th>
|
|
<th align=right>Tanggal Staging</th>
|
|
</tr>
|
|
<<LIST>>
|
|
</table>
|
|
</tr>
|
|
</table>
|
|
params;
|
|
|
|
$ajaxParamTemplate['NORESULT'] = <<< params
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr><td align=left class="font12B">Check Tabel External - Staging</td></tr>
|
|
<tr>
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr class="table_form_header">
|
|
<th align=left width=35>No.</th>
|
|
<th align=left>Nama Table</th>
|
|
<th align=left>Field Tanggal</th>
|
|
<th align=right>Tanggal External</th>
|
|
<th align=right>Tanggal Staging</th>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3" class="font12BRed" align=center>NO DATA FOUND</td>
|
|
</tr>
|
|
</table>
|
|
</tr>
|
|
</table>
|
|
params;
|
|
|
|
$ajaxParamTemplate['ELEMENT_SALDO'] = <<< params
|
|
<tr id="tr<<COUNTER>>" class="font11" onmouseover="changeColor(this,'#FFFF99');" onmouseout="changeColor(this,'#F7F7F7');">
|
|
<td width=35 align=right><<COUNTER>>.</td>
|
|
<td align=left><<ACC_NO>> - <<ACC_NAME>></td>
|
|
<td align=right><<RECLBL>></td>
|
|
<td align=right><<HIST_SALDO>></td>
|
|
<td align=right><<SELISIH_SALDO>></td>
|
|
</tr>
|
|
params;
|
|
|
|
$ajaxParamTemplate['CONTAINER_SALDO'] = <<< params
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr><td align=left class="font12B">Check Selisih Saldo 10 Rekening </td></tr>
|
|
<tr><td align=left class="font12B">Tanggal Saldo <<LAST_HIST_SALDO>></td></tr>
|
|
<tr>
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr class="table_form_header">
|
|
<th align=left width=35>No.</th>
|
|
<th align=left>Nomor - Nama Rekening</th>
|
|
<th align=right>Saldo Master</th>
|
|
<th align=right>Saldo History</th>
|
|
<th align=right>Selisih</th>
|
|
</tr>
|
|
<<LIST_SALDO>>
|
|
</table>
|
|
</tr>
|
|
</table>
|
|
params;
|
|
|
|
$ajaxParamTemplate['NORESULT_SALDO'] = <<< params
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr><td align=left class="font12B">Check Selisih Saldo 10 Rekening </td></tr>
|
|
<tr><td align=left class="font12B">Tanggal Saldo <<LAST_HIST_SALDO>></td></tr>
|
|
<tr>
|
|
<table width="100%" cellpadding="2" cellspacing="1" border="0" style="layout:auto">
|
|
<tr class="table_form_header">
|
|
<th align=left width=35>No.</th>
|
|
<th align=left>Nomor - Nama Rekening</th>
|
|
<th align=right>Saldo Master</th>
|
|
<th align=right>Saldo History</th>
|
|
<th align=right>Selisih</th>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="3" class="font12BRed" align=center>TIDAK ADA SELISIH SALDO</td>
|
|
</tr>
|
|
</table>
|
|
</tr>
|
|
</table>
|
|
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_ab2.php';
|
|
|
|
if ($ora_obj->checkProcedure('MAP_DWH', 'POST_AB2_TRANSACTION', 'DWH') > 0) {
|
|
//$ora_obj->SetServerOutput(true);
|
|
$ora_obj->set_auto_commit();
|
|
$retVal = $ora_obj->ORA_ProcedureCall('DWH.MAP_DWH.POST_AB2_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,
|
|
substr(stg_date,-2)||'-'||substr(stg_date,5,2)||'-'||substr(stg_date,1,4) stg_date
|
|
FROM 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.rename1 FROM m5re_staging m WHERE m.recode = b.recode) acc_name
|
|
FROM 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;
|
|
}
|
|
|
|
|
|
?>
|