在同一个SMARTFOMR中,想实现前几页是竖向打印的,而后几页变为横向打印的,觉得这个需求有点不切实际

老大说这样的打印好像只有Mircosoft Word能够实现,我觉得这也有点不可能。如果你有好的方法能够实现在同

一个SMARTFORM中实现打印方向的改变,请你与我联系,我将非常感谢。

当然,需求是不能不实现的,毕竟俺是拿着工资上着班的,所以没办法,简便的方法做不出来,只能用笨方法做了,

一个SMARTFORM完成不了的工作,我把他分配给两个,这样实现起来虽然麻烦点,但终归是把这个需求解决了,

还是挺高兴的。

具体实现方法就不详细说了,其实很简单,和上一篇循环打印的原理差不多,只是把一个SMARTFORM的循环打印变

成了控制两个SMARTFORM同时打印而已。贴段代码出来,大家一看就明白了。希望哪位遇到这样的需求了能够对

你有所帮助。

当然,如果你有更好的方法,请与我联系。谢谢。

*要竖打的内表数据 ---竖打FORM调用
 CONCATENATE sy-uname sy-uzeit+4(2) INTO mid.

EXPORT table = itab TO DATABASE indx(hk) ID mid.
  CONDENSE mid NO-GAPS.

DATA fm_name TYPE tdsfname.
  DATA: ls_control_param TYPE ssfctrlop .
  DATA: ls_composer_param TYPE ssfcompop .
  DATA: outopt TYPE ssfcresop.
  DATA: i_job_output_info TYPE ssfcrescl.

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

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.

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           = 'Z_CUSTOMER_BILL'
      variant            = ' '
      direct_call        = ' '
    IMPORTING
      fm_name            = fm_name
    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 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.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

DELETE FROM DATABASE indx(hk) ID mid.

**要横打的内表数据 ---横打FORM调用
  IF jtab IS NOT INITIAL.
    CLEAR fm_name.
    CLEAR mid.

CONCATENATE sy-uname sy-uzeit+4(2) INTO mid.

*将内表数据存入ABAP内存
    EXPORT table = jtab TO DATABASE indx(hk) ID mid.
    CONDENSE mid NO-GAPS.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname           = 'Z_CUSTOMER_BILL_ADD'
        variant            = ' '
        direct_call        = ' '
      IMPORTING
        fm_name            = fm_name
      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 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.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

DELETE FROM DATABASE indx(hk) ID mid.
  ENDIF.

CALL FUNCTION 'SSF_CLOSE'
    IMPORTING
      job_output_info  = i_job_output_info
    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.

SAP SMARTFORMS 之由竖打向横打的转换相关推荐

  1. SAP Smartforms 条码打印

    SAP 条码打印有 新旧 两种技术方法: 1.传统的(旧):将数据发送到打印机上,由打印机将数据转换成 条码图案,然后进行打印. 2.新方法:数据在SAP系统中生成条码图案,然后直接发送到打印机 进行 ...

  2. SAP SmartForms PDF Preview Test 打印预览生成PDF文件

    SAP SmartForms PDF Preview Test 打印预览生成PDF文件 *&-------------------------------------------------- ...

  3. SAP smartforms打印图片

    注意:SAP只能上传打印bmp格式图片 1.标准程序上传 T-CODE:SE78 2.程序代码上传 DATA: P_FILENAME TYPE RLGRAP-FILENAME,P_NAME TYPE ...

  4. SAP smartforms之Zebra print control language

    因为在做个小标签的时候需要将部分字符旋转180度,在scn上找了很久也发布了自己的提问,不过最终的结果却不尽人意.Rotated text in smartforms need use the PCL ...

  5. SAP SMARTFORMS文本内容手动换行输出

    实现效果如下,批次和片号信息换行输出(非自动换行) 实现方式如下: 1.使用 CL_ABAP_CHAR_UTILITIES=>CR_LF 拼接换行符 2.smartforms定义全局变量 3.添 ...

  6. SAP smartforms LOGO白底问题

    smartforms 上传图片是以bmp的格式上传. 即使png.jpg格式下图片是透明的,在bmp格式下,是有白底的.这样在打印出来的时候,会有颜色不一致. 解决方案: 通过画图 打开bmp图片 另 ...

  7. SAP SMARTFORMS打印文本内容手动换行

    文章目录 1.背景 2.实现 2.1 显示字段本身非长文本 2.1.1 定义输出字段全局变量 2.1.2 拼接字段 2.1.3 将字符型变量转换成长文本内表 2.1.4 输出字段设置文本类型 2.2 ...

  8. SAP smartforms 以及大小调节 条形码大小调节

    1 数据传递 前段 CALL FUNCTION g_fm_name         EXPORTING           control_parameters = gw_control        ...

  9. SAP SMARTFORMS 打印机配置 SPAD

    SPAD # CNSAPWIN SAPscript spool form # Select formlength from the windows printmanager! # change Win ...

最新文章

  1. 关于学习Python的一点学习总结(14->换一种方法创建字典->访问字典)
  2. 《Head First Python》第一章
  3. 实验一 线性表、堆栈和队列的操作与实现
  4. eclipse 关闭时progress information弹框_如何关闭 iPhone 中的评分和好评弹窗?
  5. 数据中心 48 V 直流供电,Vicor 如何解决“最后一英寸”电源设计难题?
  6. jQuery EasyUI API 中文文档 - 文档
  7. 二级VB培训笔记07:通用对话框
  8. linux 下pycharm 无法输入中文
  9. [转载]一个任务超时退出的装饰器,用起来真方便
  10. 浅谈架构之路:前后端分离模式
  11. 在C7000+VMware vSphere5.5环境中的基础架构服务器部署实例
  12. Mysql数据库系统单元压力和性能基准测试
  13. 2021年最新超火外卖侠cps小程序,三级分销返利外卖领劵小程序源码,带电影票分销积分商城
  14. flutter视频播放videoplayer与chewie
  15. 顶级外语学习资源[转] 近600个教学学习资料链接
  16. ae教程 (三)三维空间合成(一)
  17. 【博学谷学习记录】超强总结,用心分享 | 前端开发 前端基础超详细总结-上篇
  18. Google浏览器简体中文版下载
  19. 【安全资讯】全球上市公司财报中“网络安全”的提及次数出现显著增长
  20. 月份和星期的英语(请不要再弄错了)

热门文章

  1. 在struts框架下实现文件的上传
  2. 如何确认软件测试结束的标准(系统可以上线)转
  3. 简述c#之sealed 修饰符
  4. 情感分析的现代方法(包含word2vec Doc2Vec)
  5. MySQL执行外部sql脚本文件的命令
  6. oracle登录错误:ORA-28000: the account is locked 解决方法
  7. 2层,3层,4层交换机的区别与特点!!
  8. 用vue-cli3从0打造一个完整的UI库
  9. Rabbitmq消息发送事务与确认机制
  10. RadioGroup和RadioButton(单选框)