Standard Workflow(Approve Document Change) in Error.

Hi Experts,
I have activated a standard workflow from IMG. It is a workflow for approval of Document change (WS21000093). I have assigned the agent as being the workflow initiator. After workflow is triggered, I've executed the work item (approve doc ) from my SAP inbox and it always goes into an error (Read last error).
Can anyone suggest the cause of this error or how to debug this?
Thanks a lot in advance.
Regards,
TM

In the Workflow the Activity stepwhich is having the task TS2100021 in that Task method the below FM is not retruring SY-SUBRC as ZERO that's y it is going into that step check with the data that you are passing to the BOR method
FKK_DOCUMENT_CHANGE_FROM_ID

Similar Messages

  • Standard Workflow for ESS changes.

    Hi Experts,
    We have a requirement where we need to change the Employee personal data and it has to be approved by the manager and then update the database.
    We can do it by custom workflow, but is there any standard workflow template for this process and any standard screens for Manager approval process.
    Kindly help. Thanks in advance.
    Regards
    Vijay.

    go to swo3 and find related bo, then go to swe2 to find workflow according to bo

  • Confirmation - workflow approval agent change not reflected in BI Report

    Hi Experts,
    We have implemented SRM 5.0 and have enabled confirmations for POs and this is a classic scenario.
    When a original approver for the confirmation approval workflow was subsititued by an another user, this information is not part of the BI reports. when I checked the document, there was no change document initiated due to the agent change in the workflow. Due to this the delta upload process for BI, is not uploading this information to the BI system for reporting.
    If I run the full or regenerative mode, then the data is getting populated into the BI system. But I would like the delta process to pick it up.
    1. please let me know how to enable the change document for a confirmation, even when the agent is changed in the workflow.
    2. or if delta process to capture the agent changes within the workflow for confirmation.
    Your help is much appreciated.
    Vijay

    Hi,
    On Which Service Pack are you on?WAD has this feature of re arranging the keyfigures in BI 7.0 for SPS 14...
    Regards,
    Bhagyarekha.

  • EREC: Standard workflow approval process

    Hello,
    Can someone help me out with the workflow name, for the approval process, if recruiter is creating the requisition?, will the workflow be trigerred after saving the requisition or the releasing the requisition?
    Thanks Much.

    Chech the WS51800008 in SWDD this workflow trigger in APPROVALREQUESTED event of ERC_REQUI business object,  also check WS16900009 This workflow template is used when processing requisition requests within the MSS E-Recruiting integrated solution. In the standard
    delivery, it is associated with the Simple Requisition Request (SRQ1) scenario. This workflow is started when a user (usually the manager) submits the requisition request.
    Also Check Business object ERC_OBJECT in tcode SWO1and use where used list.
    Regards
    Munguía.

  • How to activate the standard workflow :ws10000051

    hello,experts
        here is my problem:
        I want to activate the standard workflow for document parking :ws10000051 .
         I have already activate the event type linkage in SWE2.
        And then ,  i maintian  obwa , obwj , obwb, obwc, obwd.obwe,obwf.
         In obwa,i choose posting release  , subworkflow is ws10000055. 
        In obwe, Swf amnt rel  is  ws10000052.  
        In obwf , the org object is the position cfo (myself), before i assign this ,i create a position in ppoce.
       But, when i use f-65 to park a document ,  i can't receive any workflow in sbwp. I also find "the status of Document Parking (Frame), Parallel  is error " in my outbox.
       Can anyone tell me the reason ?
       Thanks !

    hi ,hari,
        you are right . when i check swel ,i  found ws10000051  : evnet put in the queue .  more detail message said :The OPEN_DI of BTE 00002214 could not determine any function modules.  
    when i check the workflow log (view with technical details), the activity :' determine subworkflow for amount release of document etermine subworkflow for amount release of docu ' status error . the message said :error in workflow customizing for document parkig (transaction obwe).
    i don't understand this , because i have already maintian  obwe. i made a new entry,like this:
    wrkf :1000   (workflow name)
    apth: 1000   (workflow approval path)
    ammont to : 9999999
    crcy: eur
    wsf amnt rel :ws10000052
    so ,could you tell me more details about this problem ,
    thanks

  • 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.

  • AGIS Inbound 'Transaction Status' changes to error on clicking Approve

    Hi,
    AGIS inbound 'transaction status' changes to error on clicking Approve or Apply button? how to find what is that error as I am not able to find any error message.
    What are the causes for this error ?
    I manage to generate the outbound transaction. When the recipient has received and approve, it shows an error under - Transaction Status and in the outbound side it shows Batch Status as Error.
    Can some one help to to find out the way to fix it.
    Thanks in Advance,
    Thejas

    Something might have gone wrong in the Workflow. Please check the metalink document 785167.1
    Thanks,
    John.

  • Standard Tool / Program to Change the Workflow Status

    Hello,
               I would like to know if there is any standard program to Change Status of the Workflow from IN PROCESS to ERROR. I know that there are Standard SAP tools using which we can restart the Workflows that are in ERROR Status. But for changing the Status of the Workflow from IN PROCESS to ERROR, I've not come across any tools / programs. I would really appreciate your help. Thanks in advance.
    Regards,
    Venkata Phani Prasad K

    sorry correction ..FM SWW_WI_CALLBACK_CHANGE_S can be used to correct the status without any check.
    I came across this issue where a dialogue workitem was logically deleted in order to remove it from the user inbox. Later an incident was created that the work-item is still needed to perform the rest of the workflow action. The solution should have been to complete the work-item by executing the terminating event of work-item or complete the work-item manually(SWIA). But instead some one performed  logical deletion.
    so in order to revive the workflow i needed to change the status form logically deleted to ready status. for this i found this FM which successfully changed the status form logically deleted to ready status. It though lost the agent assignment but i forwarded it manually to respective user.
    Regards
    Dharmendra
    TCS India.

  • Document change via workflow log.......

    Dear all
    In our scenario, I am creating a word document in workflow.After creation its going to first level approver for his decision.consider he is not executed the doc.
    When I check the status of document from the workflow log(from :Work item executed by me), its allowing me to change the doc.If I made any changes its updating the document,which is already waiting for decision.......Is this correct?Is there any possibilities to restict the document changes from the workflowlog view?
    Not only for Word doc.......other doc also.........

    I feel you can restrict this by putting some authorization. May be there is something you can restrict in the HOLD Document option.
    Thanks
    Arghadip

  • 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

  • Workflow for approving documents: rejected document

    Hi expert colleagues,
    at my client we are implementing the workflow functionality for approving documents (EhP2). I managed quite easily to set-up the basic workflow as described in the documentation. I have one question though, the problem is the following:
    Step 1: a correction document is entered by the corporate consolidation team person 1 and a workflow is triggered
    Step 2: the document is rejected by the approval agent of the consolidation unit
    Step 3: the rejected document becomes available for person 1 of the consolidation team, but the person is not present that day. Another person of the consolidation team wants to pick-up the rejected document, adjust it and start the workflow again. This seems to be impossible, the rejected document can only be modified (or discarded) by person 1. Even if person 1 identifies a substitute, the substitute cannot change the rejected document.
    Question: is there a way to let another person pick up a rejected document?
    Thx, ewald

    Hi,
    you can probably assign multiple approval agents to one consolidation unit. But in the case there is a rejection by one of the agents the document goes back to the initiator.
    The document initiator can only discard or change the document via the consolidation monitor, task manual posting. And the initiator is the only one who seems to have the power to call up a rejected document (in that way it looks a bit as a user specific held document).
    Any extra thoughts or should I look on the workflow forum?
    Kr

  • Standard workflow for downpayment request approval

    Hi,
    Is there any standard workflow for downpayment request approval?
    Please suggest.

    Hi,
    There is no standard flow for the down payment request generally in many projects down payment requests are rarely created process starts with Down payment request F-47 then Down payments F-48
    then clearing of Down Payment f-54
    Down PAyment request is just a template.If you want to use then use then u can skip this step.
    regards
    Deepa

  • Error in PR standard workflow WS20000077

    Hi Friends ,
    I have activated the standard workflow WS20000077 which is for PR release procedures . When i am creating a PR it is triggering the workflow  with an error " Import container contains errors (are any obligatory elements missing?) " .
    I have checked the forum for the same error but i did not find ant exact solution for that .
    In SWEL , the  object key  is being populated by the  PR no . So i think this is the problem due to the Release code which is not getting any value in the event container after the  event " Releasestep craeted" gets triggered .
    So please guide me on the same how to resolve the above  error .
    I am using ECC 6 version of SAP .
    Thanks in advance
    Sarmistha

    Thanks again for your reply .
    I have tested the workflow in SWUE by assigning the Release code value manually and the workflow is triggering without any error .
    So as  you told i think some SAP Notes needs to  be implemented to resolve this issue .
    If you have any idea on this please guide .
    Thanks
    Sarmistha

  • Approval Procedure Question - changing an Un approved document or Approver

    Here is my situation.  I have set up an approval Stage with 1 approval necessary for Credit Memos.
    From time ot time,  the approver needs to change the Credit Memo before apporving.
    Also, from time to time,  the Originator of the Credit Memo needs to change the credit memo BEFORE it has been approved. 
    From what I gather, 
    1) The Approver can not change the Credit Memo BUT can Add the Credit Memo but only after approving it.
    2) The Originator of the Credit Memo can not change the Credit Memo unless it has been rejected, and then it is not an easy task to find where the document can be changed.
    3) Any manipulation of the documents from either the Approval Status reportor the Approval Decision report is not possible.
    Am I missing something here or is there an easy way to modify a pre approved document?
    Thanks in advance
    Dana

    Actually what I am trying to accomplish is have all Credit Memos approved.  I at the same time would like the person who is approving th eCredit Memo also make changes to the Credit Memo if changes need to be made.  The end user does not issue a Credit Memo (Update) until the goods are received back at their facility and checked.  At that time,  they would like the approver make the necessary adjustments if necessary and them update the Credit Memo.  I find it a bit cumbersome to have to send that Credit Memo back to the Origonator to be adjusted and then send it back for approval.
    Am I missing something here?  Is it possible for the apporver to not approve it and then make th changesand then update it? 
    Any other sugestions on how to handle this situation??
    BTW Thanks for the quick responses!!
    Dana

  • CProject 4. 0 Document Approval Document Error

    Hi All,
    We have the configuration that was working fine for Phase Approval in cProjects 4.0.
    I am having a look at it as we are getting ‘<b>You can not begin approval without an approval document’</b> error message on click of ‘Begin Approval’ button.
    Though I have not checked ADS (Note - 944221), this does not seem to be  ADS problem as the ‘Document’ with decision as ‘Granted’ gets displayed properly.
    I create New Approval by adding approver, after click of ‘Begin Approval’, then the error message gets displayed.
    Configuration seems OK as it was working fine few days ago.
    Also looking at note – 874054 (Is it only for cProjects 3.1 ?)
    The only thing which I am doubtful about is, in configuration ‘Activate Forms Per Project Type’ where I need to deactivate the smartform ‘DPR_APPROVAL_HIER’, which is set to ‘Active’ (i will deactivate and test again). Also the PDF Print form ‘DPR_APPROVAL_HIER’ is set active.
    Thanks in advance....

    Hi Bushan,
    try this ,
    In c project configuration --> Activate From per Project Type
    --->you ACTIVATE the PDF FORM
    ---> DEACTIVATE the smart form
    for DPR_APRROVAL_HIRE FORM
    thanks
    sunil

Maybe you are looking for