Smart forms item Details Displayed
hi Experts,
Could u please send me the details
i need to display the multiple values for items in my smartforms for that i got the Folowing inputs by using this i need to display the multiple values Please Go through this Values And Suggest Me how to Retrive the Values With logic.
Form Output Name Source Data Name / Source Reference
Header Text Title Always print Plant to Plant Packing List
Header - Page Number Page X of Y format
Header - From
Retrieve
LIKP.VSTEL (shipping point)
WHERE
LIKP.VBELN = Delivery Note Number.
Retrieve
TVST.ADNR (address number)
WHERE
TVST.VSTEL = LIKP.VSTEL
Retrieve
ADRC.NAME1 (name)
ADRC.STREET (address)
ADRC.CITY (city)
ADRC.REGION (state)
ADRC.POST_CODE1 (zip)
WHERE
ADRC.ADNR = TVST.ADNR
Header From DEA ADRC.NAME2 from address record selected for Header From (DEA number stored in NAME2 field only for shipping points)
Header - To
Retrieve
LIKP.KUNNR (ship to)
WHERE
LIKP.VBELN = Delivery Note Number.
Retrieve
KNA1.ADNR (address number)
WHERE
KNA1.KUNNR = LIKP.KUNNR
Retrieve
ADRC.NAME1 (name)
ADRC.STREET (address)
ADRC.CITY (city)
ADRC.REGION (state)
ADRC.POST_CODE1 (zip)
WHERE
ADRC.ADNR = KNA1.ADNR
Header To DEA Retrieve
T606Z.GENNR (license master number)
Where
T606Z.KUNNR = LIKP.KUNNR
GEGRU = Z1
GEART = ZDEA
Retrieve
EMBK.EXGEN (DEA number)
Where
EMBK.GENNR = T606Z.GENNR
GEGRU = Z1
GEART = ZDEA
EMBK.GENST = C (active status)
If DEA number not found print DEA not found
Header - Delivery Number Delivery Note Number
Header Ship Date Retrieve
LIKP.WADAT (planned goods issue date)
WHERE
LIKP.VBELN = Delivery Note Number
Material ID Retrieve
LIPS.MATNR
WHERE
LIPS.VBELN = LIKP.VBELN
Description Retrieve
LIPS.ARKTX
WHERE
LIPS.VBELN = LIKP.VBELN
Class Retrieve
LIPS.TRAGR
WHERE
LIPS.VBELN = LIKP.VBELN
Rules:
If [TRAGR] = 1400, print CTRL
If [TRAGR] = 1500, print NC
Else, print nothing.
Batch Number Retrieve
LIPS.CHARG
WHERE
LIPS.VBELN = LIKP.VBELN
Status Retrieve
QALS.PRUEFLOS
WHERE
QALS.MATNR = LIPS.MATNR
QALS.CHARG = LIPS.CHARG
Retrieve
QAVE.VCODE
WHERE
QAVE.PRUEFLOS = QALS.PRUEFLOS
Delivery Qty. Retrieve
LIPS.LFIMG
WHERE
LIPS.VBELN = LIKP.VBELN
Delivery UOM Retrieve
LIPS.MEINS (unit of measure)
WHERE
LIPS.VBELN = LIKP.VBELN
Case Qty. (Eaches per case) Retrieve
MARM.UMREZ (case counter)
MARM.UMREN (case denominator)
WHERE
MARM.MATNR = LIPS.MATNR
MARM.MEINH = CS
If no record found leave blank do not calculate Full Cases or Partial Bottles
else
Display MARM.UMREZ/MARM.UMREN rounded down
Full Cases Retrieve
MARM.UMREZ (delivery counter)
MARM.UMREN (delivery denominator)
WHERE
MARM.MATNR = LIPS.MATNR
MARM.MEINH = LIPS.MEINS
Total Cases = Delivery Qty * (delivery counter / delivery denominator )
(case denominator / case counter)
Full Cases = Round Down (Total Cases)
Partial Bottles Partial Bottles = (Total Cases Full Cases) * case counter / case denominator
Total Skids Retrieve
MARM.UMREZ (pallet counter)
MARM.UMREN (pallet denominator)
WHERE
MARM.MATNR = LIPS.MATNR
MARM.MEINH = PAL
Total Skids = Delivery Qty * (delivery counter / delivery denominator) * (pallet denominator / pallet counter)
Round up to the nearest integer if the result is not a whole number.
Regards
Srinu
A sapscript or smartform can be used within any print program without any configuration.
So no table will give you exact information about the print program of sapscript or smartform.
You can find print program associated with a form (read sapscript smartform) if that form is configured with some output type. But this list will not be exhaustive. In other words there still can be other print program using the form but not listed in TNAPR table.
Similar Messages
-
Smart form: how to display two total amount in footer
hi, In smart form i trying to dispaly carry forward total and page total in footer, the first statment
of the footer only displaying, next one not displaying. But each page in footer i have to dispaly both carry forward total and page total. how to do this?Hi ,
This is a tricky solution.
Split the footer into two.
i.e create two windows with the property of footer.
Now use the first window to display a result and second window to display the next result.
This will surely work .
Just take care of the formatting.
Regards,
K.SIbi -
Smart Form to be displayed in EP
Hi All,
How can we display any smart form developed in the ECC, in the Enterprise Portal for each employee or user the smart form is generated is different?
EP 7.0 and ECC 6.0 are the version on which working.
Thanks
Ash.Might want to start moving/looking into Adboe Interactive Forms....they are replacing SmartForms and are available for your version. There is LOTS of information on this site under the section devoted to Adobe forms and there is a good forum here too.
-
Action Profile - Display SMART FORM in PDF
Hi All,
I have a requirement in action profile, in which when a SMART FORM PRINT action is triggered in CRMD_ORDER, the smart form should be displayed in PDF. Then the user should be able to save or print the pdf form.
Can some body provide some pointers?Hi,
You can achieve this using action profile in your transaction type, just create new action definiation in action profile using Process type Smart Forms Print assign your smart form, define action conditions for this definiation.
You can take look at standard Action Profile for reference ACTIVITY definiation ACTIVITY_PRINT
Regards,
Dipesh. -
OEM not displaying Forms Session Details
Windows 2000/Server & Desktop SP4, ora9ias 9.0.2
In the Forms Session Detail display, it says that there are seven sessions, but only displays three and the Previous/Next links are greyed out. Any fixes to this? It is appreciated.EM_MODE is set. To clarify, the OEM is displaying some sessions, but not all that it says it had detected.
Thanks for your reply -
Regarding smart forms (really urgent)
hi,
i am new to smartforms and i got report to make changes in the smart forms,plzz help me out as i know nothing about the smart forms by providing me it in easiest & simplest form.
if find useful help will be deifnately rewarded.
Edited by: ric .s on Mar 6, 2008 5:16 AMHi,
This Smartform Information I read, really helped me out.
I think it would be of some good help to you too..
What is SAP Smart Forms?
SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can configure forms with data from an SAP System for the relevant business processes.
To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
SAP Smart Forms also support postage optimizing.
Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
What Transaction to start SAP Smart Forms?
Execute transaction SMARTFORMS to start SAP Smart Forms.
Key Benefits of SAP Smart Forms:
SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
These actions do not include writing of coding lines or using a Script language.
Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
For Web publishing, the system provides a generated XML output of the processed form.
Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
Advantages of SAP Smart Forms
1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
2. Displaying table structures (dynamic framing of texts)
3. Output of background graphics, for form design in particular the use of templates which were scanned.
4. Colored output of texts
5. User-friendly and integrated Form Painter for the graphical design of forms
6. Graphical Table Painter for drawing tables
7. Reusing Font and paragraph formats in forms (Smart Styles)
8. Data interface in XML format (XML for Smart Forms, in short XSF)
9. Form translation is supported by standard translation tools
10. Flexible reuse of text modules
11. HTML output of forms (Basis release 6.10)
12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
A Simple Smartform Tutorial
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.
Additional Fonts for your SMARTFORMS
You can create additional fonts and style with transaction SMARTSTYLES
This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form.
The character formats includes effects such as superscript, subscript, barcode and font attributes.
Difference with SMARTFORMS vs. SapScript(SE71)
The Following are the differences :-
a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
b) It is possible to have a smartform without a main window .
c) Labels cannot be created in smartforms.
d) Routines can be written in smartforms tool.
e) Smartforms generates a function module when activated.
f) Unlike sapscripts (RSTXSCRP), you cannot upload/download Smartform to your local harddisk.
It was said that it was provided in CRM 3.0 version, but not available in R/3. You can download smartforms into Local PC in a XML format. In the same way you can upload this XML format into Smartform. From the smartform editor itself you can call download option, if you are working in CRM 3.0 environment.
In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.
In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk.
For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people. What you can do is to create a Transport and then FTP down to your local harddisk. When you need the Smartform source in another system, you have FTP up the Smartforms file back to the SAP server. Finally, the Basis team, will tp it into your system.
g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it. Actually, there is something you can do about it. By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.
FAQ on Migrating SAPscript to SmartForms
Is it possible to migrate a SAPscript form to a Smart Form?
Smart Forms provides a migration tool for this purpose which migrates layout and texts of a SAPscript form to a Smart Form. It does not migrate SAPscript form logic of the print program. Using Smart Forms, this logic is described by the tree structure of the Form Builder. The effort involved in migrating it depends on the complexity of the print program.
Which Basis Release do I need to use SAP Smart Forms?
SAP Smart Forms is available as of R/3 Basis Release 4.6C.
I have heard that Smart Forms replaces SAPscript. What does "replace" mean?
It does not mean that SAPscript is removed from the Basis shipment. Even as of Basis Release 4.6C, SAPscript remains part of the SAP standard and there are no plans to remove it. Since Smart Forms is currently, and will continue to be, the tool for form maintenance for mySAP.com solutions, our further development efforts will focus on Smart Forms, not on SAPscript.
Do we have to migrate all SAPscript forms to Smart Forms?
There is no point in migrating all SAPscript forms already in use. Since SAPscript can still be used and will be available in the future, there is no need to. If you plan to migrate a SAPscript form, it is recommended that you check whether benefit is worth the effort involved
Conversion of SAPSCRIPT to SMARTFORMS
SAP provides a conversion for SAPscript documents to SMARTforms.
This is basically a function module, called FB_MIGRATE_FORM. You can start this function module by hand (via SE37), or create a small ABAP which migrates all SAPscript forms automatically.
You can also do this one-by-one in transaction SMARTFORMS, under
Utilities -> Migrate SAPscript form.
You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
SmartForms System Fields
Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the corresponding values. The field values come from the SAP System or are results of the processing.
System fields of Smart Forms
&SFSY-DATE&
Displays the date. You determine the display format in the user master record.
&SFSY-TIME&
Displays the time of day in the form HH:MM:SS.
&SFSY-PAGE&
Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node.
&SFSY-FORMPAGES&
Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
&SFSY-JOBPAGES&
Contains the total page number of all forms in the currently processed print request.
&SFSY-WINDOWNAME&
Contains the name of the current window (string in the Window field)
&SFSY-PAGENAME&
Contains the name of the current page (string in the Page field)
&SFSY-PAGEBREAK&
Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
&SFSY-MAINEND&
Is set as soon as processing of the main window on the current page ends
&SFSY-EXCEPTION&
Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception <exception name >).
Example Forms Available in Standard SAP R/3
SF_EXAMPLE_01
Simple example; invoice with table output of flight booking for one customer
SF_EXAMPLE_02
Similar to SF_EXAMPLE_01 but with subtotals
SF_EXAMPLE_03
Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request
Smart forms Frequently Asked Questions
Forcing a page break within table loop
Create a loop around the table. Put a Command node before the table in the loop that forces a NEWPAGE on whatever condition you want. Then only loop through a subset of the internal table (based on the conditions in the Command node) of the elements in the Table node.
Font style and Font size
Goto Transaction SMARTSTYLES.
There you can create Paragraph formats etc just like in sapscript.
Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats.
Line in Smartform
Either you can use a window that takes up the width of your page and only has a height of 1 mm.
Then you put a frame around it (in window output options).
Thus you have drawn a box but it looks like a line.
Or you can just draw "__" accross the page and play with the fonts so that it joins each UNDER_SCORE.
Difference between 'forminterface' and 'global definitions' in global settings of smart forms
The Difference is as follows.
To put it very simply:
Form Interface is where you declare what must be passed in and out of the smartform (in from the print program to the smartform and out from the smartform to the print program).
Global defs. is where you declare data to be used within the smartform on a global scope.
ie: anything you declare here can be used in any other node in the form.
Smartforms function module name
Once you have activated the smartform, go to the environment -> function module name. There you can get the name of funtion module name.
The key thing is the program that calls it. for instance, the invoice SMARTFORM LB_BIL_INVOICE is ran by the program RLB_INVOICE.
This program uses another FM to determine the name of the FM to use itself. The key thing is that when it calls this FM (using a variable to store the actual name), that the parameters match the paramters in your smartform.
Another thing to note is that the FM name will change wherever the SF is transported to.
So you need to use the FM to determine the name of the SF.
Here is the code that can be use to determine the internal name of the function module:
Code:
if sf_label(1) <> '/'. " need to resolve by name
move sf_label to externalname.
call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname = externalname
importing
fm_name = internalname
exceptions
no_form = 1
no_function_module = 2
others = 3.
if sy-subrc <> 0.
message 'e427'.
endif.
move internalname to sf_label.
endif.
It checks to see if the sf_label starts with a '/', which is how the internal names start. if it does, the name has already been converted. If not, it calls the FM and converts the name.
You would then CALL FUNCTION sf_label.
Smartforms FAQ Part Two
Smartforms output difference
Problem with Smartforms: in a certain form for two differently configured printers, there seem to be a difference in the output of characters per inch (the distance between characters which gives a layout problem - text in two lines instead of one. It happens when the two printers having different Printer Controls' if you go to SPAD Menu (Spool Administrator Menu) you can see the difference in the Printer Control and if you make the Printer control setting for both the printers as same. then it will be ok. and also u have to check what is the device type used for both the output devices.
SmartForms Output to PDF
There is a way to download smartform in PDF format.
Please do the following:
1. Print the smartform to the spool.
2. Note the spool number.
3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the noted spool number.
SmartForm Doublesided printing question Your customer wants your PO SmartForm to be able to print "Terms and Conditinos" on the back side of each page. They don't want to purchase pre-printed forms with the company's logo on the front and terms & conditions on the back. Now this presents an interesting problem.
Has anyone else ever had a request like this? If for example there was a 3 page PO to be printed, they want 3 pieces of paper, the front side of each to containe the PO information (page 1, 2, and 3) and the back side of each piece of paper to containg the static "Terms & Conditions" information.
Anyone have a clue how to force this out?
Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists FRONT as next page. Since CONTACTS does not contain a MAIN window, it will print the contacts info and then continue on to FRONT for the rest of the main items. Additionally, set print mode on FRONT to D (duplex) and set CONTACTS to 'blank' (for both resource name and print mode - this is the only way to get to the back of the page).
Transport Smart Forms
How does one transport SMARTFORM? SE01?
How do you make sure that both, the SMARTFORM & it's function module gets transported? Or does the FM with same name gets generated automatically in the transported client?
A smartform is transported no differently than any other object. if it is assigned to a development class that is atteched to a transport layer, it will be transported.
The definition is transported, and when called, the function module is regenerated.
This leads to an interetsing situation. On the new machine, it is very likely the function module name will be different than the name on the source system. Make sure, before you call the function module, you resolve the external name to the internal name using the 'SSF_FUNCTION_MODULE_NAME' function module.
Typically, generate the SF, then use the pattern to being in the interface. Then change the call function to use the name you get back from the above function module.
Smartforms: protect lines in main window.
How to protect lines in the main window from splitting between pages?
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.
Regards,
Rohini. -
How to Pass the Internal table of a report to Smart Form
Hi Experts,
I have one report in which from selection screen i am getting the values from the users, and upon that values i am filling data in to the internal table.
Now i want to pass that internal table data to the smart form
and print that data in the smart form.
So could you pls give me some pseudo code or any steps to achieve it.
Thanks & Regards,
DSHi DS,
First of all you need to create a SF and then need to call the FM generated by the FM in your report.
In the SF in the form interface>tables tab>mention the name of the table and its type structure.
Pls note that a new structure has to be created as the same type of your internal table which holds the data.
And the import and export parameters as just the same as in a FM.
Now after you create and activate your SF a FM will be generated (wen u execute your SF you will be taken to this SE37 screen with the name of FM so no probs..)
You can call this FM in your report. Hope this helps.
Ex:
say itab has your final data, and you also want to export a variable var1 to the SF.
after your normal report operations end, call the FM and pass on these data.
say your FM name is FM1.
call function FM1
exporting
var1 = var1
tables
itab1 = itab1.
pls note that in the SF also i gave the same names, it is not mandatory to give the same names.
and as you want to print a table in the smartforms, you need to create a table in the smart forms and then display the data which is quite simple.
Hope this helps...
if you need any further explanations, pls revert...
Regards,
Narendra.
Reward points if helpful!!! -
Hi
I am using the transaction va22 for sales transaction, I want to modify smartforms inside the form, after entering the quotation when i am selecting the text messages it is comming correctly in the paragraph but when the smartform the material text message is displaying and moving vertically downwards direction instead of horizontal
could you please help why this is happening.......
PirozHi Mukul
I have the the text type=include text and start time = Append directly
The change quotation smartforms is taking from transaction va22
and the text is displaying from material text but in the smart form it is displaying as
The
delivery
note
is accepted
but
dfdsfdsf
dfdsfdfd
Instead of The delivery note is accepted but dsfdsfdsfdsfdsfdsfdsfdsfds should be display , where to change the text position and the width in window attributes i cannot see that when i open smart form
regards -
Hai ,
I have a requirement where I need to generate smart form.
And there should be an option for mailing & faxing for that smartform.
So far I ceated smart form & the smart form is getting displayed properly.
Now could any one please tell me how to provide the mailing & fax options for this smart form?
How it actually works?means how it will give option for both mailing & for Faxing at a time?
Thanks & Best Regards,
Bhaskar.Hi,
Here is the code to send the Smartform to mail as PDF attachment.
place the receivers mailid in the below program
*& Report ZTEST_PDF_MAIL
REPORT ZTEST_PDF_MAIL.
Internal Table declarations
DATA: I_OTF TYPE ITCOO OCCURS 0 WITH HEADER LINE,
I_TLINE TYPE TABLE OF TLINE WITH HEADER LINE,
I_RECEIVERS TYPE TABLE OF SOMLRECI1 WITH HEADER LINE,
I_RECORD LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
Objects to send mail.
I_OBJPACK LIKE SOPCKLSTI1 OCCURS 0 WITH HEADER LINE,
I_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
I_OBJBIN LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
I_RECLIST LIKE SOMLRECI1 OCCURS 0 WITH HEADER LINE,
Work Area declarations
WA_OBJHEAD TYPE SOLI_TAB,
W_CTRLOP TYPE SSFCTRLOP,
W_COMPOP TYPE SSFCOMPOP,
W_RETURN TYPE SSFCRESCL,
WA_DOC_CHNG TYPE SODOCCHGI1,
W_DATA TYPE SODOCCHGI1,
WA_BUFFER TYPE STRING, "To convert from 132 to 255
Variables declarations
V_FORM_NAME TYPE RS38L_FNAM,
V_LEN_IN LIKE SOOD-OBJLEN,
V_LEN_OUT LIKE SOOD-OBJLEN,
V_LEN_OUTN TYPE I,
V_LINES_TXT TYPE I,
V_LINES_BIN TYPE I.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZTEST'
IMPORTING
FM_NAME = V_FORM_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.
W_CTRLOP-GETOTF = 'X'.
W_CTRLOP-NO_DIALOG = 'X'.
W_COMPOP-TDNOPREV = 'X'.
CALL FUNCTION V_FORM_NAME
EXPORTING
CONTROL_PARAMETERS = W_CTRLOP
OUTPUT_OPTIONS = W_COMPOP
USER_SETTINGS = 'X'
IMPORTING
JOB_OUTPUT_INFO = W_RETURN
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.
I_OTF[] = W_RETURN-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
IMPORTING
BIN_FILESIZE = V_LEN_IN
TABLES
OTF = I_OTF
LINES = I_TLINE
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
ENDIF.
LOOP AT I_TLINE.
TRANSLATE I_TLINE USING '~'.
CONCATENATE WA_BUFFER I_TLINE INTO WA_BUFFER.
ENDLOOP.
TRANSLATE WA_BUFFER USING '~'.
DO.
I_RECORD = WA_BUFFER.
APPEND I_RECORD.
SHIFT WA_BUFFER LEFT BY 255 PLACES.
IF WA_BUFFER IS INITIAL.
EXIT.
ENDIF.
ENDDO.
Attachment
REFRESH: I_RECLIST,
I_OBJTXT,
I_OBJBIN,
I_OBJPACK.
CLEAR WA_OBJHEAD.
I_OBJBIN[] = I_RECORD[].
Create Message Body Title and Description
I_OBJTXT = 'test with pdf-Attachment!'.
APPEND I_OBJTXT.
DESCRIBE TABLE I_OBJTXT LINES V_LINES_TXT.
READ TABLE I_OBJTXT INDEX V_LINES_TXT.
WA_DOC_CHNG-OBJ_NAME = 'smartform'.
WA_DOC_CHNG-EXPIRY_DAT = SY-DATUM + 10.
WA_DOC_CHNG-OBJ_DESCR = 'smartform'.
WA_DOC_CHNG-SENSITIVTY = 'F'.
WA_DOC_CHNG-DOC_SIZE = V_LINES_TXT * 255.
Main Text
CLEAR I_OBJPACK-TRANSF_BIN.
I_OBJPACK-HEAD_START = 1.
I_OBJPACK-HEAD_NUM = 0.
I_OBJPACK-BODY_START = 1.
I_OBJPACK-BODY_NUM = V_LINES_TXT.
I_OBJPACK-DOC_TYPE = 'RAW'.
APPEND I_OBJPACK.
Attachment (pdf-Attachment)
I_OBJPACK-TRANSF_BIN = 'X'.
I_OBJPACK-HEAD_START = 1.
I_OBJPACK-HEAD_NUM = 0.
I_OBJPACK-BODY_START = 1.
DESCRIBE TABLE I_OBJBIN LINES V_LINES_BIN.
READ TABLE I_OBJBIN INDEX V_LINES_BIN.
I_OBJPACK-DOC_SIZE = V_LINES_BIN * 255 .
I_OBJPACK-BODY_NUM = V_LINES_BIN.
I_OBJPACK-DOC_TYPE = 'PDF'.
I_OBJPACK-OBJ_NAME = 'smart'.
I_OBJPACK-OBJ_DESCR = 'test'.
APPEND I_OBJPACK.
CLEAR I_RECLIST.
I_RECLIST-RECEIVER = 'receiver mail id'.
I_RECLIST-REC_TYPE = 'U'.
APPEND I_RECLIST.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = WA_DOC_CHNG
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = I_OBJPACK
OBJECT_HEADER = WA_OBJHEAD
CONTENTS_BIN = I_OBJBIN
CONTENTS_TXT = I_OBJTXT
RECEIVERS = I_RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
IF SY-SUBRC <> 0.
WRITE:/ 'Error When Sending the File', SY-SUBRC.
ELSE.
WRITE:/ 'Mail sent'.
ENDIF.
If you want to send some text as Body of the Mail then follow this once
when u r callin the FM'SO_NEW_DOCUMENT_ATT_SEND_API1'.. points to remember
1.u have to pass the body of content in table CONTENTS_TXT(ia m using I_OBJBIN) (each line a record) then. suppose i have appended 11 records to the table CONTENTS_TXT .
2.PACKING_LIST(iam usign I_OBJPACK) table u ahve to append a redord as follows
I_OBJPACK-TRANSF_BIN = ' '.
I_OBJPACK-HEAD_START = 000000000000001.
I_OBJPACK-HEAD_NUM = 000000000000001.
I_OBJPACK-BODY_START = 000000000000002
I_OBJPACK-BODY_NUM = 000000000000010.
I_OBJPACK-DOC_TYPE = 'RAW'.
append I_OBJPACK-.
by the above code system treat the first line in table I_OBJBIN as header and the 2nd line to 10 lines tread as body.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = WA_DOC_CHNG
PUT_IN_OUTBOX = 'X'
TABLES
PACKING_LIST = I_OBJPACK
OBJECT_HEADER = WA_OBJHEAD
CONTENTS_BIN = I_OBJBIN
CONTENTS_TXT = I_OBJTXT
RECEIVERS = I_RECLIST
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
Regards,
vijetha. -
Trigger Smart form from Account Management
Hi Experts,
I need to triger a smart form form accout management screen.
I am trying implementing BADI , PARTNER_UPDATE , Method CHANGE_BEFORE_UPDATE.
I am able to implement this in GUI and sucessfully able to call my smartform. Now the issue lies in calling this Smartform on portal page.
This BADI gets triggered but the smart form is not displayed.
Any inputs on this.
Help will be appreciated.
Best regards
SourabhTriggered smart forms from activity.
-
SAP Note 1486147 - TDS line item details not flowing in Form 16 A Samrtform
1. Old Form 16 certificate is printed before 01.04.2010 and new certificate after 01.04.2010. (its correct SAP has written code in such a manner Old one is SAP script and new on is Smartform.)
Old FORM 16 A gets Acknowledgement No details correctly.
2. Acknowledgment No details are not flowing in the NEW Smart Form of Form 16 A.
When I debug the program I can see PARTNER No details are copied in PAN NO field in TABLE : IT_LFA11[]
BUT PARTNER NO details are copied to PARTNERNO field in TABLE IT_LAFA1[].
TDS line item details on Smart Form is printed based on Partner no. here partner no. is blank as IT_LFA11 table is passed to smartform..
Program name : J_1IEWT_CERT
Include name : J_1IEWT_CERT_F01.
Code:
FORM CALL_FORM .
DATA: h_formname TYPE tdsfname,
h_fmname TYPE rs38l_fnam,
h_output_info TYPE ssfcrescl,
h_spoolids TYPE LINE OF ssfcrescl-spoolids,
h_output_options TYPE ssfcompop,
spoolno(10) TYPE c.
DATA : it_lfa11 TYPE STANDARD TABLE OF J_1I_LFA1 INITIAL SIZE 0,
it_printtab TYPE STANDARD TABLE OF J_1I_PRINTTAB INITIAL SIZE 0,
it_deduc TYPE STANDARD TABLE OF J_1I_DEDUCTEE INITIAL SIZE 0,
it_qrtrtab TYPE STANDARD TABLE OF J_1I_QRTRTAB INITIAL SIZE 0,
it_challan TYPE STANDARD TABLE OF J_1I_CHALLANDETAB INITIAL SIZE 0.
SORT challandetab BY j_1iextchdt DESCENDING.
it_lfa11[] = it_lfa1[].
it_printtab[] = printtab[].
it_deduc[] = it_deductor[].
it_qrtrtab[] = qrtrtab[].
it_challan[] = challandetab[].
h_output_options-tdnewid = 'X'.
h_formname = layout.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = h_formname
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
fm_name = h_fmname
* 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 h_fmname
EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
* CONTROL_PARAMETERS =
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
OUTPUT_OPTIONS = h_output_options
* USER_SETTINGS = 'X'
IMPORTING
* DOCUMENT_OUTPUT_INFO =
job_output_info = h_output_info
* JOB_OUTPUT_OPTIONS =
TABLES
it_lfa1 = it_lfa11
it_printtab = it_printtab
it_deductee = it_deduc
it_qrtrtab = it_qrtrtab
it_challandetab = it_challan
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 4
* OTHERS = 5
IF sy-subrc = 0. "1375614
CLEAR :spoolno,h_spoolids.
READ TABLE h_output_info-spoolids INTO h_spoolids INDEX 1.
IF h_spoolids IS NOT INITIAL.
spoolno = h_spoolids.
CONDENSE :spoolno.
MESSAGE i155(id_wt) WITH spoolno.
PERFORM update_cert_tables.
ENDIF.
ENDIF.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
Can anyone Please help me to get TDS details on the Smartform.
Regards,
DivyaLalwani.
Edited by: kishan P on Feb 23, 2011 1:28 PMHi,
Achnowledgement details comes in table it_qrtrtab at run time in the smartform, you can dibug the program j_1iewt_cert and smartforms J_1iewt_cert where at run time you will able to see data avaialability, If values are not available in this internal table then check related notes given by SAP, I have already implemented this note and also faced same issue but my FI consultant has given me the related note and my issue was resolved.
Please checkout related notes and data population in the dibugger.
Regards,
Umang Mehta -
Imitating the Predefined Text Item Details of Purchase Order in AddOn Form
Hello Experts,
I want to know if it is possible to imitate the Item Details features of SAP Purchase Order Form in my customised Form.
Means :-
In Purchase Order Form , when we enable the Item Details Column and while entering the data we double click on that column
then a Row Details Text window appears and we can enter the Summary Details or even we can select the Predefined Text
in the column .
The same feature i want to use in my customised AddOn .
How to do this one ??????
Thanks ,
AmitHi Amit ,
You can achive this by creating the UDO(User Defined Objects)
Link: [url] http://wiki.sdn.sap.com/wiki/display/B1/FAQ_sdk#FAQ_sdk-UDOTutorial
Link: [url] Creating scrrens with ou UDO
Thanks
Shafi -
Need to draw line after the 2nd line item(Smart Forms)
Dear Friends,
I need to draw horizontal line after the 2nd line item and 3rd line item in smart forms.How can i achive this.
Plz help.
Edited by: farook shaik on May 19, 2009 8:19 AMThis is what you need to do:
1> In the tables->details section define two line types LT1 and LT2.
2> Come back to tables section pressing the table painter button.
3> Select a line type for which you want to have an underline(say LT2).
a] If the anchor cursor does not come click the draw lines and columns button( the pencil icon nutton)
b] select the line type ( it will become black after selection. Press and hold down ctrl to select
multiple cells.
c] after selection click the lower 'frame button' ( which is right at the top of box and shading).
4> Now goto data section where you have given your internal table name and work area.
a] in the sort criteria put your field POSNR and check the Event on Sort end chk box.
b] you will see an extra node under the main area of the table.
c] Create a table line with the line type LT2 in the node.
d]Also in the Main area add another table line with LT1 as the line type.
5> If POSNR remains unchnged LT1 will be triggered.
6> if Posnr changes then LT2 will be triggered with the underline.
This will suffice your requirement. -
Out put is not displayed in smart form
Hi,
i have designed a smart form.i want to see the smartform without having datas so i designed completely with out writing select query to get details.
My samrt form get activated but while running the smart form. Simply a white page is displayed instead of displying the header contents , logo , field names.Hi Ramanan,
As soon as you activate the smartform, a function module will be generated. You can view that clicking Environment->Function Module say suppose '/1BCDWB/SF00000166'.
Goto Se37. Give this function Module and Click Execute.
This is other way of viewing your layout without data.
please Reward Points if helpful.
Thanks,
Karthik -
In my smart form why main's content din't display in print preview?Plz help
In my smart form why main's content din't display in print preview?Plz help me.
Regards
Indu
Moderator message: too vague, help not possible, please describe problems in all technical detail when posting again.
Edited by: Thomas Zloch on Jan 5, 2011 3:27 PMmake sure u've specified da style in output options of text element as
TIMES 10 in style field and select da desired paragraph and charcter format in general attributes tab of da text element.activaTE AND CHECK.
if problem still persists u can ask again.
reward points if it helps.
Maybe you are looking for
-
How to connect apple TV when im in hotel without giving my mac address
i got my apple tv with me cause i live in hotel but the only way to connected to internet if I give them my mac address therefore if i give my mac address to customer service wont they be able to access all my info and my mobile when connected or pic
-
IPod is recognized by iTunes but songs won't show up on device
I bought a brand new 32gb ipod touch 5th generation last weekend. I put about 8gb of music onto it. the music displayed under the "on my device" section of my ipod in itunes however when i disconnected my ipod the only songs on it were ones that were
-
Connect Contacts on MAC Mail Software
I have another question. I am wondering if it's possible to connect the contacts I have on the server and I can see on my webmail to the Macintosh Mail software. Is it an LDAP? I am not talking for the global userlist. I am talking about the personal
-
How to make a Custom Duplicate Menu....
Hii gurus, I have a Menu and lets say it has 100 Function under it .. I need to create same Custom Menu with those 100 Functions instead of Manually adding those 100 functions to that Custom Menu.. Is there any other way to Copy the existing Menu and
-
Officejet 6500 Printing labels & envelopes or anything not A4!
I have been trying to print to Avery J8165 labels from Word 2007. (For information the printer is connected via ethernet to the network and my computer is running Windows 7 Professional 64 bit). I have been successful in the past, sometimes, but toda