product api ut

1:cds view 中的WITH PRIVILEGED ACCESS 可以跳过访问权限的限制。没有权限,使用该语句也能查询到数据。但是该语句只针对其前面的一个cds view有效。当查询条件为其它需要权限的cds view时,需要在其它cds view中在加入WITH PRIVILEGED ACCESSS.

 2: 拼接查询字符串。

    lv_sql_select_basic = `product_h~*`.

    IF lv_ignore_auth_check = abap_true.
      lv_sql_select_compbp =  `, Competitor~businesspartner AS competitorbusinesspartner`.
    ELSE.
      lv_sql_select_compbp =  `,\_competitor-businesspartner AS competitorbusinesspartner`.
    ENDIF.

    IF is_required_text_fields IS NOT INITIAL.
      add_required_fields_to_select( EXPORTING is_required_text_fields = is_required_text_fields  "根据传入的 is_required_text_fields中的属性值,来决定拼接哪些属性。
                                     CHANGING  ev_select_list          = lv_sql_select_text ).
    ENDIF.

    lv_sql_select = |{ lv_sql_select_basic }{ lv_sql_select_compbp }{ lv_sql_select_text }|.
    ls_required_text_fields-is_prod_name_required = 'X'.  "将product name 属性拼接到查询结果中。CALL METHOD f_cut->if_crms4_product_api~get_single_header_by_id
      EXPORTING
        iv_product_id           = lv_product_id
        iv_langu                = lv_langu
        is_required_text_fields = ls_required_text_fields
        iv_check_authorizations = lv_check_authorizations
      IMPORTING
        es_product              = ls_product
      EXCEPTIONS
        not_found               = 1
        wrong_call              = 2
        conv_error              = 3
        OTHERS                  = 4.

猜你喜欢

转载自www.cnblogs.com/liyafei/p/11443240.html