SAP offers three major technologies for managing documents (scientific term is unstructured data):
As it looks like the first two will just be maintained where as for KM, which is by far the newest, SAP will continue to improve. However all three technologies have the right to exist, since they are integrated into specific applications:
The DMS layer again is used by other products:
So if you use one of the components mentioned above, you have to deal with KPro. The main challenge of KPro is poor documentation and not the fact that development is discontinued. In the following I would like to share some knowledge with you that I got while working as a consultant.
I present to you a solution for accelerating PLM document access for distributed content via prefill of Cache Servers. If you only use your SAP system in one network location, you can quit reading.
KPro is a framework that consists of infrastructure on the Web Application Server and in most cases one or more Content Servers. This is nothing more than an HTTP server which is optimized to store files and it makes sense for two main reasons:
- Separate between a content repository for documents and your main SAP database, because in many cases content repositories can grow quit fast.
- You can set up more than one Content Server for distributed content.
One central single data backbone (e.g. ERP) is the preferred system architecture to enable real-time collaboration and reduce duplicates. IT capabilities of transporting data in far away locations are limited. If your company runs more than one side, and in most cases these are located on different continents, you properly don’t have an ideal network performance between all locations.
KPro offers the possibility to store documents close to your location using more than one Content Server. Documents of other locations are stored on a Cache Server. However as it was designed the Cache Server only functions if the documents are loaded for a second time. The user who first accesses the documents has to wait. When you use the DMS, CAD Desktop or Engineering Desktop this could keep users waiting, because documents are not static but change often (e.g. new version). Epically in 3D CAD we talk about structures with many files
Relevant documents should be placed on the cache server automatically in order to make the first user access a cache hit. Ideally the prefilling should take place when there is network bandwidth available; this is mostly the case at night time and on the weekend.
Relevant documents can be identified by product structures, that means a head of a bill of material is provided and then all relevant documents of the multilevel exploded product structure are encountered.
In the following I will present to you my solution I have implemented for a few customers. Please note: This is a solution to certain problems; it is not a standard product. So please use this blog to get some ideas how to implement your solution.
For my solution the following requirements were encountered:
- Support SAP product structures that are based on classical BOMs. Every structure has a header material.
- Easy user interface to enter the relevant products for every location.
- Parallel HTTP download to exploit the maximum bandwidth with 1 to 9 tasks. (This is another issue what the SAP standard has not solved)
- Automatic start and end of the download to utilize the optimal time slot with support of the factory calendar.
- Customizing of explosion strategy for bill of materials and document structures to align with the CAD Desktop access behavior.
- Definition of relevant document types and workstation applications.
- Sizing mode to calculate the required disk space for the Cache Server.
General idea of the prefilling
To prefill a Cache Server with files, mainly to possibilities exists: Push and Pull.
- There exists a solution in the standard for static content like help documentation Cache Preload.
- For DMS you can also find the report DMS_KPRO_FILL_CACHE in your system. Main idea behind this program and my solution is to prefill the cache server by pulling the files on the server by basically downloading them remotely in this specific location. In order to do this with an ABAP job you need a gateway in this location. So the main prerequisite for my solution is to set up of the standalone gateway in every location you would like to prefill. The standalone gateway can run on the Cache Server itself.
The source code
Due to request by my former employer I had to remove the source code, since the intellectual properly rights belong to SAP Deutschland.
However if you want to build a custom Cache prefilling solution for your company start with the report DMS_KPRO_FILL_CACHE and enter the standalone gateway as a parameter for SAPHTTP. Within this report you can analyse the general principles of the prefilling.
If you are in this topic, I hope you could follow a little bit. This is a complex theme and I can’t put everthing in this blog, what’s in my head. Keep in mind: This is just one solution which should help you to find yours.