DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_CHANGE_ORDER_TOLERANCES_PKG

Source


1 package body PO_CHANGE_ORDER_TOLERANCES_PKG as
2 /* $Header: PO_CHANGE_ORDER_TOLERANCES_PKG.plb 120.2.12010000.2 2008/11/24 11:03:15 rojain ship $ */
3 
4 ------------------------------------------------------------------------------
5 --Start of Comments
6 --Name: INSERT_ROW
7 --Pre-reqs:
8 --  None
9 --Modifies:
10 --  None
11 --Locks:
12 --  None
13 --Function:
14 --   1. inserts a record into PO_CHANGE_ORDER_TOLERANCES_ALL table
15 --Parameters:
16 --IN:
17 --   X_CHANGE_ORDER_TYPE Change Order Type
18 --   X_TOLERANCE_NAME    Tolerance name
19 --   X_ORG_ID            Operating Unit Id
20 --   X_SEQUENCE_NUMBER   Tolerance sequence number
21 --   X_MAXIMUM_INCREMENT maximum increment value
22 --   X_MAXIMUM_DECREMENT minimum increment value
23 --   X_ROUTING_FLAG      approval routing flag
24 --   X_CREATION_DATE     creation date (Standard Who Column)
25 --   X_CREATED_BY        created date (Standard Who Column)
26 --   X_LAST_UPDATE_DATE  last update date (Standard Who Column)
27 --   X_LAST_UPDATED_BY   last updated by (Standard Who Column)
28 --   X_LAST_UPDATE_LOGIN last update login (Standard Who Column)
29 --OUT:
30 --  None
31 --End of Comment
32 -------------------------------------------------------------------------------
33 procedure INSERT_ROW (
34  X_CHANGE_ORDER_TYPE in VARCHAR2,
35  X_TOLERANCE_NAME in VARCHAR2,
36  X_ORG_ID in NUMBER,
37  X_SEQUENCE_NUMBER in NUMBER,
38  X_MAXIMUM_INCREMENT in NUMBER,
39  X_MAXIMUM_DECREMENT in NUMBER,
40  X_ROUTING_FLAG in VARCHAR2,
41  X_CREATION_DATE in DATE,
42  X_CREATED_BY in NUMBER,
43  X_LAST_UPDATE_DATE in DATE,
44  X_LAST_UPDATED_BY in NUMBER,
45  X_LAST_UPDATE_LOGIN in NUMBER)
46  is
47  x_tolerance_id number;
48 begin
49 
50     select to_char(PO_CHANGE_ORDER_TOLERANCES_S.NEXTVAL)
51           into X_TOLERANCE_ID from sys.dual;
52 
53   insert into PO_CHANGE_ORDER_TOLERANCES_ALL (
54   TOLERANCE_ID,
55   CHANGE_ORDER_TYPE,
56   TOLERANCE_NAME,
57   ORG_ID,
58   SEQUENCE_NUMBER,
59   MAXIMUM_INCREMENT,
60   MAXIMUM_DECREMENT,
61   ROUTING_FLAG,
62   CREATION_DATE,
63   CREATED_BY,
64   LAST_UPDATE_DATE,
65   LAST_UPDATED_BY,
66   LAST_UPDATE_LOGIN
67   ) values (
68   X_TOLERANCE_ID,
69   X_CHANGE_ORDER_TYPE,
70   X_TOLERANCE_NAME,
71   X_ORG_ID,
72   X_SEQUENCE_NUMBER,
73   X_MAXIMUM_INCREMENT,
74   X_MAXIMUM_DECREMENT,
75   X_ROUTING_FLAG,
76   X_CREATION_DATE,
77   X_CREATED_BY,
78   X_LAST_UPDATE_DATE,
79   X_LAST_UPDATED_BY,
80   X_LAST_UPDATE_LOGIN);
81 
82 end INSERT_ROW;
83 
84 ------------------------------------------------------------------------------
85 --Start of Comments
86 --Name: LOAD_ROW
87 --Pre-reqs:
88 --  None
89 --Modifies:
90 --  None
91 --Locks:
92 --  None
93 --Function:
94 --   1. Load the row into PO_CHANGE_ORDER_TOLERANCES_ALL table
95 --Parameters:
96 --IN:
97 --   X_CHANGE_ORDER_TYPE Change Order Type
98 --   X_TOLERANCE_NAME    Tolerance name
99 --   X_ORG_ID            Operating Unit Id
100 --   X_SEQUENCE_NUMBER   Tolerance sequence number
101 --   X_MAXIMUM_INCREMENT maximum increment value
102 --   X_MAXIMUM_DECREMENT minimum increment value
103 --   X_ROUTING_FLAG      approval routing flag
104 --OUT:
105 --  None
106 --End of Comment
107 -------------------------------------------------------------------------------
108 procedure LOAD_ROW (
109   X_CHANGE_ORDER_TYPE in VARCHAR2,
110   X_TOLERANCE_NAME in VARCHAR2,
111   X_ORG_ID in NUMBER,
112   X_OWNER in VARCHAR2,
113   X_SEQUENCE_NUMBER in NUMBER,
114   X_LAST_UPDATE_DATE in DATE,
115   X_MAXIMUM_INCREMENT in NUMBER,
116   X_MAXIMUM_DECREMENT in NUMBER,
117   X_ROUTING_FLAG in VARCHAR2,
118   X_CUSTOM_MODE  in VARCHAR2
119 ) IS
120 
121     f_luby    number;  -- entity owner in file
122     f_ludate  date;    -- entity update date in file
123     db_luby   number;  -- entity owner in db
124     db_ludate date;    -- entity update date in db
125 
126   begin
127 
128      f_luby := fnd_load_util.owner_id(X_OWNER);
129      f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'DD/MM/YYYY'), sysdate);
130 
131      -- bug3703523
132      -- for old see data we have last_updated_by as -1.
133      -- upload_test procedure will consider the record as being customized,
134      -- which is not the case here. Therefore we need to update
135      -- last_updated_by to 1 when it is -1 so that the record can be updated.
136 
137      select DECODE(LAST_UPDATED_BY, -1, 1, LAST_UPDATED_BY), LAST_UPDATE_DATE
138      into  db_luby, db_ludate
139      from PO_CHANGE_ORDER_TOLERANCES_ALL
140      where change_order_Type  = X_CHANGE_ORDER_TYPE
141      and  TOLERANCE_NAME   = X_TOLERANCE_NAME
142      and  ( (X_ORG_ID is null and org_id = -3113 )
143           or (X_ORG_ID is not null and org_id = X_ORG_ID));
144 
145     -- Chanded the condition in such a way that only date is considered while updating owner is not updated
146     -- if (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, X_CUSTOM_MODE)) then
147     if (fnd_load_util.upload_test(f_luby, f_ludate, f_luby, db_ludate, X_CUSTOM_MODE)) then
148 
149        UPDATE PO_CHANGE_ORDER_TOLERANCES_ALL
150        SET MAXIMUM_INCREMENT =  X_MAXIMUM_INCREMENT,
151            MAXIMUM_DECREMENT =  X_MAXIMUM_DECREMENT,
152            ROUTING_FLAG	     =  X_ROUTING_FLAG,
153            LAST_UPDATE_DATE  =  f_ludate ,
154            LAST_UPDATED_BY   = 	f_luby,
155            LAST_UPDATE_LOGIN = 0
156        WHERE CHANGE_ORDER_TYPE  = X_CHANGE_ORDER_TYPE
157        AND  TOLERANCE_NAME   = X_TOLERANCE_NAME
158        AND  ( (X_ORG_ID IS NULL AND ORG_ID = -3113 )
159            OR (X_ORG_ID IS NOT NULL AND ORG_ID = X_ORG_ID));
160 
161     end if;
162 
163 
164   exception
165      when NO_DATA_FOUND then
166           INSERT_ROW (
167             X_CHANGE_ORDER_TYPE,
168             X_TOLERANCE_NAME,
169             X_ORG_ID,
170             X_SEQUENCE_NUMBER,
171             X_MAXIMUM_INCREMENT,
172             X_MAXIMUM_DECREMENT,
173             X_ROUTING_FLAG,
174             f_ludate ,
175             f_luby ,
176             f_ludate ,
177             f_luby ,
178             0);
179 end LOAD_ROW;
180 
181 
182 end PO_CHANGE_ORDER_TOLERANCES_PKG;