on 10-27-2009 5:39 AM
Hi all,
I am using SRM 7.0 in extended classic scenario. I have some trouble with a punch-out catalog that i access via OCI.
For some items I can transfer the data from the catalog without any problems.
However, if there is an item in the catalog, that has a line break in the long text, the system just freezes at the transfer of the data.
This is how i do it:
1. In SC access catalog
2. choose Item with line break in longtext.
3. after I hit 'complete order', I can view the xml page. It all looks fine, the longtext has the line break (after ..Resolution Paper):
<input type="hidden" name="NEW_ITEM-DESCRIPTION[1]" value = "Canon a4 high resolution paper pk50">
<input type="hidden" name="NEW_ITEM-MATNR[1]" value = "">
<input type="hidden" name="NEW_ITEM-MATGROUP[1]" value = "14111507">
<input type="hidden" name="NEW_ITEM-QUANTITY[1]" value = "1">
<input type="hidden" name="NEW_ITEM-UNIT[1]" value = "PK">
<input type="hidden" name="NEW_ITEM-PRICE[1]" value = "12.26">
<input type="hidden" name="NEW_ITEM-CURRENCY[1]" value = "AUD">
<input type="hidden" name="NEW_ITEM-VENDORMAT[1]" value = "86538132">
<input type="hidden" name="NEW_ITEM-LONGTEXT_1:132[]" value = "Canon High Resolution Paper
SuperWhite, 110gsm, Photo Quality, best matte finish coated paper available for Photos or reports. Suitable for all Bubble Jet and Inkjet printers.">
<input type="hidden" name="NEW_ITEM-CUST_FIELD1[1]" value = "">
<input type="hidden" name="NEW_ITEM-CUST_FIELD2[1]" value = "">
<input type="hidden" name="NEW_ITEM-CUST_FIELD3[1]" value = "">
<input type="hidden" name="NEW_ITEM-CUST_FIELD4[1]" value = "">
<input type="hidden" name="NEW_ITEM-CUST_FIELD5[1]" value = "">
4. If I hit 'return cart' to transfer the data into the SC. Instead the page just goes blank and nothing can be done. The only option is to close the window.
When I debug this issue, the "freeze" happens in program SAPMHTTP at the following command:
Finalize method is only relevant for network communication version of
frame work, and not for local calls
*
system-call plugin
id 'HTTP' value 'Finalize'. "#EC NOTEXT
There are no dumps in ST22.
Has anyone any ideas how I can resolve this?
Cheers
Ulrike
Closed by SAP Support message with application of note 1429585
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ulrike,
The longtext value passed is not given any index value:
NEW_ITEM-LONGTEXT_1:132[]
If the longtext belongs to the first item then it should be:
NEW_ITEM-LONGTEXT_1:132[1]
Regards,
Jason
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Jason,
I have to correct you there. The longtext is a bit of a different field. For one reason or another the people who defined the OCI found it better to put the index number as follows: NEW_ITEM-LONGTEXT_n:132[], where n is the index number.
Check on page 14 of the SAP OCI 4.0 specification:
4.) The field NEW_ITEM-LONGTEXT_n:132[] is an exception as far as the syntax of the index n is concerned. The field length is unlimited.
As for the problem I would suggest opening an OSS message describing the problem (after searching for a relevant note of course) as it seems to be a bug.
Regards,
Robin
Hi Robin,
The '1' index value I am refering to is not the actual index value for n:132
I am speaking of the reference to the item in the context of the data contained within the longtext OCI data.
In the case of multiple items being passed from catalog where all or many have longtexts an assignment has to be given to the longtext to know which item it belongs to. Otherwise, if the absence of a value is defined as '1' by the catalog interface, all longtext data from all transferred items would be appended to the first item which is incorrect. So, in a case like below you would need to valuate the longtext position so the correct text is passed to the correct item in SC:
NEW_ITEM-UNIT[1]" value = X
NEW_ITEM-PRICE[1]" value = X
NEW_ITEM-CURRENCY[1]" value = X
NEW_ITEM-VENDORMAT[1]" value = X
NEW_ITEM-LONGTEXT_1:132[1] value = X
NEW_ITEM-UNIT[2]" value = X
NEW_ITEM-PRICE[2]" value = X
NEW_ITEM-CURRENCY[2]" value = X
NEW_ITEM-VENDORMAT[2]" value = X
NEW_ITEM-LONGTEXT_1:132[2] value = X
And so on.
Regards,
Jason
Hi Jason,
I just did a test with the way you say it is supposed to work:
NEW_ITEM-UNIT[1]" value = X
NEW_ITEM-PRICE[1]" value = X
NEW_ITEM-CURRENCY[1]" value = X
NEW_ITEM-VENDORMAT[1]" value = X
NEW_ITEM-LONGTEXT_1:132[1] value = X
NEW_ITEM-UNIT[2]" value = X
NEW_ITEM-PRICE[2]" value = X
NEW_ITEM-CURRENCY[2]" value = X
NEW_ITEM-VENDORMAT[2]" value = X
NEW_ITEM-LONGTEXT_1:132[2] value = X
If you do it like above the longtext of item 2 will be entered in item 1. (and the 2nd item doesn't have any longtext)
I performed another test on a normal oci catalog for 2 items in the following manner:
NEW_ITEM-UNIT[1]" value = X
NEW_ITEM-PRICE[1]" value = X
NEW_ITEM-CURRENCY[1]" value = X
NEW_ITEM-VENDORMAT[1]" value = X
NEW_ITEM-LONGTEXT_1:132[] value = X
NEW_ITEM-UNIT[2]" value = X
NEW_ITEM-PRICE[2]" value = X
NEW_ITEM-CURRENCY[2]" value = X
NEW_ITEM-VENDORMAT[2]" value = X
NEW_ITEM-LONGTEXT_2:132[] value = X
This way the correct longtext belongs to the correct item. I did this test for SRM 5.0 and OCI 4 (In a note I saw a reference to OCI 5.0 - is there any change here? And is there any documentation on OCI 5.0?)
So I am a bit confused, maybe we are speaking of 2 different things? When I check in the function module to import the OCI data (WSI_IMPORT_DATA), the way to determine the item is also the index number just after the LONGTEXT_ .
Regards,
Robin
P.S. Ulrike, sorry for hijacking your thread.
The subject of this thread describes a problem I'm having when submitting ESAPO3.5 xml data to an SRM (OCI_VERSION 4.0). I'm hard wrapping my base64 encoded data as suggested by RFC 2045. I'm told the return window is getting stuck. I plan on removing the line breaks.
Has it been confirmed whether or not line breaks in input fields are supported?
Thanks for any info.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.