Workflow approval for documents

Hi,
Looking through the forum, it seems that it is possible to set up workflows for document approval with Solution Manager.
I don't have much experience with this platform; can anybody point me to documentation, blogs or white papers that explain how to do this?
Kind regards,
Tony.

Hi,
Chk out the below link.
[http://mailman.mit.edu/pipermail/sap-wug/2008-February/027794.html|http://mailman.mit.edu/pipermail/sap-wug/2008-February/027794.html]
Thx,
waseem

Similar Messages

  • Workflow Approval for CTS+ for NON ABAP Transport

    Hi
    We have a NW Portal system currently using CTS+ for transport.
    We would like to incorporate a workflow approval for transport across the different landscape (DEV -> TEST -> QA -> PRD) with CTS+. The workflow approval would work in such a way that when someone approves a transport request from DEV->TEST, the Basis Admin will then perform the import to TEST. So this approval will also be needed from TEST -> QA and QA -> PRD.
    Does Solution Manager provide such workflow approval for NON ABAP transport?
    I do hope anyone has such experience to share.
    Thanks.
    Regards
    mike

    Hi Mike
    Yes solution Manager CHARMS or Change request managment functionality uses CTS+ to move the Non ABAP requests
    it uses IBASE as identifier for systems and for more can search sdn
    check this link too
    http://www.sdn.sap.com/irj/sdn/alm-change-management
    Hope it helps
    Regards
    Prakhar

  • Workflow Approval for AR Credit/Debit Memo

    Hi All,
    I am looking for document on setting up Approval workflow for AR Credit / Debit Memo. Can any one share me document on how to set up AME for AR credit / debit memo approval.
    Thanks & Looking forward to your reply. Please send the document to [email protected]
    Regards
    Siva Kalyan.

    Thanks John,
    the function module which you suggested SD_SALESDOCUMENT_CREATE has all the fields i require. But, i am not able to find the fields KUNAG (sold to party) and KUNWE (ship to party) in this function module to enter the data.
    If i run the function module by entering all the data, i get the error asking me to enter ship to party and sold to party. Could you please help me out in finding these fields.
    Thanks & Regards!

  • Workflow approval for sb

    I'm in the extended classic scenario. I need to check the workflow approval before of the sb saving. How table, objects contains this information?
    thanks
    Sabrina

    Hi
    What do you mean by sb ? Is it sc (Shopping cart or  something else ) ?
    Couple of ways to find the equired details.
    1) By SRM GUI logon, incase you know the shopping cart number, using BBP_PD  Transaction, you can get the complete Shopping approver details there itself.
    2) By SRM Web page, if you created a new shopping cart, in the Approver Preview section, just one level above the Order button, you can see the list of managers, who will be approving the shopping cart (With their details in 2 manner - graphical/ tabular details - like name, next level approver, etc )
    3) By using the Standard SRM Workflow function modules, incase you know the Shopping cart details,  you can get the approver list with their names, approving limit etc.                           
    <b>
    *-- get Approval preview - on the Shopping cart applet information - Standard SRM uses this function to get the Approval preview in the shopping cart
          CALL FUNCTION 'BBP_PDH_WFL_PARAM_APPLET_FILL2'</b>
    By creating a custom program, you can use the logic of fetching the approvers in advance, as done by SAP, you can get all the required details.
    Refer this link for details.
    <u>Re: where i can get Badi approvers..
    <b>Try BBP_WFL_APPROV_BADI using SE18 Transaction to determine SRM N-step level Approval Workflow</b>
    Regards
    - Atul

  • Workflow approval for PO

    hi experts
    if a purchase order is prepared through ME21N, then purchase manager has to be known
    through workflow... he has to get a mail to inbox,when he click on that inbox.. he has to see that po
    and has to approve it.
    help me in this regards
    Poonam

    Hi
    There is good material for your query in
    "saptechnical"
    path -Tutorials-Workflow-Workflow
    You will get step by step process too
    Purchase Order Release Strategy
    let me know if its helpfull
    thanks
    Kakoli

  • Approval for Document's line

    Hi all,
    I would like to ask if anyone encountered this before. It seems like SBO is not able to trigger the approval if we want to check each line of a single document.
    Let's say I have Purchase Order with 5 lines, i want to trigger approval if there is a line with quantity > 1000 for example. I tried to write a query against POR1, but it doesnt work. I think SBO only recognize the header information of document.
    is it any workaround for this issue?
    thanks for your kind attention.
    regards,
    erwine

    Hi Erwine,
    As far as I know the approval procedure is only triggered by the normal SBO. (Someone correct me if I'm wrong) So it will not be triggered while adding documents by your AddOn/query etc...
    Hope this helps...

  • Workflow tables for documents in FICO

    Hi all,
    Can anyone say what are the tables present in FICO, to identify whether a document is a Workflow Invoice or a non-workflow invoice?
    Thanks in advance.
    Regards,
    Swathi

    could you please explain your requirement ? please clarify what you mean by workflow invoice and nonworkflow invoice..
    workflows are triggered by events. and events are attached to BOR objects.. you have to check what BOR object you are using and what event is triggering the workflow.
    you can do a event trace to find the events.. (SWEL , SWELS)
    Welcome to SDN

  • ERM - Workflow Approval Configuration in ERM and CUP

    Hi Experts,
    I'm in the midst of configuring the workflow approval for ERM and have some queries.
    I followed the post-installation guide part 1 for ERM on the workflow configuration and have sucessfully done the following:
    1. Verified that the "AE_init_append_data_RE.xml" has been uploaded in CUP with Append option
    2. Verified that request type "RE_ROLE_APPROVAL" with workflow type "RE" exists
    3. Verified that priority "RE_HIGH" with workflow type "RE" exists
    4. Created a workflow initiator for ERM called "ROLE_APPROVAL" in CUP -> Configuration -> Workflow -> Initiator (with the said details as per the post-installation guide)
    5. Created a CAD called "ERM_ROLE_APPROVER" for ERM in CUP -> Configuration -> Workflow -> Custom Approver Determinator (with the said details as per the post installation guide, filling in the necessary URI, uname/pw for admin with UME roles)
    6. Created TWO stages , one stage for the role owner called "ERM_ROLE_APPROV", and one stage for the internal control owner called "ERM_ROLE_APPRO2", both with workflow type "RE" and Approver Determinator "ERM_ROLE_APPROVER" which was created in step 5 earlier.
    7. Created a path for ERM Role Approval Workflow in CUP -> Configuration -> Workflow -> Path, with workflow type "RE", Number of Stages "2", Initiator "ROLE_APPROVER", Active "checked" and I put Stage 1 as "ERM_ROLE_APPROV" and stage 2 as "ERM_ROLE_APPRO2".
    8. Configured the Exit Web Service (followed the details as per the post-installation guide for ERM)
    As my role approval is pretty straight forward (i.e. based on business process attribute defined, with each role owner being responsible for their business process), I did the following:
    1. Create approval criteria "Role Approver for Business Process FI"
    2. For that criteria, I based it on attribute "Business Process"
    3. I clicked on "Assign Approvers" to define who is the approver (i.e. the respective role owner responsible for Process FI)
    4. I defined the condition for this criteria, Condition = AND, Attribute = Business Process, Value = FI
    My queries:
    1. Is the approval criteria which I created in ERM, referring to 1st stage or 2nd stage of the path in CUP?
    2. I'm assuming that for query 1, the approval criteria which I created is for 1st stage (i.e. ERM_ROLE_APPROV), where can I configure the 2nd level approval for the internal control owner (i.e. ERM_ROLE_APPRO2, in the path which I defined in CUP)?
    Thanks!

    Hi Baldwin,
    All workflow paths in CUP are triggered by an Initiator.  Once the request from ERM meets "Initiator" ("ROLE_APPROVAL") requirements in CUP, the request will go to the first stage defined in the respective path. Approvers defined in each stage of the path can approve request. Once the request is approved in CUP, approval information will be sent to ERM and then the role in ERM will be moved to the next stage.
    Best Regards,
    Sirish Gullapalli.

  • Activate Workflwo for document parking

    Dear Experts,
    Can anyone tell me the step by step procedure to activate workflow for document parking .
    The scenario is as under :
    I want message to be sent to the concerned authority once an invoice document is saved as complete. The user should then be able 2 check /change & post an invoice .
    Regards
    anis

    Dear Experts,
    Can anyone tell me the step by step procedure to activate workflow for document parking .
    The scenario is as under :
    I want message to be sent to the concerned authority once an invoice document is saved as complete. The user should then be able 2 check /change & post an invoice .
    Regards
    anis
    Hi, Anis,
    You can use work flow template WS20001003. In customizing for material management--> Logistics Invoice Verification-> Document Parking----> Activate Workflow Template for document completion.
    Regards,
    Tushar Patankar

  • Workflow for Document Approval

    Hi all,
    I'm a newbie to SolMan and is trying to figure out how to implement a workflow for document approval. A similar question has probably been posted in the past, but I can't find a definite solution, only some hints.
    Basically, what we're trying to achieve is the following:
    When a document is uploaded using SOLAR02, and the creator of the document changes the status to ready for sign-off, we would like to trigger a workflow which will send an email to a couple of persons who are responsible to approve the document. We already implement the digital signature, we just want to add an automatic email notification to be sent to the approvers.
    Based on my research, it seems that this is not supported by SolMan and hence we have to do a custom development.
    There's an object key called SOLMANDOC and we should raise an event (something like SIGNATURE_PROCESS_START) to send an email notification to the approvers. Can somebody confirm whether my understanding is right ? Does anybody know the name of the BADI that we can modify to achieve our goal ? 
    FYI, we're using SolMan Rel 7.01 SP 19.
    Thanks in advance
    Lara

    Hi Phil,
    I'm facing with problems with creating a simple 2 steps release strategy.
    the problem is I cant approve the last step of the release.
    This is what I did:
    In spro Digital Signature->Signature strategy:
    in "Define Authorization groups" I create this entries:
    1. EING
    2. VERIF
    in "Define Individual Signatures" I create this entries:
    1.  S1   EING
    2.  S2   VERIF
    in "Define Individual Strategies: I create this entries:
    SigStrat: ZSIGSTR
    Signature Method: R
    Display comment: X Required
    Display Remark: X
    Display document: X
    Verification: not checked
    in "Assign individual signatures"
    CtrIn  Indiv.SIG.      AGrpDIG
    1          S1               EING
    2          S2               VERIF
    Display Predecessor for Ctrln is 2 is 1
    for "Display release statuses"  an entry with one line with the value 1
    and in "Display individual signatures there 2 entries 1 and 2.
    in spro "Define Document status schemes"
    stat scheme "ZSIGSTR"
    4 status:
    Status                 init status      Sequence    Low     High       lock         Signature schma  End status         Cancel status
    COPY_EDITING       X                  10           10       20          -                    
    REVIEW                                     20           10        40        X                    ZSIGSTR         RELEASED    DECLINED
    RELEASED                                30           10        40        X                   
    DECLINED                                  40           10        20             
    I created two roles with object c_sign_bpr one with the value "EING"   and the other with the value "VERIF"
    I assign this status scheme to a document type in my project.
    I tried to release a document the first step was the author of the document move the status to "REVIEW" and I got a window that i need to enter my password and it worked ok.
    The problem is in the second step that I need to release the document (now is in a REVIEW status) When I press on the icon in order to release I didn't get the option to release only to cancel there is no "V" option in the small window.
    Can you please tell me if I did a correct customization? also can you tell me if my problem is maybe missing authorization? Can you direct me to reading material or to an example?
    Best regards
    Lior Grinberg
    Edited by: Lior Grinberg on Nov 28, 2011 6:22 PM

  • How to call workflow approve service in loop for multiple documents.

    i have created a serviceHandler for approving the document and i post the comma separated dIDs as a string from workflow approval template(custom template). And in serviceHandler program i pass the did for approving and only first document is approved and for other document its throwing error, Its showing error document revision is not a latest revision but document is having only one revision.
    my code is: can anyone help me.
    public void SendAllDocuments()
            throws DataException, ServiceException{
        try{
        String [] ContentDids;
        System.out.println("+++++++here we are the all SendAllDocuments++++++++++++++");
        String workflowIds = m_binder.getLocal("workflowIds");
        if(!workflowIds.isEmpty()){
             ContentDids = workflowIds.split("\\,");
        }else{
            throw new ServiceException("document are not selected from users, workflowIds"+workflowIds);
        int arrayLength = ContentDids.length;
        for(int iterator=0;iterator<=arrayLength-1;iterator++){
            SendDocumentToUserQueue(ContentDids[iterator]);
        }}catch(Exception e){ e.printStackTrace();}
        m_workspace.releaseConnection();
    //DocMeta table varible which are coming from Internal assignment page
    //xWF_SentFrom",xWorkflowStepAlias",xWF_SendTo",xPurposeForSubmission",xPurposeForRejection",xDocApproval",xWorkflowComments"
    //xInternalAssignment",togroup",xWF_SendToSend",xWF_SendToSend12",xPurposeForSubmissionSend",xWF_SendToApprove",wfSendApproveComments"
    //Revision table variable which can get from getRevisionsTableValueFromDid
    // dDocName", dDocType",dRevLabel",dSecurityGroup",dDocAccount"
    public void SendDocumentToUserQueue(String approvalId) throws DataException, ServiceException{
        try{
            DataResultSet resultset =getRevisionsTableValueFromDid(approvalId);
            String sendToName = m_binder.getLocal("sendToName");
            String sender="takuma";
        //String workflowComments = m_binder.getLocal("workflowComments");
        String workflowReason = m_binder.getLocal("workflowReason");
        m_binder.putLocal("IdcService", "WORKFLOW_Approve");
        m_binder.putLocal("idcToken", m_binder.getLocal("idcToken"));
        m_binder.putLocal("dID", approvalId);
        m_binder.putLocal("xWF_SendTo", sendToName);
        m_binder.putLocal("xPurposeForSubmission","108");
        m_binder.putLocal("xWF_SentFrom", sender);
        m_binder.putLocal("xWorkflowStepAlias", "");
        m_binder.putLocal("xPurposeForRejection", "");
        m_binder.putLocal("xDocApproval", "");
        m_binder.putLocal("xWorkflowComments", "");
        m_binder.putLocal("xInternalAssignment", "");
        m_binder.putLocal("xWF_SendToSend", "");
        m_binder.putLocal("dDocName", getData(resultset,"dDocName"));
        m_binder.putLocal("dDocType", getData(resultset,"dDocType"));
        m_binder.putLocal("dRevLabel", getData(resultset,"dRevLabel"));
        m_binder.putLocal("dSecurityGroup", getData(resultset,"dSecurityGroup"));
        m_binder.putLocal("dDocAccount", getData(resultset,"dDocAccount"));
        executeService(m_binder, sender);
    }catch(Exception e){ e.printStackTrace();}
    public DataResultSet getRevisionsTableValueFromDid(String documentId) throws DataException, ServiceException{
        DataResultSet drs = new DataResultSet();
        try{
            /*String sqlDocType="select dDocType from revisions where dId ='"+documentId+"'";
        ResultSet documentRset = getSystemWorkspace().createResultSetSQL(sqlDocType);
        //handle null pointer exception for DocumentValue
        String DocumentValue = ResultSetUtils.getValue(documentRset, "dDocType");*/
        String sql="select dDocName,dDocType,dRevLabel,dSecurityGroup,dDocAccount from Revisions where dId ='"+documentId+"'";
        ResultSet rset = getSystemWorkspace().createResultSetSQL(sql);
        if (rset == null || rset.isEmpty()) {
            SystemUtils
                    .info("Resultset is null please check database query and Did ="+documentId);
        drs.copy(rset);
        catch(Exception e){
            System.out.println("in catch of getRevisionId Method");
            e.printStackTrace();}
        //handle null pointer exception for DocumentValue       
        return drs;       
    public String getData(DataResultSet dataSet, String value) {
        String fieldValue = "";
        fieldValue = ResultSetUtils.getValue(dataSet, value);
        System.out.println(fieldValue+"value is null in getData Method=======");
        return fieldValue;
    public UserData getFullUserData(String userName, ExecutionContext cxt,
            Workspace ws) throws DataException, ServiceException {
        if (ws == null)
            ws = getSystemWorkspace();
        UserData userData = UserStorage.retrieveUserDatabaseProfileDataFull(
                userName, ws, null, cxt, true, true);
        //ws.releaseConnection();
        return userData;
    public Workspace getSystemWorkspace() {
        Workspace workspace = null;
        Provider wsProvider = Providers.getProvider("SystemDatabase");
        if (wsProvider != null)
            workspace = (Workspace) wsProvider.getProvider();
        return workspace;
    public void executeService(DataBinder binder, String userName)
            throws DataException, ServiceException {
        // obtain a connection to the database
        Workspace workspace = getSystemWorkspace();
        // check for an IdcService value
        String cmd = binder.getLocal("IdcService");
        if (cmd == null)
            throw new DataException("!csIdcServiceMissing");
        // obtain the service definition
        ServiceData serviceData = ServiceManager.getFullService(cmd);
        if (serviceData == null)
            throw new DataException(LocaleUtils.encodeMessage(
                    "!csNoServiceDefined", null, cmd));
        // create the service object for this service
        Service service = ServiceManager.createService(serviceData.m_classID,
                workspace, null, binder, serviceData);
        // obtain the full user data for this user
        UserData fullUserData = getFullUserData(userName, service, workspace);
        service.setUserData(fullUserData);
        // binder.m_environment.put("REMOTE_USER", userName);
        ServiceException error = null;
        try {
            // init the service to not send HTML back
            service.setSendFlags(true, true);
            // create all the ServiceHandlers and implementors
            service.initDelegatedObjects();
            // do a security check
            service.globalSecurityCheck();
            // prepare for the service
            service.preActions();
            // execute the service
            service.doActions();
            // doany cleanup
            service.postActions();
            // store any new personalization data
            service.updateSubjectInformation(true);
            service.updateTopicInformation(binder);
        } catch (ServiceException e) {
            varTrueFalse = false;
            error = e;
            SystemUtils.info("exception in second location=" + e);
            e.printStackTrace();
        } finally {
            // Remove all the temp files.       
            service.cleanUp(true);       
        // handle any error
        if (error != null) {
            error.printStackTrace();
            if (binder.getLocal("StatusCode") == null) {
                binder.putLocal("StatusCode", String.valueOf(error.m_errorCode));
                binder.putLocal("StatusMessage", error.getMessage());
            } else {
                throw new ServiceException(error.m_errorCode,
                        error.getMessage());

    I guess it is caused by the fact that some of variables in the binder refer to the first workflow item. My bet would be dDocName.
    Try to find out what's in the binder if you approve the second item from GUI and what's there when you do it from your program. That should give you enough info what you need to change.

  • How we create workflow using sharepoint designer for first review the documnet than go for approve the document.

    Hi to all
    I have team site in site collection under this i have Shared Document library. Now i want to create the workflow for the shared Document library. How i will create workflow using sharepoint designer for first review the documnet than go for approve
    the document.

    Hi ,
    According to your description, my understanding is that you want to create a workflow which contains review and approval process.
    For implemening your requirement, you can create a workflow containing two steps. The first step is used to collect user information and set workflow variables, and the second step is used to verify whether the reviewer approve. If the reviewers complete
    approving, a pproval workflow is started. The whole workflow is like :
    More information, please refer to the links below:
    http://www.documentmanagementworkflowinfo.com/sharepoint-video-tutorials/create-document-review-workflow-sharepoint-designer-2007.htm
    http://office.microsoft.com/en-us/sharepoint-designer-help/watch-this-design-a-document-review-workflow-solution-HA010256417.aspx
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • Purchase Order Workflow message for previous level approver

    Hi folks!!
    We are implementing PO workflow through which we want to notify the next level releaser as well as we also want to notify the previous levels releaser as well as Purchase requisition creator (if PR has been used as reference document to create PO).
    I have already successfully implemented the workflow, in which next level of approver gets the notification in his/her SAP Business Workplace as soon as the PO gets approved by the previous level.
    But my requirement is on final approval of PO, notification should also send back to the previous levels approver of PO and Requisition creator.How can I achieve it, please help.
    Best regards

    Hi,
    A check can be made during final level of approval for which e-mail will get triggered to the previous approver and the requisitioner. you would need to provide a Logic to your developer with the message body whihc will trigger an e-mail during final approver and mail recipients will be the previous approver and the Requisitioner which can be picked from Line item in Purchase Order.
    Prashant

  • Process Controlled Workflow - 1-step approval for shopping cart approval

    Hi,
    I have configured a one-level approval for SC (Process Controlled Workflow):
    Object Type: BUS2121
    Additional 1 level under schema: 3C_SC_600_000 (the last level is the automatic approval)
    Level Type: Approval with completion
    Eval ID: 0EV_SC_SL1
    RR Name: RR_SPENDING_LIMIT_APPROVER
    RR Param: USTONY.Y (I hardcoded it using my user ID, for the moment)
    Task ID: 40007953 (I have checked, it's generalized as well)
    Decision Type: Item-based decision for entire document
    For PPOMA_BBP:
    Under my org unit (Position):
    Approval Limit: 1000
    Output Limit: 1000
    I didn't do any BADI implementations yet.
    During creation of SC by other user, before "Order" the SC, the approval preview can show correctly that the Processor is as indicated in the config.
    Once the SC is ordered, the whole step is gone and the event linkage becoming delinked (because there is error, and according to the config in SWEQADM).
    However, I cannot find the workitem (no workitem generated) and SLG1 does not give any clue whatsoever.
    I tried debugging method APPROVAL_LIMIT, and it seems fine as well.
    Please help, what did I do wrong here?
    Thanks,
    Tony Y

    Hi Sahil,
    I even changed to first process level to:
    Level Type: Approval
    Eval ID: 0EV000
    RR Name: RR_MANAGER
    RR Param: (Blank)
    Task ID: 40007953 (I have checked, it's generalized as well)
    Decision Type: Decision for entire document
    Under PPOMA_BBP:
    I made myself as a head of the org unit with the role manager.
    The requester is "Exclude" the role manager.
    The agent can be determined now.
    But the workitem ID is still cannot be generated. It's always no workitem generated.
    Please everyone, any help?
    Thanks in advance,
    Tony

  • Where do we put authorised user name for approving DMS document in DMS work

    HI
    I am on a support role and here is a document creation through DMS and it goes approval for 4 level , upon each level mail trigger to the user id (approval authorised person) .
    now company changed the users for approving authority , so i have to change the authorised person name . can some one help me where to go to change their name in DMS.
    thanks in advance

    Hello,
      you should run transaction SUIM - User information system: then select the row "Roles --> By authorization values": in the field that will show up enter the name of the authorization object, that's to say C_DRAW_STA, then press the button"Entry values", put the Document type and the document status, then execute. The list of the roles containing that authorization object, with the values you are intersted in, will be displayed: then you have to enter in each role, open the tab "User", and there you will have the list of the users with the authorization to put that status for that document type. There you have to enter the name of the new user that shoud perform the release of the document.
      However you should also check if any SAP workflow task is  implemented to follow up the release steps.
    Best regards,
    Andrea

Maybe you are looking for

  • You're miraculous if you can solve this

    It involves the mini and the inMotion speakers I connected to. Because my AC to DC adapter broke that connected the inMotion to my iPod mini, I went out and got a replacement AC power adapter... well... I read directions, and set the adapter to 9V ou

  • IPAD no longer Sync's Automatically

    HI, Not sure when this has happened but my iPAD no longer Sync's automatically with iTunes/MacBookPro.  I've tried flipping between Wifi Sync and USB but it doesn't seem to make a difference. iTunes identifies that it's connected but I always ahve to

  • OIM11 event handlers: How to avoid firing the same code in both pre+post

    Hi everyone, I have a question around event handlers. My experiments so far have gleaned the following: Manual updates of user form in admin interface -> Fires: pre-insert + Post-insert Reconciliation trusted creates -> Fires: Post-insert Reconciliat

  • Announce MobileMe Gallery in Aperture

    I have recently made the switch to Aperture. I have created a new MobileMe gallery.  How do I announce this gallery in Aperture?  It was easy in iPhoto. TIA PK

  • Web Service - Serialization failed

    Hello everybody I have a problem of Serialization. I have developed a web service with SE80. I have executed  WSDL file of web service developed with XMLSpy. This is the log of error: <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap