DBA Data[Home] [Help]

PACKAGE BODY: APPS.MTL_CC_TRANSACT_PKG

Source


1 PACKAGE BODY MTL_CC_TRANSACT_PKG as
2 /* $Header: INVATC2B.pls 120.2 2010/12/31 12:00:12 mporecha ship $ */
3 
4 function CC_TRANSACT (  org_id                  NUMBER                   ,
5                         cc_header_id            NUMBER                   ,
6                         item_id                 NUMBER                   ,
7                         sub                     VARCHAR2                 ,
8                         PUOMQty                 NUMBER                   ,
9                         TxnQty                  NUMBER                   ,
10                         TxnUOM                  VARCHAR2                 ,
11                         TxnDate                 DATE                     ,
12                         TxnAcctId               NUMBER                   ,
13                         LotNum                  VARCHAR2                 ,
14                         LotExpDate              DATE                     ,
15                         rev                     VARCHAR2                 ,
16                         locator_id              NUMBER                   ,
17                         TxnRef                  VARCHAR2                 ,
18                         ReasonId                NUMBER                   ,
19                         UserId                  NUMBER                   ,
20                         cc_entry_id             NUMBER                   ,
21                         LoginId                 NUMBER                   ,
22                         TxnProcMode             NUMBER                   ,
23                         TxnHeaderId             NUMBER                   ,
24                         SerialNum               VARCHAR2                 ,
25                         TxnTempId               NUMBER                   ,
26                         SerialPrefix            VARCHAR2                 ,
27                         lpn_id                  NUMBER                   ,
28                         transfer_sub            VARCHAR2 DEFAULT NULL    ,
29                         transfer_loc_id         NUMBER DEFAULT NULL      ,
30                         cost_group_id           NUMBER DEFAULT NULL      ,
31                         lpn_discrepancy         NUMBER DEFAULT 2
32                         ,secUOM                 VARCHAR2 DEFAULT NULL    -- INVCONV,NSRIVAST
33                         ,secQty                 NUMBER DEFAULT NULL      -- INVCONV,NSRIVAST
34 
35                         )                       RETURN NUMBER
36   IS
37 
38      v_period_id              NUMBER;
39      v_open_past_period       BOOLEAN := FALSE;
40      v_profile_value          NUMBER  := 0;
41      v_transaction_action_id  NUMBER;
42      l_transaction_temp_id    NUMBER;
43      l_serial_temp_id         NUMBER;
44      v_transaction_type_id    NUMBER;   --4159102
45 
46      /* WMS variables needed */
47      l_result                 NUMBER;
48      l_proc_msg               VARCHAR2(300);
49      l_wms_installed          VARCHAR2(10);
50      l_lot_exp_date           DATE;
51      l_serial_prefix          VARCHAR2(30);
52 
53     l_debug number := NVL(FND_PROFILE.VALUE('INV_DEBUG_TRACE'),0);
54 BEGIN
55    IF (fnd_profile.defined('TRANSACTION_DATE')) THEN
56       v_profile_value := TO_NUMBER(fnd_profile.value('TRANSACTION_DATE'));
57 
58       -- Profile value of:
59       -- 1 = Any open period
60       -- 2 = No past date
61       -- 3 = No past periods
62       -- 4 = Warn when past period
63 
64       IF (v_profile_value = 3) THEN
65          v_open_past_period := TRUE;
66       END IF;
67     ELSE
68       FND_MESSAGE.SET_NAME('FND','PROFILES-CANNOT READ');
69       FND_MESSAGE.SET_TOKEN('OPTION','TRANSACTION_DATE',TRUE);
70       FND_MESSAGE.SET_TOKEN('ROUTINE',
71                             'MTL_CC_TRANSACT_PKG.CC_TRANSACT ',TRUE);
72 
73       --Bug 4171757- Added the below statement to capture messages in the calling program
74       FND_MSG_PUB.ADD;
75       --End of fix for Bug 4171757
76 
77       --Bug 4171757 -Added the following for messages in the INV debug file.
78       IF (l_debug = 1) THEN
79        inv_log_util.TRACE('Errors out here with the message to user: ' || 'PROFILES-CANNOT READ', 'MTL_CC_TRANSACT_PKG', 9);
80       END IF;
81       --End of fix for Bug 4171757
82 
83       APP_EXCEPTION.RAISE_EXCEPTION;
84       RETURN -1;
85    END IF;
86 
87    IF (v_profile_value = 2 AND TxnDate < TRUNC(SYSDATE)) THEN
88       FND_MESSAGE.SET_NAME('INV', 'INV_NO_PAST_TXN_DATES');
89 
90       --Bug 4171757- Added the below statement to capture messages in the calling program
91       FND_MSG_PUB.ADD;
92       --End of fix for Bug 4171757
93 
94       --Bug 4171757 -Added the following for messages in the INV debug file.
95       IF (l_debug = 1) THEN
96        inv_log_util.TRACE('Errors out here with the message to user: ' || 'INV_NO_PAST_TXN_DATES', 'MTL_CC_TRANSACT_PKG', 9);
97       END IF;
98       --End of fix for Bug 4171757
99 
100       app_exception.raise_exception;
101       RETURN -1;
102    END IF;
103 
104    invttmtx.tdatechk(org_id,
105                      TxnDate,
106                      v_period_id,
107                      v_open_past_period);
108 
109    IF (v_period_id = 0) THEN
110       FND_MESSAGE.SET_NAME('INV', 'INV_NO_OPEN_PERIOD');
111 
112       --Bug 4171757- Added the below statement to capture messages in the calling program
113       FND_MSG_PUB.ADD;
114       --End of fix for Bug 4171757
115 
116       --Bug 4171757 -Added the following for messages in the INV debug file.
117       IF (l_debug = 1) THEN
118        inv_log_util.TRACE('Errors out here with the message to user: ' || 'INV_NO_OPEN_PERIOD', 'MTL_CC_TRANSACT_PKG', 9);
119       END IF;
120       --End of fix for Bug 4171757
121 
122       app_exception.raise_exception;
123       RETURN -1;
124     ELSIF (v_period_id = -1) THEN
125       app_exception.raise_exception;
126       RETURN -1;
127     ELSE
128       IF (v_profile_value = 3) AND
129         NOT (v_open_past_period) THEN
130          FND_MESSAGE.SET_NAME('INV', 'INV_NO_PAST_TXN_PERIODS');
131 
132         --Bug 4171757- Added the below statement to capture messages in the calling program
133         FND_MSG_PUB.ADD;
134         --End of fix for Bug 4171757
135 
136        --Bug 4171757 -Added the following for messages in the INV debug file.
137        IF (l_debug = 1) THEN
138           inv_log_util.TRACE('Errors out here with the message to user: ' || 'INV_NO_PAST_TXN_PERIODS', 'MTL_CC_TRANSACT_PKG', 9);
139        END IF;
140        --End of fix for Bug 4171757
141 
142          app_exception.raise_exception;
143          RETURN -1;
144       END IF;
145    END IF;
146 
147    --Check whether WMS is installed
148    IF inv_install.adv_inv_installed(NULL) THEN
149      l_wms_installed := 'TRUE';
150    ELSE
151      l_wms_installed := 'FALSE';
152    END IF;
153 
154    --Check the materisl status applicability for the org, item and lot number
155    --combination for the cycle count adjust transaction. If it is not valid
156    --then set the return value to "2" to indicate invalid lot status
157    IF l_wms_installed = 'TRUE' AND  LotNum IS NOT NULL THEN
158      IF  inv_material_status_grp.is_status_applicable
159               ( l_wms_installed,
160                 NULL,
161                 4,
162                 NULL,
163                 NULL,
164                 org_id,
165                 item_id,
166                 NULL,
167                 NULL,
168                 LotNum,
169                 NULL,
170                 'O') = 'Y' THEN
171        NULL;
172      ELSE
173        RETURN 2;
174      END IF;
175    END IF;
176 
177    --Check the material status applicability for the org, item and serial number
178    --combination for the cycle count adjust transaction. If it is not valid
179    --then set the return value to "3" to indicate invalid serial status
180    IF l_wms_installed = 'TRUE' AND  SerialNum IS NOT NULL THEN
181      IF  inv_material_status_grp.is_status_applicable
182               ( l_wms_installed,
183                 NULL,
184                 4,  --transaction_type_id
185                 NULL,
186                 NULL,
187                 org_id,
188                 item_id,
189                 NULL,
190                 NULL,
191                 NULL,
192                 SerialNum,
193                 'S') = 'Y' THEN
194        NULL;
195      ELSE
196        RETURN 3;
197      END IF;
198    END IF;
199 
200    IF transfer_sub IS NOT NULL AND transfer_loc_id IS NOT NULL THEN
201       v_transaction_action_id := 2;
202       v_transaction_type_id := 5; -- 4159102
203     ELSE
204       v_transaction_action_id := 4;
205       v_transaction_type_id := 4; -- 4159102
206    END IF;
207    --inv_debug.message('ssia', 'In INVATC2B.pls ');
208    --inv_debug.message('ssia', 'Transaction header id is ' ||   TxnHeaderId);
209    --inv_Debug.message('ssia', 'Transaction temp id is ' || TxnTempId);
210    --inv_Debug.message('ssia', 'Item id is ' || item_id);
211    --inv_Debug.message('ssia', 'Sub is ' ||sub);
212    IF (TxnTempId IS NULL) THEN
213       SELECT mtl_material_transactions_s.NEXTVAL
214         INTO l_transaction_temp_id
215         FROM dual;
216     ELSE
217       l_transaction_temp_id := TxnTempId;
218    END IF;
219 
220    -- Whether WMS is installed or not installed,
221    -- it is required to insert a record into MMTT.
222 
223    IF (lpn_discrepancy = 2) THEN
224       -- Normal cycle count transaction insertion
225 
226       -- Insert adjustment record into MMTT with no
227       -- values for Lot_Number and Serial_Number
228       IF (txnqty < 0) THEN
229          -- Negative adjustment quantity so the LPN column to insert into
230          -- should be LPN_ID
231 
232          -- Bug# 2872044
233          -- TM orders by the txn batch ID instead of txn temp ID as of
234          -- patchset I so store the value of the txn temp ID in the batch
235          -- ID column to maintain the order in which MMTT records are processed
236          INSERT INTO MTL_MATERIAL_TRANSACTIONS_TEMP
237            (
238              TRANSACTION_HEADER_ID,
239              TRANSACTION_TEMP_ID,
240              INVENTORY_ITEM_ID,
241              SUBINVENTORY_CODE,
242              PRIMARY_QUANTITY,
243              TRANSACTION_QUANTITY,
244              TRANSACTION_UOM,
245              TRANSACTION_DATE,
246              ORGANIZATION_ID,
247              ACCT_PERIOD_ID,
248              TRANSACTION_MODE,
249              LAST_UPDATE_DATE,
250              LAST_UPDATED_BY,
251              TRANSACTION_SOURCE_ID,
252              TRANSACTION_SOURCE_TYPE_ID,
253              CYCLE_COUNT_ID,
254              TRANSACTION_TYPE_ID,
255              TRANSACTION_ACTION_ID,
256              TRANSACTION_REFERENCE,
257              REASON_ID,
258              DISTRIBUTION_ACCOUNT_ID,
259              --LOT_NUMBER,
260              --WAYBILL_AIRBILL, /* Lot expiration date */
261              REVISION,
262              LOCATOR_ID,
263              --SERIAL_NUMBER,
264              PROCESS_FLAG,
265              LAST_UPDATE_LOGIN,
266              CREATED_BY,
267              CREATION_DATE,
268              LPN_ID,
269              TRANSFER_SUBINVENTORY,
270              TRANSFER_TO_LOCATION,
271              COST_GROUP_ID,
272              TRANSACTION_BATCH_ID,
273              TRANSACTION_BATCH_SEQ,
274          -- BEGIN INVCONV
275              SECONDARY_UOM_CODE,
276          SECONDARY_TRANSACTION_QUANTITY
277          -- END INVCONV
278              )
279            VALUES
280            (
281              TxnHeaderId,
282              l_transaction_Temp_id,
283              item_id,
284              sub,
285              PUOMQty,
286              TxnQty,
287              TxnUOM,
288              TxnDate,
289              org_id,
290              v_period_id,
291              TxnProcMode,
292              SYSDATE,
293              UserID,
294              cc_header_id,
295              9,
296              cc_entry_id,
297              v_transaction_type_id,              -- 4159102
298              v_transaction_action_id,
299              TxnRef,
300              ReasonId,
301              TxnAcctID,
302              --LotNum,
303              --LotExpDate,
304              rev,
305              locator_id,
306              --SerialNum,
307              'Y',
308              LoginID,
309              UserID,
310              SYSDATE,
311              lpn_id,
312              transfer_sub,
313              transfer_loc_id,
317          -- BEGIN INVCONV
314              cost_group_id,
315              l_transaction_Temp_id,
316              l_transaction_Temp_id,
318              secUOM,
319          secQty
320          -- END INVCONV
321              );
322        ELSE
323          -- Positive adjustment quantity so the LPN column to insert into
324          -- should be TRANSFER_LPN_ID
325 
326          -- Bug# 2872044
327          -- TM orders by the txn batch ID instead of txn temp ID as of
328          -- patchset I so store the value of the txn temp ID in the batch
329          -- ID column to maintain the order in which MMTT records are processed
330          INSERT INTO MTL_MATERIAL_TRANSACTIONS_TEMP
331            (
332              TRANSACTION_HEADER_ID,
333              TRANSACTION_TEMP_ID,
334              INVENTORY_ITEM_ID,
335              SUBINVENTORY_CODE,
336              PRIMARY_QUANTITY,
337              TRANSACTION_QUANTITY,
338              TRANSACTION_UOM,
339              TRANSACTION_DATE,
340              ORGANIZATION_ID,
341              ACCT_PERIOD_ID,
342              TRANSACTION_MODE,
343              LAST_UPDATE_DATE,
344              LAST_UPDATED_BY,
345              TRANSACTION_SOURCE_ID,
346              TRANSACTION_SOURCE_TYPE_ID,
347              CYCLE_COUNT_ID,
348              TRANSACTION_TYPE_ID,
349              TRANSACTION_ACTION_ID,
350              TRANSACTION_REFERENCE,
351              REASON_ID,
352              DISTRIBUTION_ACCOUNT_ID,
353              --LOT_NUMBER,
354              --WAYBILL_AIRBILL, /* Lot expiration date */
355              REVISION,
356              LOCATOR_ID,
357              --SERIAL_NUMBER,
358              PROCESS_FLAG,
359              LAST_UPDATE_LOGIN,
360              CREATED_BY,
361              CREATION_DATE,
362              TRANSFER_LPN_ID,
363              TRANSFER_SUBINVENTORY,
364              TRANSFER_TO_LOCATION,
365              COST_GROUP_ID,
366              TRANSACTION_BATCH_ID,
367              TRANSACTION_BATCH_SEQ,
368          -- BEGIN INVCONV
369              SECONDARY_UOM_CODE,
370          SECONDARY_TRANSACTION_QUANTITY
371          -- END INVCONV
372              )
373            VALUES
374            (
375              TxnHeaderId,
376              l_transaction_Temp_id,
377              item_id,
378              sub,
379              PUOMQty,
380              TxnQty,
381              TxnUOM,
382              TxnDate,
383              org_id,
384              v_period_id,
385              TxnProcMode,
386              SYSDATE,
387              UserID,
388              cc_header_id,
389              9,
390              cc_entry_id,
391              v_transaction_type_id,              -- 4159102
392              v_transaction_action_id,
393              TxnRef,
394              ReasonId,
395              TxnAcctID,
396              --LotNum,
397              --LotExpDate,
398              rev,
399              locator_id,
400              --SerialNum,
401              'Y',
402              LoginID,
403              UserID,
404              SYSDATE,
405              lpn_id,
406              transfer_sub,
407              transfer_loc_id,
408              cost_group_id,
409              l_transaction_Temp_id,
410              l_transaction_Temp_id,
411          -- BEGIN INVCONV
412              secUOM,
413          secQty
414          -- END INVCONV
415              );
416       END IF;
417 
418       -- Item is lot controlled
419       IF (LotNum IS NOT NULL) THEN
420 
421          -- If item is also serial controlled,
422          -- generate a serial transaction temp ID
423          IF (SerialNum IS NOT NULL) THEN
424             SELECT MTL_MATERIAL_TRANSACTIONS_S.NEXTVAL
425               INTO l_serial_temp_id
426               FROM DUAL;
427           ELSE
428             l_serial_temp_id := NULL;
429          END IF;
430 
431          -- Get the Lot Expiration Date
432          -- for this Lot Number if none was passed in
433          IF (LotExpDate IS NULL) THEN
434             SELECT  EXPIRATION_DATE
435               INTO    l_lot_exp_date
436               FROM    MTL_LOT_NUMBERS
437               WHERE   INVENTORY_ITEM_ID = item_id
438               AND     ORGANIZATION_ID = org_id
439               AND     LOT_NUMBER = LotNum;
440           ELSE
441             l_lot_exp_date := LotExpDate;
442          END IF;
443 
444          -- Insert a record into MTLT
445          INSERT INTO MTL_TRANSACTION_LOTS_TEMP
446            ( TRANSACTION_TEMP_ID,
447              LAST_UPDATE_DATE,
448              LAST_UPDATED_BY,
449              CREATION_DATE,
450              CREATED_BY,
451              LAST_UPDATE_LOGIN,
452              TRANSACTION_QUANTITY,
453              PRIMARY_QUANTITY,
454              LOT_NUMBER,
455              LOT_EXPIRATION_DATE,
456              SERIAL_TRANSACTION_TEMP_ID,
457              GROUP_HEADER_ID
458              , secondary_quantity         -- INVCONV,NSRIVAST
459              , secondary_unit_of_measure  -- INVCONV,NSRIVAST
460              )
461            VALUES
462            ( l_transaction_Temp_id,
463              SYSDATE,
464              UserID,
465              SYSDATE,
466              UserID,
467              LoginID,
468              TxnQty,
469              PUOMQty,
470              LotNum,
471              l_lot_exp_date,
472              l_serial_temp_id,
473              TxnHeaderId
474              ,secQty  -- INVCONV,NSRIVAST
475              ,secUOM  -- INVCONV,NSRIVAST
479       -- Item is serial controlled
476              );
477       END IF;
478 
480       IF (SerialNum IS NOT NULL) THEN
481 
482          -- If Item is not Lot controlled,
483          -- then use the transaction temp ID
484          -- from the MMTT record
485          IF (LotNum IS NULL) THEN
486             l_serial_temp_id := l_transaction_temp_id;
487          END IF;
488 
489          --Get the serial prefix for this serial number
490          SELECT    AUTO_SERIAL_ALPHA_PREFIX
491            INTO    l_serial_prefix
492            FROM    MTL_SYSTEM_ITEMS
493            WHERE   INVENTORY_ITEM_ID = item_id
494            AND     ORGANIZATION_ID = org_id;
495 
496          --Bug 10313532: Fetch serial attributes from MSN
497          INSERT INTO MTL_SERIAL_NUMBERS_TEMP
498            (  TRANSACTION_TEMP_ID
499              ,LAST_UPDATE_DATE
500              ,LAST_UPDATED_BY
501              ,CREATION_DATE
502              ,CREATED_BY
503              ,LAST_UPDATE_LOGIN
504              ,FM_SERIAL_NUMBER
505              ,TO_SERIAL_NUMBER
506              ,SERIAL_PREFIX
507              ,GROUP_HEADER_ID
508              ,C_ATTRIBUTE1
509              ,C_ATTRIBUTE10
510              ,C_ATTRIBUTE11
511              ,C_ATTRIBUTE12
512              ,C_ATTRIBUTE13
513              ,C_ATTRIBUTE14
514              ,C_ATTRIBUTE15
515              ,C_ATTRIBUTE16
516              ,C_ATTRIBUTE17
517              ,C_ATTRIBUTE18
518              ,C_ATTRIBUTE19
519              ,C_ATTRIBUTE2
520              ,C_ATTRIBUTE20
521              ,C_ATTRIBUTE3
522              ,C_ATTRIBUTE4
523              ,C_ATTRIBUTE5
524              ,C_ATTRIBUTE6
525              ,C_ATTRIBUTE7
526              ,C_ATTRIBUTE8
527              ,C_ATTRIBUTE9
528              ,CYCLES_SINCE_MARK
529              ,CYCLES_SINCE_NEW
530              ,CYCLES_SINCE_OVERHAUL
531              ,CYCLES_SINCE_REPAIR
532              ,CYCLES_SINCE_VISIT
533              ,D_ATTRIBUTE1
534              ,D_ATTRIBUTE10
535              ,D_ATTRIBUTE2
536              ,D_ATTRIBUTE3
537              ,D_ATTRIBUTE4
538              ,D_ATTRIBUTE5
539              ,D_ATTRIBUTE6
540              ,D_ATTRIBUTE7
541              ,D_ATTRIBUTE8
542              ,D_ATTRIBUTE9
543              ,N_ATTRIBUTE1
544              ,N_ATTRIBUTE10
545              ,N_ATTRIBUTE2
546              ,N_ATTRIBUTE3
547              ,N_ATTRIBUTE4
548              ,N_ATTRIBUTE5
549              ,N_ATTRIBUTE6
550              ,N_ATTRIBUTE7
551              ,N_ATTRIBUTE8
552              ,N_ATTRIBUTE9
553              ,NUMBER_OF_REPAIRS
554              ,SERIAL_ATTRIBUTE_CATEGORY
555              ,TERRITORY_CODE
556              ,TIME_SINCE_MARK
557              ,TIME_SINCE_NEW
558              ,TIME_SINCE_OVERHAUL
559              ,TIME_SINCE_REPAIR
560              ,TIME_SINCE_VISIT
561              )
562          SELECT
563               l_serial_temp_id
564              ,SYSDATE
565              ,UserID
566              ,SYSDATE
567              ,UserID
568              ,LoginID
569              ,SerialNum
570              ,SerialNum
571              ,l_serial_prefix
572              ,TxnHeaderId
573              ,C_ATTRIBUTE1
574              ,C_ATTRIBUTE10
575              ,C_ATTRIBUTE11
576              ,C_ATTRIBUTE12
577              ,C_ATTRIBUTE13
578              ,C_ATTRIBUTE14
579              ,C_ATTRIBUTE15
580              ,C_ATTRIBUTE16
581              ,C_ATTRIBUTE17
582              ,C_ATTRIBUTE18
583              ,C_ATTRIBUTE19
584              ,C_ATTRIBUTE2
585              ,C_ATTRIBUTE20
586              ,C_ATTRIBUTE3
587              ,C_ATTRIBUTE4
588              ,C_ATTRIBUTE5
589              ,C_ATTRIBUTE6
590              ,C_ATTRIBUTE7
591              ,C_ATTRIBUTE8
592              ,C_ATTRIBUTE9
593              ,CYCLES_SINCE_MARK
594              ,CYCLES_SINCE_NEW
595              ,CYCLES_SINCE_OVERHAUL
596              ,CYCLES_SINCE_REPAIR
597              ,CYCLES_SINCE_VISIT
598              ,D_ATTRIBUTE1
599              ,D_ATTRIBUTE10
600              ,D_ATTRIBUTE2
601              ,D_ATTRIBUTE3
602              ,D_ATTRIBUTE4
603              ,D_ATTRIBUTE5
604              ,D_ATTRIBUTE6
605              ,D_ATTRIBUTE7
606              ,D_ATTRIBUTE8
607              ,D_ATTRIBUTE9
608              ,N_ATTRIBUTE1
609              ,N_ATTRIBUTE10
610              ,N_ATTRIBUTE2
611              ,N_ATTRIBUTE3
612              ,N_ATTRIBUTE4
613              ,N_ATTRIBUTE5
614              ,N_ATTRIBUTE6
615              ,N_ATTRIBUTE7
616              ,N_ATTRIBUTE8
617              ,N_ATTRIBUTE9
618              ,NUMBER_OF_REPAIRS
619              ,SERIAL_ATTRIBUTE_CATEGORY
620              ,TERRITORY_CODE
621              ,TIME_SINCE_MARK
622              ,TIME_SINCE_NEW
623              ,TIME_SINCE_OVERHAUL
624              ,TIME_SINCE_REPAIR
625              ,TIME_SINCE_VISIT
626             FROM mtl_serial_numbers
627             WHERE inventory_item_id = item_id
628             AND serial_number = SerialNum;
629 
630       END IF;
631 
632     ELSE -- lpn_discrepancy = 1
633       -- LPN discrepancy transaction so the LPN column to
634       -- insert into is CONTENT_LPN_ID
635       INSERT INTO MTL_MATERIAL_TRANSACTIONS_TEMP
636         (
637           TRANSACTION_HEADER_ID,
638           TRANSACTION_TEMP_ID,
639           INVENTORY_ITEM_ID,
640           SUBINVENTORY_CODE,
641           PRIMARY_QUANTITY,
645           ORGANIZATION_ID,
642           TRANSACTION_QUANTITY,
643           TRANSACTION_UOM,
644           TRANSACTION_DATE,
646           ACCT_PERIOD_ID,
647           TRANSACTION_MODE,
648           LAST_UPDATE_DATE,
649           LAST_UPDATED_BY,
650           TRANSACTION_SOURCE_ID,
651           TRANSACTION_SOURCE_TYPE_ID,
652           CYCLE_COUNT_ID,
653           TRANSACTION_TYPE_ID,
654           TRANSACTION_ACTION_ID,
655           TRANSACTION_REFERENCE,
656           REASON_ID,
657           DISTRIBUTION_ACCOUNT_ID,
658           LOT_NUMBER,
659           WAYBILL_AIRBILL, /* Lot expiration date */
660           REVISION,
661           LOCATOR_ID,
662           SERIAL_NUMBER,
663           PROCESS_FLAG,
664           LAST_UPDATE_LOGIN,
665           CREATED_BY,
666           CREATION_DATE,
667           CONTENT_LPN_ID,
668           TRANSFER_SUBINVENTORY,
669           TRANSFER_TO_LOCATION,
670           COST_GROUP_ID,
671           TRANSACTION_BATCH_ID,
672           TRANSACTION_BATCH_SEQ,
673           -- BEGIN INVCONV
674           SECONDARY_UOM_CODE,
675       SECONDARY_TRANSACTION_QUANTITY
676       -- END INVCONV
677           )
678         VALUES
679         (
680           TxnHeaderId,
681           l_transaction_Temp_id,
682           item_id,
683           sub,
684           PUOMQty,
685           TxnQty,
686           TxnUOM,
687           TxnDate,
688           org_id,
689           v_period_id,
690           TxnProcMode,
691           SYSDATE,
692           UserID,
693           cc_header_id,
694           9,
695           NULL, --cc_entry_id,9452528
696           v_transaction_type_id,                 --4159102
697           v_transaction_action_id,
698           TxnRef,
699           ReasonId,
700           TxnAcctID,
701           LotNum,
702           LotExpDate,
703           rev,
704           locator_id,
705           SerialNum,
706           'Y',
707           LoginID,
708           UserID,
709           SYSDATE,
710           lpn_id,
711           transfer_sub,
712           transfer_loc_id,
713           cost_group_id,
714           l_transaction_Temp_id,
715           l_transaction_Temp_id,
716           -- BEGIN INVCONV
717           secUOM,
718       secQty
719       -- END INVCONV
720           );
721    END IF;
722 
723    RETURN 1;
724 
725 EXCEPTION
726    WHEN OTHERS THEN
727      --Bug 4171757 -Throwing the error message "Transaction Failed " to the user if an exception is raised.
728 
729      FND_MESSAGE.SET_NAME('INV','INV_FAILED');
730      FND_MSG_PUB.ADD ;
731 
732      --End of fix for Bug 4171757
733 
734     --Bug 4171757 -Added the following for messages in the INV debug file.
735     IF (l_debug = 1) THEN
736        inv_log_util.TRACE('In the exception block, here throwing the message to the user: ' || 'INV_FAILED', 'MTL_CC_TRANSACT_PKG', 9);
737     END IF;
738     --End of fix for Bug 4171757
739 
740    RETURN - 1;
741 
742 END CC_TRANSACT;
743 
744 
745 END MTL_CC_TRANSACT_PKG;