cancel
Showing results for 
Search instead for 
Did you mean: 

SAP DMS: Set signature strategy dynamically at status change

lars_verbchels
Explorer
0 Kudos

Hello everybody,

I want to manage SOP documents with the SAP DMS. So I customized one document type with different statuses in it.

At one specific status the document info record has to be signed electronically. But there can be a different number of signatures. In one case I only need one user to sign, in another case I need more than one user to sign the document info record. I dont want to customize different document types or statuses for that.

Since the signature strategy in standard SAP is not very flexible I am looking for a suitalbe solution.

My idea is to customize maybe 5 different signature strategies with each one having a different number of individual signatures in it.

At status change in a document info record I want to set the signature strategy dynamically depending of the number of users signing the document.

I have heard that there is a BAdI which can do that. Can anybody help me with that? I appreciate your answers.

Thanks in advance.

Regards,

Lars

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

We normally handle this with workflow or abap for multiple approvers. We make the approver field in classification a multiple entry field and then use either workflow or abap to kick the document back to the previous status so that if there is more than one approver, each approver has the ability to set the same status. Once all the approvers have signed we kick it over to the final status.

There are many ways to do the above depending on what your preference is. The most flexible solution is to offer two classification fields, one with mandatory approvers, and the with optional approvers, but then the logic of your workflow and abap has to be better so you don't delay the approval cycle too much.

lars_verbchels
Explorer
0 Kudos

Hello Athol,

your proposal could be a solution. But if I do it like this we would have one entry in the status log for each signature. We want the use two statuses for signing the review and the approval of the document. Then there would be a lot of entries in the status log.

As said I heard from the SAP that they have implemented a solution by BADI where the signature strategy is changed at status change dynamically. Depending of the number of users that have to sign the document the signature strategy is set.

Before that you would have to define a couple of signature strategies in customizing.

Like this:

Strategy_1 -> 1 user signing

Strategy_2 -> 2 users signing

Strategy_3 -> 3 users signing

and so on ...

Regards,

Lars

Former Member
0 Kudos

On the discusison of my previous solution, It is correct that you would have a large number of entries in the status log, but technically from an auditing perspective this would offer more transparency to show who signed the document.

This same process can be used for multiple entries on both a reviewer and approver field and allows you to use this process for both review and approval. For example, you could use a status network that goes:

In Work - For Review - Reviewed - For Approval - Approved - Released.

In the process of approval, the approver would set the "approved" status whilst the system would reset it back to "for approval" and only once the last person had approved it would automatically set the released status. The trick using this method is to ensure that the work items are not regenerated every time it sets it back to "for approval" so there is some logic required for your workflow consultant.

The review process would be exactly the same with the exception that the system would automatically kick it over from "reviewed" to "for approval" or whatever you next status might be.

I haven't heard too much around the signature strategy being changed dynamically, but it does sound like an interesting solution to the problem. I will investigate it a little further and see if I can find out more information about it. It might offer a slightly more simplistic solution to the problem.

lars_verbchels
Explorer
0 Kudos

Hello Athol,

I implemented your solution, it works fine.

Thank you.

Regards,

Lars

Former Member
0 Kudos

Thanks Lars.

Glad to hear it worked out well for you.

regards,

Athol

Former Member
0 Kudos

Hello Lars,

We are also having same problem in implementing signature stategy dynamically at status change i have coded the logic by using the badi DOCUMENT_STATUS01. i am able to change the status back to for approval. but next approval comes in and change the status to Approved. he couldnt able to get the digitial signature startegy pop up.

Can i know how you have implemented the solution and resolved this issue.

Thanks

Srikanth Aduri.

Former Member
0 Kudos

Read above. He followed my suggestion to solve the problem.

Answers (1)

Answers (1)

Former Member
0 Kudos

Athol,

We also want to implement the solution that you offered to Lars. We have coded it using the user exit the Sri mentions in the above post. We have the status For Approval and Approved. The first user set the approved status, this triggers the signature, he signs, then the system sets the status 'approved'. Our user exit then sets the status to 'for approval'. The next user enters and clicks 'approved'. This is where our problem comes in - the signature popup does not appear. I think it is because we set the status in the user exit by changing the value in the user exit table - perhaps we should be calling a function module that sets statuses - this would ensure that all of the background actions occur associated with status changes. Can you shed a little light? We are banging our heads on this.

Sean

Former Member
0 Kudos

Hi Sean

I'm not 100% sure how the workflow guy did it. I just specced it for him as I wanted it and I got back a working result. I didn't think there should be too much of an issue with this, I done it at a number of customer sites with a number of different workflow guys (we never supply workflow skills for customers) without a problem. If I remember correctly they used BADI_STATUS_CHANGE.

Regards,

Athol

Former Member
0 Kudos

Thanks for the quick response Athol. We'll put owness on our development team to figure this out.