Long Pending Jobs

Current Business Process :
Unilever has got one contract per concessionaire (about 125 in total) and 450.000 cabinets approximately. Due to this amount of items there are lot movements along the year, assignments, transfers, lostu2026 All of them are managed by deliveries document, and most of them require an update of the concessionaire contract (in order to add the cabinet, delete or just maintain them).
Since the number of items and the deliveries are so many, the process of contract maintenance would be impossible to be done manually; and this is why a custom program has been developed.
Although there will be the possibility to execute the program manually, it is usually run daily through the YCAB_PROCESS_CONTRATTI job. The job run a custom program that collects those deliveries that are relevant for the Cabinet process (Z2_CABMSG2). Once done, it creates a new job with these deliveries as selection parameters of the custom program Z253408_CONTRACT.
The program Z253408_CONTRACT retrieves all data from the deliveries, creates a batch input session and updates the contract trough a call of the standard transaction VA42.
Problem:
We have a scenario last 2010 campaign year where the delivery is not processed by the Job on or before September 30, 2010. Since this is a long running, the said delivery where processed on campaign year 2011 u2013 around October 2010. With this, calculated dates are incorrectly determined. This scenario only shows that Long running Jobs for this process also impact on the dates to reflect in the contract -VA42.

Hi Raghu,
Thanks for your response...
Here is the process for your understanding.
This process is used in order to rent a cabinet to the concessionaire. The cabinet it is tran-ported physically the concessionaire but it remains under the property of comoany for the period of the agreement of the contract.
Sales Order>Delivery>Pick & GI>Updation of contract throgh a program>Invoice
Now answering to your questions one by one ..
1.The moment any deliveries is created and goods issue is done,immediately this delivery is ready for updating the contract.
I mean numbers of line item in deliveries are added in the contract through the schedule program.
Example:Suppose a Contract X with line item 10000 is existing for a customer A,now if a sales order and delivery is made for customer A and the delivery contains 50 line items then through the scheduled job run the contract gets updated and its line item becomes 10050.
2.No Deliveries are not getting updated.It is only contract which is updated.
3.There is no specific data based on which contract gets updated. The basis is only the delivery and Good issue.
I hope I have answered your question.
Looking for your help

Similar Messages

  • SAP R/3 Transports : How to handle long pending transports ?

    How to stop active transport process?
    Hi.
    Generally we transport only one TR at a time.
    If we find that any transport is stuck for any reason.
    How do we resolve this.
    When we tried to delete the Long pending transport entry, it says, long text not found. 
    The problem is, we started one transport. It got stuck for more than 30 min.
    and when we tried to delete the entry it was giving some error of long text not found.
    We tried to start another. And it also got stuck.
    How do we really handle such issues of transports.
    Though, one could say, restart of server, is the only option because there is nothing much can be done when the transport is done, one at a time, as a practice.
    Can sap not handle requests - one by one, even if the practice is to transport one TR at a time .
    Why is the system getting confused and blocks further transport requests too.
    Can anyone advise.
    Thanks
    indu

    How to stop active transport process?
    Hi.
    Generally we transport only one TR at a time.
    If we find that any transport is stuck for any reason.
    How do we resolve this.
    When we tried to delete the Long pending transport entry, it says, long text not found. 
    The problem is, we started one transport. It got stuck for more than 30 min.
    and when we tried to delete the entry it was giving some error of long text not found.
    We tried to start another. And it also got stuck.
    How do we really handle such issues of transports.
    Though, one could say, restart of server, is the only option because there is nothing much can be done when the transport is done, one at a time, as a practice.
    Can sap not handle requests - one by one, even if the practice is to transport one TR at a time .
    Why is the system getting confused and blocks further transport requests too.
    Can anyone advise.
    Thanks
    indu

  • Re:How to determine the long running jobs in a patch

    Hi ,
    How to determine the long running jobs in a patch .
    Regards

    Hi,
    Check the below MY ORACLE SUPPORT note:
    Note.252422.1 .... Check Completed Long Running Jobs In Oracle Apps.
    Best regards,
    Rafi

  • 4S Preorder - Money no longer pending

    I ordered a 4S on the release day, mid morning, got the confirmation email through shortly after.  All is peachy.
    Except... The £500 is no longer pending in my bank account, and order status still says "processing".
    Anyone esle in the UK experiencing this?  Am really concerned that my new toy will not arrive soon.  Especially when people in Germany have already received theirs!
    I've put up with a painfully slow iphone 3G since the contract ran out in March as I (like the rest of the universe) had anticipated a summer release of a new phone.
    I CANT WAIT ANY MORE.  I WANT MY NEW PHONE NOW PLEASE THANKY YOU MUCHLY

    Did you set up iCloud on your Mac and turn on syncing for contacts and calendars (see http://www.apple.com/icloud/setup/mac.html) and do the same for your phone (see http://www.apple.com/icloud/setup/ios.html)?

  • Java Printing Service (JPS) How to get printer status and pending jobs list

    Hi,
    I am trying to determine what is the current status of a printer in my computer as well as what is the list of pending printing jobs at any moment.
    I want to monitor activity on a printer in my computer, so I can capture and log the jobs that are sent to my printer over time.
    I would like to do so by monitoring the printer pending jobs list (if that can be retrieved through any java method) and make a log of changes in that list.
    Any advice on how to get the list of pending jobs of a printer?
    I checked the API and JobState class seems to be a descriptor of one single job... I suppose the method to retrieve a list of pending jobs in a printer would return an array of JobState objects... but I have not being able to find yet such method...
    Thanks in advance,
    JN

    Moderator Action:
    This post has been moved from the Java Programming,
    to the ADF forum, for closer topic alignment.
    *... and Comment:*
    Get help from people that work with ADF.
    They may have already done something like this.

  • What dictionary to see how long a job has run??

    Hi, all.
    I would like to check how long a job has run.
    dba_scheduler_job_run_details.LOG_DATE - dba_scheduler_job_run_details.ACTUAL_DATE
    = the time a job has run.
    Is this right?
    Thanks and Regards.

    Dear Chandra.
    Thanks for your reply.
    Have a good night.
    Best Regards.

  • Prgess indicator on long running jobs

    I have an FX application that is directly linked to my database. The program allows all DML operations as well as user defined actions (action commands and various other methods). I have the same application running in Swing, SWT, Canoo ULC and al works just fine. In each of the other front end types, the application automatically displays a busy indicator when a long running job is executed. Now I need this in FX.
    My application is basically a Rich Client framework which allows the same business logic and forms to have different front ends depending on customer requirements. The application is built by customers in a 4GL style development tool. The application is actually built at run time and the data is provided by the user through various services. Because I am building an FX program for a framework, I don't know when the user may execute a long running job when, for example, a button is pressed. I have full control over the retrieval and modification of data but not user interaction. I am therefore looking for a busy indicator that comes automatically when the main thread is waiting.
    Any help would be great!

    Hi guys and thanks for your answers
    I may have stretched the mark with "long running jobs" by these I mean a database query, a price calculation, order process etc. These are standard jobs that are issued on a Rich Client application. Basically I have a screen which will execute a query, and I want to give the user feedback when the query is executing so that he doesn't think that the application has hung. In Swing I have done this by creating my own event queue with a delay timer:
    public class WaitCursorEventQueue extends EventQueue implements DelayTimerCallback
        private final CursorManager cursorManager;
        private final DelayTimer    waitTimer;
        public WaitCursorEventQueue(int delay)
            this.waitTimer = new DelayTimer(this, delay);
            this.cursorManager = new CursorManager(waitTimer);
        public void close()
            waitTimer.quit();
            pop();
        protected void dispatchEvent(AWTEvent event)
            cursorManager.push(event.getSource());
            waitTimer.startTimer();
            try
                super.dispatchEvent(event);
            finally
                waitTimer.stopTimer();
                cursorManager.pop();
        public AWTEvent getNextEvent() throws InterruptedException
            waitTimer.stopTimer(); // started by pop(), this catches modal dialogs
            // closing that do work afterwards
            return super.getNextEvent();
        public void trigger()
            cursorManager.setCursor();
    }I then implemented this into my application like this:
    _eventQueue = new WaitCursorEventQueue(TIMEOUT);
    Toolkit.getDefaultToolkit().getSystemEventQueue().push(_eventQueue);Now each time the application waits for a specific time, the cursor will become a wait timer. This give s the user a visual feedback so that he knows that the application is working and not just hung. By doing this, I do not need to wrap each user callout in a timer. Much easier like this!
    I would like to implement the same in FX.
    Edited by: EntireJ on Dec 15, 2011 12:34 AM

  • Long Running Jobs based on average time of last 5 run

    Hi Experts,
    I need a query to find out the Long Running Jobs, based on average time of last 5 run.
    Could you please help me.
    Thanks in advance. 
    --------------------------------- Devender Bijania

    SELECT 
        [sJOB].[name] AS [JobName]
        , CASE 
            WHEN [sJOBH].[run_date] IS NULL OR [sJOBH].[run_time] IS NULL THEN NULL
            ELSE CAST(
                    CAST([sJOBH].[run_date] AS CHAR(8))
                    + ' ' 
                    + STUFF(
                        STUFF(RIGHT('000000' + CAST([sJOBH].[run_time] AS VARCHAR(6)),  6)
                            , 3, 0, ':')
                        , 6, 0, ':')
                    AS DATETIME)
          END AS [LastRunDateTime]
        , CASE [sJOBH].[run_status]
            WHEN 0 THEN 'Failed'
            WHEN 1 THEN 'Succeeded'
            WHEN 2 THEN 'Retry'
            WHEN 3 THEN 'Canceled'
            WHEN 4 THEN 'Running' -- In Progress
          END AS [LastRunStatus]
        , STUFF(
                STUFF(RIGHT('000000' + CAST([sJOBH].[run_duration] AS VARCHAR(6)),  6)
                    , 3, 0, ':')
                , 6, 0, ':') 
            AS [LastRunDuration (HH:MM:SS)]
          , CASE [sJOBSCH].[NextRunDate]
            WHEN 0 THEN NULL
            ELSE CAST(
                    CAST([sJOBSCH].[NextRunDate] AS CHAR(8))
                    + ' ' 
                    + STUFF(
                        STUFF(RIGHT('000000' + CAST([sJOBSCH].[NextRunTime] AS VARCHAR(6)),  6)
                            , 3, 0, ':')
                        , 6, 0, ':')
                    AS DATETIME)
          END AS [NextRunDateTime]
    FROM 
        [msdb].[dbo].[sysjobs] AS [sJOB]
        LEFT JOIN (
                    SELECT
                        [job_id]
                        , MIN([next_run_date]) AS [NextRunDate]
                        , MIN([next_run_time]) AS [NextRunTime]
                    FROM [msdb].[dbo].[sysjobschedules]
                    GROUP BY [job_id]
                ) AS [sJOBSCH]
            ON [sJOB].[job_id] = [sJOBSCH].[job_id]
        LEFT JOIN (
                    SELECT 
                        [job_id]
                        , [run_date]
                        , [run_time]
                        , [run_status]
                        , [run_duration]
                        , [message]
                        , ROW_NUMBER() OVER (
                                                PARTITION BY [job_id] 
                                                ORDER BY [run_date] DESC, [run_time] DESC
                          ) AS RowNumber
                    FROM [msdb].[dbo].[sysjobhistory]
                    WHERE [step_id] = 0
                ) AS [sJOBH]
            ON [sJOB].[job_id] = [sJOBH].[job_id]
            AND [sJOBH].[RowNumber] = 1
    ORDER BY [LastRunDateTime] desc,
             [LastRunDuration (HH:MM:SS)] DESC
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Trigger Alert for Long Running Jobs in CPS

    Hello,
    I am currently trying to make a trigger so that I can monitor the long running jobs in the underlying ERP. Can you help me on the APIs to use?
    Im trying to modify my previous alert - Chekcing of failed jobs
      // only check error jobs
      if (jcsPostRunningContext.getNewStatus().equals(JobStatus.Error)) {
        String alertList = "email address ";
        String [] group = alertList.split(",");
        for (int i = 0; i < group.length; i++) {
          JobDefinition jobDefinition = jcsSession.getJobDefinitionByName("System_Mail_Send");
          Job aJob = jobDefinition.prepare();
          aJob.getJobParameterByName("To").setInValueString(group<i>);
          aJob.getJobParameterByName("Subject").setInValueString("Job " + jcsJob.getJobId() + " failed");
          aJob.getJobParameterByName("Text").setInValueString(jcsJob.getDescription());
    Im trying to look for the API so I can subtract the system time and the start time of the job and compare it to 8 hours?
    if (jcsPostRunningContext.getNewStatus().equals(JobStatus.Error)) {    <--  Can I have it as ( ( Start Run Time - System Time ) > 8 Hours )
    Or is there an easier way? Can somebody advise me on how to go about this one?

    Hi,
    You can do it using the api:
    if ((jcsJob,getRunEnd().getUTCMilliSecs() - jcsJob.getRunStart().getUTCMilliSecs()) > (8*24*60*1000))
    This has the drawback that you will only be notified when the job finally ends (maybe more then 8 hours!).
    The more easier and integrated method is using the Runtime Limits tab on your Job Definition or Job Chain. This method can raise an event when the Runtime Limit is reached. The event can trigger your notification method.
    Regards Gerben

  • Eprint shows pending jobs - will not print

    Suddenly my apps stopped printing - eprint shows pending jobs - event log reports 72236. No changes were made on my settings in months. All local and wireless printing from PC works - printer thinks its connected to the internet. 

    They are currently doing some updates on the server which may affect printing apps. You might try to power cycle the router and printer if you haven't done this already.
    If I helped you at all it would be great if you clicked the blue kudos star!
    If I solved your post please mark it as solved to help others.
    I'm a printer tech with HP.

  • How to determine how long dbms_job jobs take to execute?

    I have a number of dbms_Jobs (snapshot refresh jobs created automatically by creating the refresh groups) and I'm required to determine how long the jobs are running to verify some timelines. I was hoping it would be as easy as recording the last_date and next_date frequently and when there are changes, use the delta to determine (since the jobs are supposed to be scheduled from the completion of the previous job) but this doesn't appear to be working. I created a simple job that just sleeps for 15 seconds with an interval of 5 minutes, and (next_date - last_date) is always 5 minutes. What I would have expected was
    Job starts at 00:00:00 (last_date)
    Runs for 15 seconds, ends at 00:00:15
    Scheduled out 5 minutes: 00:05:15 (next_date)
    In that example next_date - last_date would be 5:15, and knowing the interval was 5 minutes I could determine it ran for 15 seconds.
    In practice though the current next_date becomes the next last_date (as if the interval is being calculated when the job starts, not completes), so it always shows 5 minutes which is just the interval.
    Short of not using the default jobs, and just submitting my own to do the refresh where I add some logic to record the duration, is there a good way to get this information? I'm using 10.2.0.4.
    Thanks

    Did you check out the TOTAL_TIME column of the DBA_JOBS view?
    :p

  • D110A Not Connected - Pending Jobs will not cancel

    Brand new printer, no setup problems.  Tried printing a calendar from the App, failed.  Now there are pending jobs from the 3 failed calendar attempts as well as the .pdf I sent via email.  I did receive the "delayed" message reply when I sent the .pdf.
    So far, not impressed at all because I haven't seen ePrint work.  My printer registered and printed the page with its email address.  Anyone have any idea why our printers are "Not Connected"?

    Tah-Dah!  
    Glad you worked it out.  No need to stand in the corner, we've all done something like that. 
    I am an HP employee.

  • How to research a long running job from 3 days ago

    Re: How to research a long running job from 3 days ago
    Client called to say that a job that normally runs for 6 hours ran for 18 hours on 11/01. 11/01 was a Saturday, and end of month. The long running job writes to a log and I can from the log that that the problem started right around 10:43am. Every step
    before 10:43 was taking the normal amount of time. Then at 10:43 a step that takes seconds hung for 12 hours. After 12 hours the step finished and the job completed successfully.
    I looked at the SQL Log, Event Log, Job History (for all jobs). What else can I look at to try and resolve an issue that happened on 11/01/2014?

    It does execute an SSIS package.
    Personally I feel this as kind of bug in SSIS package but I am not expert in SSIS so I would move it to SSIS forum. Please update your question giving complete information what SSIS package does.
    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it
    My Technet Wiki Article
    MVP

  • Standard Manager: Pending Jobs

    Hi,
    We got an alert that there were around 300 pending jobs on standard manager around 4 AM. We logged in to check the process after 1.5 hours and found that.. it itself managed to overcome the bottleneck.
    I would like to investigate and get some details on why it happened? and how can we prevent them in future. I need guidelines to investigate and find the root cause.
    EBS - Oracle 11.5.10.2
    DB- 10g
    3 Nodes for Apps tier with 1 using only for concurrent manager.
    OS- Linux
    Thanks

    Hi,
    Please see (Note: 164978.1 - REQCHECK.sql - Diagnostic Script for Concurrent Requests) and process duration and its status -- The scripts should provide you with the list of requests. Moreover, you could refer to Note: 134033.1 and run ANALYZEPENDING.SQL script for your pending requests.
    For ORA-1555 error, please see these docs.
    Note: 1005107.6 - ORA-01555: snapshot too old - Causes and Solutions
    Note: 269814.1 - ORA-01555 Using Automatic Undo Management - Causes and Solutions
    Note: 181228.1 - ORA-1555 When Running Concurrent Requests in Oracle Applications
    Thanks,
    Hussein

  • How to run long background jobs in ADF applications

    Hi,
    I'm looking for some guidance on how to run an asynchronous job within an ADF application with proper progress notification in the current page.
    Let's assume we have some long running task (e.g. generating notification emails from a bunch of rows in my view object and send them) with the corresponding classes implemented in the DataModel as part of the business logic (e.g. a class that sends a mail to a given recipient).
    Let's assume all the relevant methods can be exposed in the appmodule's client interface so they can be invoked from the ViewController if needed.
    In my jspx page I have implemented the standard af:poll+af:progressIndicator mechanism to give feedback about the running task, backed by a custom BoundedRangeModel
    with methods getValue() and getMaximum(). This works.
    However, all the examples I've found on the net are very very simplistic and only deal with simple counters or countdowns.
    But how to actually implement the whole mechanism in a real life scenario? How do I run the job itself and make it give feedback to my BoundedRangeModel class
    (which in turn is used by the progressIndicator on the page)?
    Is there a recommended way to do this within ADF apps? I've tried to search something about asynchronous method execution in ADF but there seems to be nothing out there.
    Do I need to use standard Java techniques such as a separate Thread running a Runnable worker? Should I use an observer/observable pattern to notify BoundedRangeModel
    and update its internal variables (current value and maximum)? Would this work across a Datacontrol interface?
    Is anything of this allowed within the ADF framework or I'm just gonna break the whole framework model because do-it-yourself concurrent programming isn't allowed in a multithreaded pooled environment?
    Some explanation about the current recommended best practices and/or some practical examples or articles about that would be great.
    (BTW: I'm using version 11.1.1.2.0 and yes, I've checked the contextual events thing too, but that's just an inter-page communication mechanism so it has has nothing to do with what I need to do.)

    Hi
    I have implement a "Runner" class to generate a pdf to every customer of a mailmerge file, which was uploaded. Its simply easy to do something like this. Just add a button, bound the button with a methode out of you applicationModule and start your implementing Thread in this methode.
    public class Runner implements Runnable {
        private String docFileName;
        private String csvFileName;
        private byte[] csvData;
        private byte[] docData;
        private FtpClient client;
        private String category;
        public Runner(String category, String docFileName, byte[] docData,
                      String csvFileName, byte[] csvData, FtpClient client) {
            this.category = category;
            this.docFileName = docFileName;
            this.docData = docData;
            this.csvFileName = csvFileName;
            this.csvData = csvData;
            this.client = client;
        public void run() {
    }In your applicationModule, you can start your Runner like this:
            Runner runner =
                new Runner(category, docFileName, docData, csvFileName, csvData, client);
            new Thread(runner).start();And to the problem with your progressBar. I would create a managedBean with a HashMap<String, HashMap<String, String>>. Every thread you start, add a HashMap<String, String> to this hashmap with the id of the username/session/whatever (must be bound to the user, which starts the thread). This added HashMap<String, String> should be used by your thread to put some status-information into. Now you can try to bind this info to your progressBar.
    I dont know if this will work, it is just an idea ;-)
    Regards
    Majo

Maybe you are looking for