您的位置:首页 > 移动开发 > Objective-C

自己写的销售组织分销渠道的权限检查增强

2012-05-21 09:38 441 查看
DATA LT_TVKOT TYPE TABLE OF TVKOT WITH HEADER LINE.

  DATA LT_TVTWT TYPE TABLE OF TVTWT WITH HEADER LINE.

  SELECT * FROM TVKOT INTO TABLE LT_TVKOT WHERE VKORG IN svkorg AND SPRAS = '1'.

  SELECT * FROM TVTWT INTO TABLE LT_TVTWT  WHERE VTWEG IN svtweg AND SPRAS = '1'.

  LOOP AT LT_TVKOT.

    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'

        ID 'VKORG' FIELD LT_TVKOT-VKORG

        ID 'VTWEG' DUMMY

        ID 'SPART' DUMMY

        ID 'ACTVT' DUMMY.

    IF SY-SUBRC NE 0.

      MESSAGE E899(MM) WITH '没有销售组织' LT_TVKOT-VKORG '的权限'.

    ENDIF.

    AUTHORITY-CHECK OBJECT 'V_VBRK_VKO'

          ID 'VKORG' FIELD LT_TVKOT-VKORG

          ID 'ACTVT' DUMMY.

    IF SY-SUBRC NE 0.

      MESSAGE E899(MM) WITH '没有销售组织' LT_TVKOT-VKORG '的权限'.

    ENDIF.

    CLEAR LT_TVKOT.

  ENDLOOP.

  LOOP AT LT_TVTWT.

    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'

    ID 'VKORG' DUMMY

    ID 'VTWEG' FIELD LT_TVTWT-VTWEG

    ID 'SPART' DUMMY

    ID 'ACTVT' DUMMY.

    IF SY-SUBRC NE 0.

      MESSAGE E899(MM) WITH '没有分销渠道' LT_TVTWT-VTWEG '的权限'.

    ENDIF.

    CLEAR LT_TVTWT.

  ENDLOOP.

*..........................................

  DATA LT_TVTWT TYPE TABLE OF TVTWT WITH HEADER LINE.

  SELECT * FROM TVTWT INTO TABLE LT_TVTWT  WHERE VTWEG IN S_VTWEG AND SPRAS = '1'.

    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'

        ID 'VKORG' FIELD P_VKORG

        ID 'VTWEG' DUMMY

        ID 'SPART' DUMMY

        ID 'ACTVT' DUMMY.

    IF SY-SUBRC NE 0.

      MESSAGE E899(MM) WITH '没有销售组织' P_VKORG '的权限'.

    ENDIF.

    AUTHORITY-CHECK OBJECT 'V_VBRK_VKO'

          ID 'VKORG' FIELD P_VKORG

          ID 'ACTVT' DUMMY.

    IF SY-SUBRC NE 0.

      MESSAGE E899(MM) WITH '没有销售组织' P_VKORG '的权限'.

    ENDIF.

  LOOP AT LT_TVTWT.

    AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'

    ID 'VKORG' DUMMY

    ID 'VTWEG' FIELD LT_TVTWT-VTWEG

    ID 'SPART' DUMMY

    ID 'ACTVT' DUMMY.

    IF SY-SUBRC eq 0.

      s_VTWEG-sign = 'I'.

      s_VTWEG-option = 'EQ'.

      s_VTWEG-low = LT_TVTWT-VTWEG.

      APPEND s_VTWEG.

    ENDIF.

     CLEAR: s_VTWEG,LT_TVTWT.

  ENDLOOP.

 loop at p_gt_fvkdfi.

if p_gt_fvkdfi-vtweg not in s_VTWEG[].

  delete p_gt_fvkdfi where vtweg = p_gt_fvkdfi-vtweg.

        delete p_gt_fvkdfi  where vtweg = p_gt_fvkdfi-vtweg.

  ENDIF.

CLEAR p_gt_fvkdfi.

   endloop.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  table object header