ما سوف أشرحه هو كيفية جعل برنامجك يعمل كنسخة تجربية لمدة شهر 30 يوم بالظبط على جهاز العميل ، و بعد انتهاء الثلاثون يوم تظهر شاشة توضح له انا الفترة الزمنية أنتهت ، و لابد من شراء البرنامج.
قم بأرفاق هذا الكود مع ملف السكويل المكون للأسكيمة :-
ALTER TABLE demo
DROP PRIMARY KEY CASCADE
/
DROP TABLE demo CASCADE CONSTRAINTS PURGE
/
--
-- DEMO (Table)
--
CREATE TABLE demo (
demo_id NUMBER NULL,
demo_date DATE DEFAULT SYSDATE NOT NULL)
/
COMMENT ON TABLE demo IS 'This Table to Limit this schema usage.'
/
--
-- DEMO_PK (Index)
--
-- Dependencies:
-- DEMO (Table)
--
CREATE UNIQUE INDEX demo_pk ON demo (demo_id)
/
--
-- Non Foreign Key Constraints for Table DEMO
--
ALTER TABLE demo
DROP PRIMARY KEY CASCADE
/
DROP TABLE demo CASCADE CONSTRAINTS PURGE
/
--
-- DEMO (Table)
--
CREATE TABLE demo (
demo_id NUMBER NULL,
demo_date DATE DEFAULT SYSDATE NOT NULL)
/
COMMENT ON TABLE demo IS 'This Table to Limit this schema usage.'
/
--
-- DEMO_PK (Index)
--
-- Dependencies:
-- DEMO (Table)
--
CREATE UNIQUE INDEX demo_pk ON demo (demo_id)
/
--
-- Non Foreign Key Constraints for Table DEMO
--
ALTER TABLE demo
ADD(
CONSTRAINT demo_pk PRIMARY KEY ( DEMO_ID ))
/و فى تربجر الـ WHEN-NEW-FORM-INSTANCE أكتب التالى :-
DECLARE
v_count NUMBER;
v_demo_date DATE;
BEGIN
SELECT Count(* )
INTO v_count
FROM demo;
IF SQL%FOUND THEN
SELECT demo_date
INTO v_demo_date
FROM demo
WHERE demo_id = 1;
IF SYSDATE > (v_demo_date + 30) THEN
Go_item('BLOCK11.PUSH_BUTTON5');
Replace_content_view('WINDOW1','OVER');
END IF;
ELSIF SQL%NOTFOUND THEN
INSERT INTO demo
VALUES (1,
SYSDATE);
COMMIT;
END IF;
EXCEPTION
WHEN no_data_found THEN
INSERT INTO demo
VALUES (1,
SYSDATE);
COMMIT;
END;
DECLARE
v_count NUMBER;
v_demo_date DATE;
BEGIN
SELECT Count(* )
INTO v_count
FROM demo;
IF SQL%FOUND THEN
SELECT demo_date
INTO v_demo_date
FROM demo
WHERE demo_id = 1;
IF SYSDATE > (v_demo_date + 30) THEN
Go_item('BLOCK11.PUSH_BUTTON5');
Replace_content_view('WINDOW1','OVER');
END IF;
ELSIF SQL%NOTFOUND THEN
INSERT INTO demo
VALUES (1,
SYSDATE);
COMMIT;
END IF;
EXCEPTION
WHEN no_data_found THEN
INSERT INTO demo
VALUES (1,
SYSDATE);
COMMIT;
END;