PL/SQL procedure--------------please help----what is it ?? explain brief
(TO_DATE('&2')-1)
CREATE OR REPLACE PROCEDURE GAT_SVC_ACTIVITY(REFDATE IN DATE:=SYSDATE-1,
MSK IN INTEGER:=31)
AS
--DECLARE
V_COUNT NUMBER :=0;
V_LIMIT NUMBER :=0;
V_SOURCE_SITE_ID NUMBER :=0;
V_SOURCE_SITE_ID_N NUMBER := NULL;
V_CUSSOR INTEGER;
V_PROCESSED INTEGER;
V_ERRDESC VARCHAR2(200);
CURSOR C_TMP_ONSITE IS SELECT
X.*,
CLH.DATE_CODE CLH_DATE_CODE,
CLH.DPS_NBR CLH_DPS_NBR,
CLH.CASE_NUM CLH_CASE_NUM,
CLH.FLG_DELLSRV CLH_FLG_DELLSRV,
2 SVC_ACTIVITY_SRC_ID
FROM (SELECT
OS.DPS_NBR,
OS.ARRIVE_TIMESTAMP,
OS.COMPL_TIMESTAMP,
OS.STATUS_CODE,
OS.PROBLEM_CODE,
OS.CAUSE_CODE,
OS.ACTION_CODE,
JH.DPS_NBR JH_DPS_NBR,
JH.DPS_TYPE JH_DPS_TYPE,
NVL2(TRIM(JH.TPM_CODE),TRIM(JH.TPM_CODE),'DELL') JH_TPM_CODE
FROM (SELECT * FROM TEMP_ONSITE WHERE DPS_NBR IS NOT NULL
AND ARRIVE_TIMESTAMP IS NOT NULL
AND COMPL_TIMESTAMP IS NOT NULL
AND STATUS_CODE IS NOT NULL
AND STATUS_CODE_DESC IS NOT NULL
AND PROBLEM_CODE IS NOT NULL
AND PROBLEM_CODE_DESC IS NOT NULL
AND CAUSE_CODE IS NOT NULL
AND CAUSE_CODE_DESC IS NOT NULL
AND ACTION_CODE IS NOT NULL
AND ACTION_CODE_DESC IS NOT NULL
) OS
LEFT JOIN JDPS_DBA.JDPS_HEADER JH
ON OS.DPS_NBR=JH.DPS_NBR
GROUP BY
OS.DPS_NBR,
OS.ARRIVE_TIMESTAMP,
OS.COMPL_TIMESTAMP,
OS.STATUS_CODE,
OS.STATUS_CODE_DESC,
OS.PROBLEM_CODE,
OS.PROBLEM_CODE_DESC,
OS.CAUSE_CODE,
OS.CAUSE_CODE_DESC,
OS.ACTION_CODE,
OS.ACTION_CODE_DESC,
JH.DPS_NBR,
JH.DPS_TYPE,
JH.TPM_CODE
) X
LEFT JOIN GS_CALL_LOG_HEADER CLH
ON X.DPS_NBR=CLH.DPS_NBR;
V_TMP_ONSITE C_TMP_ONSITE%ROWTYPE;
V_TMP_STATUS_FILE C_TMP_STATUS_FILE%ROWTYPE;
V_TMP_CASE_AUDIT C_TMP_CASE_AUDIT%ROWTYPE;
V_MER_CASE_HISTORY C_MER_CASE_HISTORY%ROWTYPE;
V_SVC_STATUS_ID_A SVC_ACTIVITY.SVC_STATUS_ID%TYPE;
V_SVC_STATUS_ID_C SVC_ACTIVITY.SVC_STATUS_ID%TYPE;
BEGIN
SELECT SOURCE_SITE_ID INTO V_SOURCE_SITE_ID FROM SOURCE_SITE;
DELETE ERR_SVC_ACTIVITY WHERE TO_DATE(ERR_DATE)=TO_DATE(SYSDATE);
COMMIT;
IF BITAND(MSK,4)=4 THEN
UPDATE TABLE_STATUS SET STATUS='WRITING...',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='GS_CASE_HEADER';
COMMIT;
V_CUSSOR := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(V_CUSSOR, 'TRUNCATE TABLE GS_CASE_HEADER', DBMS_SQL.V7);
V_PROCESSED := DBMS_SQL.EXECUTE(V_CUSSOR);
DBMS_SQL.CLOSE_CURSOR(V_CUSSOR);
INSERT INTO GS_CASE_HEADER NOLOGGING (
CASE_NUM,
SEVERITY_ID,
USER_ID
(SELECT
CH.CASE_NUM,
CH.SEVERITY_ID,
CH.USER_ID
FROM JDPS_DBA.CASE_HEADER CH
GROUP BY
CH.CASE_NUM,
CH.SEVERITY_ID,
CH.USER_ID
COMMIT;
UPDATE TABLE_STATUS SET STATUS='COMPLETED',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='GS_CASE_HEADER';
COMMIT;
END IF;
-- Gather Data. "SVC_ACTIVITY" 1/4
-- TEMP_ONSITE ---> SVC_ACTIVITY
IF BITAND(MSK,1)=1 THEN
UPDATE TABLE_STATUS SET STATUS='WRITING...',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='SVC_ACTIVITY02';
COMMIT;
V_CUSSOR := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(V_CUSSOR, 'TRUNCATE TABLE SVC_ACTIVITY02', DBMS_SQL.V7);
V_PROCESSED := DBMS_SQL.EXECUTE(V_CUSSOR);
DBMS_SQL.CLOSE_CURSOR(V_CUSSOR);
SELECT STATUS_ID INTO V_SVC_STATUS_ID_A FROM M_STATUS WHERE STATUS_TYPE_ID_DESC='ONSITE' AND STATUS_CODE='ARRIV';
SELECT STATUS_ID INTO V_SVC_STATUS_ID_C FROM M_STATUS WHERE STATUS_TYPE_ID_DESC='ONSITE' AND STATUS_CODE='COMPL';
OPEN C_TMP_ONSITE;
LOOP
FETCH C_TMP_ONSITE INTO V_TMP_ONSITE;
EXIT WHEN C_TMP_ONSITE%NOTFOUND;
SELECT COUNT(*) INTO V_COUNT FROM MT_ONSITE WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR AND STATUS_DESC='ARRIV' AND TIME_STAMP=V_TMP_ONSITE.ARRIVE_TIMESTAMP;
IF V_COUNT=0 THEN
INSERT INTO ERR_SVC_ACTIVITY E (
E.ACTIVITY_ID,
E.ACTIVITY_DESC,
E.ACTIVITY_EFF_DATE,
E.ACTIVITY_EFF_DTS,
E.ACTIVITY_END_DATE,
E.ACTIVITY_END_DTS,
E.ACTIVITY_REASON_ID,
E.ACTIVITY_START_DATE,
E.ACTIVITY_START_DTS,
E.CASE_ID,
E.CAUSE_ID,
E.DELL_PROD_SVC_DESC_ID,
E.INTERACTION_ID,
E.SVC_ACTIVITY_SRC_ID,
E.SVC_EVENT_TYPE_ID,
E.SVC_INTERACTION_ID,
E.SVC_PROVIDER_ID,
E.SVC_RESULT_ID,
E.SVC_STATUS_ID,
E.EXTRACT_DATE,
E.EXTRACT_DTS,
E.SOURCE_SITE_ID,
E.LOAD_SEQ_NUM,
E.ERR_DESC,
E.ERR_DATE
VALUES (
NULL,
'ARRIV',
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
NULL,
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
NULL,
NULL,
NULL,
NULL,
V_TMP_ONSITE.SVC_ACTIVITY_SRC_ID,
NULL,
NULL,
NULL,
NULL,
NULL,
SYSDATE,
SYSTIMESTAMP,
V_SOURCE_SITE_ID,
NULL,
'The MT_ONSITE master doesn''t have the dps number and ARRIV and arrive timestamp.(' || V_TMP_ONSITE.DPS_NBR || ',ARRIV,' || V_TMP_ONSITE.ARRIVE_TIMESTAMP || ')',
SYSDATE
UPDATE TABLE_STATUS SET STATUS='UPDATED!!',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='ERR_SVC_ACTIVITY';
COMMIT;
ELSE
INSERT INTO SVC_ACTIVITY02 A (
A.ACTIVITY_ID,
A.ACTIVITY_DESC,
A.ACTIVITY_EFF_DATE,
A.ACTIVITY_EFF_DTS,
A.ACTIVITY_END_DATE,
A.ACTIVITY_END_DTS,
A.ACTIVITY_REASON_ID,
A.ACTIVITY_START_DATE,
A.ACTIVITY_START_DTS,
A.CASE_ID,
A.CAUSE_ID,
A.DELL_PROD_SVC_DESC_ID,
A.INTERACTION_ID,
A.SVC_ACTIVITY_SRC_ID,
A.SVC_EVENT_TYPE_ID,
A.SVC_INTERACTION_ID,
A.SVC_PROVIDER_ID,
A.SVC_RESULT_ID,
A.SVC_STATUS_ID,
A.EXTRACT_DATE,
A.EXTRACT_DTS,
A.SOURCE_SITE_ID,
A.LOAD_SEQ_NUM
VALUES (
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE IX_MT_ONSITE) */ NUMERIC_KEY FROM MT_ONSITE WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR AND STATUS_DESC='ARRIV' AND TIME_STAMP=V_TMP_ONSITE.ARRIVE_TIMESTAMP)),
'ARRIV',
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_PROBLEM IX_MT_ONSITE_PROBLEM) */ NUMERIC_KEY FROM MT_ONSITE_PROBLEM WHERE PROBLEM_CODE=V_TMP_ONSITE.PROBLEM_CODE)),
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_CASE_HEADER IX_MT_CASE_HEADER) */ NUMERIC_KEY FROM MT_CASE_HEADER WHERE CASE_NUM=V_TMP_ONSITE.CLH_CASE_NUM)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_CAUSE IX_MT_ONSITE_CAUSE) */ NUMERIC_KEY FROM MT_ONSITE_CAUSE WHERE CAUSE_CODE=V_TMP_ONSITE.CAUSE_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT DELL_PROC_SVC_DESC_ID FROM M_PROD_SVC_TYPE WHERE SRC_DESC_DESC_CODE=V_TMP_ONSITE.JH_DPS_TYPE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_CALL_LOG_HEADER IX_MT_CALL_LOG_HEADER) */ NUMERIC_KEY FROM MT_CALL_LOG_HEADER WHERE DATE_CODE=V_TMP_ONSITE.CLH_DATE_CODE AND CASE_NUM=V_TMP_ONSITE.CLH_CASE_NUM AND FLG_DELLSRV=V_TMP_ONSITE.CLH_FLG_DELLSRV)),
TO_NUMBER(V_SOURCE_SITE_ID_N || V_TMP_ONSITE.SVC_ACTIVITY_SRC_ID),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_ACTION IX_MT_ONSITE_ACTION) */ NUMERIC_KEY FROM MT_ONSITE_ACTION WHERE ACTION_CODE=V_TMP_ONSITE.ACTION_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDDEX(MT_JDPS_HEADER IX_JDPS_HEADER) */ NUMERIC_KEY FROM MT_JDPS_HEADER WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_TPM_CODE IX_MT_TPM_CODE) */ NUMERIC_KEY FROM MT_TPM_CODE WHERE TPM_CODE=V_TMP_ONSITE.JH_TPM_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_STATUS IX_MT_ONSITE_STATUS) */ NUMERIC_KEY FROM MT_ONSITE_STATUS WHERE STATUS_CODE=V_TMP_ONSITE.STATUS_CODE)),
V_SVC_STATUS_ID_A,
SYSDATE,
SYSTIMESTAMP,
V_SOURCE_SITE_ID,
NULL
END IF;
SELECT COUNT(*) INTO V_COUNT FROM MT_ONSITE WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR AND STATUS_DESC='COMPL' AND TIME_STAMP=V_TMP_ONSITE.COMPL_TIMESTAMP;
IF V_COUNT=0 THEN
INSERT INTO ERR_SVC_ACTIVITY E (
E.ACTIVITY_ID,
-- E.SOURCE_SYS_CREATE_DTS,
E.ACTIVITY_DESC,
-- E.ACTIVITY_DURACTION,
E.ACTIVITY_EFF_DATE,
E.ACTIVITY_EFF_DTS,
E.ACTIVITY_END_DATE,
E.ACTIVITY_END_DTS,
-- E.ACTIVITY_NOTIFICATION_DATE,
-- E.ACTIVITY_NOTIFICATION_DTS,
E.ACTIVITY_REASON_ID,
E.ACTIVITY_START_DATE,
E.ACTIVITY_START_DTS,
-- E.ALT_CONTACT_PHONE,
E.CASE_ID,
E.CAUSE_ID,
-- E.CUSTOMER_GMT_OFFSET,
E.DELL_PROD_SVC_DESC_ID,
E.INTERACTION_ID,
-- E.SECONDARY_CONTACT_NAME,
-- E.SECONDARY_CONTACT_PHONE,
-- E.SRC_ACTIVITY_CODE,
E.SVC_ACTIVITY_SRC_ID,
E.SVC_EVENT_TYPE_ID,
E.SVC_INTERACTION_ID,
-- E.SVC_ORG_GROUP_ID,
E.SVC_PROVIDER_ID,
-- E.SVC_QUEUE_ID,
E.SVC_RESULT_ID,
-- E.SVC_SEVERITY_ID,
E.SVC_STATUS_ID,
-- E.SVC_URGENCY_ID,
E.EXTRACT_DATE,
E.EXTRACT_DTS,
E.SOURCE_SITE_ID,
-- E.SOURCE_SYS_CREATE_BY,
-- E.SOURCE_SYS_CREATE_DATE,
-- E.SOURCE_SYS_UPDATE_BY,
-- E.SOURCE_SYS_UPDATE_DATE,
-- E.SOURCE_SYS_UPDATE_DTS,
E.LOAD_SEQ_NUM,
E.ERR_DESC,
E.ERR_DATE
VALUES (
NULL, --V_TMP_ONSITE.DPS_NBR || 'COMPL' || V_TMP_ONSITE.COMPL_TIMESTAMP,
'COMPL',
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
NULL, --V_TMP_ONSITE.PROBLEM_CODE,
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
NULL, --V_TMP_ONSITE.CLH_CASE_NUM,
NULL, --V_TMP_ONSITE.CAUSE_CODE,
NULL, --V_TMP_ONSITE.JH_DPS_TYPE,
NULL, --V_TMP_ONSITE.CLH_DATE_CODE || V_TMP_ONSITE.CLH_CASE_NUM || V_TMP_ONSITE.CLH_FLG_DELLSRV,
V_TMP_ONSITE.SVC_ACTIVITY_SRC_ID,
NULL, --V_TMP_ONSITE.ACTION_CODE,
NULL, --V_TMP_ONSITE.DPS_NBR,
NULL, --V_TMP_ONSITE.JH_TPM_CODE,
NULL, --V_TMP_ONSITE.STATUS_CODE,
NULL, --V_SVC_STATUS_ID_C,
SYSDATE,
SYSTIMESTAMP,
V_SOURCE_SITE_ID,
NULL,
'The MT_ONSITE master doesn''t have the dps number and COMPL and compl timestamp.(' || V_TMP_ONSITE.DPS_NBR || ',COMPL,' || V_TMP_ONSITE.COMPL_TIMESTAMP || ')',
SYSDATE
UPDATE TABLE_STATUS SET STATUS='UPDATED!!',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='ERR_SVC_ACTIVITY';
COMMIT;
ELSE
INSERT INTO SVC_ACTIVITY02 A (
A.ACTIVITY_ID,
-- A.SOURCE_SYS_CREATE_DTS,
A.ACTIVITY_DESC,
-- A.ACTIVITY_DURACTION,
A.ACTIVITY_EFF_DATE,
A.ACTIVITY_EFF_DTS,
A.ACTIVITY_END_DATE,
A.ACTIVITY_END_DTS,
-- A.ACTIVITY_NOTIFICATION_DATE,
-- A.ACTIVITY_NOTIFICATION_DTS,
A.ACTIVITY_REASON_ID,
A.ACTIVITY_START_DATE,
A.ACTIVITY_START_DTS,
-- A.ALT_CONTACT_PHONE,
A.CASE_ID,
A.CAUSE_ID,
-- A.CUSTOMER_GMT_OFFSET,
A.DELL_PROD_SVC_DESC_ID,
A.INTERACTION_ID,
-- A.SECONDARY_CONTACT_NAME,
-- A.SECONDARY_CONTACT_PHONE,
-- A.SRC_ACTIVITY_CODE,
A.SVC_ACTIVITY_SRC_ID,
A.SVC_EVENT_TYPE_ID,
A.SVC_INTERACTION_ID,
-- A.SVC_ORG_GROUP_ID,
A.SVC_PROVIDER_ID,
-- A.SVC_QUEUE_ID,
A.SVC_RESULT_ID,
-- A.SVC_SEVERITY_ID,
A.SVC_STATUS_ID,
-- A.SVC_URGENCY_ID,
A.EXTRACT_DATE,
A.EXTRACT_DTS,
A.SOURCE_SITE_ID,
-- A.SOURCE_SYS_CREATE_BY,
-- A.SOURCE_SYS_CREATE_DATE,
-- A.SOURCE_SYS_UPDATE_BY,
-- A.SOURCE_SYS_UPDATE_DATE,
-- A.SOURCE_SYS_UPDATE_DTS,
A.LOAD_SEQ_NUM
VALUES (
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE IX_MT_ONSITE) */ NUMERIC_KEY FROM MT_ONSITE WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR AND STATUS_DESC='COMPL' AND TIME_STAMP=V_TMP_ONSITE.COMPL_TIMESTAMP)),
'COMPL',
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
V_TMP_ONSITE.COMPL_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.COMPL_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_PROBLEM IX_MT_ONSITE_PROBLEM) */ NUMERIC_KEY FROM MT_ONSITE_PROBLEM WHERE PROBLEM_CODE=V_TMP_ONSITE.PROBLEM_CODE)),
V_TMP_ONSITE.ARRIVE_TIMESTAMP,
TO_TIMESTAMP(TO_CHAR(V_TMP_ONSITE.ARRIVE_TIMESTAMP,'yyyy-mm-dd hh24:mi:ss')),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_CASE_HEADER IX_MT_CASE_HEADER) */ NUMERIC_KEY FROM MT_CASE_HEADER WHERE CASE_NUM=V_TMP_ONSITE.CLH_CASE_NUM)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_CAUSE IX_MT_ONSITE_CAUSE) */ NUMERIC_KEY FROM MT_ONSITE_CAUSE WHERE CAUSE_CODE=V_TMP_ONSITE.CAUSE_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT DELL_PROC_SVC_DESC_ID FROM M_PROD_SVC_TYPE WHERE SRC_DESC_DESC_CODE=V_TMP_ONSITE.JH_DPS_TYPE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_CALL_LOG_HEADER IX_MT_CALL_LOG_HEADER) */ NUMERIC_KEY FROM MT_CALL_LOG_HEADER WHERE DATE_CODE=V_TMP_ONSITE.CLH_DATE_CODE AND CASE_NUM=V_TMP_ONSITE.CLH_CASE_NUM AND FLG_DELLSRV=V_TMP_ONSITE.CLH_FLG_DELLSRV)),
TO_NUMBER(V_SOURCE_SITE_ID_N || V_TMP_ONSITE.SVC_ACTIVITY_SRC_ID),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_ACTION IX_MT_ONSITE_ACTION) */ NUMERIC_KEY FROM MT_ONSITE_ACTION WHERE ACTION_CODE=V_TMP_ONSITE.ACTION_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDDEX(MT_JDPS_HEADER IX_JDPS_HEADER) */ NUMERIC_KEY FROM MT_JDPS_HEADER WHERE DPS_NBR=V_TMP_ONSITE.DPS_NBR)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_TPM_CODE IX_MT_TPM_CODE) */ NUMERIC_KEY FROM MT_TPM_CODE WHERE TPM_CODE=V_TMP_ONSITE.JH_TPM_CODE)),
TO_NUMBER(V_SOURCE_SITE_ID_N || (SELECT /*+ INDEX(MT_ONSITE_STATUS IX_MT_ONSITE_STATUS) */ NUMERIC_KEY FROM MT_ONSITE_STATUS WHERE STATUS_CODE=V_TMP_ONSITE.STATUS_CODE)),
V_SVC_STATUS_ID_C,
SYSDATE,
SYSTIMESTAMP,
V_SOURCE_SITE_ID,
NULL
END IF;
V_LIMIT := V_LIMIT + 1;
IF V_LIMIT > 10000 THEN
COMMIT;
V_LIMIT :=0;
END IF;
END LOOP;
-- カーソルのクローズ
CLOSE C_TMP_ONSITE;
COMMIT;
V_LIMIT :=0;
UPDATE TABLE_STATUS SET STATUS='COMPLETED',UPDATE_DATE=SYSDATE WHERE TABLE_NAME='SVC_ACTIVITY02';
COMMIT;
END IF;
The procedure takes two optional parameters, a date, which defaults to sysdate if not passed, and an integer which defaults to 31 if not passed.
The BITAND function does a bitwise and on msk and the constants. A bitwise and works like this. It takes the binary representation of the two numbers and compares each bit. If both are the same, then it sets the corresponding bit in the output to 1, if they are different, then the corresponding bit is 0. So
31 binary is: 11111
2 binary is 10
So to do a bitand, you pad the shorter number on the left with zeroes and compare each bit so:
11111
00010
00010so BITAND(31, 2) = 2
I'm not really sure how your application is determining the value for msk to pass to the procedure, and don't have the time to decipher the posted code to see how it is really using it, but one common use for bit masks is to store several yes/no or on/off flags in a very compact form.
For example, one application I worked with several years ago had a security model that determined for each user for each screen what they could do with that screen. The permissions were stored in a single number similar to the file permissions in UNIX. So, reading from the right:
Bit 1 Set = Read permission
Bit 2 Set = Insert permission
Bit 3 set = Update Permission
Bit 4 set = Delete permissionSo, a user who could read and update but not insert or delete would have bits set as 0101 or 5. To determine if the user could insert a record, the application would do something like:
IF BITAND(permission_no, 2) = 1 THEN
allow update
ELSE
deny update
END IF;HTH
John
Similar Messages
-
SQL experts please help for a query
I have following table1.
What query can give the result as given below, SQL experts please help on this.
TABLE1
Event DATETIME
in 2/JAN/2010
out 2/JAN/2010
in 13/JAN/2010
out 13/JAN/2010
in 5/JAN/2010
out 5/JAN/2010
RESULT REQUIRED FROM THE SQL QUERY
COL1_IN COL2_OUT
2/JAN/2010 2/JAN/2010
13/JAN/2010 13/JAN/2010
5/JAN/2010 5/JAN/2010I tried to help, but this puzzles me.
Why is this not returning pre-selected set of rows, why it's doing some merge join cartezian ?
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
SQL> select * from table1;
EVENT DATETIME
in 2/JAN/2010
out 2/JAN/2010
in 13/JAN/2010
out 13/JAN/2010
in 5/JAN/2010
out 5/JAN/2010
6 rows selected.
SQL> explain plan for
2 with a as
(select datetime from table1 where event='in'),
b as
(select datetime from table1 where event='out')
select a.datetime COL1_IN ,b.datetime COL2_OUT from a,b ;
Explained.
SQL> set wrap off
SQL> set linesize 200
SQL> select * from table(dbms_xplan.display);
PLAN_TABLE_OUTPUT
Plan hash value: 185132177
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 9 | 288 | 8 (0)| 00:00:01 |
| 1 | MERGE JOIN CARTESIAN| | 9 | 288 | 8 (0)| 00:00:01 |
|* 2 | TABLE ACCESS FULL | TABLE1 | 3 | 48 | 3 (0)| 00:00:01 |
| 3 | BUFFER SORT | | 3 | 48 | 5 (0)| 00:00:01 |
|* 4 | TABLE ACCESS FULL | TABLE1 | 3 | 48 | 2 (0)| 00:00:01 |
PLAN_TABLE_OUTPUT
Predicate Information (identified by operation id):
2 - filter("EVENT"='in')
4 - filter("EVENT"='out')
Note
- dynamic sampling used for this statement
21 rows selected.
SQL> with a as
(select datetime from table1 where event='in'),
b as
(select datetime from table1 where event='out')
select a.datetime COL1_IN ,b.datetime COL2_OUT from a,b ;
COL1_IN COL2_OUT
2/JAN/2010 2/JAN/2010
2/JAN/2010 13/JAN/2010
2/JAN/2010 5/JAN/2010
13/JAN/2010 2/JAN/2010
13/JAN/2010 13/JAN/2010
13/JAN/2010 5/JAN/2010
5/JAN/2010 2/JAN/2010
5/JAN/2010 13/JAN/2010
5/JAN/2010 5/JAN/2010
9 rows selected.
SQL> -
My iphone 5 doesn't sync with itunes on my pc. it says this computer has previously been synced to another io6 device or iphone? please help what to do?
The error message you're seeing is likely the other way around -- i.e. something like "This iPhone has previously been synced with a different computer". There's no problem syncing multiple iOS devices to the same computer.
However, the reverse is not true for the iPhone -- you cannot connect an iPhone to another computer without it being erased, even if you manually manage music and video. So, it sounds like you've been syncing your iPhone to a different computer?
Also, 5.1 (not 5.0.1) is the latest iOS. -
While installing windows with bootcamp error showing "A require Cd/Drive driver is missing" in the middle of installation m not able to install windows on my mac . Please help what to do ??
What DVD drive are you using?
-
I have Iphone 4s on iso 6.1.3 I have tried to Update it to Iso 7.0.4 but the phone stuck on Recovery mode and now i cant update it or restore it to the old iso so please help what i should do?
READ the article from which the question was posted and follow all the troubleshooting steps.
-
I bought a iPhone and I was able to log into my iCloud with no problem and when I tried to update it it kicked me out and now it's asking me for the old apple user please help what can I do...?
Contact the original owner, and ask them to remove the device from their icloud.
http://support.apple.com/kb/PH13695
HTH -
Hi When i create the downpayment process in the invoice i get amount as value but my requirement is in percentage even after i select the percentage basis milestone billing please help what can be done
downpayment percentage , so if i want 50 percent of order value to be paid and when i go to faz type the invoice is created for 0 value that 50 percent of the amount is not getting calculated , where as when i enter in order same as 50 percent in amount it gets calculated in invoice, any help ?
-
I have got my iPhone 5 and i have forgot my passcode i have tried to restore and update via my windows computer and it still says sorry this iphone has a password please enter it before you sync but i dont know it ? Please help what do i do????!!
Locked Out, Forgot Lock or Restrictions Passcode, or Need to Restore Your Device
1. iOS- Forgotten passcode or device disabled after entering wrong passcode
2. iPhone, iPad, iPod touch: Wrong passcode results in red disabled screen
3. Restoring iPod touch after forgotten passcode
4. What to Do If You've Forgotten Your iPhone's Passcode
5. iOS- Understanding passcodes
6. iTunes 10 for Mac- Update and restore software on iPod, iPhone, or iPad
Forgotten Restrictions Passcode Help
You will need to restore your device as New to remove a Restrictions passcode. Go through the normal process to restore your device, but when you see the options to restore as New or from a backup, be sure to choose New.
Also, see iTunes- Restoring iOS software. -
my apple id have been blocked an i do not remember the identity or security question please help what can i do?
If your account is disabled you might be able to re-enable it via this page : http://appleid.apple.com, then 'reset your password'
You might then need to log out of your account on your iPhone and iPad by tapping on your id in Settings > iTunes & App Storeand then log back in so as to 'refresh' the account on it.
For your security questions, if you have a rescue email address (which is not the same thing as an alternate email address) on your account then the steps half-way down this page will give you a reset link on your account : http://support.apple.com/kb/HT5312
If you don't have a rescue email address then you will need to contact Support in your country to get the questions reset.
Contacting Apple about account security : http://support.apple.com/kb/HT5699 (you can also try this link if you can't get your account enabled via the above)
When they've been reset (and if you don't already have a rescue email address) you can then use the steps half-way down the HT5312 link above to add a rescue email address for potential future use -
I received message: cannot download, select tools, download only and download manually (something like that). Please help, what does this mean?
Exactly what it says.
Do as the message says. -
My iPhone apps wouldn't open they just blink for a second and the home screen comes back again...i tried installing a free app from the AppStore but it didn't work and also tried resetting the iPhone but ddnt work as well please help what do i do??
Oh my gosh I had the EXACT same problem, and for ages I couldn't figure out how to fix it until today. Here's what I did:
First I went onto my computer, opened itunes, and un-installed tumblr, vine and kik. These were the apps I was having problems with (it said I had them on my phone but, like you, they didn't show).
Then I went to the itunes store, searched for each one, and it said I could update them so I did (just FYI: for tumblr a window popped up saying "please click ok to confirm you are 17 years or older", so I did that also)
When I went back to my phone and tried installing them again (still on my computer), it worked!
I hope this helps, because it was incredibly frustrating. Good luck! -
I bought an apps "Latitude". when i tried to see my friends list its showing error - "nsurlerrordomain error 999". Please help what should i do??
Google 'nsurlerrordomain error 999' and see the hits there!
-
I am unable to open some of apps, even one inbuilt app like camera, Example : regarding apps like Clash of clans and Bike race TFG.whenever I try to open these games, it start opening and in middle of opening , it sent me back to home page of my mobile. Please help what to do ?and with camera it open a blank black page ...... Please help ?
AmishCake has given you the correct steps for this issue. What is probably happening is you have too many apps running in the background or the ones that you have open are conflicting in some way with the one you are trying to use, so closing everything out and a good reboot should resolve it.
Also, make sure your device is updated and all the apps are updated. Sometimes when the app is updated and the iOS is not, can cause behaviour like this.
If it continues, back up your device and restore it.
http://support.apple.com/kb/ht1414 -
I receive this message ,repeatedly,when I try to update an App through App store:Error code 1009.Please help,what should I do?
The App Store is not available in Iran.
-
I am unable to download Acrobat XI Standard purchased 19Feb15 & unable to locate on your web site simple steps to do this - please help; what am I not doing?
Make sure you have cookies enabled and clear your cache. If it continues to fail try using a different browser.
Maybe you are looking for
-
Keyboard or mouse not working. No USB power.
I just got a new macbook. I copied the old XP partition from my older macbook to place it onto the new one. I used a method I have used before and has worked successfully. However this time since it is a newer macbook I reboot into windows and the ke
-
How can I retrieve my contacts and pictures after installing iOS6 on my iphone?
How can I retrieve my contacts and pictures after installing iOS6 on my iphone? Don't call me stupid! I was relying on iCloud to have backed all this up, but turns out it didn't work. Can anyone help me get my photos back - they were of my baby daugh
-
Suggestion for a partially working play
I have a Zen Micro, and while i can't say its always been the best to use, it has provided me a lot of use. But now I'm having some issues after it fell earlier today. After it fell when i powered it off and on (through battery removable, only way),
-
I need to install Ora 9i but I can't download the disk2.zip, actually I download the disk1 and 3 but the disk 2 is bad, I need that version of Oracle because all my applications are in this version. Where I can find another source for download the di
-
I dowloaded 9 songs and 2 of them are not not complete when I play them on my IPOD Classic the songs play then 3/4's of the way they end.