cancel
Showing results for 
Search instead for 
Did you mean: 

Need help with SCHECK routine in RFFOUS_C(it produces an extra page!)

aris_hidalgo
Contributor
0 Kudos

Hello Experts,

I noticed that in one part of the routine SCHECK which can be found in standard program RFFOUS_C, there

is a code that for EVERY END of a house bank, it calls again the window 'CHECK' and element 540. Now,

this creates an extra page which I do not need. Also, they wouldn't let me customize the standard program

since it is being used by many companies. I tried commenting the element but it produces an error.

So for example I only have 3 payment documents, it should produce only 3 pages. I have checked the line items

and they are not enough to trigger an overflow.

Below is the code which causes an extra page:


*-- Ende der Hausbank --------------------------------------------------
*-- end of house bank --------------------------------------------------
    AT END OF reguh-ubnkl.

      IF cnt_formulare NE 0.           "Formularabschluß erforderlich
                                       "summary necessary

*       close last check
        CALL FUNCTION 'CLOSE_FORM'
             IMPORTING RESULT = itcpp.

        IF itcpp-tdspoolid NE 0.
          CLEAR tab_ausgabe.
          tab_ausgabe-name    = t042z-text1.
          tab_ausgabe-dataset = itcpp-tddataset.
          tab_ausgabe-spoolnr = itcpp-tdspoolid.
          tab_ausgabe-immed   = par_sofz.
          COLLECT tab_ausgabe.
        ENDIF.
        CLEAR flg_druckmodus.

        IF hlp_laufk NE '*'            "kein Onlinedruck
                                       "no online check print
          AND par_nosu EQ space.       "Formularabschluß gewünscht
                                       "summary requested
*         Formular für den Abschluß starten
*         start form for summary
          SET COUNTRY space.
          IMPORT itcpo FROM MEMORY ID 'RFFORI01_ITCPO'.
          itcpo-tdnewid = space.


          CALL FUNCTION 'OPEN_FORM'
               EXPORTING
                    form     = t042e-zforn
                    device   = 'PRINTER'
                    language = t001-spras
                    options  = itcpo
                    dialog   = space.
          CALL FUNCTION 'START_FORM'
               EXPORTING
                    startpage = 'LAST'
                    language  = t001-spras.

*         Vornumerierte Schecks: letzte Schecknummer ermitteln
*         prenumbered checks: compute last check number
          IF flg_schecknum EQ 1.
            PERFORM schecknummer_ermitteln USING 3.
          ENDIF.

*         Ausgabe des Formularabschlusses
*         print summary
          CALL FUNCTION 'WRITE_FORM'
               EXPORTING
                    window = 'SUMMARY'
               EXCEPTIONS
                    window = 1.
          IF sy-subrc EQ 1.
            err_element-fname = t042e-zforn.
            err_element-fenst = 'SUMMARY'.
            err_element-elemt = space.
            err_element-text  = space.
            COLLECT err_element.
          ENDIF.

*         Fenster Scheck, Element Entwertet
*         window check, element voided check
          CALL FUNCTION 'WRITE_FORM'			"<-------IT CALLS AGAIN THE CHECK WINDOW SO
               EXPORTING					"ANOTHER PAGE IS CREATED WHICH I DO NOT NEED
                    window  = 'CHECK'
                    element = '540'
               EXCEPTIONS
                    window  = 1        "Fehler bereits oben gemerkt
                    element = 2.       "error already noted

*         Formular für den Abschluß beenden
*         end form for summary
          CALL FUNCTION 'END_FORM'
               IMPORTING
                    RESULT = itcpp.
          IF itcpp-tdpages EQ 0.       "Print via RDI
            itcpp-tdpages = 1.
          ENDIF.
          cnt_seiten = itcpp-tdpages.  "Für vornumerierte Schecks
                                       "For prenumbered checks
          IF flg_schecknum EQ 1 AND cnt_seiten GT 0.
            PERFORM scheckinfo_speichern USING 3.
          ENDIF.

*         Abschluß des Formulars
*         close form
          CALL FUNCTION 'CLOSE_FORM'
               IMPORTING
                    RESULT = itcpp.

          IF itcpp-tdspoolid NE 0.
            CLEAR tab_ausgabe.
            tab_ausgabe-name    = t042z-text1.
            tab_ausgabe-dataset = itcpp-tddataset.
            tab_ausgabe-spoolnr = itcpp-tdspoolid.
            tab_ausgabe-immed   = par_sofz.
            COLLECT tab_ausgabe.
          ENDIF.

        ENDIF.

        IF NOT itcpp-tdspoolid IS INITIAL.
          CALL FUNCTION 'RSPO_FINAL_SPOOLJOB'
               EXPORTING
                    rqident = itcpp-tdspoolid
                    set     = 'X'
                    force   = 'X'
               EXCEPTIONS
                    OTHERS  = 4.
          IF sy-subrc NE 0.
            MOVE-CORRESPONDING syst TO fimsg.
            PERFORM message USING fimsg-msgno.
          ENDIF.
        ENDIF.

      ENDIF.

    ENDAT.

Accepted Solutions (1)

Accepted Solutions (1)

former_member196280
Active Contributor
0 Kudos

I guess, with out customizing the driver program your issue will not be solved.

Don't worry, even if you customized your driver program it will not effect othr companies that are using it.. since check printing program configutation is done at company code level.

For more information on config of check printing program visit transaction code FBZP.

Regards,

SaiRam

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi ,

No need to update the standard program.Check the form and printer device with the help of baiss person.

If still it doest work write one extertal subtoutne and avoid the last page by checking the house bank.