ESS deleting an Absence request before approving it.

Hello,
I have problems stopping the ESS Absence Request workflow after the user deletes it before the manager approves.
Reproduction scenario:
- The requestor creates an Absence request.
  ... the workflow (a copy of WS12300111) is instantiated
  ... the manager of the requestor gets a work item
Now the requestor decides to delete the absence request...
- Requestor deletes the absence request.
  The user now gets the information message:
  ... the ESS application now tries to complete (FM: <b>SAP_WAPI_WORKITEM_COMPLETE</b>)  the Work item of the manager.
  No administrator found for the task
  (By debugging, I found out that this was message 5W 141.)
The <b>result</b> is that the request document is ended with <b>status WITHDRAWN</b>, which is correct, however the workflow has still a READY work item for the manager which he cannot start anymore.
Analysis:
The error message is a little bit weird, because it actually ment that the requestor is not an agent for the work item of the manager.
I could solve this problem by giving the requestors more authorization. When I added SAP_ALL to the requestor, the error does not occur.
The transition table determines:
Documentstatus: SENT
Status transition: DELETE
Workflow control: CONTINUE Continue Workflow
...that's why it start FM: SAP_WAPI_WORKITEM_COMPLETE
I hope you have an answer to my problem.
Kind regards,
Alwin van de Put
(I expected that ESS would make use of events for terminating work items in stead of using SAP_WAPI_WORKITEM_COMPLETE.)

Hello Ravi,
Thank you for answering.
The standard task is a General Task.
The main problem is, that the agent determined in the step (in my case: Expression: &AGENT_0001.AGENTS&) is not the one who will complete the task.
This is the case when the Requester deletes (withdraw) the absence request, than the ESS function module tries to complete the work item of the Manager with the user of the Requester.
We could solve this problem by giving all requesters the following rights:
S_CODE id TCD field SWIA.
But we don't want to give all users rights to transaction SWIA.
Kind regards,
Alwin.

Similar Messages

  • Modifying request before approval

    Hello Friends,
    I want to allow modification to the request before Manager Approval. Once it is approved user/admin should not be able to modify request. how to achieve this. If have any sample code snippet, then please, give me.
    Thanks and Regards
    DB

    Buddy Your requirement is little bit complex. You want to give permission to modify Request i.e. form before manager approval but after manager approval you don't want this.
    I think it wouldn't be possible because you can give access to any group level not at user level.
    Even there's no API for updating these permissions of this form. Even if you get this API, it's not going to fulfill your requirement. Because it will update permissions for group. If in the meanwhile if some other user raise request then it will work differently for him and you can see undesired results.
    So may be if you go for its action classes then you can find some way.
    All I have written as per my understanding. There may be some other way, someone can update the thread.
    Anyways it's a nice requirement which showed me OIM Limitation.

  • Deletion on DSO request

    Hi All,
                    first we loaded the one DSO with delta load.because of data consistency converted that into full load after doing "Initialization Delta process".But for the DSO we need to delete the old  request for having present data request.For we need to delete the Old request before loading the data into DSO or After the load. suggest me .Since it is below level ods. Data goes from here to above level DSO.
    when should we delete befor load starts or after load starts (OVerlap request).Please help me on this.
    Thanks
    Prem.

    Hi.
    Please check the following link which contain rich information about thia matter.
    http://help.sap.com/saphelp_nw70/helpdata/EN/f8/e5603801be792de10000009b38f842/frameset.htm
    I would sugges you also to create a process chain to perform this operation.
    In the BI7.0 we have a process type to remove previous requests using the same criteria.
    Thanks,
    Walter Oliveira.

  • Issue with ESS Leave request workflow - Deleting a leave request

    Hi friends,
      This is my scenario: An employee has created a leave request from ESS - Leave Request Workflow(Copy of  WS12300111) gets triggered and work item gets created in manager's UWL. After that the employee realizes he has created a wrong leave request so he deletes that leave request from ESS. In this case the workflow instance which got triggered when he created the leave request is under process and the work item stays in the Manager's UWL( there is no terminating event or wait for event step in the approval step of workflow WS12300111), when the Manger opens that work item it shows a blank column, ideally speaking when the leave request is deleted by the employee the work item in the manger's UWL should be logically deleted and the workflow should complete, but this part is not handled in the standard workflow WS12300111as well. How to handle this case. I can put a wait for event or a condition to complete a work item at the approval step but i would like to know how the standard ESS leave request framework works in this case. Please advice.

    Hi sapient
      This is not handled in std. You have clear the next processor in your in method then only the work item will get vanished from the UWL.  For clearting the next processor either you can create a method in your BOR and get the request id. For the request id get the max version and clear the next processor or in the BADI you have wirte your own logic when the change happens what you have to do. This logic has to be written in you BADI.  I thing BADI will start with PT_ check with that name in se18
       You cannot use wait for event or terminating event since its not R/3 workflow its ESS workflow you cannot use ternminating event or wait step.
    Regards
    vijay

  • ESS Absence request  Error : Lock Exception

    Hi,
         When a user is trying the absence request application , she is getting the following error, she is the only user getting the error.
    We did a server restart but that didn't solve the problem.Please suggest
    #2#sap.com/pb/PageBuilder#com.sap.tc.webdynpro.services.session.LockException: Thread SAPEngine_Application_Thread[impl:3]_36 failed to acquire exclusive lock on client session ClientSession(id=(J2EE258694500)ID0000822451DB11319429603123595159End_1457644797). Existing locks: LockingManager(ThreadName:SAPEngine_Application_Thread[impl:3]_36, exclusive client session lock: ClientSessionLock(SAPEngine_Application_Thread[impl:3]_35), shared client session locks: ClientSessionSharedLockManager([]), app session locks: ApplicationSessionLockManager([]), current request: sap.com/pb/PageBuilder).Hint: Take a thread dump of the server node to find the blocking thread that causes the problem.
         at com.sap.tc.webdynpro.clientserver.session.ClientSession$LockingManager.lock(ClientSession.java:1511)
         at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:233)
         at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
         at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:46)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

    Hi,
        Have you deleted the locks from system administration->Monitoring and under portal check object locking. see if there are any locks and see if you could delete the locks.
    If the system is hanged you can restart the server0 (or server<n>) node to resolve the issue, but the issue may recur. Permanent solution is described in the note 1234847. There is a ppt attached to the note, you can proceed as described there.
    Cheers!!!
    Umang

  • Delete cube request - before or after index creation?

    Hi Folks,
    a quick question. I plan to delete for one cube requests that are older than 3 days (cube only hosts short term reporting). Now I wonder if this should be done aftter the new load but before the index is created or after the index is created.
    I guess it is after the index is created otherwise it would take longer to find the requests that should be deleted. The index will be slighly degenerated due to the deletion but should be only marginal.
    I am right or wrong?
    Thanks for all replies in advance,
    Axel

    hi,
    a quick question. I plan to delete for one cube requests that are older than 3 days (cube only hosts short term reporting). Now I wonder if this should be done aftter the new load but before the index is created or after the index is created.
    The delete should be done before index creation, as once the index are created then even though the data corresponding to those index is deleted the index still remains. This unnecessarily increases the index table size
    regards,
    Arvind.

  • How to delete a specific request from ODS

    Hi all,
    We have an ODS which we're loading invoices from legacy system. In legacy system, there are two tables for invoices. First one is daily records which is archived on last day of each month. As you guess, second table is  for archive records. We need all of the records from  both tables. Because of performance issue , we don't want to load both tables everyday . So we created two transformation. Since there is no delta option, we need to delete the first table request from data targets before extraction. And delete the request from the second table only last day of month. We're created process chain. But there is no option for deleting only the request from a specific data source or transformation. Are there any solution for this?
    thanks,
    Yigit

    Hi,
    Thanks for your code. But is there any function module to delete most recent request from the ODS.
    I had 2 requirements...One in need to delete from ODS & Other one from Cube.
    FM - 'RSSM_DELETE_REQUEST' will be used to delete from Cube only.
    Can please you send FM & ABAP Code to delete request from ODS.
    Thanks in advance.
    Yigit
    Message was edited by:
            Yigit

  • How to delete the compressed request in bi 7.0?

    how to delete the compressed request in bi 7.0?
    Reverse Posting option available in BI 7.0?
    Thanks,
    Pramod

    Hi Pramod,
    Check this Thread,
    Re: Selective deletion after compression
    before posting a thread pls check in the forum.Lots of threads are already been posted related to your Query.
    Hope this helps..........

  • How can I debug a routine created in Deletion of similar requests?

    Hello Experts,
    I need some help from you. I need to delete overlapping requests and the common
    settings you can set are not suitable, so I decided to write my own ABAP routine.
    But how can I debug a routine, which is implemented in the deletion of similar requests?
    Hope you can help me.
    Cheers
    Daniel Weilbacher

    Please go to the routine code..
    In the menu options..u will find an option for breakpoint--set..
    The line where breakpoint is set will get highlighted and u will also see a STOP symbol..
    then come out of routine..and then run the data load..
    this ABAP routine for overlapping request deletion runs before the scheduled data load..
    the run shud stop at the set breakpoint and show the routine code..in debugger mode..
    cheers,
    Vishvesh

  • Deleting the latest request from info cube.

    Hi All,
    In our project, we have data from May 2012 to till date. Data is freezed and there is no change of data till May 2014. And there is change in data for current month only ie) June 2014. So i have pulled the full load from May 2012 to May 2014 and loaded in the Info cube.
    I am deleting the current month data and loading only the current month data to Info Cube. So i want to delete the current request in the info cube before loading and load only the current month data.
    Can you pls guide me how to achieve this through Process chain. I am unable to identify which process type will suit my requirement.
    Thanks.

    Hello Vincent,
    As mentioned by you, that there is no change in data from May 2012 to May 2014, you can keep the request which contains this data(for Example Req1). If Request2 contains data from May 2012 to June 2014 then you need to delete this request i.e Req2 and load only data for June 2014. Later you can follow below mentioned process.
    Now coming to option which you are looking for process type to achieve this via process chain, there is a process variant called "Delete Overlapping Request", which is used to delete data from the target based on certain condition depending requirement.
    Hope this resolves your issue. Below document explains steps to achieve the same.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0431c48-5ba4-2c10-eab6-fc91a5fc2719?quicklink=index&…
    Best Regards,
    Venu Gopal K

  • How to delete cube old request by using abap code?

    Dear experts,
    Here is one thing need your help:
    We have one cube need to delete the old request. This cube is loaded daily and only need to delete the request of that month.
    I know there is one "Delete Overlap Requet" type in the process chain, but my concern is: in our DTP filter, different day the selection will have different values, let's say A and B, and A and B are not even overlap at all.
    So my question is:
    1. Can I still use "Delete Overlap Request" to delete the old request?
    2. If so, I see it can be implemented by abap routine, can anyone give me some sample code? Like how to delete request only in this month. And how to delete request whose selection is equal to a specific value.
    Note: one of the source cube is real time cube so can not delete the request from infopackage.
    Any post will be appreciated and thank you all for your time in advance!
    Regards.
    Tim

    Here is the intial code when I choose "Request Selection through Routine", please help me on how to choose the specific request and delete them in this routine.
    program conversion_routine.
    Type pools used by conversion program
    Global code used by conversion rules
    $$ begin of global - insert your declaration only below this line  -
    TABLES: ...
    DATA:   ...
    $$ end of global - insert your declaration only before this line   -
        InfoCube        = ZPC_DEL_REQ_ZBPS_C01
    form compute_ZPC_DEL_REQ_ZBPS_C01
      tables l_t_request_to_delete structure rsreqdelstruc
      using l_request like rsreqdone-rnr
      changing p_subrc like sy-subrc.
    *Insert Source Code to decide if requests should be deleted.
    *All Requests in table l_t_request_to_delete will be deleted
    *from Infocube ZPC_DEL_REQ_ZBPS_C01.
    *Add new requests if you want to delete more (from this cube).
    *Remove requests you did not want to be deleted.
    $$ begin of routine - insert your code only below this line        -
         loop at l_t_request_to_delete.
         endloop.
         clear p_subrc.
    $$ end of routine - insert your code only before this line         -
    endform.

  • Error found when deleteing a leave request

    Hi,
    I am getting an error when I am deleting a leave request on ESS i.e.
    Work item 000000000000 cannot be read
    Please help me on the same.
    With Regards
    Gaurav Mittal

    Hi,
    No the thing is that I have to make it automatically for all the users, as all of them are facing the same problem. Please give a solution so that It will delete when the user want to delete his leave request from ESS automatically, not by going into R/3.
    With Regards,
    Gaurav

  • Deleting credit memo request is not possible - why?

    I cannot delete a credit memo request after cancelling a credit memo because system says there are subsequent documents created for this.
    But this is not the case of our regular order - dly - bililng scenario, one can cancel the invoice, reverse the delivery, delete the delivery and delete the sales order at last.
    My question here is, why does system allow us to reverse everything and delete in our regular sales - billing scenario and NOT in credit memo requests?
    Thanks in advance

    Hi
    Last week even i encountered the same situation.
    You cannot delete a Credit memo request. Instead you have to reject all the line items in Credit memo request.
    Make sure you have cancelled all the credit memo created in reference to teh Credit memo request. After all teh credit memo have been cancelled. Go to credit memo request and select all the line items in the Credit memo request and reject the line items.
    A pop up will appear select any of the reason and save the document. The credit memo request will be cancelled.
    You can see the difference in the Status of the credit memo request before cancellation and after cancellation.
    Before cancellation the status will be displayed as OPEN after cancelling the Credit memo request status will be blank.
    Hope this helps you
    Regards,
    Arun.S

  • ABAP to delete a specific request (last one) from a Cube

    Hello Experts,
    In a process chain, I would like to delete the last request in a cube before proceeding through with the rest of the PC. For that purpose, I have an ABAP program which will retrieve the "last request ID" from the cube, then call FM RSSM_DELETE_REQUEST to delete that request using that ID and the cube name.
    Once in a while, this deletion doesn't work: the request status is set to erroneous and the PC goes on with its life.
    I am currently investigating this issue and have no mean to easily test it, including getting the actual error code from the deletion FM if there is any, so I'm looking for leads or ideas on the possible reasons of such a problem : the cube is fairly simple and doesn't use compressed requests or aggregates. When I delete the request manually, there are no problems.
    Is there any other FM more appropriate to delete a specific request such as the last one? Or some best practices associated with this particular task... I'm very new to SAP Netweaver so don't hesitate to point out the obvious.
    Regards,
    Guillaume

    Hello Matthew,
    I may be wrong, but it seems that "Delete Overlapping Request" won't be enough to obtain the specific behavior I am looking for.
    To give a more detailed description of the context, this specific Cube is used as a history cube, and until a specific date, the latest request, and only this one, not the previous ones which came from the same DTP, must be deleted and then replaced with the new data loaded in the process chain. This data is a value which gets updated everyday but after a specific date (loaded from a table), it's no longer updated and considered "history" and the new data won't replace the previous request but will be added to the cube. Not sure if that was clear
    Here is an example.
    The cube contains three requests, A, B and C.
    At D1, a new request, D, is loaded and since D1 isn't the "specific day", C is deleted (being the last request) and replaced with D. => The cube contains A, B, D.
    At D2, a new request, E, is loaded, and this time time D2 is the "specific day", so D isn't deleted and E is loaded into the cube which now contains A,B,D,E.
    I hope this cleared up the actual purpose of this routine.
    Do you think there is a way (some conditions or something like that?) to set a "Delete Overlapping Request" to achieve this? This would be much simpler than the current solution.
    However, it would still be nice if I could understand what is wrong with the straightforward ABAP program we use in the first place.
    Regards,
    Guillaume

  • Repeating successful uploads - procedure to delete all the requests/packets

    Hi friends,
    I have a sort of hypothetical question, so never mind if this makes sense in real life (actually, I can think of a few situations where it makes sense, but only as a last resort).
    Let's say I want to repeat the upload that was successful (request is green in the cube). Or another point of view, let's say I want to delete all successful uploads except the initial one. The load is delta load and straight from R/3 into the cube (no DSOs or other objects in between).
    What do I need to do/check? I obviously need to delete the requests in the cube, but where else can the data be stored? PSA is probably the first place to check, but it seems to be empty most of the times. How do I delete all the data from the PSA? The BI delta queue is always empty when I look at it from the Administration menu. Again, must I delete it and how? I guess I should delete the delta queue in R/3 as well (through SBIW)?
    How do I do the same thing when there ARE other objects (like DSOs) before the cube?
    Thanks in advance for your advice/help.
    Kind regards,
    K.

    Probably it does not )
    Anyway, i was thinking of a hypothetical situation where an administrator accidentally repeats an upload at some point and thus doubles the figures. Then he does not notice it immediately and the system keeps loading requests for some time.
    I actually wanted to predict a solution to this problem, since it would be difficult (if not impossible) to find the duplicate records, especially after "compress". I thought that simply deleting all the requests and reloading through normal delta would solve this hypothetical situation. But again, where and how to delete all (and be sure you deleted all) to ensure that the records will not be doubled.
    K.

Maybe you are looking for

  • Imessage 'not delivered' message!

    Hi all, Please, can somebody help me? I am on IOS 5 and all of my family are on IOS 5 too. we all have imessage enabled, yet when I try to send a message to either the ipod or ipad, from my iphone, I keep getting the message 'not delivered'. I have t

  • Can't open i tunes on my computer. I get the message "This version of i Tunes has not been correctly localized for this language..."

    can't open i tunes on my computer. I get the message "This version of i Tunes has not been correctly localized for this language..."

  • 5200, No Sound On Tv Recordings!

    When i set up a schedule of around 30 mins, I get NO SOUND when i playback the recording. This is so annoying because this is what I bought the card for. I installed the latest drives from nvidia. I am running a 3GHz P4, with 512k ddr ram on an ABIT

  • Rename file server

    Hi experts, Can anyone help me in this I want to select one file from application server and rename it in same location. Or copy the same file with another name guide me friends Regards

  • WLS hanger when calling EJB in second WLS

    Hello, I have a very strange problem I need to track down. The scenario is as follows: WLS6.1 SP3/Solaris 2.8 One WLS containing an EJB A (stateless session) that has Trx=Required on method_A, the second WLS that has an EJB B deployed (stateless sess