Announcement:
wanna exchange links? contact me at sapchatroom@gmail.com.
Posted by
Admin at
Reply from soerens on Oct 16 at 6:42 AM Hi Do have in pgm: CALL FUNCTION 'BP_JOB_CHECKSTATE' EXPORTING dialog = 'N' jobcount = jobnumber jobname = jobname IMPORTING actual_status = status. while status = 'Y'. CALL FUNCTION 'BP_JOB_CHECKSTATE' EXPORTING dialog = 'N' jobcount = jobnumber jobname = jobname IMPORTING actual_status = status. wait up to 30 seconds. endwhile. * Here I wait for status to become 'F'. .and here we have the challenge with time! * '1 job at a time' Have used http://wiki.scn.sap.com/wiki/display/Snippets/Conv ert+Spool+request+to+PDF+and+send+as+e-mail -as basis. For every single person selected, an email has to be sent to person's email address. br Soeren i
| | | ---------------Original Message--------------- From: Søren Sørensen Sent: Tuesday, October 13, 2015 9:32 AM Subject: Need Less Job Running Time Hi Have a pgm making pdf time slip (HR FORMS / SMART FORM) for selected employee(pernr). For each pernr is created job + spool from which the PDF is taken for mail to pernr - re pgm BSC_EXAMPLE_8. When selecting several pernr, running pgm takes a long, long time. From pgm below is a 'wait up to 10 seconds'. Often fm BP_JOB_DELETE gives exception 16 - Job is already running. Have tried with different number of wait seconds - up to 100 seconds, but I still - in some cases - get exception 16. Have run tx SAT saying 90% (20.004.002 microsecs) is used for Wait Sleep. This for selecting 1 pernr. Is run in a sandbox system. How to minimize runtime? Any settings missing? Something basis setup? Br Soren * CALL FUNCTION 'JOB_CLOSE' EXPORTING jobcount = lv_number jobname = lv_jobname strtimmed = 'X' * targetsystem = space importing job_was_released = l_job_released exceptions cant_start_immediate = 1 invalid_startdate = 2 jobname_missing = 3 job_close_failed = 4 job_nosteps = 5 job_notex = 6 lock_failed = 7 others = 8. call function 'SAPGUI_PROGRESS_INDICATOR' exporting text = wtext. PERFORM check_job USING lv_jobname lv_number CHANGING running. WHILE running = 'Y'. PERFORM check_job USING lv_jobname lv_number CHANGING running. WAIT UP TO 10 SECONDS. ENDWHILE. *Get spool nr DATA: W_RQIDENT TYPE TSP01-RQIDENT. SELECT RQIDENT FROM TSP01 INTO W_RQIDENT UP TO 1 ROWS where rqowner = sy-uname and RQ0NAME = 'HRFORM'. "PARAMS-PLIST ENDSELECT. *Send spool request as PDF via BCS * ZTID_SPOOL_PDF_TO_MAIL is copy of BCS_EXAMPLE_8 submit ZTID_SPOOL_PDF_TO_MAIL with mailto = wmail with RQIDENT = W_RQIDENT with p_fname = P_FNAME and return. endif. endif. *Delete processed job after sent to mail if swjobok = 'X'. CALL FUNCTION 'BP_JOB_DELETE' EXPORTING JOBCOUNT = lv_number JOBNAME = lv_jobname * FORCEDMODE = ' ' * COMMITMODE = 'X' EXCEPTIONS CANT_DELETE_EVENT_ENTRY = 1 CANT_DELETE_JOB = 2 CANT_DELETE_JOBLOG = 3 CANT_DELETE_STEPS = 4 CANT_DELETE_TIME_ENTRY = 5 CANT_DERELEASE_SUCCESSOR = 6 CANT_ENQ_PREDECESSOR = 7 CANT_ENQ_SUCCESSOR = 8 CANT_ENQ_TBTCO_ENTRY = 9 CANT_UPDATE_PREDECESSOR = 10 CANT_UPDATE_SUCCESSOR = 11 COMMIT_FAILED = 12 JOBCOUNT_MISSING = 13 JOBNAME_MISSING = 14 JOB_DOES_NOT_EXIST = 15 JOB_IS_ALREADY_RUNNING = 16 NO_DELETE_AUTHORITY = 17 OTHERS = 18. IF SY-SUBRC <> 0. | | Reply to this email to post your response. __.____._ | _.____.__ |