2007 Nov 06 6:44 AM
hi experts,
i have wriiten a sample code in which o/p will be hello.
i have schedule this program to run at specific time and date,
thru my program( pls ignore tr code sm36 and sm37 to create job),
but when im executing this program o/p is coming immeditely (ie . hello)
<b> and when im going to sm37 it is showing job status released and
scheduled and never goes in finish ststus and not going to spool
since background job should go to spool </b>
pls have alook to the code.
&----
*& Report YTIME *
*& *
&----
*& *
*& *
&----
REPORT ytime1 .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB01',
l_jobcount LIKE tbtco-jobcount,
flg_job_released TYPE c,
startdate LIKE tbtcjob-sdlstrtdt,
starttime LIKE tbtcjob-sdlstrttm,
laststartdate LIKE tbtcjob-laststrtdt,
laststarttime LIKE tbtcjob-laststrttm.
WRITE:/ 'hello'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
DELANFREP = ' '
JOBGROUP = ' '
jobname = l_jobname
SDLSTRTDT = NO_DATE
SDLSTRTTM = NO_TIME
JOBCLASS =
IMPORTING
jobcount = l_jobcount
CHANGING
RET =
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB OPEN'.
else.
write:/ 'open success'.
ENDIF.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
ARCPARAMS =
authcknam = sy-uname
COMMANDNAME = ' '
OPERATINGSYSTEM = ' '
EXTPGM_NAME = ' '
EXTPGM_PARAM = ' '
EXTPGM_SET_TRACE_ON = ' '
EXTPGM_STDERR_IN_JOBLOG = 'X'
EXTPGM_STDOUT_IN_JOBLOG = 'X'
EXTPGM_SYSTEM = ' '
EXTPGM_RFCDEST = ' '
EXTPGM_WAIT_FOR_TERMINATION = 'X'
jobcount = l_jobcount
jobname = l_jobname
LANGUAGE = SY-LANGU
PRIPARAMS = ' '
report = 'YTIME1'
VARIANT = ' '
IMPORTING
STEP_NUMBER =
EXCEPTIONS
BAD_PRIPARAMS = 1
BAD_XPGFLAGS = 2
INVALID_JOBDATA = 3
JOBNAME_MISSING = 4
JOB_NOTEX = 5
JOB_SUBMIT_FAILED = 6
LOCK_FAILED = 7
PROGRAM_MISSING = 8
PROG_ABAP_AND_EXTPG_SET = 9
OTHERS = 10
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB insert'.
else.
write:/ 'insert success'.
ENDIF.
startdate = '20071106'.
starttime = '121500'.
laststartdate = '20071106'.
laststarttime = '121600'.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
AT_OPMODE = ' '
AT_OPMODE_PERIODIC = ' '
CALENDAR_ID = ' '
EVENT_ID = ' '
EVENT_PARAM = ' '
EVENT_PERIODIC = ' '
jobcount = l_jobcount
jobname = l_jobname
laststrtdt = laststartdate
laststrttm = laststarttime
PRDDAYS = 0
PRDHOURS = 0
PRDMINS = 0
PRDMONTHS = 0
PRDWEEKS = 0
PREDJOB_CHECKSTAT = ' '
PRED_JOBCOUNT = ' '
PRED_JOBNAME = ' '
sdlstrtdt = startdate
sdlstrttm = starttime
STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS
strtimmed = 'X'
TARGETSYSTEM = ' '
START_ON_WORKDAY_NOT_BEFORE = SY-DATUM
START_ON_WORKDAY_NR = 0
WORKDAY_COUNT_DIRECTION = 0
RECIPIENT_OBJ =
TARGETSERVER = ' '
DONT_RELEASE = ' '
TARGETGROUP = ' '
DIRECT_START =
IMPORTING
job_was_released = flg_job_released
CHANGING
RET =
EXCEPTIONS
CANT_START_IMMEDIATE = 1
INVALID_STARTDATE = 2
JOBNAME_MISSING = 3
JOB_CLOSE_FAILED = 4
JOB_NOSTEPS = 5
JOB_NOTEX = 6
LOCK_FAILED = 7
INVALID_TARGET = 8
OTHERS = 9
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
write:/ 'error in close'.
else.
write:/ 'close success'.
ENDIF.
pls help
regards
pankaj
hi experts,
i have wriiten a sample code in which o/p will be hello.
i have schedule this program to run at specific time and date,
thru my program( pls ignore tr code sm36 and sm37 to create job),
but when im executing this program o/p is coming immeditely (ie . hello)
<b> and when im going to sm37 it is showing job status released and
scheduled and never goes in finish ststus and not going to spool
since background job should go to spool </b>
pls have alook to the code.
&----
*& Report YTIME *
*& *
&----
*& *
*& *
&----
REPORT ytime1 .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB01',
l_jobcount LIKE tbtco-jobcount,
flg_job_released TYPE c,
startdate LIKE tbtcjob-sdlstrtdt,
starttime LIKE tbtcjob-sdlstrttm,
laststartdate LIKE tbtcjob-laststrtdt,
laststarttime LIKE tbtcjob-laststrttm.
WRITE:/ 'hello'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
DELANFREP = ' '
JOBGROUP = ' '
jobname = l_jobname
SDLSTRTDT = NO_DATE
SDLSTRTTM = NO_TIME
JOBCLASS =
IMPORTING
jobcount = l_jobcount
CHANGING
RET =
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB OPEN'.
else.
write:/ 'open success'.
ENDIF.
CALL FUNCTION 'JOB_SUBMIT'
EXPORTING
ARCPARAMS =
authcknam = sy-uname
COMMANDNAME = ' '
OPERATINGSYSTEM = ' '
EXTPGM_NAME = ' '
EXTPGM_PARAM = ' '
EXTPGM_SET_TRACE_ON = ' '
EXTPGM_STDERR_IN_JOBLOG = 'X'
EXTPGM_STDOUT_IN_JOBLOG = 'X'
EXTPGM_SYSTEM = ' '
EXTPGM_RFCDEST = ' '
EXTPGM_WAIT_FOR_TERMINATION = 'X'
jobcount = l_jobcount
jobname = l_jobname
LANGUAGE = SY-LANGU
PRIPARAMS = ' '
report = 'YTIME1'
VARIANT = ' '
IMPORTING
STEP_NUMBER =
EXCEPTIONS
BAD_PRIPARAMS = 1
BAD_XPGFLAGS = 2
INVALID_JOBDATA = 3
JOBNAME_MISSING = 4
JOB_NOTEX = 5
JOB_SUBMIT_FAILED = 6
LOCK_FAILED = 7
PROGRAM_MISSING = 8
PROG_ABAP_AND_EXTPG_SET = 9
OTHERS = 10
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB insert'.
else.
write:/ 'insert success'.
ENDIF.
startdate = '20071106'.
starttime = '121500'.
laststartdate = '20071106'.
laststarttime = '121600'.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
AT_OPMODE = ' '
AT_OPMODE_PERIODIC = ' '
CALENDAR_ID = ' '
EVENT_ID = ' '
EVENT_PARAM = ' '
EVENT_PERIODIC = ' '
jobcount = l_jobcount
jobname = l_jobname
laststrtdt = laststartdate
laststrttm = laststarttime
PRDDAYS = 0
PRDHOURS = 0
PRDMINS = 0
PRDMONTHS = 0
PRDWEEKS = 0
PREDJOB_CHECKSTAT = ' '
PRED_JOBCOUNT = ' '
PRED_JOBNAME = ' '
sdlstrtdt = startdate
sdlstrttm = starttime
STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS
strtimmed = 'X'
TARGETSYSTEM = ' '
START_ON_WORKDAY_NOT_BEFORE = SY-DATUM
START_ON_WORKDAY_NR = 0
WORKDAY_COUNT_DIRECTION = 0
RECIPIENT_OBJ =
TARGETSERVER = ' '
DONT_RELEASE = ' '
TARGETGROUP = ' '
DIRECT_START =
IMPORTING
job_was_released = flg_job_released
CHANGING
RET =
EXCEPTIONS
CANT_START_IMMEDIATE = 1
INVALID_STARTDATE = 2
JOBNAME_MISSING = 3
JOB_CLOSE_FAILED = 4
JOB_NOSTEPS = 5
JOB_NOTEX = 6
LOCK_FAILED = 7
INVALID_TARGET = 8
OTHERS = 9
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
write:/ 'error in close'.
else.
write:/ 'close success'.
ENDIF.
pls help
regards
pankaj
2007 Nov 06 6:50 AM
Hi Pankaj,
i think u require to pass Start time and date in Job_open Fm. i am giving the sample code check it.
call function 'JOB_OPEN'
exporting
DELANFREP = ' '
JOBGROUP = ' '
jobname = jobname
sdlstrtdt = sy_date
sdlstrttm = st_time
importing
jobcount = jobnum
exceptions
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
others = 4.
check sy-subrc = 0.
set print parameters
perform set_spool_params.
submit the report with current parameters
*break-point.
submit zmti_create_esoft_bom
with wa_board = wa_board
*chg001-start
with wa_plant = wa_plant
*chg001-end
to sap-spool
without spool dynpro
via job jobname number jobnum
and return.
close the job
call function 'JOB_CLOSE'
exporting
AT_OPMODE = ' '
AT_OPMODE_PERIODIC = ' '
CALENDAR_ID = ' '
EVENT_ID = ' '
EVENT_PARAM = ' '
EVENT_PERIODIC = ' '
jobcount = jobnum
jobname = jobname
LASTSTRTDT = NO_DATE
LASTSTRTTM = NO_TIME
PRDDAYS = 0
PRDHOURS = 0
PRDMINS = 0
PRDMONTHS = 0
PRDWEEKS = 0
PREDJOB_CHECKSTAT = ' '
PRED_JOBCOUNT = ' '
PRED_JOBNAME = ' '
sdlstrtdt = sy_date
sdlstrttm = st_time
STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS
STRTIMMED = ' '
TARGETSYSTEM = ' '
START_ON_WORKDAY_NOT_BEFORE = SY-DATUM
START_ON_WORKDAY_NR = 0
WORKDAY_COUNT_DIRECTION = 0
RECIPIENT_OBJ =
TARGETSERVER = ' '
DONT_RELEASE = ' '
IMPORTING
JOB_WAS_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
percentage = 100
text = 'Job Scheduling Over'.
Reward points if it helps.
Regards,
Shafivullah Mohammad
2007 Nov 06 7:38 AM
hi shafi ,
i have used ur logic in my code but the o/p is coming immediately and not going to spool. in sm37 the status is showing released and when refreshing the delay sec increases.
have alook.
&----
*& Report YTIME2 *
*& *
&----
*& *
*& *
&----
REPORT ytime2 .
DATA: l_jobname LIKE tbtco-jobname VALUE 'JOB02',
l_jobcount LIKE tbtco-jobcount,
flg_job_released TYPE c,
startdate LIKE tbtcjob-sdlstrtdt,
starttime LIKE tbtcjob-sdlstrttm,
laststartdate LIKE tbtcjob-laststrtdt,
laststarttime LIKE tbtcjob-laststrttm.
startdate = '20071106'.
starttime = '130600'.
*laststartdate = '20071106'.
*laststarttime = '121600'.
WRITE:/ 'hello'.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
DELANFREP = ' '
JOBGROUP = ' '
jobname = l_jobname
SDLSTRTDT = startdate
SDLSTRTTM = starttime
JOBCLASS =
IMPORTING
jobcount = l_jobcount
CHANGING
RET =
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB OPEN'.
else.
write:/ 'open success'.
ENDIF.
submit ytime2 to sap-spool without spool dynpro
via job l_jobname number l_jobcount and return.
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
WRITE:/ 'ERROR IN JOB insert'.
else.
write:/ 'insert success'.
ENDIF.
*startdate = '20071106'.
*starttime = '121500'.
*laststartdate = '20071106'.
*laststarttime = '121600'.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
AT_OPMODE = ' '
AT_OPMODE_PERIODIC = ' '
CALENDAR_ID = ' '
EVENT_ID = ' '
EVENT_PARAM = ' '
EVENT_PERIODIC = ' '
jobcount = l_jobcount
jobname = l_jobname
laststrtdt = laststartdate
*
laststrttm = laststarttime
PRDDAYS = 0
PRDHOURS = 0
PRDMINS = 0
PRDMONTHS = 0
PRDWEEKS = 0
PREDJOB_CHECKSTAT = ' '
PRED_JOBCOUNT = ' '
PRED_JOBNAME = ' '
sdlstrtdt = startdate
sdlstrttm = starttime
STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS
strtimmed = 'X'
TARGETSYSTEM = ' '
START_ON_WORKDAY_NOT_BEFORE = SY-DATUM
START_ON_WORKDAY_NR = 0
WORKDAY_COUNT_DIRECTION = 0
RECIPIENT_OBJ =
TARGETSERVER = ' '
DONT_RELEASE = ' '
TARGETGROUP = ' '
DIRECT_START =
IMPORTING
job_was_released = flg_job_released
CHANGING
RET =
EXCEPTIONS
CANT_START_IMMEDIATE = 1
INVALID_STARTDATE = 2
JOBNAME_MISSING = 3
JOB_CLOSE_FAILED = 4
JOB_NOSTEPS = 5
JOB_NOTEX = 6
LOCK_FAILED = 7
INVALID_TARGET = 8
OTHERS = 9
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
write:/ 'error in close'.
else.
write:/ 'close success'.
ENDIF.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = 100
TEXT = 'job sch over '
.
regards
pankaj
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |