Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

smart forms

Former Member
0 Likes
959

hi, friends i am working in smartforms have a doubt how to extract the data from more than two tables and how to pass these data to form .In this case i don't have any idea how to maitain the logic in the smartform itself can any one help me and if possible send me the code please.

7 REPLIES 7
Read only

Former Member
0 Likes
908

Hi,

1.Create one global stucture in SE11.

2. Create Driver program and fire select queries and collect data into itab of type your defined structure.

3. Create Smartform, define global table of type your structure, make one table type of this structure.

4. Take main window, defin one work area and then pass itab and wa to it.

5. Take one text window to print it.

6. Activate smartform, gererate FM, you can see it through Environment.

7. Come to Driver program, from pattern call this FM and pass itab collected data.

8. Run Driver Program

Reward if useful!

Read only

Former Member
0 Likes
908

Hi

See the doc

How to create a New smartfrom, it is having step by step procedure

http://sap.niraj.tripod.com/id67.html

step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...

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.

for Smartforms material

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

http://www.sap-img.com/smartforms/smartform-tutorial.htm

http://www.sapgenie.com/abap/smartforms.htm

How to trace smartform

http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm

http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF

http://www.sap-img.com/smartforms/smart-006.htm

http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm

check most imp link

http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html

<b>step by step good ex link is....

http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.h...;

Subtotals - Check the link...

You can create PROGRAM LINES in the smartform and write your code and use it

by declaring the data fields in global declarations.

<b>Reward points for useful Answers</b>

Regards

Anji

Read only

0 Likes
908

Thank you my friend anji ,you gave a lot of inforrmation it is so useful to me once again thank you.

thanks and regards ,

sasi kumar.

Read only

0 Likes
908

hi,friend thanks for yor kind information pleasse help in this situation i am sending you the tables and fields can you just go through it ,if possible give me the code.

tables AND FIELDS:

THIS IS FOR INFO WINDOW:

VBRK-VBELN,

VBRK-STCEG,

VBRP-VGBEL,

VBPA-PARNR,

LIKP-VBELN,

KNKK-SBGRP,

KNA1-KUNNR,

KNA1-NAME1.

THIS IS FOR MAIN WINDOW:

VBPA-POSNR,

MARA-MFRPN,

MAKT-MAKTX,

MARA-EANNR,

MARA-MATNR,

MARC-STWAN,

VBRP-FKIMG,

MARC-HERKL,

VBAP-NETPR.

Read only

Former Member
0 Likes
908

Hi,

You can extract data in an internal table in the driver program or the print program and then pass it to the smartform

Regards,

Himanshu

Read only

Former Member
0 Likes
908

Hi,

Internal Table in Smartform

Here is a sample program in which used two internal tables:

REPORT YPRINTPRG_SMARTFORM1 .

DATA : ITKNA1 LIKE KNA1,

ITVBAK LIKE VBAK OCCURS 0 WITH HEADER LINE.

PARAMETERS : PKUNNR LIKE KNA1-KUNNR.

SELECT * FROM KNA1 INTO ITKNA1

WHERE KUNNR = PKUNNR.

ENDSELECT.

SELECT * FROM VBAK

INTO TABLE ITVBAK

WHERE KUNNR = PKUNNR.

CALL FUNCTION '/1BCDWB/SF00000011'

EXPORTING

ITKNA1 = ITKNA1

TABLES

ITVBAK = ITVBAK.

IN SMART FORM

FORM INERFACE----


IMPORT (TAB)

Parameter name Type assignment Reference type Default value

ITKNA1 LIKE KNA1

FORM INERFACE----


TABLES (TAB)

ITVBAK LIKE VBAK

PAGES & WINDOWS--- MAIN WINDOW-LOOP 1--DATA(TAB)

ITVBAK INTO ITVBAK

PAGES & WINDOWS-----MAIN WINDOW--LOOP 1---TEXT 3(EDITOR)

&ITVBAK-VBELN& &ITVBAK-ERDAT& &ITVBAK-ERNAM& &ITVBAK-NETWR&

PAGES & WINDOWS-----HEADER WINDOW---TEXT 2(EDITOR)

Customer No. &itkna1-kunnr& CustomerName :&itkna1-name1&

hope this may be useful

r else u use the structure it is better than internal table.

Regards,

Divya

Read only

Former Member
0 Likes
908

Hi Sasikumar,

when a smart from is created a function module is generated whose name appears at the end of creating a smart from.

the following link should help you create a smart from

http://www.sap-img.com/smartforms/smartform-tutorial.htm

now in the driver program which is te abap program

u can call this function module.

while creating the smartforms there are tabs where u define the importing and exporting parameters where u declare the tables that u want to to import into the smart forms.

so when calling the smartform

call 'zsmartform'

tables

i_tab = itab.

this table can now be used globally in the smart form.

All the best !!

Regards

Aparna