DENB#16922

svn path=/Database/trunk/; revision=10253
This commit is contained in:
Peter Feij
2010-03-10 07:36:44 +00:00
parent d352b52830
commit 1c93299c77

View File

@@ -1,6 +1,6 @@
#ifdef FAC
/* $Revision: 176 $
* $Modtime: 9-03-10 15:55 $
/* $Revision: 177 $
* $Modtime: 10-03-10 9:30 $
*/
/*
@@ -62,22 +62,14 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
FUNCTION GetSessionId _MSSQL(()) RETURN VARCHAR2 IS
Session_Id VARCHAR2(20);
BEGIN
#ifndef MS_SQL
SELECT USERENV('SESSIONID')
INTO Session_Id
FROM DUAL;
#else
Session_Id := @@SPID;
#endif
RETURN Session_Id;
END;
#ifdef MS_SQL
PROCEDURE ResetSelectie( TableName IN VARCHAR2 ) IS
#else
FUNCTION ResetSelectie( TableName IN VARCHAR2 ) RETURN BOOLEAN IS
#endif
SessionId VARCHAR2(20);
BEGIN
SessionId := _MSSQL(fac_p_fac_save_restore.)GetSessionId();
@@ -92,11 +84,7 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
THEN RETURN FALSE;
END;
#ifdef MS_SQL
PROCEDURE SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) IS
#else
FUNCTION SavePrimaryKey( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN BOOLEAN IS
#endif
SessionId VARCHAR2(20);
BEGIN
SessionId := _MSSQL(fac_p_fac_save_restore.)GetSessionId();
@@ -105,12 +93,10 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
fac_selectie_tabel,
fac_selectie_key)
VALUES (SessionId, TableName, PrimaryKey);
#ifndef MS_SQL
RETURN TRUE;
EXCEPTION
WHEN OTHERS
THEN RETURN FALSE;
#endif
END;
-- Geef de nth Fac_Selectie_Key van de geselecteerde records
@@ -122,9 +108,7 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
WHERE fac_selectie_node = SessionId
AND fac_selectie_tabel = TableName
ORDER BY fac_selectie_key;
#ifndef MS_SQL
SelectieRec Selectie%ROWTYPE;
#endif
TmpIndex NUMBER;
ReturnKey NUMBER(10);
BEGIN
@@ -134,11 +118,7 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
FOR SelectieRec IN Selectie LOOP
IF IndexNr = TmpIndex
THEN
#ifndef MS_SQL
ReturnKey := SelectieRec.fac_selectie_key;
#else
ReturnKey := TO_NUMBER(SelectieRec);
#endif
EXIT;
END IF;
TmpIndex := TmpIndex + 1;
@@ -146,11 +126,7 @@ CREATE OR REPLACE PACKAGE BODY fac_p_fac_save_restore AS
RETURN ReturnKey;
END;
#ifdef MS_SQL
PROCEDURE SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Datum IN Date ) IS
#else
FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Datum IN Date ) RETURN BOOLEAN IS
#endif
SessionId VARCHAR2(20);
BEGIN
SessionId := _MSSQL(fac_p_fac_save_restore.)GetSessionId();
@@ -160,12 +136,10 @@ FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Dat
fac_selectie_key,
fac_selectie_datum)
VALUES (SessionId, TableName, PrimaryKey, Datum);
#ifndef MS_SQL
RETURN TRUE;
EXCEPTION
WHEN OTHERS
THEN RETURN FALSE;
#endif
END;
FUNCTION GetDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER ) RETURN DATE IS
@@ -178,9 +152,7 @@ FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Dat
WHERE fac_selectie_node = SessionId
AND fac_selectie_key = PrimaryKey
AND fac_selectie_tabel = TableName;
#ifndef MS_SQL
SelectieRec Selectie%ROWTYPE;
#endif
TmpIndex NUMBER;
ReturnKey NUMBER(10);
@@ -188,11 +160,7 @@ FUNCTION SavePrimaryKeyAndDate( TableName IN VARCHAR2, PrimaryKey IN NUMBER, Dat
SessionId := _MSSQL(fac_p_fac_save_restore.)GetSessionId();
ReturnDate := NULL;
FOR SelectieRec IN Selectie LOOP
#ifndef MS_SQL
ReturnDate := SelectieRec.fac_selectie_datum;
#else
ReturnDate := SelectieRec;
#endif
EXIT;
END LOOP;
RETURN ReturnDate;
@@ -214,34 +182,20 @@ CREATE OR REPLACE PACKAGE BODY webfac AS
QueryString VARCHAR2(4000);
Kolomnaam VARCHAR2(64);
mainuser VARCHAR2(80);
#ifdef MS_SQL
LabelRec_data_type VARCHAR2(106);
LabelRec_column_name VARCHAR2(30);
#endif
BEGIN
BEGIN
DECLARE
CURSOR Zoek_label IS
SELECT column_name
, data_type
FROM all_tab_columns
FROM user_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = UPPER(USER)
ORDER BY COLUMN_ID;
BEGIN
QueryString := 'Select ';
#ifndef MS_SQL
FOR LabelRec in zoek_label LOOP
#else
[skip]
OPEN zoek_label;
FETCH NEXT FROM zoek_label INTO @LabelRec_column_name, @LabelRec_data_type;
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
[/skip]
#endif
IF LabelRec.data_type = 'NUMBER'
THEN
@@ -255,24 +209,11 @@ WHILE (@@FETCH_STATUS <> -1 )
END IF;
END IF;
#ifndef MS_SQL
END LOOP;
END;
END;
QueryString := Substr(QueryString,1,(LENGTH(QueryString)-1))||' from '|| p_tabelnaam ;
RETURN QueryString;
#else
[skip]
FETCH NEXT FROM zoek_label INTO @LabelRec_column_name, @LabelRec_data_type;
END;
CLOSE zoek_label;
DEALLOCATE zoek_label;
END;
END;
set @QueryString = Substring(@QueryString,1,(LEN(@QueryString)-1))+' from '+ @p_tabelnaam ;
RETURN @QueryString;
[/skip]
#endif
END fac_f_usrrap_query;
@@ -285,24 +226,16 @@ WHILE (@@FETCH_STATUS <> -1 )
BEGIN
SELECT count(*)
INTO AantalRecords
FROM all_tab_columns
WHERE table_name = UPPER(p_tabelnaam)
AND owner = UPPER(USER);
FROM user_tab_columns
WHERE table_name = UPPER(p_tabelnaam);
--
OrderBy := '';
i := 1;
[skip]
#ifndef MS_SQL
FOR i IN 1..AantalRecords LOOP
OrderBy := OrderBy||TO_CHAR(i)||',';
END LOOP;
#else
WHILE (@i <= @AantalRecords) BEGIN
SET @OrderBy = @OrderBy + RTRIM(CONVERT(char,@i)) + ',';
SET @i = @i + 1;
END;
#endif
[/skip]
OrderBy := SUBSTR(OrderBy,1,(LENGTH(OrderBy)-1));
RETURN ' ORDER BY ' || OrderBy;
@@ -498,7 +431,6 @@ CREATE OR REPLACE PACKAGE fac AS
PROCEDURE registerversion (pmaj IN NUMBER, pmin IN NUMBER, ppatch IN VARCHAR2, prevision IN VARCHAR2, plang IN VARCHAR2);
PROCEDURE registercustversion (pcustid IN VARCHAR2, pcustnr IN NUMBER);
FUNCTION getdbversion RETURN VARCHAR2;
/* PRAGMA RESTRICT_REFERENCES (datumtijdplusuitvoertijd, WNDS, WNPS); */
END fac;
/
@@ -523,27 +455,16 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- It returns NULL instead of an ORA1722:error (or even another error)
FUNCTION safe_To_Number( str IN VARCHAR2 ) RETURN NUMBER IS
BEGIN
#ifndef MS_SQL
RETURN TO_NUMBER(str);
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
#else
IF Web.IsNumberString(str) = 1 RETURN CAST(str as money);
RETURN NULL;
#endif
END;
FUNCTION safe_To_Date( pchar IN VARCHAR2, pfmt IN VARCHAR2 ) RETURN DATE IS
BEGIN
#ifndef MS_SQL
RETURN TO_DATE(pchar, pfmt);
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
#else
/* weet niet of dit voor sqls klopt -pf */
IF Web.IsDateString(pchar, pfmt) = 1 RETURN CAST(pchar as date);
RETURN NULL;
#endif
END;
/* Levert de gerefereerde waarde van een flexkenmerk op, gegeven de kenmerk_key en de waarde