Application Development 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: 

Problem regarding display in Smartform

Former Member
0 Kudos

Hi All,

I have a requirement to display the PF report for the employees in the smartform.

Internally I am looping at the pernrs, and for each record calling the Smartform.

But it displays for 1 employee and until and unless i dont close it, it will not show the next 1.

I want as, 1 smartform with multiple pages for the records.

Please help.

Regards,

Heena

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

Change your internal table in such a way that it can hold several employee details

and pass this internal table to smartform .Create a Loop on this internal table inside the form and display the records

instead of looping in the driver program and calling the smartform several times.

Regards

Hareesh Menon

4 REPLIES 4

Former Member
0 Kudos

Hi,

I am not getting the below two lines, what do you mean to ask.

But it displays for 1 employee and until and unless i dont close it, it will not show the next 1.

I want as, 1 smartform with multiple pages for the records.

Pls make it clear..

Rg,

Lokesh

Former Member
0 Kudos

Hello,

Try this:

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

formname = l_form

  • VARIANT = ' '

  • DIRECT_CALL = ' '

IMPORTING

fm_name = l_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.

CALL FUNCTION 'SSF_OPEN'

EXPORTING

  • ARCHIVE_PARAMETERS =

  • USER_SETTINGS = 'X'

  • MAIL_SENDER =

  • MAIL_RECIPIENT =

  • MAIL_APPL_OBJ =

output_options = l_ssfcompop

  • CONTROL_PARAMETERS =

  • IMPORTING

  • JOB_OUTPUT_OPTIONS =

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.

CLEAR wrk_vekp.

LOOP AT i_vekp INTO wrk_vekp.

control-no_dialog = 'X'.

control-preview = 'X'.

control-no_open = 'X'.

control-no_close = 'X'.

CALL FUNCTION l_form_name

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

control_parameters = control "type ssfctrlop,

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • output_options =

  • USER_SETTINGS = 'X'

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO =

  • JOB_OUTPUT_INFO =

  • JOB_OUTPUT_OPTIONS =

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.

endloop.

CALL FUNCTION 'SSF_CLOSE'

  • IMPORTING

  • JOB_OUTPUT_INFO =

EXCEPTIONS

formatting_error = 1

internal_error = 2

send_error = 3

OTHERS = 4

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Former Member
0 Kudos

Hi

Change your internal table in such a way that it can hold several employee details

and pass this internal table to smartform .Create a Loop on this internal table inside the form and display the records

instead of looping in the driver program and calling the smartform several times.

Regards

Hareesh Menon

0 Kudos

hi

In SMARTFORM within loop and endloop Specify the condition .

SMARTFORM>Condition->Specify it.