Smartform

来源:互联网 发布:俄罗斯进出口数据 编辑:程序博客网 时间:2024/05/16 19:26

DATA: t_printdata TYPE TABLE OF tb_show,
       wa_printdata TYPE tb_show.

 

DATA it_print1 TYPE TABLE OF ztraining_wxj WITH HEADER LINE.
DATA it_print2 TYPE TABLE OF ztraining_wxj02 WITH HEADER LINE.

 

DATA wa2 TYPE   ztraining_wxj02.


DATA itab2 LIKE TABLE OF wa2.

 

DATA fm_name TYPE rs38l_fnam.

 

DATA: control_parameters TYPE ssfctrlop,
                                  total TYPE i ,
                                    line TYPE i.

 


 

 LOOP AT it_show INTO wa_show WHERE sel = 'X'.
    total = total + 1.
  ENDLOOP .


  LOOP AT it_show INTO wa_show WHERE sel = 'X'.
    line = line + 1 .
    MOVE-CORRESPONDING wa_show TO it_print1 .
    APPEND  it_print1 .
    LOOP AT it_lesson INTO wa_lesson WHERE zpid = wa_show-zpid.
      MOVE-CORRESPONDING wa_lesson TO it_print2.
      APPEND it_print2.
    ENDLOOP.


 

PERFORM get_control_parameters USING line
                                                                  total
                                                 CHANGING control_parameters.

 

    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname                 = 'ZSMART_TRAIN_WXJ1'
*      VARIANT                  = ' '
*      DIRECT_CALL              = ' '
    IMPORTING
      fm_name                  = fm_name
*    EXCEPTIONS
*      NO_FORM                  = 1
*      NO_FUNCTION_MODULE       = 2
*      OTHERS                   = 3
              .
    IF sy-subrc <> 0.
    ENDIF.

 

    CALL FUNCTION fm_name
      EXPORTING
*     ARCHIVE_INDEX              =
*     ARCHIVE_INDEX_TAB          =
*     ARCHIVE_PARAMETERS         =
      control_parameters         =  control_parameters
*     MAIL_APPL_OBJ              =
*     MAIL_RECIPIENT             =
*     MAIL_SENDER                =
*     OUTPUT_OPTIONS             =
*     USER_SETTINGS              = 'X'
        it_header                = it_print1
*   IMPORTING
*     DOCUMENT_OUTPUT_INFO       =
*     JOB_OUTPUT_INFO            =
*     JOB_OUTPUT_OPTIONS         =
      TABLES
        it_print                   = it_print2
*   EXCEPTIONS
*     FORMATTING_ERROR           = 1
*     INTERNAL_ERROR             = 2
*     SEND_ERROR                 = 3
*     USER_CANCELED              = 4
*     OTHERS                     = 5
              .
    IF sy-subrc <> 0.
    ENDIF.
    FREE it_print2.
  ENDLOOP.

 


 

FORM get_control_parameters  USING    f_line
                                                                f_total
                                              CHANGING f_control_parameters TYPE ssfctrlop.
  CASE f_total.
    WHEN 1.
      f_control_parameters-no_open = ''.
      f_control_parameters-no_close = ''.
    WHEN OTHERS.
      CASE f_line.
        WHEN 1.
          f_control_parameters-no_open = ''.
          f_control_parameters-no_close = 'X'.
        WHEN f_total.
          f_control_parameters-no_open = 'X'.
          f_control_parameters-no_close = ''.
        WHEN OTHERS.
          f_control_parameters-no_open = 'X'.
          f_control_parameters-no_close = 'X'.
      ENDCASE.
  ENDCASE.

ENDFORM.               


 

表格接口:导入: IT_HEADER LIKE ZTRAINING_WXJ

                  表: IT_PRINT LIKE ZTRAINING_WXJ02 

在MAIN里面:做循环, LOOP循环: IT_PRINT 转至 IT_PRINT

原创粉丝点击