DBA Data[Home] [Help]

PACKAGE BODY: APPS.XDP_ADAPTER_CORE_XML

Source


1 PACKAGE BODY XDP_ADAPTER_CORE_XML AS
2 /* $Header: XDPACOXB.pls 115.5 2002/05/14 13:22:05 pkm ship      $ */
3 
4 -- Private PL/SQL routines
5 
6 Function BuildAttrXML(p_FeAttributes XDP_TYPES.ORDER_PARAMETER_LIST)
7 	return varchar2;
8 
9 Function ConstructXMLPair(p_Tag in varchar2,
10 			  p_Value in varchar2,
11 			  p_Level in number default 0) return varchar2;
12 
13 -- End of Private Routines
14 
15 
16 -- Start of Public Routines
17 
18 Function ConstructSendXML(p_Command in varchar2,
19 			  p_Response in varchar2) return varchar2
20 is
21  SendXML varchar2(32767);
22 begin
23 	xnp_xml_utils.initialize_doc ;
24 	xnp_xml_utils.xml_decl ;
25 	xnp_xml_utils.begin_segment ( pv_elemCommand) ;
26 
27 	xnp_xml_utils.write_element( pv_elemOperation, 'SEND');
28 
29 	--xnp_xml_utils.write_element ( pv_elemSendCmd, xnp_xml_utils.convert(p_Command)) ;
30 	--xnp_xml_utils.write_element ( pv_elemSendResp, xnp_xml_utils.convert(p_Response)) ;
31 	xnp_xml_utils.write_element ( pv_elemSendCmd, p_Command);
32 	xnp_xml_utils.write_element ( pv_elemSendResp, p_Response);
33 
34 	xnp_xml_utils.end_segment ( pv_elemCommand) ;
35 
36         xnp_xml_utils.get_document(SendXML) ;
37 
38 	return (SendXML);
39 end ConstructSendXML;
40 
41 
42 Function ConstructControlXML(p_Operation in varchar2,
43 			     p_OpData in varchar2 default null) return varchar2
44 is
45  ControlXML varchar2(32767);
46 begin
47 	xnp_xml_utils.initialize_doc ;
48 	xnp_xml_utils.xml_decl ;
49 	xnp_xml_utils.begin_segment ( pv_elemCommand) ;
50 
51 
52 	xnp_xml_utils.write_element( pv_elemOperation, xnp_xml_utils.convert(p_Operation));
53 	if p_OpData is not null then
54 --		xnp_xml_utils.write_element( pv_elemData, xnp_xml_utils.convert(p_OpData));
55 		xnp_xml_utils.write_element( pv_elemData,p_OpData);
56 	end if;
57 
58 	xnp_xml_utils.end_segment ( pv_elemCommand) ;
59         xnp_xml_utils.get_document(ControlXML) ;
60 
61 	return (ControlXML);
62 
63 end ConstructControlXML;
64 
65 
66 Function ConstructRespXML(p_Status in varchar2,
67 			  p_RespData in varchar2 default null,
68 			  p_MoreFlag in varchar2 default 'N',
69 			  p_Timeout in number default null) return varchar2
70 is
71 
72  RespXML varchar2(32767);
73 begin
74 
75 	xnp_xml_utils.initialize_doc ;
76 	xnp_xml_utils.xml_decl ;
77 	xnp_xml_utils.begin_segment (pv_elemResp) ;
78 
79 	xnp_xml_utils.write_element( pv_elemStatus, p_Status);
80 	xnp_xml_utils.write_element( pv_elemMoreFlag,p_MoreFlag);
81 
82 	if p_RespData is not null then
83 		xnp_xml_utils.write_element( pv_elemData, xnp_xml_utils.convert(p_RespData));
84 	end if;
85 
86 	if p_Timeout is not null then
87 		xnp_xml_utils.write_element( pv_elemTimeout, to_char(p_Timeout));
88 	end if;
89 
90 	xnp_xml_utils.end_segment ( pv_elemResp) ;
91         xnp_xml_utils.get_document(RespXML) ;
92 
93 	return (RespXML);
94 
95 end ConstructRespXML;
96 
97 
98 Function DecodeMessage (p_WhattoDecode in varchar2,
99 		        p_XMLMessage in varchar2) return varchar2
100 is
101  AttrValue varchar2(32767);
102 begin
103 	xnp_xml_utils.decode(p_msg_text => p_XMLMessage,
104 			     p_tag => p_WhattoDecode,
105 			     x_value => AttrValue);
106 
107 	return AttrValue;
108 
109 end DecodeMessage;
110 
111 Function BuildAttrXML(p_FeAttributes XDP_TYPES.ORDER_PARAMETER_LIST)
112 	return varchar2
113 is
114  FeAttrXML varchar2(32767);
115 begin
116  FeAttrXML := g_tab || '<ATTRIBUTES>';
117 
118 	for i in 1..p_FeAttributes.COUNT loop
119 		FeAttrXML := FeAttrXML || g_new_line ||
120 				g_tab || g_tab || '<ATTR>' || g_new_line ||
121 			ConstructXMLPair(p_Tag => 'NAME',
122 					 p_Value => p_FeAttributes(i).parameter_name,
123 					 p_Level => 3);
124 
125 		FeAttrXML := FeAttrXML || g_new_line ||
126 			ConstructXMLPair(p_Tag => 'VALUE',
127 					 p_Value => p_FeAttributes(i).parameter_value,
128 					 p_Level => 3);
129 
130 		FeAttrXML := FeAttrXML || g_new_line || g_tab || g_tab || '</ATTR>';
131 
132 	end loop;
133 
134 	FeAttrXML := FeAttrXML || g_new_line || g_tab || '</ATTRIBUTES>';
135 
136 	return (FeAttrXML);
137 
138 end BuildAttrXML;
139 
140 Function ConstructXMLPair(p_Tag in varchar2,
141 			  p_Value in varchar2,
142 			  p_Level in number default 0) return varchar2
143 is
144  XMLString varchar2(32767);
145  TabTagString varchar2(4000);
146  TabValueString varchar2(4000) := g_tab;
147 begin
148 
149  for i in 1..p_Level loop
150 	TabTagString := TabTagString || g_tab;
151 	TabValueString := TabValueString || g_tab;
152  end loop;
153 
154  XMLString :=
155 	TabTagString   || '<' || ConstructXMLPair.p_Tag || '>' || g_new_line ||
156 	TabValueString || ConstructXMLPair.p_Value || g_new_line ||
157 	TabTagString   || '</' || ConstructXMLPair.p_Tag || '>';
158 
159  return (XMLString);
160 
161 end ConstructXMLPair;
162 
163 end XDP_ADAPTER_CORE_XML;