on 12-11-2006 7:07 AM
Hi All,
This is my first question that i'm posting in the forum, hope u dont disappont me.
We made a smart form for HR-pay slip. It is working fine for one employee, but when a range of employees are selected it asks a print preview screen each time for every single employee. We managed to get rid of the pop up print preview screen but still on clicking PRINT, it prints first emp. smart form, then back (F3), and again print for second emp. HR people need to run this for hundreds of employee and cannot click print for each one of them.
So, all I wanted was that somehow on clicking PRINT the very first time it shall print for all the range of employees given.
Step.1.Get pernr.
-
-
-
-
Call SSFfunction module name for smartform ZHR_PAYSLIP
-
-
-
go back to (Step.1) picking the next pernr given while execution
Hello,
I am Malathi .I have a very similar requirement like urs for developing payslip report for employees in smartforms .Can u send me ur portion of code used for calling the smartform in the loop .
Thanks and Regards,
Malathi V.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Debjani,
Not sure how you have put the SSF_OPEN and SSF_CLOSE function modules.
I would try putting them inside the LOOP ... ENDLOOP for pernr.
Can you post the part of the code around the SSF fm.
Regards,
Vivek Kute.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vivek,
Thanks for your response, now i feel a member of the forum.
I am just a beginner in Smartforms.
Ur reply made me realise that i had not used SSF Open N SSF Close FM.
the fraction of the code is:
========================================
GET pernr.
CALL FUNCTION 'HR_READ_INFOTYPE'.
PERFORM process_pernr "VKIK032705
USING pernr-pernr pn-paper pn-permo payty payid bondt mc_incl
pnpabkrs[] subrc.
IF exp_frm EQ false.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZHR_PAYSLIP'IMPORTING
fm_name = formname
control-no_dialog = 'X'.
control-PREVIEW = 'X'.
output_options-tdnoprint = 'X'.
output_options-tdnoprev = 'X'.
output_options-tdimmed = 'X'.
output_options-tdiexit = 'X'.
CALL FUNCTION formname
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = control
NO_DIALOG =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS = output_options
'output_options added by himanshu 6.12.2006
USER_SETTINGS = ' '
v_amount = v_amount
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
ENDIF.
===========================================
so u see as i have embedded the Call SSF FM stmnt. it executes the smartform for one pernr (personnel no.) and when it fetches the next pernr in the stmnt. GET PERNR, it executes the smartform again.
Is there a way when the smartform can call itself so that the output is successive and i dont have to press back button each time to see the payslip of the next personnel no.
Also plz advise where shall I use the SSF_Open and SSF_Close FMs.
Hi Debjani,
you have selcted pernr in your print program itself ,
dont do that , just code the same thing within the smartforms progarm lines ,
so that whenver you execute the progarm , smartform is called and in smartforms pernr is selected and loop that and display.
Like this you can avoid it.
reagards,
guru
Hi Debjani,
Try this --->
1) Pass the printer/ device data already in Control paramters so that the pop-up for printing doesn't come
2) This works when you pass USER_SETTINGS = ' ' in the SSF_OPEN.
See the code below:
X_CONTROL_PARAM-DEVICE = L_DEVICE. <---- short name for printer
X_CONTROL_PARAM-NO_DIALOG = C_X.
X_COMPOSER_PARAM-TDDEST = L_TDDEST.
X_COMPOSER_PARAM-TDNEWID = C_X.
X_COMPOSER_PARAM-TDIMMED = C_X.
Smartform OPEN
CALL FUNCTION 'SSF_OPEN'
EXPORTING
CONTROL_PARAMETERS = X_CONTROL_PARAM
OUTPUT_OPTIONS = X_COMPOSER_PARAM
USER_SETTINGS = ' ' <----
Make sure
IMPORTING
JOB_OUTPUT_OPTIONS = X_SSFCRESOP
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
Regards,
Vivek Kute.
Do reward points for helpful answer.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.