cancel
Showing results for 
Search instead for 
Did you mean: 

Smartforms-issue-

Former Member
0 Kudos

Hi,

can anyone post the solution for the requirement given below in SMARTFORMS.

I have to pass a set of 'matnr' values by means of an Internal table to a smartform and based on each material number I have to display a set of values WHERE THE OUTPUT SHOULID BE LIKE I HAVE TO DISPLAY DETAILS OF EACH MATERIAL BASED ON MATERIAL NUMBER IN A SEPARATE PAGE IN THE OUTPUT OF SMARTFORM.

Thanks,

G Kumari.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi

declare and define the structure of the internal table

in data dictionary.

now declare the internal table(eg i_matnr) in the tables section of the smartform interface.

eg:

i_matnr LIKE Z_your_structure

and pass the internal table to smartform

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Kumari,

Refer this sample code

TABLES:
  spfli.

DATA:
  t_spfli type
    STANDARD TABLE OF spfli.

DATA:
  fs_spfli TYPE spfli.

DATA:
  w_form TYPE  tdsfname,
  w_flag TYPE i,
  f_nam TYPE rs38l_fnam,
  w_input   TYPE ssfcompin,
  w_control TYPE ssfctrlop.

SELECTION-SCREEN BEGIN OF BLOCK blk  WITH FRAME.
SELECT-OPTIONS s_carrid FOR spfli-carrid.
SELECTION-SCREEN END OF BLOCK blk .

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME.
PARAMETERS:
p_single RADIOBUTTON GROUP rad1,
p_ind    RADIOBUTTON GROUP rad1.
SELECTION-SCREEN END OF BLOCK block1.


START-OF-SELECTION.
  PERFORM display_data.
  PERFORM ssf_function_module_name.
  PERFORM spool_request.
*&---------------------------------------------------------------------*
*&      Form  display_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM display_data .
  SELECT *
  FROM spfli
  INTO TABLE t_spfli
  WHERE carrid IN s_carrid.
ENDFORM.                    " display_data
*&---------------------------------------------------------------------*
*&      Form  ssf_function_module_name
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM ssf_function_module_name .
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'Z_FORM'
    IMPORTING
      fm_name            = f_nam
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2.
*  IF sy-subrc NE 0.
*    MESSAGE 'Form cannot be displayed' TYPE 'E' .
*  ENDIF.                               " IF sy-subrc eq 0
ENDFORM.                               " ssf_function_module_name
*&---------------------------------------------------------------------*
*&      Form  spool_request
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM spool_request .

w_input-dialog = 'X'.

  CALL FUNCTION 'SSFCOMP_OPEN'
    EXPORTING
      input = w_input
    EXCEPTIONS
      error = 1.
*" LOOP AT t_spfli .....................................................

  LOOP AT t_spfli INTO fs_spfli.
    w_control-no_open   = ' '.
    w_control-no_close  = ' '.
*"Single spool request..................................................
    IF p_single EQ 'X'.
      w_control-no_open   = 'X'.
      w_control-no_close  = 'X'.
    ELSE.
*"Individual spool request.............................................
      IF w_flag NE '1'.
        w_control-no_open  = 'X'.
        w_control-no_close = ' '.
        w_flag = 1.
        CALL FUNCTION ' '------------>smartform function module
          EXPORTING
           control_parameters          = w_control
            fs_spfli                   = fs_spfli
         EXCEPTIONS
           formatting_error           = 1
           internal_error             = 2
           send_error                 = 3
           user_canceled              = 4.
       endif.                          " IF w_flag ne '1'
      ENDIF.                           " IF p_single eq 'X'.
      CALL FUNCTION ' '------------->smartform function module
        EXPORTING
          control_parameters = w_control
          fs_spfli           = fs_spfli
        EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4.
    ENDLOOP.                             " LOOP at t_spfli into ...

*&--------------------------------------------------------------------*
*&This function module close the spool request                        *
*&--------------------------------------------------------------------*
    CALL FUNCTION 'SSFCOMP_CLOSE'
      EXCEPTIONS
        error = 1.
  ENDFORM.                               " spool_request

Regards,

Sravanthi