is ganz witzig... muss ein bisschen code optimieren, bugs fixen und so... net wirklich kompliziert (wenn ma si halt a bisschen auskennt
)
außerdem bin i ziemlich oft im internet, weil i immer an auftrag krieg, dann bin i nach a halben stund fertig aber es hat keiner zeit mir zu sagen, was i als nächstes machen soll ^^... also geh ich halt csm
kurzer auszug aus der arbeit (und so gehts noch ca. 2000 zeilen weiter) :
CREATE OR REPLACE PACKAGE BODY user_management.whuser_maintain_internal
AS
/* -*- sql -*-************************************************************
* *
* Copyright (C) Knapp LogistikAutomation GmbH *
* *
* The copyright to the computer program(s) herein is the property *
* of Knapp. The program(s) may be used and/or copied only with *
* the written permission of Knapp or in accordance with the *
* terms and conditions stipulated in the agreement/contract under *
* which the program(s) have been supplied. *
* *
*************************************************************************/
/*******************************************************************************
*/
FUNCTION VERSION
RETURN NVARCHAR2
IS
v_str NVARCHAR2 ( 255 );
BEGIN
v_str := v_str || 'whuser_maintain: Version 0.3 ' || CHR ( 10 );
v_str := v_str || 'Joachim Mayer and Matthias Winkler for KSD.' || CHR ( 10 );
RETURN v_str;
END VERSION;
/*******************************************************************************
*/
PROCEDURE insert_function_and_node (
in_node_name IN sso_node.node_name%TYPE,
in_function_name IN sso_application_function.func_name%TYPE,
in_application_id IN sso_application.application_id%TYPE )
AS
v_node_id sso_node.node_id%TYPE;
v_func_id sso_application_function.func_id%TYPE;
v_unit_name VARCHAR2 ( 75 ) := c_module_name || 'insert_function_and_node: ';
BEGIN
whuser_log.debug ( v_trace_dest, v_unit_name
|| 'in_node_name <'
|| in_node_name
|| '> in_function_name <'
|| in_function_name
|| '> in_application_id <'
|| in_application_id
|| '>' );
INSERT INTO sso_node
( node_id, node_name, node_description, node_statusid, node_applicationid )
VALUES ( seq_node_id.NEXTVAL, in_node_name, 'N/A', 0, in_application_id )
RETURNING node_id
INTO v_node_id;
INSERT INTO sso_application_function
( func_id, func_name, func_description, func_statusid, func_applicationid )
VALUES ( seq_func_id.NEXTVAL, in_function_name, 'N/A', 0, in_application_id )
RETURNING func_id
INTO v_func_id;
INSERT INTO sso_nodefunction
( node_id, func_id )
VALUES ( v_node_id, v_func_id );
whuser_log.DEBUG ( v_trace_dest, v_unit_name || 'done ...' );
END insert_function_and_node;
/*******************************************************************************
*/
FUNCTION get_user_id ( in_user_code IN sso_whuser.user_code%TYPE )
RETURN sso_whuser.user_id%TYPE
IS
v_user_id sso_whuser.user_id%TYPE;
v_unit_name VARCHAR2(64) := c_module_name || 'get_user_id: ';
BEGIN
whuser_log.debug( v_trace_dest, v_unit_name || 'in_user_code <' || in_user_code || '>' );
SELECT user_id
INTO v_user_id
FROM sso_whuser
WHERE user_code = in_user_code;
whuser_log.debug( v_trace_dest, v_unit_name || 'result: v_user_id <' || v_user_id || '>' );
RETURN v_user_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
whuser_log.error ( v_trace_dest,
v_unit_name || 'in_user_code <' || in_user_code
|| '> not found in sso_whuser table' );
RAISE;
WHEN OTHERS THEN
whuser_log.error ( v_trace_dest, v_unit_name || 'failed due to : ' || SQLERRM );
RAISE;
END get_user_id;