ORA_PConnect();
if (!$ora_res){
echo "
Error : " . htmlspecialchars($ora_obj->last_error_msg) . "
";
exit();
}
initParamTemplate();
$result = getList($ora_obj);
echo $result;
unset($_SESSION['TEMPLATE_ARRAY_ADDR']);
if ($ora_obj->conn) {
$ora_obj->ORA_Close();
#echo "connection closed.
";
}
function initParamTemplate(){
$paramTemplate['ELEMENT'] = <<< params
<>. |
<> |
<> |
<> |
<> |
<> |
<> |
params;
$paramTemplate['CONTAINER'] = <<< params
Informasi External Tabel |
|
params;
$paramTemplate['NORESULT'] = <<< params
Informasi External Tabel |
|
params;
$_SESSION['TEMPLATE_ARRAY_ADDR'] = &$paramTemplate;
}
function getList(&$ora_obj){
$templObj = new PregReplaceCallbackClass('');
$templObj->SetTemplateArray('TEMPLATE_ARRAY_ADDR');
$paramSQL = <<< sql
SELECT i.tab_name,
(CASE WHEN i.modul = 'AB2' THEN 'AB2'
WHEN i.modul = 'TSY' THEN 'Treasury'
WHEN i.modul = 'GL' THEN 'GL AB2'
ELSE ''
END ) modul,
(CASE WHEN i.method = 'I' THEN 'Insert'
WHEN i.method = 'TI' THEN 'Truncate Insert'
WHEN i.method = 'IU' THEN 'Insert Update'
ELSE ''
END ) method,
DECODE(i.purging_type, 'Y', 'Ya', 'Tidak') purging_type,
i.purging_field,
(CASE WHEN i.purging_data_type = 'N' THEN 'Numeric'
WHEN i.purging_data_type = 'C' THEN 'Character'
WHEN i.purging_data_type = 'D' THEN 'Date'
ELSE ''
END ) purging_data_type,
i.purging_filter
FROM external_data_tab i
WHERE i.modul != 'SE'
ORDER BY i.modul, i.tab_name
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;
}
?>