cancel
Showing results for 
Search instead for 
Did you mean: 

Printing Error

Former Member
0 Kudos

Hello

when i want to priting a form, i became the error


Previous output request was not finished.
Message no. SSFCOMPOSER150

Diagnosis
A previous output request has not been finished. Therefore you are not allowed to start a new output request.

System Response
The system issues an error message.

Procedure
Check the sequence in which you call the function modules SSFCOMP_OPEN and SSFCOMP_CLOSE.

what i do wrong?


call method me->get_printer
      exporting
        pf_werks       = gf_werks
        pf_vstel       = gs_sped_ruest-hd_ruest_ko-vstel
        pf_vtweg       = gf_vtweg
      changing
        pf_printer_inf = ls_ssfcompin.

    call function 'SSFCOMP_OPEN'
      exporting
        input  = ls_ssfcompin
      exceptions
        error  = 1
        others = 2.
    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 gs_output_para.

    call function gv_fmname
      exporting
*       ARCHIVE_INDEX              =
*       ARCHIVE_INDEX_TAB          =
*       ARCHIVE_PARAMETERS         =
       control_parameters         = gs_control_para
*       MAIL_APPL_OBJ              =
*       MAIL_RECIPIENT             =
*       MAIL_SENDER                =
*       output_options             = gs_output_para
*       user_settings              = space
       is_sped_ruest              = gs_sped_ruest
     importing
*       document_output_info       =
       job_output_info            = gs_job_output
*       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.

    call function 'SSFCOMP_CLOSE'
      importing
        result = gs_job_output
      exceptions
        error  = 1
        others = 2.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.

regards anu

Accepted Solutions (0)

Answers (7)

Answers (7)

Former Member

Yes, when i commenting it, then it works fine for one form print. But when i have more the one forms, it's problem.

How i can control the function SSFCOMP_OPEN and SSFCOMP_CLOSE

0 Kudos

Thnq...helped me alot

Former Member

Try commenting the FM's SSFCOMP_OPEN and SSFCOMP_CLOSE... as the function module generated by SMARTFORMS conatin the same function calls...

Regards,

Shafivullah Mohammad

0 Kudos

thank you.

Former Member
0 Kudos

now it works.

the spool job close with

gs_output_para-tdfinal = 'X'.

Former Member
0 Kudos

 else.
        loop at gt_komnr_sort assigning <ls_komnr_print>
                              where werks = <ls_komnr_kap>-werks
                              and vstel = <ls_komnr_kap>-vstel.
          clear: gf_spras.
          gs_control_para-no_open   = 'X'.
          gs_control_para-no_close   = 'X'.
          gs_control_para-no_dialog = 'X'.

          at first.
            gs_control_para-no_open  = space.
          endat.
          at last.
            gs_control_para-no_close  = space.
          endat.

          call method lc_selectdb->select_sped_lief
            exporting
              pf_vbeln = <ls_komnr_print>-vbeln
              pf_komnr = <ls_komnr_print>-kmnrch.

          call method lc_selectdb->select_sped_we
            exporting
              pf_vbeln = <ls_komnr_print>-vbeln.

          call method lc_selectdb->select_sped_ruest
            exporting
              pf_komnr = <ls_komnr_print>-kmnrch.

          call method lc_selectdb->select_sped_sp
            exporting
              pf_vbeln = <ls_komnr_print>-vbeln.

          call method lc_selectdb->select_sped_pos
            exporting
              pf_komnr = <ls_komnr_print>-kmnrch.

          gs_control_para-langu = gf_spras.
          "Funktionsbaustein SmartForms aufrufen
          call method lc_call_formular->print_form.

          clear: gs_sped_ruest-hd_ruest_ko,
                 gs_sped_ruest-hd_ruest_lief,
                 gs_sped_ruest-hd_ruest_we,
                 gs_sped_ruest-hd_ruest_sp.
          refresh gs_sped_ruest-hd_ruest_pos.
          lf_werks_temp = <ls_komnr_print>-werks.
          lf_vstel_temp = <ls_komnr_print>-vstel.
        endloop.
      endif.
endloop.
Former Member
0 Kudos
loop at gt_komnr_sort assigning <ls_komnr_kap>.
      clear: gs_control_para,
             lf_counter.

      "Schleifen fortfahren, wenn Daten gleich sind
      if <ls_komnr_kap>-werks eq lf_werks_temp
         and <ls_komnr_kap>-vstel eq lf_vstel_temp.
        continue.
      else.
        clear: lf_werks_temp,
               lf_vstel_temp.
      endif.

      loop at gt_komnr_sort assigning <ls_komnr_counter>
                            where werks = <ls_komnr_kap>-werks
                            and vstel = <ls_komnr_kap>-vstel.
        lf_counter = lf_counter + 1.
        if lf_counter > 1.
          exit.
        endif.
      endloop.

      if lf_counter = 1.
        clear gf_spras.
        gs_control_para-no_dialog = 'X'.

        read table gt_komnr_sort assigning <ls_komnr_print>
                                 with key werks = <ls_komnr_kap>-werks
                                          vstel = <ls_komnr_kap>-vstel.
        call method lc_selectdb->select_sped_lief
          exporting
            pf_vbeln = <ls_komnr_print>-vbeln
            pf_komnr = <ls_komnr_print>-kmnrch.

        call method lc_selectdb->select_sped_we
          exporting
            pf_vbeln = <ls_komnr_print>-vbeln.

        call method lc_selectdb->select_sped_ruest
          exporting
            pf_komnr = <ls_komnr_print>-kmnrch.

        call method lc_selectdb->select_sped_sp
          exporting
            pf_vbeln = <ls_komnr_print>-vbeln.

        call method lc_selectdb->select_sped_pos
          exporting
            pf_komnr = <ls_komnr_print>-kmnrch.

        gs_control_para-langu = gf_spras.
        "Funktionsbaustein SmartForms aufrufen
        call method lc_call_formular->print_form.

        clear: gs_sped_ruest-hd_ruest_ko,
               gs_sped_ruest-hd_ruest_lief,
               gs_sped_ruest-hd_ruest_we,
               gs_sped_ruest-hd_ruest_sp.
        refresh gs_sped_ruest-hd_ruest_pos.

Edited by: abap_begin on Oct 26, 2009 1:42 PM

Edited by: abap_begin on Oct 26, 2009 1:43 PM

Edited by: abap_begin on Oct 26, 2009 1:44 PM

Former Member
0 Kudos

the szenario is very complex

Sometimes i must print one form but the other time it must print more forms. when i print more forms, then i make it too one spool order. When more then one form is printed, in the next loop must be one form print, then i becam the error messages


Previous output request was not finished.
Message no. SSFCOMPOSER150
 
Diagnosis
A previous output request has not been finished. Therefore you are not allowed to start a new output request.
 
System Response
The system issues an error message.
 
Procedure
Check the sequence in which you call the function modules SSFCOMP_OPEN and SSFCOMP_CLOSE.

Edited by: abap_begin on Oct 26, 2009 1:40 PM

Edited by: abap_begin on Oct 26, 2009 1:40 PM

Former Member
0 Kudos

how i close the spool job?

Former Member
0 Kudos

No need for explicit close as the FM generated by SMARTFORM will handle this... Please go thru the code of the FM that is genrated...