90:
91: PJM_DEBUG.Debug( 'CREATE_TRANSFER_TRANSACTION'
92: , G_MODULE , FND_LOG.LEVEL_PROCEDURE );
93:
94: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
95:
96: --
97: -- Fetching value for TRANSACTION_TEMP_ID
98: --
333: -- Serial count does not match transaction quantity, error out
334: --
335: FND_MESSAGE.set_name('INV' , 'INV_SERQTY_NOTMATCH');
336: FND_MSG_PUB.add;
337: RAISE FND_API.G_EXC_ERROR;
338: END IF;
339: */
340: END IF;
341:
342: PJM_DEBUG.Debug( 'CREATE_TRANSFER_TRANSACTION completed'
343: , G_MODULE , FND_LOG.LEVEL_PROCEDURE );
344:
345: EXCEPTION
346: WHEN FND_API.G_EXC_ERROR THEN
347: ROLLBACK TO create_txfr_txn;
348: X_Return_Status := FND_API.G_RET_STS_ERROR;
349: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
350: , p_data => X_Msg_Data );
344:
345: EXCEPTION
346: WHEN FND_API.G_EXC_ERROR THEN
347: ROLLBACK TO create_txfr_txn;
348: X_Return_Status := FND_API.G_RET_STS_ERROR;
349: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
350: , p_data => X_Msg_Data );
351:
352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
348: X_Return_Status := FND_API.G_RET_STS_ERROR;
349: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
350: , p_data => X_Msg_Data );
351:
352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
353: ROLLBACK TO create_txfr_txn;
354: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
355: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
356: , p_data => X_Msg_Data );
350: , p_data => X_Msg_Data );
351:
352: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
353: ROLLBACK TO create_txfr_txn;
354: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
355: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
356: , p_data => X_Msg_Data );
357:
358: WHEN OTHERS THEN
356: , p_data => X_Msg_Data );
357:
358: WHEN OTHERS THEN
359: ROLLBACK TO create_txfr_txn;
360: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
361: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
362: FND_MSG_PUB.add_exc_msg
363: ( p_pkg_name => G_PKG_NAME
364: , p_procedure_name => 'CREATE_TRANSFER_TRANSACTION:' || progress);
438:
439: --
440: -- Check API incompatibility
441: --
442: IF NOT FND_API.Compatible_API_Call( l_api_version
443: , P_api_version
444: , l_api_name
445: , G_PKG_NAME )
446: THEN
443: , P_api_version
444: , l_api_name
445: , G_PKG_NAME )
446: THEN
447: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
448: END IF;
449:
450: --
451: -- Initialize the message table if requested.
449:
450: --
451: -- Initialize the message table if requested.
452: --
453: IF FND_API.TO_BOOLEAN( P_init_msg_list ) THEN
454: FND_MSG_PUB.initialize;
455: END IF;
456:
457: --
456:
457: --
458: -- Set API return status to success
459: --
460: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
461:
462: --
463: -- Get Current Open Accounting Period based on Transaction Date
464: -- if not already done
475: --
476: IF ( acct_period = 0 ) THEN
477: FND_MESSAGE.set_name('INV' , 'INV_NO_OPEN_PERIOD');
478: FND_MSG_PUB.add;
479: RAISE FND_API.G_EXC_ERROR;
480: ELSIF ( acct_period = -1 ) THEN
481: FND_MESSAGE.set_name('INV' , 'INV_RETRIEVE_PERIOD');
482: FND_MSG_PUB.add;
483: RAISE FND_API.G_EXC_ERROR;
479: RAISE FND_API.G_EXC_ERROR;
480: ELSIF ( acct_period = -1 ) THEN
481: FND_MESSAGE.set_name('INV' , 'INV_RETRIEVE_PERIOD');
482: FND_MSG_PUB.add;
483: RAISE FND_API.G_EXC_ERROR;
484: END IF;
485:
486: --
487: -- Get Transaction Header ID if not already done
541: PJM_DEBUG.Debug('item_id => ' || item_id);
542:
543: Item_Transfer
544: ( P_api_version => P_api_version
545: , P_init_msg_list => FND_API.G_FALSE
546: , P_commit => FND_API.G_FALSE
547: , X_Return_Status => X_Return_Status
548: , X_Msg_Count => X_Msg_Count
549: , X_Msg_Data => X_Msg_Data
542:
543: Item_Transfer
544: ( P_api_version => P_api_version
545: , P_init_msg_list => FND_API.G_FALSE
546: , P_commit => FND_API.G_FALSE
547: , X_Return_Status => X_Return_Status
548: , X_Msg_Count => X_Msg_Count
549: , X_Msg_Data => X_Msg_Data
550: , P_Process_Mode => P_Process_Mode
563: , X_Txn_Header_ID => X_Txn_Header_ID
564: , X_Txn_Count => txn_count
565: );
566:
567: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
570: RAISE FND_API.G_EXC_ERROR;
571: END IF;
564: , X_Txn_Count => txn_count
565: );
566:
567: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
570: RAISE FND_API.G_EXC_ERROR;
571: END IF;
572:
565: );
566:
567: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
570: RAISE FND_API.G_EXC_ERROR;
571: END IF;
572:
573: X_Txn_Count := X_Txn_Count + txn_count;
566:
567: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
568: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
569: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
570: RAISE FND_API.G_EXC_ERROR;
571: END IF;
572:
573: X_Txn_Count := X_Txn_Count + txn_count;
574:
576:
577: --
578: -- Stanard commit check
579: --
580: IF FND_API.To_Boolean( p_commit ) THEN
581: COMMIT WORK;
582: END IF;
583:
584: --
591: PJM_DEBUG.Debug( l_api_name || ' completed'
592: , G_MODULE , FND_LOG.LEVEL_PROCEDURE );
593:
594: EXCEPTION
595: WHEN FND_API.G_EXC_ERROR THEN
596: ROLLBACK TO pjm_mass_transfer;
597: X_Return_Status := FND_API.G_RET_STS_ERROR;
598: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
599: , p_data => X_Msg_Data );
593:
594: EXCEPTION
595: WHEN FND_API.G_EXC_ERROR THEN
596: ROLLBACK TO pjm_mass_transfer;
597: X_Return_Status := FND_API.G_RET_STS_ERROR;
598: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
599: , p_data => X_Msg_Data );
600:
601: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
597: X_Return_Status := FND_API.G_RET_STS_ERROR;
598: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
599: , p_data => X_Msg_Data );
600:
601: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
602: ROLLBACK TO pjm_mass_transfer;
603: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
604: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
605: , p_data => X_Msg_Data );
599: , p_data => X_Msg_Data );
600:
601: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
602: ROLLBACK TO pjm_mass_transfer;
603: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
604: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
605: , p_data => X_Msg_Data );
606:
607: WHEN OTHERS THEN
605: , p_data => X_Msg_Data );
606:
607: WHEN OTHERS THEN
608: ROLLBACK TO pjm_mass_transfer;
609: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
610: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
611: FND_MSG_PUB.add_exc_msg
612: ( p_pkg_name => G_PKG_NAME
613: , p_procedure_name => 'TRANSFER');
698:
699: --
700: -- Check API incompatibility
701: --
702: IF NOT FND_API.Compatible_API_Call( l_api_version
703: , P_api_version
704: , l_api_name
705: , G_PKG_NAME )
706: THEN
703: , P_api_version
704: , l_api_name
705: , G_PKG_NAME )
706: THEN
707: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
708: END IF;
709:
710: --
711: -- Initialize the message table if requested.
709:
710: --
711: -- Initialize the message table if requested.
712: --
713: IF FND_API.TO_BOOLEAN( P_init_msg_list ) THEN
714: FND_MSG_PUB.initialize;
715: END IF;
716:
717: --
716:
717: --
718: -- Set API return status to success
719: --
720: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
721:
722: --
723: -- Get Current Open Accounting Period based on Transaction Date
724: -- if not already done
735: --
736: IF ( acct_period = 0 ) THEN
737: FND_MESSAGE.set_name('INV' , 'INV_NO_OPEN_PERIOD');
738: FND_MSG_PUB.add;
739: RAISE FND_API.G_EXC_ERROR;
740: ELSIF ( acct_period = -1 ) THEN
741: FND_MESSAGE.set_name('INV' , 'INV_RETRIEVE_PERIOD');
742: FND_MSG_PUB.add;
743: RAISE FND_API.G_EXC_ERROR;
739: RAISE FND_API.G_EXC_ERROR;
740: ELSIF ( acct_period = -1 ) THEN
741: FND_MESSAGE.set_name('INV' , 'INV_RETRIEVE_PERIOD');
742: FND_MSG_PUB.add;
743: RAISE FND_API.G_EXC_ERROR;
744: END IF;
745:
746: --
747: -- Get Transaction Header ID if not already done
801: , X_Msg_Count => X_Msg_Count
802: , X_Msg_Data => X_Msg_Data
803: );
804:
805: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
802: , X_Msg_Data => X_Msg_Data
803: );
804:
805: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
810:
803: );
804:
805: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
810:
811: txn_count := txn_count + 1;
804:
805: IF ( X_Return_Status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
806: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
807: ELSIF ( X_Return_Status = FND_API.G_RET_STS_ERROR ) THEN
808: RAISE FND_API.G_EXC_ERROR;
809: END IF;
810:
811: txn_count := txn_count + 1;
812:
818:
819: --
820: -- Stanard commit check
821: --
822: IF FND_API.To_Boolean( p_commit ) THEN
823: COMMIT WORK;
824: END IF;
825:
826: --
833: PJM_DEBUG.Debug( l_api_name || ' completed'
834: , G_MODULE , FND_LOG.LEVEL_PROCEDURE );
835:
836: EXCEPTION
837: WHEN FND_API.G_EXC_ERROR THEN
838: ROLLBACK TO pjm_mass_transfer_item;
839: X_Return_Status := FND_API.G_RET_STS_ERROR;
840: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
841: , p_data => X_Msg_Data );
835:
836: EXCEPTION
837: WHEN FND_API.G_EXC_ERROR THEN
838: ROLLBACK TO pjm_mass_transfer_item;
839: X_Return_Status := FND_API.G_RET_STS_ERROR;
840: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
841: , p_data => X_Msg_Data );
842:
843: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
839: X_Return_Status := FND_API.G_RET_STS_ERROR;
840: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
841: , p_data => X_Msg_Data );
842:
843: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
844: ROLLBACK TO pjm_mass_transfer_item;
845: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
846: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
847: , p_data => X_Msg_Data );
841: , p_data => X_Msg_Data );
842:
843: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
844: ROLLBACK TO pjm_mass_transfer_item;
845: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
846: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
847: , p_data => X_Msg_Data );
848:
849: WHEN OTHERS THEN
847: , p_data => X_Msg_Data );
848:
849: WHEN OTHERS THEN
850: ROLLBACK TO pjm_mass_transfer_item;
851: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
852: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
853: FND_MSG_PUB.add_exc_msg
854: ( p_pkg_name => G_PKG_NAME
855: , p_procedure_name => 'ITEM_TRANSFER');
932:
933: --
934: -- Check API incompatibility
935: --
936: IF NOT FND_API.Compatible_API_Call( l_api_version
937: , P_api_version
938: , l_api_name
939: , G_PKG_NAME )
940: THEN
937: , P_api_version
938: , l_api_name
939: , G_PKG_NAME )
940: THEN
941: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
942: END IF;
943:
944: --
945: -- Initialize the message table if requested.
943:
944: --
945: -- Initialize the message table if requested.
946: --
947: IF FND_API.TO_BOOLEAN( P_init_msg_list ) THEN
948: FND_MSG_PUB.initialize;
949: END IF;
950:
951: --
950:
951: --
952: -- Set API return status to success
953: --
954: X_Return_Status := FND_API.G_RET_STS_SUCCESS;
955:
956: X_Txn_Count := 0;
957:
958: --
987: -- transfer procedure directly
988: --
989: PJM_MASS_TRANSFER_PUB.Item_Transfer
990: ( P_api_version => 1.0
991: , P_init_msg_list => FND_API.G_FALSE
992: , P_commit => FND_API.G_FALSE
993: , X_Return_Status => X_Return_Status
994: , X_Msg_Count => X_Msg_Count
995: , X_Msg_Data => X_Msg_Data
988: --
989: PJM_MASS_TRANSFER_PUB.Item_Transfer
990: ( P_api_version => 1.0
991: , P_init_msg_list => FND_API.G_FALSE
992: , P_commit => FND_API.G_FALSE
993: , X_Return_Status => X_Return_Status
994: , X_Msg_Count => X_Msg_Count
995: , X_Msg_Data => X_Msg_Data
996: , P_Process_Mode => hrec.process_mode
1013: ELSE
1014:
1015: PJM_MASS_TRANSFER_PUB.Transfer
1016: ( P_api_version => 1.0
1017: , P_init_msg_list => FND_API.G_FALSE
1018: , P_commit => FND_API.G_FALSE
1019: , X_Return_Status => X_Return_Status
1020: , X_Msg_Count => X_Msg_Count
1021: , X_Msg_Data => X_Msg_Data
1014:
1015: PJM_MASS_TRANSFER_PUB.Transfer
1016: ( P_api_version => 1.0
1017: , P_init_msg_list => FND_API.G_FALSE
1018: , P_commit => FND_API.G_FALSE
1019: , X_Return_Status => X_Return_Status
1020: , X_Msg_Count => X_Msg_Count
1021: , X_Msg_Data => X_Msg_Data
1022: , P_Process_Mode => hrec.process_mode
1081:
1082: --
1083: -- Stanard commit check
1084: --
1085: IF FND_API.To_Boolean( p_commit ) THEN
1086: COMMIT WORK;
1087: END IF;
1088:
1089: --
1096: PJM_DEBUG.Debug( l_api_name || ' completed'
1097: , G_MODULE , FND_LOG.LEVEL_EVENT );
1098:
1099: EXCEPTION
1100: WHEN FND_API.G_EXC_ERROR THEN
1101: ROLLBACK TO pjm_mass_transfer;
1102: X_Return_Status := FND_API.G_RET_STS_ERROR;
1103: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
1104: , p_data => X_Msg_Data );
1098:
1099: EXCEPTION
1100: WHEN FND_API.G_EXC_ERROR THEN
1101: ROLLBACK TO pjm_mass_transfer;
1102: X_Return_Status := FND_API.G_RET_STS_ERROR;
1103: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
1104: , p_data => X_Msg_Data );
1105:
1106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1102: X_Return_Status := FND_API.G_RET_STS_ERROR;
1103: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
1104: , p_data => X_Msg_Data );
1105:
1106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1107: ROLLBACK TO pjm_mass_transfer;
1108: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1109: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
1110: , p_data => X_Msg_Data );
1104: , p_data => X_Msg_Data );
1105:
1106: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1107: ROLLBACK TO pjm_mass_transfer;
1108: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1109: FND_MSG_PUB.Count_And_Get( p_count => X_Msg_Count
1110: , p_data => X_Msg_Data );
1111:
1112: WHEN OTHERS THEN
1110: , p_data => X_Msg_Data );
1111:
1112: WHEN OTHERS THEN
1113: ROLLBACK TO pjm_mass_transfer;
1114: X_Return_Status := FND_API.G_RET_STS_UNEXP_ERROR;
1115: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1116: FND_MSG_PUB.add_exc_msg
1117: ( p_pkg_name => G_PKG_NAME
1118: , p_procedure_name => 'MASS_TRANSFER');