settype where used list - set type where use list - equipment download environme

118 阅读1分钟

执行如下report,输入要查询的settype id:

REPORT ZPROD_SETTYPE_WHERE_USED.

PARAMETERS: id TYPE comc_settype-frgtype_id OBLIGATORY DEFAULT 'COM_TA_R3_ID'.

START-OF-SELECTION.
DATA: lv_guid TYPE comc_settype-frgtype_guid,
lt_cat TYPE STANDARD TABLE OF COMM_CATFRGR-category_guid,
lt_catt TYPE STANDARD TABLE OF comm_category-category_id.
SELECT SINGLE frgtype_guid INTO lv_guid FROM comc_settype WHERE frgtype_id = id.

IF sy-subrc <> 0.
WRITE: / 'settype id invalid. '.
RETURN.
ENDIF.

SELECT category_guid INTO TABLE lt_cat FROM COMM_CATFRGR WHERE frgtype_guid = lv_guid.
IF sy-subrc <> 0.
WRITE: / 'no category has contained this settype.'.
RETURN.
ENDIF.

SORT lt_cat.
DELETE ADJACENT DUPLICATES FROM lt_cat.

SELECT category_id INTO TABLE lt_catt FROM comm_category FOR ALL ENTRIES IN lt_cat
WHERE category_guid = lt_cat-table_line.

LOOP AT lt_catt ASSIGNING FIELD-SYMBOL(<ID>).
WRITE: / <id> COLOR COL_NEGATIVE.
ENDLOOP.

输出所有包含该settype的product category:

除了OBJ_0401外,还有4个category里包含了这个settype,需要从这些category里手动删除。

从其他product category里删除settype时,又报已经存在基于这些settype的product了,需要先删除这些product。

例如希望得到所有基于product category MAT_JERR创建的product list:

输出product ID和创建时间:

REPORT PROD_LIST_CREATED_BY_CATEGORY.

PARAMETERS: id TYPE COMM_CAtegory-category_id OBLIGATORY DEFAULT 'MAT_JERR'.

START-OF-SELECTION.
DATA: lv_guid TYPE comm_category-category_guid,
lt_guid TYPE STANDARD TABLE OF COMM_PRODUCT-product_guid,
lt_prod TYPE STANDARD TABLE OF comm_product.

SELECT SINGLE category_guid FROM comm_category INTO lv_guid WHERE category_id = id.
IF sy-subrc <> 0.
WRITE: / 'category id not valid.'.
RETURN.
ENDIF.

SELECT product_guid INTO TABLE lt_guid FROM COMM_PRPRDCATR WHERE category_guid = lv_guid.
IF sy-subrc <> 0.
WRITE: / 'no product exists which are created based on current category.'.
RETURN.
ENDIF.

SELECT * INTO TABLE lt_prod FROM COmm_product FOR ALL ENTRIES IN lt_guid WHERE product_guid = lt_guid-table_line.
SORT lt_prod BY product_id.
LOOP AT lt_prod ASSIGNING FIELD-SYMBOL(<prod>).
WRITE: / <prod>-product_id COLOR COL_NEGATIVE, 'Created on: ' , <prod>-valid_from.
ENDLOOP.

根据report输出将这些product 一个一个删除。
要获取更多Jerry的原创文章,请关注公众号"汪子熙":