View Issue Details

IDProjectCategoryView StatusLast Update
0005694OXID ERP InterfaceOXID ERP Interface - subpublic2020-01-16 11:48
Reportermichael_keiluweit 
PrioritynormalSeveritymajorReproducibilityalways
Status acknowledgedResolutionopen 
Product Version2.12.0 
Target VersionFixed in Version 
Summary0005694: OXERPSetArtExtends does not support language set tables
DescriptionIf a shop has more than 7 languages, the shop creates automatically set tables. For example: oxarticles contains oxtitle, oxtitle_1, oxtitle_2, ... oxtitle_7. For the eighth language, the column oxtitle_8 is located in oxarticles_set1, which was created by the shop.

The ERP method OXERPSetArtExtends does only set the values for language 1 - 7. The eighth language is ignored.
Steps To Reproduce


  • Use the attached XML files to execute them (soapUI, for example)


  • Adapt the session id and the oxid (it is from a demo article) and execute oxsetarticle.xml.txt first.


  • Have a look at the databse, you will see that the fields are updated as expected.


  • Now execute the second file, oxsetartextends.xml and have a look at the database again. The table oxartextends was updated fine, but oxartextends_set1 was not touched.

Additional Information.xml files aren't allowed, so added .txt to the name.
TagsNo tags attached.

Activities

michael_keiluweit

2014-03-13 13:16

developer  

oxsetarticle.xml.txt (1,997 bytes)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:oxer="OXERPService">
   <soapenv:Header/>
   <soapenv:Body>
      <oxer:OXERPSetArticle>
         <oxer:sSessionID>j0pbe0jd5hbger4l3ki1uqnht3</oxer:sSessionID>
         <oxer:aArticle>
            <oxer:OXERPType>
               <oxer:aResult>
                  <oxer:ArrayOfString>
                     <oxer:string>OXID</oxer:string>
                     <oxer:string>05833e961f65616e55a2208c2ed7c6b8</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXTITLE_1</oxer:string>
                     <oxer:string>foo</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXTITLE_2</oxer:string>
                     <oxer:string>bar</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXTITLE_8</oxer:string>
                     <oxer:string>blafusel</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_1</oxer:string>
                     <oxer:string>foodesc</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_2</oxer:string>
                     <oxer:string>bardesc</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_8</oxer:string>
                     <oxer:string>blafuseldesc</oxer:string>
                  </oxer:ArrayOfString>
               </oxer:aResult>
               <oxer:blResult>1</oxer:blResult>
               <oxer:sMessage></oxer:sMessage>
            </oxer:OXERPType>
         </oxer:aArticle>
      </oxer:OXERPSetArticle>
   </soapenv:Body>
</soapenv:Envelope>
oxsetarticle.xml.txt (1,997 bytes)

michael_keiluweit

2014-03-13 13:16

developer  

oxsetartextends.xml.txt (1,411 bytes)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:oxer="OXERPService">
   <soapenv:Header/>
   <soapenv:Body>
      <oxer:OXERPSetArtExtends>
         <oxer:sSessionID>j0pbe0jd5hbger4l3ki1uqnht3</oxer:sSessionID>
         <oxer:aArticle>
            <oxer:OXERPType>
               <oxer:aResult>
                  <oxer:ArrayOfString>
                     <oxer:string>OXID</oxer:string>
                     <oxer:string>05833e961f65616e55a2208c2ed7c6b8</oxer:string>
                  </oxer:ArrayOfString>
			    <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_1</oxer:string>
                     <oxer:string>foodesc2</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_2</oxer:string>
                     <oxer:string>bardesc2</oxer:string>
                  </oxer:ArrayOfString>
                  <oxer:ArrayOfString>
                     <oxer:string>OXLONGDESC_8</oxer:string>
                     <oxer:string>blafuseldesc2</oxer:string>
                  </oxer:ArrayOfString>
               </oxer:aResult>
               <oxer:blResult>1</oxer:blResult>
               <oxer:sMessage></oxer:sMessage>
            </oxer:OXERPType>
         </oxer:aArticle>
      </oxer:OXERPSetArtExtends>
   </soapenv:Body>
</soapenv:Envelope>
oxsetartextends.xml.txt (1,411 bytes)

michael_keiluweit

2014-03-13 13:33

developer   ~0009647

Last edited: 2014-09-11 10:15

View 2 revisions

Maybe the method OXERPSetArtExtends can be removed anyway, because all the functionality of it is given with the method OXERPSetArticle which works fine.

Reason: We do have two tables for the article, but from the outside we have just one article object which holds the information. And this object should be used in any case to avoid more maintenance work.

arturas.sevcenko

2014-03-13 16:54

reporter   ~0009651

ERP interface objects match eShop database tables for supported objects (articles, categories, vendors and etc.), that is why OXERPSETARTEXTENDS is there. In addition, oxERPType_Artextends class wraps OXTAGS fields which are not included in oxERPType_Article.

Clausen

2020-01-16 11:30

reporter   ~0013090

This is still valid, oxartextends does not have a MultilanguageModel (it has no Model at all). So from eight language on no data is inserted for OXERPSetArtExtends. I wouldn`t suggest to remove this method completly, because OXERPSetArticle handles only LONGDESC properly and not custom data fields.

One way to solve this problem in project scope is to introduce a dummy-oxartextends-Multilanguage Model and use this for object oxERPType_Artextends.