SQL XML Document format - Sequence of excecution for the sentences
Hi, I am using XML SQL Document format to send actions to an Oracle database.
My concern is this: I need to insert several invoice header lines then after that I need to insert the Invoice position lines and then, at the end, i need to excecute an store procedure.
If I do all that in one message, each sentence is treated by the DB in order ? or is it treated in paralel?
It is possible to excecute StatementName1 StatementName2 and StatementName3 in that exact order?
An example of the xml message is this...
<Message>
<StatementName1>
<dbTableName action=u201DINSERTu201D>
<table>TABLE1</table>
<access>
<col1>val1</col1>
<col2>val2</col2>
</access>
<access>
<col1>val11</col1>
</access>
</dbTableName>
</StatementName1>
<StatementName2>
<dbTableName action=u201DINSERTu201D>
<table>TABLE2</table>
<access>
<col1>val1</col1>
<col2>val2</col2>
</access>
<access>
<col1>val11</col1>
</access>
</dbTableName>
</StatementName2>
<StatementName3>
<storedProcedureName action=u201D EXECUTEu201D>
<table>realStoredProcedureeName</table>
<param1 [isInput=u201Dtrueu201D] [isOutput=true] type=SQLDatatype>val1</param1>
</storedProcedureName >
</StatementName3>
</Message>
I just want to clarify I need to execute the sentences serially, also i am using a JDBC adapter in XI to do the connection.
On the other hand I believe the order of excecution has relation with the DB and not with the SAP program, because once the message is received by de DB, how it treats it is a responsability of the DB.
Thanks.
Mariano.
Similar Messages
-
XML Document Format for JDBC Receiver(Between operation)
Hello everybody,
is there a way to use a BETWEEN operation for the key in a SELECT XML document format????????, I need to filter in the Where for different Statements in teh strcuture as BETWEEN, thanks in advance.
Regards,
Juliohttp://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
Not sure but Check the option of
<key1>
<col2 compareOperation=u201DLTu201D>val2old</col2>
<col2 compareOperation=u201DGTu201D>val2old</col2>
</key1>
Thanks,
Beena. -
Team , Thanks for looking into this ..
As a last resort on optimizing my stored procedure ( Below ) i wanted to create a Selective XML index ( Normal XML indexes doesn't seem to be improving performance as needed ) but i keep getting this error within my stored proc . Selective XML
Index feature is not supported for the current database version.. How ever
EXECUTE sys.sp_db_selective_xml_index; return 1 , stating Selective XML Indexes are enabled on my current database .
Is there ANY alternative way i can optimize below stored proc ?
Thanks in advance for your response(s) !
/****** Object: StoredProcedure [dbo].[MN_Process_DDLSchema_Changes] Script Date: 3/11/2015 3:10:42 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- EXEC [dbo].[MN_Process_DDLSchema_Changes]
ALTER PROCEDURE [dbo].[MN_Process_DDLSchema_Changes]
AS
BEGIN
SET NOCOUNT ON --Does'nt have impact ( May be this wont on SQL Server Extended events session's being created on Server(s) , DB's )
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select getdate() as getdate_0
DECLARE @XML XML , @Prev_Insertion_time DATETIME
-- Staging Previous Load time for filtering purpose ( Performance optimize while on insert )
SET @Prev_Insertion_time = (SELECT MAX(EE_Time_Stamp) FROM dbo.MN_DDLSchema_Changes_log ) -- Perf Optimize
-- PRINT '1'
CREATE TABLE #Temp
EventName VARCHAR(100),
Time_Stamp_EE DATETIME,
ObjectName VARCHAR(100),
ObjectType VARCHAR(100),
DbName VARCHAR(100),
ddl_Phase VARCHAR(50),
ClientAppName VARCHAR(2000),
ClientHostName VARCHAR(100),
server_instance_name VARCHAR(100),
ServerPrincipalName VARCHAR(100),
nt_username varchar(100),
SqlText NVARCHAR(MAX)
CREATE TABLE #XML_Hold
ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY , -- PK necessity for Indexing on XML Col
BufferXml XML
select getdate() as getdate_01
INSERT INTO #XML_Hold (BufferXml)
SELECT
CAST(target_data AS XML) AS BufferXml -- Buffer Storage from SQL Extended Event(s) , Looks like there is a limitation with xml size ?? Need to re-search .
FROM sys.dm_xe_session_targets xet
INNER JOIN sys.dm_xe_sessions xes
ON xes.address = xet.event_session_address
WHERE xes.name = 'Capture DDL Schema Changes' --Ryelugu : 03/05/2015 Session being created withing SQL Server Extended Events
--RETURN
--SELECT * FROM #XML_Hold
select getdate() as getdate_1
-- 03/10/2015 RYelugu : Error while creating XML Index : Selective XML Index feature is not supported for the current database version
CREATE SELECTIVE XML INDEX SXI_TimeStamp ON #XML_Hold(BufferXml)
FOR
PathTimeStamp ='/RingBufferTarget/event/timestamp' AS XQUERY 'node()'
--RETURN
--CREATE PRIMARY XML INDEX [IX_XML_Hold] ON #XML_Hold(BufferXml) -- Ryelugu 03/09/2015 - Primary Index
--SELECT GETDATE() AS GETDATE_2
-- RYelugu 03/10/2015 -Creating secondary XML index doesnt make significant improvement at Query Optimizer , Instead creation takes more time , Only primary should be good here
--CREATE XML INDEX [IX_XML_Hold_values] ON #XML_Hold(BufferXml) -- Ryelugu 03/09/2015 - Primary Index , --There should exists a Primary for a secondary creation
--USING XML INDEX [IX_XML_Hold]
---- FOR VALUE
-- --FOR PROPERTY
-- FOR PATH
--SELECT GETDATE() AS GETDATE_3
--PRINT '2'
-- RETURN
SELECT GETDATE() GETDATE_3
INSERT INTO #Temp
EventName ,
Time_Stamp_EE ,
ObjectName ,
ObjectType,
DbName ,
ddl_Phase ,
ClientAppName ,
ClientHostName,
server_instance_name,
nt_username,
ServerPrincipalName ,
SqlText
SELECT
p.q.value('@name[1]','varchar(100)') AS eventname,
p.q.value('@timestamp[1]','datetime') AS timestampvalue,
p.q.value('(./data[@name="object_name"]/value)[1]','varchar(100)') AS objectname,
p.q.value('(./data[@name="object_type"]/text)[1]','varchar(100)') AS ObjectType,
p.q.value('(./action[@name="database_name"]/value)[1]','varchar(100)') AS databasename,
p.q.value('(./data[@name="ddl_phase"]/text)[1]','varchar(100)') AS ddl_phase,
p.q.value('(./action[@name="client_app_name"]/value)[1]','varchar(100)') AS clientappname,
p.q.value('(./action[@name="client_hostname"]/value)[1]','varchar(100)') AS clienthostname,
p.q.value('(./action[@name="server_instance_name"]/value)[1]','varchar(100)') AS server_instance_name,
p.q.value('(./action[@name="nt_username"]/value)[1]','varchar(100)') AS nt_username,
p.q.value('(./action[@name="server_principal_name"]/value)[1]','varchar(100)') AS serverprincipalname,
p.q.value('(./action[@name="sql_text"]/value)[1]','Nvarchar(max)') AS sqltext
FROM #XML_Hold
CROSS APPLY BufferXml.nodes('/RingBufferTarget/event')p(q)
WHERE -- Ryelugu 03/05/2015 - Perf Optimize - Filtering the Buffered XML so as not to lookup at previoulsy loaded records into stage table
p.q.value('@timestamp[1]','datetime') >= ISNULL(@Prev_Insertion_time ,p.q.value('@timestamp[1]','datetime'))
AND p.q.value('(./data[@name="ddl_phase"]/text)[1]','varchar(100)') ='Commit' --Ryelugu 03/06/2015 - Every Event records a begin version and a commit version into Buffer ( XML ) we need the committed version
AND p.q.value('(./data[@name="object_type"]/text)[1]','varchar(100)') <> 'STATISTICS' --Ryelugu 03/06/2015 - May be SQL Server Internally Creates Statistics for #Temp tables , we do not want Creation of STATISTICS Statement to be logged
AND p.q.value('(./data[@name="object_name"]/value)[1]','varchar(100)') NOT LIKE '%#%' -- Any stored proc which creates a temp table within it Extended Event does capture this creation statement SQL as well , we dont need it though
AND p.q.value('(./action[@name="client_app_name"]/value)[1]','varchar(100)') <> 'Replication Monitor' --Ryelugu : 03/09/2015 We do not want any records being caprutred by Replication Monitor ??
SELECT GETDATE() GETDATE_4
-- SELECT * FROM #TEMP
-- SELECT COUNT(*) FROM #TEMP
-- SELECT GETDATE()
-- RETURN
-- PRINT '3'
--RETURN
INSERT INTO [dbo].[MN_DDLSchema_Changes_log]
[UserName]
,[DbName]
,[ObjectName]
,[client_app_name]
,[ClientHostName]
,[ServerName]
,[SQL_TEXT]
,[EE_Time_Stamp]
,[Event_Name]
SELECT
CASE WHEN T.nt_username IS NULL OR LEN(T.nt_username) = 0 THEN t.ServerPrincipalName
ELSE T.nt_username
END
,T.DbName
,T.objectname
,T.clientappname
,t.ClientHostName
,T.server_instance_name
,T.sqltext
,T.Time_Stamp_EE
,T.eventname
FROM
#TEMP T
/** -- RYelugu 03/06/2015 - Filters are now being applied directly while retrieving records from BUFFER or on XML
-- Ryelugu 03/15/2015 - More filters are likely to be added on further testing
WHERE ddl_Phase ='Commit'
AND ObjectType <> 'STATISTICS' --Ryelugu 03/06/2015 - May be SQL Server Internally Creates Statistics for #Temp tables , we do not want Creation of STATISTICS Statement to be logged
AND ObjectName NOT LIKE '%#%' -- Any stored proc which creates a temp table within it Extended Event does capture this creation statement SQL as well , we dont need it though
AND T.Time_Stamp_EE >= @Prev_Insertion_time --Ryelugu 03/05/2015 - Performance Optimize
AND NOT EXISTS ( SELECT 1 FROM [dbo].[MN_DDLSchema_Changes_log] MN
WHERE MN.[ServerName] = T.server_instance_name -- Ryelugu Server Name needes to be added on to to xml ( Events in session )
AND MN.[DbName] = T.DbName
AND MN.[Event_Name] = T.EventName
AND MN.[ObjectName]= T.ObjectName
AND MN.[EE_Time_Stamp] = T.Time_Stamp_EE
AND MN.[SQL_TEXT] =T.SqlText -- Ryelugu 03/05/2015 This is a comparision Metric as well , But needs to decide on
-- Peformance Factor here , Will take advise from Lance if comparision on varchar(max) is a vital idea
--SELECT GETDATE()
--PRINT '4'
--RETURN
SELECT
top 100
[EE_Time_Stamp]
,[ServerName]
,[DbName]
,[Event_Name]
,[ObjectName]
,[UserName]
,[SQL_TEXT]
,[client_app_name]
,[Created_Date]
,[ClientHostName]
FROM
[dbo].[MN_DDLSchema_Changes_log]
ORDER BY [EE_Time_Stamp] desc
-- select getdate()
-- ** DELETE EVENTS after logging into Physical table
-- NEED TO Identify if this @XML can be updated into physical system table such that previously loaded events are left untoched
-- SET @XML.modify('delete /event/class/.[@timestamp="2015-03-06T13:01:19.020Z"]')
-- SELECT @XML
SELECT GETDATE() GETDATE_5
END
GO
Rajkumar Yelugu@@Version : ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
May 14 2014 18:34:29
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
(1 row(s) affected)
Compatibility level is set to 110 .
One of the limitation states - XML columns with a depth of more than 128 nested nodes
How do i verify this ? Thanks .
Rajkumar Yelugu -
I have successfully exported subtitles (XML files) from FC version 7 to FC version 6, by choosing Apple XML Interchange Format Version 4. Now the exported subtitles suddenly read in one long line, at the top, not registering any "Enter" keystrokes. The same happens even if I re-import the XML file into Final Cut Version 7 (from where I exported the subtitles). Any tips on how to fix this?
You might see if you can bring the xml file into Title Exchange Pro
http://www.spherico.com/filmtools/TitleExchange/
It's a great program and the author was very responsive when I had a problem.
If it reads correctly, you can probably save it back out.
If you want to send it to me, I'll see if it opens.
[email protected] -
HT2493 What format can I put for the icon?
I want to change the boring icon of the folder icon. But I tried to put the Jpeg format icon and I failed! What format can I put for the icon?
Are you trying to change one of the system level folder icons (so that every folder of that type uses your new icon) or specific folder icons for folders you have created?
The first requires special techniques that modify system level resources & is not recommended unless you know exactly what you are doing.
The second should work just like in the article. -
Putting both xml document and plain text in to the same container
I have some configuration files written in plain text with the format 'key' = 'value'
I want to put them into the same container with my xml document, is this possible?
thanksHi,
yes it is. There are a couple of ways:
1) Wrap into some XML tags and put your settings as an XML document (bad way)
2) Use metadata of documents. You can store your plain text as metadata associated with some XML document. Also you can store a document only with metadata (i.e. with empty XML content).
Vyacheslav -
Err in PO creation-Sales document item is not defined for the transaction
Hi,
I am getting the following error while creating PO
"Sales document item 30000183 000100 is not defined for the transaction
Message no. V1 198
Diagnosis
You have tried to carry out a business transaction for this sales and distribution document item which, for this item, is not allowed.
This may be due to the fact that this item is not part of a make-to-order production with cost management in the sales order."
I have used an item category which is copy of TAB and the sales order line item is attached to WBS element.
can any one guide me what needs to be done.
thanksIf you want the sales order creation to initiate a PO creation automatically, check if the "Create PO Automatically" button is ticked on for the item category in Transaction flow tab in tcode VOV7
This will solve your problem, provided your configuration for PO on the MM side is fine.
Reward if this helps. -
I use Firefox 20.0.1 and Yahoo Mail through AT&T. For the past month, I've been unable to attach documents to my e-mails whether I use the the "Attach" button at the bottom of my mail, or the button at the top. But, here's the rub: when I use IE version 9 with Yahoo, I am able to attach. It would seem to me to be a browser problem. What do you think?
-Dick CarrDoes that uploader use a plugin like Silverlight or Flash?
*https://support.mozilla.org/kb/Troubleshooting+plugins
Note that Firefox Safe Mode doesn't affect plugins.
*preferences are not affected
Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
*Do NOT click the Reset button on the Safe Mode start window or otherwise make changes.
*https://support.mozilla.org/kb/Safe+Mode
*https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes -
<?xml version="1.0"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:itunes="http://www.itunes.com/DTDs/Podcast-1.0.dtd"
Verson="2.0">
<channel>
<title>KPNC Regional Toxcast</title>
<link>http://kpssctoxicology.org/edu.htm</link>
<description>KP Toxcast test podcast</description>
<webMaster>[email protected]</webMaster>
<managingEditor>[email protected]</managingEditor>
<pubDate>Tue, 27 Sep 2011 14:21:32 PST</pubDate>
<category>Science & Medicine</category>
<image>
<url>http://kpssctoxicology.org/images/kp tox logo.jpg</url>
<width>100</width>
<height>100</height>
<title>KPNC Regional Toxcast</title>
</image>
<copyright>Copyright 2011 Kaiser Permanente. All Rights Reserved.</copyright>
<language>en-us</language>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<!-- iTunes specific namespace channel elements -->
<itunes:subtitle>The Kaiser Permanente Northern California (KPNC) Regional Toxicology Service Podcast</itunes:subtitle>
<itunes:summary>This is the podcast (toxcast) of the KPNC Regional Toxicology Service. Providing Kaiser and non-Kaiser physicians with anything toxworthy</itunes:summary>
<itunes:owner>
<itunes:email>[email protected]</itunes:email>
<itunes:name>G. Patrick Daubert, MD</itunes:name>
</itunes:owner>
<itunes:author>G. Patrick Daubert, MD</itunes:author>
<itunes:category text="Science & Medicine"></itunes:category>
<itunes:link rel="image" type="video/jpeg" href="http://kpssctoxicology.org/images/kp tox logo.jpg">KPNC Toxcast</itunes:link>
<itunes:explicit>no</itunes:explicit>
<item>
<title>KPNC Regional Toxcast Sample File</title>
<link>http://kpssctoxicology.org/edu.htm</link>
<comments>http://kpssctoxicology.org#comments</comments>
<description>This is the podcast (toxcast) of the KPNC Regional Toxicology Service. Providing Kaiser and non-Kaiser physicians with anything toxworthy</description>
<guid isPermalink="false">1808@http://kpssctoxicology.org/Podcast/</guid>
<pubDate>Tue, 27 Sep 2011 14:21:32 PST</pubDate>
<category>Science & Medicine</category>
<author>[email protected]</author>
<enclosure url="http://kpssctoxicology.org/podcast/kptoxcast_test_092711.mp3" length="367000" type="audio/mpeg" />
<!-- RDF 1.0 specific namespace item attribute -->
<content:encoded><![CDATA[<p><strong>Show Notes</strong></p>
<p><a href="KPNC" _mce_href="http://kpssctoxicology.org/">KPNC">http://kpssctoxicology.org/">KPNC Regional Toxicology Service</a> is comprised of Steve Offerman, MD; Michael Young, MD; Patrick Whitely; and G. Patrick Daubert, MD. Awesome team!
<p>Download <a href="KPNC" _mce_href="http://kpssctoxicology.org/podcast/kptoxcast_test_092711.mp3">KPNC"> http://kpssctoxicology.org/podcast/kptoxcast_test_092711.mp3">KPNC Sample Toxcast</a></p>]]</content:encoded>
<!-- iTunes specific namespace channel elements -->
<itunes:author>G. Patrick Daubert, MD</itunes:author>
<itunes:subtitle>The Kaiser Permanente Northern California (KPNC) Regional Toxicology Service Podcast</itunes:subtitle>
<itunes:summary>This is the podcast (toxcast) of the KPNC Regional Toxicology Service. Providing Kaiser and non-Kaiser physicians with anything
toxworthy </itunes:summary>
<itunes:category text="Medicine"></itunes:category>
<itunes:duration>00:00:18</itunes:duration>
<itunes:explicit>no</itunes:explicit>
<itunes:keywords>daubert,toxicology,toxcast</itunes:keywords>
</item>
</channel>
</rss>Please when you have a query post the URL of your feed, not its contents. Is this your feed? -
http://kpssctoxicology.org/Podcast/kptoxcast_test_rss_092711.xml
You have a number of cases of a string of spaces in titles: you also have one in a URL which will render that link invalid.
But what is rendering the whole feed unreadable is your category link:
<category>Science & Medicine</category>
The presence of an ampersand ('&') by itself indicates the start of a code sequence, and in the absence of one, and its closing character, invalidates everything which follows, and thus the entire feed. You must replace the ampersand with the code
&
Additionally, your opening lines should read thus:
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
(with the 'purl.org' line if you like).
If you are going to submit a feed to iTunes you might want to reconsider have 'test' in the filename: apart from the Store having a tendency to reject obvious test podcasts which may not reflect the finished version, you will be stuck with this URL and though you can change the feed URL it's an additional hassle. -
Scanning documents and then changing some of the sentences?
Scanning a document and changing 2 sentences?So I then can
use it for myself.Hi,
If you are looking to use Adobe Acrobat you should take a
look at the Acrobat forums here:
http://www.adobeforums.com/webx/.ee6b2f2/
This forum is for Acrobat.com.
It might also help to take a look in the user guide for
Acrobat, in particular the sections on paper capture and the
touch-up text tool. -
How to compare the contents of two XML documents
Hi all,
I was trying to compare the contents of two xml documents, they are both validate for the same XML Schema. i was using the xmlunit to do this. but some how it doesn't work like what i have expected. for example:
1.xml : <test><item>2</item><item>1</item></test>
2.xml: <test><item>3</item><item>2</item><item>1</item></test>
the result from XMLUnit is this two xmls are different, but it compares <item>2</item> with <item>3</item>, which i cannot find out where the real diiffs are.
does anybody know how i can do this correct?
best regards,
tinaI faced a similar problem in one of my projects and hence wrote my own comparator. Most comparators like ExamXML etc show XML as different if the nodes under a parent node occur in different seqeunce or a set of repeated nodes occur in different sequence. The comparator that I wrote gives you the flexibility to configure how to identify a node from a set of repeated nodes and is able to compare them successfully if they occur in any order. You can view the sample output at http://geocities.com/dheerendra_itbhu/TipsFromDheeru.html
and contact me in case you need the source code. -
How to export table contents in xml file format through SQL queries
hi,
i need to export the table data in to xml file format. i got it through the GUI what they given.
i'm using Oracle 10g XE.
but i need to send the table name from Java programs. so, how to call the export commands from programming languages through. is there any sql commands to export the table contents in xml format.
and one more problem is i created each transaction in two tables. for example if we have a transaction 'sales' , that will be saved in db as
sales1 table and sales2 table. here i maintained and ID field in sales1 as PK. and id as FK in sales2.
i get the combined data with this query,
select * from sales1 s1, sales2 s2 where s1.id=s2.id order by s1.id;
it given all the records, but i'm getting two ID fields (one from each table). how to avoid this. here i dont know how many fields will be there in each table. that will be known at runtime only.
the static information is sales1 have one ID field with PK and sales2 will have one ID filed with FK.
i need ur valuable suggestions.
regards
pavan.You can use DBMS_XMLGEN.getXML('your Query') for generating data in tables to XML format and you can use DBMS_XMLGEN.SETROWSETTAG to change the parent element name other wise it will give rowset as well as DBMS_XMLGEN.SETROWTAG for row name.
Check this otherwise XMLELEMENT and XMLFOREST function are also there to convert data in XML format. -
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
For the last 5 years (and in IPCC3.x/4.x,UCCX/5.x/7.x) I've used the same basic subflow to read a XML document that contains holiday dates where the queue should be closed. I've re-used this script on 20+ client installs and it's always worked. The structure of the script allows you to pass the path and filename of the XML document as parameters to the subflow. (The document is in the repository)
I loaded this script in UCCX 8.0.2 recently and it crashed with a Java.IO error. It looked like it was trying to read the file system directly and not the repository. (In the Linux appliance model this kind of makes sense but why is the step trying to read the file system directly?)
So I open a TAC case (SR# 615243125) and TAC tells me that the method of using the Create File Document step is not supported anymore and that I should specify the filename directly in the Create XML Document step
The problem that I see (aside from having to edit all my scripts that use XML files) is that the Create XML Document step is looking for the input to be a type DOCUMENT and not a type STRING. This seems to imply that I have to hardcode the document in each script that I deploy for a customer. When it was a string it was easy to construct the full file path from parameters and pass to the subflow.
Questions to the group
#1 Am I missing something here?
#2 Do you assume that you'll be able to load a script that worked fine in UCCX 7 into UCCX 8 and that it should completely function when you're doing everything according to the step reference documentation.
#3 Cisco didn’t document this in any way that I can find.
#4 How can you use the Create XML Document step in a fashion that would let you construct the path of the file and the filename previously in the script so you could pass it to a subflow ? It would seem this functionality has been killed in UCCX 8
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
(Background)
Create File Document Step
The input filename is a STRING, could be an explicit path and filename in the repository or a variable that represents that path and string
The output of this step is a DOCUMENT to be used in the Create XML Document step
The string FILE_FullPathHolidayFiles references en_us\folderName\documentName.xml
The document was properly uploaded into the repository only, NOT trying to directly read c:\foo\blah…
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0in 5.4pt 0in 5.4pt;
mso-para-margin:0in;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
The create XML document input can only be a type DOCUMENT#1 Am I missing something here?
You are mixing two different issues together here.
The Create File Document step is indeed not needed or supported for creating an XML document. That is why there is a unique step; to trigger XML parsing within the MIVR subsystem.
Accessing the file system is restricted to a single folder within the VOS model (i.e. 8.0+). This folder is not backed up, replicated, or cleaned up automatically. It was intended to give developers some FS access as a temporary swap location only.
#2 Do you assume that you'll be able to load a script that
worked fine in UCCX 7 into UCCX 8 and that it should completely
function when you're doing everything according to the step reference
documentation.
Assume nothing; read the documentation and attend one of the dozens of partner training sessions that CCBU put on advising of the upcoming changes.
#3 Cisco didn’t document this in any way that I can find.
You're right, I guess, on the Create File vs. XML Document step. AFAIK Cisco never wrote a notice into the Step Reference Guide explicitly stating that you cannot use the Create File Document although the documentation seemed pretty clear to me without it. File system restrictions are documented in the 8.0 release notes.
Scripting and Development Series: Volume 2, Editor Step ReferenceUse the Create XML Document step to create a logical document that maps a document to another document variable (where the document has already been pre-parsed as an XML document and is ready to be accessed by the Get XML Document Data step).Use this step before the Get XML Document Data step to obtain data from a document formatted using the Extensible Markup Language (XML).
#4 How can you use the Create XML Document step in a fashion that would
let you construct the path of the file and the filename previously in
the script so you could pass it to a subflow ? It would seem this functionality has been killed in UCCX 8
No it hasn't; just concatinate a string to build the Source Document parameter the step needs. Example: "DOC[" + myFilePath + "]" -
I'm am extremely new to this so if there is a link or tutorial that explains what I should be doing, please direct me there, however I was unable to locate one on this site.
Challenge:
I'm trying to build a mobile app to read a local xml file and populate a listview. Everything works perfect in the 'Live View' mode of CS5.5, but when I go to preview in Safari or Firefox all that is generated is the listview container with none of the xml loaded content.
I'm reading the xml file as text and then running it through parsexml.
I am sure there is something glaring that I am missing, but I've seen many posts on other sites (not dreamweaver specific) which have shown people struggling with how to accomplish reading a local xml file and using it in a mobile app.
Any Help, insights, suggestions or examples of how to make this work in more than just the 'Live View' will be greatly appreciated.
Many thanks in advance!
XML and Code is Below
XML:
<?xml version="1.0" encoding="utf-8"?>
<Components>
<Component Id="1" Name="TermOne" Description="Definition of term one.">
</Component>
<Component Id="2" Name="Term Two" Description="Definition of term two.">
</Component>
</Components>
CODE:
$(document).ready(function(){
$.get( "jquery-mobile/dictionary.xml", function(xml) {
var xparse = $($.parseXML(xml));
var xlines = [];
xparse.find('Component').each(function(){
var name = $(this).attr('Name');
var description = $(this).attr('Description');
xlines.push('<li>' + name + ': ' + description + '</div></li>');
$('#Dictionary').append(xlines.join(''));
$('#Dictionary').listview('refresh');
},"text");
Is there any dreamweaver expert out there who knows why this code will only render in liveview and not on the browsers?
Message was edited by: Lane HammonsThanks Murray! viewing the source code, copy/paste worked!
I tried to use the insert image object for the next rollover button...but then got another error message (thankfully just one). I know that I could simply copy the format that you did for the first button, but since this site will be image rollover intensive, I'd like to try to fix this error so I can use the design feature.
Here is the message from validator:
Line 73, Column 443: required attribute "alt" not specified
…me="familytrees" width="105" height="57" border="0" id="familytrees" /></a></p>
✉
The attribute given above is required for an element that you've used, but you have omitted it. For instance, in most HTML and XHTML document types the "type" attribute is required on the "script" element and the "alt" attribute is required for the "img" element.
Typical values for type are type="text/css" for <style> and type="text/javascript" for <script>.
I checked the document and both types have been entered - very confused. Have any recommendations?
BTW - do you think it is a good idea for me to get css/html and or javascript for dummies? Do those books really help novices, such as myself?
Your patience and help is great appreciated! -
How to parse XML document returned by webservices
Hi,
I have a form (version 10.1.2.0) which has to display the credit card types using webservices. I created the webstub and jar file through jdeveloper and then after adding the jar files in the respective classpaths, I import it in the forms. I write the code in when-button-pressed and it gives the result in xml document like this:
<?xml version="1.0" encoding="UTF-8"?><WSAnswerTO><error>false</error><errorMessage></errorMessage><
results><CardTypeTO><carTypId>3</carTypId><type>AMERICAN
EXPRESS</type><numLength>15</numLength><cvvLength>4</cvvLength><comments>1 800-639-0002</comments></CardTypeTO><CardTypeTO><carTypId>4</carTypId><type>DISCOVER</type><numLength>16</numLength><cvvLength>3</cvvLength><comments>1 800-347-2683</comments></CardTypeTO><CardTypeTO><carTypId>1</carTypId><type>MASTERCARD</type><numLength>16</numLength><cvvLength>3</cvvLength><comments>1 800-633-7367</comments></CardTypeTO><CardTypeTO><carTypId>2</carTypId><type>VISA</type><numLength>16</numLength><cvvLength>3</cvvLength><comments>1 800-945-2000</comments></CardTypeTO></results></WSAnswerTO>
From the above xml document, I only need to display the type (such as AMERICAN EXPRESS, VISA, ETC) in my forms. Can somebody please tell me how to do it. Do I need to store the values in a table first and then retrieve it. Please advise. I have already read a otn document in xml parsing but I didnt understand anything from it.
Please help. Thanks in advance.Hello,
It probably exists a database package/function to parse this kind of stuff.
If you want to keep the process into the Forms, here is a PL/SQL package you can use:
CREATE OR REPLACE PACKAGE Pkg_Tools AS
-- Types --
-- table of strings --
TYPE TYP_TAB_CHAR IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
-- Methodes --
-- function that return all contents for a given XML tag --
FUNCTION Get_Xml_Tag
PC$XmlContent IN VARCHAR2, -- XML string
PC$Tag IN VARCHAR2, -- searched tag
PC$NewLine IN VARCHAR2 DEFAULT CHR(10) -- defaull NL character
RETURN TYP_TAB_CHAR ;
END Pkg_Tools;
CREATE OR REPLACE PACKAGE BODY Pkg_Tools
IS
-- fonction de retour du contenu d'une balise XML --
FUNCTION Get_Xml_Tag
PC$XmlContent IN VARCHAR2, -- contenu XML
PC$Tag IN VARCHAR2, -- tag recherche
PC$NewLine IN VARCHAR2 DEFAULT CHR(10) -- defaull NL character
RETURN TYP_TAB_CHAR
IS
TC$Table TYP_TAB_CHAR ;
LC$Ligne VARCHAR2(32000) ;
LC$Xml VARCHAR2(32000) ;
LN$INDEX PLS_INTEGER := 0 ;
LN$TagDeb PLS_INTEGER ;
LN$TagFin PLS_INTEGER ;
LN$TagLength PLS_INTEGER ;
LN$LigLength PLS_INTEGER ;
LN$Occur PLS_INTEGER := 1 ;
BEGIN
IF ( PC$XmlContent IS NOT NULL AND PC$Tag IS NOT NULL ) THEN
LC$Xml := REPLACE( PC$XmlContent, CHR(13), '' ) ;
LN$TagLength := LENGTH( PC$Tag ) ;
LOOP
LN$TagDeb := INSTR( LC$Xml, PC$Tag, 1, LN$Occur ) ;
LN$TagFin := INSTR( LC$Xml, '</' || SUBSTR(PC$Tag,2, 256), 1, LN$Occur ) ;
LN$LigLength := (LN$TagFin - ( LN$TagDeb + LN$TagLength ) ) ;
IF (LN$TagDeb > 0 AND LN$TagFin > 0 ) THEN
LN$Occur := LN$Occur + 1 ;
LC$Ligne := SUBSTR( LC$Xml, LN$TagDeb + LN$TagLength, LN$LigLength ) ;
LOOP
LN$INDEX := LN$INDEX + 1 ;
LN$TagDeb := INSTR( LC$Ligne, PC$NewLine ) ;
IF LN$TagDeb > 0 THEN
IF Trim( SUBSTR( LC$Ligne, 1, LN$TagDeb - 1 )) IS NOT NULL THEN
TC$Table(LN$INDEX) := SUBSTR( LC$Ligne, 1, LN$TagDeb - 1 ) ;
ELSE
LN$INDEX := LN$INDEX - 1 ;
END IF ;
LC$Ligne := SUBSTR( LC$Ligne, LN$Tagdeb + LENGTH( PC$NewLine ), 30000 ) ;
ELSE
IF Trim(LC$Ligne) IS NOT NULL THEN
TC$Table(LN$INDEX) := LC$Ligne ;
END IF ;
EXIT ;
END IF ;
END LOOP ;
ELSE
EXIT ;
END IF ;
END LOOP ;
END IF ;
RETURN TC$Table ;
END Get_Xml_Tag ;
END Pkg_Tools;
/Then the call:
DECLARE
LC$t VARCHAR2(2000);
LT$Table Pkg_Tools.TYP_TAB_CHAR ;
BEGIN
lc$t := '<?xml version="1.0" encoding="UTF-8"?><WSAnswerTO><error>false</error><errorMessage></errorMessage><results>'
||'<CardTypeTO><carTypId>3</carTypId><TYPE>AMERICAN EXPRESS</TYPE><numLength>15</numLength><cvvLength>4</cvvLength>'
||'<comments>1 800-639-0002</comments></CardTypeTO><CardTypeTO><carTypId>4</carTypId><TYPE>DISCOVER</TYPE>'
||'<numLength>16</numLength><cvvLength>3</cvvLength><comments>1 800-347-2683</comments></CardTypeTO>'
||'<CardTypeTO><carTypId>1</carTypId><TYPE>MASTERCARD</TYPE><numLength>16</numLength><cvvLength>3</cvvLength>'
||'<comments>1 800-633-7367</comments></CardTypeTO><CardTypeTO><carTypId>2</carTypId><TYPE>VISA</TYPE>'
||'<numLength>16</numLength><cvvLength>3</cvvLength><comments>1 800-945-2000</comments></CardTypeTO></results></WSAnswerTO>' ;
LT$Table := Pkg_Tools.Get_Xml_Tag(LC$T,'<TYPE>') ;
IF LT$Table.COUNT > 0 THEN
FOR i IN LT$Table.First .. LT$Table.Last LOOP
dbms_output.put_line( 'Table(' || i || ')=' || LT$Table(i) ) ;
END LOOP ;
ELSE
dbms_output.put_line( 'tag xml not found' ) ;
END IF ;
END;Francois
Maybe you are looking for
-
Updating data from PSA to Data Target
Hi, I just want to update data from PSA to data target. There is a process chain running daily it will updating Master Data in to 0Vendor object. This process chain is updating only upto PSA not the data target. I just want to update from PSA to data
-
How to properly install updates with kernel changes on MBP w/ SSD
I downloaded and installed Yosemite security update 2015 003, and on reboot it would have a progress bar of the updating which would not complete and would show the prohibited sign (circle with a line through it). I tried the following: I held the po
-
I may be switching to a Mac Pro from a PC and had a few questions. I have worked a lot with *Nix so I like the idea of switching due to OS X being based on that. Here are my questions: 1.I am seeing a lot of problems with Leopard on these boards. I h
-
Hi firends I have to write 1 PCR for Adhoc on call allowance Details:Ad-hoc on call allowance will be captured from the attendance infotype 2002 based on these 2 attendance subtypes. 1.9830--Adhoc on call main 2.9840-Adhoc on call secondary. Based o
-
Upgrade of database in Dataguard Configuration
Hi, I have few doubts regarding upgrading of database in in a dataguard configuration. Could someone please help me out. - How does upgrade happen in dataguard configuration? - Is that we have to install only different OH in both? And once the catupg