DBA Data[Home] [Help]

PACKAGE BODY: APPS.GME_TRANSFORM_BATCH

Source


1 PACKAGE BODY gme_transform_batch AS
2 /* $Header: GMEVTRFB.pls 120.9.12020000.2 2012/07/27 16:50:05 gmurator ship $ */
3 
4 /***********************************************************/
5 -- Oracle Process Manufacturing Process Execution APIs
6 --
7 -- File Name:   GMEVTRFB.pls
8 -- Contents:    Package body for GME data transformation
9 -- Description:
10 --   This package transforms GME data from 11.5.10 to
11 --   12.
12 
13 /**********************************************************/
14 
15    PROCEDURE gme_migration (p_migration_run_id   IN              NUMBER,
16                             p_commit             IN              VARCHAR2,
17                             x_failure_count      OUT NOCOPY      NUMBER) IS
18    BEGIN
19       gma_common_logging.gma_migration_central_log
20                   (p_run_id              => p_migration_run_id,
21                    p_log_level           => fnd_log.level_procedure,
22                    p_message_token       => 'GMA_MIGRATION_TABLE_STARTED',
23                    p_table_name          => 'GME_PARAMETERS',
24                    p_context             => 'PROFILES',
25                    p_app_short_name      => 'GMA');
26       create_gme_parameters(p_migration_run_id => p_migration_run_id,
27                             x_exception_count  => x_failure_count);
28 
29       gma_common_logging.gma_migration_central_log
30                   (p_run_id              => p_migration_run_id,
31                    p_log_level           => fnd_log.level_procedure,
32                    p_message_token       => 'GMA_MIGRATION_TABLE_STARTED',
33                    p_table_name          => 'GME_BATCH_HEADER',
34                    p_context             => 'UPDATE_LAB_IND',
35                    p_app_short_name      => 'GMA');
36       update_batch_header(p_migration_run_id => p_migration_run_id,
37                           x_exception_count  => x_failure_count);
38 
39       gma_common_logging.gma_migration_central_log
40                   (p_run_id              => p_migration_run_id,
41                    p_log_level           => fnd_log.level_procedure,
42                    p_message_token       => 'GMA_MIGRATION_TABLE_STARTED',
43                    p_table_name          => 'WIP_ENTITIES',
44                    p_context             => 'CREATE_WIP_ENTITY',
45                    p_app_short_name      => 'GMA');
46       update_wip_entities(p_migration_run_id => p_migration_run_id,
47                           x_exception_count  => x_failure_count);
48 
49 
50       gma_common_logging.gma_migration_central_log
51                   (p_run_id              => p_migration_run_id,
52                    p_log_level           => fnd_log.level_procedure,
53                    p_message_token       => 'GMA_MIGRATION_TABLE_STARTED',
54                    p_table_name          => 'GME_GANTT_DOCUMENT_FILTER',
55                    p_context             => 'GANTT FILTERS',
56                    p_app_short_name      => 'GMA');
57       update_from_doc_no(p_migration_run_id);
58 
59       gma_common_logging.gma_migration_central_log
60                   (p_run_id              => p_migration_run_id,
61                    p_log_level           => fnd_log.level_procedure,
62                    p_message_token       => 'GMA_MIGRATION_TABLE_STARTED',
63                    p_table_name          => 'GME_RESOURCE_TXNS',
64                    p_context             => 'REASON_ID',
65                    p_app_short_name      => 'GMA');
66       update_reason_id(p_migration_run_id);
67 
68       IF p_commit = 'Y' THEN
69          COMMIT;
70       END IF;
71    END gme_migration;
72 
73    FUNCTION get_profile_value (v_profile_name IN VARCHAR2, v_appl_id IN NUMBER)
74       RETURN VARCHAR2 IS
75       CURSOR c_get_profile_value(c_profile_name IN VARCHAR2, c_appl_id IN NUMBER) IS
76          SELECT fpov.profile_option_value
77           FROM fnd_profile_options fpo,
78                fnd_profile_option_values fpov
79          WHERE fpo.application_id = c_appl_id
80            AND fpo.profile_option_name = c_profile_name
81            AND fpo.profile_option_id = fpov.profile_option_id
82            AND fpo.application_id = fpov.application_id
83            AND fpov.level_id = 10001
84            AND fpov.level_value = 0;
85 
86 
87       l_profile_value   NUMBER;
88    BEGIN
89       /*
90       bug 13086505:As the profiles below have been disabled in the fnd_profile_options table,
91       These profile values can't retrieve using fnd_profile.value() function,It need to query
92       from fnd_profile_options ignore end_date_active criteria.
93       */
94       OPEN c_get_profile_value(v_profile_name,v_appl_id);
95       FETCH c_get_profile_value INTO l_profile_value;
96       CLOSE c_get_profile_value;
97 
98       RETURN l_profile_value;
99    EXCEPTION
100      WHEN NO_DATA_FOUND THEN
101        RETURN NULL;
102      WHEN OTHERS THEN
103        RETURN NULL;
104       --RETURN fnd_profile.VALUE (v_profile_name);
105     --end bug 13086505
106    END get_profile_value;
107 
108 
109    PROCEDURE create_gme_parameters(p_migration_run_id IN NUMBER,
110                                    x_exception_count  OUT NOCOPY NUMBER) IS
111       CURSOR get_plant_and_labs IS
112          SELECT sy.organization_id, sy.orgn_code plant_code
113            FROM sy_orgn_mst sy
114           WHERE NOT EXISTS (SELECT 1
115                             FROM   gme_parameters
116                             WHERE  organization_id = sy.organization_id)
117                 AND sy.organization_id IS NOT NULL;
118 
119       CURSOR get_doc_numbering (v_doc_type IN VARCHAR2, v_plant_code IN VARCHAR2) IS
120          SELECT assignment_type, last_assigned
121            FROM sy_docs_seq
122           WHERE orgn_code = v_plant_code AND doc_type = v_doc_type;
123 
124       l_fpo_assignment     NUMBER;
125       l_batch_assignment   NUMBER;
126       l_fpo_number         NUMBER;
127       l_batch_number       NUMBER;
128       l_count              NUMBER := 0;
129 
130 
131 
132 
133    BEGIN
134       FOR rec IN get_plant_and_labs LOOP
135       	BEGIN
136          OPEN get_doc_numbering ('FPO', rec.plant_code);
137          FETCH get_doc_numbering INTO l_fpo_assignment, l_fpo_number;
138          CLOSE get_doc_numbering;
139          OPEN get_doc_numbering ('PROD', rec.plant_code);
140          FETCH get_doc_numbering INTO l_batch_assignment, l_batch_number;
141          CLOSE get_doc_numbering;
142 
143       /*
144       bug 13086505:Add copying profile 'GME_IB_FACTOR' value to 'ib_factor_id'
145       column in the gme_parameters
146       */
147 
148          INSERT INTO gme_parameters
149                      (organization_id, auto_consume_supply_sub_only,
150                       supply_subinventory, supply_locator_id,
151                       yield_subinventory, yield_locator_id,
152                       delete_material_ind,
153                       validate_plan_dates_ind,
154                       display_unconsumed_material,
155                       step_controls_batch_sts_ind,
156                       backflush_rsrc_usg_ind,
157                       def_actual_rsrc_usg_ind,
158                       calc_interim_rsrc_usg_ind,
159                       allow_qty_below_min_ind,
160                       display_non_work_days_ind,
161                       check_shortages_ind,
162                       copy_formula_text_ind,
163                       copy_routing_text_ind,
164                       ib_factor_ind,
165                       create_high_level_resv_ind, create_move_orders_ind,
166                       reservation_timefence, move_order_timefence,
167                       batch_doc_numbering,
168                       batch_no_last_assigned, fpo_doc_numbering,
169                       fpo_no_last_assigned, created_by, creation_date,
170                       last_updated_by, last_update_login, last_update_date
171                      )
172               VALUES (rec.organization_id,
173                       0, -- AUTO_CONSUME_SUPPLY_SUB_ONLY,
174                       NULL, -- SUPPLY_SUBINVENTORY
175                       NULL, -- SUPPLY_LOCATOR_ID
176                       NULL, -- YIELD_SUBINVETORY
177                       NULL, --YIELD_LOCATOR_ID
178                       NVL(get_profile_value ('GME_ALLOW_MATERIAL_DELETION', 553),1),
179                       NVL(get_profile_value ('GME_VALIDATE_PLAN_DATES', 553),1), --VALIDATE_PLAN_DATES_IND
180                       1, --DISPLAY_UNCONSUMED_MATERIAL
181                       NVL(DECODE (get_profile_value ('GME_STEP_CONTROL', 553), 'N', 0, 'Y', 1, 0),0),--STEP_CONTROLS_BATCH_STS_IND
182                       NVL(get_profile_value ('GME_BACKFLUSH_USAGE', 553),0), --BACKFLUSH_RSRC_USG_IND
183                       NVL(get_profile_value ('PM$DEFAULT_ACTUAL_RESOURCE_USAGE', 550),1), --DEF_ACTUAL_RSRC_USG_IND
184                       NVL(get_profile_value ('GME_CALC_INT_RSRC_USAGE', 553),0), --CALC_INTERIM_RSRC_USG_IND
185                       NVL(get_profile_value ('GME_ALLOW_QTY_BELOW_CAP', 553),1), --ALLOW_QTY_BELOW_MIN_IND
186                       NVL(get_profile_value ('GME_DISP_NON_WORKING_DAYS_IN_GANTT', 553),1), --DISPLAY_NON_WORK_DAYS_IND
187                       NVL(get_profile_value ('PM$CHECK_INV_SAVE', 550),0), --CHECK_SHORTAGES_IND
188                       NVL(get_profile_value ('PM_COPY_FM_TEXT', 550),1), --COPY_FORMULA_TEXT_IND
189                       NVL(get_profile_value ('GME_COPY_ROUTING_TEXT', 553),1), --COPY_ROUTING_TEXT_IND
190                       NVL(get_profile_value ('GME_IB_FACTOR',553),0),  --IB_FACTOR_IND
191                       0, --CREATE_HIGH_LEVEL_RESV_IND
192                       0, --CREATE_MOVE_ORDERS_IND
193                       NULL, --RESERVATION_TIMEFENCE
194                       NULL, --MOVE_ORDER_TIMEFENCE
195                       l_batch_assignment, --BATCH_DOC_NUMBERING
196                       l_batch_number, --BATCH_NO_LAST_ASSIGNED
197                       l_fpo_assignment, --FPO_DOC_NUMBERING
198                       l_fpo_number, --FPO_NO_LAST_ASSIGNED
199                       -1, --created_by
200                       SYSDATE, --creation_date
201                       -1, --last_updated_by
202                       NULL, --last_update_login
203                       SYSDATE --last_updated_date
204                      );
205               l_count := l_count + 1;
206               gma_common_logging.gma_migration_central_log(p_run_id         => p_migration_run_id,
207                                                            p_log_level      => fnd_log.level_procedure,
208                                                            p_message_token  => 'GME_CREATE_PARAMS_SUCCESS',
209                                                            p_table_name     => 'GME_PARAMETERS',
210                                                            p_context        => 'PROFILES',
211                                                            p_token1         => 'ORG_CODE',
212                                                            p_param1         => rec.plant_code,
213                                                            p_app_short_name => 'GME');
214         EXCEPTION
215           WHEN OTHERS THEN
216             x_exception_count := x_exception_count + 1;
217             gma_common_logging.gma_migration_central_log
218                   (p_run_id              => p_migration_run_id,
219                    p_log_level           => fnd_log.level_unexpected,
220                    p_message_token       => 'GMA_MIGRATION_DB_ERROR',
221                    p_table_name          => 'GME_PARAMETERS',
222                    p_context             => 'PROFILES',
223                    p_db_error            => SQLERRM,
224                    p_app_short_name      => 'GMA');
225             gma_common_logging.gma_migration_central_log
226                   (p_run_id              => p_migration_run_id,
227                    p_log_level           => fnd_log.level_unexpected,
228                    p_message_token       => 'GMA_MIGRATION_TABLE_FAIL',
229                    p_table_name          => 'GME_PARAMETERS',
230                    p_context             => 'PROFILES',
231                    p_app_short_name      => 'GMA');
232          END;
233       END LOOP;
234       gma_common_logging.gma_migration_central_log
235                   (p_run_id              => p_migration_run_id,
236                    p_log_level           => fnd_log.level_procedure,
237                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
238                    p_table_name          => 'GME_PARAMETERS',
239                    p_context             => 'PROFILES',
240                    p_param1              => l_count,
241                    p_app_short_name      => 'GMA');
242     EXCEPTION
243       WHEN OTHERS THEN
244         x_exception_count := x_exception_count + 1;
245         gma_common_logging.gma_migration_central_log
246                   (p_run_id              => p_migration_run_id,
247                    p_log_level           => fnd_log.level_unexpected,
248                    p_message_token       => 'GMA_MIGRATION_DB_ERROR',
249                    p_table_name          => 'GME_PARAMETERS',
250                    p_context             => 'PROFILES',
251                    p_db_error            => SQLERRM,
252                    p_app_short_name      => 'GMA');
253         gma_common_logging.gma_migration_central_log
254                   (p_run_id              => p_migration_run_id,
255                    p_log_level           => fnd_log.level_unexpected,
256                    p_message_token       => 'GMA_MIGRATION_TABLE_FAIL',
257                    p_table_name          => 'GME_PARAMETERS',
258                    p_context             => 'PROFILES',
259                    p_app_short_name      => 'GMA');
260    END create_gme_parameters;
261 
262    PROCEDURE update_batch_header(p_migration_run_id IN NUMBER,
263                                  x_exception_count  OUT NOCOPY NUMBER) IS
264    BEGIN
265       UPDATE gme_batch_header h
266          SET laboratory_ind = (SELECT DECODE (org.plant_ind, 1, 0, 2, 1)
267                                FROM sy_orgn_mst org
268                                WHERE org.orgn_code = h.plant_code),
269              migrated_batch_ind = 'Y'
270       WHERE  laboratory_ind IS NULL;
271       gma_common_logging.gma_migration_central_log
272                   (p_run_id              => p_migration_run_id,
273                    p_log_level           => fnd_log.level_procedure,
274                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
275                    p_table_name          => 'GME_BATCH_HEADER',
276                    p_context             => 'UPDATE_LAB_IND',
277                    p_param1              => SQL%ROWCOUNT,
278                    p_app_short_name      => 'GMA');
279    EXCEPTION
280      WHEN OTHERS THEN
281        x_exception_count := x_exception_count + 1;
282        gma_common_logging.gma_migration_central_log
283                   (p_run_id              => p_migration_run_id,
284                    p_log_level           => fnd_log.level_unexpected,
285                    p_message_token       => 'GMA_MIGRATION_DB_ERROR',
286                    p_table_name          => 'GME_BATCH_HEADER',
287                    p_context             => 'UPDATE_LAB_IND',
288                    p_db_error            => SQLERRM,
289                    p_app_short_name      => 'GMA');
290        gma_common_logging.gma_migration_central_log
291                   (p_run_id              => p_migration_run_id,
292                    p_log_level           => fnd_log.level_unexpected,
293                    p_message_token       => 'GMA_MIGRATION_TABLE_FAIL',
294                    p_table_name          => 'GME_BATCH_HEADER',
295                    p_context             => 'UPDATE_LAB_IND',
296                    p_app_short_name      => 'GMA');
297    END update_batch_header;
298 
299    PROCEDURE update_wip_entities(p_migration_run_id IN NUMBER,
300                                  x_exception_count  OUT NOCOPY NUMBER) IS
301       l_wip_entity_id   NUMBER;
302       l_batch_id        NUMBER;
303       l_count           NUMBER;
304       l_batch_prefix    VARCHAR2(80);
305       l_fpo_prefix      VARCHAR2(80);
306 
307 /*
308       CURSOR get_batches IS
309          SELECT batch_no, b.organization_id, batch_type, v.inventory_item_id
310            FROM gme_batch_header b, gmd_recipe_validity_rules v
311           WHERE b.recipe_validity_rule_id = v.recipe_validity_rule_id(+)
312                 AND b.organization_id IS NOT NULL
313                 AND DECODE(batch_type, 0, l_batch_prefix, l_fpo_prefix)||batch_no
314                              NOT IN (SELECT wip_entity_name
315                                      FROM   wip_entities
316                                      WHERE  organization_id = b.organization_id
317                                             AND ((b.batch_type = 0 AND entity_type = 10)
318                                                   OR (b.batch_type = 10 AND entity_type = 9)));
319 */
320 
321       -- Bug 10332854 - Improve performance by using minimum wip entity id.
322       l_min_wip_entity_id   NUMBER;
323 
324       CURSOR get_max_entity_id IS
325          SELECT NVL(max(wip_entity_id), 0)
326            FROM wip_entities;
327 
328       CURSOR get_min_entity_id IS
329          SELECT NVL(min(wip_entity_id), 0)
330            FROM gme_batch_header b, wip_entities w
331           WHERE b.organization_id IS NOT NULL
332                 AND DECODE(batch_type, 0, l_batch_prefix, l_fpo_prefix)||batch_no = w.wip_entity_name
333                 and w.organization_id = b.organization_id
334                 AND ((b.batch_type = 0 AND entity_type = 10)
335                 OR  (b.batch_type = 10 AND entity_type = 9));
336 
337       -- Let's get all batches minus the ones already in wip entities.
338       CURSOR get_batches IS
339          SELECT batch_no, b.organization_id, batch_type, v.inventory_item_id
340            FROM gme_batch_header b, gmd_recipe_validity_rules v
341           WHERE b.recipe_validity_rule_id = v.recipe_validity_rule_id(+)
342                 AND b.organization_id IS NOT NULL
343       MINUS
344          SELECT batch_no, b.organization_id, batch_type, v.inventory_item_id
345            FROM gme_batch_header b, gmd_recipe_validity_rules v,
346                                     (SELECT wip_entity_name, organization_id, entity_type
347                                      FROM   wip_entities
348                                      WHERE  wip_entity_id > l_min_wip_entity_id
349                                      AND    entity_type IN (9, 10)) w
350           WHERE b.recipe_validity_rule_id = v.recipe_validity_rule_id(+)
351                 AND b.organization_id IS NOT NULL
352                 AND w.wip_entity_name = DECODE(batch_type, 0, l_batch_prefix, l_fpo_prefix)||batch_no
353                 AND w.organization_id = b.organization_id
354                 AND ((b.batch_type = 0 AND w.entity_type = 10)
355                 OR (b.batch_type = 10 AND w.entity_type = 9));
356    BEGIN
357       l_count := 0;
358       l_batch_prefix := NVL(get_profile_value ('GME_BATCH_PREFIX', 553),'BATCH');
359       l_fpo_prefix   := NVL(get_profile_value ('GME_FPO_PREFIX', 553),'FPO');
360 
361       -- Bug 10332854 - Fetch minimum wip entity id for all batches.
362       OPEN get_min_entity_id;
363       FETCH get_min_entity_id INTO l_min_wip_entity_id;
364       IF (get_min_entity_id%NOTFOUND) THEN
365          l_min_wip_entity_id := 0;
366       END IF;
367       CLOSE get_min_entity_id;
368 
369       -- Bug 10332854 - If there are none yet then fetch maximum wip entity id.
370       IF l_min_wip_entity_id = 0 THEN
371          OPEN get_max_entity_id;
372          FETCH get_max_entity_id INTO l_min_wip_entity_id;
373          IF (get_max_entity_id%NOTFOUND) THEN
374             l_min_wip_entity_id := 0;
375          END IF;
376          CLOSE get_max_entity_id;
377       END IF;
378 
379       IF l_min_wip_entity_id <> 0 THEN
380          l_min_wip_entity_id := l_min_wip_entity_id - 1;
381       END IF;
382 
383       FOR rec IN get_batches LOOP
384       	BEGIN
385          INSERT INTO wip_entities
386                      (wip_entity_id, organization_id,
387                       last_update_date, last_updated_by, creation_date,
388                       created_by, last_update_login, request_id,
389                       program_application_id, program_id,
390                       program_update_date, wip_entity_name,
391                       entity_type, description,
392                       primary_item_id, gen_object_id
393                      )
394               VALUES (wip_entities_s.NEXTVAL,
395                       rec.organization_id, --ORGANIZATION_ID
396                       SYSDATE, --LAST_UPDATE_DATE
397                       1, --LAST_UPDATED_BY,
398                       SYSDATE, --CREATION_DATE,
399                       1, --CREATED_BY,
400                       1, ---LAST_UPDATE_LOGIN,
401                       NULL, --REQUEST_ID,
402                       NULL, --PROGRAM_APPLICATION_ID,
403                       NULL, --PROGRAM_ID,
404                       NULL, --PROGRAM_UPDATE_DATE,
405                       DECODE (rec.batch_type, 0, l_batch_prefix, l_fpo_prefix)||rec.batch_no, --WIP_ENTITY_NAME,
406                       DECODE (rec.batch_type, 0, 10, 10, 9), --ENTITY_TYPE,
407                       NULL, --DESCRIPTION,
408                       rec.inventory_item_id, --PRIMARY_ITEM_ID,
409                       mtl_gen_object_id_s.NEXTVAL); --GEN_OBJECT_ID
410           l_count := l_count + 1;
411         EXCEPTION
412           WHEN OTHERS THEN
413             x_exception_count := x_exception_count + 1;
414             gma_common_logging.gma_migration_central_log
415                   (p_run_id              => p_migration_run_id,
416                    p_log_level           => fnd_log.level_unexpected,
417                    p_message_token       => 'GMA_MIGRATION_DB_ERROR',
418                    p_table_name          => 'WIP_ENTITIES',
419                    p_context             => 'CREATE_WIP_ENTITY',
420                    p_db_error            => SQLERRM,
421                    p_app_short_name      => 'GMA');
422             gma_common_logging.gma_migration_central_log
423                   (p_run_id              => p_migration_run_id,
424                    p_log_level           => fnd_log.level_unexpected,
425                    p_message_token       => 'GMA_MIGRATION_TABLE_FAIL',
426                    p_table_name          => 'WIP_ENTITIES',
427                    p_context             => 'CREATE_WIP_ENTITY',
428                    p_app_short_name      => 'GMA');
429         END;
430       END LOOP;
431       SELECT MAX (wip_entity_id)
432         INTO l_wip_entity_id
433         FROM wip_entities;
434 
435       SELECT MAX (batch_id)
436         INTO l_batch_id
437         FROM gme_batch_header;
438 
439       WHILE l_wip_entity_id < l_batch_id LOOP
440          SELECT wip_entities_s.NEXTVAL
441            INTO l_wip_entity_id
442            FROM DUAL;
443       END LOOP;
444       gma_common_logging.gma_migration_central_log
445                   (p_run_id              => p_migration_run_id,
446                    p_log_level           => fnd_log.level_procedure,
447                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
448                    p_table_name          => 'WIP_ENTITIES',
449                    p_context             => 'CREATE_WIP_ENTITY',
450                    p_token1              => 'PARAM1',
451                    p_param1              => l_count,
452                    p_app_short_name      => 'GMA');
453    EXCEPTION
454      WHEN OTHERS THEN
455        x_exception_count := x_exception_count + 1;
456        gma_common_logging.gma_migration_central_log
457                   (p_run_id              => p_migration_run_id,
458                    p_log_level           => fnd_log.level_unexpected,
459                    p_message_token       => 'GMA_MIGRATION_DB_ERROR',
460                    p_table_name          => 'WIP_ENTITIES',
461                    p_context             => 'CREATE_WIP_ENTITY',
462                    p_db_error            => SQLERRM,
463                    p_app_short_name      => 'GMA');
464        gma_common_logging.gma_migration_central_log
465                   (p_run_id              => p_migration_run_id,
466                    p_log_level           => fnd_log.level_unexpected,
467                    p_message_token       => 'GMA_MIGRATION_TABLE_FAIL',
468                    p_table_name          => 'WIP_ENTITIES',
469                    p_context             => 'CREATE_WIP_ENTITY',
470                    p_app_short_name      => 'GMA',
471                    p_db_error            => SQLERRM);
472    END update_wip_entities;
473 
474    PROCEDURE update_from_doc_no(p_migration_run_id NUMBER) IS
475    BEGIN
476       UPDATE gme_gantt_document_filter
477       SET from_doc_no = document_no;
478       gma_common_logging.gma_migration_central_log
479                   (p_run_id              => p_migration_run_id,
480                    p_log_level           => fnd_log.level_procedure,
481                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
482                    p_table_name          => 'GME_GANTT_DOCUMENT_FILTER',
483                    p_context             => 'GANTT FILTERS',
484                    p_param1              => SQL%ROWCOUNT,
485                    p_app_short_name      => 'GMA');
486    END update_from_doc_no;
487 
488    PROCEDURE update_reason_id(p_migration_run_id NUMBER) IS
489    BEGIN
490       UPDATE gme_resource_txns t
491       SET reason_id = (SELECT reason_id FROM sy_reas_cds_b WHERE reason_code = t.reason_code);
492       gma_common_logging.gma_migration_central_log
493                   (p_run_id              => p_migration_run_id,
494                    p_log_level           => fnd_log.level_procedure,
495                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
496                    p_table_name          => 'GME_RESOURCE_TXNS',
497                    p_context             => 'REASON_ID',
498                    p_param1              => SQL%ROWCOUNT,
499                    p_app_short_name      => 'GMA');
500       UPDATE gme_resource_txns_mig t
501       SET reason_id = (SELECT reason_id FROM sy_reas_cds_b WHERE reason_code = t.reason_code);
502       gma_common_logging.gma_migration_central_log
503                   (p_run_id              => p_migration_run_id,
504                    p_log_level           => fnd_log.level_procedure,
505                    p_message_token       => 'GMA_MIGRATION_TABLE_SUCCESS',
506                    p_table_name          => 'GME_RESOURCE_TXNS_MIG',
507                    p_context             => 'REASON_ID',
508                    p_param1              => SQL%ROWCOUNT,
509                    p_app_short_name      => 'GMA');
510    END update_reason_id;
511 END gme_transform_batch;