cancel
Showing results for 
Search instead for 
Did you mean: 

Error in File-XI-JDBC Scenario

Former Member
0 Kudos

Dear All,

I am working on File-XI-JDBC scenario which is using stored procedure (SP_UPDATE). When I am processing the file it is giving me the following error in the message monitoring:

Unable to execute statement for table or stored procedure. 'SP_UPDATE' (Structure 'Statement') due to java.sql.SQLException: ERROR: Invalid XML document format for stored procedure: 'type="<SQL-type>"' attribute is missing for element 'access' (Setting a SQL-type (e.g. INTEGER, CHAR, DATE etc.) is mandatory !)

Please guide me what is this error all about and how this can be resolved.

Warm Regards,

N.Jain

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Dear All,

Now, I am able to update the SQL Server database but only one record is coming at the target. Can anyone please guide me what is he error in my Data types o in my mappings. Following is the source Data Type:

MT_TEST_FILE_T179T 1..1 DT_TEST_FILE_T179T

ROOT 1..unbounded

PRODH 1..unbounded xsd:string

VTEXT 1..unbounded xsd:string

DATUM 1..unbounded xsd:string

Following is the target Data Type:

MT_TEST_JDBC_T179T 1..1 DT_TEST_JDBC_T179T

STATEMENT 1..1

SP_UPDATE 1..1

action required xsd:string

TABLE 1..1 xsd:string

PRODH 1..unbounded xsd:string

type optional xsd:string

VTEXT 1..unbounded xsd:string

type optional xsd:string

DATUM 1..unbounded xsd:string

type optional xsd:string

Following are the mappings done:

EXECUTE-->@action

storedprocedurename-->TABLE

PRODH-->PRODH

VTEXT-->VTEXT

DATUM-->DATUM

CHAR-->@type.

With this stucture and mapping i am able to insert only one recored in the database even though there are multiple entries in the file.

Please guide me in solving this error so that multiple records can be inserted.

Warm Regards,

N.Jain

Former Member
0 Kudos

Hi !

You need to have one target STATEMENT (0/1..unbounded) and its sub-elements for each ROOT complex element occurance in source. Instead you can have 0..unbounded target ACCESS element, one for each record, and just one STATEMENT to make a multiple updates, but each PRODH, VTEXT and DATUM doesn't have to be or shouldn't be unbounded, as far as I know, they are just fields and you cannot have more than one PRODH, one VTEXT and one DATUM per record (ROOT) in your source data file.

examples

http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

Regards,

Matias

Edited by: Matias Denker on Jan 3, 2008 7:30 AM

Former Member
0 Kudos

Hi Nishu !

Please post an example of your XML generated by XI. It seems that you are not filling the sql-type for one or more param fields

The XML (receiver message type) should be created as : pay attention on the "type" attribute, that is mandatory !! it should be always filled with a valid SQL data type name.

<StatementName5>

<storedProcedureName action=” EXECUTE”>

<table>realStoredProcedureeName</table>

<param1 [isInput=”true”] [isOutput=true] type=SQLDatatype>val1</param1>

</storedProcedureName >

</StatementName5>

check this help:

http://help.sap.com/saphelp_erp2005vp/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures

Regards,

Matias

ps: please award points if helpful.

Former Member
0 Kudos

Hi,

Check the Message Format of your of JDBC receiver. you made a mistake some where and due to this this Error is coming.

Thanks

Farooq.