Skip to Content
0

Web Service Request to update CurrentCommon asks for a Key?

Oct 13, 2017 at 10:24 AM

40

avatar image
Former Member

I would like some help on how to get an Update web service request to change the values contained within the CurrentCommon node for Customer.

The customer object has been extended in the SDK so I have an xBO. A number of new elements have been added into the object and the associated TI.

I created a new web service which includes the new elements and downloaded the wsdl for testing in SoapUI.

The problem is that the UpdateRequest is asking for a "Key for Common node". However, there are no available tags to populate? Here is the simple part of the request -

      <glob:CustomerUpdateRequest_sync>
         <BasicMessageHeader>
            <!--Optional:-->
            <UUID >00163e26-b79b-1ed7-91da-8e6e0c30f48f</UUID>
         </BasicMessageHeader>
         <Customer>
            <!--Optional:-->
            <UUID >00163e26-b79b-1ed7-91da-8e6e0c30f48f</UUID>
            <!--Optional:-->
            <InternalID>1000183</InternalID>
            <CurrentCommon ActionCode="02">
               <!--Optional:-->
               <passportName>enter it here</passportName>
            </CurrentCommon>
         </Customer>
      </glob:CustomerUpdateRequest_sync>


and here is the response -

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
   <soap-env:Header/>
   <soap-env:Body>
      <n0:CustomerUpdateConfirmation_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:LOS:/1SAI/TAS38A95E663236D2843215:804">
         <Log>
            <MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode>
            <Item>
               <TypeID>015(/CSG_RUNTIME/)</TypeID>
               <CategoryCode>SEI.SCV</CategoryCode>
               <SeverityCode>3</SeverityCode>
               <Note>Key for Common node missing in Request Message</Note>
            </Item>
         </Log>
      </n0:CustomerUpdateConfirmation_sync>
   </soap-env:Body>
</soap-env:Envelope>

I managed to find a couple of questions on the forum, but no-one has replied with a useful answer. All I found was "fill in a ValidityPeriod".

Any help would be appreciated.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Pablo Menth Oct 13, 2017 at 01:51 PM
0

Hi David,

the Customer.Common node has a one-to-many multiplicity. Therefore you would need to specify which of the node instances you would want to update. That is the reason why the service asks you to provide a key.

It is presumably a one-to-many relationship to distinguish between subsequent versions in the sense of a version history but I think you only want to update the current version.

From my point of view you have two options here:

1) Address the Customer.CurrentCommon node in your service. This node has a one-to-one multiplicity. Maybe it would be sufficient to use the ActionCode="02" on the Customer root and not on the CurrentCommon in this case.

2) Provide a key. This would probably have to be the UUID of the Customer.Common node if it is possible to include this data field into your web service.

Best,
Pablo

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Oct 13, 2017 at 03:15 PM
0

Hi, thank you for having a look.

This is quite frustrating. The service is an Update request so the customer tag has no ActionCode available. This only appears against the CurrentCommon tag.

The issue is that there are no tags which enable me to populate a Key, uuid or any valid dates? (There are no elements that can be selected in the SDK to add into the web service before I activate it)

if I change the ActionCode to have "01" so it is a create, I get a different error where it is asking for From and To dates. But, I still have no tags to put them in?

         <Log>
            <MaximumLogItemSeverityCode>3</MaximumLogItemSeverityCode>
            <Item>
               <TypeID>741(//APBP/R1/)</TypeID>
               <CategoryCode>INC.BOI</CategoryCode>
               <SeverityCode>3</SeverityCode>
               <Note>Enter a 'Valid From' date</Note>
            </Item>
            <Item>
               <TypeID>742(//APBP/R1/)</TypeID>
               <CategoryCode>INC.BOI</CategoryCode>
               <SeverityCode>3</SeverityCode>
               <Note>Enter a 'Valid To' date</Note>
            </Item>
         </Log>

Many thanks, will keep trying.

Share
10 |10000 characters needed characters left characters exceeded