dwh/sypass_statement_ajax.php

167 lines
5.2 KiB
PHP
Raw Normal View History

2023-10-02 10:26:17 +00:00
<?php
$PARENT_SCRIPTNAME='sypass_statement.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);
} 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>PROSES SYPASS-STATEMENT ONLINE</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>
Melakukan proses transfer data <BR>
ke Aplikasi Statement Online
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align=left>Periode Proses Terakhir</td>
<td>:</td>
<td align=left>
<input type="text" name="LAST_STAT" value=<<LAST_STAT>> note="Periode Statement Terakhir" ATTRIB="DM" display="block" dbname="" class="font11" readonly>
<input type="hidden" name="CURR_DATE" value=<<CURR_DATE>> note="Tanggal System" ATTRIB="D-" display="none" dbname="" class="font11" readonly>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr>
<td align=left>Proses Data untuk Periode</td>
<td>:</td>
<td align=left>
<SELECT NAME="BLN_PROSES" class="font11" dbname="BLN_PROSES" ATTRIB="SM" dbname="BLN_PROSES" display="block">
<<OPTION_BLN_PROSES>>
</SELECT>
<SELECT NAME="THN_PROSES" class="font11" dbname="THN_PROSES" ATTRIB="SM" dbname="THN_PROSES" display="block">
<<OPTION_THN_PROSES>>
</SELECT>
</td>
</tr>
<tr><td>&nbsp;</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">&nbsp;Process</span>
</button>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
params;
$_SESSION['TEMPLATE_ARRAY_ADDR'] = &$ajaxParamTemplate;
}
function initForm(&$ora_obj) {
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$curr_date = show_tanggal("Y");
$blnproses = date("m")-1;
$blnProsesHash = Option_Bulan();
$OPTION_BLN_PROSES = format_html_option($blnProsesHash, $blnproses);
$thnproses = date("Y");
if ($blnproses == '01') {
$thnproses = $thnproses-1;
}
$thnProsesHash = Option_Tahun($thnproses);
$OPTION_THN_PROSES = format_html_option($thnProsesHash, $thnproses);
$_SESSION['ARRAY_ADDR_VAR'] = &$variable_array;
$templObj->SetFormatName('PARAM');
$variable_array['LAST_STAT'] = get_sysparm (&$ora_obj, 'LAST_STAT');
$variable_array['OPTION_BLN_PROSES'] = $OPTION_BLN_PROSES;
$variable_array['OPTION_THN_PROSES'] = $OPTION_THN_PROSES;
$variable_array['CURR_DATE'] = $curr_date;
$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["PERIODE"] = $_REQUEST["BLN_PROSES"].'/'.$_REQUEST["THN_PROSES"];
$_REQUEST["USER_ID"] = $_SESSION["KD_USER"];
$_REQUEST["IPNUM"] = gethostbyname($_SERVER['REMOTE_ADDR']);
$_REQUEST["PAGENAME"] = 'sypass_statement.php';
$job = 0;
//print_r($_REQUEST);
if ($ora_obj->checkProcedure('SYPASS_UTILITY', 'POST_STATEMENT', 'SYPASS') > 0) {
//$ora_obj->SetServerOutput(true);
$ora_obj->set_auto_commit();
$retVal = $ora_obj->ORA_ProcedureCall('SYPASS.SYPASS_UTILITY.POST_STATEMENT', 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 get_sysparm (&$ora_obj, $paramid) {
$sql = "SELECT paramvalue FROM sypass.prm_system WHERE paramid = '$paramid'";
$result_array = $ora_obj->ORA_SelectData($sql,null,null,OCI_FETCHSTATEMENT_BY_ROW);
if ($ora_obj->nrows > 0) {
$cof_date = $result_array[0]['PARAMVALUE'];
} else {
$cof_date = show_tanggal("Y");
}
return $cof_date;
}
?>