Horizontal Text In Template using Smartforms
Hi Friendz,
Im having a problem in Template using smartforms. Actually, I need a Header Caption for this with a format :
COMPANY DEPT BASIC
so i created a text for this...
but once i viewed the report ,the output display is in the format :
COMPANY
DEPT
BASIC
Kindly help me with my problem...output must be in a one line with 3 columns.
What is the purpose of append directly,new line and new paragraph in properties of Text.Is there any technik for this text?
Thanks in advance
aVaDuDz
Hi,
usually the proceddure is we have to divide the template into three parts
now create three text elements
and in each text give
company
dept
basic
now go to output options and
in the bottom of it output structure will be there
in that line 1
column 1 for first one
line 1 column2 for second one
and try to give the styles form attributes
output options tab
style zstyle
i hope it works
regards,
venkatesh
Similar Messages
-
Create Columns in Template using Smartforms
Hi Guyz,
Im using Template in smartforms and create 2 or more columns..but the columns must be in horizontal order like this :
COMPANY DEPT BASIC
but the column appeared vertical like this :
COMPANY
DEPT
BASIC
Another question is what is the purpose of From & To, Reference column in Details/Table Painter
Please give me some advice..what to do..
Will Reward points to those who will reply and help my problem
Thanks in advance..The column generally apperds vertical in the screen but in the output it will be displayed in horizontal order.
you can check the use of From to, Reference column & Table painter by referring to below link
http://help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
Reward points if helpful. -
Problem of texts in template of smartform
Hi experts,
I am using Template in my smartfroms to display the hardcoded texts,
i have 5 columns in template to dispaly 5 hardcoded texts side by side.
under the template i created 5 text elements , each having some data.
but in out put all are coming in first column itself.
Can any body plz tell me where i wrong?
Thanks & regards,
Veena.HI Veena,
Ensure in the TExt elements that u have created under the templete, you ahve marked the Column and row number correctly. This acn be cheched under - -
Template - > TExt element - > Output option -> Output structure - > Line / Column.
Hope this wud solve ur issue. Revert in case of any questions.
Cheers,
Varna -
Return key not creating a new line when using the horizontal text tool
Going through the adobe after effects 'classroom in a book' examples - when writing a line of single line using the horizontal text tool pressing return does not create the next line underneath, the cursor stays on the same line?
Anybody out there had this problem?Hi Bill
Thanks for replying!
My OS is windows 7. I think it is the first time I have needed to put more than one line of text in an after effects layer. I am new to CS5.5 - after effects and I'm going through an adobe tutorial 'classroom in a book' series book.
I thought about using a paragraph text box as you suggest but could not find the function in the tools menu.
I have since tried clearing the cache out and restoring default layout but with no joy.
I have used the return key for multiple line text in premier pro and it works perfectly ok.
Cheers,
Alan -
Purchase order layout using Smartform
Hi All,
Can anyone let me know how to create Purchase order layout using smartforms and assigning it to output type.
Is there standard smartform for purchase order?http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
http://www.sap-basis-abap.com/sapsf001.htm
http://help.sap.com/printdocu/core/Print46c/de/data/pdf/BCSRVSCRSF/BCSRVSCRSF.pdf
http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
http://www.esnips.com/doc/13b7ae7a-b32c-4b96-b588-881859d4ac99/Template,Table,Loop,Command-in-Smartforms.doc
http://www.esnips.com/doc/97acb00a-e513-4611-91f0-c626f460bfc5/Smart_Form_Overview.pdf
http://www.esnips.com/doc/77a981b9-8fe3-4fbb-8101-67745c1fe60c/SMART-FORMS_shail.ppt
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-press.com/downloads/h955_preview.pdf
http://www.ossincorp.com/Black_Box/Black_Box_2.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
Try this. A simple sample Smart Form.
SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).
According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).
1. Create a new smartforms
Transaction 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.
endif.
SMARTFORMS GENERATION: (calling internal table fields)
 Open a smartform using the tcode smartforms.
 Usually form attributes shows admn data.
 In the form interface declare import/export parameters if any. Else declare the tables in tables tab button.
 In the windows and pages expand and create a table. It automatically generates header, main area and footer for the table.
 In data tab button in the table we usually declare a work area to bring the data from se38. Like: ktab into wa. ( The purpose of declaring the wa is , to get the data of the ktab in to header from the body area of the internal table).
 And in the tablepainter pushbutton in table we can have any no of line types. Depending on the requirement. ( for ex: If we want to devide a row in to 4 columns, we can devide it as 4,4,4,4cm as line type 1, And usually for the footer we dont need no of columns, So, we declare it as one column with 16cm measure with the name line type 2.). We can use these line types in the tables.
 In the header right click>>create>>tableline. It asks for line type. Select one line type which is appropriate.
 Like same create a row2 in main area using right click. If we select the line type 1, it automatically generates 4 cells. We can create text in each cell as per requirement.
 We can generate general attributes using general attributes tab button in the text. Or in the other way. We can switch on the field list on/off button from the application tool bar. It displays all the attributes in the left down corner of the screen. We can drag and drop the required fields in the general attributes tab button of the text.
 We continue the same procedure for all the texts. The texts should be displayed in the gray color. Then only it can collects the data from the abap editor fields.
 If it wont turns gray, we can check the fields in the editor by changing it to the line editor. The best thing is to drag the fields from the list, rather than declaring like &wa-matnr&
 In the footer also we create a line type and in that table line we create text.
SE38 PROGRAM(method I):
REPORT Z_CALLING_SMARTFORM2 .
tables: mara.
select-options: S_MATNR for MARA-MATNR.
DATA: kTAB LIKE MARA OCCURS 1 WITH HEADER LINE.
data: FM_NAME TYPE RS38L_FNAM.
SELECT * FROM MARA INTO TABLE kTAB WHERE MATNR in
S_MATNR.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'Z_MYFIRST_FORM2'
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.
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
ktab = ktab
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.
IN THE OTHER WAY(method II):
REPORT Z_CALLING_SMARTFORM2 .
tables: mara.
select-options: S_MATNR for MARA-MATNR.
DATA: kTAB LIKE MARA OCCURS 1 WITH HEADER LINE.
SELECT * FROM MARA INTO TABLE kTAB WHERE MATNR in S_MATNR.
CALL FUNCTION '/1BCDWB/SF00000199'
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
ktab = ktab
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.
In the method I we are calling the amartform dynamically using the function module 'SSF_FUNCTION_MODULE_NAME'.
Here we are exporting form name and importing fm_name.
So we need to declare the variable fm_name as
data: FM_NAME TYPE RS38L_FNAM.
We can have the type of the fm_name in the function module 'SSF_FUNCTION_MODULE_NAME' (in the export tab button).
Since we are passin the name of the Function module generated by the smart form in to the fm_name variable. We run the function module with the name fm_name, but not the FM generated by the smartform(like /1BCDWB/SF00000199)¬¬¬¬¬¬.
In the method II we directly call the smartform generated function module (i.e, /1BCDWB/SF00000199).
But the method I is recommended. In the method I, The fm_name is a variable we dont put it in the quotes while calling.
In the both methods we declare the internal table using the like option, but not begin of . end of. And in select statement we select *, But not individual fields.
EX2:
SMART FORM NAME: ZGITI_FORM1.
SE38:
REPORT Z_CALL_GIRI_FORM1 .
TABLES: VBRK.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T1.
SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.
SELECTION-SCREEN END OF BLOCK B1.
*INITIALIZATION.
*T1 = 'SELECTION-CRIETERIA'.
DATA: BEGIN OF I_INVOICE OCCURS 1.
INCLUDE STRUCTURE ZSTR_INVOICE.
DATA: END OF I_INVOICE.
DATA: VAR1 LIKE VBRP-NETWR.
DATA: BEGIN OF I_ADDRESS OCCURS 1.
INCLUDE STRUCTURE ZSTR_ADDRESS.
DATA: END OF I_ADDRESS.
DATA: BEGIN OF I_ORDER OCCURS 1.
INCLUDE STRUCTURE ZSTR_ORDER.
DATA: END OF I_ORDER.
DATA: BEGIN OF I_ITEM OCCURS 1.
INCLUDE STRUCTURE ZSTR_ITEM.
DATA: END OF I_ITEM.
DATA: BEGIN OF I_VBFA OCCURS 1,
VBELV LIKE VBFA-VBELV,
VBELN LIKE VBFA-VBELN,
END OF I_VBFA.
SELECT KUNAG VBELN VKORG VTWEG SPART FROM VBRK INTO TABLE I_INVOICE
WHERE VBELN IN S_VBELN.
IF I_INVOICE[] IS NOT INITIAL.
SELECT KUNNR LAND1 NAME1 NAME2 ORT01 PSTLZ REGIO FROM
KNA1 INTO CORRESPONDING FIELDS OF TABLE I_ADDRESS FOR ALL ENTRIES IN
I_INVOICE WHERE KUNNR = I_INVOICE-KUNAG.
ENDIF.
IF I_INVOICE[] IS NOT INITIAL.
SELECT VBELV VBELN FROM VBFA INTO TABLE I_VBFA FOR ALL ENTRIES IN
I_INVOICE WHERE VBELN = I_INVOICE-VBELN.
ENDIF.
IF I_VBFA[] IS NOT INITIAL.
SELECT VBELN BSTNK FROM VBAK INTO CORRESPONDING FIELDS OF TABLE I_ORDER
FOR ALL ENTRIES IN I_VBFA WHERE VBELN = I_VBFA-VBELV.
ENDIF.
IF I_INVOICE[] IS NOT INITIAL.
SELECT POSNR MATNR ARKTX FKIMG NETWR FROM VBRP INTO TABLE I_ITEM FOR ALL
ENTRIES IN I_INVOICE WHERE VBELN = I_INVOICE-VBELN.
ENDIF.
LOOP AT I_ITEM.
AT LAST.
SUM.
VAR1 = I_ITEM-NETWR.
ENDAT.
ENDLOOP.
CALL FUNCTION '/1BCDWB/SF00000223'
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
var = VAR1
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
tables
i_vbrk = I_INVOICE
i_vbak = I_ORDER
i_vbrp = I_ITEM
i_kna1 = I_ADDRESS
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. -
Hai All,
I want to know what the use of templates in smartform, and difference between table and templates. I know template is static and table is dynamic but i wnat more details.
Why sap brings template in smartform?
Thanks
AlexHi Alexander,
when you define a table, in fact you define row type.
After that, you use a row type with data.
when you define a template, you have the whole struture in statitc.
Example: imagine you have items, but for some item, you would like to print text. The row type will be different, you don't know the size (number of line) of your text. So you can only use the table.
Rgd
Frédéric -
What is a template in smartforms
Hi,
All,
can anybody expalin me about the use of template in smartforms. with some detailed description and usage of itHI,
Template in smartforms is static.
for example when you want to give heading for your table output , you can use templates..
MATNR WERKS -
> this is a template
1000 nl09 ---> this is a table.
1001 nl09
Both the Templates and Tables can be used for printing texts or application data in tabular format in Smartforms.
Templates: Templates are used in layouts when the number of rows are known and fixed.
Tables: Tables are used to print dynamic data, where the number of rows cannot be determined in advance.
rewards if useful,
regards,
nazeer -
Printing dunning notices using SMARTFORMS,error during parameter transfer
Hi Friends,
I face a error message "Include text ZGA_DUN_HDR does not exist (object TEXT, ID ST)" when i run the dunning run.
I had searched every node for text ZGA_DUN_HDR in the smartform,I didnt find the text in it.
However when I execute the smart form for print preview an error message "Printing dunning notices using SMARTFORMS,error during parameter transfer".This error i believe is due to wrong parameter passing in the fm 'GET_SF_DUNN_DATA'.It raises an error no_parameters_found.All parameters are passed correctly.
Can you guys help me out.
Edited by: RAJIV KAUSHAL on Nov 14, 2008 6:03 PMyou can create this text ZGA_DUN_HDR in SO10 tcode and try ...
-
Printing Dunning Letters using Smartforms
Hi all,
I have a requirement wherein I need to print dunning letters using smartforms; the dunning data are extracted in program SAPF150D2;I modified the subroutine OFI_DUN_ACT to call function module FI_PRINT_DUNNING_NOTICE_SMARTF.
Now I need to extract the dunning data in program SAPF150D2 to be imported to my new form using GET_SF_DUNN_DATA, my question is where do I code the calling of FM GET_SFG_DUNN_DATA? I'm a little bit confused on the step by step process of the dunning data extraction to printing of the form... Thanks...In the INITIALIZATION of the Smartforms, after the call to GET_SF_DUNN_DATA, you have a many informations back, of which the record of MHNK and an internal table of MHND, which you can use to select other informations from database.
So fill or enrich your own internal table in the initialization.
I enclose thereafter a sample to help you
* Load data
CALL FUNCTION 'GET_SF_DUNN_DATA'
EXPORTING
is_sfparam = is_sfparam
IMPORTING
es_mhnk = mhnk
es_t001 = t001
es_knb5 = knb5
es_lfb5 = lfb5
es_t047 = t047
es_t047c = t047c
es_t047i = t047i
es_t056z = t056z
es_f150d = f150d
es_fsabe = fsabe
es_adrnr = adrnr
es_uadrnr = uadrnr
es_adrs = adrs
es_uadrs = uadrs
es_t047b = t047b
eb_testprint = testprint
e_langu = langu
e_lang2 = lang2
es_f150d_esr = f150d_esr
es_paymi = paymi
es_paymo = paymo
TABLES
t_mhnd = th_mhnd
EXCEPTIONS
no_parameters_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
sy-msgid = 'FM'.
sy-msgty = 'E'.
sy-msgno = 461.
RAISE others.
ENDIF.
h_t040a-text1 = space.
show_interest = space.
LOOP AT th_mhnd INTO mhnd WHERE xzins = ' '.
show_interest = 'X'.
EXIT.
ENDLOOP.
* Load user information
DATA: usr21 LIKE usr21, addr3_sel LIKE addr3_sel.
CLEAR: usr21, addr3_sel, addr3_val, adr6.
* Charger fiche profil
SELECT SINGLE * FROM usr21 WHERE bname = sy-uname.
* Récupérer l'adresse
MOVE-CORRESPONDING usr21 TO addr3_sel.
CALL FUNCTION 'ADDR_PERS_COMP_GET'
EXPORTING
address_pers_in_comp_selection = addr3_sel
IMPORTING
address_pers_in_comp_value = addr3_val
EXCEPTIONS
OTHERS = 1.
* load SMTP address
CLEAR adr6.
SELECT SINGLE * FROM adr6
WHERE addrnumber = usr21-addrnumber
AND persnumber = usr21-persnumber.
* date format
SET COUNTRY adrs-land1.
* Group similar posts
DATA: xbseg TYPE bseg,
xbkpf TYPE bkpf,
xpost TYPE th_outtab.
REFRESH: t_post, t_cumul_waers.
LOOP AT th_mhnd INTO mhnd.
* Select lines to use
IF mhnk-gmvdt IS INITIAL.
IF mhnd-xzalb <> space OR mhnd-mansp <> space.
CONTINUE.
ELSEIF t047b-xpost NE 'X' AND mhnd-xfael <> 'X'.
CONTINUE.
ENDIF.
ENDIF.
* Map data
CLEAR xpost.
MOVE-CORRESPONDING mhnd TO xpost.
* Load text from bseg
SELECT SINGLE sgtxt INTO xpost-sgtxt FROM bseg
WHERE bukrs EQ mhnd-bbukrs AND belnr EQ mhnd-belnr
AND gjahr EQ mhnd-gjahr AND buzei EQ mhnd-buzei.
PERFORM edit_text CHANGING xpost-zuonr mhnd-xblnr xpost-sgtxt.
* if "Payment difference" get the date of original document
IF mhnd-bschl = '06'.
SELECT SINGLE bldat INTO xpost-bldat
FROM bkpf
WHERE bukrs = mhnd-bukrs
AND belnr = mhnd-rebzg
AND gjahr = mhnd-rebzj.
ENDIF.
* Collect posts to print
COLLECT xpost INTO t_post.
* Collect amount per currency
MOVE-CORRESPONDING xpost TO cumul.
COLLECT cumul INTO t_cumul_waers.
ENDLOOP.
* Load customer information
SELECT SINGLE * FROM kna1 INTO kna1
WHERE kunnr = mhnk-kunnr.
SELECT SINGLE * FROM knb1 INTO knb1
WHERE bukrs = mhnk-bukrs
AND kunnr = mhnk-kunnr.
* Convert date to text
PERFORM convert_date USING control_parameters-langu mhnk-laufd
CHANGING text_date.
PERFORM convert_date USING control_parameters-langu mhnk-prndt_before
CHANGING text_prev.
PERFORM convert_date USING control_parameters-langu mhnk-grdat
CHANGING text_extr.
Regards -
Interactive document using Smartforms
Hi,
The customer wants an interactive page to be developed using Smartforms with editable text field and checkboxes. Can this be done in Smartforms? If yes then can you please tell how to do it?
I thought Smartforms in for output only. Can it be used to take inputs and perform some events based on these inputs?
Please reply asap as the customer is behind me and I need to say if it is possible or not..
Thanks in advance,
RashmiRashmi,
You will have to use the new ADOBE forms, which are interactive and the user can enter data. But I think its available with WAS 6.40. The transaction code is SFP.
I am not sure which version of SAP / BASIS your on. If you are SAP R/3 4.6C or 4.7, this might not work.
Hope this helps.
Regards,
Ravi
Note : Please reward points if this helps. -
Email templates using data from iWork Numbers spreadsheet
As a photographer, when I get a call from a client to book a shoot, my first step is to open my bookings spreadsheet in Apple's Numbers and input the client's info into pre-determined columns: name, phone number, job date, job scheduled arrival time, job address, job city, travel distance, details regarding the shoot, and then I have a list of columns that specify costs (cost for work, taxes, travel, etc--automatically calculated via functions in spreadsheet).
Immediately after I insert this information into the bookings spreadsheet, I open another file (a text file)--a text template I created to confirm bookings--and fill in the blanks using the information from the spreadsheet. Once that info has been filled out, I copy and paste the entire text file into an an email and email it to the client for his confirmation/records. The email template text (txt) file I use is included below.
Question: Is it possible to create a script that will read the specified row in my Numbers booking spreadsheet (ie, the row where I input the information in the spreadsheet) and have the information inserted into the separate text confirmation template (apple pages or text or email?) at specified areas within the text? If so, can someone help me make something like this? Here's the template I use:
Hi clientnamehere
It was nice chatting with you. And thanks again for choosing us for your photography needs.
For your convenience, I've outlined the details of your booking below. Please ensure everything looks OK:
_Order Confirmation_
As discussed, we've booked the following services:
- [deletethose_that_don't_apply_incl_thisnote]
- real estate photos
- upscaling photos
- virtual tour
- hd video tour
- customizable slideshow
- floor plans
- brochure design, print, & delivery
- virtual staging
- photoshop touchups
For the following location:
- property_address, city, postal_code
On the following date and time:
- month_date at time
Note: If any of the above is incorrect in anyway, please email us asap.
concision edit
Message was edited by: thebigotherLet's begin with your first question:
I've tried to change the "Template.txt" file into an rtf so that I can apply bolding and underlining to certain sections (ie, bolding to the entries like client_name, job_date, etc... and underlining to the "Steps"), and I changed the script from Template.txt to Template.rtf to reflect this change... but when I run a script I get a bug... is there any way to use an rtf file in place of the txt?
The following script should work with an RTF file, provided you don't mind using [GUI Scripting|http://www.macosxautomation.com/applescript/uiscripting/index.html] (in blue below). Before running the script, you will have to enable the Accessibility Frameworks by clicking the checkbox labeled "Enable access for assistive devices" in the Universal Access System Preference pane.
*set theTemplate to POSIX file (POSIX path of (path to desktop) & "Template.rtf")*
*tell application "Numbers"*
* tell table 1 of sheet 1 of front document*
* set theValues to value of cells of row 1 of selection range*
* end tell*
*end tell*
*tell application "TextEdit"*
* open theTemplate*
* set theText to text of front document*
*end tell*
*set theText to replace("clientnamehere", item 1 of theValues, theText)*
*set theText to replace("property_address", item 2 of theValues, theText)*
*set theText to replace("city", item 3 of theValues, theText)*
*set theText to replace("postal_code", item 4 of theValues, theText)*
*set theText to replace("month_date", item 5 of theValues, theText)*
*set theText to replace("at time", "at " & item 6 of theValues, theText)*
*tell application "TextEdit"*
activate
* tell application "System Events"*
* keystroke "a" using command down* -- “Select All”
* keystroke "c" using command down* -- “Copy”
* end tell*
* close front document without saving*
*end tell*
*tell application "Mail"*
activate
* make new outgoing message with properties {visible:true}*
* tell application "System Events"*
* keystroke tab & tab & tab & tab & tab* -- five 5 text fields at most
* delay 0.25* -- adjust if necessary
* keystroke "a" using command down* -- “Select All”
* keystroke "v" using command down* -- “Paste”
* end tell*
*end tell*
*on replace(X, Y, theText)*
* set P to offset of X in theText*
* set L to length of X*
* tell front document of application "TextEdit"*
* delete (characters (P + 1) through (P + L - 1))*
* set character P to Y*
* return its text*
* end tell*
*end replace* -
Rotation of label using smartforms by 90 deg using zebra printer
Hi,
I am facing one problem using smartforms for label printing. Since the zebra printer which is being used requires 90 deg rotation of form for the normal smartform design. I have even tried using ZPL commands by using ^FWR command in the window attributes but the text within that window only gets rotated and each line gets overwritten on one another. Please let me know if it s possible to rotate the complete form in smartform for label printing using zebra printer.
Thanks and Regards
AnandHi Anand,
Check my previous thread below about this:
Re: print label landscape to zebra printer - text position wrong & overlapping
regards,
Aidan -
Sending mail based on condtion using smartform
Hi friends,
I have header data and item data...in the below way..
header data
vbeln = 1000
item data
posnr recipient materail no quanity amount
10 1000 abc 100 10000
20 2000 pqr 100 5000
n n n n n
Now the for a particular recpient the data may go to next page ie: several pages.. if the item data for the same recipient is same then it should not display the header data in the 2nd page but it should only print the item data.
now based on the recipient changes i should print agian the header data and then the item data from the next page.
and also as the recipient is changing the mail should go to another person ie: all the related recipients mail will be send to one person and others to some other person
ie: recipient 1000 --- person1
recipient 2000 --- person2
like that.
how can i do..? can any one suggest me
Regards
KumarHi..
I implemented similar one just a month back. But, I am not sure I can explain it completely or not... but there are few steps.
There are two solutions actually.. I am giving the simplest one...
Step 1 : Create just one page (Even header data will be within MAIN page)
Step 2 : Build an internal table combining header and item data.
Vbeln item material recipient
1000 10 mmm 10001
1000 20 nnn 10002
and so on
SORT itab by recipient.
Step 3 : Use loop Node to loop thru' itab
Use on change functionality (Copy current WA to Temp. WA to check the recipient change.. and all that code to be
implemented) For each New recipient, set flag 'X'. Also change the Page (Use command Node to start the new page) - Do not forget to tick 'Not on First Page' in conditions tab.
Display header Text/Block/Template with condition Flag = 'X'. And Item table without any condition.
The second solution is requirement specific... Let me know whether this works... If not, i'll give you the other
- Audy. (Email is in my business card, you can use that) -
*BARCODE USING SMARTFORMS*
hi experts,
i need examples on barcodes using smartforms......
in smartform dev(wht are the fields to take)
rewards points will be there....
thanks and regards
fareedaHi Fareeda,
To print a barcode in a smart form,you need to create a character format for the barcode.
TO create a character format,you need to do it in SMARTSTYLES tcode.
Follow these steps:
Go to the SMARTSTYLES tcode.
Give a name to your style and create it.
Give a description and save it.
On the left hand side of the window,you will find character formats.
Click on it and press F5.
Give a name to the character format and select OK.
Give a description for the character format and save it.
There you will find a tab by name General Settings.In that Tab you will find BarCode.
Select any one of the style for the barcode as per your requirement.This is the name of the barcode.
Now save the character format and activate the samrtstyle.
To use the bar code in the form,follow these steps:
now in the window,you will find a tab by name OUTPUT OPTIONS.Ther give the name of the style same as the name that you have created in the SMARTSTYLES.
In the text element window,Select the character format that you have created in the smartstyles.
Now in the text elements of the window, type the field name for which you want to print the bar code in the following way to print the bar code:
&<work area/table name >-<field name>&
Regards,
Kaushik -
Print PO using Smartforms?
Hi Gurus,
I'm new to smart forms.
Can smart forms used to print PO(using Transaction ME23N)?
As I know, the PO is print using SAP Script, can it be done using smartforms?
thanks in advance.
HikarunoHi
YES, PO can be printed using Smartform also.
see the related forms and program
PUCHASE ORDER
Output type : NEU
ScriptForm Name : MEDRUCK
Driver Program Name : SAPMF06P
smartform name : /SMB40/MMPO_L
SF creation
How to create a New smartfrom, it is having step by step procedure
http://sap.niraj.tripod.com/id67.html
Here is the procedure
1. Create a new smartforms
Transaction 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.
endif.
check this:
http://help.sap.com/saphelp_nw04s/helpdata/en/a5/de6838abce021ae10000009b38f842/content.htm
http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html
http://www.sapbrain.com/TUTORIALS/TECHNICAL/SMARTFORMS_tutorial.html
check this linkls------>
https://www.sdn.sap.com/irj/sdn/collaboration
http://help.sap.com/saphelp_erp2004/helpdata/en/a9/de6838abce021ae10000009b38f842/frameset.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
http://www.sap-img.com/smartforms/sap-smart-forms.htm
<b>Reward points for useful Answers</b>
Regards
Anji
Maybe you are looking for
-
How do I connect a wireless printer with my ipad 5.1?
How do I connect a wireless printer to my iPad?
-
Hi All, I have to install oracle 10g onto a server where there is existing oracle 9i software. Is it safe to go ahead with the install, while the 9i databases are up?? what are the consequences of doing this? OS patches and kernel parameters as requi
-
Product cost Collection - Revaluation
I am trying to do the revaluation of product cost collectors at actual prices. My activity planning price entered manually (Rs.17500 - fixed) My activity actual price also entered manually (Rs.19500-fixed) Now I am doing the CON1/CON2 transactions.
-
Overdelivery tolerance - extended classic
Hi all, We have extended classic scenario, and would like to have overdelivery tolerance. I've created a tolerance group in SRM, and assigned tol keys CF, DA and DQ. I've also maintained a Purchasing Value Key in ECC via OMQW (SPRO --> MM --> Purch
-
I created an ASM instance manually. Then I created a database using ASM with DBCA. The installation was good, only I ignored a msgbox about user/password of ASM. When I enter to Oracle Enterprise Manager from browser, it seems to work well, but when