DECLARE v_StartWith VARCHAR(10);
v_StartWithSys VARCHAR(10);
BEGIN
SELECT TAD_LEVEL INTO v_StartWithSys FROM AD_SYSTEM WHERE AD_SYSTEM_ID=0;
v_StartWith:=TO_CHAR(TO_NUMBER(v_StartWithSys) +1) || '00000';
v_StartWithSys:=v_StartWithSys || '00000';
UPDATE AD_SEQUENCE
SET CURRENTNEXT=(SELECT AD_SEQUENCE.INCREMENTNO +
(CASE SIGN(COALESCE((SELECT MAX(t.AD_Sequence_ID)
FROM AD_Sequence t
WHERE t.AD_Sequence_ID<TO_NUMBER(v_StartWith)),0)-TO_NUMBER(v_StartWithSys))
WHEN -1 THEN TO_NUMBER(v_StartWithSys)-AD_SEQUENCE.INCREMENTNO
ELSE (SELECT MAX(t.AD_Sequence_ID)
FROM AD_Sequence t
WHERE t.AD_Sequence_ID<TO_NUMBER(v_StartWith))
END) AS SEQUENCE
FROM AD_SEQUENCE
WHERE UPPER(NAME) = 'AD_SEQUENCE')
WHERE UPPER(NAME) = 'AD_SEQUENCE';
END;