cancel
Showing results for 
Search instead for 
Did you mean: 

requirement

Former Member
0 Kudos

Hi,

Can anyone explain the solution for the requirement given below.

I have zform as well as a yform so that in the print preview I need to see the print preview of both forms one after the other in scripts as well as in smartforms.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

For the sapscript the program should have a structure like this:

* Open the spool

CALL FUNCTION 'OPEN_FORM'
     EXPORTING
          DEVICE                      = 'PRINTER'
          DIALOG                      = 'X'
     EXCEPTIONS
          CANCELED                    = 1
          DEVICE                      = 2
          FORM                        = 3
          OPTIONS                     = 4
          UNCLOSED                    = 5
          MAIL_OPTIONS                = 6
          ARCHIVE_ERROR               = 7
          INVALID_FAX_NUMBER          = 8
          MORE_PARAMS_NEEDED_IN_BATCH = 9
          SPOOL_ERROR                 = 10
          OTHERS                      = 11.
IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


* Start ZFORM

CALL FUNCTION 'START_FORM'
  EXPORTING
    FORM                   = 'ZFORM'
    LANGUAGE               = <LANGUAGE>
 EXCEPTIONS
   FORM                   = 1
   FORMAT                 = 2
   UNENDED                = 3
   UNOPENED               = 4
   UNUSED                 = 5
   SPOOL_ERROR            = 6
   OTHERS                 = 7
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

........... All code to print the form

* Close ZFORM

CALL FUNCTION 'END_FORM'.


* Start YFORM

CALL FUNCTION 'START_FORM'
  EXPORTING
    FORM                   = 'YFORM'
    LANGUAGE               = <LANGUAGE>
 EXCEPTIONS
   FORM                   = 1
   FORMAT                 = 2
   UNENDED                = 3
   UNOPENED               = 4
   UNUSED                 = 5
   SPOOL_ERROR            = 6
   OTHERS                 = 7
          .
IF SY-SUBRC <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

........... All code to print the form

* Close YFORM

CALL FUNCTION 'END_FORM'.

* Close spool

CALL FUNCTION 'CLOSE_FORM'.

For Smartform:

* Open spool:

SSFCOMPIN-DIALOG = 'X'.

CALL FUNCTION 'SSF_OPEN'
     EXPORTING
          INPUT  = SSFCOMPIN
     EXCEPTIONS
          ERROR  = 1
          OTHERS = 2.
          
          
* Call ZFORM

  SSFCTRLOP-NO_OPEN   = 'X'.
  SSFCTRLOP-NO_CLOSE  = 'X'.

  CALL FUNCTION FM_NAME_ZFORM
           EXPORTING
            CONTROL_PARAMETERS         = SSFCTRLOP
            ............................
          EXCEPTIONS
            FORMATTING_ERROR           = 1
            INTERNAL_ERROR             = 2
            SEND_ERROR                 = 3
            USER_CANCELED              = 4
            OTHERS                     = 5.          


* Call YFORM

  SSFCTRLOP-NO_OPEN   = 'X'.
  SSFCTRLOP-NO_CLOSE  = 'X'.

  CALL FUNCTION FM_NAME_YFORM
           EXPORTING
            CONTROL_PARAMETERS         = SSFCTRLOP
            ............................
          EXCEPTIONS
            FORMATTING_ERROR           = 1
            INTERNAL_ERROR             = 2
            SEND_ERROR                 = 3
            USER_CANCELED              = 4
            OTHERS                     = 5.  
* Close spool
CALL FUNCTION 'SSF_CLOSE'.

Max

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Sandeep,

can you please let me know how u solved the issue ?

Former Member
0 Kudos

Hi,

This is the procedure.

For the sapscript the program should have a structure like this:

  • Open the spool

CALL FUNCTION 'OPEN_FORM'

EXPORTING

DEVICE = 'PRINTER'

DIALOG = 'X'

EXCEPTIONS

CANCELED = 1

DEVICE = 2

FORM = 3

OPTIONS = 4

UNCLOSED = 5

MAIL_OPTIONS = 6

ARCHIVE_ERROR = 7

INVALID_FAX_NUMBER = 8

MORE_PARAMS_NEEDED_IN_BATCH = 9

SPOOL_ERROR = 10

OTHERS = 11.

IF SY-SUBRC 0.

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

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

ENDIF.

  • Start ZFORM

CALL FUNCTION 'START_FORM'

EXPORTING

FORM = 'ZFORM'

LANGUAGE =

EXCEPTIONS

FORM = 1

FORMAT = 2

UNENDED = 3

UNOPENED = 4

UNUSED = 5

SPOOL_ERROR = 6

OTHERS = 7

.

IF SY-SUBRC 0.

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

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

ENDIF.

........... All code to print the form

  • Close ZFORM

CALL FUNCTION 'END_FORM'.

  • Start YFORM

CALL FUNCTION 'START_FORM'

EXPORTING

FORM = 'YFORM'

LANGUAGE =

EXCEPTIONS

FORM = 1

FORMAT = 2

UNENDED = 3

UNOPENED = 4

UNUSED = 5

SPOOL_ERROR = 6

OTHERS = 7

.

IF SY-SUBRC 0.

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

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

ENDIF.

........... All code to print the form

  • Close YFORM

CALL FUNCTION 'END_FORM'.

  • Close spool

CALL FUNCTION 'CLOSE_FORM'.

For Smartform:

  • Open spool:

SSFCOMPIN-DIALOG = 'X'.

CALL FUNCTION 'SSF_OPEN'

EXPORTING

INPUT = SSFCOMPIN

EXCEPTIONS

ERROR = 1

OTHERS = 2.

  • Call ZFORM

SSFCTRLOP-NO_OPEN = 'X'.

SSFCTRLOP-NO_CLOSE = 'X'.

CALL FUNCTION FM_NAME_ZFORM

EXPORTING

CONTROL_PARAMETERS = SSFCTRLOP

............................

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

  • Call YFORM

SSFCTRLOP-NO_OPEN = 'X'.

SSFCTRLOP-NO_CLOSE = 'X'.

CALL FUNCTION FM_NAME_YFORM

EXPORTING

CONTROL_PARAMETERS = SSFCTRLOP

............................

EXCEPTIONS

FORMATTING_ERROR = 1

INTERNAL_ERROR = 2

SEND_ERROR = 3

USER_CANCELED = 4

OTHERS = 5.

  • Close spool

CALL FUNCTION 'SSF_CLOSE'.