Está en la página 1de 2

Create new smartforms ZSMART 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 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 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)& To branch to a new page The page to which you want to branch must exist. You can branch to a new page only as long as you are still displaying the contents of a main window. Choose Create -> Command in the context menu to create a command node in the main window of the page. On the General Attributes tab strips Tick Go to new page. Determine the new page using the list box next to the checkbox (it can be the same page if you want). The output of the main window will continues on the new page.

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

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.