BOBF基础信息表

  • /BOBF/OBM_ASSOC
  • /BOBF/OBM_NODE

Node信息-get_node

data: 
    lo_conf      TYPE REF TO /bobf/if_frw_configuration,
    lt_data      TYPE REF TO       data,
    ls_data      TYPE REF TO       data,
    ls_node      TYPE /bobf/s_confro_node.

lo_conf = /bobf/cl_frw_factory=>get_configuration( iv_bo_key = is_delegation-host_bo_key ).

lo_conf->get_node(
            EXPORTING iv_node_key = is_delegation-host_node_key
            IMPORTING es_node     = ls_node ).
DATA(ls_root_node) = lo_conf->get_root_node( ).

" create an empty structure of the assigned's node type
IF ls_root_node-data_table_type IS NOT INITIAL.
    CREATE DATA lt_data TYPE (ls_root_node-data_table_type).
ELSE.
    CREATE DATA lt_data TYPE STANDARD TABLE OF (ls_root_node-data_type).
ENDIF.

ASSIGN lt_data->* TO <lt_data>.
CREATE DATA ls_data TYPE (ls_root_node-data_type).
ASSIGN ls_data->* TO <ls_data>.
IF ls_root_node = ls_node.
  CALL METHOD lo_srv_mgr->retrieve
    EXPORTING
      iv_node_key  = is_delegation-host_node_key
      it_key       = lt_key
      iv_fill_data = abap_true
    IMPORTING
      et_data      = <lt_data>.
ELSE.
  CALL METHOD lo_conf->get_assoc_tab
    IMPORTING
      et_assoc = lt_assoc.
  READ TABLE lt_assoc INTO DATA(ls_assoc) WITH KEY source_node_key = ls_node-node_key target_node_key = ls_root_node-node_key.
  CALL METHOD lo_srv_mgr->retrieve_by_association
    EXPORTING
      iv_node_key    = is_delegation-host_node_key
      it_key         = lt_key
      iv_association = ls_assoc-assoc_key
      iv_fill_data   = abap_true
    IMPORTING
      et_data        = <lt_data>.
ENDIF.
READ TABLE <lt_data> INTO <ls_data> INDEX 1.
IF sy-subrc <> 0.
  ES_MSG-msg_type = 'E'.
  ES_MSG-msg_text = 'BOBF未查询到数据,请检查输入参数!'.
  RETURN.
ENDIF.