[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;