[요약] Date 필드와 자재 필드를 화면에서 읽어와서 테이블에서 값을 조회한후 화면에 Binding 하는 로직입니다.

            가장 일반적이고도 간단한 Reporting Search Method 구현 로직입니다.

 

 

1. 검색 method

  METHOD SEARCH_DATA.

    DATANODE_DATE_NODE  TYPE REF TO IF_WD_CONTEXT_NODE,
        ELEM_DATE_NODE  TYPE REF TO IF_WD_CONTEXT_ELEMENT,
        STRU_DATE_NODE  TYPE IF_VIEW1=>ELEMENT_DATE_NODE ,
        ITEM_DATE       LIKE STRU_DATE_NODE-DATE.

* Date Node 조회
  NODE_DATE_NODE WD_CONTEXT->GET_CHILD_NODENAME `DATE_NODE` ).

* Date Element 조회
  ELEM_DATE_NODE NODE_DATE_NODE->GET_ELEMENT(  ).

* Date Element의 값 조회
  ELEM_DATE_NODE->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `DATE`
    IMPORTING
      VALUE ITEM_DATE ).


  DATANODE_MAT_NODE TYPE REF TO IF_WD_CONTEXT_NODE,
        ELEM_MAT_NODE TYPE REF TO IF_WD_CONTEXT_ELEMENT,
        STRU_MAT_NODE TYPE IF_VIEW1=>ELEMENT_MAT_NODE ,
        ITEM_MATERIAL LIKE STRU_MAT_NODE-MATERIAL.

* Material Node 조회
  NODE_MAT_NODE WD_CONTEXT->GET_CHILD_NODENAME `MAT_NODE` ).

* Material Element 조회
  ELEM_MAT_NODE NODE_MAT_NODE->GET_ELEMENT(  ).

* Material Element의 값 조회
  ELEM_MAT_NODE->GET_ATTRIBUTE(
    EXPORTING
      NAME =  `MATERIAL`
    IMPORTING
      VALUE ITEM_MATERIAL ).

  types BEGIN OF ty_data,
            kunnr type kunnr,
            matnr TYPE matnr,
            arktx TYPE arktx,
            zmeng type dzmeng,
            meins TYPE meins,
            progress TYPE numc3,
            END OF ty_data.
  data fs_dd type ty_data,
         it_dd type TABLE OF ty_data.

  types BEGIN OF order_data,
            vbeln type vbeln,
            posnr type posnr,
            matnr TYPE matnr,
            arktx TYPE arktx,
            kunnr type kunnr,
            zmeng type dzmeng,
            meins TYPE meins,
            progress TYPE numc3,
            END OF order_data.

  datafs_order TYPE order_data,
        it_order_data TYPE TABLE OF order_data.

* 테이블 데이타 조회
  refresh it_order_data.
  select vbeln posnr_i matnr_i arktx_i kunnr kwmeng_i meins_i
  from vbap
  into table it_order_data
  where erdat eq item_date
  and matnr_i eq item_material.
  sort it_order_data by kunnr.
  
  LOOP AT it_order_data into fs_order.
    MOVE-CORRESPONDING fs_order to fs_dd.
    append fs_dd to it_ddCLEAR fs_dd.
  ENDLOOP.

* Data Bind 
  DATANODE_ORDER_DATA TYPE REF TO IF_WD_CONTEXT_NODE.
    
* Bind할 Context 노드 조회
  NODE_ORDER_DATA WD_CONTEXT->GET_CHILD_NODENAME `ORDER_DATA` ).
  
* 데이타 Bind
  NODE_ORDER_DATA->BIND_TABLEIT_DD ).

  ENDMETHOD.

profile

안녕하세요^^