ABAP/4 Example Code: How to apply CONTROL_FORM function in ABAP/4

Example

START-OF-SELECTION.
  PERFORM OPEN_FORM.
  PERFORM START_FORM.
  PERFORM WRITE_FORM USING ’LINE1’. "Define LINE1 element name in MAIN
  PERFORM CONTROL_FORM USING ’NEW-PAGE’.
  PERFORM WRITE_FORM USING ’LINE2’. "Define LINE2 element name in MAIN
  PERFORM END_FORM.
  PERFORM CLOSE_FORM.


*&---------------------------------------------------------------------*
*&      Form  OPEN_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM OPEN_FORM .
  CALL FUNCTION ’OPEN_FORM’
*   EXPORTING
*     APPLICATION                       = ’TX’
*     ARCHIVE_INDEX                     =
*     ARCHIVE_PARAMS                    =
*     DEVICE                            = ’PRINTER’
*     DIALOG                            = ’X’
*     FORM                              = ’ ’
*     LANGUAGE                          = SY-LANGU
*     OPTIONS                           =
*     MAIL_SENDER                       =
*     MAIL_RECIPIENT                    =
*     MAIL_APPL_OBJECT                  =
*     RAW_DATA_INTERFACE                = ’*’
*     SPONUMIV                          =
*   IMPORTING
*     LANGUAGE                          =
*     NEW_ARCHIVE_PARAMS                =
*     RESULT                            =
   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
     CODEPAGE                          = 11
     OTHERS                            = 12
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

ENDFORM.                    " OPEN_FORM
*&---------------------------------------------------------------------*
*&      Form  START_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM START_FORM .
  CALL FUNCTION ’START_FORM’
   EXPORTING
*     ARCHIVE_INDEX          =
     FORM                   = ’ZFORM001’
*     LANGUAGE               = ’ ’
*     STARTPAGE              = ’ ’
*     PROGRAM                = ’ ’
*     MAIL_APPL_OBJECT       =
*   IMPORTING
*     LANGUAGE               =
   EXCEPTIONS
     FORM                   = 1
     FORMAT                 = 2
     UNENDED                = 3
     UNOPENED               = 4
     UNUSED                 = 5
     SPOOL_ERROR            = 6
     CODEPAGE               = 7
     OTHERS                 = 8
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " START_FORM
*&---------------------------------------------------------------------*
*&      Form  CLOSE_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CLOSE_FORM .
  CALL FUNCTION ’CLOSE_FORM’
*   IMPORTING
*     RESULT                         =
*     RDI_RESULT                     =
*   TABLES
*     OTFDATA                        =
   EXCEPTIONS
     UNOPENED                       = 1
     BAD_PAGEFORMAT_FOR_PRINT       = 2
     SEND_ERROR                     = 3
     SPOOL_ERROR                    = 4
     CODEPAGE                       = 5
     OTHERS                         = 6
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " CLOSE_FORM
*&---------------------------------------------------------------------*
*&      Form  END_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM END_FORM .
  CALL FUNCTION ’END_FORM’
*   IMPORTING
*     RESULT                         =
   EXCEPTIONS
     UNOPENED                       = 1
     BAD_PAGEFORMAT_FOR_PRINT       = 2
     SPOOL_ERROR                    = 3
     CODEPAGE                       = 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.
ENDFORM.                    " END_FORM
*&---------------------------------------------------------------------*
*&      Form  WRITE_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM WRITE_FORM USING ELEMENT_NAME.
  CALL FUNCTION ’WRITE_FORM’
   EXPORTING
     ELEMENT                        = ELEMENT_NAME
*     FUNCTION                       = ’SET’
*     TYPE                           = ’BODY’
*     WINDOW                         = ’MAIN’
*   IMPORTING
*     PENDING_LINES                  =
   EXCEPTIONS
     ELEMENT                        = 1
     FUNCTION                       = 2
     TYPE                           = 3
     UNOPENED                       = 4
     UNSTARTED                      = 5
     WINDOW                         = 6
     BAD_PAGEFORMAT_FOR_PRINT       = 7
     SPOOL_ERROR                    = 8
     CODEPAGE                       = 9
     OTHERS                         = 10
            .
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " WRITE_FORM
*&---------------------------------------------------------------------*
*&      Form  CONTROL_FORM
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CONTROL_FORM USING command.
  CALL FUNCTION ’CONTROL_FORM’
    EXPORTING
      COMMAND         = command
    EXCEPTIONS
      UNOPENED        = 1
      UNSTARTED       = 2
      OTHERS          = 3
            .
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM. " CONTROL_FORM

The output is:

Page 1
img59

Page 2 
img60

Technorati Tags: ,

Post new comment