SF实例

DATA it_itab TYPE STANDARD TABLE OF ledlv_delnote WITH HEADER LINE.
DATA wa LIKE LINE OF it_itab.

DATA it_line TYPE STANDARD TABLE OF ledlv_hd_adr WITH HEADER LINE.

START-OF-SELECTION.
  PERFORM getdata.
  PERFORM fixdata.
  PERFORM printdata.

*&---------------------------------------------------------------------*
*&      Form  getdata
*&---------------------------------------------------------------------*
FORM getdata .
  it_itab-hd_gen-deliv_numb = '1000001'.
  it_line-addr_no = '001'.
  APPEND it_line.
  it_line-addr_no = '002'.
  APPEND it_line.
  LOOP AT it_line.
    APPEND it_line TO it_itab-hd_adr.
  ENDLOOP.
  APPEND it_itab.

  CLEAR it_itab.
  CLEAR it_line.
  REFRESH it_line.
  it_itab-hd_gen-deliv_numb = '1000002'.
  it_line-addr_no = '003'.
  APPEND it_line.
  it_line-addr_no = '004'.
  APPEND it_line.
  LOOP AT it_line.
    APPEND it_line TO it_itab-hd_adr.
  ENDLOOP.
  APPEND it_itab.

  CLEAR it_itab.
  CLEAR it_line.
  REFRESH it_line.
  it_itab-hd_gen-deliv_numb = '1000003'.
  it_line-addr_no = '005'.
  APPEND it_line.
  it_line-addr_no = '006'.
  APPEND it_line.
  it_line-addr_no = '007'.
  APPEND it_line.
  LOOP AT it_line.
    APPEND it_line TO it_itab-hd_adr.
  ENDLOOP.
  APPEND it_itab.
ENDFORM.                    " getdata

*&--------------------------------------------------------------------*
*&      Form  fixdata
*&--------------------------------------------------------------------*
FORM fixdata .

ENDFORM.                    " getdata


*&--------------------------------------------------------------------*
*&      Form  printdata
*&--------------------------------------------------------------------*
FORM printdata.
  DATA: lf_fm_name            TYPE rs38l_fnam.
  DATA: ls_control_param      TYPE ssfctrlop.
  DATA: ls_composer_param     TYPE ssfcompop.
  DATA: ls_sender             TYPE swotobjid.
  DATA: lf_formname           TYPE tdsfname.

*  ls_control_param-no_dialog   = 'X'. "必须维护用户参数文件里面的“假脱机控制”
  ls_control_param-preview     = 'X'.
  ls_control_param-langu       = sy-langu.

  ls_control_param-no_open   = 'X'.
  ls_control_param-no_close  = 'X'.

  lf_formname = 'Z_TEST_SF'.

  CALL FUNCTION 'SSF_OPEN'
    EXPORTING
      control_parameters = ls_control_param
      output_options     = ls_composer_param
    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.
    EXIT.
  ENDIF.

  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = lf_formname
    IMPORTING
      fm_name            = lf_fm_name
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.
  IF sy-subrc <> 0.
    MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
  ENDIF.

  LOOP AT it_itab INTO wa.
    CALL FUNCTION lf_fm_name
      EXPORTING
        control_parameters = ls_control_param
        output_options     = ls_composer_param
        user_settings      = ' '
        is_dlv_delnote     = wa
      EXCEPTIONS
        formatting_error   = 1
        internal_error     = 2
        send_error         = 3
        user_canceled      = 4
        OTHERS             = 5.
    IF sy-subrc <> 0.
      MESSAGE 'Call SmartForms Error' TYPE 'E'.
    ENDIF.
  ENDLOOP.

  CALL FUNCTION 'SSF_CLOSE'
    EXCEPTIONS
      formatting_error = 1
      internal_error   = 2
      send_error       = 3
      OTHERS           = 4.
  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.                    "PROCESSING 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值