• <menu id="w2i4a"></menu>
  • logo FastReport.Net 教程2017(完結(jié))

    文檔首頁>>FastReport.Net 教程2017(完結(jié))>>如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)


    文章的第1部分

    任務(wù):

    構(gòu)建采購訂單的打印格式并生成文檔類型“NB標(biāo)準(zhǔn)訂單”。

    例:

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    準(zhǔn)備數(shù)據(jù)字典。

    對(duì)于PO輸出數(shù)據(jù),我們需要在ABAP字典中創(chuàng)建結(jié)構(gòu)。 這些結(jié)構(gòu)將在報(bào)表設(shè)計(jì)器中用作數(shù)據(jù)源。

    運(yùn)行事項(xiàng)SE11。 創(chuàng)建并激活以下對(duì)象:

    結(jié)構(gòu)ZZPO_ITEM_S

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    表格類型ZZPO_ITEM_TT

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    結(jié)構(gòu)ZZPO_PARTNER_S

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    結(jié)構(gòu)ZZPO_DOC_S

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    表格類型ZZPO_DOC_TT

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    準(zhǔn)備模板

    運(yùn)行事項(xiàng)ZFR_RMAN。

    按“新建”按鈕,并添加一個(gè)新的報(bào)告“ZPO_FR”,其參數(shù)如屏幕截圖所示

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    保存報(bào)告。

    保存切換到編輯模式后(按“編輯”按鈕),然后按“Designer”按鈕。

    系統(tǒng)將要求輸入數(shù)據(jù)源表。 輸入ZPO_DOC_TT。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    確認(rèn)后Fast report designer將被打開。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    配置bands。

    菜單:Report->Configure bands。

    • 配置(添加\刪除)bands,如截圖所示
      如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)
      按“關(guān)閉”按鈕。
    • 雙擊第一級(jí)“數(shù)據(jù)”band,選擇“ITEMS”作為數(shù)據(jù)源。
      如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)
    • 雙擊第二級(jí)“數(shù)據(jù)”band,選擇“SCHD”作為數(shù)據(jù)源。
    • 放置報(bào)告元素。
      • 展開“報(bào)告標(biāo)題”band,從元素工具欄放置“文本元素”,并填充靜態(tài)文本。 將字段從“MYDATASET”數(shù)據(jù)源表拖動(dòng)到“報(bào)告標(biāo)題”。
      • 格式化“頁眉”,顯示項(xiàng)目標(biāo)題(添加靜態(tài)文本元素)。
      • 格式化“數(shù)據(jù):ITEMS” - 從“ITEMS”表中放置字段。
      • 格式化“數(shù)據(jù):SCHD” - 從“SHDL”表中放置字段。
      • 從“ITEMS”表([ITEMS.MENGE]和[ITEMS.MEINS])中放置摘要字段到“頁腳”區(qū)域的位置。

    designer的用戶和開發(fā)人員手冊(cè)可以在這里找到:http://www.xiangyinys.com/product/3657/download

    最終模板:

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    如果按“預(yù)覽”按鈕 - 報(bào)告將為空,因?yàn)槿匀粵]有生成“測(cè)試”數(shù)據(jù)。 稍后我們將看到如何使用數(shù)據(jù)生成臨時(shí)數(shù)據(jù)和預(yù)覽報(bào)告。

    保存報(bào)告模板(按SAP標(biāo)準(zhǔn)按鈕)并退出designer。

    現(xiàn)在按“保存”保存\更新報(bào)告設(shè)置。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    開發(fā)打印程序并執(zhí)行定制

    我們需要開發(fā)程序\例程以便能夠從采購訂單輸出功能調(diào)用打印表單。

    在ABAP Workbench中創(chuàng)建新的模塊池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

    在代碼中,我們調(diào)用函數(shù)來檢索PO信息,然后將數(shù)據(jù)映射到我們的結(jié)構(gòu),并調(diào)用方法ZCL_FRBASE_REPORT-> BUILD_REPORT來生成報(bào)告。 如果我們需要調(diào)試表單與測(cè)試數(shù)據(jù) - 注釋調(diào)用“BUILD_REPORT”方法和下面的注釋部分。

    定制。

    調(diào)用交易NACE并為采購訂單創(chuàng)建新的輸出類型ZZFR。 打印程序選擇ZZMM_FRPRINTING和例行PO_PRINT_FR。 選擇訪問序列0001。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    向輸出模式添加新的輸出類型(例如RMBEF1)

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    創(chuàng)建條件類型ZZFR和PO類型NB的條件記錄。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    打開以下設(shè)置路徑:SPRO->物料管理 - >采購 - >消息 - >輸出控制 - >消息類型 - >定義采購訂單的消息類型 - >微調(diào)控制:采購訂單。

    添加ZZFR的記錄

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

    現(xiàn)在,您可以使用事項(xiàng)ME23N中的標(biāo)準(zhǔn)按鈕打開現(xiàn)有的采購訂單或創(chuàng)建新的采購訂單并測(cè)試打印表單。 否則使用事項(xiàng)ME9F進(jìn)行打印。

    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)
    如何使用FastReport.Net在SAP NetWeaver中生成報(bào)表 - 第2部分 輸出信息(打印文檔)

     

    產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | 在線客服 | 聯(lián)系Elyn

     

    推薦閱讀

    FastReport2017.4新版大促
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();