XML data uploading
Hi Friends,
Iam uploading xml data file.
For xml data uplodation we need info cube or not?
If no info cube means from where data store?
In info package iam not getting data selection path.
How to upload xml file?plz help me
Thanks&Regards
RaMya
Hi,
check out this thread....
How to upload XML flat file
See the below link for program which is uploading the XML file in to SAP, this will work in 4.6C
http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/Codes/Report/Z_RMTIWARI_XML_TO_ABAP_46C.html
use this XML file for the above program:
http://www.geocities.com/rmtiwari/main.html?http://www.geocities.com/rmtiwari/Resources/MySolutions/Dev/UtilityCode.html
See the below link for one more program
http://wiki.ittoolbox.com/index.php/Code:Download_and_upload_OO_ABAP_class_in_XML_format
hope this is helpful...
Message was edited by:
Swetha G
Message was edited by:
Swetha G
Similar Messages
-
XML data Upload in BW ( Webservice issue)
I am following the SDN document of 'How to load XML data into BW' and followed the steps till 19 and 26( BW3.5 need to skip steps in between).
As mentioned I have followed the steps to create the web service properly. However while testing I am getting certain errors.
1> Option 1 : Go to transaction wsconfig display the webservice Zsendxmldatatobw_1 è select and display è click the button Execute the webpage for the webservice http://fmsap562.fm.intel.com:50100/sap/bc/srt/rfc/sap/Zsendxmldatatobw_1
It says that the requested resources not found although I have checked that this services as well Soap Runtime service(srt) is activated as well.
I suspect that the webservice created by me is for some reason not visible from the web browser
Can any body help beyond this point.
Thanks
ArunabhaHi arun,
From BW side you have to create XML Data Source and you have to activate data transfer to delta queue. And after that you create web service and realease it in SOAP run time environment.
Check this weblog on XI-BI Integration, it will give you good idea of creating XML datasource and actiavting delat queue.
/people/kamaljeet.kharbanda/blog/2005/09/16/xi-bi-integration
The document which you are reading is for sending an XML data to BW using XI, it will give you idea abt configuring XI and creating ABAP proxy and as you are trying through web services, so its of no use.
Rest you can check in detail in above weblog
Regards,
Kamaljeet
Message was edited by: kamaljeet singh -
Hello,
please can anyone tell me, if the J2EE Engine must be installed to send XML data to BW using the HTTP port provided under the WAS soap service?
I am working with XML data for BW and we do not have the engine installed. I have followed the 'How to send XML data to BW' but it is not clear on my question. We are using BW 3.5.
Thank you for any advise.You need to create a Web Service from the function module the sytem generated when you created the SOAP DataSource (e.g. /BI0/QI6ASENDXMLDATATOBW_RFC). You can accomplish this from SM37, <i>Display -> Utilities -> More Utilities -> Create Web Service</i>.
Afterwards you have to create an InfoPackage for initializing the delta process, witout data transfer. Finally you have to create an InfoPackage for the delta loadings you'll carry out.
The transaction WSADMIN offers a way for testing if the Web Service functions correctly. Unfortunately, this test utility requires the J2EE Engine, since it uses a Web page which is provided by the SAP J2EE Server. You could use this page to send some data records to the queue via the Web Service.
Nevertheless, you can send data calling this Web Service from your exteral application. The data will be placed in the delta queue. You'll be able to fetch these data through the delta InfoPackage you've defined.
Cheers, <a href="https://wiki.sdn.sap.com/wiki/display/profile/Davide+Cavallari">Davide</a> -
XML data upload only from .xml file
Hi,
Can anyone let me know is ther any way how I can upload the data from .xml file into Oracle Table.
Note: I just want to upload the data from xml file; not entire .xml file.
I have data like as below in test.xml file and I want to upload the data only into TEST_EMP table:
<?xml version = '1.0'?>
<ROWSET>
<ROW num="1">
<TABLE_NAME>DEPT</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="2">
<TABLE_NAME>EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="3">
<TABLE_NAME>BONUS</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="4">
<TABLE_NAME>SALGRADE</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="5">
<TABLE_NAME>BHAVESH_EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
</ROWSET>
Any help would be highly appreciated!!
Thanks... BhaveshYou may convert the XML into a simple select and insert manually:
SQL> INSERT INTO test_emp
SELECT EXTRACTVALUE (t2.COLUMN_VALUE, '/ROW/TABLE_NAME') table_name,
EXTRACTVALUE (t2.COLUMN_VALUE, '/ROW/TABLESPACE_NAME')
tablespace_name
FROM TABLE
(XMLSEQUENCE
(EXTRACT
(XMLTYPE
('<?xml version = ''1.0''?>
<ROWSET>
<ROW num="1">
<TABLE_NAME>DEPT</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="2">
<TABLE_NAME>EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="3">
<TABLE_NAME>BONUS</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="4">
<TABLE_NAME>SALGRADE</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="5">
<TABLE_NAME>BHAVESH_EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
</ROWSET>
'/ROWSET'
) t,
TABLE (XMLSEQUENCE (EXTRACT (t.COLUMN_VALUE, '/ROWSET/ROW'))) t2 -
XML data upload from .xml file
Hi,
Can anyone let me know is ther any way how I can upload the data from .xml file into Oracle Table.
Note: I just want to upload the data from xml file; not entire .xml file.
I have data like as below in test.xml file and I want to upload the data only into TEST_EMP table:
<?xml version = '1.0'?>
<ROWSET>
<ROW num="1">
<TABLE_NAME>DEPT</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="2">
<TABLE_NAME>EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="3">
<TABLE_NAME>BONUS</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="4">
<TABLE_NAME>SALGRADE</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
<ROW num="5">
<TABLE_NAME>BHAVESH_EMP</TABLE_NAME>
<TABLESPACE_NAME>USERS</TABLESPACE_NAME>
</ROW>
</ROWSET>
Any help would be highly appreciated!!
Thanks... BhaveshOne way is to use sql* loader...
http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14259/xdb25loa.htm -
Xml data upload into tables using loader
Hi,
I have to load XML file data into multiple tables using sqlloader. i wrote a cotrol file to execute this ,but i was not able to load the data into multiple tables at the same time, first loading table in control file is able to load the data ,rest of the load is giving error,please refer the below control file and log. Help me with your great efforts.
Have a great day!
Control file:
LOAD DATA
TRUNCATE
INTO TABLE Derivative_Security
WHEN DERIVATIVESECURITYID != ' '
FIELDS TERMINATED BY '</DerivativeSecurity>' optionally enclosed by '"'
TRAILING NULLCOLS
DUMMY1 filler char(50000) Terminated by '<DerivativeSecurity ',
DUMMY2 filler char(200) Terminated by WHITESPACE enclosed by 'FAS157Level="' and '"',
DUMMY3 filler char(200) Terminated by WHITESPACE enclosed by 'FAS157MVAdjustable="' and '"',
DUMMY4 filler char(200) Terminated by WHITESPACE enclosed by 'OriginalMV="' and '"',
DUMMY5 filler char(200) Terminated by WHITESPACE enclosed by 'FAS157MVDelta="' and '"',
DUMMY6 filler char(200) Terminated by WHITESPACE enclosed by 'FAS157AdjustedMV="' and '"',
DUMMY7 filler char(200) Terminated by WHITESPACE enclosed by 'PLCurrency="' and '"',
DERIVATIVESECURITYID Terminated by WHITESPACE enclosed by 'DerivativeSecurityID="' and '"',
METDERIVATIVEID Terminated by WHITESPACE enclosed by 'MetDerivativeID="' and '"',
MUREXTRANSNUMBER Terminated by WHITESPACE enclosed by 'MurexTransactionNumber="' and '"',
DUMMY8 filler char(200) Terminated by WHITESPACE enclosed by 'Trader="' and '"',
DUMMY9 filler char(200) Terminated by WHITESPACE enclosed by 'BuySell="' and '"',
DETAILTYPE Terminated by WHITESPACE enclosed by 'DetailType="' and '"',
DERIVATIVETYPE Terminated by WHITESPACE enclosed by 'DerivativeType="' and '"',
AL_MANAGEMENTSIDE Terminated by WHITESPACE enclosed by 'AL_ManagementSide="' and '"',
COUNTERPARTYCODE Terminated by WHITESPACE enclosed by 'CounterpartyCode="' and '"',
COUNTERPARTYNAME Terminated by WHITESPACE enclosed by 'CounterpartyName="' and '"',
CURRENCYCODE Terminated by WHITESPACE enclosed by 'CurrencyCode="' and '"',
DUMMY10 filler char(200) Terminated by WHITESPACE enclosed by 'Coupon="' and '"',
DUMMY11 filler char(200) Terminated by WHITESPACE enclosed by 'FixedFloatingIndicator="' and '"',
DUMMY12 filler char(200) Terminated by WHITESPACE enclosed by 'IndexMultiplier="' and '"',
DUMMY13 filler char(200) Terminated by WHITESPACE enclosed by 'IndexName="' and '"',
DUMMY42 filler char(200) Terminated by WHITESPACE enclosed by 'Margin="' and '"',
DUMMY14 filler char(200) Terminated by WHITESPACE enclosed by 'Comment11="' and '"',
DUMMY15 filler char(200) Terminated by WHITESPACE enclosed by 'Comment12="' and '"',
DUMMY16 filler char(200) Terminated by WHITESPACE enclosed by 'Comment13="' and '"',
DUMMY17 filler char(200) Terminated by WHITESPACE enclosed by 'Comment21="' and '"',
DUMMY18 filler char(200) Terminated by WHITESPACE enclosed by 'Comment22="' and '"',
DUMMY19 filler char(200) Terminated by WHITESPACE enclosed by 'Comment23="' and '"',
DUMMY20 filler char(2000) Terminated by WHITESPACE enclosed by 'TradeComment="' and '"',
DUMMY21 filler char(200) Terminated by WHITESPACE enclosed by 'OptionCallPut="' and '"',
DUMMY22 filler char(200) Terminated by WHITESPACE enclosed by 'OptionType="' and '"',
DUMMY23 filler char(200) Terminated by WHITESPACE enclosed by 'SettleType="' and '"',
DUMMY24 filler char(200) Terminated by WHITESPACE enclosed by 'RefISIN="' and '"',
DUMMY25 filler char(200) Terminated by WHITESPACE enclosed by 'RefObligation="' and '"',
DUMMY26 filler char(200) Terminated by WHITESPACE enclosed by 'Sensitivity="' and '"',
DUMMY27 filler char(200) Terminated by WHITESPACE enclosed by 'EffectiveConvexity="' and '"',
DUMMY28 filler char(200) Terminated by WHITESPACE enclosed by 'Vega="' and '"',
DUMMY29 filler char(200) Terminated by WHITESPACE enclosed by 'NextResetDate="' and '"',
DUMMY30 filler char(200) Terminated by WHITESPACE enclosed by 'LastResetDate="' and '"',
EFFECTIVEDURATION Terminated by WHITESPACE enclosed by 'EffectiveDuration="' and '"',
DUMMY31 filler char(200) Terminated by WHITESPACE enclosed by 'Instrument="' and '"',
DUMMY32 filler char(200) Terminated by WHITESPACE enclosed by 'IssuerCode="' and '"',
DUMMY33 filler char(200) Terminated by WHITESPACE enclosed by 'IssuerName="' and '"',
DUMMY34 filler char(200) Terminated by WHITESPACE enclosed by 'IssuerREDCode="' and '"',
DUMMY35 filler char(200) Terminated by WHITESPACE enclosed by 'Strategy="' and '"',
DUMMY36 filler char(200) Terminated by WHITESPACE enclosed by 'StrikePrice="' and '"',
MATURITYDATE Terminated by WHITESPACE enclosed by 'MaturityDate="' and '"',
DUMMY37 filler char(200) Terminated by WHITESPACE enclosed by 'TickerSymbol="' and '"',
DUMMY38 filler char(200) Terminated by WHITESPACE enclosed by 'MetPay="' and '"',
DUMMY39 filler char(200) Terminated by WHITESPACE enclosed by 'MetRec="' and '"',
DUMMY40 filler char(200) Terminated by WHITESPACE enclosed by 'Payrec="' and '"',
DUMMY41 filler char(200) Terminated by WHITESPACE enclosed by 'RiskSection="' and '"',
DUMMY54 filler char(200) Terminated by WHITESPACE enclosed by 'HedgedItem="' and '"',
DUMMY43 filler char(200) Terminated by WHITESPACE enclosed by 'ResetFrequency="' and '"',
DUMMY44 filler char(200) Terminated by WHITESPACE enclosed by 'ResetFrequencyNumber="' and '"',
DUMMY45 filler char(200) Terminated by WHITESPACE enclosed by 'PaymentFrequency="' and '"',
DUMMY46 filler char(200) Terminated by WHITESPACE enclosed by 'PaymentFrequencyNumber="' and '"',
DUMMY47 filler char(200) Terminated by WHITESPACE enclosed by 'CapFloorCoupon="' and '"',
DUMMY48 filler char(200) Terminated by WHITESPACE enclosed by 'RefIndexRate="' and '">',
DUMMY50 filler char(1000) enclosed by "<Classification=" and "/>",
DUMMY51 filler char(1000) enclosed by "<Classification=" and "/>",
DUMMY52 filler char(1000) enclosed by "<Classification=" and "/>",
DUMMY53 filler char(1000) enclosed by "<Classification=" and "/>"
INTO TABLE DERIVATIVE_POSITION
WHEN PORTFOLIOCODE != ' '
FIELDS TERMINATED BY '</NewDataSet>' optionally enclosed by '"'
TRAILING NULLCOLS
DUMMY1 filler char(65000) terminated by '<DerivativePosition ',
DERIVATIVESECURITYID TERMINATED BY WHITESPACE enclosed by 'DerivativeSecurityID="' and '"',
PORTFOLIOCODE TERMINATED BY WHITESPACE enclosed by 'PortfolioCode="' and '"',
LONGSHORTINDICATOR TERMINATED BY WHITESPACE ENCLOSED BY 'LongShortIndicator="' and '"',
FAS157Level filler char(100) TERMINATED BY WHITESPACE enclosed by 'FAS157Level="' and '"',
FAS157MVAdjustable filler char(100) TERMINATED BY WHITESPACE enclosed by 'FAS157MVAdjustable="' and '"',
OriginalMV filler char(100)TERMINATED BY WHITESPACE enclosed by 'OriginalMV="' and '"',
FAS157MVDelta filler char(100) TERMINATED BY WHITESPACE enclosed by 'FAS157MVDelta="' and '"',
FAS157AdjustedMV filler char(100)TERMINATED BY WHITESPACE enclosed by 'FAS157AdjustedMV="' and '"',
CURRENTNOTIONALLOCAL TERMINATED BY WHITESPACE enclosed by 'CurrentNotionalLocal="' and '"',
CURRENTNOTIONALUSD TERMINATED BY WHITESPACE enclosed by 'CurrentNotionalUSD="' and '"',
OPENQUANTITY TERMINATED BY WHITESPACE enclosed by 'OpenQuantity="' and '"',
ORIGINALNOTIONALLOCAL TERMINATED BY WHITESPACE enclosed by 'OriginalNotionalLocal="' and '"',
ORIGINALNOTIONALUSD TERMINATED BY WHITESPACE enclosed by 'OriginalNotionalUSD="' and '"',
ORIGINALQUANTITY TERMINATED BY WHITESPACE enclosed by 'OriginalQuantity="' and '"',
ACCRUEDINTERESTLOCAL TERMINATED BY WHITESPACE enclosed by 'AccruedInterestLocal="' and '"',
ACCRUEDINTERESTUSD TERMINATED BY WHITESPACE enclosed by 'AccruedInterestUSD="' and '"',
ACCRUEDINTERESTBASE TERMINATED BY WHITESPACE enclosed by 'AccruedInterestBase="' and '"',
CLEANMARKETVALUEENDOFDAYLOCAL TERMINATED BY WHITESPACE enclosed by 'CleanMarketValueEndOfDayLocal="' and '"',
CLEANMARKETVALUEENDOFDAYUSD TERMINATED BY WHITESPACE enclosed by 'CleanMarketValueEndOfDayUSD="' and '"',
CLEANMARKETVALUEENDOFDAYBASE TERMINATED BY WHITESPACE enclosed by 'CleanMarketValueEndOfDayBase="' and '"',
DIRTYMARKETVALUEENDOFDAYLOCAL TERMINATED BY WHITESPACE enclosed by 'DirtyMarketValueEndOfDayLocal="' and '"',
DIRTYMARKETVALUEENDOFDAYUSD TERMINATED BY WHITESPACE enclosed by 'DirtyMarketValueEndOfDayUSD="' and '"',
PREMIUMLOCAL TERMINATED BY WHITESPACE enclosed by 'PremiumLocal="' and '"',
PREMIUMUSD TERMINATED BY WHITESPACE enclosed by 'PremiumUSD="' and '"',
PREMIUMBASE TERMINATED BY WHITESPACE enclosed by 'PremiumBase="' and '"',
BIDDIES TERMINATED BY WHITESPACE enclosed by 'Biddies="' and '"',
ADDONEXPOSUREUSD TERMINATED BY WHITESPACE enclosed by 'AddOnExposureUSD="' and '"',
RegulatoryExposureUSD filler char(100) TERMINATED BY WHITESPACE enclosed by 'RegulatoryExposureUSD="' and '"',
PARCR01 filler char(100) TERMINATED BY WHITESPACE enclosed by 'PARCR01="' and '"',
FAS133DESIGNATIONGAAP TERMINATED BY WHITESPACE enclosed by 'FAS133DesignationGAAP="' and '"',
FAS133DESIGNATIONSTAT TERMINATED BY WHITESPACE enclosed by 'FAS133DesignationSTAT="' and '"',
TRADEDATE TERMINATED BY WHITESPACE enclosed by 'TradeDate="' and '"',
EffectiveDate filler char(100) TERMINATED BY WHITESPACE enclosed by 'EffectiveDate="' and '"',
ALLOCATION TERMINATED BY WHITESPACE enclosed by 'Allocation="' and '"' "round(:ALLOCATION,4)",
DUMMY36 filler char(100) enclosed by '/' and '>'
Log:
Table DERIVATIVE_SECURITY:
4079 Rows successfully loaded.
0 Rows not loaded due to data errors.
28074 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Table DERIVATIVE_POSITION:
0 Rows successfully loaded.
0 Rows not loaded due to data errors.
32153 Rows not loaded because all WHEN clauses were failed.
0 Rows not loaded because all fields were null.
Space allocated for bind array: 248196 bytes(26 rows)
Read buffer bytes: 1048576
Total logical records skipped: 0
Total logical records read: 32153
Total logical records rejected: 0
Total logical records discarded: 28074When there are multiple tables in a control file, SQL Loader assumes the data for the first file in the second table immediately follows the last field in the first table. You probably want SQL Loader to start looking for the first column of the second table at the start of the second table. You can do this by using the POSITION clause
DUMMY51 filler char(1000) enclosed by "<Classification=" and "/>",
DUMMY52 filler char(1000) enclosed by "<Classification=" and "/>",
DUMMY53 filler char(1000) enclosed by "<Classification=" and "/>"
INTO TABLE DERIVATIVE_POSITION
WHEN PORTFOLIOCODE != ' '
FIELDS TERMINATED BY '</NewDataSet>' optionally enclosed by '"'
TRAILING NULLCOLS
DUMMY1 filler *position(1)* char(65000) terminated by '<DerivativePosition ',
DERIVATIVESECURITYID TERMINATED BY WHITESPACE enclosed by 'DerivativeSecurityID="' and '"',
PORTFOLIOCODE TERMINATED BY WHITESPACE enclosed by 'PortfolioCode="' and '"',
. -
The uploaded file CPSIDRPT.xml is invalid. The file should be in XML-DATA-T
can someone explain me why am I getting following error message when I'm trying to upload a data defination file?
The uploaded file CPSIDRPT.xml is invalid. The file should be in XML-DATA-TEMPLATE format.
thanks........
ketki----Based on the detail (or lack of) that you have provided, your file is not in the right format.
Can you open the file in a internet browser? Is it well-formed XML?
Edited by: SIyer on Dec 1, 2009 4:33 PM -
Special characters are not identified while uploading XML data( hypen)
Hello,
I am uploading XML file data in to sap , i am working on SAP 4.7 EE , when i am parsing the XML data it is not identifying the special characters like hyphen , aphostrophe...in place of them it is showing
Is there any way, where i can handle this ....is there any solution...otherwise is it is not possible to upload special characters from XML file.
Kinldy help me ...
Rgds.,
subashAny inputs????
-
Upload XML data using XSQL and HTTP Post ?
Upload XML data using XSLQ and HTTP Post: is that possible ?
An xsql contains an <xsql:insert-request table="aTable">
The XML data file follows the ROWSET/ROW paradigm.
What is the HTML form to upload the xml file to the XSQL ?
I tried:
<form action="myXSQL.xsql" method="POST" ENCTYPE="multipart/form-data">
XML data file to upload: <input type="file">
<input type="submit">
</form>
But the answer of myXSQL is:
<xsql-status action="xsql:insert-request" result="No posted document to process" />
Where is the problem ?
Thank you.Hello,
You are posting your XML file as a parameter therefore you should use the <xsql:insert-params/> tag, not the <xsql:insert-request/>. The insert-request can only handle data not posted via a parameter.
Usage:
<form action="myXSQL.xsql" method="GET" ENCTYPE="multipart/form-data">
XML data file to upload: <input type="file" name="myXML">
<input type="submit">
</form>
in combination with
<xsql>
<xsql:insert-params name="myXML" table="your table"/>
</xsql>
2 remarks:
I was not able to succesfully POST the form. The answer was <xsql-status action="xsql:insert-request" result="No posted document to process" />. With GET is was succesfull.
Second, if you use MSInternet explorer 5 or higher use could post the XML directly (not aw parameter) using an ActiveX object.
Regards,
Harm Verschuren -
Hi guys,
How to upload a XML file into sap?
is there any function module?
can anybody give me an example program for converting or uploading XML data into sap.
regards,
vinoth.Hi all,
The XML code and XML file given is running fine for me, but when i am using it, my XML file and code, the tables GV_header and GT_item are filling in the perform but outside perform it's empty. Please find the code and XML file , PLease give the answer its urgent, points will be given for sure.
My function module code is:-
FUNCTION Z_MMI_XML_EXTRACT_COPY.
""Local interface:
*" IMPORTING
*" REFERENCE(DOCTYPE) LIKE DRAW-DOKAR
*" REFERENCE(DOCNUM) LIKE DRAW-DOKNR
*" REFERENCE(DOCVER) LIKE DRAW-DOKVR
*" REFERENCE(DOCPART) LIKE DRAW-DOKTL
*" TABLES
*" T_HEADER STRUCTURE ZFI_HEADER
*" T_ITEMS STRUCTURE ZFI_ITEMS
Load iXML Lib.
type-pools: ixml.
class cl_ixml definition load.
data: G_IXML type ref to if_ixml.
data: STREAMFACTORY type ref to if_ixml_stream_factory.
data: ISTREAM type ref to if_ixml_istream.
data: DOCUMENT type ref to if_ixml_document.
data: PARSER type ref to if_ixml_parser.
You should provide the parameter for file name
*LV_FILE_URL = 'C:input_xml.xml'.
types: begin of XML_LINE,
DATA(256) type x,
end of XML_LINE.
***types: begin of TY_HEADER,
CUST_NAME(20) type c,
CARD_NO(20) type c,
TAX_AMOUNT(10) type c,
TOTAL_AMOUNT(10) type c,
end of TY_HEADER.
***types: begin of TY_ITEM,
ITEM_NO(4) type n,
ITEM_ID(20) type c,
ITEM_TITLE(50) type c,
ITEM_QTY(10) type c,
ITEM_UPRICE(10) type c,
end of TY_ITEM.
*data: GV_HEADER type TY_HEADER.
*data: GV_HEADER like zfi_header occurs 0 with header line.
data : GV_HEADER LIKE ZFI_HEADER.
*data: GT_ITEM type standard table of TY_ITEM with header line.
*data: GT_ITEM type standard table of zfi_items with header line.
data: GT_ITEM type standard table of zfi_items with header line.
data: XML_TABLE type table of XML_LINE,
XML_TABLE_SIZE type i.
data: LV_FILE_URL type rlgrap-filename.
DATA : BEGIN OF itab OCCURS 0,
a(100) TYPE c,
END OF itab.
DATA: xml_out TYPE string .
DATA : BEGIN OF upl OCCURS 0,
f(255) TYPE c,
END OF upl.
DATA: xmlupl TYPE string .
DATA : BEGIN OF wa_draw OCCURS 0,
dokar LIKE draw-dokar,
doknr LIKE draw-doknr,
dokvr LIKE draw-dokvr,
doktl LIKE draw-doktl,
END OF wa_draw.
DATA : g_documenttype LIKE bapi_doc_aux-doctype,
g_documentnumber LIKE bapi_doc_aux-docnumber,
g_documentpart LIKE bapi_doc_aux-docpart,
g_documentversion LIKE bapi_doc_aux-docversion.
*" Itab required in IMPORTING parameter of BAPI
DATA : t_documentfile LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE.
DATA : t_documentstructure LIKE bapi_doc_structure OCCURS 0 WITH HEADER
LINE,
itab required in TABLES parameters of BAPI
t_documentfiles LIKE bapi_doc_files2 OCCURS 0 WITH HEADER LINE,
t_components LIKE bapi_doc_comp OCCURS 0 WITH HEADER LINE,
t_return LIKE bapiret2.
DATA : l_docfile TYPE string.
***FILL THE TYPE OF ATTACHMENT in IMPORTING itab**
t_documentfile-wsapplication = 'XML'.
APPEND t_documentfile.
wa_draw-dokar = DOCTYPE.
wa_draw-doknr = DOCNUM.
wa_draw-doktl = DOCPART.
wa_draw-dokvr = DOCVER.
CALL FUNCTION 'BAPI_DOCUMENT_CHECKOUTVIEW2'
EXPORTING
documenttype = wa_draw-dokar
documentnumber = wa_draw-doknr
documentpart = wa_draw-doktl
documentversion = wa_draw-dokvr
documentfile = t_documentfile "IMPORTING itab of BAPI
getstructure = '1'
getcomponents = 'X'
ORIGINALPATH = ' '
HOSTNAME = ' '
getheader = 'X'
DOCBOMCHANGENUMBER =
DOCBOMVALIDFROM =
DOCBOMREVISIONLEVEL =
IMPORTING
return = t_return
TABLES
documentstructure = t_documentstructure
documentfiles = t_documentfiles "TABLES itab of BAPI
components = t_components
LOOP AT t_documentfiles .
ENDLOOP.
l_docfile = t_documentfiles-docfile.
The next step is creating the main factory for the iXML library:
G_IXML = cl_ixml=>create( ).
Now Create Stream Factory
STREAMFACTORY = G_IXML->create_stream_factory( ).
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
*filename = 'C:DMS_SPA.XML'
filename = l_docfile
filetype = 'BIN'
IMPORTING
FILELENGTH = XML_TABLE_SIZE
TABLES
data_tab = XML_TABLE.
ISTREAM = STREAMFACTORY->create_istream_itable( table = XML_TABLE
size = XML_TABLE_SIZE )
Create XML Document instance
DOCUMENT = G_IXML->create_document( ).
Create parser Object
PARSER = G_IXML->create_parser( stream_factory = STREAMFACTORY
ISTREAM = istream
DOCUMENT = document ).
Parse an XML document into a DOM tree
*parser->parse( ).
Parsing Error Processing
if PARSER->parse( ) ne 0.
if PARSER->num_errors( ) ne 0.
data: PARSEERROR type ref to if_ixml_parse_error,
STR type STRING,
I type i,
COUNT type I,
INDEX type i.
COUNT = PARSER->num_errors( ).
write: COUNT, ' parse errors have occured:'.
INDEX = 0.
while INDEX < COUNT.
PARSEERROR = PARSER->get_error( INDEX = index ).
I = PARSEERROR->get_line( ).
write: 'line: ', i.
I = PARSEERROR->get_column( ).
write: 'column: ', i.
STR = PARSEERROR->get_reason( ).
write: STR.
INDEX = index + 1.
endwhile.
endif.
endif.
Close the stream since it �s not needed anymore
call method ISTREAM->close( ).
clear ISTREAM.
DATA : GV_NODE type ref to if_ixml_node.
DATA : GV_NODETEXT type STRING.
data: GV_FIRST_TIME.
GV_FIRST_TIME = 'X'.
GV_NODE = DOCUMENT.
*GT_ITEM-item_no = 1.
GT_ITEM-itemno_acc = 1.
perform GET_DATA tables GT_ITEM
using GV_NODE
changing GV_HEADER.
Last item is still not added.
append GT_ITEM.
APPEND GV_HEADER.
*T_HEADER[] = gv_header[].
t_items[] = gt_item[].
**write : GV_HEADER-cust_name,
GV_HEADER-card_no,
GV_HEADER-tax_amount,
GV_HEADER-total_amount.
**loop at GT_ITEM.
write /:.
write : GT_ITEM-item_no,
GT_ITEM-item_id,
GT_ITEM-item_title,
GT_ITEM-item_qty,
GT_ITEM-item_uprice.
**endloop.
ENDFUNCTION.
FORM Get_data *
***form get_data tables YT_ITEM structure gt_ITEM
using value(x_node) type ref to if_ixml_node
changing Y_HEADER type TY_HEADER.
form get_data1 tables YT_ITEM structure zfi_items
using value(x_node) type ref to if_ixml_node
changing Y_HEADER type zfi_header.
***form get_data tables YT_ITEM structure GT_ITEM
using value(x_node) type ref to if_ixml_node
changing Y_HEADER type TY_HEADER.
data: INDENT type i.
data: PTEXT type ref to if_ixml_text.
data: STRING type string.
data: TEMP_STRING(100).
case X_NODE->get_type( ).
when if_ixml_node=>co_node_element.
STRING = X_NODE->get_name( ).
GV_NODETEXT = STRING.
when if_ixml_node=>co_node_text.
PTEXT ?= X_NODE->query_interface( IXML_IID_TEXT ).
if PTEXT->ws_only( ) is initial.
STRING = X_NODE->get_value( ).
case GV_NODETEXT.
when 'Customer'.
when 'HEADER'.
clear GV_HEADER.
when 'Name'.
when 'INVOICE_IND'.
move STRING to GV_HEADER-cust_name.
move STRING to GV_HEADER-INVOICE_IND.
when 'CompanyCode'.
move STRING to GV_HEADER-CompanyCode.
when 'OBJ_TYPE'.
move STRING to GV_HEADER-OBJ_TYPE.
when 'username'.
move STRING to GV_HEADER-username.
when 'PO_reference'.
move STRING to GV_HEADER-PO_reference.
when 'Invoice_Date'.
move STRING to GV_HEADER-Invoice_Date.
when 'Posting_Date'.
move STRING to GV_HEADER-Posting_Date.
when 'Amount'.
move STRING to GV_HEADER-Amount.
when 'Currency'.
move STRING to GV_HEADER-Currency.
*APPEND GV_HEADER.
Iteam details
when 'invoice_doc_item'.
move STRING to GT_ITEM-ITEMNO_ACC.
when 'currency'.
move STRING to TEMP_STRING.
move TEMP_STRING to GT_ITEM-CURRENCY.
when 'Quantity'.
move STRING to GT_ITEM-Quantity.
when 'UoM'.
move STRING to GT_ITEM-UoM.
endcase.
endif.
endcase.
if GV_NODETEXT = 'Header'.
clear GV_HEADER.
elseif GV_NODETEXT = 'Item'.
if GV_FIRST_TIME ne 'X'.
append GT_ITEM.
clear : gt_item.
GT_ITEM-ITEMNO_ACC = gt_item-itemno_acc + 1.
endif.
GV_FIRST_TIME = ' '.
endif.
Get the next child
X_NODE = x_node->get_first_child( ).
Recurse
while not X_NODE is initial.
perform GET_DATA tables GT_ITEM
using X_NODE
changing GV_HEADER.
X_NODE = x_node->get_next( ).
endwhile.
endform.
the XML file is:-
Thanx in advance -
Hi Friends,
See the followong code which converts xml data into itab.
*& Report ZTEST_XML1 *
REPORT ZTEST_XML1 .
*PURPOSE: This program transfers XML data into SAP internal table format
*The nodes in DOM can be stored as fields in SAP Internal table
type pool definitions
TYPE-POOLS: ixml. "iXML Library Types
type definitions
TYPES: BEGIN OF t_xml_line, "Structure for holding XML data
data(256) TYPE x,
END OF t_xml_line.
DATA: l_ixml TYPE REF TO if_ixml,
l_streamfactory TYPE REF TO if_ixml_stream_factory,
l_parser TYPE REF TO if_ixml_parser,
l_istream TYPE REF TO if_ixml_istream,
l_document TYPE REF TO if_ixml_document,
l_node TYPE REF TO if_ixml_node,
l_xmldata TYPE string.
DATA: l_elem TYPE REF TO if_ixml_element,
l_root_node TYPE REF TO if_ixml_node,
l_next_node TYPE REF TO if_ixml_node,
l_name TYPE string,
l_iterator TYPE REF TO if_ixml_node_iterator.
DATA: l_xml_table TYPE TABLE OF t_xml_line, " XML Table of the structure
*t_xml_line
l_xml_line TYPE t_xml_line, " Record of structure t_xml_line
l_xml_table_size TYPE i. " XML table size
DATA: l_filename TYPE string. " String to hold filename
data: begin of i_final occurs 0,
pnumber(20),
pname(50),
pdes(70),
end of i_final.
PARAMETERS: pa_file TYPE char1024 DEFAULT 'C:\product.xml'.
Validation of XML file: Only DTD included in XML document is supported
PARAMETERS: pa_val TYPE char1 AS CHECKBOX.
start of selection
START-OF-SELECTION.
Creating the main iXML factory
l_ixml = cl_ixml=>create( ).
Creating a stream factory
l_streamfactory = l_ixml->create_stream_factory( ).
PERFORM get_xml_table CHANGING l_xml_table_size l_xml_table.
Wrap the table containing the file into a stream.
l_istream = l_streamfactory->create_istream_itable( table = l_xml_table
size = l_xml_table_size ).
Creating a document
l_document = l_ixml->create_document( ).
Creating a Parser
l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
istream = l_istream
document = l_document ).
Validate a document
IF pa_val = 'X'.
l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
ENDIF.
Parse the stream
IF l_parser->parse( ) <> 0.
IF l_parser->num_errors( ) <> 0.
DATA: parseerror TYPE REF TO if_ixml_parse_error,
str TYPE string,
i TYPE i,
count TYPE i,
index TYPE i.
count = l_parser->num_errors( ).
WRITE: count, ' parse errors have occured:'.
index = 0.
WHILE index < count.
parseerror = l_parser->get_error( index = index ).
i = parseerror->get_line( ).
WRITE: 'line: ', i.
i = parseerror->get_column( ).
WRITE: 'column: ', i.
str = parseerror->get_reason( ).
WRITE: str.
index = index + 1.
ENDWHILE.
ENDIF.
ENDIF.
Process the document
IF l_parser->is_dom_generating( ) EQ 'X'.
PERFORM process_dom USING l_document.
ENDIF.
*& Form get_xml_table
text
<--P_L_XML_TABLE_SIZE text
<--P_L_XML_TABLE text
FORM get_xml_table CHANGING p_l_xml_table_size
p_l_xml_table.
Local variable declarations
DATA: l_len TYPE i,
l_len2 TYPE i,
l_tab TYPE tsfixml,
l_content TYPE string,
l_str1 TYPE string,
c_conv TYPE REF TO cl_abap_conv_in_ce,
l_itab TYPE TABLE OF string.
l_filename = pa_file.
Upload file from the client's workstation
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = l_filename
filetype = 'BIN'
IMPORTING
filelength = l_xml_table_size
CHANGING
data_tab = l_xml_table
EXCEPTIONS
OTHERS = 19.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Writing the XML document to the screen
CLEAR l_str1.
LOOP AT l_xml_table INTO l_xml_line.
c_conv = cl_abap_conv_in_ce=>create( input = l_xml_line-data replacement
= space ).
c_conv->read( IMPORTING data = l_content len = l_len ).
CONCATENATE l_str1 l_content INTO l_str1.
ENDLOOP.
l_str1 = l_str1+0(l_xml_table_size).
SPLIT l_str1 AT cl_abap_char_utilities=>cr_lf INTO TABLE l_itab.
WRITE: /.
WRITE: /' XML File'.
WRITE: /.
LOOP AT l_itab INTO l_str1.
REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=>horizontal_tab IN
l_str1 WITH space.
WRITE: / l_str1.
ENDLOOP.
WRITE: /.
ENDFORM. " get_xml_table
*& Form process_dom
text
-->P_L_DOCUMENT text
FORM process_dom USING document TYPE REF TO if_ixml_document.
DATA: node TYPE REF TO if_ixml_node,
iterator TYPE REF TO if_ixml_node_iterator,
nodemap TYPE REF TO if_ixml_named_node_map,
attr TYPE REF TO if_ixml_node,
name TYPE string,
prefix TYPE string,
value TYPE string,
indent TYPE i,
count TYPE i,
index TYPE i.
node ?= document.
CHECK NOT node IS INITIAL.
ULINE.
WRITE:/.
WRITE: /' DOM-TREE'.
WRITE: /.
IF node IS INITIAL.
EXIT.
ENDIF.
Create a node iterator
iterator = node->create_iterator( ).
Get current node
node = iterator->get_next( ).
Loop over all nodes
WHILE NOT node IS INITIAL.
indent = node->get_height( ) * 2.
indent = indent + 20.
CASE node->get_type( ).
WHEN if_ixml_node=>co_node_element.
element node
name = node->get_name( ).
nodemap = node->get_attributes( ).
WRITE: / 'ELEMENT :'.
WRITE: AT indent name COLOR COL_POSITIVE INVERSE.
IF NOT nodemap IS INITIAL.
attributes
count = nodemap->get_length( ).
DO count TIMES.
index = sy-index - 1.
attr = nodemap->get_item( index ).
name = attr->get_name( ).
prefix = attr->get_namespace_prefix( ).
value = attr->get_value( ).
WRITE: / 'ATTRIBUTE:'.
WRITE: AT indent name COLOR COL_HEADING INVERSE, '=',
value COLOR COL_TOTAL INVERSE.
ENDDO.
ENDIF.
WHEN if_ixml_node=>co_node_text OR
if_ixml_node=>co_node_cdata_section.
text node
value = node->get_value( ).
WRITE: / 'VALUE :'.
WRITE: AT indent value COLOR COL_GROUP INVERSE.
ENDCASE.
Advance to next node
node = iterator->get_next( ).
ENDWHILE.
*delete adjacent duplicates from i_final.
*loop at i_final.
*write:/ i_final-pnumber,i_final-pname,i_final-pdes.
*endloop.
*if not i_final[] is initial.
*modify ztestproduct from table i_final.
*endif.
ENDFORM. " process_dom
in the above code at line no: 268 there is a method:
value = node->get_value( ).in which actual data from XML file is coming.
So the varibale "Value" contains the data.
see line no: 270:
WRITE: AT indent value COLOR COL_GROUP INVERSE.
what ever values i am getting here i want to append to a Internal table ...
Can any body tell me how to do that?
i am sure of reward points.Hai Ravi
REPORT abc.
DATA
DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
DATA : BEGIN OF itab OCCURS 0,
a(100) TYPE c,
END OF itab.
DATA: xml_out TYPE string .
DATA : BEGIN OF upl OCCURS 0,
f(255) TYPE c,
END OF upl.
DATA: xmlupl TYPE string .
FIRST PHASE
FIRST PHASE
FIRST PHASE
Fetch Data
SELECT * FROM t001 INTO TABLE t001.
XML
CALL TRANSFORMATION ('ID')
SOURCE tab = t001[]
RESULT XML xml_out.
Convert to TABLE
CALL FUNCTION 'HR_EFI_CONVERT_STRING_TO_TABLE'
EXPORTING
i_string = xml_out
i_tabline_length = 100
TABLES
et_table = itab.
Download
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filetype = 'BIN'
filename = 'd:\xx.xml'
TABLES
data_tab = itab.
SECOND PHASE
SECOND PHASE
SECOND PHASE
BREAK-POINT.
REFRESH t001.
CLEAR t001.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'D:\XX.XML'
filetype = 'BIN'
TABLES
data_tab = upl.
LOOP AT upl.
CONCATENATE xmlupl upl-f INTO xmlupl.
ENDLOOP.
XML
CALL TRANSFORMATION ('ID')
SOURCE XML xmlupl
RESULT tab = t001[].
Regards
Sreeni -
Receiving OCI/ORA-27163 when querying XML data in 11g.
When querying a table with a column stored in XML format, we get this error for large XML values. This works in Oracle 10g but this error happens when the same data is queried in an 11.2.0.3 instance. I have had a support request open with Oracle for about a month and so far it has not made any progress. What we've seen are the following:
1. The xml data itself is good.
2. The good xml data when queried with a wholly 10g client/server environment, works.
3. The same good xml data when inserted into a table in an 11g instance through a stored package run from the 11g instance (server to server) gets the 27163 error.
4. The same xml data when queried in a 10g instance from an 11g client fails with the 27163 error.
5. If we disable the 11g XML parser by setting an internal event (alter session set events='31156 trace name context forever, level 0x400';), then run the same code that was run in item 3 above, it does not get the 27163 error. However, the xml loaded to the 11g instance can then only be queried without getting the 27163 error if we use an older 10g client. An 11g client consistently gets the error.
The server versions are 11.2.0.3 (upgraded from 10.2.0.4). The SQL*Net client versions that we have tested on are 11.2.0.2 and 11.2.0.3 (both produce the 27163 error).
With considerable trial and error, we found that it is some combination of the file size and format that causes the error. Copied below is the smallest sample data of a failing XML that will produce this erro (about 8K). Remove any single character even in an a comment and the file parses successfully – but it’s not the file size alone as the original 800+KB file where we first dicovered this problem will process if the period in the attribute: @value=”${item.id}” is removed.
We are at our wit's end, and with an 11g migration project looming, any ideas anyone can suggest would be very helpful.
Thanks,
Joe
Here is a test case to play around with. Sorry I don't have a way to upload a zip file for this, but you can cut & paste from the post:
1. CREATE TABLE my_xml_test
(record_id NUMBER(4,0),
xml SYS.XMLTYPE,
comments VARCHAR2(200))
ALTER TABLE my_xml_test
ADD CONSTRAINT my_xml_test_pk PRIMARY KEY (record_id)
USING INDEX
2. mkdir SampleData
3. cd into SampleData, copy the XML I will post in the first reply to this message into a new text document called xml_items_removed.xml.
4. cd .. and create a file called 20120112_11g_bad_xml_issue.txt with this in it:
1, .\SampleData\xml_items_removed.xml,"Fails: OriginalXML w/ all instances of <Item> removed (count 600) -- reduces file size to ca. 55KB but still fails (Saved by XMLSpy)"
5. Next create your SQL*Loader control file (call it my_xml_test.ctl):
LOAD DATA
APPEND INTO TABLE my_xml_test
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
record_id,
ext_fname FILLER CHAR(200),
xml LOBFILE(ext_fname) TERMINATED BY EOF,
comments
6. sqlldr <username>/<password>@<database> control=my_xml_test.ctl data=20120112_11g_bad_xml_issue.txt log=20120112_11g_bad_xml_issue.log bad=20120112_11g_bad_xml_issue.bad
7. Once the data is loaded, query my_xml_test table that you created in step 1. You should get the 27163 error:
SELECT a.record_id,
comments,
a.XML,
length(a.XML.GetClobVal()) clob_length
FROM my_xml_test a<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2012 sp1 (http://www.altova.com) by Martin l (National Board of Medical Examiners) -->
<IRData application="Item Review" version="1.3" itempool="2006001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ViewerTypes>
<Viewer id="its-viewer">
<Title>Item Text</Title>
<Description>Item Text</Description>
<BaseUrl>https://www.starttest.com/flex/4.3.0.0/InstitutionViewItem.aspx</BaseUrl>
<Parameters>
<Parameter name="pid" value="MSST"/>
<Parameter name="iid" value="01123"/>
<Parameter name="username" value="SomeUser"/>
<Parameter name="item" value="${item.id}"/>
<Parameter name="code" value="${CODE}"/>
</Parameters>
</Viewer>
</ViewerTypes>
<Filters>
<Filter id="drop-single-filter">
<AttributeSource>drop</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="onoff-single-filter">
<AttributeSource>onoff</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="reviewed-single-filter">
<AttributeSource>reviewed</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="build-multi-filter">
<AttributeSource>build</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="flag-multi-filter">
<AttributeSource>flag</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="u1dt-multi-filter">
<AttributeSource>U1DT</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="fb2-multi-filter">
<AttributeSource>FB2</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="fb1t-multi-filter">
<AttributeSource>FB1T</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="scorecat-multi-filter">
<AttributeSource>scorecat</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="images-multi-filter">
<AttributeSource>PIXN</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
<Filter id="vignettes-multi-filter">
<AttributeSource>VIG1</AttributeSource>
<ControlType>select-1-drop-down-plus-all</ControlType>
</Filter>
</Filters>
<DataPanels>
<Control displayed="true">
<Filters>
<Filter>
<Description>Drop</Description>
<FilterSource>drop-single-filter</FilterSource>
</Filter>
<Filter>
<Description>Version</Description>
<FilterSource>build-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>On/Off Test</Description>
<FilterSource>onoff-single-filter</FilterSource>
</Filter>
<Filter>
<Description>Review status</Description>
<FilterSource>reviewed-single-filter</FilterSource>
</Filter>
<Filter>
<Description>Flag</Description>
<FilterSource>flag-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Discipline</Description>
<FilterSource>fb1t-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Organ System</Description>
<FilterSource>u1dt-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Step 1 outline</Description>
<FilterSource>fb2-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Images</Description>
<FilterSource>images-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Vignettes</Description>
<FilterSource>vignettes-multi-filter</FilterSource>
</Filter>
<Filter>
<Description>Score categories</Description>
<FilterSource>scorecat-multi-filter</FilterSource>
</Filter>
</Filters>
</Control>
<ItemList displayed="true">
<Attributes>
<Attribute displayed="true">
<Description>Item</Description>
<AttributeSource>itemref</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>On test</Description>
<AttributeSource>onoff</AttributeSource>
<ControlType>checkbox-select</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Drop</Description>
<AttributeSource>drop</AttributeSource>
<ControlType>checkbox-select</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Reviewed</Description>
<AttributeSource>reviewed</AttributeSource>
<ControlType>check-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Flag</Description>
<AttributeSource>flag</AttributeSource>
<ControlType>select-1-drop-down</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Description</Description>
<AttributeSource>DESCR</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Discipline</Description>
<AttributeSource>FB1T</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Organ System</Description>
<AttributeSource>U1DT</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Step 1 outline</Description>
<AttributeSource>FB2</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<!-- Attribute displayed="false"> <Description>Organ System plus</Description> <AttributeSource>ORGA</AttributeSource> <ControlType>text-display</ControlType> </Attribute -->
<Attribute displayed="true">
<Description>Images</Description>
<AttributeSource>PIXN</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Vignettes</Description>
<AttributeSource>VIG1</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Diff</Description>
<AttributeSource>pvalue</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Discr</Description>
<AttributeSource>rbvalue</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Answer Key</Description>
<AttributeSource>key</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
<Attribute displayed="true">
<Description>Notes</Description>
<AttributeSource>notes</AttributeSource>
<ControlType>text-display</ControlType>
</Attribute>
</Attributes>
</ItemList>
<CurrentItemInfo>
<ItemText displayed="true"/>
<ItemData>
<Attribute>
<DataSource>scorecat</DataSource>
<ControlType>select-each-value</ControlType>
</Attribute>
</ItemData>
</CurrentItemInfo>
</DataPanels>
</IRData>
<?BASELINE FB2-A.02.01 on:4 off:3?>
<?BASELINE FB2-A.02.02 on:4 off:4?>
<?BASELINE FB2-A.03.01 on:3 off:1?>
<?BASELINE FB2-A.03.02 on:0 off:1?>
<?BASELINE FB2-A.03.04 on:3 off:2?>
<?BASELINE FB2-A.03.05 on:1 off:0?>
<?BASELINE FB2-A.03.07 on:4 off:2?>
<?BASELINE FB2-A.04.01 on:2 off:5?>
<?BASELINE FB2-A.04.02 on:5 off:3?>
<?BASELINE FB2-A.04.03 on:3 off:1?>
<?BASELINE FB2-A.04.04 on:1 off:1?>
<?BASELINE FB2-A.05.01 on:12 off:14?>
<?BASELINE FB2-A.05.02 on:9 off:1?>
<?BASELINE FB2-A.05.03 on:0 off:6?>
<?BASELINE FB2-A.06.01 on:7 off:9?>
<?BASELINE FB2-A.06.02 on:2 off:6?>
<?BASELINE FB2-A.06.03 on:10 off:5?>
<?BASELINE FB2-A.06.04 on:1 off:1?>
<?BASELINE FB2-A.07 on:23 off:20?> -
Trying to pass xml data to a web service
I'm working on an Apex application that is required to pass data to a web service for loading into another (non Oracle) system. The web service expects two stings as input, the first string is simply an ID, the second string is an xml document. I generate an xml 'string' using PL/SQL in an on-submit process prior to invoking the web service. If I pass regular text for the second parameter, the web service returns an error message which is stored in the response collection and displayed on the page as expected. When I pass the the xml data, I get a no data found error and the response collection is empty. I have tried this in our development environment on Apex 3.1.2 (database version 10.2). I also tried this on our Apex 4.0.2 sandbox (with the same Oracle 10.2 database). I have found that once I have nested xml, I get the no data found message, if I pass partial xml data, I get the error response from the web service. Perhaps I am not generating the xml correctly to pass to the web service (this only just occurred to me as I write this)? Or is there an issue passing xml data from Apex to the web service? Any help will be greatly appreciated! here is the code I use to generate the xml string:
declare
cursor build_data is
select u_catt_request_buid,u_catt_request_name,u_catt_cassette_buid,u_catt_cassette_name
,u_project_name,u_sub_project,replace(u_nominator,'ERROR ','') u_nominator
,replace(replace(u_going_to_vqc,'Yes','true'),'No','false') u_going_to_vqc
,u_promoter,u_cds,u_terminator
,u_primary_trait,u_source_mat_prvd,u_pro_resistance_1,u_vector_type
,nvl(u_my_priority,'Medium') u_my_priority
,replace(replace(u_immediate_trafo,'Yes','true'),'No','false') u_immediate_trafo
,replace(replace(u_new_bps_cmpnt,'Yes','true'),'No','false') u_new_bps_cmpnt
,u_compnt_name,u_new_cmpt_desc,initcap(u_target_crop) u_target_crop,u_corn_line
,u_plant_selection,u_num_of_ind_events,u_num_plants_per_event,u_molecular_quality_events
,replace(replace(u_field,'Yes','true'),'No','false') u_field
,u_t1_seed_request,u_potential_phenotype,u_submission_date
,u_sequence_length,u_trait,u_frst_parent,u_frst_parent_vshare_id,u_cds_vshare_id
,constructid,cassetteid,description
from temp_constructs_lims
order by constructid,description;
v_xml_info varchar2(350);
v_xml_header varchar2(1000);
v_xml_data clob;
v_xml_footer varchar2(50);
v_create_date varchar2(10);
v_scientist_name v_users.full_name%type;
v_scientist_email v_users.email_address%type;
v_primas_code construct.fkprimas%type;
v_nominator_name v_nominators.full_name%type;
v_file_length number;
begin
-- initialize variables
v_create_date := to_char(sysdate,'YYYY-MM-DD');
v_xml_data := null;
-- get name and email address
begin
select full_name,email_address
into v_scientist_name,v_scientist_email
from v_users
where ldap_account = :F140_USER_ID;
exception when no_data_found then
v_scientist_name := '';
v_scientist_email := '';
v_scientist_name := 'Test, Christine';
v_scientist_email := '[email protected]';
end;
-- set up xml file
if :OWNER like '%DEV%' then
v_xml_info := '
<?xml version="1.0" encoding="utf-8"?>
<exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="deService"
xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
else
v_xml_info := '
<?xml version="1.0" encoding="utf-8"?>
<exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="deService"
xsi:schemaLocation="deService http://mycompanyprod.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
end if;
-- populate xml header records
v_xml_header := '<header xmlns="">
<stdXmlVer>2.0</stdXmlVer>
<sendingUnit>'||:P36_UNIT_NUMBER||'</sendingUnit>
<sendingPerson>'||v_scientist_name||'</sendingPerson>
<notification>'||v_scientist_email||'</notification>
<creationDate>'||v_create_date||'</creationDate>
</header>
<entities xmlns="">
for rec in build_data loop
begin
-- get primas code for current construct
select fkprimas
into v_primas_code
from construct
where constructid = rec.constructid;
exception when no_data_found then
v_primas_code := null;
end;
begin
-- get nominator name for current construct
select full_name
into v_nominator_name
from v_nominators
where nominator_id = rec.u_nominator;
exception
when no_data_found then
v_nominator_name := null;
when invalid_number then
v_nominator_name := catt_pkg.full_name_from_user_id(p_user_id => rec.u_nominator);
v_nominator_name := 'Test, Christine';
end;
v_xml_data := v_xml_data||'
<Construct>
<requestBUID>'||rec.u_catt_request_buid||'</requestBUID>
<requestName>'||rec.u_catt_request_name||'</requestName>
<cassetteBUID>'||rec.u_catt_cassette_buid||'</cassetteBUID>
<cassetteName>'||rec.u_catt_cassette_name||'</cassetteName>
<scientist>'||v_scientist_name||'</scientist>
<projectNumber>'||v_primas_code||'</projectNumber>
<subProject>'||rec.u_sub_project||'</subProject>
<comments>'||rec.description||'</comments>
<nominator>'||v_nominator_name||'</nominator>
<goingToVqc>'||rec.u_going_to_vqc||'</goingToVqc>
<primaryTrait>'||rec.u_primary_trait||'</primaryTrait>
<sourceMatPrvd>'||rec.u_source_mat_prvd||'</sourceMatPrvd>
<prokaryoticResistance>'||rec.u_pro_resistance_1||'</prokaryoticResistance>
<vectorType>'||rec.u_vector_type||'</vectorType>
<priority>'||rec.u_my_priority||'</priority>
<immediateTrafo>'||rec.u_immediate_trafo||'</immediateTrafo>
<newComponent>'||rec.u_new_bps_cmpnt||'</newComponent>
<componentName>'||rec.u_compnt_name||'</componentName>
<newComponentDescription>'||rec.u_new_cmpt_desc||'</newComponentDescription>
<targetCrop>'||rec.u_target_crop||'</targetCrop>
<Line>'||rec.u_corn_line||'</Line>
<plantSelection>'||rec.u_plant_selection||'</plantSelection>
<numOfIndEvents>'||rec.u_num_of_ind_events||'</numOfIndEvents>
<numOfPlantsPerEvent>'||rec.u_num_plants_per_event||'</numOfPlantsPerEvent>
<molecularQualityEvents>'||rec.u_molecular_quality_events||'</molecularQualityEvents>
<toField>'||rec.u_field||'</toField>
<potentialPhenotype>'||rec.u_potential_phenotype||'</potentialPhenotype>
</Construct>
end loop;
-- complete xml data
v_xml_footer := '
</entities>
</exchange>
-- complete submission data
:P36_XML_SUBMISSION := null;
:P36_XML_SUBMISSION := v_xml_info||v_xml_header||v_xml_data||v_xml_footer;
:P36_XML_SUBMISSION := trim(:P36_XML_SUBMISSION);
end;Here is an example of :P36_XML_SUBMISSION:
<?xml version="1.0" encoding="utf-8"?> <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="deService" xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd"> <header xmlns=""> <stdXmlVer>2.0</stdXmlVer> <sendingUnit>10</sendingUnit> <sendingPerson>Test, Christine</sendingPerson> <notification>[email protected]</notification> <creationDate>2011-12-20</creationDate> </header> <entities xmlns=""> <Construct> <requestBUID>150000123</requestBUID> <requestName>AA0000123</requestName> <cassetteBUID>160000123</cassetteBUID> <cassetteName>AB000123</cassetteName> <scientist>Test, Christine</scientist> <projectNumber>T000123</projectNumber> <subProject>Discovery Plus</subProject> <comments>AA0000123 From CATT on 20-DEC-11 </comments> <nominator>Test, Christine</nominator> <goingToVqc>true</goingToVqc> <primaryTrait>promoter::intron::transit:gene::terminator</primaryTrait> <sourceMatPrvd>seed - stuff</sourceMatPrvd> <prokaryoticResistance></prokaryoticResistance> <vectorType>Plant Vector</vectorType> <priority>Medium</priority> <immediateTrafo>true</immediateTrafo> <newComponent></newComponent> <componentName>gene</componentName> <newComponentDescription>unknown function; sequence has some similarity to others</newComponentDescription> <targetCrop>Crop</targetCrop> <Line>Inbred</Line> <plantSelection>smidge ver2</plantSelection> <numOfIndEvents>6</numOfIndEvents> <numOfPlantsPerEvent>1</numOfPlantsPerEvent> <molecularQualityEvents>NA</molecularQualityEvents> <toField>true</toField> <potentialPhenotype></potentialPhenotype> </Construct> </entities> </exchange>My application page is accessed by an action from another page. The user reviews the data in a sql report region. When the use clicks on the Upload (SUBMIT) button, the xml string is generated first and then the web service is invoked. I have tried passing a simple string as the second parameter ("dummydata") and partial data in the xml string ("<sendingPerson>Test, Christine</sendingPerson>") the web service returns this error in both cases:
Error[Validate Data]: (XML) = Data at the root level is invalid. Line 1, position 1.. Cannot validate the XML! Data Exchange not accepted!Once I pass the entire xml string above, I get an Oracle-01403: no data found error. I have opened the web service in IE and pasted my xml input string and received a valid, verified result, so I am sure that the generated xml is correct. I have spoken with the web service developer; there are no log entries created by the web service when I submit the full xml string, so I suspect the failure is in the Apex application.
Thanks,
Christine
I should add that once I have nested tags in the xml, I get the Oracle no data found error ("<header xmlns=""> <stdXmlVer>2.0</stdXmlVer> <sendingUnit>10</sendingUnit> </header>"). I f I do not have nested tags in the xml ("<notification>[email protected]</notification> <creationDate>2011-12-20</creationDate>"), I get the web service response (error).
Edited by: ChristineD on Dec 20, 2011 9:54 AMOk, I think I'm getting closer to thinking this all the way through. When I have used clobs in the past, I've always used the DBMS_CLOB package. I use this to create a temp clob and then make the above calls. I had to go find an example in my own code to remember all of this. So, here is another suggestion... feel free to disregard all the previous code snippets..
declare
cursor build_data is
select u_catt_request_buid,u_catt_request_name,u_catt_cassette_buid,u_catt_cassette_name
,u_project_name,u_sub_project,replace(u_nominator,'ERROR ','') u_nominator
,replace(replace(u_going_to_vqc,'Yes','true'),'No','false') u_going_to_vqc
,u_promoter,u_cds,u_terminator
,u_primary_trait,u_source_mat_prvd,u_pro_resistance_1,u_vector_type
,nvl(u_my_priority,'Medium') u_my_priority
,replace(replace(u_immediate_trafo,'Yes','true'),'No','false') u_immediate_trafo
,replace(replace(u_new_bps_cmpnt,'Yes','true'),'No','false') u_new_bps_cmpnt
,u_compnt_name,u_new_cmpt_desc,initcap(u_target_crop) u_target_crop,u_corn_line
,u_plant_selection,u_num_of_ind_events,u_num_plants_per_event,u_molecular_quality_events
,replace(replace(u_field,'Yes','true'),'No','false') u_field
,u_t1_seed_request,u_potential_phenotype,u_submission_date
,u_sequence_length,u_trait,u_frst_parent,u_frst_parent_vshare_id,u_cds_vshare_id
,constructid,cassetteid,description
from temp_constructs_lims
order by constructid,description;
v_xml_info varchar2(350);
v_xml_header varchar2(1000);
v_xml_data clob;
v_xml_footer varchar2(50);
v_create_date varchar2(10);
v_scientist_name v_users.full_name%type;
v_scientist_email v_users.email_address%type;
v_primas_code construct.fkprimas%type;
v_nominator_name v_nominators.full_name%type;
v_file_length number;
v_xml_body varchar2(32767); --added by AustinJ
v_page_item varchar2(32767); --added by AustinJ
begin
-- initialize variables
v_create_date := to_char(sysdate,'YYYY-MM-DD');
--v_xml_data := null; --commented out by AustinJ
dbms_lob.createtemporary( v_xml_data, FALSE, dbms_lob.session ); --added by AustinJ
dbms_lob.open( v_xml_data, dbms_lob.lob_readwrite ); --added by AustinJ
-- get name and email address
begin
select full_name,email_address
into v_scientist_name,v_scientist_email
from v_users
where ldap_account = :F140_USER_ID;
exception when no_data_found then
v_scientist_name := '';
v_scientist_email := '';
v_scientist_name := 'Test, Christine';
v_scientist_email := '[email protected]';
end;
-- set up xml file
if :OWNER like '%DEV%' then
v_xml_info := '
<?xml version="1.0" encoding="utf-8"?>
<exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="deService"
xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
else
v_xml_info := '
<?xml version="1.0" encoding="utf-8"?>
<exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="deService"
xsi:schemaLocation="deService http://mycompanyprod.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
end if;
-- populate xml header records
v_xml_header := '<header xmlns="">
<stdXmlVer>2.0</stdXmlVer>
<sendingUnit>'||:P36_UNIT_NUMBER||'</sendingUnit>
<sendingPerson>'||v_scientist_name||'</sendingPerson>
<notification>'||v_scientist_email||'</notification>
<creationDate>'||v_create_date||'</creationDate>
</header>
<entities xmlns="">
for rec in build_data loop
begin
-- get primas code for current construct
select fkprimas
into v_primas_code
from construct
where constructid = rec.constructid;
exception when no_data_found then
v_primas_code := null;
end;
begin
-- get nominator name for current construct
select full_name
into v_nominator_name
from v_nominators
where nominator_id = rec.u_nominator;
exception
when no_data_found then
v_nominator_name := null;
when invalid_number then
v_nominator_name := catt_pkg.full_name_from_user_id(p_user_id => rec.u_nominator);
v_nominator_name := 'Test, Christine';
end;
v_xml_body := '
<Construct>
<requestBUID>'||rec.u_catt_request_buid||'</requestBUID>
<requestName>'||rec.u_catt_request_name||'</requestName>
<cassetteBUID>'||rec.u_catt_cassette_buid||'</cassetteBUID>
<cassetteName>'||rec.u_catt_cassette_name||'</cassetteName>
<scientist>'||v_scientist_name||'</scientist>
<projectNumber>'||v_primas_code||'</projectNumber>
<subProject>'||rec.u_sub_project||'</subProject>
<comments>'||rec.description||'</comments>
<nominator>'||v_nominator_name||'</nominator>
<goingToVqc>'||rec.u_going_to_vqc||'</goingToVqc>
<primaryTrait>'||rec.u_primary_trait||'</primaryTrait>
<sourceMatPrvd>'||rec.u_source_mat_prvd||'</sourceMatPrvd>
<prokaryoticResistance>'||rec.u_pro_resistance_1||'</prokaryoticResistance>
<vectorType>'||rec.u_vector_type||'</vectorType>
<priority>'||rec.u_my_priority||'</priority>
<immediateTrafo>'||rec.u_immediate_trafo||'</immediateTrafo>
<newComponent>'||rec.u_new_bps_cmpnt||'</newComponent>
<componentName>'||rec.u_compnt_name||'</componentName>
<newComponentDescription>'||rec.u_new_cmpt_desc||'</newComponentDescription>
<targetCrop>'||rec.u_target_crop||'</targetCrop>
<Line>'||rec.u_corn_line||'</Line>
<plantSelection>'||rec.u_plant_selection||'</plantSelection>
<numOfIndEvents>'||rec.u_num_of_ind_events||'</numOfIndEvents>
<numOfPlantsPerEvent>'||rec.u_num_plants_per_event||'</numOfPlantsPerEvent>
<molecularQualityEvents>'||rec.u_molecular_quality_events||'</molecularQualityEvents>
<toField>'||rec.u_field||'</toField>
<potentialPhenotype>'||rec.u_potential_phenotype||'</potentialPhenotype>
</Construct>
'; --modified by AustinJ
dbms_lob.writeappend( v_xml_data, length(v_xml_body), v_xml_body); --added by AustinJ
end loop;
-- complete xml data
v_xml_footer := '
</entities>
</exchange>
-- complete submission data
v_page_item := null;
v_page_item := v_xml_info||v_xml_header||wwv_flow.do_substitutions(wwv_flow_utilities.clob_to_varchar2(v_xml_data))||v_xml_footer; --added by AustinJ
:P36_XML_SUBMISSION := trim(v_page_item); --added by AustinJ
dbms_lob.close( v_xml_data); --added by AustinJ
if v_xml_data is not null then
dbms_lob.freetemporary(v_xml_data); --added by AustinJ
end if; --added by AustinJ
end;This code will use the Database to construct your clob and then convert it back to a varchar2 for output to your webservice. This makes more sense to me now and hopefully you can follow what the process is doing.
You don't technically need the two varchar2(36767) variables. I used two for naming convention clarity sake. You could use just one multipurpose variable instead.
If you have any questions, just ask. I'll help if I can.
Austin
Edited by: AustinJ on Dec 20, 2011 12:17 PM
Fixed spelling mistakes. -
The file should be in XML-DATA-TEMPLATE format
Hi,
When I am trying to upload the Data Definition file in XML publisher with EBS 11.5.10.2, I got "The uploaded file GLPAYBDXDO.xml is invalid. The file should be in XML-DATA-TEMPLATE format". I have tried changing the file name to different names including XML-DATA-TEMPLATE but I could not succeed. I appreciate for any help.
Thanks,
Ram.What is the content of your xml file. Is this sample xml file or Data Template.
-
Data template is invalid. Should be in XML-DATA-TEMPLATE format.
Hi,
I am trying to create & upload a Data Template for a Data Definition in XML Publisher. When I try to upload my data template, it shows me the error :-
" The uploaded file PAFPURUP_TEMPLATE.xml is invalid. The file should be in XML-DATA-TEMPLATE format. "
Can any please suggest me a possible resolution to this error? Below is my data template content :-
<?xml version="1.0" encoding="WINDOWS-1252" ?>
<dataTemplate name="PAFPURUP_TEMPLATE" description="Data template for PAFPURUP" defaultPackage="PA_PAFPURUP_PKG" version="1.0">
<parameters>
<parameter name ="count" dataType="character" defaultValue="10"/>
</parameters>
<dataQuery>
<sqlStatement name="Q1">
<![CDATA[SELECT BUDGET_VERSION_ID, VERSION_NAME FROM PA_BUDGET_VERSIONS WHERE ROWNUM <= :count]]>
</sqlStatement>
</dataQuery>
<dataTrigger name="beforeReport" source="PA_PAFPURUP_PKG.beforeReportTrigger"/>
<dataStructure>
<group name ="G_BUDGET_VERSIONS" source="Q1">
<element name="Budget_Version_Id" value="budget_version_id"/>
<element name="Version_Name" value="version_name"/>
</group>
</dataStructure>
</dataTemplate>
Many Thanks,
NiranjanHi Fred,
Thanks for your response. The issue was actually with the xml format. I had missed '?' at the end of 1st line of the xml.
Regards,
Niranjan
Maybe you are looking for
-
IPhone 4 phone speaker not working
Have seen a lot of posts on this issue, but not as much recently, at least nothing with a working solution. 2 days ago, the phone ear speaker stopped working on my iPhone4. -Speakerphone still works -Earbuds still work -Mouthpiece still works (others
-
Hi This is with reference to the settlement of assets under construction to final asset. We have maintained the settlement rule properly and while settlement thru T Code AIBU, getting following error:- Transaction type 345 not possible (posting to af
-
Working with Grid Suppression in Financial Reporting for EPM 11
Greetings: Does anyone know if it is possible in Financial Reporting Studio to have multiple grids with suppression so that if one grid has no data the grid below it moves into that grids spot on the report. Currently, I am able to suppress the grid
-
I need this javascript translated into java basically. any help?
basically i need to write a program in java that translates english sentence into pirate talk..yeah yeah i know its not original but here is what i need done but its in javascript and i need it written in java: <script LANGUAGE="JavaScript"> PH
-
Can I controll where presets are stored?
I can choose where the library and where my photos are stored. What aboat presets? I want to share this between two local users on the same computer...