Help regarding uploading an xml file

Hi All
I have to upload data from an xml file.
I guess the function module SMUM_XML_PARSE can be used for achieving this. But can anybody please tell me the exact procedure to use this function module.
The program is going for a dump showing a CALL_FUNCTION_CONFLICT_TYPE error.
The code is as follows
data: stab like smum_xmltb occurs 0 with header line.
data: ret1 like bapiret2 occurs 0.
      call function 'SMUM_XML_PARSE'
        exporting
          xml_input       = 'C:TEST.XML'
        tables
          xml_table       = stab
          return          = ret1
loop at stab.
  write:/ stab-hier,stab-type.
endloop.
Thanks in advance
Sree Ramya

hii
as for fm
CALL FUNCTION 'SMUM_XML_PARSE'
EXPORTING
XML_INPUT = inputstring
TABLES
XML_TABLE = xmltab
RETURN = ZBAPIRET2.
This function module converts yr xml file i.e. in inputstring into zmltab table. Then U can loop on table to check the content.
go thru this link
http://www.geocities.com/victorav15/sapr3/abapfun.html#xml
and also refer the example
check this code
1. Convert internal table to XML.
Here is a sample program to convert internal table to XML
*& Report ZTESTXML *
Report ZPRUEBA_MML_13 *
Export an internal table to XML document *
NO BORRAR ESTE CODIGO *
report zprueba_mml_13.
PANTALLA SELECCION *
parameters: gk_ruta type rlgrap-filename.
PANTALLA SELECCION *
TYPE TURNOS *
types: begin of turnos,
lu like t552a-tpr01,
ma like t552a-tpr01,
mi like t552a-tpr01,
ju like t552a-tpr01,
vi like t552a-tpr01,
sa like t552a-tpr01,
do like t552a-tpr01,
end of turnos.
TYPE TURNOS *
TYPE SOCIO *
types: begin of socio,
numero like pernr-pernr,
reposicion like pa0050-zauve,
nombre like pa0002-vorna,
turnos type turnos,
end of socio.
TYPE SOCIO *
ESTRUCTURA ACCESOS *
data: begin of accesos occurs 0,
socio type socio,
end of accesos.
ESTRUCTURA ACCESOS *
START OF SELECTION *
start-of-selection.
perform llena_accesos.
perform descarga_xml.
end-of-selection.
END OF SELECTION *
FORM LLENA_ACCESOS *
form llena_accesos.
refresh accesos.
clear accesos.
move: '45050' to accesos-socio-numero,
'MOISES MORENO' to accesos-socio-nombre,
'0' to accesos-socio-reposicion,
'T1' to accesos-socio-turnos-lu,
'T2' to accesos-socio-turnos-ma,
'T3' to accesos-socio-turnos-mi,
'T4' to accesos-socio-turnos-ju,
'T5' to accesos-socio-turnos-vi,
'T6' to accesos-socio-turnos-sa,
'T7' to accesos-socio-turnos-do.
append accesos.
clear accesos.
move: '45051' to accesos-socio-numero,
'RUTH PEÑA' to accesos-socio-nombre,
'0' to accesos-socio-reposicion,
'T1' to accesos-socio-turnos-lu,
'T2' to accesos-socio-turnos-ma,
'T3' to accesos-socio-turnos-mi,
'T4' to accesos-socio-turnos-ju,
'T5' to accesos-socio-turnos-vi,
'T6' to accesos-socio-turnos-sa,
'T7' to accesos-socio-turnos-do.
append accesos.
endform. "LLENA_ACCESOS
FORM LLENA_ACCESOS *
FORM DESCARGA_XML *
form descarga_xml.
data: l_dom type ref to if_ixml_element,
m_document type ref to if_ixml_document,
g_ixml type ref to if_ixml,
w_string type xstring,
w_size type i,
w_result type i,
w_line type string,
it_xml type dcxmllines,
s_xml like line of it_xml,
w_rc like sy-subrc.
data: xml type dcxmllines.
data: rc type sy-subrc,
begin of xml_tab occurs 0,
d like line of xml,
end of xml_tab.
class cl_ixml definition load.
g_ixml = cl_ixml=>create( ).
check not g_ixml is initial.
m_document = g_ixml->create_document( ).
check not m_document is initial.
write: / 'Converting DATA TO DOM 1:'.
call function 'SDIXML_DATA_TO_DOM'
exporting
name = 'ACCESOS'
dataobject = accesos[]
importing
data_as_dom = l_dom
changing
document = m_document
exceptions
illegal_name = 1
others = 2.
if sy-subrc = 0.
write 'Ok'.
else.
write: 'Err =',
sy-subrc.
endif.
check not l_dom is initial.
w_rc = m_document->append_child( new_child = l_dom ).
if w_rc is initial.
write 'Ok'.
else.
write: 'Err =',
w_rc.
endif.
call function 'SDIXML_DOM_TO_XML'
exporting
document = m_document
importing
xml_as_string = w_string
size = w_size
tables
xml_as_table = it_xml
exceptions
no_document = 1
others = 2.
if sy-subrc = 0.
write 'Ok'.
else.
write: 'Err =',
sy-subrc.
endif.
loop at it_xml into xml_tab-d.
append xml_tab.
endloop.
call function 'WS_DOWNLOAD'
exporting
bin_filesize = w_size
filename = gk_ruta
filetype = 'BIN'
tables
data_tab = xml_tab
exceptions
others = 10.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. "DESCARGA_XML
FORM DESCARGA_XML *
2. To convert XML to internal table.
You can use these function modules
TEXT_CONVERT_XML_TO_SAP or
SDIXML_DOM_TO_XML Convert DOM (XML) into string of bytes that can be downloaded to PC or application server
or
SMUM_XML_PARSE (Parse XML docment into a table structure)
You can also refer to these:
SMUM_XML_CREATE (Create XML document from internal table)
SMUM_XML_CREATE_X (Create XSTRING xml doc)
Check this code, it converts an XML data into a string internal table.
REPORT Z_XML_TO_TABLE.
TYPE-POOLS: ixml.
TYPES: BEGIN OF t_xml_line,
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,
l_xml_line TYPE t_xml_line,
l_xml_table_size TYPE i.
DATA: l_filename TYPE string.
PARAMETERS: pa_file TYPE char1024 DEFAULT 'c:     emporders_dtd.xml'.
Validation of XML file: Only DTD included in xml document is supported
PARAMETERS: pa_val TYPE char1 AS CHECKBOX.
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( ).
Create a Parser
l_parser = l_ixml->create_parser( stream_factory = l_streamfactory
istream = l_istream
document = l_document ).
Validate a document
IF pa_val EQ 'X'.
l_parser->set_validating( mode = if_ixml_parser=>co_validate ).
ENDIF.
Parse the stream
IF l_parser->parse( ) NE 0.
IF l_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 = 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
FORM get_xml_table CHANGING l_xml_table_size TYPE i
l_xml_table TYPE STANDARD TABLE.
Local variable declaration
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 a 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
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.
ENDFORM. "process_dom
Regards
Naresh

Similar Messages

  • Upload an XML file into the Internal table

    Hi Guys,
    I want to know, how to upload an xml file into the Internal table through ABAP programming

    you just wanted to load the xml file into internal table (as a table of binary strings)or load the xml data mapped to itab row columns
    for the first one you can simply use gui_upload
    and for the second one you need to load the xml file using gui_upload and use XLST program to transform into an itab
    Regards
    Raja

  • Uploading an XML file from SAP into third party URL

    Hi,
    I need to Upload an XML file from sap into Third party URL. Can any body tell me the possible ways in SAP to achieve this task. Also explain me the proceedure.
    Thanks in advance.
    -Namdev

    Sorry. If they only said HTTP/HTTPS and didn't say explicitly web service, it means they don't want it.
    One thing I'm not sure is, do you have an URL at the third-party system that you need to contact, or should you provide one at your SAP system that they will contact?
    If it is the first one, to send an HTTP request to a given URL using ABAP, you'll find an example here: [SAP Library: Example Program: Executing an HTTP Request|http://help.sap.com/saphelp_nw70/helpdata/en/1f/93163f9959a808e10000000a114084/frameset.htm]
    Sandra

  • Error when Uploading _fmb.xml files

    Hi...
    I'm a newbie in Apex. I'm trying to create a migration project (ie migrating Oracle Forms 6i/10g to xml via Apex). I've converted the *.fmb files to _fmb.xml using frmf2xml.bat utility. My problem is when I tried to upload the _fmb.xml, this error appears:
    +1 error has occurred+
    +•Select the Forms File you want to upload. For Forms Modules, upload the XML file which is generated by the Forms2XML conversion tool, containing the information of your Forms Module. (Go to error)+
    the error message is - javascript:apex.jQuery('#P3_FORMS_XML_FILE').focus();void(0)
    the url returns: http://localhost:8080/apex/wwv_flow.accept
    I've also tried to upload any type of file but it still returns the same error message. Please, anyone can help me...
    Thanks.

    when i tried the online workspace as in http://apex.oracle.com/pls/apex/, i successfully created the migration project. But still failed to do it locally. Obviosly my locally setup Apex is having problem uploading the _fmb.xml files. Where have i gone wrong? Could anyone please help me?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to upload an XML file into another system

    Hi friends,
    I have a requirement where I need to upload an  XML file into one system
    which has been downloaded  using  another  system.
    I have tried using the method ' cl_gui_frontend_services=>gui_upload'
    to upload the file but it is going for dump.
    I have used the  method ' w_xml->import_from_file' also,
    but it is also going for dump ,because  both methods are using the same FM
    ' GUI_UPLOAD'.
    Can any one suggest on this.
    Regards,
    Bhargavi.D

    "Here is the  Explaination for uploading the XML   Format file to sap   " through ABAP Program ....
    1. Basically you simply have to convert the XML file into the proper IDoc format. There are many ways to achieve this. One solution would be to convert it externally to SAP, e.g. via VB Script or with an XSLT transformation. Or you use the built in SAP functions for importing an IDoc from an XML stream.
    2. Uploading a file is either done via GUI_UPLOAD or via the usual way of reading a file from the application server (Open dataset. Read dataset) But what do you mean by "send to external system"? Do you want to convert an IDoc into XML? Then you simply define an XML port with WE21 to send the IDoc out.
    Here is an example of code that loads an XML from file and posts it as an IDoc. Please keep in mind that the XML has to be in its canonical format as described in the interface repository: ifr.sap.com (choose the template of the desired IDoc from there as an example).
    data: data_tab type table of char1024.
    data: XML_STREAM type string.
    CALL FUNCTION 'GUI_UPLOAD'
      EXPORTING
        FILENAME                      = 'D:test.xml'
    *   FILETYPE                      = 'ASC'
    *   HAS_FIELD_SEPARATOR           = ' '
    *   HEADER_LENGTH                 = 0
    *   READ_BY_LINE                  = 'X'
    *   DAT_MODE                      = ' '
    *   CODEPAGE                      = ' '
    *   IGNORE_CERR                   = ABAP_TRUE
    *   REPLACEMENT                   = '#'
    *   CHECK_BOM                     = ' '
    * IMPORTING
    *   FILELENGTH                    =
    *   HEADER                        =
      TABLES
        DATA_TAB                      = DATA_TAB
    EXCEPTIONS
       FILE_OPEN_ERROR               = 1
       FILE_READ_ERROR               = 2
       NO_BATCH                      = 3
       GUI_REFUSE_FILETRANSFER       = 4
       INVALID_TYPE                  = 5
       NO_AUTHORITY                  = 6
       UNKNOWN_ERROR                 = 7
       BAD_DATA_FORMAT               = 8
       HEADER_NOT_ALLOWED            = 9
       SEPARATOR_NOT_ALLOWED         = 10
       HEADER_TOO_LONG               = 11
       UNKNOWN_DP_ERROR              = 12
       ACCESS_DENIED                 = 13
       DP_OUT_OF_MEMORY              = 14
       DISK_FULL                     = 15
       DP_TIMEOUT                    = 16
       OTHERS                        = 17
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'CONVERT_TABLE_TO_STRING'
      EXPORTING
        I_TABLINE_LENGTH       = '1024'
      IMPORTING
        E_STRING               = XML_STREAM
      TABLES
        IT_TABLE               = DATA_TAB[].
    write: / xml_stream color col_total.
    data: CONTENT_LENGTH type string.
    data: CONTENT_TYPE type string.
    data: REMOTE_ADDR type string.
    CALL FUNCTION 'IDOC_INBOUND_XML_VIA_HTTP'
      EXPORTING
        XML_STREAM                      = XML_STREAM
        CONTENT_LENGTH                  = content_type
        CONTENT_TYPE                    = content_type
        REMOTE_ADDR                     = remote_addr
    EXCEPTIONS
       NO_IDOCS_SAVED                  = 1
       TAG_ERROR                       = 2
       NO_DATA_RECEIVED                = 3
       NO_IDOCS_RECEIVED               = 4
       SEGMENT_ERROR                   = 5
       IDOC_WAS_SEND_SECOND_TIME       = 6
       OTHERS                          = 7
    IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    write: / sy-subrc color COL_NEGATIVE.
    ENDIF.
    reward  points if it is usefull.......
    Girish

  • How to upload a XML file to Servlet

    Hi,
    I am new to Java, I have to upload an XML file to java/j2ee server. The web server running on the server is "Tomcat 4.1". My new requirement is I have to upload an "Input.XML" file, can you please tell me how to upload an XML file. If any samples appriciated very soon.
    Thanks & Regards,

    Hi!
    On the client side, the client's browser must support form-based upload. Most modern browsers do, but there's no guarantee. For example,
    <FORM ENCTYPE='multipart/form-data'
    method='POST' action='/myservlet'>
    <INPUT TYPE='file' NAME='mptest'>
    <INPUT TYPE='submit' VALUE='upload'>
    </FORM>
    The input type &quot;file&quot; brings up a button for a file select box on the browser together with a text field that takes the file name once selected. The servlet can use the GET method parameters to decide what to do with the upload while the POST body of the request contains the file data to parse.
    When the user clicks the "Upload" button, the client browser locates the local file and sends it using HTTP POST, encoded using the MIME-type multipart/form-data. When it reaches your servlet, your servlet must process the POST data in order to extract the encoded file. You can learn all about this format in RFC 1867.
    Unfortunately, there is no method in the Servlet API to do this. Fortunately, there are a number of libraries available that do. Some of these assume that you will be writing the file to disk; others return the data as an InputStream.
    You can see more things about Servlet on this website [http://pedrofao.blogspot.com|http://pedrofao.blogspot.com].

  • Upload any XML file to internal table

    Hi,
    I'm writing a FM to upload any XML file (Which means I don't know the structure) to a internal table.
    I tried to use FM 'GUI_UPLOAD' and CALL TRANSFORMATION ('ID'). But the problem is that, the RESULT tab of CALL TRANSFORMATION ('ID') needs to define the structure of the table for the corresponding XML file, otherwise it will not work. For example, I want to get the result table like this:
      CALL TRANSFORMATION ('ID')
      SOURCE XML xmlupl
      RESULT tab = <tab>.
    Then it will give me a run time error 'CX_XSLT_FORMAT_ERROR' because I didn't give a specific structure for <tab>.
    Any solution for my situation?
    Thanks.

    Where is your XLST file for the call transformation ID
    From ABAP to XML you can do it as dynamic, but XML to ABAP you need a XLST to convert.
    otherwise please look at this

  • How do I upload an XML file to salesforce using BULK API?

    Hi There,
    Please let me know how do we upload an XML file to salesforce using Bulk API?
    Thanks,
    ET

    Hi,
    I think that this is a more SalesForce.com question and think you will have more chance looking at SOAP API Developer's Guide for salesforce. Sending a SOAP request from the API Server is very straight forward and there are several tutorials and well documented about this.
    Cheers,
    Stefan

  • Upload an xml file as a clob

    Can you give me an example of uploading an xml file from c:\test.xml to and oracledb where the field type is clob?

    I think the following error from sqlplus indicates there was an issue loading the xml file
    SQL> execute LOAD_XML(p_dir => 'XML_DIR', p_filename => 'test.xml');
    BEGIN LOAD_XML(p_dir => 'XML_DIR', p_filename => 'test.xml'); END;
    ERROR at line 1:
    ORA-31011: XML parsing failed
    ORA-19202: Error occurred in XML processing
    LPX-00210: expected '<' instead of '?'
    Error at line 1
    ORA-06512: at "SYS.XMLTYPE", line 254
    ORA-06512: at line 1
    ORA-06512: at "SYS.LOAD_XML", line 12
    ORA-06512: at line 1

  • Help in creation of XML file for IDOC postings

    Hi All,
    Need help if anyone has knowledge/experience in creating XML files for IDOC processing.
    We need to design an input file (in XML format) for creation of IDOCu2019s for purchase Invoices through Interface.
    We have an existing input file, which is working correctly.  We are trying to modify this existing input file for a new Tax Code (Non-deductible inverse tax liability).   This tax code is working fine for manual postings.   But, through IDOC, tax postings are not correctly triggering.
    Could you please confirm if any one has experience on this, so that I can share more details for resolving.
    Thanks & Regards,
    Srini

    Hello,
    you can use CALL TRANSFORMATION id, which will create a exact "print" of the ABAP data into the XML.
    If you need to change the structure of XML, you can alter your ABAP structure to match the requirements.
    Of course you can create your own XSLT but that is not that easy to describe and nobody will do that for you around here. If you would like to start with XSLT, you´d better start the search.
    Regards Otto

  • Help for loading of XML File into Oracle 10.2 DB.

    Hello People,
    I need help with below XML File, I need to get it loaded into Oracle 10.2.After brainstorming I could have figured out 2 best ways to do so :
    1.Through ctrl file and log file using SQL Loader
    2.Using XQuery and XML datatype.
    Tried with option 1 but dint succeed.Could you please help me out with a solution of the same ??
    <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
    - <sta:entity-data xmlns:sta="http://www.vendavo.com/omi/StandardDeal" xsi:schemaLocation="http://www.vendavo.com/omi/StandardDeal StandardDeal-ImportAgreement 100912 - Updated.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <StandardDeal>
    <IsImported>true</IsImported>
    <ModelNReferenceID>00144105-009-000</ModelNReferenceID>
    <DealName>00144105-009-000CV Magellan Arteriocyte Inc 1164385</DealName>
    <AccountGroup>SoldTo</AccountGroup>
    <CustomerSalesData.VCustomer.VName>0001164385</CustomerSalesData.VCustomer.VName>
    <DistrictManager />
    <MultipleSalesReps>false</MultipleSalesReps>
    <OnBehalfOf>Brian Smith</OnBehalfOf>
    <FOBDestination>false</FOBDestination>
    <ConsultingGroupInformation />
    <AgreementStartDate>11/15/2007</AgreementStartDate>
    <AgreementEndDate>12/31/2013</AgreementEndDate>
    <BaselineReviewDate>01/10/2013</BaselineReviewDate>
    <BaseLineReviewPeriod>Quarterly</BaseLineReviewPeriod>
    <RequestedDate>10/12/2012</RequestedDate>
    <RFPDueDate>10/12/2012</RFPDueDate>
    <WaiveFreight>false</WaiveFreight>
    - <HeaderDiscountPercentageoffALP>
    - <VPercentage documentId="1">
    <Amount>0</Amount>
    </VPercentage>
    </HeaderDiscountPercentageoffALP>
    <CustomerCommitmentType>Others</CustomerCommitmentType>
    <ManualApproval>true</ManualApproval>
    <LegalReviewRequired>false</LegalReviewRequired>
    <TechnologyClause>false</TechnologyClause>
    <ComplianceTracking>false</ComplianceTracking>
    <ComplianceStatus>false</ComplianceStatus>
    <VState.VLabel>draft</VState.VLabel>
    <Eval>false</Eval>
    <CustomerAccepted>true</CustomerAccepted>
    <VNotes>CV Magellan Arteriocyte Inc 1164385</VNotes>
    - <VItems>
    - <StandardDealLineItem documentId="5235485">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235486">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235487">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235489">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG200</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235490">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG200</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235491">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>MAG200</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235493">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>RMAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235494">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>RMAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235495">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>RMAG100</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235497">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309604</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235498">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309604</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235499">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309604</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235501">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309653</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235502">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309653</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235503">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>309653</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235505">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>BOS350</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235506">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>BOS350</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>19</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>05/31/2009</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    - <StandardDealLineItem documentId="5235655">
    <IsImported>true</IsImported>
    <VCatalogEntity.VName>AMS300</VCatalogEntity.VName>
    <PricingCPG>Magellan</PricingCPG>
    - <ExpectedAnnualQuantity>
    - <VQuantity>
    <VAmount>1</VAmount>
    <VUOM>EA</VUOM>
    </VQuantity>
    </ExpectedAnnualQuantity>
    <EffectiveFrom>11/15/2007</EffectiveFrom>
    <DurationMonths>74</DurationMonths>
    <PercentageBase>false</PercentageBase>
    <DiscountALP>N/A</DiscountALP>
    - <DiscountPercentage>
    - <VPercentage documentId="2">
    <Amount />
    </VPercentage>
    </DiscountPercentage>
    <ProposedAgreementPrice />
    - <CustomerRequestedPrice>
    - <VMoney documentId="4">
    <Amount />
    </VMoney>
    </CustomerRequestedPrice>
    <Monthly>No</Monthly>
    <PpaNoCap>N/A</PpaNoCap>
    - <ProjectedMarketShare>
    - <VPercentage documentId="5">
    <Amount>0</Amount>
    </VPercentage>
    </ProjectedMarketShare>
    <CustomerCommitted>Yes</CustomerCommitted>
    <VValidity.from>11/15/2007</VValidity.from>
    <VValidity.to>12/31/2013</VValidity.to>
    <VState.VName>draft</VState.VName>
    </StandardDealLineItem>
    </VItems>
    </StandardDeal>
    </sta:entity-data>
    Regards,
    Ekta

    1.Through ctrl file and log file using SQL LoaderPlease clarify :
    Do you want to load the entire file into a single column (XMLType or CLOB), or do you want to extract XML data and store it into different relational columns?
    Please also edit your first post and use tags to enclose the XML source, and do not copy/paste directly from your browser, use "view source" feature so that the content doesn't retain navigation characters (+/-).
    Edited by: odie_63 on 11 nov. 2012 13:20                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Reading XML file using BAPI and then uploading that xml file data into SAP

    I am getting a xml file from Java server. I need to take
    data from this file using BAPI and need to upload into SAP using SAP.
    Please tell me how to read XML files using BAPI's.

    <b>SDIXML_DATA_TO_DOM</b> Convert SAP data (elementary/structured/table types) into DOM (XML
    <b>SDIXML_DOM_TO_XML</b>  Convert DOM (XML) into string of bytes that can be downloaded to PC or application server
    <b>SDIXML_DOM_TO_SCREEN</b> Display DOM (XML)
    <b>SDIXML_DOM_TO_DATA</b>
    data: it_table like t001 occurs 0.
    data: l_dom      TYPE REF TO IF_IXML_ELEMENT,
          m_document TYPE REF TO IF_IXML_DOCUMENT,
          g_ixml     TYPE REF TO IF_IXML,
          w_string   TYPE XSTRING,
          w_size     TYPE I,
          w_result   TYPE I,
          w_line     TYPE STRING,
          it_xml     TYPE DCXMLLINES,
          s_xml      like line of it_xml,
          w_rc       like sy-subrc.
    start-of-selection.
      select * from t001 into table it_table.
    end-of-selection.
    initialize iXML-Framework          ****
      write: / 'initialiazing iXML:'.
      class cl_ixml definition load.
      g_ixml = cl_ixml=>create( ).
      check not g_ixml is initial.
      write: 'ok'.
    create DOM from SAP data           ****
      write: / 'creating iXML doc:'.
      m_document = g_ixml->create_document( ).
      check not m_document is initial.
      write: 'ok'.
      write: / 'converting DATA TO DOM 1:'.
      CALL FUNCTION 'SDIXML_DATA_TO_DOM'
        EXPORTING
          NAME               = 'IT_TABLE'
          DATAOBJECT         = it_table[]
        IMPORTING
          DATA_AS_DOM        = l_dom
        CHANGING
          DOCUMENT           = m_document
        EXCEPTIONS
          ILLEGAL_NAME       = 1
          OTHERS             = 2.
      if sy-subrc = 0.  write  'ok'.
      else.             write: 'Err =', sy-subrc.
      endif.
      check not l_dom is initial.
      write: / 'appending DOM to iXML doc:'.
      w_rc = m_document->append_child( new_child = l_dom ).
      if w_rc is initial.  write  'ok'.
      else.                write: 'Err =', w_rc.
      endif.
    visualize iXML (DOM)               ****
      write: / 'displaying DOM:'.
      CALL FUNCTION 'SDIXML_DOM_TO_SCREEN'
        EXPORTING
          DOCUMENT          = m_document
        EXCEPTIONS
          NO_DOCUMENT       = 1
          OTHERS            = 2.
      if sy-subrc = 0.  write  'ok'.
      else.             write: 'Err =', sy-subrc.
      endif.
    convert DOM to XML doc (table)     ****
      write: / 'converting DOM TO XML:'.
      CALL FUNCTION 'SDIXML_DOM_TO_XML'
        EXPORTING
          DOCUMENT            = m_document
        PRETTY_PRINT        = ' '
        IMPORTING
          XML_AS_STRING       = w_string
          SIZE                = w_size
        TABLES
          XML_AS_TABLE        = it_xml
        EXCEPTIONS
          NO_DOCUMENT         = 1
          OTHERS              = 2.
      if sy-subrc = 0.   write  'ok'.
      else.              write: 'Err =', sy-subrc.
      endif.
      write: / 'XML as string of size:', w_size, / w_string.
      describe table it_xml lines w_result.
      write: / 'XML as table of', w_result, 'lines:'..
      loop at it_xml into s_xml.
        write s_xml.
      endloop.
      write: / 'end of processing'.
    end of code
    Hope this will be useful.
    regards
    vinod

  • Upload an XML file

    hi all
        i want to know can we upload XML  file using bdc can i do it
    if yes how to do it.
    thanks & regard
    kiran.

    HI Kiran,
    Look at the Below thread, same question was asked before ....
    Upload XML to internal table and vice versa in SAP 4.6C
    http://wiki.ittoolbox.com/index.php/Code:Download_and_upload_OO_ABAP_class_in_XML_format
    Regards
    Sudheer

  • 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... Bhavesh

    One way is to use sql* loader...
    http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14259/xdb25loa.htm

  • Help with displaying my xml file in my jtext area

    Hi i am trying to read the data from my xml file and display it once the user clicks on the list all button.
    below is the source code for my program can someone please tell me some code to this.
    package tractorgui;
    import java.awt.BorderLayout;
    import java.awt.GridLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.beans.XMLEncoder;
    import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.beans.XMLDecoder;
    import javax.swing.*;
    import javax.swing.border.LineBorder;
    //import tractor.TextInputPrompt;
    import tractor.Tractor;
    * This code was edited or generated using CloudGarden's Jigloo
    * SWT/Swing GUI Builder, which is free for non-commercial
    * use. If Jigloo isbeing used commercially (ie, by a corporation,
    * company or business for any purpose whatever) then you
    * should purchase a license for each developer using Jigloo.
    * Please visit www.cloudgarden.com for details.
    * Use of Jigloo implies acceptance of these licensing terms.
    * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
    * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
    * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
    public class NewSwingApp extends javax.swing.JFrame {
    //          //Set Look & Feel
    //          try {
    //               javax.swing.UIManager.setLookAndFeel("com.jgoodies.looks.plastic.Plastic3DLookAndFeel");
    //          } catch(Exception e) {
    //               e.printStackTrace();
              private static final long serialVersionUID = 1L;
         private JButton searchmanufacturer;
         private JButton jButton3;
         private JLabel companyname;
         private JPanel labelpannel;
         private JButton listall;
         private JPanel MenuButtons;
         private JButton archivetractor;
         private JTextArea outputscreen;
         private JButton exhibittractor;
         private JButton deletetractor;
         private JButton addtractor;
         private JButton listallexbited;
         private Tractor [ ] tractors;
         private JScrollPane jScrollPane2;
         private JScrollPane jScrollPane1;
    private int numberOfTractors;
         * Auto-generated main method to display this JFrame
         public static void main(String[] args) {
              SwingUtilities.invokeLater(new Runnable() {
                   public void run() {
                        NewSwingApp inst = new NewSwingApp();
                        inst.setLocationRelativeTo(null);
                        inst.setVisible(true);
         public NewSwingApp() {
              super();
              initGUI();
         private void initGUI() {
              try {
                   BorderLayout thisLayout = new BorderLayout();
                   getContentPane().setLayout(thisLayout);
                   this.setPreferredSize(new java.awt.Dimension(750, 700));
                        labelpannel = new JPanel();
                        BorderLayout labelpannelLayout = new BorderLayout();
                        getContentPane().add(labelpannel, BorderLayout.NORTH);
                        labelpannel.setLayout(labelpannelLayout);
                        jButton3 = new JButton();
                        getContentPane().add(getExitsystem(), BorderLayout.SOUTH);
                        jButton3.setText("Exit System");
                        jButton3.setPreferredSize(new java.awt.Dimension(609, 57));
                        jButton3.setBackground(new java.awt.Color(0,255,255));
                        jButton3.setForeground(new java.awt.Color(0,0,0));
                        jButton3.setFont(new java.awt.Font("Arial",1,24));
                        jButton3.addActionListener(new ActionListener() {
                             public void actionPerformed(ActionEvent evt) {
                                            System.exit(0);
                        MenuButtons = new JPanel();
                        getContentPane().add(MenuButtons, BorderLayout.WEST);
                        GridLayout MenuButtonsLayout = new GridLayout(7, 1);
                        MenuButtonsLayout.setColumns(1);
                        MenuButtonsLayout.setRows(7);
                        MenuButtonsLayout.setHgap(5);
                        MenuButtonsLayout.setVgap(5);
                        MenuButtons.setLayout(MenuButtonsLayout);
                        MenuButtons.setPreferredSize(new java.awt.Dimension(223, 267));
                             listall = new JButton();
                             MenuButtons.add(getListall());
                             listall.setText("List All");
                             listall.setBackground(new java.awt.Color(0,255,255));
                             listall.setForeground(new java.awt.Color(0,0,0));
                             listall.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
                             listall.setFont(new java.awt.Font("Arial",2,14));
                             listall.addActionListener(new ActionListener() {
                                  /* (non-Javadoc)
                                  * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
                                  public void actionPerformed(ActionEvent evt) {
                                       String XMLFile = "tractor.xml-courseworkasignment/src";
                                       //** Prints the contents of my XML file
                                       try {
                                       String s;
                                       BufferedReader in = new BufferedReader( new FileReader(XMLFile)
                                       outputscreen.setText("File successfully opened");
                                       try {
                                       while ( (s=in.readLine()) !=null)
                                       outputscreen.append(s);
                                       catch(Exception e) {
                                            outputscreen.append("Error reading line: " + e.getMessage());
                                       outputscreen.append("End of Document");
                                       catch(FileNotFoundException e) {
                                            outputscreen.append("Error in opening file: " + e.getMessage());
                             listallexbited = new JButton();
                             MenuButtons.add(getListallexbited());
                             listallexbited.setText("List All Tractors On Exhibition ");
                             listallexbited.setPreferredSize(new java.awt.Dimension(157, 57));
                             listallexbited.setBackground(new java.awt.Color(0,255,255));
                             listallexbited.setForeground(new java.awt.Color(64,0,0));
                             listallexbited.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       outputscreen.repaint();
                                       String XMLFile = "C:tractor.xml";
                                  // Print contents of XML file
                                  try {
                                  String s;
                                  BufferedReader in = new BufferedReader( new FileReader(XMLFile)
                                  outputscreen.setText("File successfully opened");
                                  try {
                                  while ( (s=in.readLine()) !=null)
                                  outputscreen.append(s);
                                  catch(Exception e) {
                                       outputscreen.append("Error reading line: " + e.getMessage());
                                  outputscreen.append("End of Document");
                                  catch(FileNotFoundException e) {
                                       outputscreen.append("Error in opening file: " + e.getMessage());
                             addtractor = new JButton();
                             MenuButtons.add(getAddtractor());
                             addtractor.setText("Add Tractor ");
                             addtractor.setBackground(new java.awt.Color(0,255,255));
                             addtractor.setForeground(new java.awt.Color(64,0,0));
                             addtractor.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       String manufacturer =JOptionPane.showInputDialog(getComponent(0), "Enter Manufacturer of Tractor");
                                       String shp = (JOptionPane.showInputDialog(getComponent(0), "Enter Horse Power of Tractor"));
                                       int hp =Integer.parseInt(shp);
                                       int sisRare =Integer.parseInt(JOptionPane.showInputDialog(getComponent(0), "Enter If the Tractor is rare (1=Yes/2=No)"));
                                       boolean isRare;
                                       if (sisRare== 1) {
                                       isRare =true;     
                                       }else
                                            isRare =false;
                                       String yom= JOptionPane.showInputDialog(getComponent(0), "Enter Year of Manufacture");
                                       int yearOfManufacture =Integer.parseInt(yom);
                                       String yis =JOptionPane.showInputDialog(getComponent(0), "Enter Number of years the Tractor has been in service");
                                       int yearsInService =Integer.parseInt(yis);
                                       String svalue = JOptionPane.showInputDialog(getComponent(0), "Enter Tractor's Value (?Pounds)");
                                       double value = Double.parseDouble(svalue);
                                       String lastWorkPlace =JOptionPane.showInputDialog(getComponent(0), "Enter Last Workplace");
                                            if(NewSwingApp.addTractor(new Tractor(manufacturer, hp, isRare, yearOfManufacture, yearsInService, value, lastWorkPlace, false)))
                                       JOptionPane.showMessageDialog((getComponent(0)), "Tractor Added");
                                       else
                                            JOptionPane.showMessageDialog(getComponent(0), "Could not Add Tractor");
                             deletetractor = new JButton();
                             MenuButtons.add(getDeletetractor());
                             deletetractor.setText("Delete Tractor ");
                             deletetractor.setBackground(new java.awt.Color(0,255,255));
                             deletetractor.setForeground(new java.awt.Color(64,0,0));
                             deletetractor.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       System.out.println("deletetractor.actionPerformed, event="+evt);
                                       JOptionPane.showInputDialog(getComponent(0), "Enter Tractor ID");
                             exhibittractor = new JButton();
                             MenuButtons.add(getExhibittractor());
                             exhibittractor.setText("Exhibit Tractor");
                             exhibittractor.setBackground(new java.awt.Color(0,255,255));
                             exhibittractor.setForeground(new java.awt.Color(0,0,0));
                             exhibittractor.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       System.out.println("exhibittractor.actionPerformed, event="+evt);
                                       JOptionPane.showInputDialog(getComponent(0), "Enter Tractor I.D");
                             archivetractor = new JButton();
                             MenuButtons.add(getArchivetractor());
                             archivetractor.setText("Archive Tractor");
                             archivetractor.setBackground(new java.awt.Color(0,255,255));
                             archivetractor.setForeground(new java.awt.Color(0,0,0));
                             archivetractor.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       System.out.println("archivetractor.actionPerformed, event="+evt);
                                       JOptionPane.showInputDialog(getComponent(0), "Enter Tractor I.D");
                             searchmanufacturer = new JButton();
                             MenuButtons.add(searchmanufacturer);
                             searchmanufacturer.setText("Search Manufacturer");
                             searchmanufacturer.setPreferredSize(new java.awt.Dimension(159, 21));
                             searchmanufacturer.setBackground(new java.awt.Color(0,255,255));
                             searchmanufacturer.setForeground(new java.awt.Color(64,0,0));
                             searchmanufacturer.addActionListener(new ActionListener() {
                                  public void actionPerformed(ActionEvent evt) {
                                       System.out.println("searchmanufacturer.actionPerformed, event="+evt);
                                       JOptionPane.showInputDialog(getComponent(0), "Enter Manufacturer Name");
                        outputscreen = new JTextArea();
                        getContentPane().add(outputscreen, BorderLayout.CENTER);
                        outputscreen
                                  .setText("");
                        outputscreen.setBorder(BorderFactory.createTitledBorder(""));
                        outputscreen.setWrapStyleWord(true);
                        outputscreen.setEditable(false);
                        outputscreen.setEnabled(true);
                        outputscreen.setBackground(new java.awt.Color(255, 255, 255));
                        outputscreen.setForeground(new java.awt.Color(64, 0, 0));
                        companyname = new JLabel();
                        getContentPane().add(companyname, BorderLayout.NORTH);
                        companyname.setText(" Wolvesville Tractor Museum");
                        companyname.setPreferredSize(new java.awt.Dimension(609, 85));
                        companyname.setBackground(new java.awt.Color(255,255,0));
                        companyname.setFont(new java.awt.Font("Arial",1,28));
                        companyname.setForeground(new java.awt.Color(0,0,0));
                        companyname.setBorder(BorderFactory.createTitledBorder(""));
                        companyname.setOpaque(true);
                   this.setSize(750, 750);
              } catch (Exception e) {
                   e.printStackTrace();
         protected static boolean addTractor(Tractor tractor) {
                   if (tractor.getManufacturer()==null) return false; else
                   if (tractor.getHp()<50||tractor.getHp()>1100) return false; else
                   if (tractor.getIsRare()==false) return false; else
                   if (tractor.getYearsInService()<1||tractor.getYearsInService()>200) return false; else
                   if (tractor.getYearOfManufacture()<1800||tractor.getYearOfManufacture()>2008) return false; else
                   if (tractor.getValue()<100||tractor.getValue()>1500) return false; else
                   if (tractor.getLastWorkPlace()==null) return false; else
              return true;
         public JPanel getMenuButtons() {
              return MenuButtons;
         public JButton getListall() {
              return listall;
         public JLabel getCompanyname() {
              return companyname;
         public JButton getExitsystem() {
              return jButton3;
         public JButton getSearchmanufacturer() {
              return searchmanufacturer;
         public JButton getListallexbited() {
              return listallexbited;
         public JButton getAddtractor() {
              return addtractor;
         public JButton getDeletetractor() {
              return deletetractor;
         public JButton getExhibittractor() {
              return exhibittractor;
         public JButton getArchivetractor() {
              return archivetractor;
         public JTextArea getOutputscreenx() {
              return outputscreen;
    public void savetractors () {
         try {
              XMLEncoder encoder = new XMLEncoder(new FileOutputStream("tractor.xml"));
              encoder.writeObject(tractors);
              encoder.close();
         } catch (FileNotFoundException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    public void loadtractors () {
    try {
              XMLDecoder decoder = new XMLDecoder(new FileInputStream("tractor.xml"));
              tractors = (Tractor[]) decoder.readObject();
              decoder.close();
              for (int i=0; i<tractors.length;i++) {
                   if (tractors!=null)numberOfTractors =i;
              numberOfTractors++;
         } catch (FileNotFoundException e) {
              // TODO Auto-generated catch block
              tractors=new Tractor[25];
              numberOfTractors=0;

    here's an example:
    http://jdj.sys-con.com/read/37550.htm
    you need to have a class Tractor with all those properties and then use readObject.Somehow you need to tell the Encoder/Decoder what Tractor means..
    hope this helps!!

Maybe you are looking for

  • Creating a gif Title for a Web Page

    http://www.coachinginroads.com/dev/public_html/index3.html I am trying to create a slide show where the image changes behind the title "Coaching Inroads." The title needs to stay stationary, which is why I thought a transparent gif would work. The em

  • BEx error when deleting a query in BWD

    Hi All, I am getting error "BEx Transport request ‘BWD903385’ is not available or not suitable" when trying to delete a query in BEx in BWD. Does any body knows the solution to this. Thanks in advance and I will assign points.

  • I can't import any movies/clips

    I have an U2 iPod. But since I got a new laptop (read: vista), I haven't been able to import movies to my ipod. I converted them to mpg4, but I cannot drag and drop them into itunes like I used to be able too. I have to 'file>import files to library'

  • Can't open pages files on iPad

    Right, I have my shiny new ipad but have a problem. I can open word documents fine, but when I try and open a .pages file it just comes up with the error "Error load document". This happens if I access a file over email or MobileMe. Why is this, as t

  • Difference in num_rows and COUNT function.

    Hi Experts, SELECT COUNT(*) FROM APP.Big_table; Number of record--222653402This is a big table to get the it's taking 8 minutes time, so that I tried the following SQL to get the count quickly. SELECT num_rows FROM all_tables WHERE table_NAME='BIG_TA