[Home] [Help]
PACKAGE BODY: APPS.WMA_RESOURCE
Source
1 PACKAGE BODY wma_resource AS
2 /* $Header: wmapresb.pls 115.2 2002/11/13 03:08:09 kboonyap noship $ */
3
4 /**
5 * This procedure is the entry point into the Resource Transaction
6 * processing code for background processing.
7 * Parameters:
8 * parameters ResParams contains values from the mobile form.
9 * status Indicates success (0), failure (-1).
10 * errMessage The error or warning message, if any.
11 */
12 PROCEDURE process(parameters IN ResParams,
13 status OUT NOCOPY NUMBER,
14 errMessage OUT NOCOPY VARCHAR2) IS
15 error VARCHAR2(241); -- error message
16 resRecord ResTxnRec; -- record to populate and insert
17 BEGIN
18 status := 0;
19
20 -- derive and validate all necessary fields for insertion
21 if (derive(resRecord, parameters, error) = FALSE) then
22 -- process error
23 status := -1;
24 errMessage := error;
25 return;
26 end if;
27
28 -- insert into the interface table for background processing
29 if (put(resRecord, error) = FALSE) then
30 -- process error
31 status := -1;
32 errMessage := error;
33 return;
34 end if;
35
36 EXCEPTION
37 when others then
38 status := -1;
39 fnd_message.set_name ('WMA', 'GENERIC_ERROR');
40 fnd_message.set_token ('FUNCTION', 'wma_resource.process');
41 fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
42 errMessage := fnd_message.get;
43
44 END process;
45
46
47 /**
48 * This function derives and validates the values necessary for executing a
49 * resource transaction. Given the form parameters, it populates
50 * resRecord preparing it to be inserted into the interface table.
51 * Parameters:
52 * resRecord record to be populated. The minimum number of fields to
53 * execute the transaction successfully are populated
54 * parameters resource transaction mobile form parameters
55 * errMessage populated if an error occurrs
56 * Return:
57 * boolean flag indicating the successful derivation of necessary values
58 */
59 Function derive(resRecord IN OUT NOCOPY ResTxnRec,
60 parameters IN ResParams,
61 errMessage IN OUT NOCOPY VARCHAR2)
62 return boolean IS
63
64 BEGIN
65 /**
66 * populate required fields in the resource record. If the fields specify
67 * a resource not defined in the operation, the Cost Manager associates
68 * this new resource to the operation, then charges the resource
69 */
70 resRecord.row.created_by_name := parameters.environment.userName;
71 resRecord.row.creation_date := sysdate;
72 resRecord.row.last_update_date := sysdate;
73 resRecord.row.last_updated_by_name := parameters.environment.userName;
74 resRecord.row.operation_seq_num := parameters.opSeq;
75 resRecord.row.organization_code := parameters.environment.orgCode;
76 resRecord.row.organization_id := parameters.environment.orgID;
77 resRecord.row.process_phase := WIP_CONSTANTS.RES_VAL;
78 resRecord.row.process_status := WIP_CONSTANTS.PENDING;
79 resRecord.row.resource_code := parameters.resourceName;
80 resRecord.row.resource_seq_num := parameters.resourceSeq;
81 resRecord.row.source_code := WMA_COMMON.SOURCE_CODE;
82 resRecord.row.transaction_date := sysdate;
83 resRecord.row.transaction_quantity := parameters.transactionQty;
84 resRecord.row.transaction_type := WIP_CONSTANTS.RES_TXN;
85 resRecord.row.transaction_uom := parameters.transactionUOM;
86 resRecord.row.entity_type := WIP_CONSTANTS.DISCRETE;
87 resRecord.row.wip_entity_id := parameters.wipEntityID;
88 resRecord.row.wip_entity_name := parameters.wipEntityName;
89
90 return true;
91
92 EXCEPTION
93 when others then
94 fnd_message.set_name ('WMA', 'GENERIC_ERROR');
95 fnd_message.set_token ('FUNCTION', 'wma_resource.derive');
96 fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
97 errMessage := fnd_message.get;
98 return false;
99 END derive;
100
101
102 /**
103 * Inserts a populated ResTxnRec record into WIP_COST_TXN_INTERFACE
104 * Parameters:
105 * resRecord The ResTxnRec representing the row to be inserted.
106 * errMessage populated if an error occurrs
107 * Return:
108 * boolean A flag indicating whether table update was successful or not.
109 */
110 Function put(resRecord IN ResTxnRec,
111 errMessage IN OUT NOCOPY VARCHAR2) RETURN boolean IS
112
113 BEGIN
114
115 insert into wip_cost_txn_interface
116 (created_by_name,
117 creation_date,
118 last_update_date,
119 last_updated_by_name,
120 operation_seq_num,
121 organization_code,
122 organization_id,
123 process_phase,
124 process_status,
125 resource_code,
126 resource_seq_num,
127 source_code,
128 transaction_date,
129 transaction_quantity,
130 transaction_type,
131 transaction_uom,
132 entity_type,
133 wip_entity_id,
134 wip_entity_name)
135 values (resRecord.row.created_by_name,
136 resRecord.row.creation_date,
137 resRecord.row.last_update_date,
138 resRecord.row.last_updated_by_name,
139 resRecord.row.operation_seq_num,
140 resRecord.row.organization_code,
141 resRecord.row.organization_id,
142 resRecord.row.process_phase,
143 resRecord.row.process_status,
144 resRecord.row.resource_code,
145 resRecord.row.resource_seq_num,
146 resRecord.row.source_code,
147 resRecord.row.transaction_date,
148 resRecord.row.transaction_quantity,
149 resRecord.row.transaction_type,
150 resRecord.row.transaction_uom,
151 resRecord.row.entity_type,
152 resRecord.row.wip_entity_id,
153 resRecord.row.wip_entity_name);
154
155 return true;
156
157 EXCEPTION
158 when others then
159 fnd_message.set_name ('WMA', 'GENERIC_ERROR');
160 fnd_message.set_token ('FUNCTION', 'wma_resource.put');
161 fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
162 errMessage := fnd_message.get;
163 return false;
164 END put;
165
166
167 end wma_resource;