Tables in smartforms
Hello Gurus, i am printing many tables in a smartform. The problem is that when the page changes i have half of a table o the first page and another half on the second page. Can i set the table to be unbreakable, i mean that if there is no space on the current page the table should be printed on the second page.
I will reward points, please help it`s urgent.
Hi,
It was easy with SAPscript, but how to do it with SF's. For 4.7 version if you are using tables, there are two options for protection against line break:
- You can protect a line type against page break.
- You can protect several table lines against page break for output in the main area.
Protection against page break for line types
- Double-click on your table node and choose the Table tab page.
- Switch to the detail view by choosing the Details pushbutton.
- Set the Protection against page break checkbox in the table for the relevant line type. Table lines that use this line type are output on one page.
Protection against page break for several table lines
- Expand the main area of your table node in the navigation tree.
- Insert a file node for the table lines to be protected in the main area.
- If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file using Drag&Drop. Otherwise, create the table lines as subnodes of the file.
- Choose the Output Options tab page of the file node and set the Page Protection option. All table lines that are in the file with the Page Protection option set are output on one page.
In 4.6, Alternatively in a paragraph format use the Page protection attribute to determine whether or not to display a paragraph completely on one page. Mark it if you want to avoid that a paragraph is split up by a page break. If on the current page (only in the main window) there is not enough space left for the paragraph, the entire paragraph appears on the next page.
Regards,
Bhaskar
Similar Messages
-
Issue in display format of a internal table in SMARTFORM
I m printing an internal table in smartform.when a particular field exceeds the coloumn's length.the rest of the texts come down to the next line.It can be shown in the below example.i m printing "+ text to be printed" in that particular coloumn.
Because of the size of the coloumn in table ,"ed." comes down as shown.
+ text to be print
ed.
I dont want ed to come directly down '+'.I want it to start from where 't' of 'text'
starts in the above line.
Notice that the requirement is to print "ed" after '4' spaces.
Please suggest what i need to do to get the desired result...
Regards
RudraUnfortunately there is no such way.
-
Issue in display format of internal table in smartform
I m printing an internal table in smartform.when a particular field exceeds the coloumn's length.the rest of the texts come down to the next line.It can be shown in the below example.i m printing "+ text to be printed" in that particular coloumn.
Because of the size of the coloumn in table ,"ed." comes down as shown.
<b>+ text to be print
ed. </b>
its coming by default.
I want it like <b>+ text to be print
ed</b>
I dont want ed to come directly down '+'.I want it to start from where 't' of 'text'
starts in the above line.
Notice that the requirement is to print "ed" after '2' spaces.And we can not use the string length concept bcoz not of characters after which the line comes down is not fixed.May be some change of setting in smartform will do the trick.
Please suggest what i need to do to get the desired result...
Regards
RudraUnfortunately there is no such way.
-
Declaring an internal table in smartform
hi,
can anyone tell how to declare internal table in smartform.
the internal table contains fields from 2 or more data dictionary tables(eg.kna1
and adrc). after this from the print program(internal table containing data in print
program) internal table should be passed to the smartform.
thanks.hi laxya,
if u want to pass the data from internal table in print program to Smartform.. there is only way.. that is using form interface..
1. goto se11, create a structure same as the itab in the print program.ex. <b>z_itab</b>
2. create line type... se11>select radio button-DATA type><b>z_it_itab</b> >press create>then select>TABLE Type> then entrer some text--> in the line type Field in giveth Str name u have created in STEP 1. activate it.
3. got SMARTFORMS-> form inteface>tables tabe--> give some name ex <b>IT_tab type z_it_itab</b>.
then acivate it.. then in the driver progam pass this table data.
Exapmpel
CALL FUNCTION fp_v_fm_name
EXPORTING
archive_index = toa_dara
archive_parameters = arc_params
control_parameters = fp_st_control_parameters
user_settings = space
output_options = fp_st_output_options
wa_vbdkr = fp_st_vbdkr
IMPORTING
job_output_info = l_it_ssfcrescl
job_output_options = l_it_ssfcresop
TABLES
<b> IT_tab = z_it_itab (or table in driver program)</b>
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.
Another way is cteate a type in Globaldifination-->types tab..
ex:
types: begin of ty_itab,
matnr type matnr,
meins type meins
vrkme type vrkme,
end of ty_itab,
ty_it_itab type standard table of ty_itab.
then GLOBAL DIFINATION>GLOBAL DATA TAB>IT)ITAB TYPE TY_IT_ITAB.
BUT In this u can't pass the data from the print Program.. if u want to populate data in to this table... u have to write the Select query in the GLOBAL DIFINATIONS-->INITILIZATIONS TAB.
Please Close this thread.. when u r problem is solved
Reward if Helpful
Regards
Naresh Reddy K
Message was edited by:
Naresh Reddy -
PASSING INTERNAL TABLE IN SMARTFORM
HI' I M NEW TO SMARTFORMS, MY PROBLEM IS =THAT
I'VE CREATED A NEW TYPE(SAY TY_BKPF) IN THE DRIVER PROGRAM.
THEN I'VE DECLARED AN INTERNAL TABLE OF THIS TYPE.
TO PASS THIS INTERNAL TABLE INTO MY SMARTFORM I'VE PASSED THE INTERNAL TABLE'S NAME INTO THE FUNCTION MODULE UNDER THE TABLES PARAMETER.
BUT I'M NOT ABLE TO UNDERSTAND AS TO WHAT TYPE SHOULD I GIVE IT IN THE FORM INTERFACE IN THE TABLES TAB.
PLZ HELP.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
Also have a look at below sample code. It will give you idea abt the same.
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
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.
endif.
Have a look at below link for more help on smart forms.
http://sap.ionelburlacu.ro/sap0/sapsf001.htm
http://help.sap.com/saphelp_erp2004/helpdata/en/a9/de6838abce021ae10000009b38f842/frameset.htm
I hope it helps.
Best Regards,
Vibha
*Please mark all the helpful answers -
How to Define Internal Table in Smartform
Hello,
I have some problem on define Internal Table in Smartform
I define a Temp_IT_Gen Type LBBIL_IT_GEN in Global Definiations
but i find that it is not available for me to append data into it,
the error message is Temp_IT_Gen is not a Internal Table - the Occurs n Specification is missing
so how can i solve it?
i want to use the internal table in the hold program.
Thanks a lot in advance.Hi,
First U define the Table type in 'TYPES' tab of Global Definitions and then assing that table type to Internal table in 'Global Data' tab.
Eg:
define the Table Type like below in TYPES tab.
TYPES:BEGIN OF ty_TEMP.
INCLUDE STRUCTURE XXXXXXX.
TYPES:END OF ty_TEMP.
TYPES: g_t_temp TYPE STANDARD TABLE OF ty_TEMP .
Now, define the Internal table in Global Data tab like below:
Variable Name Type assignment Associated Type
G_T_ITEM_1 TYPE G_T_TEMP
NOTE: whatever U define in Global Definitions can be used only in SMARTFORM, if u want to use it in Program U must define in Form Interface.
Hope it helps!!
Rgds,
Pavan -
While selecting Frame for Table in Smartform
hi
While i am selecting Frame for Table in Smartform , it displaying very Bold frame.
wat is the reason,
guide mehi,
do this steps,
->first in the shading of the table select white color
->provide the saturation as 100
->select the pattern and select any one of the pattern
->and then check the output
you will get the required do this in the same fashion i explained
Thanks,
Nethaji. -
how can we declare an internal table for a standard sap table in smartforms in the 'Global Setting' part of smartforms?
Hai,
You can define the standard table in smartforms like this.
In Global settings:
variable name type assignment reference type
it_ekpo type table structure
In Global definitions:
variable name type assignment reference type
it_ekpo type table structure
regards,
kamala. -
How to Create a Table in SmartForms...?
Hi,
I want to create a table in smartforms. can u tell me the procedure....?You can create a table type in the abap dictionary and then use it as type for the table in the global interface of the smartform.
-
How to restrict height of table in smartform without using template
Hi Gurus,
I am facing a problem with table in smartform.I have 5 records in my table.If i print all 5 then table is fine.But if i get only one record in table then size of the table reduces to one row.Is there any way that i can keep my table height same as for 5 records,though i pass 1 record.I cannot use template here,because page-breaks are used in the form .
Your solutions are highly appreciated.
Thanks and regards,
MeenakshiHi,
As far my knowledge goes, If there is one record then table lines will take the height of only one row. You cannot Restrict it to take height of 5 rows.
A temporary solution could be to add empty records in your internal table so that the table uses all the 5 rows in the table while printing in the smartform. Since they are empty records your smartform will not display any data but will only use the height.
If you have 1 record add 4 empty records, Similarly if you have 2 records add 3 empty records...
This way all time the table will take the height of 5 rows.
As i said earlier this could be a temporary solution.
Thanks,
Hari Prasad. -
How to display table in smartforms
hai
I want to display the output in table.. how to set table.. I tried with the display framed framed patterns but its not working.. is that right method?? pls give suggestionHi
Yes,you can display the contents of the output using tables.
Refer these links:
Tables in Smartforms
drawing a table in smartforms.
passing tables in smartforms
Drawing table in smartforms
Creating Tables in Smartforms
Regards,
Sravanthi -
Problem with printing footer of table in Smartforms
Hi Gurus!
I have created a table in a window in Smartforms. I need to put in the totals at the footer of the table, displaying these values only at the end of the page. The problem I have encountered is that the footer prints immediately after the line of the main area. The form i'm printing right now is pre-printed, so I need to write the footer at a specified area.
Let's say my table accommodates 20 lines. The footer must be written immediately after the 20th line. If, on the last page, there are only 10 lines, the footer must still print on the area after the 20th line.
Really need your help guys, i'm hoping for a quick response. Thanks!I need to put both the main area and the footer in the same loop because there is a field where, when changed, it must page-break. The fields/values in the main area and the footer are all part of a sub-table that depends on a field of a bigger table.
my smartform looks like this:
Loop at header table.
if order number changes, start new page.
loop at table x.
main area - print items of the table where order_number = header_table-order_number.
footer - print totals of the table where order_number = header_table-order_number.
Endloop
So you see, i need to place the footer inside the loop also. It's the only way I know to work around this.
Thanks. -
How to decrease the width of the border line of a table in smartform in 4.7
hi all,
i want to decrease the width of the border line of a table in smartform in 4.7 version. how can i do it? plz reply.Hi,
When u r going to create a table in forms it will show the all details regarding the tables
like -> color
-> width etc...
From there u can do that .
u can also select the table format as all ready defined formats i.e available in he same screen. -
How can I take check box in particular cell of the table in smartforms??
Hi experts,
pls tell me how can I take check box in particular cell of the table in smartforms??
It is not interactive form.
I hv taken small windows as check boxes.but i think it is not a proper solution....give me another solution...Hi,
first create text for a particular cell.
In that we have a text editor in that text editor we have symbols in include menu.
whatever the symboll u want to put to ur cell . just assign it.
please check it. if it helpful reward points.
regards,
satish. -
How to Import customized internal table to smartform from Print Program
Hi Gurus,
I want to Import customized internal table to smartform from print program, Can anybody tell me how it is possible.
With regards,
S.SaravananThere is no problem passing an internal table to a smarforms, smartforms have the same interface as a function module ([Defining the Form Interface|http://help.sap.com/saphelp_nw70/helpdata/en/1c/f40c5bddf311d3b574006094192fe3/frameset.htm] in [Smart Forms|http://help.sap.com/saphelp_nw70/helpdata/en/a5/de6838abce021ae10000009b38f842/frameset.htm]) so could you elaborate a little more on your requirement (is it a standard a custom forms, etc.)
Regards,
Raymond -
How to merge cells in tables if SmartForms like colspan/rowspan in HTML
Hi!
Is it possible to merge cells in a tables in SmartForms like colspan/rowspan parameters in HTML?
Both horisontal and vertical merging needed both in header and in body of the table.
Thanks!No it is not possible.
For merging purpose we have to create seperate windows for that col or rows.
Maybe you are looking for
-
Oracle 9i Support for multi language is not working.. Giving question mark
HI, We have an application which uses oracle 9i as the database. Riight now we are supporting only english and there is a requirement to support multiple languages like korean, chineese and japaneese. But we are planning to migrate one part of the ap
-
Why when I use the combobox component does it remove focus from other movieclips?? For instance...I have a button with onRollOver and onRollOut functions. These work fine, but once I click on a combobox, they break...and won't work. I've looked in ot
-
Problems installing SAP Netweaver 2004s Preview JAVA
Hi all, I have successfully installed the Preview Version of SAP NW2004s SP12 for ABAP. Now I want to install the WAS JAVA in addition. According to abap on java stack. this should be possible. I ran into several errors (wrong JAVA runtime, SAPLOC no
-
Hello, I am wondering suddenly during the ATLAS test i can no longer complete the message and get following info: The second uncompletness issue is clear, but with the mode of transport the system does not accept any data. Do anybody know something a
-
How can i import ics file to my ipad?
I am trying to import an ics file to my ipad, and I cannot get a headway. any suggestions?