abap SMARTFORMS打印
事务码SMARTFORMS,做好表单和样式,没难度,花点时间慢慢调格式就是了。
注意的点:参考的字段如果包含数量和货币,需再货币/数量这里定义参考字段,同时引用数量和货币字段时,后面需加(C),防止上下位置不一致。
回到报表,定义
DATA: lv_fname TYPE rs38l_fnam.
DATA: gs_head LIKE zmm064e1h,
gt_output LIKE TABLE OF zmm064e1d,
gs_output LIKE zmm064e1d,
lv_loop LIKE sy-tabix.
DATA: gw_options TYPE ssfcompop,
gw_control TYPE ssfctrlop.
DATA: lv_fname TYPE rs38l_fnam.
DATA: gs_head LIKE zmm064e1h,
gt_output LIKE TABLE OF zmm064e1d, "se11定义的结构,作为表,在SMARTFORMS中在表格接口填入,
gs_output LIKE zmm064e1d, "SE11定义的结构,作为抬头,在SMARTFORMS中在表格接口填入,
lv_loop LIKE sy-tabix.
得到表单程序名
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZMM064E1'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
fm_name = lv_fname
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
设置并打开打印窗口
gw_options-tdnewid = 'X'. "New Spool
gw_options-tdimmed = 'X'.
gw_options-tddelete = 'X'. "Delete Spool After Print
gw_options-tdfinal = 'X'.
gw_options-tdiexit = 'X'. "Exit after printing in print preview
gw_options-tddest = 'LP01'.
gw_control-no_dialog = ''.
gw_control-preview = 'X'.
gw_control-no_open = 'X'.
gw_control-no_close = 'X'.
CALL FUNCTION 'SSF_OPEN' "打开打印窗口
EXPORTING
control_parameters = gw_control
output_options = gw_options
user_settings = ''
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
给传入的值赋值后,调用表单对应的程序名
CALL FUNCTION lv_fname
EXPORTING
control_parameters = gw_control
output_options = gw_options
gs_head = gs_head
* IMPORTING
* job_output_info = l_end
* job_output_options = l_start
TABLES
gt_output = gt_output
* it_bkpf = lt_bkpf
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
最后关闭打印
CALL FUNCTION 'SSF_CLOSE'
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
OTHERS = 4.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」