文章的第1部分
任务:
构建采购订单的打印格式并生成文档类型“NB标准订单”。 例:准备数据字典。
对于PO输出数据,我们需要在ABAP字典中创建结构。 这些结构将在报表设计器中用作数据源。 运行事项SE11。 创建并激活以下对象: 结构ZZPO_ITEM_S 表格类型ZZPO_ITEM_TT 结构ZZPO_PARTNER_S 结构ZZPO_DOC_S 表格类型ZZPO_DOC_TT准备模板
运行事项ZFR_RMAN。 按“新建”按钮,并添加一个新的报告“ZPO_FR”,其参数如屏幕截图所示 保存报告。 保存切换到编辑模式后(按“编辑”按钮),然后按“Designer”按钮。 系统将要求输入数据源表。 输入ZPO_DOC_TT。 确认后Fast report designer将被打开。配置bands。
菜单:Report->Configure bands。- 配置(添加\删除)bands,如截图所示 按“关闭”按钮。
- 双击第一级“数据”band,选择“ITEMS”作为数据源。
- 双击第二级“数据”band,选择“SCHD”作为数据源。
- 放置报告元素。
- 展开“报告标题”band,从元素工具栏放置“文本元素”,并填充静态文本。 将字段从“MYDATASET”数据源表拖动到“报告标题”。
- 格式化“页眉”,显示项目标题(添加静态文本元素)。
- 格式化“数据:ITEMS” - 从“ITEMS”表中放置字段。
- 格式化“数据:SCHD” - 从“SHDL”表中放置字段。
- 从“ITEMS”表([ITEMS.MENGE]和[ITEMS.MEINS])中放置摘要字段到“页脚”区域的位置。
开发打印程序并执行定制
我们需要开发程序\例程以便能够从采购订单输出功能调用打印表单。 在ABAP Workbench中创建新的模块池ZZMM_FRPRINTING。 使用以下代码添加子程序“po_print_fr”:*&---------------------------------------------------------------------* *& Module Pool ZZMM_FRPRINTING *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* PROGRAM zzmm_frprinting. TABLES: nast. *&---------------------------------------------------------------------* *& Form po_print_fr *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->ENT_RETCO text * -->ENT_SCREEN text *----------------------------------------------------------------------* FORM po_print_fr USING ent_retco ent_screen. DATA: lv_druvo LIKE t166k-druvo, ls_nast LIKE nast, lv_from_memory, ls_doc TYPE meein_purchase_doc_print, lt_ret TYPE bapiret2_t. DATA lo_fr TYPE REF TO zcl_frbase_report. DATA: ls_order TYPE zzpo_doc_s, lt_order TYPE zzpo_doc_tt, ls_item TYPE zzpo_item_s, ls_schd TYPE eket. FIELD-SYMBOLS: <fs1> TYPE ekpo, <fs2> TYPE eket. CLEAR ent_retco. IF nast-aende EQ space. lv_druvo = '1'. ELSE. lv_druvo = '2'. ENDIF. CALL FUNCTION 'ME_READ_PO_FOR_PRINTING' EXPORTING ix_nast = nast ix_screen = ent_screen IMPORTING ex_retco = ent_retco ex_nast = ls_nast doc = ls_doc CHANGING cx_druvo = lv_druvo cx_from_memory = lv_from_memory. CHECK ent_retco EQ 0. MOVE-CORRESPONDING ls_doc-xekko TO ls_order. SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_order-provdata FROM lfa1 WHERE lifnr = ls_order-lifnr. LOOP AT ls_doc-xekpo ASSIGNING <fs1>. CLEAR ls_item. MOVE-CORRESPONDING <fs1> TO ls_item. LOOP AT ls_doc-xeket ASSIGNING <fs2>. CLEAR ls_schd. CHECK <fs2>-ebelp = ls_item-ebelp. MOVE-CORRESPONDING <fs2> TO ls_schd. APPEND ls_schd TO ls_item-schd. ENDLOOP. APPEND ls_item TO ls_order-items. ENDLOOP. APPEND ls_order TO lt_order. CREATE OBJECT lo_fr EXPORTING iv_reportkey = 'ZPO_FR'. " use for production ent_retco = lo_fr->build_report( lt_order ). ********************************************************************** **use for debugging\template correction " DATA: lv_answer. " lo_fr->set_mode( zcl_frbase_report=>mc_edit ). " lo_fr->call_designer( lt_order ). " CALL FUNCTION 'POPUP_TO_CONFIRM' " EXPORTING " text_question = 'update report template in DB?' " IMPORTING " answer = lv_answer. " if lv_answer eq '1'. " lo_fr->save_report( ). " ENDIF. ********************************************************************** ENDFORM. "po_print_fr在代码中,我们调用函数来检索PO信息,然后将数据映射到我们的结构,并调用方法ZCL_FRBASE_REPORT-> BUILD_REPORT来生成报告。 如果我们需要调试表单与测试数据 - 注释调用“BUILD_REPORT”方法和下面的注释部分。 定制。 调用交易NACE并为采购订单创建新的输出类型ZZFR。 打印程序选择ZZMM_FRPRINTING和例行PO_PRINT_FR。 选择访问序列0001。 向输出模式添加新的输出类型(例如RMBEF1) 创建条件类型ZZFR和PO类型NB的条件记录。 打开以下设置路径:SPRO->物料管理 - >采购 - >消息 - >输出控制 - >消息类型 - >定义采购订单的消息类型 - >微调控制:采购订单。 添加ZZFR的记录 现在,您可以使用事项ME23N中的标准按钮打开现有的采购订单或创建新的采购订单并测试打印表单。 否则使用事项ME9F进行打印。 产品介绍 | 下载试用 | 优惠活动 | 在线客服 | 联系Elyn
推荐阅读
- FastReport VCL报表控件开发者手册
- FastReport Online Designer中文手册
- Fastreport.Net教程2016
- Fastreport.Net用户手册
- 如何在FastReport.Net中使用QR二维码
- 如何在报表页面使用图片的灰度
- 如何以PDF / A格式导出FastReport.Net报表
本站文章除注明转载外,均为本站原创或翻译
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/1785.html
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/1785.html