SAMRTFORMS笔记

B站视频源码,仅供参考相关变量,函数,打印机参数设置。

*1.SMARTFORMS程序
DATA gs_basic TYPE zhq_resume_basic.  "基本信息
DATA gt_basic TYPE TABLE OF zhq_resume_basic. "基本信息表
DATA gt_work TYPE zhq_resume_work.  "工作信息

DATA gs_work TYPE zhq_resume_work_s. "工作信息工作区
DATA gv_zyear TYPE n LENGTH 4 VALUE '1990'.
DATA gv_fm_name TYPE rs38l_fnam . "FM NAME
DATA gv_formname TYPE tdsfname VALUE 'ZHQ_RESUME_04'.

DATA gs_output_option TYPE ssfcompop.
DATA gs_control       TYPE ssfctrlop.
DATA gs_output_info   TYPE ssfcrescl.

START-OF-SELECTION.
*基本信息
  CLEAR gs_basic.
  gs_basic-name = '张三'.
  gs_basic-sex =  'F'.
  gs_basic-age = '20'.
  APPEND gs_basic TO gt_basic.

  CLEAR gs_basic.
  gs_basic-name = '李四'.
  gs_basic-sex =  'M'.
  gs_basic-age = '20'.
  APPEND gs_basic TO gt_basic.

  CLEAR gs_basic.
  gs_basic-name = '王五'.
  gs_basic-sex =  'F'.
  gs_basic-age = '20'.
  APPEND gs_basic TO gt_basic.
*工作信息
  CLEAR gs_work.
  DO 20 TIMES.
    gv_zyear = gv_zyear + 1.
    gs_work-zyear  = gv_zyear.

    IF sy-index  < 5.
      gs_work-company  = 'IBM'.
    ELSEIF sy-index  < 10.
      gs_work-company  = 'LENOVO'.
    ELSEIF sy-index  < 16..
      gs_work-company  = 'AC'.
    ELSE.
      gs_work-company = 'SAP'.
    ENDIF.

    gs_work-job  = 'SAP'.
    gs_work-work = 'SAP'.
    APPEND gs_work TO gt_work.
  ENDDO.

*根据SMARTFORMS名称,获取函数名称
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = gv_formname         "ZHQ_RESUME_04
*    VARIANT        =  ''
*    DIRECT_CALL    = ''
    IMPORTING
      fm_name            = gv_fm_name         "/1BCDWB/SF00000526
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.
  IF sy-subrc <> 0.
    MESSAGE s000(eu) WITH 'SMARTFORMS调用错误!' DISPLAY LIKE 'E'.
    EXIT.
  ENDIF.

*打印机参数设置
  gs_output_option-tddest = 'LP01'. "打印机名称
*GS_OUTPUT_OPTION-TDNOPREV = 'X'. “不显示打印预览按钮

*打印控制
GS_CONTROL-NO_DIALOG = 'X'. "不显示对话框
GS_CONTROL-PREVIEW = 'X'. "预览


*SMARTFOMRS输出
  LOOP AT gt_basic INTO gs_basic.
        GS_CONTROL-NO_OPEN = 'X'.
        GS_CNOTROL-NO_CLOSE = 'X'.
        
     AT FIRST . "第一条执行
        GS_CONTROL-NO_OPEN = ''.
     ENDAT. 
     
        
    AT LAST.  "最后一条执行
        GS_CONTROL-NO_CLOSE = ''.
    ENDAT.
    
    CALL FUNCTION gv_fm_name
      EXPORTING
*       ARCHIVE_INDEX      =
*       ARCHIVE_INDEX_TAB  =
*       ARCHIVE_PARAMETERS =
        control_parameters = gs_control
*       MAIL_APPL_OBJ      =
*       MAIL_RECIPIENT     =
*       MAIL_SENDER        =
        output_optons      = gs_output_option
        user_settings      = ''
        gs_basic           = gs_basic
      IMPORTING
*DOCUMENT_OUTPUT_INFO =
        job_output_info    = gs_output_info
*JOB_OUTPUT_OPTIONS =
      TABLES
        gt_work            = gt_work
      EXCEPTIONS
        formatting_erro    = 1
        internal_error     = 2
        send_error         = 3
        user_error         = 4
        OTHERS             = 5.

    IF sy-subrc <> 0.
      MESSAGE s000(eu) WITH 'SMARTFORMS调用错误!' DISPLAY LIKE 'E'.
    ELSE.
      IF gs_output_info-outputdone = 'X'.
        MESSAGE s000(eu) WITH '打印成功!'.
      ENDIF.
    ENDIF.
  ENDLOOP.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值