SPOOL FOR SMARTFORMS
Hi all,
I m getting 2 spool requests for a smartform instead of 1. I hav developed my smartform in user exit of Standard program.In spool it is generating one for my smartform and another for std one.
Please let me know what should i do so that only single spool comes.
Regards
Taranam
The standard program issues a Smartform too?
Try to force the non-generation for the spool order that you don't want.
I supouse that you don't want the spool order generating by the std program. So, if this spool order comes after yours, try to force the parameters for the std funcion call...
SSFCTRLOP-NO_OPEN = 'X'
SSFCTRLOP-NO_CLOSE
SSFCOMPOP-TDNEWID = ' '
Hope this will help you.
Regards,
Andrés Sarcevic.
Similar Messages
-
Single spool for multiple smartforms
Hi,
I am using Function modules SSF_open and ssf_close for creating single spool for multiple smartforms but when i try to run the program in background then the job is getting cancelled...........and if i run the program in foreground then the program is running fine giving single spool for multiple forms........
so the problem is that job should run in background if i run it in background instead job is getting cancelled.
please tell me the solution how can i get the single spool for and multiple smartforms as well as the job should run if i am doing so.Moved to the correct forum
-
HI experts,
how to create the spool request for smartform. can anyone help me. give me the complete procedure.
thanks in advance for ur responce.The user which send the smartform to the spool (probably wf-batch) needs an output device. You can maintain this in SU01.
Just look at sample code:
1.Send Smart Form output to spool using the FM <ws_formname> (FM name derived from the export parameters of SSF_FUNCTION_MODULE_NAME).
//Start of Code Sample
DATA : ws_formname TYPE rs38l_fnam.
TYPES: BEGIN OF ty_script,
trans_ref LIKE eanl-anlage,
cont_ref TYPE e_edmideservprovcontractid,
trans_code TYPE char05,
trans_reason TYPE char05,
market_sect LIKE eanl-zzmktscode,
efffrm_date LIKE sy-datum,
mprn LIKE iflot-zzmprn,
mlc TYPE char01,
subbuild_no(40) TYPE c,
build_no LIKE adrc-str_suppl1,
dep_fare LIKE adrc-str_suppl3,
post_town LIKE adrc-city1,
post_code LIKE adrc-post_code1,
asset_code LIKE egerh-kombinat,
paymnt_code(2) TYPE c,
model_code LIKE equi-typbz,
manuf_code LIKE equi-herst,
year_manuf LIKE equi-baujj,
serial_no LIKE equi-sernr,
meter_code TYPE char01,
meter_mech(2) TYPE c,
meas_cap TYPE zmeasur_cap,
role_code TYPE char03,
market_name LIKE eservice-serviceid,
status TYPE char01,
END OF ty_script.
DATA: i_scriptdata TYPE STANDARD TABLE OF ty_script
WITH HEADER LINE.
DATA: wa_output_options TYPE ssfcompop,
wa_control_params TYPE ssfctrlop,
wa_spoolnum TYPE rspoid,
wa_printdata TYPE efg_strn_printdata.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Your Form Name'
IMPORTING
fm_name = ws_formname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
CALL FUNCTION ws_formname
EXPORTING
control_parameters = wa_control_params
c = wa_printdata
IMPORTING
job_output_info = wa_job_output_info
TABLES
i_scriptdata_input = i_scriptdata(Your Script Data)
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
MOVE wa_job_output_info-spoolids] TO wa_spoolids[.
READ TABLE wa_spoolids INTO wa_spoolnum INDEX 1.
IF sy-subrc = 0.
DATA :id LIKE tsp01-rqident.
MOVE wa_spoolnum TO id.
ENDIF. .
Comments-Id Contains the Spool Request for the given smart form
//End of Code Sample
Convert Smart Form Output to Raw
Format
2.Convert the Spool Output to OTF using the FM RSPO_RETURN_SPOOLJOB.
//Start of Code Sample
data i_soli LIKE soli occurs 0 with header line.
CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
rqident = id
desired_type = 'OTF'
TABLES
buffer = i_soli
EXCEPTIONS
no_such_job = 1
job_contains_no_data = 2
selection_empty = 3
no_permission = 4
can_not_access = 5
read_error = 6
type_no_match = 7
OTHERS = 8.
Comments- i_soli contains the OTF data
//End of Code Sample
3.Convert the OTF using FM
SX_OBJECT_CONVERT_OTF_RAW.
DATA content_bin TYPE solix_tab.
DATA objhead TYPE soli_tab.
DATA i_soli_tab TYPE soli_tab.
DATA boolean TYPE sx_boolean.
DATA length TYPE so_obj_len.
LOOP AT i_soli.
APPEND i_soli TO i_soli_tab[].
ENDLOOP.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_RAW'
EXPORTING
format_src = 'OTF'
format_dst = 'RAW'
CHANGING
transfer_bin = boolean
content_txt = i_soli_tab
content_bin = content_bin
objhead = objhead
len = length
Convert Smart Form Output to Raw
Format
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
REward points if useful. -
Get Spool number for Smartform
Hi All,
I have created a smartform to print the POs created through ME21n. I have changed the config to use this smartform when a PO is changed/created. Everything is working fine. All I need is the spool number for each of the PO this is being printed. Can you please let me know how I can achieve this through the FM for smartform?
I AM USING 4.6C.
This is how I am using the function module
CALL FUNCTION FM_NAME
EXPORTING
CONTROL_PARAMETERS = CONTROL
OUTPUT_OPTIONS = OUTPUT
USER_SETTINGS = ' '
EKKO = L_DOC-XEKKO
PEKKO = L_DOC-XPEKKO
DRUVO = L_DRUVO
IMPORTING
JOB_OUTPUT_OPTIONS = JOB_OUTPUT_OPTIONS
TABLES
EKPO = L_DOC-XEKPO
PEKPO = L_DOC-XPEKPO
XAEND = IT_XAEND
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
All your inputs are greatly appreciated.
Thanks!
SandeepHi,
JOB_OUTPUT_OPTIONS is of type SSFCRESOP, which does not have a SPOOLIDS field/table.
I knwo that the function module SSF_CLOSE returns the spool id in a table. But, I am not sure how to use SSF_OPEN and SSF_CLOSE. Can you please throw some light on how I can use these to get the spool numbers?
This is what I have right now.
JOB_OUTPUT_OPTIONS-TDDEST = ITCPO-TDDEST.
JOB_OUTPUT_OPTIONS-TDNEWID = 'X'.
L_FORMNAME = TNAPR-FONAM.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = TNAPR-SFORM
FORMNAME = L_FORMNAME
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION FM_NAME
EXPORTING
CONTROL_PARAMETERS = CONTROL
OUTPUT_OPTIONS = OUTPUT
USER_SETTINGS = ' '
EKKO = L_DOC-XEKKO
PEKKO = L_DOC-XPEKKO
DRUVO = L_DRUVO
IMPORTING
JOB_OUTPUT_OPTIONS = JOB_OUTPUT_OPTIONS
TABLES
EKPO = L_DOC-XEKPO
PEKPO = L_DOC-XPEKPO
XAEND = IT_XAEND
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
SELECT RQIDENT RQOWNER RQCRETIME FROM TSP01 INTO TABLE IT_TSP01
WHERE RQOWNER = SY-UNAME.
IF SY-SUBRC = 0.
SORT IT_TSP01 BY RQCRETIME DESCENDING.
READ TABLE IT_TSP01 INDEX 1.
SPOOLID = IT_TSP01-RQIDENT.
PERFORM PROTOCOL_UPDATE USING '320' SPOOLID SPACE SPACE SPACE.
ENDIF.
ENDIF.
The SELECT part is wrong, I need to replace this code to get the correct spool numbers.
Thanks in advance.
Sandeep -
Convert spool (which is for smartform output) to PDF?
how to Convert spool which is for smartform output to PDF?
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF' is not working for smartform output,
if i use this there will be error spool not contain list output?
than whats the function module or way to convert spool contain smartform output to pdg?
regards,hi,
use this instead
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZNAK_SMARTFORM_CORRESPONDENCE'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = func_name
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
printer-getotf = 'X'.
printer-no_dialog = 'X'.
CALL FUNCTION func_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
control_parameters = printer
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
validity = ls_smart-validity
lifnr = ls_smart-lifnr
name1 = ls_smart-name1
pstlz = ls_smart-pstlz
regio = ls_smart-regio
stras = ls_smart-stras
smtp_addr = ls_smart-smtp_addr
IMPORTING
DOCUMENT_OUTPUT_INFO =
job_output_info = printer1
JOB_OUTPUT_OPTIONS =
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
t_otf[] = printer1-otfdata.
DATA gt_tline like TABLE OF tline occurs 0 with header line.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
EXPORTING
USE_OTF_MC_CMD = 'X'
ARCHIVE_INDEX =
IMPORTING
bin_filesize = w_file
TABLES
otf = t_otf
doctab_archive = gt_docs
lines = gt_tline
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. -
How to Convert spool which is for smartform output to PDF?
how to Convert spool which is for smartform output to PDF?
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF' is not working for smartform output,
if i use this there will be error spool not contain list output?
than whats the function module or way to convert spool contain smartform output to pdg?
regards,<b>Procedure</b>
When we activate the Smartform the system generates a Function Module. The function module name we can get from Smartfrom screen from menubar
Environment => Function Module_Name . In a report we can get this Function module name by calling a Function Module standard SSF_FUNCTION_MODULE_NAME. This function module at runtime calls the FM generated by smartform, which in turn is then used to pass data from the report to Smartform. In the report given below the FM generated is /1BCDWB/SF00000152 . In this FM we can see CONTROL_PARAMETERS in import tab. This is of type SSFCTRLOP. We need to set the GETOTF of this to be X. Setting this field will activate the OTF field in smartform.
In export tab of the FM generated by smartform we can see a parameter JOB_OUTPUT_INFO which is of type SSFCRESCL. The SSFCRESCL is a structure of having one of fields as OTFDATA. OTFDATA in turn is a table of type ITCOO. ITCOO has two fields TDPRINTCOM and TDPRINTPAR. TDPRINTCOM represents command line of OTF format data and TDPRINTPAR contains command parameters of OTF format data.
In every Smartform output in OTF format, TDPRINTCOM begins and ends with //. EP represents the end-of-page value for TDPRINTCOM field.
In addition we need to set few fields at the place where we call this FM(generated by smartform) in our program. While calling this FM we should set control_parameters, output_options, user_settings and job_putput_info fields as shown in program.
Once these settings are done we can call Function Module CONVERT_OTF to convert the OTF data of smartfrom output to PDF data format. Once these are done we can call method cl_gui_fronted_services=>file_save_dialog to specify the directory path where we want to save the output PDF file. After this we can call Function Module GUI_DOWNLOAD to download the PDF file on our local system.
<b>Here is a sample code of program to perform the function.</b>
SAMPLE CODE
[code]*&---------------------------------------------------------------------*
*& Report ZAMIT_SMART_FORM_PDF *
REPORT ZAMIT_SMART_FORM_PDF .
data: carr_id type sbook-carrid,
cparam type ssfctrlop,
outop type ssfcompop,
fm_name type rs38l_fnam.
DATA: tab_otf_data TYPE ssfcrescl,
pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
tab_otf_final TYPE itcoo OCCURS 0 WITH HEADER LINE,
file_size TYPE i,
bin_filesize TYPE i,
FILE_NAME type string,
File_path type string,
FULL_PATH type string.
parameter: p_custid type scustom-id default 1.
select-options: s_carrid for carr_id default 'LH' to 'LH'.
parameter: p_form type tdsfname default 'ZAMIT_SMART_FORM'.
data: customer type scustom,
bookings type ty_bookings,
connections type ty_connections.
start-of-selection.
***************** suppressing the dialog box for print preview****************************
outop-tddest = 'LP01'.
cparam-no_dialog = 'X'.
cparam-preview = SPACE.
cparam-getotf = 'X'.
select single * from scustom into customer where id = p_custid.
check sy-subrc = 0.
select * from sbook into table bookings
where customid = p_custid
and carrid in s_carrid
order by primary key.
select * from spfli into table connections
for all entries in bookings
where carrid = bookings-carrid
and connid = bookings-connid
order by primary key.
call function 'SSF_FUNCTION_MODULE_NAME'
exporting formname = p_form
* variant = ' '
* direct_call = ' '
importing fm_name = fm_name
exceptions no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
exit.
endif.
* calling the generated function module
call function fm_name
exporting
* archive_index =
* archive_parameters =
control_parameters = cparam
* mail_appl_obj =
* mail_recipient =
* mail_sender =
output_options = outop
user_settings = SPACE
bookings = bookings
customer = customer
connections = connections
importing
* document_output_info =
job_output_info = tab_otf_data
* job_output_options =
exceptions formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
if sy-subrc <> 0.
* error handling
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
tab_otf_final[] = tab_otf_data-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
max_linewidth = 132
* ARCHIVE_INDEX = ' '
* COPYNUMBER = 0
* ASCII_BIDI_VIS2LOG = ' '
IMPORTING
bin_filesize = bin_filesize
* BIN_FILE =
TABLES
otf = tab_otf_final
lines = pdf_tab
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD cl_gui_frontend_services=>file_save_dialog
* EXPORTING
* WINDOW_TITLE =
* DEFAULT_EXTENSION =
* DEFAULT_FILE_NAME =
* FILE_FILTER =
* INITIAL_DIRECTORY =
* WITH_ENCODING =
* PROMPT_ON_OVERWRITE = 'X'
CHANGING
filename = FILE_NAME
path = FILE_PATH
fullpath = FULL_PATH
* USER_ACTION =
* FILE_ENCODING =
* EXCEPTIONS
* CNTL_ERROR = 1
* ERROR_NO_GUI = 2
* NOT_SUPPORTED_BY_GUI = 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.
ENDIF.
*************downloading the converted PDF data to your local PC********
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = bin_filesize
filename = FULL_PATH
filetype = 'BIN'
* APPEND = ' '
* WRITE_FIELD_SEPARATOR = ' '
* HEADER = '00'
* TRUNC_TRAILING_BLANKS = ' '
* WRITE_LF = 'X'
* COL_SELECT = ' '
* COL_SELECT_MASK = ' '
* DAT_MODE = ' '
* CONFIRM_OVERWRITE = ' '
* NO_AUTH_CHECK = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* WRITE_BOM = ' '
* TRUNC_TRAILING_BLANKS_EOL = 'X'
IMPORTING
filelength = file_size
TABLES
data_tab = pdf_tab
* FIELDNAMES =
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
OTHERS = 22
IF sy-subrc <> 0.
ENDIF.
[/code]
Thanks and Regards,
Pavankumar -
Create coustom page size for Smartforms
Dear All
How to create coustom page size for smartforms.
rgds
pramodHI
To define a new page format, choose
Administration -> CCMS -> Print->® Spool Administration.
Choose Full Administration and then Page Formats on the Device Types tab page. On the next screen choose Change and Create or Create with Reference. Fill out the fields on the next screen.
Activating a New Page Format
Before using a new page format, you must specify it as a page format in a SAPscript form. Be careful when replacing a page format in a standard SAPscript form as the form may not necessarily fit on the new page format.
You also have to define a format and device type format for the new page format before you can use it.
Thanks and Regards
Santosh Kate -
Creating Spool from Smartform??
Hi
Can anybody tell how to get the spool from smartform?
Thanks in Advance
Davinder SinghHi Davinder,
After the execution of smartform function module the import parameter JOB_OUTPUT_INFO is populated with data. This is of type SSFCRESCL.
The component SPOOLIDS of JOB_OUTPUT_INFO contains list of spool id generated for smartform..
This spool id can be used to read spool request generated using any standard func module like RSPO_RETURN_ABAP_SPOOLJOB.
Hope this helps you....
Enjoy SAP.
Pankaj Singh. -
Seperate spool for email and fax
Hi ,
I am using smartfoms conveting this into PDF document , iam send email / fax / print .The scenerio is for customer 1 , send through email, Cust 2 send thru FAX etc . But for both same spool is generated with same number .I need seperate spool for each . Can any one share your thoughts ......
Regards,
VeeraHi,
Are you calling the smartforma functiona module, separately for each customer? I mean is it inside the loop...endloop.
check the control_parameters, output_options, and other mail related parameters being passed for each customer.
Regards,
Subramanian -
Single Spool for multiple smart forms
Hi,
I am doing Cheque Printing My multiple smart form in single spool
I Created Single spool for multiple smartforms and i can able to see all the smart forms in single spool
While I am printing smart form from spool it is taking only first page.
Any inputs how to slove this.
Regards
Azeez
Edited by: Rasheed salman on Feb 3, 2010 7:41 AMHi,
You can call Open Spool and Close Spool function modules. Between these two fm you can call your smartforms. Just have a look the procedure below.
Call function OPEN_SPOOL.
Call function SM1
Call function SM2
Call function SM3
Call function CLOSE_SPOOL.
Hope this will resolve your issue.
Thanks,
Abhijit -
Generate different spool for diff billing docs generated using VF04
Hi guys,
want to generate different spool for diff billing docs generated using VF04, when doing mass billing.
Pls reply guys...
Thanks & Regards,
SachinAre u using smartforms.
u when u loop at invoices and calling the smartform FM, u can make this parameter of output options as space. ls_control_param-no_close = ' '.
this will close spool and create a new one when fm is again called. -
Unable to generate spool for two tables in report output
Hi,
I created report with two custom containers displaying two tables in output. When I execute the report in background spool is created only for one table in top custom container.
What should be done to generate spool for both the tables in two different custom containers.
Thanks,
Abhiram.Hi,
Check the bellow link for your requirement.
<<link removed>>
Regards,
Goutam Kolluru.
Edited by: kishan P on Feb 2, 2012 1:50 PM -
How to spool for a file inside a procedure
Hi,
I have a Procedure. Now that procedure writes some values into a file in /tmp directory (in Unix). Now there is a server program that reads this file does some manipulations and writest the output to a particular fiel(this file not the same as input file) in the same directory. My PL/SQL code or procedure has to keep looking for this file (output file generated by server program). How can I spool for a file in PL/SQL? Is it possible? Could you please put some light on this as of how to do it?
Thanks in advanceHi,
I didnt get any exact way of spooling for the file. I tried to do this program for reading lines from a file using GET_LINE
create or replace procedure film as
log varchar2(300);
logfile UTL_FILE.FILE_TYPE;
begin
log := 'check_log';
logfile := utl_file.fopen('/tmp','check_log','R');
utl_file.get_line(logfile,log);
utl_file.fclose(logfile);
end;
show errors;
It gives me this error.BEGIN film; END;
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "SYS.UTL_FILE", line 101
ORA-06512: at "SYS.UTL_FILE", line 157
ORA-06512: at "DACSCAN.FILM", line 6
ORA-06512: at line 1
Could you please tell me where I am going wrong.
Thanks in advance -
Hello all,
I am facing a problem using smartforms. I am printing a report where there is a loop running for a list of plants. For printing the information of each plant, I need to use a new page. Information of one plant may take several pages but for every new plant, I need to insert a page break.
I am using a COMMAND with a checked next page option in my EVENT ON SORT BEGIN for the plant code.
This does the trick, but if I use the command at the bottom, it inserts a blank page at the end of the report. If I use the command at the top of the event, it first shows a blank page and then the data from the 2nd page.
Please sugest how can I fix this.
AnmolHi Friend,
You can use following tips for generating smartforms for every new plant.I have generated sales order report using this steps.You can refer it.Tips are given below:
1.Define the structure,workarea and internal table for sales order header and details and also define
select-options for sales order.
2.Also define the one STRUCTURE which has type as ssfctrlop.
e.g. control type ssfctrlop.
This variable we have to define because we are going to use this in
SSF_OPEN function.This is used to avoid print preview while openning smartform
for every sales order.
3. Select data from vbak for sales header.
4. Call function SSF_FUNCTION_MODULE_NAME.
e.g.*CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = w_formname
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
fm_name = w_functionname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
5.Now here define the various features or field in control structure.
This is controls for smartform.
e.g. control-no_dialog = 'X'.
control-preview = 'X'.
control-no_open = 'X'.
control-no_close = 'X'.
6. Call function SSF_OPEN.
Here you have to pass the control structure which you have define in declaration.
e.g.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
ARCHIVE_PARAMETERS =
USER_SETTINGS = 'X'
MAIL_SENDER =
MAIL_RECIPIENT =
MAIL_APPL_OBJ =
OUTPUT_OPTIONS =
control_parameters = control
IMPORTING
JOB_OUTPUT_OPTIONS =
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
7. Take loop at header internal table .
8. Select data from vbak for sales details. Also select data from respective tables
like makt,kna1 here.
9.Then call function module which generated after executing smartform. And also pass the control structure
in import parameter in this function module.
e.g. CALL FUNCTION '/1BCDWB/SF00000397'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
control_parameters = control
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
wa_vbak = wa_vbak
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
it_vbak = it_vbak
it_vbap = it_vbap
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
10.After endloop call function SSF_CLOSE.
If it will help you reward me points.
Regards,
Santosh. -
Create spool for background jobs which uses submit statement
Hi Gurus,
I have a quick question regarding the backgroud jobs. When we run a program in the background , it should create a spool for us, but, the problem comes when I am running a program in the background, its not creating the spool. This program uses SUBMIT statement. This program collects the data and it will submit to the other program and then retuen. In this case, its not creating a spool. Its very important for us to look at the spool for this program. Does anybody cam across this kind of problem? I need ur inputs.
Thanks in advance, <REMOVED BY MODERATOR>
Regards,
Srinivas.
Edited by: Alvaro Tejada Galindo on Mar 18, 2008 4:31 PMhi check this link ...
Scheduling a submitable program as a background task with the number number in a background request name. After scheduling, the background task is completed by function module JOB_CLOSE and released immediately.
DATA: number TYPE tbtcjob-jobcount,
name TYPE tbtcjob-jobname VALUE 'JOB_TEST',
print_parameters TYPE pri_params.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = name
IMPORTING
jobcount = number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
SUBMIT submitable TO SAP-SPOOL
SPOOL PARAMETERS print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB name NUMBER number
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = number
jobname = name
strtimmed = 'X'
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.
IF sy-subrc <> 0.
ENDIF.
ENDIF.
ENDIF.
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=backgroundsubmit&adv=false&sortby=cm_rnd_rankvalue
sy-subrc Meaning
0 Background task scheduled successfully.
4 Scheduling cancelled by user on the selection screen.
8 Error during scheduling, i.e. when accessing JOB_SUBMIT internally.
12 Error in internal number assignment.
regards,
venkat.
Edited by: venkat appikonda on Mar 18, 2008 6:32 PM
Maybe you are looking for
-
Help! Can't email pages document in pdf
I'm trying to send a one-page letter that is to be inserted into a book. The recipient needs the document in PDF format. I saved it in PDF but when I try to attach it, the whole text prints out into the email instead of a link to an electronic pdf
-
I just set up my 6100 for eprint. Is there a list of file types which eprint will convert to be compatible with my 6100? I know PDF and Word files work, but several others have I tried do not. This question was solved. View Solution.
-
제품 : ORACLE SERVER 작성날짜 : 1995-02-06 Subject: Recommended Diagnostic Practices The diagnostic procedures outlined here are intended as guidelines to dealing with various categories of errors. This is by no means an exhaustive list as the nature of th
-
Hello, We are getting the following error in the dev_icm trace file: ================================================================= [Thr 04] *** ERROR => IcmConnInitServerSSL: SapSSLSessionStart returned (-56): SSSLERR_SSL_ACCEPT [icxxconn_mt. 177
-
Inventory valuation with Duty, Freight & Insurance Breakdown
Hi We are implementing ECC 6.0 with EHP4. EHP5 is ruledout for this implementation. Business requirement is as follows: Background: Our US company is a holding company for many LATAM subs but our company is a subsidary of an Asian company. We are a t