cancel
Showing results for 
Search instead for 
Did you mean: 

Document Management Service of KPRO Framework - use of APIs

ajith_c
Explorer

Hi Experts,

In our project, Knowledge Provider (BC-SRV-KPR) framework ( Not the DMS aka Document Management System / CA-DMS Application ) is already being used in order to store attachments to a custom business object. The attachments are stored in a content repository. And we use SKWF* function modules to manage the attachments. Currently, I am studying the feasibility for some additional requirements like making the attachments from one reference record to all its connected records, implicit conversion from other formats to PDF etc.

However, I could see that the SKWF* function modules are in the status 'Not Released'. I also checked the SDOK* Function Modules. Even they are mostly 'Not Released' or 'Internally Released'. This leaves me with a question - Are we doing it the right way? Should I not use these APIs directly and use a service like 'Document Management System(CV0* Transactions) or GOS instead?

Our requirements are not that advanced. We do not create documents/versions. We attach existing documents from various sources with our business object. Some times we need approval for publishing an attachment - Again within the context of the business object.

Any suggestions, please?

Accepted Solutions (1)

Accepted Solutions (1)

Sandra_Rossi
Active Contributor

I consider that SDOK function modules (KPRO) are explicitly released because they are documented in the SAP Library - DMS Programming Interface (and I wouldn't use those SDOK function modules which are not in the SAP Library).

I don't remember that SKWF function modules were documented in the SAP Library, so I wouldn't use them as far as possible.

Note that KPro is made of DMF, DMS, CMS and DMWB according to SAP Library, but those ones don't have API exposed officially.

ajith_c
Explorer
0 Kudos

Thanks Sandra Rossi,

We may continue using the SDOK* function module. However, I am wondering if there could be better application to use ( Like Document Management Service - its a little bit confusing, I am not referring to DMS in KPro, but the DMS Application ). In our current implementation, the attachment / document is linked with our custom object instance by using an attribute of the LOIO class. These attributes can take just one value. We may need to link the same attachment with more than one record. One option we have is to have these links in a custom table.

Do you have any suggestion?

Thanks,

Ajith

Sandra_Rossi
Active Contributor

As you correctly stated in your question, BC-SRV-KPR = SDOK* function modules, and CA-DMS = BAPI_DOCUMENT* function modules which is a feature that is partly built over SDOK* function modules.

I don't really get what feature you want to implement, so I'm afraid I can't help. You should clarify your requirement. Then it's possible to propose what is the best solution.

ajith_c
Explorer

Thanks again for your help.

With our custom object ( for the sake of simplcicity, let me call it as contract ), we need to attach files. These files originate from various sources, some of them are downloaded from online - they are simply attachments. Our current solution uses the BC-SRV-KPR = SDOK* function modules to acheive this. Now, linking the attachment with the contract is done like this - at the level of LOIO class, a custom attribute is defined called CONTRACT_ID. And we maintain the id of the contract in this attribute when an attachment is added to a contract from the UI. Now, we have use cases where in we want to link the same attachments with other contracts as well.( Without physically duplicating the attachment on the content server ). However, the attribute CONTRACT_ID of a document can take just one value. I have not so far found an SDOK* function module to do the linking of one or more objects with a document. And this is the reason, why I started looking into the CA-DMS = BAPI_DOCUMENT area. I must also admit that I am pretty new to this topic.

We can continue using the same BC-SRV-KPR = SDOK* function modules approach by using a custom table to hold the links between the contract and its attachments ( by getting rid of the CONTRACT_ID attrubute from the document ). But I am wondering if there is any smarter apprach than this.

Thanks,

Ajith

Sandra_Rossi
Active Contributor

Isn't it possible to define the list of attachments at the object level instead of having the object ID defined at attachment level?

Concerning GOS, you might use it only if your custom object is defined as a Business Object (transaction code SWO1). If it's already one, I think GOS should have been chosen since the beginning. But rewriting everything has a cost.

Concerning CA-DMS, it's more complex to use than BC-SRV-KPR, so I don't advise to use it if you don't have a good reason.

ajith_c
Explorer
0 Kudos

In the mean time, I checked with SAP about the release status of these APIs and got the response that these function modules are not intended for customers and the support is not guaranteed if used in customer developments.( don't understand why they are listed in the help & reference portal though ). I guess, our only option now would be to explore CA-DMS.

Thanks,

Ajith

Sandra_Rossi
Active Contributor

ajith_c Even SAP collaborators are confused about how to know if something is released or not, because there's nothing official.

But for me, it's clear: if it's in the SAP Library, it's released, or if a SAP note clearly states that a function module can be used by customers, it's released.If it's not in the SAP Library, then only the "Released" flag (not the flag "Released internally") in the attributes of the function module tells that it's released.

Even BAPI function modules are subject to this "Released" flag (not all BAPI_* function modules can be used!)

ajith_c
Explorer
0 Kudos

Thanks sandra.rossi,

Answers (0)