Simple threaded job scheduler memory issues

Hi,
I'm working on a very simple job scheduler that triggers some processes to be run (based on a config file) and will spawn a thread to run the command every X number of seconds.
My initial version of the code showed an obvious memory leak, starting at about 20MB usage and increasing after running overnight to about 80MB... I have since stripped down the program to a very minimal bit of code that will basically create 100 job objects and trigger threads on each of them to go way and run a Cygwin sleep.exe for 5 seconds and then return, once for each job every 15 seconds. After running the profiler with this within Netbeans, the VM Memory utilisation graph showed a very similar graph, and exhibited the same memory utilisation as my previous version.
I've tried to tweak the code as much as I can with my level of knowledge, so now I'm hoping someone might be able to help out to see if there are any flaws in my code, or any improvements that I could make in order to resolve my problem?
Below is the code for the 3 classes that I'm using:
Main class:
package javascheduler;
import java.util.ArrayList;
public class Main {
    private ArrayList<Job> allJobs = new ArrayList();
    public static Main instance;
    public static void main(String[] args) {
     if (instance == null) {
         instance = new Main();
     instance.loop();
    public Main() {
     // Create lots of jobs
     for (int i = 0; i < 100; i++) {
         Job j = new Job(i);
         allJobs.add(j);
     System.out.println("Created 100 jobs");
    private boolean loop() {
     // Main loop
     int i = 0;
     int x = 0;
     while (true) {
         x++;
         try {
          Thread.sleep(500);
         } catch (InterruptedException ex) { }
         i++;
         if(i >= 10) {
          Runtime.getRuntime().gc();
          i=0;
         for(Job j : allJobs) {
          long now = System.currentTimeMillis();
          // Jobs run every 15 secs
          if(now >= j.getLastRunTime() + 15000 && !j.isRunning()) {
              j.runJob();
}Job class:
package javascheduler;
public class Job {
    private NativeJob runningJob = null;
    private String command = "c:/cygwin/bin/sleep.exe 5";
    private int jobId;
    private long lastRunTime = -1;
    public Job(int id) {
     jobId = id;
    public void runJob() {
     System.out.println("runJob started" + jobId);
     lastRunTime = System.currentTimeMillis();
     runningJob = null;
     runningJob = new NativeJob(command,jobId);
     runningJob.start();
     System.out.println("runJob returned" + jobId);
    public long getLastRunTime() {
     return lastRunTime;
    public boolean isRunning() {
     if(runningJob == null) {
         return false;
     } else {
         if(runningJob.isRunning()) {
          return true;
         } else {
          runningJob = null;
          return false;
}NativeJob class:
package javascheduler;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class NativeJob extends Thread {
    String command;
    int jobId;
    boolean running = false;
    Runtime r = Runtime.getRuntime();
    public NativeJob(String command, int i) {
     super();
     this.command = command;
     this.jobId = i;
    @Override
    public  void run() {
     running = true;
         try {
          System.out.println("Running command " + jobId);
          Process p;
          p = r.exec(command);
          int returnCode = p.waitFor();
          p.getErrorStream().close();
                p.getInputStream().close();
                p.getOutputStream().close();
         } catch (IOException ex) {
          Logger.getLogger(NativeJob.class.getName()).log(Level.SEVERE, null, ex);
         } catch (InterruptedException ex) {
          Logger.getLogger(NativeJob.class.getName()).log(Level.SEVERE, null, ex);
         System.out.println("Finished command " + jobId);
         running = false;
    public boolean isRunning() {
     return running;
}Thanks
Adam

Thanks ejp and sabre.
I've made some changes to the code following your suggestions, and am now trying out jconsole on windows (rather than the Netbeans profiler).. I'll post back after I've had it running a little while.
If you could take a quick look at the updates I've made that's be very much appreciated.
Main class:
package javascheduler;
import java.util.ArrayList;
public class Main {
    private ArrayList<Job> allJobs = new ArrayList();
    public static Main instance;
    public static void main(String[] args) {
     instance = new Main();
     instance.loop();
    public Main() {
     // Create lots of jobs
     for (int i = 0; i < 100; i++) {
         Job j = new Job(i);
         allJobs.add(j);
     System.out.println("Created 100 jobs");
    private boolean loop() {
     // Main loop
     int i = 0;
     int x = 0;
     while (true) {
         x++;
         try {
          Thread.sleep(500);
         } catch (InterruptedException ex) { }
         i++;
         if(i >= 10) {
          Runtime.getRuntime().gc();
          i=0;
         for(Job j : allJobs) {
          long now = System.currentTimeMillis();
          // Jobs run every 15 secs
          if(now >= j.getLastRunTime() + 15000 && !j.isRunning()) {
              new Thread(j).start();
}Job class:
package javascheduler;
import java.io.IOException;
public class Job implements Runnable {
    private String[] command = { "c:/cygwin/bin/sleep.exe","5" };
    private int jobId;
    private long lastRunTime = -1;
    Runtime r = Runtime.getRuntime();
    boolean isRunning = false;
    public Job(int id) {
        jobId = id;
    public void run() {
        System.out.println("runJob started" + jobId);
        isRunning = true;
        lastRunTime = System.currentTimeMillis();
        try {
            Process p = r.exec(command);
            StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), "ERROR");
            StreamGobbler outputGobbler = new StreamGobbler(p.getInputStream(), "OUTPUT");
            errorGobbler.start();
            outputGobbler.start();
            int exitVal = p.waitFor();
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        System.out.println("runJob returned" + jobId);
        isRunning = false;
    public long getLastRunTime() {
        return lastRunTime;
    public boolean isRunning() {
        return isRunning;
}Edited by: Adamski2000 on Aug 2, 2010 3:12 AM

Similar Messages

  • Job Scheduler Timer issue in Cisco Prime Infrastructure 1.2 ?

    Has anyone run into this issue where the job scheduler in CPI 1.2 report that the job that is being scheduled is before the current time even though it isn't ?
    This only started happening after our time change yesterday.  The system is setup for the correct time (NTP) this is confirmed in the app and also on the CLI console access (show clock)
    Anyway we get this error message (attachment) in the lower right corner of the attachement.
    It's not allowing the jobs to be scheduled.    Rebooted the system yesterday and thought that it fixed it, but evidently I tried another scheduled job today and it's got the same issue.
    TAC Case is already opened on this but I thought I'd ask here as well.
    Regards,
    Tom W.

    I'm answering my own question:  upgrade to 1.3 from 1.2 and the problem is resolved.  Rebooting the VM on 1.2 did help for 1 day but then the problem came back, so my advice is simply to upgrade to 1.3 which I would have done initially if I had known that 1.3 was available. Hope this helps.  The problem itself in 1.2 is unclear what is causing it because NTP and the APP and the underlying time in the console (cli) are all good; so somewhere in the scheduler it may have gone off track after the daylight savings time shift this past week.  Bottom line: 1.3 upgrade and keep hope alive, bro.

  • Regarding Memory issues((error) while scheduling the job

    Hi Friends
    I am  facing memory issue while rerunning BODS jobs in production.As we have rapid mart when jobs got failed i rerun the
    job suddenly job got failed and  in logs i found Memory issue
    please help me what i have to do in steps
    Thanks

    I think there is no one solution to buffer pool issue. Buffer pool issue happens due to many reasons like how you design the data flow, requirement of push down or even insufficient memory in the running environment.
    You can check by checking 'collect statistics for optimization' during running the job. Also in the data flow, try changing from pageable cache to memory cache by right clicking and selecting properties.  The below link give some details on caching, might be helpful.
    https://wiki.sdn.sap.com/wiki/display/BOBJ/CachinginDI
    Arun

  • Issue in Job Scheduling

    Hi Friends,
    I Developed a Bdc Program which is Daily backgroud Job Scheduled, But in my Program I am using GUI_DOWNLOAD to download
    the data which is in internal table to a flat file. Issue is the Background Job is failing, because iam using the FM-->GUI_DOWNLOAD
    so, Please help me is there any way to download the internal table data to a Flatfile without using FM-->GUI_DOWNLOAD. or pls
    help me with any links.
    Regards,
    Neetha
    Moderator message: FAQ, please search for previous discussions of this topic.
    Edited by: Thomas Zloch on Aug 4, 2011 12:03 PM

    The issue was with RFC user Authorization.

  • Archive Complete, but delete job not scheduled. Issue with Archives now

    As someone tried at work to schedule archive/delete process, we are finding issues now.
    We have job scheduled for Archive but not delete. The job is archiving the messages, Meanwhile because of the growing disk space, folks deleted the archive files.
    Now Archive is Complete, but with out Deletion.
    So how do we start from scratch again
    Also if I understood correctly after deleting the infostructure the session goes into error/red light since we can no longer build the related data from the archives due to the missing infostructures right?

    Dear friend of XI,
    I fully understand the issue; sure you cannot use RSXMB_DELETE_ARCHIVED_MESSAGES as the archive files have been deleted.
    Tha paradigma of archving is that once the write phase is complete the deletion phse must complete at any rate. As this is impossible for the deleted archive files there is no way in the standard to erase the incomplete archive runs from management overview in SARA. In case you would like to clear the entries in SARA please open an OSS message such that SAP can take a look into the affected system and evaluate an individual solution for you.
    irrespective of whether you clear the management entries in SARA you can simply run another archive session. Please note that the interfaces action (field ITFACTION) reflects the action to be taken for an indivirual message. It does not depict a state, in particular it does not mean that the message has been archived already. The interface action is determined right when the mesage enters the Integration Server. Contrary, the information on whether the message has been archived alteady (or still needs to) is stored in a different statuis field.
    Best regards,
    Harald Keimer

  • SSIS package works in development environment but fails when job scheduler executes, file path invalid

    SIS package works in development environment but fails when job scheduler executes, file path invalid
    Relatively simple package to get OLE-DB connection to MS FoxPro 9.0 DB
    The failure in the job log states that the path is invalid its a network path (\\192.168.1.xxx\foldername) this has been run several ways with the remote computer being mapped as a network drive and through the \\ notation described above.
    Thinking it was a security issue between the SQL agent account and my account I tested by subsitution myself as a proxy account for the agent when running this job, again same result failed on network path.
    One issue I see is that the remote computer is running Server 2000 (legacy software incompatable with newer versions) 
    Is it possible that this is a security issue, since if i understand correctly the current MS domain security model didn't exist until Server 2003.

    Hi REIData,
    Have you got the issue resolved? Based on your description, please make sure the target folder is shared properly. If the computer on which the SQL Server Agent job runs doesn’t join the domain as the server that hosts the shared folder, you have to share
    the folder with everyone by adding “Everyone” to the people list on the File Sharing page of the folder and assign "Read/Write" permission to it.
    Regards,
    Mike Yin
    TechNet Community Support

  • RAR Job Scheduler Status

    hi,
    In RAR I have a message in the Job Scheduler which says :
    Job Scheduler Status: unknown error
    therefore jobs are not working...
    thanks for help me
    actual config :
    GRC AC 5.3 SP10
    Edited by: Aurélien GARDE on Jan 21, 2010 3:18 PM

    Hi Aurélien GARDE ,
       I am not very clear about your question, however I am assuming that you are getting the error when running the Background Job , If this is the case  ,please check following
    1)     http://:/sap/CCBgStatus.jsp - it should come up with status u201Crunningu201D
    2) Check Analysis Engine Daemon Manager
    Type URL http://:/sap/CCADStatus.jsp - it should come up with
    status  u201Crunningu201D By default you should see 3 bg job threads and 5 web services threads per server
    Could you please let us know the findings ,If there is blank screen for step 2, then you need to apply note number 999785 , which will resolve your issue.
    Thanks & Regards
    Umashankar T

  • Weblogic job scheduler not works in cluster

    I have configured a cluster with two managed servers. I have configured a datasource for job scheduler for this cluster
    if I shut down one server job does not start on other server of cluster.
    manged server logs give below exception
    Exception in thread "Thread-211" java.lang.NullPointerException
         at com.mysql.jdbc.Statement$1.run(Statement.java:96)
    If I remove the option 'datasource for job scheduler' in Clsuter->MyServer->scheduling , this exception goes.
    job scheduler table weblogic_timers also remains empty.
    I feel that there is some issue with the schema of weblogic_timers. How can I see something in log to know what is the issue.
    Please help I am struggling from a week.

    I have configured a cluster with two managed servers. I have configured a datasource for job scheduler for this cluster
    if I shut down one server job does not start on other server of cluster.
    manged server logs give below exception
    Exception in thread "Thread-211" java.lang.NullPointerException
         at com.mysql.jdbc.Statement$1.run(Statement.java:96)
    If I remove the option 'datasource for job scheduler' in Clsuter->MyServer->scheduling , this exception goes.
    job scheduler table weblogic_timers also remains empty.
    I feel that there is some issue with the schema of weblogic_timers. How can I see something in log to know what is the issue.
    Please help I am struggling from a week.

  • Application is not working due to memory issue

    Hi Friesnds,
    Kindly help me regarding settings in java. Scenario is like that. I have one server having two jboss versions (jboss-4.2.3 GA and jboss- 3.2.6). Each having java memory (JVM settings) 1 GB. The total memory of that server is 3 GB.
    Problem is that every two days my application is not working due to memory issue. Once i freed the memory (through run the commands - (1). sync
    (2). echo 3 > /proc/sys/vm/drop_caches
    Application works fine.
    I heared that the above command (echo 3 > /proc/sys/vm/drop_caches) can't run frequently because of server crash.
    Kindly help me regarding this issue and provide the resolution.
    Let me know if you need more information from my side.
    Thanks
    Ashish Shukla

    All of the above.  I tested on 4 different networks and had no luck, I also had friends test my network and the other networks with their iPhones and all had no issues using FaceTime.
    Also after I wiped my phone (erased all content and settings) I was able to successfully initiate a FaceTime call with no changes to my network and was also able to initiate another call when connected to another previously tested network that didn't work before.  Once I restored from backup though, FaceTime stopped working again.
    I did find this discussion: https://discussions.apple.com/thread/5163024?start=0&tstart=0
    and tried the suggestions found there too.  That discussion describes my issue I am having as well.

  • How to correct internal memory issue

    This is related to the standard SAP program SAPRCKM_MR11 in which there is one include RCKM_MR11F01 which contains a select statement :
    SELECT *
         INTO CORRESPONDING FIELDS OF TABLE t_bhistory
         FROM v_ckmlgrir
         WHERE bukrs EQ p_bukrs
         AND   ebeln IN r_ebeln
         AND   ebelp IN r_ebelp
         AND   lifnr IN r_lifnr
         AND   ekorg IN r_ekorg
         AND   ekgrp IN r_ekgrp
         AND   werks IN r_werks
         AND   bedat IN r_bedat
         AND   bsart IN r_bsart
         AND   bstyp IN ht_bstyp
         AND   vgabe IN ('1', '2', '3')  "Wareneingang/Rechnung/Nachbel.
         AND   loekz_k NE 'L'            "Loeschkz. Bestellkopf
         AND   loekz_p NOT IN ('L', 'S') "Loeschkz. Bestellposition
         AND ( frgrl   EQ space          "Freigabe unvollständig
         OR    frgrl   IS NULL )
         AND ( memory  EQ space          "Bestellung noch nicht komplett
         OR    memory  IS NULL )         "falls Feld nicht initialisiert
         AND ( xwoff   EQ space          "Wertbildung offen
         OR    xwoff   IS NULL )         "falls Feld nicht initialisiert
    bei Dienstleistungsbestellungen werden mehrfach kontierte
    Bestell-Pos. gegen das WE/RE-Konto gebucht, deshalb dürfen
    mehrfach kontierte Pos. nicht generell überlesen werden.
          AND   vrtkz   EQ space          "keine Mehrfachkontierung
         AND   wepos   EQ 'X'            "Wareneingang wird erwartet
         AND   repos   EQ 'X'            "Rechnung wird erwartet
         AND   weunb   EQ space          "Wareneingang unbewertet
         AND   stapo   EQ space.         "Item is not statistical
    There is one job FMT612P which contains this standard program and the job is going to abend
    because of the select statement given above which is because of some memory issue with the internal table t_bhistory, please give us a suggestion how we can avoid the same.

    Hi,
    I am also facing the same issue. We had copied this report into a custom report and are trying to improve performance by breaking the view into separate queries on EKKO, EKPO and EKBE.
    Can someone advise the best way to deal with this view v_ckmlgrir or a best approach to break down the view into separate queries.
    Thanks
    Edited by: Shreyas Shrikant Kulkarni on Jun 29, 2009 4:56 PM

  • Error in Backup job scheduling in DB13

    Hi All
    Backup job scheduled in DB13 kicks error ,I am using Oracle as database and ERP6.0
    database and application are on diffrent servers.Before it was working fine,I didn't changed any password
    I can run backupjob sucessfully directly from BRtools on database server.Please provide any hint
    Job started
    Step 001 started (program RSDBAJOB, variant &0000000000060, user )
    No application server found on database host - rsh/gateway will be used
    Execute logical command BRBACKUP On host DLcSapOraG08
    Parameters:-u / -jid INLOG20090120204230 -c force -t online -m incr -p initerd.sap -w use_dbv -a -c force -p in
    iterd.sap -cds -w use_rmv
    BR0051I BRBACKUP 7.00 (31)
    BR0128I Option 'use_dbv' ignored for 'incr'
    BR0055I Start of database backup: bdztcorv.ind 2009-01-20 20.42.31
    BR0484I BRBACKUP log file: D:\oracle\ERD\sapbackup\bdztcorv.ind
    BR0280I BRBACKUP time stamp: 2009-01-20 20.42.32
    BR0301E SQL error -1017 at location BrDbConnect-2, SQL statement:
    'CONNECT /'
    ORA-01017: invalid username/password; logon denied
    BR0310E Connect to database instance ERD failed
    BR0280I BRBACKUP time stamp: 2009-01-20 20.42.32
    BR0301E SQL error -1017 at location BrDbConnect-2, SQL statement:
    'CONNECT /'
    ORA-01017: invalid username/password; logon denied
    BR0310E Connect to database instance ERD failed
    BR0056I End of database backup: bdztcorv.ind 2009-01-20 20.42.32
    BR0280I BRBACKUP time stamp: 2009-01-20 20.42.32
    BR0054I BRBACKUP terminated with errors
    BR0280I BRBACKUP time stamp: 2009-01-20 20.42.32
    BR0291I BRARCHIVE will be started with options '-U -jid INLOG20090120204230 -d disk -c force -p initerd.sap -cds -w use_rmv'
    BR0002I BRARCHIVE 7.00 (31)
    BR0181E Option '-cds' not supported for 'disk'
    BR0280I BRARCHIVE time stamp: 2009-01-20 20.42.33
    BR0301W SQL error -1017 at location BrDbConnect-2, SQL statement:
    'CONNECT /'
    ORA-01017: invalid username/password; logon denied
    BR0310W Connect to database instance ERD failed
    BR0007I End of offline redo log processing: adztcorw.log 2009-01-20 20.42.32
    BR0280I BRARCHIVE time stamp: 2009-01-20 20.42.33
    BR0005I BRARCHIVE terminated with errors
    BR0280I BRBACKUP time stamp: 2009-01-20 20.42.33
    BR0292I Execution of BRARCHIVE finished with return code 3
    External program terminated with exit code 3
    BRBACKUP returned error status E
    Job finished

    Hi,
    not sure if the recommendations given will address this issue.
    You are getting this error:
    BR0301E SQL error -1017 at location BrDbConnect-2, SQL statement:
    'CONNECT /'
    ORA-01017: invalid username/password; logon denied
    the log file indicates:
    > No application server found on database host - rsh/gateway will be used
    This indicated that the user that is connecting from the AS to the DB server is not properly configured to perform the DB tasks on it.
    So, first question would be to know if you have configured a gateway on the DB server and how, or if you are using remote shell.
    Second question, you can do backups on the DB server.
    > I can run backupjob sucessfully directly from BRtools on database server
    How did you run exactly the backup job (what is the exact command line, what is the exact OS user that executed it)?
    What is the OS of the DB server?
    I have reread your post, your OS is windows therefore you fall in the "typical" error in Windows.
    You have executed your backup as <sid>ADM and it works. Unfortunatelly, in windows, SAP is exectuted by SAPSERVICE<sid>, and this is the user who should be connecting to your DB server, and this is the user who cannot execute the backup.
    The fact that you can run the backup with <sid>ADM in Windows does not means that you have SAPService<sid> properly configured.
    For the error (see before) I think your ops$ user for this user is not properly configured in the DB server. take a look at the note mentioned by KT and pay attention to the SAPSERVICE<sid> configuration
    Edited by: Fidel Vales on Jan 24, 2009 12:45 AM

  • Background job schedule and mail triggering

    Hi Experts,
    I schedule a background job to run a custom program for project closure.The job is running successfully. But,the mail I am getting from this job run is same all the time (means it's showing same project closure again and again though I am running job for different projects). Is it some bug in our custom program or any parameters required to be check in job schedule?
    Kindly suggest.
    Thanks & Regards
    Saurabh

    Yes. That is the point I am missing. Just one 'date' is checked and project is taken into account for the custom program and after its successful run the mail is sent to users.
    And when the same program I am assigning in SM36,it is actually running the program accurately for project/s but sending the same mail which it send for very first project earlier.
    Can you please guide me on the way to create these variants? 
    You will need to Save different variants for different projects and then assign the variants with your job.
    Will it be required to create variant again and again and assign different projects individually? As, we are not sure that which project is gonna be created in future. So, need guideline how these variants can help me to sort out the e-mail issue.
    Regards
    Saurabh

  • Job scheduling failed because the user has no permission to access this rep

    Hi. I've OBIP 10.1.3.4.1.
    When I launch a print with the scheduler I see this error:
    oracle.apps.xdo.servlet.scheduler.ProcessingException: Job scheduling failed because the user has no permission to access this report. [REPORT_URL]=[folderreport/report/report.xdo], [USERNAME]=[administrator]
         at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.scheduleJob(SchedulerServlet.java:1140)
         at oracle.apps.xdo.servlet.ui.scheduler.SchedulerServlet.doPost(SchedulerServlet.java:295)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
         at oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    In this env. I've a LDAP Security Model and all the report and all the users work.

    Please check whether you have assigned below responsibility to the user trying to schedule report.
    XMLP_SCHEDULER

  • What is the spool, what is its role in background job scheduling

    Hi,
    I want to know what is meant by Spool request and spool number generated.
    Tell about transaction SP01.
    How it is linked to Background job scheduling.
    thanks.
    sam.

    Hi,
    Refer this link.
    https://www.sdn.sap.com/irj/sdn/inf?rid=/library/uuid/7a5f4061-0a01-0010-c9bc-a4e4cb100438
    About SP01.
    Printing does not work in SAP. There is a printer definition for your local printer, but it does not work. Presuming that you use the program SAPLPD on your computer.
    Boot your computer and start only the SAPLogon and the SAPLpd program.
    Delete all of your old print jobs in the SAP system (Transaction SP01).Generate only one new print job.
    Check that there is enough resource in your computer. Check the free memory (Win 3.1x) and the free disk space (The lists are temporarily saved on your disk).
    Open the SAPLPD and read the print log in the window. The printer definition must correspond with the parameters shown here.
    Check that the standard printer is on the same lpt (Win 3.1: Control panel, Printer) as defined for the printer (usually lpt1).
    In Transaction SP01 read the protocol of your print job. Do not generate new print jobs! Wait till the SAP system changes the status of the print job.
    If you can not find the print job in SP01 anymore, then the print job was successfully printed out. If it didn't come out on your printer and the SAPLpd didn't indicate an incoming print job, then the connection was realised with another PC. Then SAP printer definition you used, does not correspond with your computer.
    Scheduling Background Jobs:
    1.        Background jobs are scheduled by Basis administrators using transaction SM36.
    2.        To run a report in a background, a job needs to be created with a step using the report name
    and a variant for selection parameters. It is recommended to create a separate variant for each
    scheduled job to produce results for specific dates (e.g. previous month) or organizational units (e.g.
    company codes).
    3.        While defining the step, the spool parameters needs to be specified
    (Step-> Print Specifications->Properties) to secure the output of the report and help authorized users
    to find the spool request. The following parameters needs to be maintained:
    a.        Time of printing: set to u201CSend to SAP spooler Only for nowu201D
    b.        Name u2013 abbreviated name to identify the job output
    c.        Title u2013 free form description for the report output
    d.        Authorization u2013 a value defined by Security in user profiles to allow those users to access
    this spool request (authorization object  S_SPO_ACT, value SPOAUTH).  Only users with matching
    authorization value in their profiles will be able to see the output.
    e.        Department u2013 set to appropriate department/functional area name. This field can be used in
    a search later.
    f.        Retention period u2013 set to u201CDo not deleteu201D if the report output needs to be retained for more
    than 8 days. Once the archiving/document repository solution is in place the spool requests could
    be automatically moved to the archive/repository. Storage Mode parameter on the same screen
    could be used to immediately send the output to archive instead of creating a spool request.
    Configuring user access:
    1.        To access a report output created by a background job, a user must have at
    least access to SP01 (Spool requests) transaction without restriction on the user
    name (however by itself it will not let the user to see all spool requests). To have
    that access the user must have S_ADMI_FCD authorization object in the profile with
    SPOR (or SP01) value of S_ADMI_FCD parameter (maintained by Security).
    2.        To access a particular jobu2019s output in the spool, the user must have
    S_SPO_ACT object in the profile with SPOAUTH parameter matching the value used
    in the Print Specifications of the job (see p. 3.d above).
    3.        Levels of access to the spool (display, print once, reprint, download, etc) are
    controlled by SPOACTION parameter of S_SPO_ACT. The user must have at least
    BASE access (display).
    On-line reports:
    1.        Exactly the same configuration can be maintained for any output produced
    from R/3. If a user clicks u201CParametersu201D button on a SAP Printer selection dialog, it
    allows to specify all the parameters as described in p. 3 of
    u201CScheduling background jobsu201D section. Thus any output created by an online report
    can be saved and accessed by any user authorized to access that spool request
    (access restriction provided by the Authorization field of the spool request
    attributes, see p. 3.d of u201CScheduling background jobsu201D section).
    Access to reportu2019s output:
    1.        A user that had proper access (see Configuring user access above) can
    retrieve a job/report output through transaction SP01.
    2.        The selection screen can be configured by clicking u201CFurther selection
    criteriau2026u201D button (e.g. to bring u201CSpool request name (suffix 2)u201D field or hide other
    fields).
    3.        The following fields can be used to search for a specific output (Note that
    Created By must be blank when searching for scheduled jobu2019s outputs)
    a.        Spool request name (suffix 2) u2013 corresponds to a spool name in p. 3.b in
    u201CScheduling background jobsu201D section above).
    b.        Date created u2013 to find an output of a job that ran within a certain date range.
    c.        Title u2013 corresponds to spool Title in p. 3.c in u201CScheduling background jobsu201D
    section above).
    d.        Department - corresponds to spool Department in p. 3.e in u201CScheduling
    background jobsu201D section above).
    4.        Upon entering selection criteria, the user clicks the Execute button   to
    retrieve the list of matching spool requests.
    5.        From the spool list the user can use several function such as view the
    content of a spool request, print the spool request, view attributed of the spool
    request, etc. (some functions may need special authorization, see p.3 in
    Configuring user access)
    a.        Click the Print button   to print the spool request with the default attributes
    (usually defined with the job definition). It will print it on a printer that was
    specified when a job was created.
    b.        Click the u201CPrint with changed attributedu201D button   to print the spool request
    with the different attributes (e.g. changing the printer name).
    c.        Click the u201CDisplay contentsu201D button   to preview the spool request contents. A
    Print    and Download   functions are available from the preview mode.
    Exporting the Contents of a Spool Request
    Use
    You want to export the contents of a spool request as a text file to the SAP GUI working directory or to a directory of your choice. The content of the spool request is downloaded as plain text without, for example, graphics, images, or specific fonts.
    The following procedures are irrelevant for the PDF-based form printing integrated as of SAP Web Application Server 6.40, since the print data can be opened and stored as a PDF. See also Displaying and Printing PDF-Based Forms.
    Procedure
    Exporting to the SAP GUI Working Directory:
    Choose Spool Request ® Forward® Export as Text.
    The entire text is stored in your SAP GUI working directory in ASCII format.
    A file of this type is named using the following pattern:
    .txt
    Example: ABC0000004327.txt
    You require appropriate authorization for this function.
    Exporting to a Directory of Your Choice:
    With this method of exporting a spool request, the content of the spool request is first displayed and you then download the screen list as a text file to the directory of your choice.
           1.      Select the spool request to be exported and choose  Display Contents.
           2.      In the case of SAPScript/Smart Forms documents, activate list display by choosing Goto.
           3.      Choose System ® List ® Save ® Local File.
           4.      Choose one of the available formats and confirm your choice.
           5.      Choose a directory and save the spool request.
    By default, only the first 10 pages of a spool request are saved in a file. You can increase the number of pages to be saved by choosing Goto ® Display Requests ® Settings and making the desired entries in the Display Area group box.

  • IPod Nano 5th Gen memory issues?

    Hello. My iPod Nano 5th gen is great, and I've been able to use it for 2 years now, and it serves me well. Perfect condition since the day I got it. However, there are some memory issues...
    First off, I have only two recorded videos totaling 1 minute and 29 seconds, so it shouldn't take up much memory at all. And I don't have any other videos on my iPod either.
    Well, when I go to "About" under "Settings", then it always says that there are only 902 MB left, and it's an 8 GB. What's weirder is that it says that 6.1 GB are being used my audio, and I only have 712 songs. When I select all of the songs that are on my iPod on my PC, then it tells me that it totals to only 3.53 GB. Kinda weird, and I really need this extra space now.
    Secondly, I should tell you that I don't use iTunes to syncronize my iPod. I use a third-party program called CopyTrans Manager because it's simpler, easier to navigate, and faster in my opinion. Idk what it is, but it's bothering me. Hopefully some of you can tell me where I can go to eliminate these issues and finally get my iPod back to better use and full memory.
    Help me please. I don't know where to go next...
    Thankee.

    I don't use iTunes to syncronize my iPod. I use a third-party program called CopyTrans Manager
    Contact the manufacturer.  Check with them to determine if the issue is with them.

Maybe you are looking for

  • How can i remove a card from iTunes ?

    How can i remove a card from iTunes ?

  • I can no longer open .pdf files in Firefox 4

    Ever since I moved to the beta version of Firefox 4, I have lost the ability to view .pdf files in Firefox. I was convinced this was a problem totally with Firefox, but at around the same time I upgraded from an old G4 PPC laptop to a new Macbook Pro

  • A problem changing applet's background colour

    Hi there, I'm hoping somebody can help me with what I believe to be a problem I have in changing the background colour of an applet, the source code of which is posted below. If super.paint(g); is commented out, the background of the applet will be c

  • Removing duplicates in the Internal Table

    Dear friends,   Could any one of you kindly help me with a code to delete the duplicates in the internal table, but each duplicate should be counted, how many times that appeared and should be displayed again as a report with the messages and no of t

  • Elgato Turbo.264?

    So I am looking into expanding my mac mini for use of audio and video editing. I have used my mini for about a year now for doing professional audio editing in Logic Express and have found it just dandy, still do. But my 80GB internal harddrive was g