Smartform print program to handle different mediums(1,2,5,6)
Hi ...
Iam writing a custom print program without copying any standard print program for a smartform..
This smartform will be configured for the mediums 1,2,5 and 6..
Can someone tell me like if other than normal code in the print program should we write any specific code to handle for different mediums (1,2,5 and 6) or else just the sameprogram that is used for medium 1 can handle all other mediums also...
Appreciate if someone can clearly state your views on this...
Thanks,
Kanthi..
Hi Kanthi,
i dont think merely a Print program will be able to give the the functionality of mediums 2,5 & 6.. u need to write additional code for that... this u can chk by lookin into any standard print program say for PO u can look into sapfm06p in NACE, u may find that there may be separate programs for separate functionalities..
hope it helps..
Similar Messages
-
Smartform print program for order confirmation
Hi experts.
I am looking for a smartform print program for order confirmation.
The order confirmation in standard is a script with the name RVADOR01 and I tried to copy and change but I don't know which to eliminate and whcih to keep it.
If any body written the program already please provide me or provide the link to check.
Thanks in advance
Saithis is the processing form.
form processing.
data: lf_fm_name type rs38l_fnam.
data: ls_control_param type ssfctrlop.
data: ls_composer_param type ssfcompop.
data: ls_recipient type swotobjid.
data: ls_sender type swotobjid.
data: lf_formname type tdsfname.
data: ls_addr_key like addr_key.
data: document_output_info type ssfcrespd,
job_output_info type ssfcrescl,
job_output_options type ssfcresop.
perform get_data.
check retcode = 0.
perform set_print_param using addr_key
changing ls_control_param
ls_composer_param
ls_recipient
ls_sender
retcode.
*Get the Smart Form name.
if not tnapr-sform is initial.
lf_formname = tnapr-sform.
else.
message e001(/smb40/ssfcomposer).
endif.
determine smartform function module for invoice
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = lf_formname
importing
fm_name = lf_fm_name
exceptions
no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
error handling
retcode = sy-subrc.
if sy-subrc = 1.
message e001(/smb40/ssfcomposer).
endif.
if sy-subrc = 2.
message e002(/smb40/ssfcomposer) with lf_formname.
endif.
perform protocol_update.
endif.
call function lf_fm_name
exporting
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = ls_control_param
mail_recipient = ls_recipient
mail_sender = ls_sender
output_options = ls_composer_param
user_settings = ' '
is_nast = nast
is_vbdka = vbdka
is_addres = addr_key
importing
document_output_info = document_output_info
job_output_info = job_output_info
job_output_options = job_output_options
tables
it_vbdpa = tvbdpa "Item information
it_vbdpau = tvbdpau "Subitem numbers
it_vedpa = tkomservp "Contract Item Validity
it_vedka = tkomservh "Contract Header Validity
it_vedpn = tkomservpn "Contract Item Cancellation Data
it_vedkn = tkomservhn "Contract Header Cancellation DA
exceptions
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
others = 5.
if sy-subrc <> 0.
retcode = sy-subrc.
perform protocol_update.
get SmartForm protocoll and store it in the NAST protocoll
perform add_smfrm_prot.
endif.
endform. "processing -
Error in customization of smartform ,print program in OPK8
Hello All,
I am ABAP consultant .i created a new smartform in original language in FR and a print Zprogram.
while doing customization for smartform in the transaction OPK8 , the system is throwin an error saying that
the form is not availble in french .but form is there and in active state .
if i execute my program manually i am able to generate spool .
can any one please solve the problem or can any one sent the customization steps .
looking forward for good answers .
thanks
AneHi Shah,
Are you using any include texts in the smartform. You have to check the check box No error if no error exits.
If you are not using the texts,Put a hard code break point in program lines at different steps and see till which part of the code is executed successfully.
Thanks,
Vamshi. -
hi all,
I have copied rlb_invoice in a zprogram.Iam getting my smartform in the print preview but it is empty . I want to know where to write the select statements.
thanx & rgds.
points will be rewarded.
Message was edited by:
abapuser
Message was edited by:
abapuserHi,
You have to write your select query in your print program(Coded using SE38 and type 1)
In that program once you have retrieved data using your select query pass that data to the function module generated by Smartforms.
If you are not clear please free to get back to me.
-B S B -
Hello,
Is there any method to find the name of the print prog of a smartform just from the name of the SFHi
Using the<b> NACE</b> tcode you can find it
If you know the application type and the related Output type for that Smartform/script to which it is used.
Or from the table<b> TNAPR</b> enter SF name and take the program Name
<b>Reward points for useful Answers</b>
Regards
Anji -
Payment program F110 - how to add second print program in customizing
Hello all,
i would like to add second (another print program after standard sapscript print program customized in table T042Z) print program in transaction F110. This second smartform print program should be customizable and triggered automatically within payment run.
Thanks, zd.Hi,
You can assign two forms in FBZP.
Payment methods per company code
Double click on payment method
In Form Data
You can assign Next Form
Both the forms should get printed when you run F110.
Thanks,
Ravi -
Standard print program & smart form for SALES ORDER
Hi,
I need
1. Print program &
2. SMART FORM
for "Sales Order".
and also please let me know how to migrate and do the required changes in smartform & print program.Hi Sameer,
Goto NACE tcode-> choose the application u want( like billing for invoice, PO)->output type->output type->processing routineon left side
Here u will find the standard program name and smartform .
Thanks,
Reward If Helpful. -
Hi Experts,
I am modifying an existing smartform print program,
after modifications, when I am clicking on printpriview button after selecting the zee Output Type
in order to test the form, I am unable to see the preview,
Can anybody tell me what are the points to check?.
I already checked the parameters passed to control structures.
They are fine. Even i am not able to see the printpreview.
Kindly help.
The sf is for Delevary
and the transaction i am using isVL03N
Regards,
Noor.hi,
Put break points in your program and execute it or else check for address nodes read_text fm
There may be some error in smartforms or driver program,
just make the break point and trying to debugg that
We can consider many checks in this case.
1. Check whether the Local printer exists or not.
2. If you are using any Address NOdes, check whether the Address number is holding a value.
3. Also check whether a record exists with your condition type/Delivery in the NAST table.
4. You can see the default local printer in SU3.
Use SFTRACE tcode to trace the error. -
Dear all,
Any one have the standard PO smartforms print program /SMB40/FM06P?? I can't find it on my ECC 6.0 system. Anyone can share it to me??
Regards,
KitHi,
I checked in ECC5o.
It's for PO only.
/SMB40/FM06P : Smart Form Print Program for Purchasing Documents.
Narasimha -
Call two smartforms from two different print programs
Hi Sapiens,
I have a requirement that there are two different smartforms and they have there independent print programs.
Just wanted to know weather is it possible in SAP to merge those to smartforms and there print programs so that first smartform is displayed first and second smartform is printed at its back(duplex printing).
Regards
MilindHi,
You can use submit program in the first program to call the second program and
fetch the required interface data related to the second smartform and once u have the interface data
for both the programs then u can merge the both smartforms data and display them as one layout instead of displaying the two layouts in different formats.
For merging of data of both the smartforms u can do :Convert the output of first smartform into OTF format data then convert the data of second smartform into OTF table and append it to the first table .
Now u have the data of both the smartforms in one table then convert this OTF data into PDF format and create a spool request with the combined forms data.
Thanks,
M.Naveen Kumar. -
Print program for the smartform for selecting the output type (email/fax)
Hi All,
Requirement :I have to create a print program for the smartform where the output type may be print out,email or fax ,so i need to put the condition for selecting the output type (like printout,email,fax).
can any body please let me know how to put the condition for selecting the desired output type ?
Thanks in advance
RahulHi
It is not the output type that has to be changed
it is the MEDIUM which you have to change and configure
for printout medium is 1
for FAX medium is 2
for MAIL it is 7.
so instead of printout change the medium to 2 or 7 for the same output type and attach to the same driver program and smartform/form.
Reward points for useful Answers
Regards
Anji -
Handling Output in the print program
All,
I have the following issue.
We are having a single custom smartform for printing purchase order used for printing for 32 company codes, Because of this smartform has been tide up with lot of "Conditions"
Now we wanted to split this smartform based on regions ie Americana, APEC, Europe, ME & Africa.
But the problem is this Smartform has been currently called using a single output type.
So if we created 4 copy of this Smartform (1 for each region), we don't wanted to create 4 new output types for calling these forms according to the region.
So we are thinking creating a custom table contains the region code and smartform name. so in the print program we are going to read this table and get the smartform and go for priting.
Is anybody come across this kind of problem. Is any other better options available to handle this?
PS: I feel this is not smartform issue. that's why i created under general abap. Moderators are agree with this
a®I faced this situation before and we used <generic_sf_name>_US , <generic_sf_name>_EU etc... and handled it in the print program
case.
when CON1.
when CON2.
endcase.
call function 'lv_name' ... -
Contents of a custom print program for a custom smartform
Hi...
Can you please tell me if we are writing a custom print program from scratch for a custom smartform for which there is no standard form available what are all the things that need to be coded in the print program..
My doubts on this are if we are configuring this form for output types of PO purchase order for mediums 1,2, 5 and 6 does any extra coding need to be done in the print program that is related to these mediums or is it just a configuration issue..
Apart from data retrieval part and call the function modules to send the data to smartforms what are the other things that we need to code in a custom smartform.. Anything that we need to code related to printing issues..
It would be great if someone can post a custom print program for any output type valid for mediums 1, 2, 5 and 6.
Also my last doubt is do we need to do anything in SE11 in designing a smartform and in what context do we need it...
Thanks and appreciate your help... Surely will reward for all the helpful answers..
Thanks again..
Kanthi..Hi,
yes you need to create your own print program. You need to catch printing information and to send data to your smartforms.
To send data to your smartforms you need to use structure describe in the data dictionnary.
This is a peace of code for sending information to a smartform that will be print used an external program (Esker)
DATA: it_data LIKE TABLE OF zssf_bl WITH HEADER LINE,
w_formname TYPE tdsfname ,
w_fm_name TYPE rs38l_fnam ,
is_output TYPE ssfcompop ,
is_control TYPE ssfctrlop ,
is_job_out TYPE ssfcresop .
* Récupère le nom du module fonction.
MOVE 'Z_BL_STT' TO w_formname.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = w_formname
IMPORTING
fm_name = w_fm_name
EXCEPTIONS
OTHERS = 3.
* Prépare les paramètres d'impression.
is_output-xsfcmode = 'X'.
is_output-xsf = 'X'.
is_output-xsfoutmode = 'S'.
is_output-xsfoutdev = 'DOCL'.
is_output-xsfformat = 'X'.
is_output-tdnoprev = 'X'.
is_output-tdnoprint = ' '.
is_output-tddest = 'DOCL'.
is_output-tdprinter = 'PLAIN'.
is_output-tdnewid = 'X'.
is_output-tdimmed = 'X'.
is_output-tddelete = 'X'.
is_control-no_dialog = 'X'.
is_control-preview = ' '.
is_control-no_open = 'X'.
is_control-no_close = ' '.
* Prepare le formulaire
CALL FUNCTION 'SSF_OPEN'
EXPORTING
user_settings = ' '
output_options = is_output
control_parameters = is_control
IMPORTING
job_output_options = is_job_out
EXCEPTIONS
OTHERS = 5.
* Appels du formulaire.
CALL FUNCTION w_fm_name
EXPORTING
control_parameters = is_control
output_options = is_output
is_bl = zbl_soustrait
TABLES
it_data = it_data
EXCEPTIONS
OTHERS = 5.
You need to catch information from the NAST table maybe
Rgd
Frédéric -
How to call two smartforms with using a single print program
Hi,
I have a requirement wherein I need to call two smartforms using a single print program.
The interface parameters are different in two smartforms.
I presently solved the issue using the smartform names as the reference.
Can anyone let me know if there is any other way to solve it.
I heard something about global params. But not sure.
Please let me know the best possible way to solve this issue.
Thanks and Regards,
DebabrataHi Debabrata,
Based on the condition in your print program you can call the below code
fname1 TYPE rs38l_fnam.
IF -
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORMS'
importing
fm_name = fname1
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 FNAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS=
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
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.
ELSE.
fname2 TYPE rs38l_fnam.
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORMS'
importing
fm_name = fname2
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 FNAME
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS=
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
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.
ENDIF. -
How to write print program for smartforms
Hi all
I need to develop new smartform and its print program.
But Im not experience in writing print program for smartform.
Ive gone through the simple print program sample that use only one table as input and one table for output.
But my smartforms require few tables for input and output.
How should I define the Data?
Can anyone guide me on how to write it.
Thanks & Regards
azTransaction code SMARTFORMS
Create new smartforms call ZSMART
2. Define looping process for internal table
Pages and windows
First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
Here, you can specify your title and page numbering
&SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
Main windows -> TABLE -> DATA
In the Loop section, tick Internal table and fill in
ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
3. Define table in smartforms
Global settings :
Form interface
Variable name Type assignment Reference type
ITAB1 TYPE Table Structure
Global definitions
Variable name Type assignment Reference type
ITAB2 TYPE Table Structure
4. To display the data in the form
Make used of the Table Painter and declare the Line Type in Tabstrips Table
e.g. HD_GEN for printing header details,
IT_GEN for printing data details.
You have to specify the Line Type in your Text elements in the Tabstrips Output options.
Tick the New Line and specify the Line Type for outputting the data.
Declare your output fields in Text elements
Tabstrips - Output Options
For different fonts use this Style : IDWTCERTSTYLE
For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
5. Calling SMARTFORMS from your ABAP program
REPORT ZSMARTFORM.
Calling SMARTFORMS from your ABAP program.
Collecting all the table data in your program, and pass once to SMARTFORMS
SMARTFORMS
Declare your table type in :-
Global Settings -> Form Interface
Global Definintions -> Global Data
Main Window -> Table -> DATA
Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
http://sapr3.tripod.com
TABLES: MKPF.
DATA: FM_NAME TYPE RS38L_FNAM.
DATA: BEGIN OF INT_MKPF OCCURS 0.
INCLUDE STRUCTURE MKPF.
DATA: END OF INT_MKPF.
SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
MOVE-CORRESPONDING MKPF TO INT_MKPF.
APPEND INT_MKPF.
ENDSELECT.
At the end of your program.
Passing data to SMARTFORMS
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = 'ZSMARTFORM'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
if sy-subrc 0.
WRITE: / 'ERROR 1'.
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
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
GS_MKPF = INT_MKPF
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.
Reward points...
Maybe you are looking for
-
XML to database using OracleXML ...
I am trying to insert xml file into CCX_persons table : I got the error message: C:\XML>java OracleXML putXML -user shrikant/akola@devdb -fileName xmlperson.xml "ccx_persons" oracle.xml.sql.OracleXMLSQLException: java.lang.ClassCastException: oracle.
-
I have the iPhone 4S and the wifi was working on it earlier yesterday. I noticed that the wifi didn't kick on last night. It has the network memorized so it could connect automatically. The network name pops up and there's a signal but the spinning c
-
Hello, I want to update table building_test from table buildings if name is null or if county_id or region_id is null or -1 The below query works fine if my building_test table contains null values. if I add a test value with region or county -1, I g
-
Trouble re installing adobe creative suite 6 after upgrading laptop
Im having issues downloading creative design suite with second user code after upgrading my laptop @
-
PrintJob() not displaying dynamically loaded images
Hi all, I have an image-loading function given to me by a coworker that I'm using to load and smooth external images. It works great. However, when I go to print the slideshow I've created, I cannot figure out how to get these images to display. I'll