1.在RESULT的Feeder class里添加点击单号事件:

  method IF_FPM_GUIBB_LIST~GET_DEFINITION.
    DATA:GW_ACTION TYPE FPMGB_S_ACTIONDEF.
    EO_FIELD_CATALOG ?= CL_ABAP_STRUCTDESCR=>DESCRIBE_BY_NAME( 'ZLY_RESULT01T' )."获取查询参数结构
    GW_ACTION-ID = 'LINK_TO_DETAIL'.
    GW_ACTION-ENABLED = 'X'.
    APPEND GW_ACTION TO ET_ACTION_DEFINITION.
  endmethod.

2.进入Detail的配置页面:

FPM六:接五,跳转到明细

修改字段类型为LINK TO ACTION,然后事件选择定义的事件。

FPM六:接五,跳转到明细

到这里,界面的单号就变成链接了,而且点击也会触发事件进入PROCESS_EVENT。

下面写跳转的一些东西。

3.程序做跳转处理:在PROCESS_EVENT中接受事件,并做跳转。这里有个PAGE_2的页面,是要做明细界面的,这里可以先用上,后面再配置。

  METHOD IF_FPM_GUIBB_LIST~PROCESS_EVENT.
    DATA:GT_FPM_SEARCH_CRITERIA TYPE FPMGB_T_SEARCH_CRITERIA,
         GV_MAX_NUM             TYPE I,
         GV_INDEX               TYPE I,
         GT_WHERE               TYPE RSDS_WHERE_TAB.

    CASE IO_EVENT->MV_EVENT_ID.
      WHEN IF_FPM_GUIBB_LIST=>GC_EVENT_LIST_FILTER.
        IO_EVENT->MO_EVENT_DATA->GET_VALUE(
          EXPORTING
            IV_KEY   = 'SEL_TAB'
           IMPORTING
             EV_VALUE = GT_FPM_SEARCH_CRITERIA ).

        IO_EVENT->MO_EVENT_DATA->GET_VALUE(
          EXPORTING
            IV_KEY   = 'MAX_NUM'
           IMPORTING
             EV_VALUE = GV_MAX_NUM ).

        TRY .
            CALL METHOD CL_FPM_GUIBB_SEARCH_CONVERSION=>TO_ABAP_SELECT_WHERE_TAB
              EXPORTING
                IT_FPM_SEARCH_CRITERIA = GT_FPM_SEARCH_CRITERIA
                IV_TABLE_NAME          = 'ZLY_SEARCH01'
*               IO_FIELD_CATALOG       = MO_CATALOG
              IMPORTING
                ET_ABAP_SELECT_TABLE   = GT_WHERE.
            SELECT GUID
                   OBJECT_ID
                   DESCRIPTION
                   PROCESS_TYPE
                   POSTING_DATE
                   SALES_ORG
                   PROVIDER
                   END_USER
                   RETAILER
                   STAT_USER
                   TXT30
                   PRODUCT_ID
                   ZZCHARG_TYPE
              INTO TABLE GT_RESULT
              FROM ZHSB_ORDER_INDEX
              UP TO GV_MAX_NUM ROWS WHERE (GT_WHERE).
          CATCH CX_FPMGB.
        ENDTRY.
      WHEN 'LINK_TO_DETAIL'.
        DATA:LR_FPM        TYPE REF TO IF_FPM,
             LO_EVENT      TYPE REF TO       CL_FPM_EVENT,
             LR_EVENT_DATA TYPE REF TO CL_FPM_PARAMETER.
        IO_EVENT->MO_EVENT_DATA->GET_VALUE(
        EXPORTING
          IV_KEY = IF_FPM_GUIBB_LIST=>GC_EVENT_PAR_ROW
          IMPORTING
            EV_VALUE = GV_INDEX ).
        READ TABLE GT_RESULT INTO GW_RESULT INDEX GV_INDEX.
        IF SY-SUBRC = 0.
          LO_EVENT ?= CL_FPM_EVENT=>CREATE_BY_ID( 'FPM_CHANGE_CONTENT_AREA' ).

          LO_EVENT->MO_EVENT_DATA->SET_VALUE(
            EXPORTING
              IV_KEY   = 'TARGET_CONTENT_AREA'
              IV_VALUE = 'PAGE_2' ).

          LO_EVENT->MO_EVENT_DATA->SET_VALUE("将查询参数添加对参数对象里
              IV_KEY   = 'DETAIL'
              IV_VALUE = GW_RESULT ).
          LR_FPM ?= CL_FPM=>GET_INSTANCE( ).

          LR_FPM->RAISE_EVENT( LO_EVENT ).
        ENDIF.
      WHEN OTHERS.
    ENDCASE.
  ENDMETHOD.
View Code

相关文章:

  • 2021-06-07
  • 2021-10-24
  • 2022-02-19
  • 2021-05-27
  • 2021-08-25
  • 2021-12-25
  • 2022-01-09
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-20
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2021-12-18
相关资源
相似解决方案