cancel
Showing results for 
Search instead for 
Did you mean: 

How to Skip Print dialog window in smartforms

Former Member
0 Kudos

Hi Experts,

while printing the smartforms i dont want Print dialog window. I want as and when i pressed the print

button it'll directly print with the specified printer.

I tried with lot of option but it is not working for me . May be i missed some prameter to pass.

Have a look in to my code below and make me correct .

DATA : WA_CPARAM TYPE SSFCTRLOP,

WA_OUTPUT TYPE SSFCOMPOP,

JOB_OUTPUT_INFO TYPE SSFCRESCL.

  • WA_CPARAM-PREVIEW = 'X'.

WA_CPARAM-NO_DIALOG = 'X'.

  • WA_CPARAM-DEVICE = 'PRINTER'.

  • WA_OUTPUT-TDNOPRINT = 'X'.

WA_OUTPUT-TDDEST = 'LP06'.

WA_OUTPUT-TDIMMED = ' '.

WA_OUTPUT-TDNEWID = 'X'.

  • WA_OUTPUT-TDDELETE = 'X'.

WA_OUTPUT-BCS_LANGU = SY-LANGU .

  • WA_OUTPUT-TDPRINTER = 'X'.

CALL FUNCTION FNAM

EXPORTING

  • ARCHIVE_INDEX =

  • ARCHIVE_INDEX_TAB =

  • ARCHIVE_PARAMETERS =

CONTROL_PARAMETERS = WA_CPARAM

OUTPUT_OPTIONS = WA_OUTPUT

USER_SETTINGS = ' '

*

  • MAIL_APPL_OBJ =

  • MAIL_RECIPIENT =

  • MAIL_SENDER =

  • OUTPUT_OPTIONS = T_SSFCOMPOP

  • USER_SETTINGS = ' '

  • OUTPUT_OPTIONS =

  • USER_SETTINGS = 'X'

  • IMPORTING

  • DOCUMENT_OUTPUT_INFO = SSFCRESPD

JOB_OUTPUT_INFO = job_output_info

  • JOB_OUTPUT_OPTIONS = WA_OUTPUT

TABLES

ITAB1 = IT_ZADVMUTH1

  • 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.

Thanks In Advance.

Satya

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member196280
Active Contributor
0 Kudos

Try with below parameters, it may help you to close the thread.

WA_CPARAM-device = 'LP06'.

WA_CPARAM-no_dialog = 'X'.

WA_OUTPUT-tdnoprev = 'X'.

WA_OUTPUT-tddest = 'LOCL'.

WA_OUTPUT-tdnewid = 'X'.

SELECT SINGLE * FROM usr01
INTO ls_usr01
WHERE bname = sy-uname
     AND spdb  = 'G'.

If sy-subrc EQ 0.
WA_OUTPUT-tdimmed = ' '.
ELSE.
WA_OUTPUT-tdimmed = 'X'.
ENDIF.

Regards,

SaiRam

former_member193284
Active Participant
0 Kudos

Hi,

To suppress the print dialog use no_dialog = 'X' and to issue the print directly ensure TDIMMED = 'X'.

Do ensure to pass the short text for the printer name as shown below.

WA_CPARAM-NO_DIALOG = 'X'.

WA_OUTPUT-TDDEST = 'LP06'.

WA_OUTPUT-TDIMMED = ' X'.

Thanks

Former Member
0 Kudos

Hi Sumit,

Thanks, but after set the parameter as per you its only generate spool only but it is not printing .

Any other advice .

Thanks,

Satya

Former Member
0 Kudos

HI,

Pass these parameter only,

clear : WA_CPARAM, WA_OUTPUT.

WA_CPARAM-NO_DIALOG = 'X'.

WA_CPARAM-DEVICE = 'PRINTER'.

WA_OUTPUT-TDDEST = 'LP06'.

WA_OUTPUT-TDIMMED = ' X'.

Regards,

Madhukar Shetty

Former Member
0 Kudos

Thanks ...it solved .