alv html alv pic

ABAP ALV 报表生成示例
本文介绍了一个使用 ABAP 编程语言创建 ALV (Application List Viewer) 报表的具体示例。该示例展示了如何从 BKPF 表中选择数据,并通过定义字段类别和布局来构建 ALV 报表。此外,还介绍了如何通过调用 REUSE_ALV_GRID_DISPLAY 函数模块来显示报表,并实现 HTML 顶部自定义。
REPORT  ZFENGLEIHEN_TEST.

TABLES: BKPF.

TYPE-POOLS: SLIS,SBDST, ABAP.

DATA: IT_BKPF LIKE TABLE OF BKPF WITH HEADER LINE.

DATA: IT_FCAT  TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
      W_TAB_GROUP  TYPE SLIS_T_SP_GROUP_ALV,
      W_LAYOUT     TYPE SLIS_LAYOUT_ALV,
      W_REPID      LIKE SY-REPID.
DATA: W_URL TYPE SBDST_URL.

PARAMETERS: P_BUKRS LIKE BKPF-BUKRS,
            P_GJAHR LIKE BKPF-GJAHR,
            P_BLART LIKE BKPF-BLART.

SELECT-OPTIONS: S_BUDAT FOR BKPF-BUDAT.

START-OF-SELECTION.
  PERFORM. DATA_GET.
  PERFORM. BUILD_FCAT.
  PERFORM. BUILD_LAYOUT.
  PERFORM. GET_URL.
  PERFORM. DISPLAY_ALV_REPORT.

*&---------------------------------------------------------------------*
*&      Form.  DATA_GET
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM. DATA_GET .

  SELECT *
    INTO TABLE IT_BKPF
    FROM BKPF
   WHERE BUKRS = P_BUKRS
     AND GJAHR = P_GJAHR
     AND BLART = P_BLART
     AND BUDAT IN S_BUDAT.

ENDFORM.                    " data_retrieval

*&---------------------------------------------------------------------*
*&      Form.  BUILD_FCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM. BUILD_FCAT .

  IT_FCAT-FIELDNAME   = 'BUKRS'.
  IT_FCAT-SELTEXT_L   = '公司代码'.
  IT_FCAT-DATATYPE = 'C'.
  APPEND IT_FCAT.
  CLEAR  IT_FCAT.

  IT_FCAT-FIELDNAME   = 'BELNR'.
  IT_FCAT-DATATYPE = 'C'.
  IT_FCAT-SELTEXT_L   = '会计凭证号码'.
  APPEND IT_FCAT.
  CLEAR  IT_FCAT.

  IT_FCAT-FIELDNAME   = 'GJAHR'.
  IT_FCAT-DATATYPE = 'C'.
  IT_FCAT-SELTEXT_L   = '会计年度'.
  APPEND IT_FCAT.
  CLEAR  IT_FCAT.

  IT_FCAT-FIELDNAME   = 'BLART'.
  IT_FCAT-DATATYPE = 'C'.
  IT_FCAT-SELTEXT_L   = '凭证类型'.
  APPEND IT_FCAT .
  CLEAR  IT_FCAT.

ENDFORM.                    " build_IT_FCAT

*&---------------------------------------------------------------------*
*&      Form.  BUILD_LAYOUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM. BUILD_LAYOUT .

  W_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
  W_LAYOUT-ZEBRA             = 'X'.

ENDFORM.                    " build_layout

*&---------------------------------------------------------------------*
*&      Form.  DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM. DISPLAY_ALV_REPORT .

  W_REPID = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM          = W_REPID
      IS_LAYOUT                   = W_LAYOUT
      IT_FIELDCAT                 = IT_FCAT[]
      I_CALLBACK_HTML_TOP_OF_PAGE = 'TOPOF_PAGE'
      I_HTML_HEIGHT_TOP           = 40
    TABLES
      T_OUTTAB                    = IT_BKPF
    EXCEPTIONS
      PROGRAM_ERROR               = 1
      OTHERS                      = 2.
  IF SY-SUBRC <> 0.

  ENDIF.

ENDFORM.                    " display_alv_report
*&---------------------------------------------------------------------*
*&      Form.  TOPOF_PAGE
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      --&gtI_DDOC     text
*----------------------------------------------------------------------*
FORM. TOPOF_PAGE USING I_DDOC TYPE REF TO CL_DD_DOCUMENT.

  DATA: LO_LINE     LIKE LINE OF I_DDOC->HTML_TABLE.
* Initializaion
  CALL METHOD I_DDOC->INITIALIZE_DOCUMENT.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = '
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = ''.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = ''.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = ''.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = 'FENGLEIHEN ALV TEST'.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = '
'.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  CONCATENATE ''%20W_URL%20''
         INTO LO_LINE-LINE.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = '
'.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

  CLEAR: LO_LINE-LINE.
  LO_LINE-LINE = '
'.
  APPEND LO_LINE TO I_DDOC->HTML_TABLE.

ENDFORM.                    "TOPOF_PAGE
*&---------------------------------------------------------------------*
*&      Form.  get_url
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM. GET_URL.

* OAOR 上传图片 并把change Attributes中的KEYWORDS设置成FENGLEIHEN_LOGO
  DATA: SIGNATURE  TYPE SBDST_SIGNATURE   WITH HEADER LINE,
        URIS       TYPE SBDST_URI         WITH HEADER LINE.

  MOVE: '1' TO SIGNATURE-DOC_COUNT,
        '1' TO SIGNATURE-COMP_COUNT.
  MOVE: 'BDS_KEYWORD' TO SIGNATURE-PROP_NAME,
        'FENGLEIHEN_LOGO' TO SIGNATURE-PROP_VALUE.
  APPEND SIGNATURE.
  CALL METHOD CL_BDS_DOCUMENT_SET=>GET_WITH_URL
    EXPORTING
      CLASSNAME    = 'PICTURES'
      CLASSTYPE    = 'OT'
      URL_LIFETIME = 'T'
    CHANGING
      URIS         = URIS[]
      SIGNATURE    = SIGNATURE[].
  READ TABLE URIS INDEX 1 .
  IF SY-SUBRC = 0 .
    W_URL = URIS-URI .
  ENDIF .

ENDFORM.                    "get_url

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/139677/viewspace-600525/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/139677/viewspace-600525/

基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系与实际应用场景,强调“借力”工具与创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计与实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现与创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理与代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试与复现,同时注重从已有案例中提炼可迁移的科研方法与创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究与改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性与调参技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值