cancel
Showing results for 
Search instead for 
Did you mean: 

Printing same Smartfom using single click on PRINT for many employee no.

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

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.

former_member193831
Active Participant
0 Kudos

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.

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Guru,

Thnx for ur reply.

but how do we put the entire coding for GET PERNR into smartform.

former_member193831
Active Participant
0 Kudos

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.