on 12-27-2006 7:53 PM
Hi all.
The DI API now gives the opportunity to delete lines in Documents.
But do we have this option using the DI Server?
My users would like to update their sales orders including deleting lines.
I have not been able to find any solution to this.
I am not asking for a work around because I already have something in mind. I want to know if SAP has made an approved way of doing this.
Best Regards and happy holidays,
Allan
found the reason to the problem
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It is very nice with these DI services but we still have some problems getting it to work.We have tried it straight from the documentation - something as plain as the example from there:
<?xml version="1.0" encoding="UTF-16"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<SessionID>1F6C7E11-CC5B-A5F3-0206-D1F4A8B9D84A</SessionID>
</env:Header>
<env:Body>
<dis:GetByParams xmlns:dis="http://www.sap.com/SBO/DIS">
<Service>QuotationsService</Service>
<DocumentParams>
<DocEntry>1</DocEntry>
</DocumentParams>
</dis:GetByParams>
</env:Body>
</env:Envelope>
Gives me the following response:
Data 'DocumentParams xmlns=""' not found
What am I doing wrong?
Regards,
Allan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Trinidad.
It turned out that the Web Service we have between my Windows Application and the SAP DI Windows Service - adds namespaces when Serializing/Deserializing.
This is standard xml and should be supported by SAPs DI Service - but it isn't.
We have altered our Web Service to remove the name spacing after deserializing so now it works.
Thanks for all your help
Regards,
Allan Rasmussen
Hi Allan,
Which B1 version are you working with?
If you are working with version 2005 SP01 there is a new way of working with some documents as services.
Prior to 2005 SP01 there is only one way to work with Documents by using the DI Server, it is by using the DataManupulationMessages.
Starting on 2005 SP01 we have all documents types (only documents for this version) as services "DocumentServices": OrdersService, QuotationsService,... and we have a different way of doing the basic actions on Business Objects (Add, Update,...)
You have some information on the documents services in the help file, just look for "DocumentServices" and also the methods GetServiceDataXmlSchema and GetServiceCallInputXMLSchema method to know the format of each action.
By using the DocumentServices you will be able to remove lines by simply asking the current document with a GetByKey, removing the lines fromt the response xml and making an update after. I don't know whether this works with the old mechanism but I have some doubts.
Hope it helps
Trinidad.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.