当前位置: 首页 > news >正文

SMARTFORM不同模板一起打印

一、背景由于客户提出发货单要加上条形码打印条形码单独一个模板加在后面打印输出PDF并发送邮件。二、效果展示不同模板一起打印效果如下建立smartforms的表单时也使用了两个不同的模板三、smartforms建立表单一条形码事务码SE73设置条形码长宽高SMARTFORMS设置条形码格式二表单主窗口采用table的方式可以实现自动换行会比使用模板更好。但是使用table我遇到一个未解决的问题。在条件那里加上比较值的判断未生效比如加上header的语言判断使用不同文本就未生效如果是判断这个字段是否为空是生效的很奇怪希望大佬们指点一下。在smartforms 里面填写内容的时候将字段的格式选择为设置的格式就可以了系统会自动的将字段的内容转换成条形码的格式四、代码一示例打印发送邮件会单独放一期来写这里只到输出PDF字符DATA:gcos_sfname TYPE tdsfname, gcos_sfname_2 TYPE tdsfname. DATA: l_fnam TYPE rs38l_fnam, Function name l_fnam_2 TYPE rs38l_fnam, l_ctrlparm TYPE ssfctrlop, Control parameters for smartforms l_output_info TYPE ssfcrescl. job output infomation for smartforms DATA: t_control_parameters TYPE ssfctrlop, t_output_options TYPE ssfcompop. DATA: git_lines TYPE STANDARD TABLE OF tline, git_lines_2 TYPE STANDARD TABLE OF tline. DATA: gs_lines TYPE solix_tab . DATA:gs_lines_2 TYPE solix_tab. DATA:lv_xstring TYPE xstring, lv_xstring_2 TYPE xstring. IF wa_header-country CN. gcos_sfname ZSDF003_SF_V1. gcos_sfname_2 ZSDF003_SF_CODE. ELSE. gcos_sfname ZSDF003_SF_EN. gcos_sfname_2 ZSDF003_SF_CODE_EN. ENDIF. CALL FUNCTION SSF_FUNCTION_MODULE_NAME EXPORTING formname gcos_sfname SMARTFORMS 名称 * VARIANT * DIRECT_CALL IMPORTING fm_name l_fnam 转换后的函数名 EXCEPTIONS no_form 1 no_function_module 2 OTHERS 3. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. t_output_options-tdiexit X. 这个参数最后一次打印一定要是X前面的几次都是空才会连续打印 * t_control_parameters-no_close X. t_control_parameters-no_dialog X. 设置了不弹出对话框 t_control_parameters-getotf X. 要导出PDF这个参数一定要设:OTF 表的返回 IF p_code X. 选择了条码打印 t_control_parameters-no_close X. ELSE. t_control_parameters-no_close . ENDIF. CALL FUNCTION l_fnam EXPORTING control_parameters t_control_parameters 连续预览 output_options t_output_options 默认打印选项设置传输 wa_header wa_header IMPORTING job_output_info t_otf_from_fm TABLES it_item it_tab it_item2 it_tab2 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. ELSE. t_control_parameters-no_open X. 未知 ENDIF. 执行打印功能后进行的操作如数据库之类的 CALL FUNCTION CONVERT_OTF EXPORTING format PDF IMPORTING bin_file lv_xstring TABLES otf t_otf_from_fm-otfdata[] lines git_lines EXCEPTIONS err_max_linewidth 1 err_format 2 err_conv_not_possible 3 OTHERS 4. 转换二进制 CALL FUNCTION SCMS_XSTRING_TO_BINARY EXPORTING buffer lv_xstring TABLES binary_tab gs_lines. IF p_code X. t_control_parameters-no_close space. CALL FUNCTION SSF_FUNCTION_MODULE_NAME EXPORTING formname gcos_sfname_2 SMARTFORMS 名称 * VARIANT * DIRECT_CALL IMPORTING fm_name l_fnam_2 转换后的函数名 EXCEPTIONS no_form 1 no_function_module 2 OTHERS 3. IF sy-subrc 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CALL FUNCTION l_fnam_2 EXPORTING control_parameters t_control_parameters 连续预览 output_options t_output_options 默认打印选项设置传输 * wa_header wa_header IMPORTING job_output_info t_otf_from_fm_2 TABLES it_item it_tab_code * it_item2 it_tab2 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. ELSE. t_control_parameters-no_open X. 未知 ENDIF. ENDIF. CALL FUNCTION CONVERT_OTF EXPORTING format PDF IMPORTING bin_file lv_xstring_2 TABLES otf t_otf_from_fm_2-otfdata[] PDF字符最终会存储到这里前面的会是空 lines git_lines_2 EXCEPTIONS err_max_linewidth 1 err_format 2 err_conv_not_possible 3 OTHERS 4. 转换二进制 CALL FUNCTION SCMS_XSTRING_TO_BINARY EXPORTING buffer lv_xstring_2 TABLES binary_tab gs_lines_2. APPEND LINES OF gs_lines_2 TO gs_lines.二补充如果不需要发送PDF邮件则不需要输出下面这一段在打印完结束即可执行打印功能后进行的操作如数据库之类的 CALL FUNCTION CONVERT_OTF EXPORTING format PDF IMPORTING bin_file lv_xstring TABLES otf t_otf_from_fm-otfdata[] lines git_lines EXCEPTIONS err_max_linewidth 1 err_format 2 err_conv_not_possible 3 OTHERS 4. 转换二进制 CALL FUNCTION SCMS_XSTRING_TO_BINARY EXPORTING buffer lv_xstring TABLES binary_tab gs_lines.
http://www.gsyq.cn/news/1342597.html

相关文章:

  • 工程实战:基于 GPIO 物理旁路极速部署机器人电梯调度系统的设计
  • 嘉立创EDA:原理图到PCB学习总结
  • 忙碌”幻觉:你以为在推进项目,其实只是在逃避
  • 全球石墨纤维粉市场分析与行业发展趋势
  • 凡亿AD22--PCB生产Gerber文件输出
  • AI犯了错没人追责,工程师犯了错丢饭碗?
  • AI电商助手项目策划书(Demo版)
  • 探索C/C++程序从源码到可执行文件的编译之旅
  • Mamba架构原理与工业级长文本处理实战指南
  • 【限时解密】Midjourney后现代风格黄金参数矩阵(含27组实测CR值对比数据):错过本轮更新将永久失去V6.1前最后兼容窗口期
  • 软考高项案例分析1:项目整合管理
  • 论文AI率爆表怕延毕?5招实测降AI率,3分钟知网AIGC过审上岸
  • 太突然!IPO紧要关头,Karpathy加入Anthropic
  • GanttProject:免费开源项目管理软件的终极完整指南
  • 卷赢了!山东大学学者七库联合发文一区TOP(IF 10.6),解锁痴呆研究新赛道!
  • K8s Ingress Nginx 控制器配置 HTTPS 自动重定向的 YAML 要怎么写?
  • 从 Excel 手算理解 MLP(多层感知机)的完整计算过程
  • 英伟达的“围城”:云厂商自研芯片,攻到了哪一步?
  • 2026年q2天津闲置酒水回收正规机构实力盘点:天津名贵酒品回收回收/天津洋酒回收/天津礼盒酒水回收/优选推荐 - 优质品牌商家
  • Transformer架构优化与高效计算实践
  • 纤维增强复合材料神经协同优化技术解析
  • 8051汇编DW指令字节序问题与解决方案
  • 工业级神经网络实战:从训练崩溃到稳定上线的工程手册
  • Agent Runtime 重构:Session 作为事件日志的工程实践
  • AI生存期预测:原理、临床边界与伦理实践指南
  • MoE混合专家架构:大模型高效推理的核心原理与工程实践
  • 2026年Q2北京陈年老酒回收机构评测:三家合规实体对比 - 优质品牌商家
  • 巴别鸟vs坚果云:企业云盘同步机制踩坑与实战配置
  • LeetCode--112. 路径总和(二叉树)
  • MADQN实战:在Switch4环境中实现多智能体协同训练