2010 May 11 7:17 AM
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
2010 May 11 7:29 AM
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
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
2010 May 11 7:22 AM
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
2010 May 11 7:26 AM
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.
2010 May 11 7:29 AM
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
2010 May 11 7:34 AM
hi
In SMARTFORM within loop and endloop Specify the condition .
SMARTFORM>Condition->Specify it.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |