DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKE_WORKFLOWS_PKG

Source


1 package body OKE_WORKFLOWS_PKG as
2 /* $Header: OKEOWXXB.pls 115.0 2003/10/22 22:23:27 ybchen noship $ */
3 procedure INSERT_ROW (
4   X_ROWID 			in out NOCOPY VARCHAR2
5 , X_SOURCE_CODE 	        in 	VARCHAR2
6 , X_USAGE_CODE 	                in 	VARCHAR2
7 , X_CREATION_DATE 		in 	DATE
8 , X_CREATED_BY 			in 	NUMBER
9 , X_LAST_UPDATE_DATE 		in 	DATE
10 , X_LAST_UPDATED_BY 		in 	NUMBER
11 , X_LAST_UPDATE_LOGIN 		in 	NUMBER
12 , X_WF_ITEM_TYPE		in 	VARCHAR2
13 , X_WF_PROCESS  		in 	VARCHAR2
14 ) is
15   cursor C is select ROWID from OKE_WORKFLOWS
16     where SOURCE_CODE = X_SOURCE_CODE
17     and   USAGE_CODE  = X_USAGE_CODE
18     ;
19 begin
20   insert into OKE_WORKFLOWS (
21   SOURCE_CODE
22 , USAGE_CODE
23 , CREATION_DATE
24 , CREATED_BY
25 , LAST_UPDATE_DATE
26 , LAST_UPDATED_BY
27 , LAST_UPDATE_LOGIN
28 , WF_ITEM_TYPE
29 , WF_PROCESS
30   ) values (
31   X_SOURCE_CODE
32 , X_USAGE_CODE
33 , X_CREATION_DATE
34 , X_CREATED_BY
35 , X_LAST_UPDATE_DATE
36 , X_LAST_UPDATED_BY
37 , X_LAST_UPDATE_LOGIN
38 , X_WF_ITEM_TYPE
39 , X_WF_PROCESS
40 );
41 
42   open c;
43   fetch c into X_ROWID;
44   if (c%notfound) then
45     close c;
46     raise no_data_found;
47   end if;
48   close c;
49 
50 end INSERT_ROW;
51 
52 procedure LOCK_ROW (
53   X_SOURCE_CODE 	        in 	VARCHAR2
54 , X_USAGE_CODE 	                in 	VARCHAR2
55 , X_WF_ITEM_TYPE		in 	VARCHAR2
56 , X_WF_PROCESS  		in 	VARCHAR2
57 ) is
58   cursor c is select
59        SOURCE_CODE
60      , USAGE_CODE
61      , WF_ITEM_TYPE
62      , WF_PROCESS
63     from OKE_WORKFLOWS
64     where SOURCE_CODE = X_SOURCE_CODE
65     and   USAGE_CODE  = X_USAGE_CODE
66     for update nowait;
67   recinfo c%rowtype;
68 
69 begin
70   open c;
71   fetch c into recinfo;
72   if (c%notfound) then
73     close c;
74     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
75     app_exception.raise_exception;
76   end if;
77   close c;
78 
79   if (    (recinfo.USAGE_CODE = X_USAGE_CODE AND recinfo.SOURCE_CODE =
80  X_SOURCE_CODE)
81        AND ((recinfo.WF_ITEM_TYPE = X_WF_ITEM_TYPE)
82            OR ((recinfo.WF_ITEM_TYPE is null) AND (X_WF_ITEM_TYPE is null)))
83       AND ((recinfo.WF_PROCESS = X_WF_PROCESS)
84            OR ((recinfo.WF_PROCESS is null) AND (X_WF_PROCESS is null)))
85   ) then
86     null;
87   else
88     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
89     app_exception.raise_exception;
90   end if;
91 
92   return;
93 end LOCK_ROW;
94 
95 procedure UPDATE_ROW (
96   X_SOURCE_CODE 	        in 	VARCHAR2
97 , X_USAGE_CODE 	                in 	VARCHAR2
98 , X_LAST_UPDATE_DATE 		in 	DATE
99 , X_LAST_UPDATED_BY 		in 	NUMBER
100 , X_LAST_UPDATE_LOGIN 		in 	NUMBER
101 , X_WF_ITEM_TYPE		in 	VARCHAR2
102 , X_WF_PROCESS  		in 	VARCHAR2
103 ) is
104 begin
105   update OKE_WORKFLOWS set
106   LAST_UPDATE_DATE      	= X_LAST_UPDATE_DATE
107 , LAST_UPDATED_BY 		= X_LAST_UPDATED_BY
108 , LAST_UPDATE_LOGIN   		= X_LAST_UPDATE_LOGIN
109 , WF_ITEM_TYPE			= X_WF_ITEM_TYPE
110 , WF_PROCESS  			= X_WF_PROCESS
111   where SOURCE_CODE 	        = X_SOURCE_CODE
112   and   USAGE_CODE 	        = X_USAGE_CODE
113   ;
114 
115   if (sql%notfound) then
116     raise no_data_found;
117   end if;
118 
119 end UPDATE_ROW;
120 
121 end OKE_WORKFLOWS_PKG;