Order of parameters to xsql:insert-request
I am trying to create a general purpose xsl style sheet to generate a data input form using data from the COLS table. I can generate the form but the order of the parameters returned by the form does not match the column order of the table which xsql:insert-request seems to require. Is there any way of ordering the parameter values to match the column order of the table?
Also, xsql:insert-request inserted records with null values without returning an error message when the column values were not in the correct order.
Thanks,
Kumar
Can't you use the XSL Transformation that's being used by the xsql:insert-request tag to order the columns correctly?
The order of the parameters coming in is dependent on the browser and on the servlet. It is likely the same order that they appear in your HTML form, but I don't believe there's a guarantee on the order.
The next release of the XML SQL Utility (which does the SQL-to-XML and XML-Insert work under the covers for the XSQL Servlet) supports order-insensitive inserting.
Similar Messages
-
Using xsgl:insert-request to insert non-English character data from HTML form
I tried to insert a text written in French and pasted into an HTML form into my database following the recipe from the XSQL release notes.
The table:
create table content_object (
id number(9) constraint pk_content_object primary key,
author number(9),
title varchar2(256),
abstract varchar2(1024),
object_type_id number(9),
content_meat clob,
XML file the form is posted to:
<?xml version="1.0"?>
<xsql:insert-request connection="demo"
xmlns:xsql="urn:oracle-xsql"
table="content_object"
transform="article_form_to_content_object.xsl"/>
article_form_to_content_object.xsl:
<?xml version = '1.0'?>
<ROWSET xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
<xsl:for-each select="request/parameters">
<ROW>
<TITLE><xsl:value-of select="title_field"/></TITLE>
<ABSTRACT><xsl:value-of select="abstract_field"/></ABSTRACT>
<CONTENT_MEAT><xsl:value-of select="content_field"/></CONTENT_MEAT>
</ROW>
</xsl:for-each>
</ROWSET>
The result was:
<ROW num="2">
<ID>6</ID>
<TITLE>Le go</TITLE>
<ABSTRACT>Vin bouchonn</ABSTRACT>
<CONTENT_MEAT>Des conditions de conservation au tant d</CONTENT_MEAT>
</ROW>
All strings were cropped at the point where the first accented character appeared.
Any idea why this is happening? With English texts it works just fine.
MaciejAnother user hit this problem this week. I debugged it and posted the reply in the discussion thread:
http://technet.oracle.com:89/ubb/Forum11/HTML/002799.html
It's a JDK bug in character set conversion that has a simple workaround, just indicate the ISO-8859-1 encoding on your XSQL page. See the end of this other thread for details. -
Xsl:template in insert-request
Hi all
I try to use <xsl:call-template >
in the transform page that is being call from <xsql:insert-request> but I get an error
<xsql-error action="xsql:insert-request"><message>XSL-1049: Template '' invoked but not defined.</message></xsql-error>
i need to call template because I need to run on a string and tokenize it, so I have use to template with recursion
does anyone has a clue
nullhi Jinyu
the xsl is
<?xml version="1.0" encoding="ISO-8859-1"?>
<ROWSET xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xsl:version="1.0">
<xsl:choose>
<xsl:when test="string-length(STORIES/STORY/TICKER) >0">
<xsl:message> before call</xsl:message>
<xsl:call-template select="tokinze"/>
<xsl:message> AFTER call</xsl:message>
</xsl:when>
</xsl:choose>
<xsl:template name="tokinze">
<xsl:message> In Tokinze</xsl:message>
<ROW>
<REPOSITORY_ID><xsl:value-of select="concat('reuters','$thedate',../@repository_id)"/></REPOSITORY_ID>
<SEQ><xsl:value-of select="position()"/></SEQ>
<RSM_ATTRIBUTE>ticker</RSM_ATTRIBUTE>
<RSM_VALUE1><xsl:value-of select="../TICKER"/></RSM_VALUE1>
<RSM_PUBLISH>0</RSM_PUBLISH>
</ROW>
</xsl:template>
</ROWSET>
and what i need to do is to token the string
that i get in the TICKER field thats' why i need to use
recursion
thanks -
Access to Session variables in XSL via insert-request
We using the Transform="MyInsert.XSL" on the Insert-Request. How do we reference Session variables in the XSL?
Thanks[list=1]
[*]Add a top-level <xsl:param> to your stylesheet to define a top-level stylesheet parameter, for example <xsl:param name="foo"/>
[*]Use <xsql:set-stylesheet-param name="foo" value="{@session-var-name}"/> in your XSQL page before your <xsql:insert-request> to set the value of the top-level stylesheet parameter named "foo" to the value of the session parameter you want.
[list] -
How to bind korean parameters in XSQL????
Hi,
I am binding english parameters in XSQL very well.
But when I am trying to bind japaneese or korean it is not displaying rows.
I am giving the sample code.
hello.xsql
<?xml version="1.0" encoding="euc-kr"?>
<xsql:query connection="scs" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:xsql="urn:oracle-xsql" row-element="ADDRESSES_ROW">
select * from emp where name='{@name}'
</xsql:query>
Request: http://hello.xsql?name=JOHN ::: working fine
Request: http://hello.xsql?name=koreanName :::Not working
Please help me in this regard.
How to bind name in korean in XSQL servlet..
Regards,
sudhiDo you have nlscharset_12.jar in your classpath?
what web server are you using XSQL with?
Have you tried using real bind variables like this:
<xsql:query bind-params="name">
select * from emp where ename = ?
</xsql:query>
Does a query like:
<xsql:query bind-params="name">
select * from emp
</xsql:query>
return the korean data to the browser correctly? -
Delete in xsql:dml vs xsql:delete-request and returned rows attribute
There is a difference in the number of rows returned between using a delete in xsql:dml vs xsql:delete-request. If I issue a delete via xsql:dml and the row I wish to delete is not in the table, then I get a result with rows equal to 0 as expected. However if I issue a delete via xsql:delete-request and the row I wish to delete is again not in the table, then I get a result with rows equal to 1.
It appears that the value of rows in the response to xsql:delete-request is the number of rows to be processed, ie the number of rows in the posted document, whereas the value of rows in the response to xsql:dml is the number of rows processed in the database.
I'd expect that the result that we want is the number of rows processed in the database. Thus xsql:delete-request should use the rows attribute in the response to reflect the number of rows processed in the database and thus be consistent with xsql:dml, and possibly use another attribute to reflect the number of rows to be processed.
The same problem occurs with an update in xsql:dml vs xsql:update-request.
http://aetius/xsql/demo/dmldelete.xsql?cxn=demo&bind=ename&ename=COMPAQ&sql=delete+from+EMP+where+ENAME+%3d+?
result is
<xsql-status action="xsql:dml" rows="0"/>
where dmldelete.xsql is
<xsql:dml
null-indicator="yes"
connection="{@cxn}"
bind-params="{@bind}"
xmlns:xsql="urn:oracle-xsql">
{@sql}
</xsql:dml>
http://aetius/xsql/demo/reqdelete.xsql?cxn=demo&table=EMP&key=ENAME
where posted document is
<ROWSET><ROW><ENAME>COMPAQ</ENAME></ROW></ROWSET>
result
<xsql-status action="xsql:delete-request" rows="1"/>
where reqdelete.xsql is
<xsql:delete-request
connection="{@cxn}"
key-columns="{@key}"
table="{@table}"
xmlns:xsql="urn:oracle-xsql">
</xsql:delete-request>
Steve.If you post as an HTML parameter, then you can directly reference the parameter value as either a lexical parameter:
<xsql:dml>
insert into foo(xml_column) values ('{@paramname}')
</xsql:dml>
or as a bind parameter:
<xsql:dml bind-params="paramname">
insert into foo(xml_column) values (?)
</xsql:dml>
I'd recommend the latter since it's more robust to the presence of quotes in the XML that's being posted.
If you post the XML HTTP body, then you'd have to write a custom action handler that called the getPageRequest().getPostedDocument() to get hold of the posted XML Document. -
Insert-request & sequence values
Trying to employ a seq value (not null, key field) along with insert-request causes ORA-01400. Current transform produces:
<field1>sequencename.NEXTVAL</field1>
<field2>fieldvalue1</field2>
<fieldn>fieldvaluen</fieldn>
Since I don't know how many rows will be inserted, I can't really select sequencename.NEXTVAL from dual.
Any suggestions?
JVok, we figured it out. make certain your before-insert trigger is properly established, and make no reference whatsoever to that column in your transform.xsl that is used in conjunction with the insert-request.
As the insert-request performs the insert (presumably the same for update-request), the trigger will obtain the next seqval, and the transform, if properly formed in canonical format, will pass the xml tree to the insert-request and the fields will be inserted "clean as a whistle".! -
Xsql:delete-request key-columns has to be form posted data?
I am trying to link a hyperlink "delete" on a table to a page "jobs-list-delete.xsql?jobnumber={JOBNUMBER}". When I use:
<form method="post" action="jobs-list-delete.xsql?jobnumber={JOBNUMBER}">
<input type="submit" value="delete"/>
</form>
it worked fine. but I want to use "delete" as a hyperlink instead of a button, so I tried the following:
Delete
unfortunately, it didn't work with the above hyperlink.
I would like to know if xsql:delete-request key-columns value has to be form posted data instead of a query string in an URL from a hyperlink. Is there any way to work around this?
The code I used in jobs-list-delete.xsql is as follows:
<xsql:delete-request key-columns="jobnumber" table="jobs" transform="request-to-InsertJob.xsl"/>
Thanks...
Wenqi Dwyer<xsql:delete-request> works with a posted XML request or a POST'ed HTML form.
To delete things with a simple HTTP GET, you can use <xsql:dml> and a DELETE statement. -
Which steps we need to follow in order to IE 11 can send requests using AES 128.
Internet Explorer 11 by default send requests to servers using AES256 algorythm instead of using AES128 bits (used for PKI Service). Which steps we need to follow in order to IE 11 can send requests using AES 128.
Shuffling the cipher suits should do the trick.
See Prioritizing Schannel Cipher Suites
http://msdn.microsoft.com/en-us/library/windows/desktop/bb870930(v=vs.85).aspx
At a command prompt, enter gpedit.msc. The Group Policy Object Editor appears.
Expand Computer Configuration, Administrative Templates, Network, and then click SSL Configuration Settings.
Under SSL Configuration Settings, click the SSL Cipher Suite Order setting.
In the SSL Cipher Suite Order pane, scroll to the bottom of the pane.
Follow the instructions labeled How to modify this setting.
It is necessary to restart the computer after modifying this setting for the changes to take effect. The list of cipher suites is limited to 1023 characters.
examples
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P521
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P521
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P521
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P521
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_RC4_128_MD5
SSL_CK_RC4_128_WITH_MD5
SSL_CK_DES_192_EDE3_CBC_WITH_MD5
TLS_RSA_WITH_NULL_SHA
TLS_RSA_WITH_NULL_MD5
At which point you may place AES 128 suites before AES-256 suites, which is actually the default I believe even for TLS 1.2. -
BAPIs to create sales orders for Returns and Debit Memo Request
Hi,
I have to create a sales order for document type Returns as well as a debit memo request.The BAPI 'BAPI_SALESORDER_CREATEFROMDAT2' is giving the following error message for Debit Memo Request document creation as well as for Returns.
761 Unpermitted combination of business object BUS2032 and sales doc. category L
I found BAPIs:
BAPI_CUSTOMERRETURN_CREATE for creating sales document of type ZDRE and SD document category H.
BAPI_DEBITREQUEST_PROXY_CREATE for creating sales document of type ZDDR and SD document category L.
please let me know if anybody have used them. If so what values need to be passed to I_UPLOAD_ID,I_DESTIN,I_SFA_REL parameters of BAPI_DEBITREQUEST_PROXY_CREATE. Are there any alternative solutions using the Salesorder bapi.
I have to create documents based on the flat file data no reference sales document numbers are available.
Appreciate your help..
Good Day
Regards
BhargaviLook at the code done by me
Program Name: *
SAP Name : ZAXXXXXX Version : *
Programmer : Chris Dong of ITDC *
Description : *
Includes : *
Function Modules: XX_XXXXXX *
Transactions : *
Programs : *
REPORT XXXXXXXX LINE-SIZE 80
LINE-COUNT 65
MESSAGE-ID ZA
NO STANDARD PAGE HEADING.
CLEAR l_order_partners.
l_order_partners-partn_role = 'AG'.
l_order_partners-partn_numb = '0001202491'.
APPEND l_order_partners TO li_order_partners.
CLEAR l_order_partners.
l_order_partners-partn_role = 'WE'.
l_order_partners-partn_numb = '0001202491'.
APPEND l_order_partners TO li_order_partners.
Sales document type
l_order_header_in-doc_type = 'ZDR'.
Sales organization
l_order_header_in-sales_org = '1000'.
Distribution channel
l_order_header_in-distr_chan = '01'.
Division
l_order_header_in-division = '04'.
REF DOCUMENT
l_order_header_in-REF_DOC = '9100000144'.
order reason
l_order_header_in-ord_reason = '925'.
item number
l_order_items_in-itm_number = '000001'.
material no
l_order_items_in-material = '000000000007000012'.
Qty
l_order_items_in-target_qty = '0000000000100.000'.
APPEND l_order_items_in TO li_order_items_in.
*BUS2094 Credit memo request " OSS NOTE 93091
*BUS2096 Debit memo request " OSS NOTE 93091
CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA'
EXPORTING
ORDER_HEADER_IN = l_order_header_in
BUSINESS_OBJECT = 'BUS2096'
WITHOUT_COMMIT = ' '
CONVERT_PARVW_AUART = ' '
IMPORTING
SALESDOCUMENT = l_vbeln
RETURN = li_return
TABLES
ORDER_ITEMS_IN = li_order_items_in
ORDER_PARTNERS = li_order_partners
Message was edited by:
Chris Dong
null -
Setting multiple parameters in "ON VALUE-REQUEST FOR"
Hello experts,
I have a dynpro with two parameters on it, called PA_LABKY and PA_LABTX. The first field PA_LABKY is extended by a value help (see the code below). Normally when a user chooses a value from f4 help the field is filled with the value. That works correct. Now not the first but both fields PA_LABKY and PA_LABTX should be filled when the user chooses a value from f4 help.
I tried it with following code:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_labky.
get the values from database
SELECT * FROM zrec_001t INTO TABLE lt_rec001t.
set the first output field
CLEAR ls_dynfieldmap.
ls_dynfieldmap-fldname = 'LABKY'.
ls_dynfieldmap-dyfldname = 'PA_LABKY'.
APPEND ls_dynfieldmap TO lt_dynfieldmap.
set the second output field
CLEAR ls_dynfieldmap.
ls_dynfieldmap-fldname = 'LABTX'.
ls_dynfieldmap-dyfldname = 'PA_LABTX'.
APPEND ls_dynfieldmap TO lt_dynfieldmap.
display the f4 help
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'ZREC_001T'
retfield = 'LABKY'
value_org = 'S'
TABLES
value_tab = lt_rec001t
return_tab = lt_returntab
dynpfld_mapping = lt_dynfieldmap
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
the first row contains the value for PA_LABKY
READ TABLE lt_returntab INDEX 1 INTO ls_returntab.
set the value on the dynpro
pa_labky = ls_returntab-fieldval.
the second row contains the value for PA_LABTX
READ TABLE lt_returntab INDEX 2 INTO ls_returntab.
set the value on the dynpro
move ls_returntab-fieldval to pa_labtx. " <--- NOW THAT DOESN'T WORK
It's the last row that doesn't work, it nothing happens with this field. How can I fill that field?
Thanks in advance.
DanielIn order to set the second field you must use the function module DYNP_VALUES_UPDATE. Replace that last statement with a call to this function module, you must pass the parameter name and the value.
Regards,
RIch Heilman
Correct function module name
Message was edited by:
Rich Heilman -
Controlling Startup Class Order / w/ Parameters
Hi,
The ability to control the order of startup classes that have parameters is
a huge piece of functionality that is missing from WLS 5.1. It it still
missing from 6.0???
Steve...Hi,
use a JSF PhaseListener and check teh request in the after restore or befiore apply request phase
Frank -
PL/SQL Web Service. Out Parameters are included in Request.
I am using JDEVELOPER 11.1.1.3.0. I generated a web service from PL/SQL successfully.
When the web service is generated and deployed (Deployed to the IntegratedWeblogicServer) it wants the output parameters to be included with the request.
Here is an example of my wsdl.
<wsdl:message name="AMP_WS_getCustomerDetails">
<wsdl:part name="pGuid" type="xsd:string"/>
<wsdl:part name="pCustName_out" type="xsd:string"/>
<wsdl:part name="pCustomerId_out" type="xsd:decimal"/>
<wsdl:part name="pStatus_out" type="xsd:decimal"/>
<wsdl:part name="pMessage_out" type="xsd:string"/>
</wsdl:message>
<wsdl:message name="AMP_WS_getCustomerDetailsResponse">
<wsdl:part name="pCustName_out" type="xsd:string"/>
<wsdl:part name="pCustomerId_out" type="xsd:decimal"/>
<wsdl:part name="pStatus_out" type="xsd:decimal"/>
<wsdl:part name="pMessage_out" type="xsd:string"/>
</wsdl:message>
In the AMP_WS_getCustomerDetails I am not expecting pCustName_out, pCustomerId_out, pStatus_out, or pMessage_out to be included. They are out parameters in the pl/sql.
Has anyone else run into this?
Thanks for any help.Parameters relate to procedures. Web Services require XML messages.
Where are the parameters coming from? You cannot pass a dynamic number of parameters into a procedure, but you can pass a structured type as a parameter which can contain multiple values, whether that is an array/collection type or an XML document itself.
Just package up the values into the XML and pass it to the web service.
If this doesn't answer your question, please post more information, with some example data and code. Read the FAQ: {message:id=9360002} -
Service Order-Scheduling Parameters not found
Hi,
I am working with a Service Order by creating an order with a partoicular order type ,Plant & Business area.
I am getting an error message that Scheduling parameters are not maintained.
Can any body throw light with detailed steps of this functionality pl
NagarajanHi,
I could later solve by applying the required parameters on par with another order type which was working well.This relates to the Plant Maintennance order which is useed as an ext requiremnt for SRM
Thanks,
Nagarajan -
IDOC ORDERS02 E1EDP02 QUALF 001: Purchase Order at Item level not inserted
Hi all,
I try with an ORDERS02 IDoc in segment E1EDP02 with QUALF 001 to insert a customer purchase order number at item level different from the one passed in E1EDK01 QUALF 001 and I expect to insert additionally to the VBKD record for POSNR 000000 one for my item line.
This additinal VBKD record is not inserted and I do not get this customer purchase order number in my sales order.
Does any one know what to do?
Thanks in advance.
AxelTo take over customer purchase order number on item level like the one for the ship-to-party (to treat a QUALF=001 for BSTKD like the QUALF=044 for BSTKD_E) seems to be unpossible.
Within IDOC_INPUT_ORDERS
LVEDAF5M: FILL_E1EDP02
WHEN '044'.
*- Bestellnummer des Warenempfängers -
*- purchase order number consignee -
PERFORM IDOC_MOVE USING E1EDP02-BELNR XVBAP-BSTKD_E D_FLAG_P-PBES.
We need to have
WHEN '001'.
*- Bestellnummer des Warenempfängers -
*- purchase order number -
PERFORM IDOC_MOVE USING E1EDP02-BELNR XVBAP-BSTKD D_FLAG_P-PBES.
this is calles from
LVEDAF2U:
*- Auftragsposition Referenzen -
*- item reference data -
WHEN 'E1EDP02'.
MOVE IDOC_DATA-SDATA TO E1EDP02.
PERFORM ZUORDNEN_ORDERS_E1EDP02.
*-Zusätzliche Daten aus IDOC-Struktur (Kundenerweiterungen)----
*-additional data's from IDOC (customer exit)----
SY-SUBRC = 0.
PERFORM CUSTOMER_FUNCTION_IDOC USING IDOC_DATA.
This calls
CALL CUSTOMER-FUNCTION '001'
So IDOC-DATA-SDATA is allready in E1EDP02
but it is not sufficient to do the call needed like stated above within EXIT_SAPLVEDA_001 since
I expect a result in VBKD, not in VBAP, and BSTKD is not like BSTKD_E a field of XVBAP.
In LVEDAF16, LVDEAF1C, LVEDAF27 AND LVEDAF4N the field is taken over into the screen but we have no chance to forward it to there
and to enhance there. Last one seems most interesting since it is for VA01!
It could be to enhance EDIT_SAPLVEDA_002 but how to forward the content to this field if it is a VBKD
field and all VBKD fields are statically added to VBAP fields in the program and not in the dictionary.
That would cause to append a parking field in VBAP or require to modify the code!
Any better ideas?
Maybe you are looking for
-
Dear Friends, Please provide the solution for the following scenario: In the first view(xml) I have a table with the fields QuotationNo,plant name, material no...etc, where I am displaying the data fetched using Odata model. The table is enable with
-
LR3 and printer color is off.
I have a Epson CX7800 printer and when I try to print out my picture, the color is off. My image looks great, but when I try to print, the color's are not the same. I've gone to my printer settings and set them to no color management and set the d
-
Hi, I have upgraded from 10.4.11 server to 10.5.4 My mail server is operational but SA is not working. Every few minutes the following message is logged plugin: eval failed: Can't locate object method "harvestcompletedqueries" via package "Mail::Spam
-
N96 firmware 20.050 - Photo Menu Blank
I've just updated to the latest firmware and now my photo menu is completely blank and I can't access any photos. They are all still there, I just can't view them at all - when I select one it just says "Processing...." I've tried a soft and hard res
-
Hi there, I've two Info objects in Info cube ordered quantity and delivered quantity where I want to see the report for Status like (which was not there in the Info cube) If ordered quantity<delivered quantity then status must be opened by showing