Need a Syatem variable for Executing the report by RFC.
Hi Experts,
Need a Syatem variable for Executing the report by RFC.
what i mean to say is,i can execure the report directly ...then no issues.
But if i execute the Report by RFC ,then i should put a condition with system variable...
Please suggest me ,how can put a condition when i am executing the report through RFC.
Thanks
Babu
Hello Friend,
what I understood that you want to put some extra condition if that report is getting called from RFC...
you can use the system variable SY-CPROG....it will hold the value of the report when it is geeting executing directly...
but when it is getting executed therough RFC...it will hold that RFC name...
Thanks
Krish
Similar Messages
-
Performance Problem when executing the report for the first time.
Hi,
We have a Zreport...to improve the performance i created Index on few Data Base table..before my changes it used to take more than 15 minutes after the changes it taking less than 1 min for the same variant and for other variants also.
But when executing the first in morning its taking the same time more than 15 min.Please let me know how to increase the performance when executing first time also,
Thanks,
Kiran.Hi all,
Appreciate your valuable replies...
@ Thomas: i do accept with your solution running a background job..but user is not accepting for it..thanks for your reply.
@Siegfried Boes : for testing purpose Im running this manytimes..but for user they may
require when ever they need to know open oders.the volume of the data is barongs 300-350 at
max.
@Brad Bohn : After creating the index the repose time reduced to half ...i hope i have
created a right index.
Observation here...I executed the report in production system more than 5 times it took the
same time, my changes are still in quality..so i think may be for selecting the right index
its taking this much time.and for the next time is taking right index n doing it so it taking
less.
Do you accept it?.if so Please let me know how to explicitly say the select statement to
use my index.
Thanks,
kiran. -
Portal asking for Login details again while executing the reports
Hi Team,
Our Portal is asking for Login details again while executing the reports individually.
The issue is the if i enter the same PORTAL Login credentials, its showing as Authentication failed.
PLEASE ADVICE ASAP.
thanks & regards
SnehaHi Kiran,
I have recently taken up this portal.. so not clear on the structure.
however, I observed there was no user mapping available.. so i added the same with my login credentials..
stil the issue persists.
Please advice.
Sneha -
Needed sample program for emailing the report output
hi all,
neede sample program for emailing the report outputHi,
Please refer this program for sending e-mail with attachment.
***INCLUDE ZHZLPP_CLZSN_DAILY_MIS_PRINT .
*& Form print
* text
* --> p1 text
* <-- p2 text
FORM print .
DATA: wa_output_options TYPE ssfcompop,
wa_control_parameters TYPE ssfctrlop,
t_otfdata TYPE ssfcrescl,
t_pdf_tab TYPE TABLE OF tline WITH HEADER LINE.
DATA: t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE.
DATA: w_filesize TYPE i.
DATA: w_bin_filesize TYPE i.
DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
i_tline TYPE TABLE OF tline WITH HEADER LINE,
v_form_name TYPE rs38l_fnam,
v_len_in LIKE sood-objlen,
w_return TYPE ssfcrescl.
DATA : l_mean TYPE p DECIMALS 2,
l_mean1 TYPE p DECIMALS 2,
l_mean2 TYPE p DECIMALS 2,
l_mean3 TYPE p DECIMALS 4,
temp TYPE p DECIMALS 2,
v_header LIKE zmisdisp3-remark,
disp_d_kwh_mt TYPE zmisdisp5,
disp_m_kwh_mt TYPE zmisdisp5,
disp_d_mt_mw TYPE zmisdisp5,
disp_m_mt_mw TYPE zmisdisp5,
l_bptarget(16) TYPE p DECIMALS 2,
l_act_d(16) TYPE p DECIMALS 2,
l_act_c(16) TYPE p DECIMALS 2,
l_pow_gen TYPE p DECIMALS 2,
l_pow_gen_d TYPE p DECIMALS 2,
l_pow_gen_c TYPE p DECIMALS 2,
l_no_of_days TYPE p,
disp_bptarget TYPE zmisdisp5,
disp_act_d TYPE zmisdisp5,
disp_act_c TYPE zmisdisp5,
disp_d_kwh TYPE zmisdisp5,
disp_c_kwh TYPE zmisdisp5,
disp_d_mw TYPE zmisdisp5,
disp_c_mw TYPE zmisdisp5,
disp_pow_gen_d TYPE zmisdisp5,
disp_pow_gen_c TYPE zmisdisp5,
disp_pow_gen TYPE zmisdisp5,
disp_ftd_h1 TYPE zmisdisp5,
disp_ftd_h2 TYPE zmisdisp5,
disp_ftd_h3 TYPE zmisdisp5,
disp_ftd_h4 TYPE zmisdisp5,
disp_ftd_h5 TYPE zmisdisp5,
disp_ftd_o1 TYPE zmisdisp5,
disp_ftd_o2 TYPE zmisdisp5,
disp_ftd_o4 TYPE zmisdisp5,
disp_ftd_o5 TYPE zmisdisp5,
disp_***_o1 TYPE zmisdisp5,
disp_***_o2 TYPE zmisdisp5,
disp_***_o4 TYPE zmisdisp5,
disp_***_o5 TYPE zmisdisp5,
disp_cath_d TYPE zmisdisp5,
disp_cath_c TYPE zmisdisp5,
disp_anode_d TYPE zmisdisp5,
disp_anode_c TYPE zmisdisp5,
l_rec_con_d_kwh(16) TYPE p DECIMALS 2,
l_rec_con_c_kwh(16) TYPE p DECIMALS 2,
l_rec_con_d_mw(16) TYPE p DECIMALS 2,
l_rec_con_c_mw(16) TYPE p DECIMALS 2,
tot_kah TYPE p DECIMALS 2,
avg_kah TYPE p DECIMALS 2,
disp_tot_kah TYPE zmisdisp5,
disp_avg_kah TYPE zmisdisp5,
v_ftd_h1 TYPE p DECIMALS 2,
v_ftd_h2 TYPE p DECIMALS 2,
v_ftd_h3 TYPE p DECIMALS 2,
v_ftd_h4 TYPE p DECIMALS 2,
v_ftd_h5 TYPE p DECIMALS 2,
v_ftd_o1 TYPE p DECIMALS 2,
v_ftd_o2 TYPE p DECIMALS 2,
v_ftd_o4 TYPE p DECIMALS 2,
v_ftd_o5 TYPE p DECIMALS 2,
v_***_o1 TYPE p DECIMALS 2,
v_***_o2 TYPE p DECIMALS 2,
v_***_o4 TYPE p DECIMALS 2,
v_***_o5 TYPE p DECIMALS 2,
l_cdiff1 LIKE imrg-cdiff,
l_cdiff2 LIKE imrg-cdiff,
l_cdiff3 LIKE imrg-cdiff,
l_cdiff4 LIKE imrg-cdiff,
l_path LIKE rlgrap-filename,
l_flag.
DATA :prod_disp TYPE TABLE OF zmisdisp1 WITH HEADER LINE,
keyp_disp TYPE TABLE OF zmisdisp2 WITH HEADER LINE,
keyp_dis1 TYPE TABLE OF zmisdisp2 WITH HEADER LINE,
rmat_disp TYPE TABLE OF zmisdisp4 WITH HEADER LINE,
rcur_disp TYPE TABLE OF zmisdisp6 WITH HEADER LINE,
rhrs_disp TYPE TABLE OF zmisdisp4 WITH HEADER LINE,
brkd_disp TYPE TABLE OF zmisdisp7 WITH HEADER LINE.
DEFINE fill_kpp.
clear l_flag.
loop at it_mic_data where kurztext = &1.
l_mean1 = it_mic_data-mittelwert.
l_mean = it_mic_data-mean.
if l_flag = ' '.
move : &2 to keyp_disp-desc,
l_mean1 to keyp_disp-ftd.
if it_mic_data-kurztext = 'Ingot Pb SHG Zinc'.
l_mean2 = v_mean_pbshg.
move l_mean2 to keyp_disp-avg.
elseif it_mic_data-kurztext = 'Ingot Cu SHG Zinc'.
l_mean2 = v_mean_cushg.
move l_mean2 to keyp_disp-avg.
elseif it_mic_data-kurztext = 'Ingot Cd SHG Zinc'.
l_mean2 = v_mean_cdshg.
move l_mean2 to keyp_disp-avg.
elseif it_mic_data-kurztext = 'Ingot Fe SHG Zinc'.
l_mean2 = v_mean_feshg.
move l_mean2 to keyp_disp-avg.
elseif it_mic_data-kurztext = 'Ingot Zn SHG Zinc'.
l_mean2 = v_mean_znshg.
move l_mean2 to keyp_disp-avg.
else.
move l_mean to keyp_disp-avg.
endif.
if it_mic_data-masseinhsw = 'GLI'.
move 'g/l' to keyp_disp-unit.
elseif it_mic_data-masseinhsw = 'PPM'.
move 'ppm' to keyp_disp-unit.
elseif it_mic_data-masseinhsw = 'NO'.
move 'no' to keyp_disp-unit.
else.
move it_mic_data-masseinhsw to keyp_disp-unit.
endif.
append keyp_disp.
clear keyp_disp.
move 'X' to l_flag.
else.
move : l_mean1 to keyp_disp-ftd.
append keyp_disp.
clear keyp_disp.
endif.
endloop.
if sy-subrc is not initial.
move &2 to keyp_disp-desc.
append keyp_disp.
clear keyp_disp.
endif.
END-OF-DEFINITION.
DEFINE fill_kp1.
clear l_flag.
loop at it_mic_data where kurztext = &1.
l_mean1 = it_mic_data-mittelwert.
l_mean = it_mic_data-mean.
if l_flag = ' '.
move : &2 to keyp_dis1-desc,
l_mean1 to keyp_dis1-ftd.
if it_mic_data-kurztext = 'Ingot Pb SHG Zinc'.
l_mean2 = v_mean_pbshg.
move l_mean2 to keyp_dis1-avg.
elseif it_mic_data-kurztext = 'Ingot Cu SHG Zinc'.
l_mean2 = v_mean_cushg.
move l_mean2 to keyp_dis1-avg.
elseif it_mic_data-kurztext = 'Ingot Cd SHG Zinc'.
l_mean2 = v_mean_cdshg.
move l_mean2 to keyp_dis1-avg.
elseif it_mic_data-kurztext = 'Ingot Fe SHG Zinc'.
l_mean2 = v_mean_feshg.
move l_mean2 to keyp_dis1-avg.
elseif it_mic_data-kurztext = 'Ingot Zn SHG Zinc'.
l_mean3 = v_mean_znshg.
move l_mean3 to keyp_dis1-avg.
clear l_mean3.
l_mean3 = it_mic_data-mittelwert.
move l_mean3 to keyp_dis1-ftd.
else.
move l_mean to keyp_dis1-avg.
endif.
if it_mic_data-masseinhsw = 'GLI'.
move 'g/l' to keyp_dis1-unit.
elseif it_mic_data-masseinhsw = 'PPM'.
move 'ppm' to keyp_dis1-unit.
elseif it_mic_data-masseinhsw = 'NO'.
move 'no' to keyp_dis1-unit.
else.
move it_mic_data-masseinhsw to keyp_dis1-unit.
endif.
append keyp_dis1.
clear keyp_dis1.
move 'X' to l_flag.
else.
if it_mic_data-kurztext = 'Ingot Zn SHG Zinc'.
clear l_mean3.
l_mean3 = it_mic_data-mittelwert.
move l_mean3 to keyp_dis1-ftd.
else.
move : l_mean1 to keyp_dis1-ftd.
endif.
append keyp_dis1.
clear keyp_dis1.
endif.
endloop.
if sy-subrc is not initial.
move &2 to keyp_dis1-desc.
append keyp_dis1.
clear keyp_dis1.
endif.
END-OF-DEFINITION.
*FIRST PAGE
********PLANT HEADER
MOVE 'CLZS HYDRO I PLANT - DAILY PRODUCTION REPORT' TO v_header.
********Production figure
LOOP AT it_disp1.
prod_disp-desc = it_disp1-desc.
prod_disp-d_plnmg = it_disp1-d_plnmg.
prod_disp-d_menge = it_disp1-d_menge.
prod_disp-u_plnmg = it_disp1-u_plnmg.
prod_disp-u_menge = it_disp1-u_menge.
prod_disp-avg = it_disp1-avg.
prod_disp-ask_rate = it_disp1-ask_rate.
prod_disp-m_plnmg = it_disp1-m_plnmg.
prod_disp-y_plnmg = it_disp1-y_plnmg.
prod_disp-y_menge = it_disp1-y_menge.
prod_disp-y_variance = it_disp1-y_variance.
APPEND prod_disp.
ENDLOOP.
********Key performance parameters
MOVE 'ROASTER :' TO keyp_disp-desc.
APPEND keyp_disp.
fill_kpp '% S/S IN 45 DEG' ' S/S in Calcine'.
MOVE 'LEACHING :' TO keyp_disp-desc.
APPEND keyp_disp.
fill_kpp '% S/S IN CAL' ' S/S in Calcine'.
fill_kpp '%water soluble Zn' ' W/S Zn in Jarosite Cake'.
fill_kpp '%total Zn in HBF' ' T/Zn in Jarosite cake'.
fill_kpp 'ZINC IN CT' ' Zn in Conditioning tank'.
fill_kpp 'g/l zn in neutral overflow' ' Zn in Electrolyte Prod (gpl)'.
fill_kpp 'PPM CU IN PS25' ' Purified Solution Cu'.
fill_kpp 'PPM CADMIUM IN PS25' ' Purified Solution Cd'.
fill_kpp 'PPM COBALT IN PS25' ' Purified Solution Co'.
MOVE 'CELLHOUSE :' TO keyp_disp-desc.
APPEND keyp_disp.
fill_kpp 'g/l zinc in cell feed' ' Cell Feed Zinc gpl'.
fill_kpp 'GPL ACID IN CELL FEED' ' Cell Feed acidity gpl'.
fill_kpp 'g/l manganese in cell feed' ' Cell Feed Mn gpl'.
LOOP AT t_imrg_add_disp.
MOVE: t_imrg_add_disp-desc TO keyp_disp-desc,
t_imrg_add_disp-d_value TO keyp_disp-ftd,
t_imrg_add_disp-c_value TO temp,
temp TO keyp_disp-avg.
IF t_imrg_add_disp-units = 'NO'.
MOVE: 'no' TO keyp_disp-unit.
ELSE.
MOVE: t_imrg_add_disp-units TO keyp_disp-unit.
ENDIF.
APPEND keyp_disp.CLEAR keyp_disp.
ENDLOOP.
fill_kp1 'Ingot Pb SHG Zinc' ' Ingot Pb SHG Zinc'.
fill_kp1 'Ingot Cu SHG Zinc' ' Ingot Cu SHG Zinc'.
fill_kp1 'Ingot Cd SHG Zinc' ' Ingot Cd SHG Zinc'.
fill_kp1 'Ingot Fe SHG Zinc' ' Ingot Fe SHG Zinc'.
fill_kp1 'Ingot Zn SHG Zinc' ' Ingot Zn SHG Zinc'.
********Cellhouse power
CATCH SYSTEM-EXCEPTIONS bcd_zerodivide = 1.
v_m_kwh_mt = v_ind8_m / cathode_recipt.
v_m_mt_mw = cathode_recipt / ( v_ind8_m / 24000 ).
ENDCATCH.
MOVE : v_d_kwh_mt TO disp_d_kwh_mt,
v_m_kwh_mt TO disp_m_kwh_mt,
v_d_mt_mw TO disp_d_mt_mw,
v_m_mt_mw TO disp_m_mt_mw.
*SECOND PAGE
********Raw Material
LOOP AT it_disp3.
rmat_disp-desc = it_disp3-desc.
rmat_disp-opstk = it_disp3-opstk.
rmat_disp-d_recpt = it_disp3-d_recpt.
rmat_disp-u_recpt = it_disp3-u_recpt.
rmat_disp-d_cons = it_disp3-d_cons.
rmat_disp-u_cons = it_disp3-u_cons.
rmat_disp-clstk = it_disp3-clstk.
APPEND rmat_disp.
ENDLOOP.
********Work in Progress
********Finished Goods
********power consumption
l_no_of_days = v_mm_en_dt+6(2).
CATCH SYSTEM-EXCEPTIONS bcd_zerodivide = 1.
l_bptarget = ( v_bp_nrms_p * v_gross_d ) / l_no_of_days.
l_act_d = v_ind6_d + v_ind2_d - ( v_ind3_d + ( v_ind4_d / 2 ) ) - v_ind5_d.
l_act_c = v_ind6_m + v_ind2_m - ( v_ind3_m + ( v_ind4_m / 2 ) ) - v_ind5_m.
l_pow_gen = ( v_ind2_d / 1000 ) / v_ind7_d.
ENDCATCH.
l_pow_gen_d = v_ind2_d / 1000.
l_pow_gen_c = v_ind9_m / 1000.
l_rec_con_d_kwh = v_ind8_d.
l_rec_con_c_kwh = v_ind8_m.
l_rec_con_d_mw = v_ind8_d / 24000.
l_rec_con_c_mw = v_ind8_m / ( 24000 * v_days_pased ).
LOOP AT t_disp_curr.
rcur_disp-time = t_disp_curr-time.
rcur_disp-current = t_disp_curr-current.
rcur_disp-kah = t_disp_curr-kah.
APPEND rcur_disp.
AT LAST.
SUM.
tot_kah = t_disp_curr-kah.
ENDAT.
ENDLOOP.
avg_kah = tot_kah / '24'.
*********************running hrs
LOOP AT it_disp6.
rhrs_disp-desc = it_disp6-desc.
rhrs_disp-opstk = it_disp6-d_runhrs.
rhrs_disp-d_recpt = it_disp6-m_runhrs.
APPEND rhrs_disp.
ENDLOOP.
rhrs_disp-desc = 'Turbo Generator'.
rhrs_disp-opstk = v_turbod.
rhrs_disp-d_recpt = v_turboc.
INSERT rhrs_disp INDEX 2.
**********************BREAK_DOWN & OIL
CLEAR value.
LOOP AT itab2.
IF itab2-equnr = 'NMZ-EH01G001'.
PERFORM s_conversion_h.
v_ftd_h1 = v_ftd_h1 + value.
CLEAR value.
ENDIF.
IF itab2-equnr = 'NMZ-EH01G002'.
PERFORM s_conversion_h.
v_ftd_h2 = v_ftd_h2 + value.
CLEAR value.
ENDIF.
IF itab2-equnr = 'NMZ-EH01V003'.
PERFORM s_conversion_h.
v_ftd_h3 = v_ftd_h3 + value.
CLEAR value.
ENDIF.
IF itab2-equnr = 'NMZ-EH01V001'.
PERFORM s_conversion_h.
v_ftd_h4 = v_ftd_h4 + value.
CLEAR value.
ENDIF.
IF itab2-equnr = 'NMZ-EH01V002'.
PERFORM s_conversion_h.
v_ftd_h5 = v_ftd_h5 + value.
CLEAR value.
ENDIF.
ENDLOOP.
LOOP AT t_oil.
AT END OF ind.
SUM.
IF t_oil-ind = 1.
v_***_o1 = t_oil-cdiff * 1000.
ELSEIF t_oil-ind = 2.
v_***_o2 = t_oil-cdiff * 1000.
ELSEIF t_oil-ind = 3.
v_***_o4 = t_oil-cdiff * 1000.
ELSEIF t_oil-ind = 4.
v_***_o5 = t_oil-cdiff * 1000.
ENDIF.
ENDAT.
IF t_oil-idate = p_repdt.
IF t_oil-ind = 1.
l_cdiff1 = l_cdiff1 + t_oil-cdiff.
ELSEIF t_oil-ind = 2.
l_cdiff2 = l_cdiff2 + t_oil-cdiff.
ELSEIF t_oil-ind = 3.
l_cdiff3 = l_cdiff3 + t_oil-cdiff.
ELSEIF t_oil-ind = 4.
l_cdiff4 = l_cdiff4 + t_oil-cdiff.
ENDIF.
ENDIF.
ENDLOOP.
v_ftd_o1 = l_cdiff1 * 1000.
v_ftd_o2 = l_cdiff2 * 1000.
v_ftd_o4 = l_cdiff3 * 1000.
v_ftd_o5 = l_cdiff4 * 1000.
*********Breakdown details----3rd page
LOOP AT itab INTO wa.
CALL FUNCTION 'FLTP_CHAR_CONVERSION'
EXPORTING
decim = 0
expon = 0
input = wa-auszt
ivalu = 'X'
IMPORTING
flstr = wk_char_auszt.
CONDENSE wk_char_auszt NO-GAPS.
wk_flt_auszt = wk_char_auszt.
wk_flt_auszt = wk_flt_auszt / 3600.
duration = wk_flt_auszt.
brkd_disp-eqdesc = wa-eqktx.
brkd_disp-nodesc = wa-qmtxt.
brkd_disp-hrs = duration.
APPEND brkd_disp.
ENDLOOP.
MOVE : v_ftd_h1 TO disp_ftd_h1,
v_ftd_h2 TO disp_ftd_h2,
v_ftd_h3 TO disp_ftd_h3,
v_ftd_h4 TO disp_ftd_h4,
v_ftd_h5 TO disp_ftd_h5,
v_ftd_o1 TO disp_ftd_o1,
v_ftd_o2 TO disp_ftd_o2,
v_ftd_o4 TO disp_ftd_o4,
v_ftd_o5 TO disp_ftd_o5,
v_***_o1 TO disp_***_o1,
v_***_o2 TO disp_***_o2,
v_***_o4 TO disp_***_o4,
v_***_o5 TO disp_***_o5,
l_bptarget TO disp_bptarget,
l_act_d TO disp_act_d,
l_act_c TO disp_act_c,
l_rec_con_d_kwh TO disp_d_kwh,
l_rec_con_c_kwh TO disp_c_kwh,
l_rec_con_d_mw TO disp_d_mw,
l_rec_con_c_mw TO disp_c_mw,
tot_kah TO disp_tot_kah,
avg_kah TO disp_avg_kah,
l_pow_gen TO disp_pow_gen,
l_pow_gen_d TO disp_pow_gen_d,
l_pow_gen_c TO disp_pow_gen_c,
v_cath_d TO disp_cath_d,
v_cath_c TO disp_cath_c,
v_anode_d TO disp_anode_d,
v_anode_c TO disp_anode_c.
wa_output_options-tdimmed = 'X'.
wa_control_parameters-device = 'PRINTER'.
wa_control_parameters-preview = 'X'.
IF rb3 = 'X'.
wa_control_parameters-getotf = 'X'.
wa_control_parameters-no_dialog = 'X'.
ENDIF.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZHZLPP_CLZSN_DAILY_MIS'
IMPORTING
fm_name = v_form_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
CALL FUNCTION v_form_name
EXPORTING
control_parameters = wa_control_parameters
output_options = wa_output_options
user_settings = 'X'
header = v_header
date = p_repdt
l_bptarget = disp_bptarget
l_act_d = disp_act_d
l_act_c = disp_act_c
disp_d_kwh = disp_d_kwh
disp_c_kwh = disp_c_kwh
disp_d_mw = disp_d_mw
disp_c_mw = disp_c_mw
disp_tot_kah = disp_tot_kah
disp_avg_kah = disp_avg_kah
disp_d_kwh_mt = disp_d_kwh_mt
disp_m_kwh_mt = disp_m_kwh_mt
disp_d_mt_mw = disp_d_mt_mw
disp_m_mt_mw = disp_m_mt_mw
disp_pow_gen = disp_pow_gen
disp_pow_gen_d = disp_pow_gen_d
disp_pow_gen_c = disp_pow_gen_c
disp_ftd_h1 = disp_ftd_h1
disp_ftd_h2 = disp_ftd_h2
disp_ftd_h3 = disp_ftd_h3
disp_ftd_h4 = disp_ftd_h4
disp_ftd_h5 = disp_ftd_h5
disp_ftd_o1 = disp_ftd_o1
disp_ftd_o2 = disp_ftd_o2
disp_ftd_o4 = disp_ftd_o4
disp_ftd_o5 = disp_ftd_o5
disp_***_o1 = disp_***_o1
disp_***_o2 = disp_***_o2
disp_***_o4 = disp_***_o4
disp_***_o5 = disp_***_o5
disp_cath_d = disp_cath_d
disp_cath_c = disp_cath_c
disp_anode_d = disp_anode_d
disp_anode_c = disp_anode_c
IMPORTING
job_output_info = w_return " .
TABLES
prod_tab = prod_disp
keyp_tab = keyp_disp
remk_tab = it_remarks
rmat_tab = rmat_disp
rwip_tab = it_disp4
rfng_tab = it_disp_fg
rcur_tab = rcur_disp
rhrs_tab = rhrs_disp
brkd_tab = brkd_disp
keyp_tab1 = keyp_dis1
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE 'Error in printing form' TYPE 'I'.
ENDIF.
********Downloading in pdf format.
IF rb3 = 'X'.
IF l_usract <> 9.
MOVE fullpath TO l_path.
i_otf[] = w_return-otfdata[].
CALL FUNCTION 'CONVERT_OTF' "
EXPORTING
format = 'PDF'
max_linewidth = 132
IMPORTING
bin_filesize = v_len_in
TABLES
otf = i_otf
lines = i_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
OTHERS = 4.
IF sy-subrc <> 0.
ENDIF.
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
bin_filesize = v_len_in
filename = l_path
filetype = 'BIN'
IMPORTING
filelength = w_filesize
TABLES
data_tab = i_tline
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc = 0.
MESSAGE 'File downloaded successfully' TYPE 'S'.
ENDIF.
ENDIF.
ENDIF.
IF sy-batch = 'X'. " SENDING MAILS IF SCHEDULED IN BACKGROUND
DATA: formname TYPE tdsfname,
fm_name TYPE rs38l_fnam,
control_parameters TYPE ssfctrlop,
output_options TYPE ssfcompop,
job_output_info TYPE ssfcrescl,
otf_data TYPE tsfotf.
DATA: otf TYPE TABLE OF itcoo WITH HEADER LINE,
doctab_archive TYPE TABLE OF docs WITH HEADER LINE,
lines TYPE TABLE OF tline WITH HEADER LINE,
bin_filesize TYPE i.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZHZLPP_CLZSN_DAILY_MIS'
IMPORTING
fm_name = v_form_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
control_parameters-no_dialog = 'X'.
control_parameters-getotf = 'X'.
CALL FUNCTION v_form_name
EXPORTING
control_parameters = control_parameters
header = v_header
date = p_repdt
l_bptarget = disp_bptarget
l_act_d = disp_act_d
l_act_c = disp_act_c
disp_d_kwh = disp_d_kwh
disp_c_kwh = disp_c_kwh
disp_d_mw = disp_d_mw
disp_c_mw = disp_c_mw
disp_tot_kah = disp_tot_kah
disp_avg_kah = disp_avg_kah
disp_d_kwh_mt = disp_d_kwh_mt
disp_m_kwh_mt = disp_m_kwh_mt
disp_d_mt_mw = disp_d_mt_mw
disp_m_mt_mw = disp_m_mt_mw
disp_pow_gen = disp_pow_gen
disp_pow_gen_d = disp_pow_gen_d
disp_pow_gen_c = disp_pow_gen_c
disp_ftd_h1 = disp_ftd_h1
disp_ftd_h2 = disp_ftd_h2
disp_ftd_h3 = disp_ftd_h3
disp_ftd_h4 = disp_ftd_h4
disp_ftd_h5 = disp_ftd_h5
disp_ftd_o1 = disp_ftd_o1
disp_ftd_o2 = disp_ftd_o2
disp_ftd_o4 = disp_ftd_o4
disp_ftd_o5 = disp_ftd_o5
disp_***_o1 = disp_***_o1
disp_***_o2 = disp_***_o2
disp_***_o4 = disp_***_o4
disp_***_o5 = disp_***_o5
disp_cath_d = disp_cath_d
disp_cath_c = disp_cath_c
disp_anode_d = disp_anode_d
disp_anode_c = disp_anode_c
IMPORTING
job_output_info = job_output_info
TABLES
prod_tab = prod_disp
keyp_tab = keyp_disp
remk_tab = it_remarks
rmat_tab = rmat_disp
rwip_tab = it_disp4
rfng_tab = it_disp_fg
rcur_tab = rcur_disp
rhrs_tab = rhrs_disp
brkd_tab = brkd_disp
keyp_tab1 = keyp_dis1
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc = 0.
otf_data = job_output_info-otfdata[].
CALL FUNCTION 'CONVERT_OTF_2_PDF'
IMPORTING
bin_filesize = bin_filesize
TABLES
otf = otf_data[]
doctab_archive = doctab_archive[]
lines = lines[]
EXCEPTIONS
err_conv_not_possible = 1
err_otf_mc_noendmarker = 2
OTHERS = 3.
IF sy-subrc = 0.
SUBMIT rsconn01 with mode = 'INT' AND RETURN.
* ----<<distrubution list>>----
PERFORM mail_users TABLES lines USING 'MIS-HY1A' v_header. " Donot put more than 8 email-ids
PERFORM mail_users TABLES lines USING 'MIS-HY1B' v_header. " in a distribution list
PERFORM mail_users TABLES lines USING 'MIS-HY1C' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1D' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1E' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1F' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1G' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1H' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1I' v_header.
PERFORM mail_users TABLES lines USING 'MIS-HY1J' v_header.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " print
*& Form get_download_path
* text
* --> p1 text
* <-- p2 text
FORM get_download_path .
CALL FUNCTION 'GUI_FILE_SAVE_DIALOG'
EXPORTING
window_title = 'Download as pdf file'
default_extension = 'pdf'
IMPORTING
fullpath = fullpath
user_action = l_usract.
IF l_usract = '9'.
STOP.
ENDIF.
ENDFORM. " get_download_path
*& Form mail_users
* text
* -->P_LINES text
* -->P_2153 text
* -->P_V_HEADER text
FORM mail_users TABLES p_lines STRUCTURE tline
USING p_dist_list
p_v_header.
CONSTANTS: c_raw TYPE so_obj_tp VALUE 'RAW',
c_pdf TYPE so_obj_tp VALUE 'PDF',
c_255 TYPE i VALUE 255,
c_134 TYPE i VALUE 134,
c_x TYPE c VALUE 'X'.
DATA: document_data LIKE sodocchgi1 ,
tab_lines TYPE i,
contents_txt TYPE TABLE OF solisti1 WITH HEADER LINE,
contents_bin TYPE TABLE OF solisti1 WITH HEADER LINE,
packing_list TYPE TABLE OF sopcklsti1 WITH HEADER LINE,
object_header TYPE TABLE OF solisti1 WITH HEADER LINE,
receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
l_str(255) ,
v1 TYPE i,
v2 TYPE i,
v3 TYPE i.
document_data-obj_name = 'EMAIL'.
document_data-obj_descr = p_v_header. " SUBJECT LINE
CONCATENATE 'Please find the attached SAP generated Daily Production Report for the day'
p_repdt+6(2)
p_repdt+4(2)
'.' p_repdt+0(4)
INTO contents_txt.
APPEND contents_txt.
CLEAR contents_txt.
APPEND contents_txt.
APPEND contents_txt.
DESCRIBE TABLE contents_txt LINES tab_lines.
READ TABLE contents_txt INDEX tab_lines.
document_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( contents_txt ).
document_data-doc_size = tab_lines .
CLEAR packing_list-transf_bin.
packing_list-head_start = 1.
packing_list-head_num = 0.
packing_list-body_start = 1.
packing_list-body_num = tab_lines.
packing_list-doc_type = c_raw.
packing_list-doc_size = document_data-doc_size.
APPEND packing_list.
LOOP AT p_lines.
CLEAR l_str.
l_str+0(2) = p_lines-tdformat.
l_str+2(132) = p_lines-tdline.
v2 = v1 + c_134.
IF v2 LE c_255.
contents_bin-line+v1(c_134) = l_str. v1 = v2.
ELSE.
v3 = v2 - c_255.
v2 = c_255 - v1.
IF NOT v2 IS INITIAL.
contents_bin-line+v1(v2) = l_str+0(v2).
ENDIF.
APPEND contents_bin.
CLEAR contents_bin.
v1 = v3.
v3 = 134 - v1.
IF NOT v1 IS INITIAL.
contents_bin-line+0(v1) = l_str+v3(v1).
ENDIF.
ENDIF.
ENDLOOP.
APPEND contents_bin.
CLEAR contents_bin.
DESCRIBE TABLE contents_bin LINES tab_lines.
READ TABLE contents_bin INDEX tab_lines.
CONCATENATE 'Hy-I Report'
p_repdt+6(2)
p_repdt+4(2)
'.' p_repdt+0(4)
'.pdf'
INTO object_header.
APPEND object_header.
packing_list-transf_bin = c_x.
packing_list-head_start = 1.
packing_list-head_num = 1.
packing_list-body_start = 1.
packing_list-body_num = tab_lines.
packing_list-doc_type = c_pdf.
packing_list-obj_name = 'text1'.
packing_list-obj_descr = 'Production report'.
packing_list-doc_size = tab_lines * 255 + STRLEN( contents_bin ).
APPEND packing_list.
receivers-receiver = p_dist_list.
receivers-rec_type = 'C'.
APPEND receivers.
CLEAR receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = document_data
put_in_outbox = ' '
SENDER_ADDRESS = 'CZPPPLG'
SENDER_ADDRESS_TYPE = 'B'
commit_work = 'X'
TABLES
packing_list = packing_list
object_header = object_header
contents_bin = contents_bin
contents_txt = contents_txt
receivers = receivers
EXCEPTIONS
too_many_receivers = 1
document_not_sent = 2
document_type_not_exist = 3
operation_no_authorization = 4
parameter_error = 5
x_error = 6
enqueue_error = 7
OTHERS = 8.
IF sy-subrc = 0.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 with mode = 'INT' AND RETURN.
ENDIF.
ENDFORM. " mail_users -
Error while executing the report to display on the web in BI 7.0?
Hi All,
In BI 7.0, Getting Error while executing the report to display on the web?
The error message displayed is:
" Network Access Message : The website cannot be found ".
Source: DNS error.
Why this error is coming.
Wht needs to be done.
Thanks in Advance.Hi Kishore,
All the configurations are in proper shape.
We need to change any IP adresses or proxy settings in the Internet explorer (Tools -> Internet options -> Connections -> LAN settings -> etc.,)
Do We need to configure any server address for getting the output to display on web pages in BI 7.0.
EP is not configured over here. Is that causing the problem.
Thansk in Advance. -
TSV_TNEW_PAGE_ALLOC_FAILED error while executing the report
Hi all,
. We are having an info cubeXFIAP_C12 (FIAP: Vendor Line Item Open).In which we have defined 10 Dimensions and 6 Line Item Dimensions. We have created a report on this with Key date as Input Variable Which gives me From Start to Till Date data. Also have an Variable on company code.
Then No of Records in my Cube is 45, 70,624.Compressed the Info Cube data .But No aggregates on it.
Now when I provide the key date as 30.06.2011 and Company code =XYZ.
I am unable to Execute the Report, It gives me a short Dump. Saying NO ROLL MEMORY.
Variables:
1. Key Date: Is a Customer Exit variable .If user Enters Data as 30.06.2011 ,It fetches data from u201C00000000u201D to u201C30.06.2011u201D.
2.Company code: Is a Manual Entry /Default variable.
I also have shot dump.Please find the error analysis of dump below:
The internal table "\FUNCTION-POOL=RRK0\FORM=MEGA_SORT_M\DATA=C_TSX_SORTK[2]-GT
ABIX[1]-GTABIX" could not be further extended. To enable
error handling, the table had to be delete before this log was written.
As a result, the table is displayed further down or, if you branch to
the ABAP Debugger, with 0 rows.
At the time of the termination, the following data was determined for
the relevant internal table:
Memory location: "Session memory"
Row width: 4
Number of rows: 1503307
Allocated rows: 1503307
Newly requested rows: 2048 (in 1 blocks)
can any one help me .......
Regards
LaxmanHi,
Just check following things
1http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCSTMM/BCCSTMM.pdf
2. See whether any back up process is happening and it has consumed the main memory.
3. Are you getting this error regularly
4. See any transport went and compression/aggregation got removed.
5. Check whether there are many dumps in ST22 same time when you execute report
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/4ab89e84-0d01-0010-cda2-82ddc3548c65?QuickLink=index&overridelayout=true
6. http://www.sap-press.de/download/dateien/1049/sappress_bw_performance_optimization_guide_080.pdf
7. Check whether Infoprovifder got removed from BIA
8. Query removed from BIA post transport
9. Run RSRT and regenerate the report.
Thanks and regards
Kiran -
Message "No applicable data found" after executing the report
Hi all,
I have 60 records in a cube which is extracted from a function module. I am able to see the data in the cube but when I execute the report I am getting the message u201CNo applicable data foundu201D. Why is that so?
Can any one please explain me what to do to bring data when the report is executed?
When I execute the query there is only one field selection criteria 0P_FPVANT and this is mandatory. When I checked the data in the cube I didn't find any field 0P_FPVANT but I found a field Fiscal Period Variant with the technical name, 0FISPER
I executed the query in RSRT and there also I am getting the same message, "No applicable data found".
Please advise what do I need to do inorder to get data when the report is executed?
Thank you.
Regards,
Pavan.I think so.
Ok let me take the other report 0FIAR_C02_Q1003. For this report the selection criteria is
Company code,
Customer and
Period/Fiscal Year
Of these only company code is mandatory. In the data in the cube I see that for co. code BP01 data is available. So I executed the report with co. code as BP01 but no data.
Then I gave co. code BP01 and Period /Fiscal year as 2008, 2008.03, still I see no data.
I tried with values in all the fields that are available in cube
co. code - BP01
Customer - PCS-C10
Period/Fiscal Year - 2008011
Now with respect to Period/Fiscal Year selection field in report, in cube there are 4 columns
Fiscal Year Period,
Posting Period,
Fiscal Year Variant and
Fiscal Year
I've tried all of them but when I enter values in all the fields still I am getting the same error, "no applicable data found".
Please advise.
Thank you.
Pavan. -
Executing the report in the background
Hi Frnds,
I want to execute a report in background.After executing the report I want to receive a mail.
I think this is possible through reporting agent.
so i need the steps for this how to do...pls do the need ful..waiting for reply..
Thanks and Regards
Rajasekar.Hi,
there are two parts of it -
a. you have some exceptions & you run report in background & are informed if exception occurs, for that kind of scenario look at -
http://help.sap.com/saphelp_bw33/helpdata/en/d3/a850390aa3b608e10000000a11402f/content.htm
b. Without exception you can play with WEb template & get informed -- I am not very sure.see this --
http://help.sap.com/saphelp_bw33/helpdata/en/9e/9f653ade969f4de10000000a114084/content.htm
If you are on BW350, it can be achieved by Information Broadcasting feature. see this -
http://help.sap.com/saphelp_nw04/helpdata/en/a5/359840dfa5a160e10000000a1550b0/content.htm
Hope it helps
regards
VC -
Can we execute the Reporting while the data is loading into that ODS/Cube.
Hi Friends,
Can we execute the reports on particular ODS/InfoCube in the following cases
1) When the data is loading into that ODS/Infocube.
2) When we are Archiving the data from that ODS/Infocube
Thanks & Regards,
Shaliny. MHi Shaliny,
First of all you are in the wrong forum, in Business Intelligence Old Forum (Read Only Archive) you will find better support.
In case you are loading data in an infocube you will be able to have report only until the request that has the icon ready for reporting filled. In case of an ODS object i don't think you will be able to have valid reporting since the ODS data firstly needs to be activated.
Nevertheless please post your question in the above link.
Kostas -
Error while executing the report FAGLB03
Hi,
i am getting the below error while executing the report FAGLB03 and double click on the balances to view the report on line item wise.
There is no active info structure for field catalog SAP_FI_DOC_003
Message no. Q6504
Diagnosis
The system wants to access the Archive Information System. It uses the field catalog SAP_FI_DOC_003 to do this. However, there are no active archive information structures for this field catalog.
Procedure
Create an info structure for field catalog SAP_FI_DOC_003 or activate an info structure for this field catalog.
Please could some one help me on this issue.
Thanks & Regards,
VenkatHi,
Please refer the below note.
1361304.
Reg
Madhu M -
How to know the User name and date, who executed the report last time.
Hi All,
We are collecting a list of reports which are not executed for past 3 months. Can anybody tell me how to know the username and date they executed the report last time.
Is there any table to look ? or is there any process ?
Thanks,
Ravi.Ravi,
Use SE16 - then look at rszcompdir.
We look up Version = 13 for queries.
Regards
Gill -
Using the Bursting engine for scheduling the Reports
Hi,
Can we use the Bursting Engine for scheduling the reports? For example I want to run a report in a scheduled time and send the mail to destination. We can do these things in the XML Publisher console. But we need to find any other way to schedule a report.
Thx,
Vijay.I am looking for the same thing.
I believe the APIs are entirely separate from the functionality in the BIP web application. So that there is no way to programmatically initiate the scheduling of a report/template already defined in the UI via a command line or API call. Is this accurate?
I sort of expected the APIs to have functionality that exposed the features of the web application, as opposed to just exposing the base functionality/engine of BIP. -
Sytsem Variable for Check Register Report
Hi all.
Does any one know which Sytsem Variable for Check Register Report that will show the total for the FC amount.
The one on our report now shows the System Variable 62 which is system currencyHi,
I believe there is no other System Variable for Check Register Report. It is because you can have many different currencies within the same report. Just like Multi-currency BP, only LC can be used.
If you check system information on the screen, you could also find this variable 62 there.
Thanks,
Gordon -
Getting different result while executing the report by debugger
Hi All,
I am facing a peculiar issue. When i execute the report from SE38 i am getting a particular set of values in a alv report.
But if i start debugging the report by using /h and execute . i am getting another set of result. How does it happen any idea.
Without debugger result is
a
b
c
With debugger i am getting result as
a
d
e
f
What may be the reason . Kindly help.
Thanks in advance.
S.VelsankarHi,
you mean you have'nt change anything while debugging and results are different when ALV is displayed?
I don't really understand your issue... Could you give more details?
Kr,
m. -
Button on toolbar after executing the report i.e. after result display
Hi, after executing the report result is being displayed.Now at this stage I want a button on the application toolbar clicking on which will allow a perform to get triggered.
I tried in following manner:
SELECTION-SCREEN: FUNCTION KEY 1.
*INITIALIZATION.
TABLES: SSCRFIELDS.
*MOVE icon_mail TO sscrfields-functxt_01.
*form SEND_EMAIL .
IF sy-ucomm = 'FC01'.
PERFORM SEND_MAIL_ASSET_STATUS.
ENDIF.
But it's not ok.The above way is not working.
Please note: I want button on toolbar only after executing the report i.e. after result display.
How can I do this?
Kindly guide.
Best regards.hi
if you are using alv than just pass 3 values to function call
I_CALLBACK_PROGRAM = SY-REPID " program name
I_CALLBACK_PF_STATUS_SET = 'STATUS' "PF-STATUS
I_CALLBACK_USER_COMMAND = 'UCOMMAND' " subroutine name
and check the value of UCOMM in subroutine
Maybe you are looking for
-
Final Cut Studio, I just got a new imac and transfered contents from prior computer. And Final Cut Studio opens to the licesning window, and it won't accept the SN. It was workign on prior computer fine. But it will not accept the upgrade, or orgina
-
I am trying to get my applet to use to use six buttons to change a text field but only four work. the two on the bottom right only change the bottom right text where as they should also change the top right text field along with the other four button
-
Hi All, I am unable to open the workspace url ...it gives these error Error Message in Mozila Not Found The requested URL /workspace/index.jsp was not found on this server. Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server Server at hyperio
-
Change the Legend topmost index on an XYGraph
On an XYGraph you can display an index and/or a vertical scrollbar on the legend. However, I don't see how you can identify or change the index. I am displaying a table of information next to the legend, and I would like to be able to scroll both a
-
Download page request: Link to manual download page
To the Adobe website code monkeys, Please include a link to http://www.adobe.com/products/flashplayer/fp_distribution3.html on http://get.adobe.com/flashplayer/ . DO NOT assume that the user is downloading flash player for the browser they are visiti