cancel
Showing results for 
Search instead for 
Did you mean: 

How to write print program for smartforms

Former Member
0 Kudos

Hi all

I need to develop new smartform and its print program.

But Im not experience in writing print program for smartform.

Ive gone through the simple print program sample that use only one table as input and one table for output.

But my smartforms require few tables for input and output.

How should I define the Data?

Can anyone guide me on how to write it.

Thanks & Regards

az

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi

Can anyone share print program that you created yourself, not the standard print program.

Really appreciate any sharing.

Thanks

az

Former Member
0 Kudos

Hi,

Please check standard one for How to write print program for smartforms

SF_EXAMPLE_01,SF_EXAMPLE_03,SF_EXAMPLE_03

Reward Points All helpfull Answers

Regards

Fareedas

Former Member
0 Kudos

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.

Reward points...

Former Member
0 Kudos

Hi Murali.

Ive gone through this sample before.

This is a very basic smartform and print program. My smartforms needs to pull data from few tables.

So can I define like this in my print program:


DATA: BEGIN OF ST_HEADER,
        WERKS LIKE AUFK-WERKS,
        AUART LIKE AUFK-AUART,
        MATNR LIKE AFPO-MATNR,
        AUFNR LIKE AFPO-AUFNR,
        GETRI LIKE AFKO-GETRI,
      END OF ST_HEADER.

I defined like this, but when it comes to smartform Form Interface, Import tab I dont know how to write the definition.

ST_HEADER TYPE ???

If I only use one table then I can straight away use the table structure, but in this case Im using few tables.

Is there any opinion?

Thanks

az

Former Member
0 Kudos
Former Member
0 Kudos

Hi

Thanks Kumar.

Any other suggestion?

Thanks

az