--
-- $Id$
--
-- Korte beschrijving wat het script doet
-- Card number was altijd gevuld met de key van de bezoeker maar die reeks is maar kort met een cache van 20 op de sequence
-- Daarom gaan we nu een eigen sequence gebruiken.
--
DEFINE thisfile = 'DLLG#77449.SQL'
DEFINE dbuser   = '^DLLG'

SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF

------ payload begin ------

DECLARE
    CURSOR c IS SELECT * FROM BEZ_bezoekers ORDER BY bez_bezoekers_key;

    v_card_number_key   NUMBER;
BEGIN
    SELECT bez_kenmerk_key
      INTO v_card_number_key
      FROM bez_kenmerk
     WHERE bez_kenmerk_upper = 'CARD NUMBER';

    FOR rec IN c
    LOOP
        IF FLX.getflex ('BEZ', v_card_number_key, rec.bez_bezoekers_key) IS NOT NULL
        THEN
            FLX.setflex ('BEZ',
                         v_card_number_key,
                         rec.bez_bezoekers_key,
                         REMAINDER (fac_s_user01.NEXTVAL, 40000) + 10000);
        END IF;
    END LOOP;
END;
/

------ payload end   ------

SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/

COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile
