2011 Dec 14 7:10 AM
Dear all,
my requirement is i want to schedule the zreport for every 1 hour.but proble is when iam executing in fore ground iam able to get data.but when iam going to scheduling this iam not able to get data.
my code is
type-pools:slis.
data zbudat type RANGE OF budat.
data wab like line of zbudat.
data zmatkl type RANGE OF MATKL.
data waz like line of zMATKL.
data zwerks type RANGE OF werks.
data wax like line of zwerks.
waz-sign = 'I'.
waz-low = 'CRUDE'.
waz-option = 'EQ'.
append waz to zmatkl.
clear waz.
waz-sign = 'I'.
waz-low = 'SGO'.
waz-option = 'EQ'.
append waz to zmatkl.
clear waz.
*waz-sign = 'I'.
*waz-low = 'FINES'.
*waz-option = 'EQ'.
*append waz to zmatkl.
*clear waz.
*waz-sign = 'I'.
*waz-low = 'LUMPS'.
*waz-option = 'EQ'.
*append waz to zmatkl.
*clear waz.
*
*waz-sign = 'I'.
*waz-low = 'UFO'.
*waz-option = 'EQ'.
*append waz to zmatkl.
wax-sign = 'I'.
wax-low = 'BIMI'.
wax-option = 'EQ'.
append wax to zwerks.
clear wax.
wax-sign = 'I'.
wax-low = 'BIPL'.
wax-option = 'EQ'.
append wax to zwerks.
*waz-sign = 'I'.
waz-low = 'C'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'S'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'UC'.
*waz-option = 'CP'.
*append waz to zmatnr.
*
*waz-sign = 'I'.
waz-low = 'F'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'L'.
*waz-option = 'CP'.
*append waz to zmatnr.
types:begin of w_tab,
bwkey type werks_d,
matnr type matnr,
lgort type LGORT_D,
budat type budat,
labst type labst,
endmenge type p decimals 3,
end of w_tab.
DATA : IT_TAB TYPE STANDARD TABLE OF W_TAB WITH HEADER LINE .
FIELD-SYMBOLS: <gt_fieldcat> TYPE slis_fieldcat_alv,
<gt_report_list> TYPE w_tab .
field-symbols <lt_pay_data> type any table.
*FIELD-SYMBOLS : <LT_DATA> LIKE LINE OF IT_TAB .
FIELD-SYMBOLS : <LT_DATA> type any . " i have chaged it
data lr_pay_data type ref to data.
cl_salv_bs_runtime_info=>set( exporting display = abap_false
metadata = abap_false
data = abap_true ).
****SUBMIT ZQM_GR_BARGE_LOADING WITH S_date in zbudat with s_werks in zwerks with p_pend = ' ' AND RETURN .
submit RM07MLBS with MATKLA in zmatkl with werks in zwerks
"with XVBST = 'X'
using selection-SCREEN '1000' and return.
try.
cl_salv_bs_runtime_info=>get_data_ref( importing r_data = lr_pay_data ).
assign lr_pay_data->* to <lt_pay_data>.
catch cx_salv_bs_sc_runtime_info.
message `Unable to retrieve ALV data` type 'E'.
endtry.
cl_salv_bs_runtime_info=>clear_all( ).
data: obj_s type ref to ZKMINCO_MINESTOCKFROM_SAP_OUT.
create OBJECT obj_s.
*
data : output TYPE ZKMINMINESTOCKFROM_SAP1 ,
record type ZKMINMINESTOCKFROM_SAP_REC_TAB ,
wa_record like line of record.
LOOP AT <lt_pay_data> ASSIGNING <LT_DATA>.
MOVE-CORRESPONDING <LT_DATA> TO IT_TAB .
APPEND IT_TAB .
wa_record-STOCK_AS_ON_DATE = sy-datum .
wa_record-STOCK_AS_ON_TIME = sy-uzeit .
wa_record-PLANT_ID = it_tab-bwkey.
wa_record-STORAGE_LOC_ID = it_tab-lgort .
wa_record-MATERIAL = it_tab-matnr .
wa_record-STOCK_QTY = it_tab-labst.
append wa_record to record.
clear wa_record.
endloop.
output-MINESTOCKFROM_SAP-record = record .
CALL METHOD obj_s->MINESTOCKFROM_SAP_OUT
EXPORTING
output = output .
commit work.
Thanks in advance.
Dear all,
my requirement is i want to schedule the zreport for every 1 hour.but proble is when iam executing in fore ground iam able to get data.but when iam going to scheduling this iam not able to get data.
my code is
type-pools:slis.
data zbudat type RANGE OF budat.
data wab like line of zbudat.
data zmatkl type RANGE OF MATKL.
data waz like line of zMATKL.
data zwerks type RANGE OF werks.
data wax like line of zwerks.
waz-sign = 'I'.
waz-low = 'CRUDE'.
waz-option = 'EQ'.
append waz to zmatkl.
clear waz.
waz-sign = 'I'.
waz-low = 'SGO'.
waz-option = 'EQ'.
append waz to zmatkl.
clear waz.
*waz-sign = 'I'.
*waz-low = 'FINES'.
*waz-option = 'EQ'.
*append waz to zmatkl.
*clear waz.
*waz-sign = 'I'.
*waz-low = 'LUMPS'.
*waz-option = 'EQ'.
*append waz to zmatkl.
*clear waz.
*
*waz-sign = 'I'.
*waz-low = 'UFO'.
*waz-option = 'EQ'.
*append waz to zmatkl.
wax-sign = 'I'.
wax-low = 'BIMI'.
wax-option = 'EQ'.
append wax to zwerks.
clear wax.
wax-sign = 'I'.
wax-low = 'BIPL'.
wax-option = 'EQ'.
append wax to zwerks.
*waz-sign = 'I'.
waz-low = 'C'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'S'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'UC'.
*waz-option = 'CP'.
*append waz to zmatnr.
*
*waz-sign = 'I'.
waz-low = 'F'.
*waz-option = 'CP'.
*append waz to zmatnr.
*clear waz.
*
*waz-sign = 'I'.
waz-low = 'L'.
*waz-option = 'CP'.
*append waz to zmatnr.
types:begin of w_tab,
bwkey type werks_d,
matnr type matnr,
lgort type LGORT_D,
budat type budat,
labst type labst,
endmenge type p decimals 3,
end of w_tab.
DATA : IT_TAB TYPE STANDARD TABLE OF W_TAB WITH HEADER LINE .
FIELD-SYMBOLS: <gt_fieldcat> TYPE slis_fieldcat_alv,
<gt_report_list> TYPE w_tab .
field-symbols <lt_pay_data> type any table.
*FIELD-SYMBOLS : <LT_DATA> LIKE LINE OF IT_TAB .
FIELD-SYMBOLS : <LT_DATA> type any . " i have chaged it
data lr_pay_data type ref to data.
cl_salv_bs_runtime_info=>set( exporting display = abap_false
metadata = abap_false
data = abap_true ).
****SUBMIT ZQM_GR_BARGE_LOADING WITH S_date in zbudat with s_werks in zwerks with p_pend = ' ' AND RETURN .
submit RM07MLBS with MATKLA in zmatkl with werks in zwerks
"with XVBST = 'X'
using selection-SCREEN '1000' and return.
try.
cl_salv_bs_runtime_info=>get_data_ref( importing r_data = lr_pay_data ).
assign lr_pay_data->* to <lt_pay_data>.
catch cx_salv_bs_sc_runtime_info.
message `Unable to retrieve ALV data` type 'E'.
endtry.
cl_salv_bs_runtime_info=>clear_all( ).
data: obj_s type ref to ZKMINCO_MINESTOCKFROM_SAP_OUT.
create OBJECT obj_s.
*
data : output TYPE ZKMINMINESTOCKFROM_SAP1 ,
record type ZKMINMINESTOCKFROM_SAP_REC_TAB ,
wa_record like line of record.
LOOP AT <lt_pay_data> ASSIGNING <LT_DATA>.
MOVE-CORRESPONDING <LT_DATA> TO IT_TAB .
APPEND IT_TAB .
wa_record-STOCK_AS_ON_DATE = sy-datum .
wa_record-STOCK_AS_ON_TIME = sy-uzeit .
wa_record-PLANT_ID = it_tab-bwkey.
wa_record-STORAGE_LOC_ID = it_tab-lgort .
wa_record-MATERIAL = it_tab-matnr .
wa_record-STOCK_QTY = it_tab-labst.
append wa_record to record.
clear wa_record.
endloop.
output-MINESTOCKFROM_SAP-record = record .
CALL METHOD obj_s->MINESTOCKFROM_SAP_OUT
EXPORTING
output = output .
commit work.
Thanks in advance.
2011 Dec 14 12:56 PM
Hi,
I assume that in your case you have two program lets say ZFOREGROUND and ZBACKGROUND (Called inside zforeground using submit statement)
zforeground has :
1. a input field to browse excel sheet or some file at the selection screen, and
2. button 'post all' to determine the background processing.
Now your requirement is such that you want zbackground to get scheduled as background job when post all button is clicked.
So, within the event AT USER-Command, check the sy-ucomm as that of post all button, if so write the following code to schedule the job:
DATA: jobname LIKE tbtcjob-jobname.
DATA :jobcount LIKE tbtcjob-jobcount,
host LIKE msxxlist-host.
DATA: BEGIN OF starttime.
INCLUDE STRUCTURE tbtcstrt.
DATA: END OF starttime.
DATA: starttimeimmediate LIKE btch0000-char1.
DATA: gv_job_dt TYPE sy-datum,
gv_job_tm TYPE sy-uzeit.
jobname = 'EXCLUSION_LISTING'.
gv_job_dt = sy-datum.
gv_job_tm = sy-uzeit.
Job open
CALL FUNCTION 'JOB_OPEN'
EXPORTING
delanfrep = ' '
jobgroup = ' '
jobname = jobname
sdlstrtdt = sy-datum
sdlstrttm = sy-uzeit
IMPORTING
jobcount = jobcount
EXCEPTIONS
cant_create_job = 01
invalid_job_data = 02
jobname_missing = 03.
IF sy-subrc NE 0.
"error processing
ENDIF.
Insert process into job
SUBMIT ZBACKGROUND AND RETURN
WITH p_file1 = gv_file_cust_exc "<----
Parameters which you want to pass to report zbackground from the report
WITH p_file2 = gv_file_win_deal "------zforeground
USER sy-uname
VIA JOB jobname
NUMBER jobcount.
IF sy-subrc ne 0.
"error processing
ENDIF.
Close job
starttime-sdlstrtdt = gv_job_dt.
starttime-sdlstrttm = gv_job_tm.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
event_id = starttime-eventid
event_param = starttime-eventparm
event_periodic = starttime-periodic
jobcount = jobcount
jobname = jobname
laststrtdt = starttime-laststrtdt
laststrttm = starttime-laststrttm
prddays = 1
prdhours = 0
prdmins = 0
prdmonths = 0
prdweeks = 0
sdlstrtdt = starttime-sdlstrtdt
sdlstrttm = starttime-sdlstrttm
strtimmed = starttimeimmediate
targetsystem = host
EXCEPTIONS
cant_start_immediate = 01
invalid_startdate = 02
jobname_missing = 03
job_close_failed = 04
job_nosteps = 05
job_notex = 06
lock_failed = 07
OTHERS = 99.
IF sy-subrc EQ 0.
WRITE:/1 'JOB' COLOR 3,
jobname COLOR COL_GROUP,
'Scheduled in Background' COLOR 3. "error processing
gv_time = starttime-sdlstrttm.
gv_date = starttime-sdlstrtdt.
ENDIF.
Above code will schedule the report zbackground in background.
Note:
the program schduled in background will not be able to access any data present on your presentation server. data should be provided either by the program schhedulling it in foreground or it has to be thr in application server.
Regards,
Ravi
2011 Dec 15 7:02 AM
I have added this code to my existing program.
DATA : jobcount TYPE tbtcjob-jobcount .
DATA : no_date TYPE datum.
DATA : no_time TYPE uzeit.
no_time = sy-uzeit.
no_date = sy-datum.
no_time = no_time + 30000.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
DELANFREP = ' '
JOBGROUP = ' '
jobname = 'ZKPI_PLNT'
sdlstrtdt = no_date
sdlstrttm = no_time
JOBCLASS =
IMPORTING
jobcount = jobcount.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SUBMIT RM07MLBS AND RETURN with matnr in zmatnr with werks = 'BIPL' via job 'ZKPI_PLNT' number jobcount .
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = jobcount
jobname = 'ZKPI_PLNT'
strtimmed = 'X'
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
even though when iam executing in background no data is coming .
what i need to change in my code.my report which iam calling mb52 is not having any selection screen.
Edited by: raj shiv on Dec 15, 2011 8:02 AM
2015 Jan 21 6:13 AM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |