432: x_transaction_id OUT NOCOPY pls_integer,
433: p_transaction_type IN varchar2,
434: p_transaction_subtype IN varchar2,
435: p_party_type IN varchar2,
436: p_standard In Varchar2,
437: p_direction In Varchar2,
438: x_transaction_description Out NOCOPY Varchar2,
439: x_ext_type Out NOCOPY Varchar2,
440: x_ext_subtype Out NOCOPY Varchar2,
437: p_direction In Varchar2,
438: x_transaction_description Out NOCOPY Varchar2,
439: x_ext_type Out NOCOPY Varchar2,
440: x_ext_subtype Out NOCOPY Varchar2,
441: x_standard_id Out NOCOPY pls_integer,
442: x_queue_name Out NOCOPY Varchar2,
443: x_created_by Out NOCOPY pls_integer,
444: x_creation_date Out NOCOPY date,
445: x_last_updated_by Out NOCOPY pls_integer,
445: x_last_updated_by Out NOCOPY pls_integer,
446: x_last_update_date Out NOCOPY date,
447: p_ext_type In Varchar2 ,
448: p_ext_subtype In Varchar2,
449: p_standard_type IN varchar2
450: )
451: is
452: num varchar2(2000);
453:
482: x_msg := ecx_debug.getTranslatedMessage('ECX_DIRECTION_NOT_NULL');
483: return;
484: end if;
485:
486: if ( p_standard is null )
487: then
488: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
489: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
490: return;
485:
486: if ( p_standard is null )
487: then
488: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
489: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
490: return;
491: end if;
492:
493: if NOT (ECX_UTIL_API.validate_direction(p_direction))
496: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
497: return;
498: end if;
499:
500: -- make sure it is a valid standard.
501: begin
502: select standard_id
503: into x_standard_id
504: from ecx_standards
498: end if;
499:
500: -- make sure it is a valid standard.
501: begin
502: select standard_id
503: into x_standard_id
504: from ecx_standards
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
499:
500: -- make sure it is a valid standard.
501: begin
502: select standard_id
503: into x_standard_id
504: from ecx_standards
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
507: exception
500: -- make sure it is a valid standard.
501: begin
502: select standard_id
503: into x_standard_id
504: from ecx_standards
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
507: exception
508: when no_data_found then
501: begin
502: select standard_id
503: into x_standard_id
504: from ecx_standards
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
507: exception
508: when no_data_found then
509: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_CODE_NOT_FOUND','p_standard',p_standard);
502: select standard_id
503: into x_standard_id
504: from ecx_standards
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
507: exception
508: when no_data_found then
509: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_CODE_NOT_FOUND','p_standard',p_standard);
510: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
505: where standard_code = p_standard
506: and standard_type = p_standard_type;
507: exception
508: when no_data_found then
509: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_CODE_NOT_FOUND','p_standard',p_standard);
510: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
511: return;
512: end;
513:
530: x_last_updated_by,
531: x_last_update_date
532: from ECX_EXT_PROCESSES
533: where transaction_id = x_transaction_id
534: and standard_id = x_standard_id
535: and direction = p_direction
536: and (p_ext_type is null or ext_type=p_ext_type)
537: and (p_ext_subtype is null or ext_subtype=p_ext_subtype);
538:
541: x_return_status := ECX_UTIL_API.G_TOO_MANY_ROWS;
542: x_msg := ecx_debug.getTranslatedMessage('ECX_EXT_PROCESS_TOO_MANY_ROWS',
543: 'p_transaction_type', p_transaction_type,
544: 'p_transaction_subtype', p_transaction_subtype,
545: 'p_standard', p_standard,
546: 'p_direction', p_direction
547: );
548: when no_data_found then
549:
549:
550: x_msg := ecx_debug.getTranslatedMessage('ECX_EXT_TRANSACTION_NOT_FOUND',
551: 'p_transaction_type',p_transaction_type,
552: 'p_transaction_subtype',p_transaction_subtype,
553: 'p_standard',p_standard
554: );
555: x_return_status := ECX_UTIL_API.G_NO_DATA_ERROR;
556: when others then
557: x_msg := substr(SQLERRM,1,200);
569: x_return_status Out NOCOPY pls_integer,
570: x_msg Out NOCOPY varchar2,
571: X_ext_process_id Out NOCOPY pls_integer,
572: p_transaction_id in pls_integer,
573: p_standard In Varchar2,
574: p_direction In Varchar2,
575: x_transaction_description Out NOCOPY Varchar2,
576: x_ext_type Out NOCOPY Varchar2,
577: x_ext_subtype Out NOCOPY Varchar2,
574: p_direction In Varchar2,
575: x_transaction_description Out NOCOPY Varchar2,
576: x_ext_type Out NOCOPY Varchar2,
577: x_ext_subtype Out NOCOPY Varchar2,
578: x_standard_id Out NOCOPY pls_integer,
579: x_queue_name Out NOCOPY Varchar2,
580: x_created_by Out NOCOPY pls_integer,
581: x_creation_date Out NOCOPY date,
582: x_last_updated_by Out NOCOPY pls_integer,
582: x_last_updated_by Out NOCOPY pls_integer,
583: x_last_update_date Out NOCOPY date,
584: p_ext_type In Varchar2 ,
585: p_ext_subtype In Varchar2 ,
586: p_standard_type IN varchar2
587: )
588: is
589: begin
590: x_return_status := ECX_UTIL_API.G_NO_ERROR;
604: x_msg := ecx_debug.getTranslatedMessage('ECX_DIRECTION_NOT_NULL');
605: return;
606: end if;
607:
608: if ( p_standard is null )
609: then
610: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
611: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
612: return;
607:
608: if ( p_standard is null )
609: then
610: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
611: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
612: return;
613: end if;
614:
615: if NOT (ECX_UTIL_API.validate_direction(p_direction))
618: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
619: return;
620: end if;
621:
622: -- make sure it is a valid standard.
623: begin
624: select standard_id
625: into x_standard_id
626: from ecx_standards
620: end if;
621:
622: -- make sure it is a valid standard.
623: begin
624: select standard_id
625: into x_standard_id
626: from ecx_standards
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
621:
622: -- make sure it is a valid standard.
623: begin
624: select standard_id
625: into x_standard_id
626: from ecx_standards
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
629: exception
622: -- make sure it is a valid standard.
623: begin
624: select standard_id
625: into x_standard_id
626: from ecx_standards
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
629: exception
630: when no_data_found then
623: begin
624: select standard_id
625: into x_standard_id
626: from ecx_standards
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
629: exception
630: when no_data_found then
631: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
624: select standard_id
625: into x_standard_id
626: from ecx_standards
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
629: exception
630: when no_data_found then
631: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
632: 'p_standard',p_standard,
627: where standard_code = p_standard
628: and standard_type = p_standard_type;
629: exception
630: when no_data_found then
631: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
632: 'p_standard',p_standard,
633: 'p_std_type', p_standard_type);
634: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
635: return;
628: and standard_type = p_standard_type;
629: exception
630: when no_data_found then
631: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
632: 'p_standard',p_standard,
633: 'p_std_type', p_standard_type);
634: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
635: return;
636: end;
629: exception
630: when no_data_found then
631: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
632: 'p_standard',p_standard,
633: 'p_std_type', p_standard_type);
634: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
635: return;
636: end;
637:
658: from ECX_EXT_PROCESSES eep,
659: ECX_TRANSACTIONS_VL et
660: where et.transaction_id = p_transaction_id
661: and et.transaction_id = eep.transaction_id
662: and eep.standard_id = x_standard_id
663: and eep.direction = p_direction
664: and (p_ext_type is null or eep.ext_type=p_ext_type)
665: and (p_ext_subtype is null or eep.ext_subtype=p_ext_subtype);
666: exception
666: exception
667: when too_many_rows then
668: x_return_status := ECX_UTIL_API.G_TOO_MANY_ROWS;
669: x_msg := ecx_debug.getTranslatedMessage('ECX_EXT_PROCESS1_TOO_MANY_ROWS', 'p_transaction_id', p_transaction_id,
670: 'p_standard', p_standard,
671: 'p_direction', p_direction
672: );
673:
674: when no_data_found then
673:
674: when no_data_found then
675: x_msg := ecx_debug.getTranslatedMessage('ECX_EXT_TRANSACTION1_NOT_FOUND',
676: 'p_transaction_id', p_transaction_id,
677: 'p_standard',p_standard,
678: 'p_direction',p_direction
679: );
680: x_return_status := ECX_UTIL_API.G_NO_DATA_ERROR;
681: when others then
695: X_ext_process_id Out NOCOPY Pls_integer,
696: p_transaction_id in Pls_integer,
697: p_ext_type In Varchar2,
698: p_ext_subtype In Varchar2,
699: p_standard In Varchar2,
700: p_queue_name In Varchar2,
701: p_direction In Varchar2,
702: p_owner in varchar2 ,
703: p_standard_type IN varchar2
699: p_standard In Varchar2,
700: p_queue_name In Varchar2,
701: p_direction In Varchar2,
702: p_owner in varchar2 ,
703: p_standard_type IN varchar2
704: )
705: is
706: I_stand_id pls_integer;
707: x_return_code pls_integer;
738: x_msg := ecx_debug.getTranslatedMessage('ECX_DIRECTION_NOT_NULL');
739: return;
740: end if;
741:
742: if ( p_standard is null )
743: then
744: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
745: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
746: return;
741:
742: if ( p_standard is null )
743: then
744: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
745: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
746: return;
747: end if;
748:
749: if NOT (ECX_UTIL_API.validate_direction(p_direction))
770: return;
771: end if;
772: end if;
773:
774: -- make sure it is a valid standard.
775: begin
776: select standard_id
777: into I_stand_id
778: from ecx_standards
772: end if;
773:
774: -- make sure it is a valid standard.
775: begin
776: select standard_id
777: into I_stand_id
778: from ecx_standards
779: where standard_code = p_standard
780: and standard_type = p_standard_type;
774: -- make sure it is a valid standard.
775: begin
776: select standard_id
777: into I_stand_id
778: from ecx_standards
779: where standard_code = p_standard
780: and standard_type = p_standard_type;
781: exception
782: when no_data_found then
775: begin
776: select standard_id
777: into I_stand_id
778: from ecx_standards
779: where standard_code = p_standard
780: and standard_type = p_standard_type;
781: exception
782: when no_data_found then
783: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
776: select standard_id
777: into I_stand_id
778: from ecx_standards
779: where standard_code = p_standard
780: and standard_type = p_standard_type;
781: exception
782: when no_data_found then
783: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
784: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
780: and standard_type = p_standard_type;
781: exception
782: when no_data_found then
783: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
784: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
785: 'p_standard', p_standard,
786: 'p_std_type', p_standard_type);
787: return;
788: end;
781: exception
782: when no_data_found then
783: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
784: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
785: 'p_standard', p_standard,
786: 'p_std_type', p_standard_type);
787: return;
788: end;
789:
782: when no_data_found then
783: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
784: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
785: 'p_standard', p_standard,
786: 'p_std_type', p_standard_type);
787: return;
788: end;
789:
790: -- make sure the ext_type and ext_subtype doesnt exists.
808: EXT_PROCESS_ID,
809: EXT_TYPE,
810: EXT_SUBTYPE,
811: TRANSACTION_ID,
812: STANDARD_ID,
813: QUEUE_NAME,
814: DIRECTION,
815: CREATED_BY,
816: CREATION_DATE,
859: p_transaction_subtype In Varchar2,
860: p_party_type In Varchar2,
861: p_ext_type In Varchar2,
862: p_ext_subtype In Varchar2,
863: p_standard In Varchar2,
864: p_queue_name In Varchar2,
865: p_direction In Varchar2,
866: p_owner IN varchar2 ,
867: p_standard_type IN varchar2
863: p_standard In Varchar2,
864: p_queue_name In Varchar2,
865: p_direction In Varchar2,
866: p_owner IN varchar2 ,
867: p_standard_type IN varchar2
868: )
869: is
870: i_transaction_description varchar2(256);
871: i_created_by pls_integer;
903: x_ext_process_id => x_ext_process_id,
904: p_transaction_id => x_transaction_id,
905: p_ext_type => p_ext_type,
906: p_ext_subtype => p_ext_subtype,
907: p_standard => p_standard,
908: p_queue_name => p_queue_name,
909: p_direction => p_direction,
910: p_owner => p_owner,
911: p_standard_type => p_standard_type
907: p_standard => p_standard,
908: p_queue_name => p_queue_name,
909: p_direction => p_direction,
910: p_owner => p_owner,
911: p_standard_type => p_standard_type
912: );
913: exception
914: when others then
915: x_msg := substr(SQLERRM,1,200);
917: end create_external_transaction;
918:
919: /**
920: Update_Ext_Process API is used to update an existing external process definition in the ECX_EXT_PROCESSES table.
921: This API allows users to update the ext_type, ext_subtype, standard, queue_name and direction by
922: specifying the ext_process_id.
923: **/
924: procedure update_external_transaction
925: (
927: x_msg Out NOCOPY varchar2,
928: p_ext_process_id In pls_integer,
929: p_ext_type In Varchar2,
930: p_ext_subtype In Varchar2,
931: p_standard In Varchar2,
932: p_queue_name In Varchar2,
933: p_direction In Varchar2,
934: p_owner in varchar2 ,
935: p_standard_type IN varchar2
931: p_standard In Varchar2,
932: p_queue_name In Varchar2,
933: p_direction In Varchar2,
934: p_owner in varchar2 ,
935: p_standard_type IN varchar2
936: )
937: is
938: I_stand_id pls_integer;
939: i_last_updated_by pls_integer;
968: x_msg := ecx_debug.getTranslatedMessage('ECX_DIRECTION_NOT_NULL');
969: return;
970: end if;
971:
972: if ( p_standard is null )
973: then
974: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
975: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
976: return;
971:
972: if ( p_standard is null )
973: then
974: x_return_status := ECX_UTIL_API.G_NULL_PARAM;
975: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_NULL');
976: return;
977: end if;
978:
979: if NOT (ECX_UTIL_API.validate_direction(p_direction))
1000: return;
1001: end if;
1002: end if;
1003:
1004: -- make sure it is a valid standard.
1005: begin
1006: select standard_id
1007: into I_stand_id
1008: from ecx_standards
1002: end if;
1003:
1004: -- make sure it is a valid standard.
1005: begin
1006: select standard_id
1007: into I_stand_id
1008: from ecx_standards
1009: where standard_code = p_standard
1010: and standard_type = p_standard_type;
1004: -- make sure it is a valid standard.
1005: begin
1006: select standard_id
1007: into I_stand_id
1008: from ecx_standards
1009: where standard_code = p_standard
1010: and standard_type = p_standard_type;
1011: exception
1012: when no_data_found then
1005: begin
1006: select standard_id
1007: into I_stand_id
1008: from ecx_standards
1009: where standard_code = p_standard
1010: and standard_type = p_standard_type;
1011: exception
1012: when no_data_found then
1013: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
1006: select standard_id
1007: into I_stand_id
1008: from ecx_standards
1009: where standard_code = p_standard
1010: and standard_type = p_standard_type;
1011: exception
1012: when no_data_found then
1013: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
1014: 'p_standard', p_standard,
1009: where standard_code = p_standard
1010: and standard_type = p_standard_type;
1011: exception
1012: when no_data_found then
1013: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
1014: 'p_standard', p_standard,
1015: 'p_std_type', p_standard_type);
1016: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
1017: return;
1010: and standard_type = p_standard_type;
1011: exception
1012: when no_data_found then
1013: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
1014: 'p_standard', p_standard,
1015: 'p_std_type', p_standard_type);
1016: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
1017: return;
1018: end;
1011: exception
1012: when no_data_found then
1013: x_msg := ecx_debug.getTranslatedMessage('ECX_STANDARD_NOT_FOUND',
1014: 'p_standard', p_standard,
1015: 'p_std_type', p_standard_type);
1016: x_return_status := ECX_UTIL_API.G_INVALID_PARAM;
1017: return;
1018: end;
1019:
1028: -- SHould we allow to update the Unqiue itself?
1029: update ECX_EXT_PROCESSES
1030: set ext_type = p_ext_type,
1031: ext_subtype = p_ext_subtype,
1032: standard_id = I_stand_id,
1033: queue_name = p_queue_name,
1034: direction = p_direction,
1035: last_updated_by = i_last_updated_by,
1036: last_update_date = sysdate