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.
*..........................................
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.