cancel
Showing results for 
Search instead for 
Did you mean: 

SRM - Archivelink configuration for BO attachments

matteo_montalto
Contributor
0 Kudos

Hi gurus,

we're working on a requirement on a brand new SAP SRM 7 installation.

We would like to store Shopping Cart's (BUS2121) attachments, which in our scenario are present at item's level, into an external repository by means of an Archivelink configuration.

This is basically our aim, even though the complete requirement is quite complex.

We didn't have any experience on configuring Archivelink on an SRM machine, therefore we followed the same "basis" tasks we worked on in a different ECC configuration in the past:

- Transaction OAA3: we defined a new HTTP protocol registry, say HTTP1, for the Archivelink interface 0046, and we generated it successfully;

- Transaction OAC0; we created a new repository, say ZF, with the following specifications:

     Document Area: Archivelink

     Archive type: content server HTTP
     Registry: HTTP1 (the one created at step 1)
     Version nr: 0046
    

     The rest of the technical details refer to the connection endpoint; after the certificates exchange, everything seems to be ok (Connection tests are good).

- Transaction OAC2: we defined two kind of documents, ZBUS2121_1 and ZBUS2121_2, for each type of documents (*).

- Transaction OAC3: we bound basically the SC item's business object (BUS2121001) to our document types (ZBUS2121_1 and ZBUS2121_2), specifying that the repository to be used is ZF and the reference table is TOA01.

Now we're having problems with the OACT transaction.

As far as we understood, we should work on the Content repository BBPFILESYSTEM - which is described as BBP: Document area.

The problem is that we don't know how to handle this part of configuration because we didn't found a way to bind that entry to the ZF repository we created in the archivelink configuration steps described above.

We're probably missing something... any help is really appreciated!

Waiting for your support and help,

Best regards.

M.

Accepted Solutions (1)

Accepted Solutions (1)

janosdezsi
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Matteo,

please check this site for more information:

Attachment store mechanism in SRM 7 - Supplier Relationship Management - SCN Wiki

Best regards,

Janos

matteo_montalto
Contributor
0 Kudos

Hi Janos,

according to the Wiki you posted, it seems there's no standard method to store physically BBP attachments to an external repository through Archivelink... Or did I miss something?

If this should be confirmed, that's quite a bad news... I guess that an huge custom development should then put in place to transfer the files through Archivelink, as the main goal of this integration task is to have an ARC_DOC_ID identifier for each uploaded attachment in SRM.

Looking forward for your suggestions,

thanks again!

M.

benedikt_wagner_mdt
Active Participant
0 Kudos

Hi Matteo,

I'm not familiar with SRM, but I had a quick look into it and tried to remember some colleagues handled documents between SRM and ERP.

  1. documents are stored in SRM standard in repository BBPFILESYSTEM using category BBPFILESYS. Content is stored in table BBP_CONT and is managed using tables BBP_PHIO, BBP_LOIO, etc.
  2. you could switch that to external archive using following steps:

a) create new repository on your archiving system, maintain it in OAC0 (using document area BBP) and create a category for it in OACT

b) Set flag CAT_MAINT in table SDOKPHCL for PHIO class BBP_P_DOC

c) enter your new category in transaction SKPR08 for class BBP_P_DOC

@ Janos: is it o.k. to change the CAT_MAINT?

As far as I know the document links are transferred to ERP and document info records in DMS are created and linked to purchase requests/orders.

I believe documents are checked in (and stored again) to the content repository/category in DMS on ERP side.

There are some BAdIs in SRM to handle that (old and new ones):

 

BBP_CREATE_BE_PO_NEW

BBP_CREATE_BE_RQ_NEW

BBP_CREATE_BE_RS_NEW

BBP_CREATE_PO_BACK

BBP_CREATE_REQ_BACK

BBP_CREATE_RES_BACK

Maybe also note 1057932 helps. It describes the customizing on ERP side.

To transfer only the PHIO (docid) and create only a link in ERP will require some programming effort. But unfortunately I don't have access to that anymore.

Regards,

Benedikt

0 Kudos

Hi Matteo,

if I understand correctly, You managed to set up the Content Repository in OAC2 and OAC3 transactions.

In OACT, can You replace the Content Repository BBPFILESYSTEM at Document Area BBP with Your newly created repository (ZF)?

matteo_montalto
Contributor
0 Kudos

Hi Gergo,

I can't use my repository ZF in BBP document area as it's defined as Archivelink repository; I should therefore modify the Document Area to "Archivelink" but in such case, the BO attachments will not be considered by this entry.

matteo_montalto
Contributor
0 Kudos

Thanks Benedikt for you help,

I understood I can switch from the "local" repository to an external one, but unfortunately, your guideline doesn't consider Archivelink repo and that's what I'm looking for.
Let me clarify this key point in my requirement; we have some ECC backends configured in order to store Purchase Requisition's attachments to an external repository by means of an Archivelink configuration. There's a binding between each PR item and corresponding attachment(s) tracked in an inforecord.

With this schema, we know that attachment's references can be exchanged between system; we have an unique identifier (ARC_DOC_ID in TOA tables) to the uploaded attachment that can be shared, because all the ECC systems are connected to the same Archivelink repository.

So far, so good.

The step we're stuck on now is: can we add to these systems an SRM too?

We hoped that the same configuration performed on the backends could be easily ported in SRM, but as far as I've seen, there's no way to archive BBP-related attachment by means of Archivelink.

This would mean that an ARC_DOC_ID reference in SRM cannot be used "by standard" to retrieve an attachment. I say "by standard" because I'm thinking about a custom alternative to be set-up by code, making use of the Archivelink API.

Thanks again, any suggestion's welcome!

Matteo

0 Kudos

Hi Matteo,


I think, You will not be able to add SRM to this scenario, at least, I have never seen such scenario in SRM.


What You could try is to transfer the attachment URL only during PR transfer, normally, SRM can handle URL type attachments. If the http communication between SRM and the archivelink server is not disturbed, SRM will be able to reach out and load the file content.

Is the PR transferred over RFC or xml?

matteo_montalto
Contributor
0 Kudos

Hi Gergo,

PRs will be transferred over RFC connections.

Anyway, if I can bring the ARC_DOC_ID reference to SRM, I guess that something can be done (via custom development) in order to access the content by means of Archivelink APIs.

The problem is when the attachment is uploaded in SRM; there, no ARC_DOC_ID will be available because the connection to the external repository is not performed by means of Archivelink.

I should trigger then a routine that uploads the resource using the Archivelink APIs and replace the attachment reference bound to the BO item with a "link" to the Archivelink resource.


Kinda complex; basically, we need a sort of transcodification routine to be triggered in SRM.

I wonder why a simple archivelink storage for BBP attachments is not available by standard in SRM.

Regards,

Matteo

benedikt_wagner_mdt
Active Participant
0 Kudos

Hi Matteo,

if you would have ArchiveLink documents in SRM, it would be possible to access them from another system.

But since the documents are stored as KPRO documents in SRM, you normally cannot access them by ArchiveLink (from any system, e. g. with ARCHIVOBJECT_DISPLAY).

PHIO and ARC_DOC_ID are the same in the archiving system, but in ArchiveLink all documents have the component id "data"; KPRO documents have the file name as component id. So if you could manage to store documents in SRM with name "data", then you could access them on ERP side with ArchiveLink.

Regards,

Benedikt

matteo_montalto
Contributor
0 Kudos

Hi Benedikt,

you're giving me great info but unfortunately, I'm not able to understand them fully due to the fact I'm almost a complete newbie on the argument.

Let's try to recap a bit: I can configure BBP Document area so that these can be stored on an external repository (but without using Archivelink). So... I was thinking about configuring the same repository used by Archivelink for all the SAP ECC systems as simple "external" repository for the SRM.

If this is feasible, then we are sure that all the attachments in both SAP ECC and SRM systems are placed in the same external repository; the difference would be that in SAP ECC, I have an ARC_DOC_ID identifier because the upload has been performed by archivelink.

Instead, if the upload comes from SRM, I don't have an ARC_DOC_ID identifier but ... ? PHIO_ID?
I'd kindly ask you to elaborate a bit more the following quote, please:


Benedikt Wagner wrote:

PHIO and ARC_DOC_ID are the same in the archiving system, but in ArchiveLink all documents have the component id "data"; KPRO documents have the file name as component id. So if you could manage to store documents in SRM with name "data", then you could access them on ERP side with ArchiveLink.

If I understood well, under specific assumpions we could use another reference instead of ARC_DOC_ID in SRM, which is sematically equivalent (also, value-equivalent).

This trick could make my day... where do I find the component Id reference you named in the previous answer?

Thanks a lot for your patience and support!

BR,

Matteo

benedikt_wagner_mdt
Active Participant
0 Kudos

Hi Matteo,

from the archive point of view, ARC_DOC_ID and PHIO_ID are equivalent. If
you talk to the archive this id plus the content repository has to be sent. For
KPRO the content repository is calculated via the category, for ArchiveLink you
have it directly.

 

You can check this with function module SCMS_DOC_INFO. With this you can get
information about an archived object (ArchiveLink or KPRO) from an archive
server.

For an KPRO document you can specify the category in STOR_CAT, but you can also specify the repository id in CREP_ID. The ARC_DOC_ID or PHIO_ID can always be entered in DOC_ID.

The result for an ArchiveLink document is always a component "data" or "data1":

Whereas called with a KPRO document you will get the file name in the COMP_ID.

I could imagine that BAPI BBP_ATT_CHECK is used when a file is uploaded in a shopping cart. Unfortunately there is only a importing paramter (with all information about the document) and you cannot change it here. So you would have to make a modification to change the file name to data.

I do not recommend this! Please consider other solutions and try to get some information from SAP/SRM consultants if there are standard possibilites for your needs. As I said, I'm not familiar with SRM and all my information comes from a quick look into the system.

Regards,

Benedikt

Answers (2)

Answers (2)

matteo_montalto
Contributor
0 Kudos

Thanks everybody,

at the end, I think I'll go for a custom solution in order to store SRM BO's attachment by means of archivelink. This will obviously pass through the comprehension of the available APIs offered by archivelink.

Thanks again for your support!
M.

benedikt_wagner_mdt
Active Participant
0 Kudos

Hi Matteo,

transaction OACT (Categories) belongs to Knowledge Provider (KPRO). It's not necessary for ArchiveLink scenario and you cannot use a content repository with document area "ArchiveLink" in KPRO.

Regards,

Benedikt

janosdezsi
Product and Topic Expert
Product and Topic Expert
0 Kudos

Dear Benedikt,

Just a small remark for this statement: "you cannot use a content repository with document area "ArchiveLink" in KPRO."

ArchiveLink also uses the KPro CMS interface when communicating with content servers. So in every ArchiveLink scenario when there is a communicaiton between SAP system and a content server it is a KPro scenario too.

Best regards,

Janos

matteo_montalto
Contributor
0 Kudos

Dear Benedikt, Janos,

thanks for your observations. I'm not actually getting the point as I'm stuck on the configuration; is it possible to configure Archivelink is SRM so that Business object's attachments can be stored on an external repository?

The reason why we would like to use archivelink is as follows; we would like to use TOA0x's ARC_DOC_ID reference to spread an unique identifier of an uploaded content throu SAP systems connected to the same external repository.

The complete requirement is quite tricky, but the main reason of this choice relies on the above assumpion, as some SAP ERP are configured through Archivelink to store documents in a common external repository.

Thanks for the support; if anyone could elaborate a bit a sketch of possible approach, that would be awesome.

Best regards,

M.