Personal Insights
SAP BTP Document Management free tier: epic fail
When I spotted this excellent blog post from Alex Dong, I decided to give it a try and see for myself if I could easily connect BTP Document Management service to S/4Hana to store attachments outside of the database : https://blogs.sap.com/2022/04/07/start-with-sap-btp-document-management-service-dms/
My goal was to get a document management system with WebDav capabilities to (hopefully) test if I could find a way to overcome this issue about Word templates that cannot be opened automatically from the browser since IE (and its ActiveX magic) has been retired : https://influence.sap.com/sap/ino/#/idea/263791/?section=sectionComments
So I read numurous articles and online help guides to follow his steps… and I also check a free version is available for test purposes :
DMS Free Tier availability from discovery center
Answer is YES, thank you SAP, so here I go : I create a BTP account, a subaccount, I enable cloud foundry environment, create a space, an instance, configure the entitlements, add the corresponding service, add roles, generate a service key, etc. (there are lots of steps).
Finally I’m stuck on the “repository on-boarding phase” : https://help.sap.com/docs/DOCUMENT_MANAGEMENT/f6e70dd4bffa4b65965b43feed4c9429/b37799034e81433c8312864b0b5a2fab.html?locale=en-US
The problem is : I can make an API call from Postman to DMS service in order to receive the Token needed for subsequent calls, but whenever I try to send the next request with this token, I receive the following response without further information : “Unauthorized”. So I Google this issue, and do not find much solution except this blog post from Mahesh Palavalli which is describing exactly what I’m trying to do: https://blogs.sap.com/2020/10/22/integrating-sap-cp-document-management-service-ui-in-the-fiori-app/
- “Step 3 – Get access token” => OK
- “Step 3 – Create repository” => Always ends up with “Unauthorized”
So I spend the entire day trying to figure out what I’m doing wrong: I change the “bearer” parameter in Postman, I change the header, the body, everything, even stupid things. In the end I decide to scratch everything I did so far, and start all over again taking a closer look to every details. I’m convinced I might have marked the wrong checkbox at some point.
Today is another day : I read and thoroughly follow all guides from trusted sources. Same result. However after a deeper analysis of each and every screenshots I notice the URL I have in my service key contains “eu30.hana.ondemand.com” which is different from “eu10.hana.ondemand.com” I see in the available pictures… Interesting.
So I scratch everything again and on the first step (the one where you create a subaccount in BTP), I select a different region from before : I switch from Europe Frankfurt (closest to the place where I live) to USA… and the magic happens ! I notice immediately that a new service is available when configuring the entitlements : not only can I select “DMS integration option” but I can also add “DMS repository option” (which I thought was kind of included by default with the integration option — but it’s not). Wonderful.
This time I do not face any “unauthorized” issue in Postman, and my first repository is successfully created. I can feel it I’m almost there. Now all I need is to tell my S/4HANA system to use BTP DMS as a content server, and there’s another very nice blog post about it from Vikram Kulkarni : https://blogs.sap.com/2020/12/31/using-document-management-as-a-content-repository-with-sap-s-4-hana/
Everything is going well: I create the OAuth profile, start transaction OA2C_CONFIG (I decide to activate all SICF services for this one because I don’t want to waste time trying to find what’s missing on my sandbox system), create an RFC destination, customize tcode OAC0 and execute report CMIS_REPOSITORY_SETUP. This step takes a little bit of time but ends without any error and I can complete the installation process successfully by activating the storage category.
Done.
I’m thrilled and can’t wait to test… but as the title of this blog suggests, it’s not working. As soon as I add an attachment to any object, I’m facing a dump. So after another couple of hours of debug, I spot the error returned by BTP DMS service: “You’ve reached your 1000 limit calls, upgrade your subscription”. So it looks like report CMIS_REPOSITORY_SETUP needs more than 1000 calls to setup the DMS instance, and I can’t use it anymore.
Game over.
Hi Nicolas,
Glad you shared with us the experience and totally understand your feeling. To be honest, I spent 2 ~ 3 weeks to struggle through all of these :D.
Cause I never tried with Free option, it seems a bug from BTP DMS perspective.
I will raise this to product team and hopefully they can help to check.
Thanks and best regards,
Alex
Hi Alex, i use this blog blogs.sap.com/2021/04/08/consumption-of-reuse-uifromsapdocument-management-service-in-sap-fiori-application/ to create Fiori app which represent DMS in SAP BTP using BAS(appl studio), i tried a lot of scenarios to build this app also used another tutorial but always i have the same screen:
at the console browser page i always got message: "Failed to load resource: the server responded with a status of 401 (Unauthorized)" end part of url is : /comsapecmreuse.comsapecmreusedocumentTable/api/browser
in postman it is also exists same issue but new token generation solves this problem.
Maybe it's depends of my service plan, because i also have BTP DMS free plan
Hello Nicolas,
Thank you for trying this out and providing your comments 🙂
I represent the product management and development team for BTP Document Management.
Below are my comments on your 3 pain points:
1.Repository Onboarding:
If using an internal repository, then entitlements need to be added for the "Repository Option". This is also mentioned here https://help.sap.com/docs/DOCUMENT_MANAGEMENT/f6e70dd4bffa4b65965b43feed4c9429/d30200e0993a457888db2786d4bb5cd9.html
Hence, regardless of Europe or US region, repository option needs to have an entitlement, else an internal repository cannot be onboarded.
2. Error Thrown during Onboarding:
Since the URL was pointing to EU30, there is an "Unauthorized" error. The only strange thing here is that you had EU30 in the URL instead of EU10(which is Europe Frankfurt). Could you please provide us the entire service URL?
3. Limitation on 1000 API Calls
Regarding 1000 API calls with S/4 HANA, the program which runs is an ABAP report, and might take more API calls as CMIS_REPOSITORY_SETUP creates all business objects present on the S/4 HANA side, and you might know on how many business objects reside on S/4 HANA 🙂
This was not a tested scenario for free tier, as free tier was meant for tests with Document management options (repository, integration, application) and not with external repositories( however, this was not mentioned explicitly).
This is due to the reason that there would also be users who could connect with OpenText storage repositories or other external repositories(which is a feature of Document Management), but we cannot determine how many API calls would this scenario take as it is outside the purview of BTP or Document Management.
However, since this feedback has come in, we will try to evaluate on what best can be done to accommodate this testing scenario(replacement of content server) in free tier.
Best Regards,
Asma
Hello Asma,
Like I said in the introduction of my blog, I just wanted to try if I could make it work. I thought the free tier option was intended for people like me, who like to play around with cool new features provided for S/4HANA. This is clearly not the case here. So I'm wondering what the audience could be that you are targeting...
Regards,
Nicolas.
Hello Nicolas,
Also, the feature scope document mentions rightly that the service can handle large files. This service can handle a single file ranging in GBs. But, your question on why you could not select repository option is answered below.
2. As per the screenshot, what I see is that, you have selected "Europe(Frankfurt) GCP from Google Cloud Platform and not from AWS. This is the reason you had “eu30.hana.ondemand.com” instead of “eu10.hana.ondemand.com”. For Google Cloud Platform, "Repository Option" is not yet available and hence you could not add this. Hence, when you changed this to the other AWS region, there was an option to add "repository option".
3. This service is not intended only for S/4 HANA users. S/4 HANA application is one of the use cases for this service. This is not a new service and it also existed in the BTP Neo stack as 2 services, namely, "SAP Document Service " and "SAP Document center". On Cloud Foundry, we have extended the usage of this service to cater multiple use cases and multiple applications(ranging from standalone application like easyDMS, content server replacement, standalone storage and application like Google Drive, embedding in custom applications....).
Hence, S/4 HANA customers also using OpenText as an external storage repository would have to connect via this service. Release guide is available for customers. We have quite a few big customers already live with this scenario.
It would have been good if you had contacted us on the blog mentioning this scenario, and we would have supported you 🙂 We have done this with other external colleagues who wanted to try out this scenario.
Hope the answers were helpful, else let me know.
Best Regards,
Asma
Dear Asma Siddiqa ,
I am posting my question here as your post is very new.
We have subscribed to Integration Option and Repository Option - to connect this service to our S/4HANA Public Cloud as a content repository. Configuration went fine.
Now for migration we need the Windows Client, as it is descibed in the guide SAP_COM_0597.
The concept seems to be that we use the client to upload all existing files to the repository, and then as a second step use the migration cockpit in S/4HANA Cloud to migrater the DIR (document info records).
But we cannot download the windows client, it says we are not authorized to see it in software downloads. Where can we get the client? As it is part of the migration process, the download should be authorized by integration option I think.
thank you
Johannes
Hello Johannes,
I have responded to your query via mail. I hope that you are now able to download the desktop client. Get in touch via mail if you still face any issues.
Best Regards,
Asma
Hello Nicolas Busson,
just wanted to inform you that my small comment has been deleted as offensive language. There was not one swear word included. It appears that if something is not true we are not allowed to call it a lie. Preposterous!
Best Regards,
Manfred Klein
Hello Manfred,
I guess that the software first needs to be tried out to term it as "true" or a "lie". This is the reason we have free tier and not the actual software that is in question.
The above chain of comments to the issues faced and explanations, should already give you an idea that the software really performs as expected or not.
Regards,
Asma
Getting a comment deleted with no proper explanation(just got the standard text: Bad bad boy! Ooh behave!) is an insult and a punch in the face.
The original wording was: 'Seems like a ... lie.' Not 'is a ... lie.'
Technically a lie is simply a question of 'true' or 'false'. If it's out off ill will is a completely different question.
If You have a question that concludes in the future(like: Does the Euro crash within 2022?), You have afterwards 2 kinds of people: Those who were right and those who lied. To avoid belonging to the latter one should say: There is a quite high risk, that the Euro does not survive this year.
Conclusion: Be careful with absolute statements like Software A works with Software B to achieve Feature C. Why? Because some people take this for granted and the frustration is high if things go sideways. If there stands a statement 'A works with B', this implies that A has been sufficiently tested with B. How the Author described, this has not been the case to avoid his pitfall.
Correct would have been: Software A worked with Software B to achieve Feature C in our test environment which was ...