使用SMARTFORM画表,除了使用简单的template显示数据外,表类型也会被经常使用。批量打印表单时,就需要考虑表格接口的设计。例如打印一个货物托运单,包括抬头和明细两部分信息,表格接口可以是一个抬头结构和一个明细表,也可以直接传输抬头表和明细表。
表格接口是一个抬头结构和一个明细表的情况,可以用代码来控制打印,每次调用表单时传输一个单据。
CALL FUNCTION 'SSF_OPEN'
EXPORTING
control_parameters = ls_control_param
output_options = ls_composer_param
IMPORTING
job_output_options = outopt
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
LOOP 抬头表.
CALL FUNCTION fm_name
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.
ENDLOOP.
CALL FUNCTION 'SSF_CLOSE'
IMPORTING
job_output_info = i_job_output_info
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
OTHERS = 4.
表格接口是抬头表和明细表的情况,可以在SMARTFORM里使用嵌套表来输出数据。
外层是抬头表
内层是明细表
行的输出条件设置两个表的关联字段
PS:喜欢的同学可以关注微信公众号