• abap 屏幕分割; 结构转换为内表


     DATA
        :  container TYPE REF TO cl_gui_custom_container
        ,  docking   TYPE REF TO cl_gui_docking_container
        ,  splitter  TYPE REF TO cl_gui_splitter_container
        ,  splitter1 TYPE REF TO cl_gui_splitter_container.

     DATA: ls_stable TYPE lvc_s_stbl.
      ls_stable-row 'X'.
      ls_stable-col 'X'.

      IF docking IS INITIAL .
        CREATE OBJECT docking
          EXPORTING
            repid     = sy-repid
            dynnr     = sy-dynnr
            side      = docking->dock_at_bottom
            extension 1000.
        IF sy-subrc 0.
          IF splitter IS INITIAL .
            CREATE OBJECT splitter
              EXPORTING
                link_dynnr = sy-dynnr
                link_repid = sy-repid
                height     50
                align      15
                parent     = docking
                rows       2
                columns    1.
            splitter->set_row_heightEXPORTING id 1 height 100 ).
          ENDIF.
          IF sy-subrc = 0.
            IF splitter1 IS INITIAL.
              CREATE OBJECT splitter1
                EXPORTING
                  link_dynnr = sy-dynnr
                  link_repid = sy-repid
                  height     = 50
                  align      = 15
                  parent     = splitter->get_container( row = 2 column = 1 )
                 rows       = 1
                 columns    = 2.
            ENDIF.
          ENDIF.
        ENDIF.

        CREATE OBJECT gc_grida
          EXPORTING
            i_parent = splitter->get_container( row 1 column ).

      CALL METHOD gc_grida->refresh_table_display
        EXPORTING
          is_stable      = ls_stable
          i_soft_refresh 'X'.

    oo alv获取选择列

     DATA : rs_selfield TYPE slis_selfield,
             lt_row      TYPE lvc_t_row,
             lt_roid     TYPE lvc_t_roid,
             ls_roid     TYPE lvc_s_roid,
             ls_row      TYPE lvc_s_row
             .

      rs_selfield-col_stable 'X'.
      rs_selfield-row_stable 'X'.
      rs_selfield-refresh    'X'.

      ls_stable-row 'X'.
      ls_stable-col 'X'.
      CALL METHOD gc_grida->get_selected_rows
        IMPORTING
          et_index_rows = lt_row
          et_row_no     = lt_roid.
      LOOP AT lt_roid INTO ls_roid .
        LOOP AT gt_out ASSIGNING FIELD-SYMBOL(<fs_out>.
          IF sy-tabix = ls_roid-row_id.
            <fs_out>-sel 'X'.
          ENDIF.
        ENDLOOP.
      ENDLOOP.

    abap:结构转为内表的方法

    1.类调用

    DATA:BEGIN OF ty_output,
             z_no   TYPE  ztrfico008-z_no,   "流水号
             z_item TYPE ztrfico008-z_item"行目号
             bukrs  TYPE ztrfico008-bukrs,  "公司代码
             gjahr  TYPE ztrfico008-gjahr,  "财年
             monat  TYPE ztrfico008-monat,  "会计期间
             bktxt  TYPE ztrfico008-bktxt,  "凭证抬头文本
             drcrk  TYPE ztrfico008-drcrk,  "借方/贷方标识
             racct  TYPE ztrfico008-racct,  "科目号
             rassc  TYPE ztrfico008-rassc,  "贸易伙伴的公司标识
             rhcur  TYPE ztrfico008-rhcur,  "公司代码货币
             tsl    TYPE ztrfico008-tsl,      "  金额(余额交易货币)
             kurst  TYPE tcurr-kurst,        "汇率类型
             ukurs  TYPE ukurs_curr  ,      "汇率
             msl    TYPE z_hbje,    "合并金额
             prctr  TYPE ztrfico008-prctr,  "利润中心
             rfarea TYPE ztrfico008-rfarea"功能范围
             sgtxt  TYPE ztrfico008-sgtxt,  "项目文本
             bldat  TYPE ztrfico008-bldat,  "日期
             usnam  TYPE ztrfico008-usnam,  "用户名
           END OF ty_output.
      r_tabdescr ?= cl_abap_structdescr=>describe_by_data( ty_output ).
      CALL METHOD cl_salv_data_descr=>read_structdescr
        EXPORTING
          r_structdescr = r_tabdescr
        RECEIVING
          t_dfies       = t_dfies.
      LOOP AT t_dfies INTO wa_field.
        CLEAR gs_fieldcat.
        MOVE-CORRESPONDING wa_field TO gs_fieldcat.
        gs_fieldcat-coltext = gs_fieldcat-scrtext_m.
        IF gs_fieldcat-inttype 'P'.
          gs_fieldcat-intlen 23.
        ENDIF.
        CLEAR gs_fieldcat-convexit."若alv列 不能正常筛选数据时,将此列清空
        APPEND gs_fieldcat TO gt_fieldcat.
      ENDLOOP.

    2.使用函数

     CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name 'xxxx'
        CHANGING
          ct_fieldcat      = xxxx.

  • 相关阅读:
    推荐系统中的Graph Model
    Stanford机器学习课程之一——引言
    Sigmoid函数
    高斯RBF核函数中Sigma取值和SVM分离面的影响
    交叉验证(cross validation)
    匿名函数lambda和map函数
    ActionsChains类鼠标事件和Keys类键盘事件
    类、继承和反射
    WebDriverWait类以及类常用的方法
    frame的处理
  • 原文地址:https://www.cnblogs.com/WACBZWY/p/11970290.html
Copyright © 2020-2023  润新知