文章的第1部分
任务:
构建采购订单的打印格式并生成文档类型“NB标准订单”。 例:
准备数据字典。
对于PO输出数据,我们需要在ABAP字典中创建结构。 这些结构将在报表设计器中用作数据源。 运行事项SE11。 创建并激活以下对象: 结构ZZPO_ITEM_S




准备模板
运行事项ZFR_RMAN。 按“新建”按钮,并添加一个新的报告“ZPO_FR”,其参数如屏幕截图所示


配置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。






推荐阅读
- 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