日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Product settype list tool - report PROD_DISPLAY_SETTYPE

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Product settype list tool - report PROD_DISPLAY_SETTYPE 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Created by Jerry Wang, last modified on Dec 20, 2014

使用該tool 列出指定的product type下能assign的所有settype name和description:


可根據settype的類型做filter:


source code:

REPORT ZHANA_DISPLAY_SETTYPE. PARAMETERS: prod TYPE COMM_PRODUCT-product_type,set type COMT_PROD_COMP_TYPE. DATA: lt_prod_set type STANDARD TABLE OF COMM_PROD_FRG,lt_set TYPE STANDARD TABLE OF COMC_SETTYPE,lt_set_text TYPE STANDARD TABLE OF COMC_SETTYPE_T,ls_set LIKE LINE OF lt_set,ls_set_text LIKE LINE OF lt_set_text. IF prod IS NOT INITIAL.SELECT * INTO TABLE lt_prod_set FROM COMM_PROD_FRG WHERE product_type = prod. ELSE.SELECT * INTO TABLE lt_prod_set FROM COMM_PROD_FRG. ENDIF. CHECK sy-subrc = 0. IF set IS NOT INITIAL.SELECT * INTO TABLE lt_set FROM COMC_SETTYPE FOR ALL ENTRIES IN lt_prod_set WHERE FRGTYPE_GUID = lt_prod_set-FRAGMENT_TYPEAND PROD_COMP_TYPE = set. ELSE.SELECT * INTO TABLE lt_set FROM COMC_SETTYPE FOR ALL ENTRIES IN lt_prod_set WHERE FRGTYPE_GUID = lt_prod_set-FRAGMENT_TYPE. ENDIF. SELECT * INTO TABLE lt_set_text FROM COMC_SETTYPE_T FOR ALL ENTRIES IN lt_set WHERE FRGTYPE_GUID = lt_set-FRGTYPE_GUID. LOOP AT lt_set INTO ls_set.READ TABLE lt_set_text INTO ls_set_text WITH KEY FRGTYPE_GUID = ls_set-FRGTYPE_GUID LANGU = sy-langu.WRITE: / ls_set-FRGTYPE_ID, ls_set_text-FRGTYPE_TEXT. ENDLOOP.

test report: read complete set type by my self

REPORT ZHANA_PRODUCT_READ_ALL1.PARAMETER: prd_id TYPE comm_product-product_id OBLIGATORY.TYPES: tt_set_guid_tab TYPE STANDARD TABLE OF COMT_FRG_GUID.DATA: lt_product_assigned type STANDARD TABLE OF comm_prprdcatr,ls_product_assigned like line of lt_product_assigned,lt_cate_set_rel TYPE COMT_PRCAT_FRAG_REL_TAB,ls_settype TYPE COMT_SETTYPE_EXT,lt_rel_meta TYPE COMT_PR_ORG_REL_TAB,ls_rel_meta LIKE LINE OF lt_rel_meta,ls_cate_sel_rel LIKE LINE OF lt_cate_set_rel,lr_old TYPE REF TO data,lv_set_guid TYPE COMT_FRG_GUID,lt_set_guid TYPE tt_set_guid_tab,lr_new TYPE REF TO data,lr_data TYPE REF TO data,lv_first_time TYPE abap_bool VALUE abap_true,PARAMS type table of RFC_FUNINT,ptab TYPE abap_func_parmbind_tab,ptab_line TYPE abap_func_parmbind,etab TYPE abap_func_excpbind_tab,etab_line TYPE abap_func_excpbind,ls_params like line of params,NAMETAB type table of X031L,ls_NAMETAB like line of NAMETAB,ls_product TYPE comm_product,lr_typedescr TYPE REF TO cl_abap_typedescr,lr_tabdescr TYPE REF TO cl_abap_tabledescr,lr_chardescr TYPE REF TO CL_ABAP_ELEMDESCR,lr_strucdescr TYPE REF TO cl_abap_structdescr.FIELD-SYMBOLS: <data> TYPE ANY,<field> TYPE any,<struc> TYPE any,<line> TYPE any,<table> TYPE ANY TABLE.CONSTANTS: co_set_guid TYPE string value 'IV_SET_GUID',co_product_guid TYPE string VALUE 'IV_PRODUCT_GUID'.START-OF-SELECTION.SELECT SINGLE product_id product_guid INTO ls_product FROM comm_product WHERE product_id = prd_id. IF sy-subrc <> 0.WRITE:/ 'Cannot find product with ID: ' , prd_id COLOR COL_NEGATIVE INTENSIFIED ON.RETURN. ENDIF.CALL METHOD cl_com_product_org_type=>comc_pr_org_link_read_allIMPORTINGet_pr_org_rel = lt_rel_metaEXCEPTIONSnot_found = 1OTHERS = 2.SELECT * INTO TABLE lt_product_assigned FROM comm_prprdcatr WHERE product_guid = ls_product-product_guid.LOOP AT lt_product_assigned INTO ls_product_assigned.CALL FUNCTION 'COM_PRCAT_FRAG_REL_READ'EXPORTINGiv_category_guid = ls_product_assigned-category_guidIMPORTINGet_prcat_frag_rel = lt_cate_set_relEXCEPTIONSwrong_call = 1OTHERS = 2.ASSERT sy-subrc = 0.PERFORM add_settype CHANGING lt_cate_set_rel.LOOP AT lt_cate_set_rel INTO ls_cate_sel_rel.CALL FUNCTION 'COM_SETTYPE_READ_SINGLE'EXPORTINGiv_settype_guid = ls_cate_sel_rel-FRGTYPE_GUIDIMPORTINGes_settype = ls_settypeEXCEPTIONSnot_found = 1no_import_values = 2no_text_found = 3OTHERS = 4.CHECK ls_settype-func_read IS NOT INITIAL.CLEAR: params,ptab,etab.CALL FUNCTION 'RFC_GET_FUNCTION_INTERFACE'EXPORTINGFUNCNAME = ls_settype-func_readTABLESPARAMS = PARAMS.LOOP AT params INTO ls_params WHERE optional = space.CLEAR: ptab_line.CASE ls_params-paramclass.WHEN 'E'.ptab_line-name = ls_params-parameter.ptab_line-kind = abap_func_importing.CREATE DATA lr_data TYPE (ls_params-tabname).ptab_line-value = lr_data.INSERT ptab_line INTO TABLE ptab.WHEN 'I'. "exporting parameter in the programptab_line-name = ls_params-parameter.ptab_line-kind = abap_func_exporting.CREATE DATA lr_data TYPE (ls_params-tabname).ASSIGN lr_data->* TO <data>.IF ptab_line-name = co_set_guid.CLEAR: lt_set_guid.PERFORM get_set_guid USING ls_product-product_guid LS_SETTYPE CHANGING lt_set_guid.READ TABLE lt_set_guid INTO lv_set_guid INDEX 1.<data> = lv_set_guid.ELSEIF ptab_line-name = co_product_guid.<data> = ls_product-product_guid.ENDIF.ptab_line-value = lr_data.INSERT ptab_line INTO TABLE ptab.WHEN 'X'.etab_line-name = 'NOT_FOUND'.etab_line-value = 10.INSERT etab_line INTO TABLE etab.ENDCASE.ENDLOOP.ULINE.WRITE:/ 'Start processing Set type:' , ls_settype-FRGTYPE_ID COLOR COL_TOTAL.CHECK ptab IS NOT INITIAL.CALL FUNCTION ls_settype-func_read PARAMETER-TABLE ptab EXCEPTION-TABLE etab.IF sy-subrc <> 0.WRITE:/ 'No data maintained for Set type:' , ls_settype-FRGTYPE_ID COLOR COL_NEGATIVE.ELSE.LOOP AT ptab INTO ptab_line WHERE kind = abap_func_importing.CHECK ptab_line-value IS NOT INITIAL.ASSIGN ptab_line-value->* TO <struc>.PERFORM display_content USING <struc>.ENDLOOP.ENDIF.ENDLOOP. ENDLOOP.FORM display_struct USING struc TYPE ANY.FIELD-SYMBOLS: <local_field1> TYPE ANY.DATA: lt_para_table1 TYPE ABAP_COMPDESCR_TAB,ls_line1 LIKE LINE OF lt_para_table1.PERFORM get_field_table USING struc CHANGING lt_para_table1.DO.ASSIGN COMPONENT sy-index OF STRUCTURE struc TO <local_field1>.IF sy-subrc <> 0.EXIT.ENDIF.IF <local_field1> IS NOT INITIAL.READ TABLE lt_para_table1 INTO ls_line1 INDEX sy-index.WRITE:/ ls_line1-name, ' Content:' , <local_field1> COLOR COL_POSITIVE INTENSIFIED ON.ENDIF.ENDDO. ENDFORM.FORM add_settype CHANGING rel_table TYPE COMT_PRCAT_FRAG_REL_TAB.DATA: lt_table TYPE STANDARD TABLE OF COMC_SETTYPE,lt_copy LIKE lt_table,ls_rel_line TYPE COMT_PRCAT_FRAG_REL,ls_table LIKE LINE OF lt_table.CHECK lv_first_time = abap_true.ls_table-FRGTYPE_ID = 'COMM_PR_STATUS'.APPEND ls_table TO lt_copy.ls_table-FRGTYPE_ID = 'COMM_PR_CATEGORY'.APPEND ls_table TO lt_copy.SELECT FRGTYPE_GUID FRGTYPE_ID INTO CORRESPONDING FIELDS OF TABLE lt_table FROM COMC_SETTYPEFOR ALL ENTRIES IN lt_copy WHERE FRGTYPE_ID = lt_copy-FRGTYPE_ID.LOOP AT lt_table INTO ls_table.ls_rel_line-FRGTYPE_GUID = ls_table-FRGTYPE_GUID.APPEND ls_rel_line TO rel_table.ENDLOOP.lv_first_time = abap_false.ENDFORM.FORM get_field_table USING struc TYPE any CHANGING para_tab TYPE ABAP_COMPDESCR_TAB.TRY.lr_strucdescr ?= cl_abap_typedescr=>describe_by_data( struc ).CLEAR: para_tab.para_tab = lr_strucdescr->COMPONENTS.CATCH CX_SY_MOVE_CAST_ERROR.ENDTRY. ENDFORM.FORM display_table USING struc TYPE ANY TABLE.FIELD-SYMBOLS: <local_line2> TYPE any,<local_field2> TYPE any.DATA: lt_para_table TYPE ABAP_COMPDESCR_TAB,ls_line LIKE LINE OF lt_para_table.LOOP AT struc ASSIGNING <local_line2>.DO.PERFORM get_field_table USING <local_line2> CHANGING lt_para_table.ASSIGN COMPONENT sy-index OF STRUCTURE <local_line2> TO <local_field2>.IF sy-subrc <> 0.EXIT.ENDIF.IF <local_field2> IS NOT INITIAL.lr_typedescr = cl_abap_typedescr=>describe_by_data( <local_field2> ).TRY.lr_chardescr ?= lr_typedescr.READ TABLE lt_para_table INTO ls_line INDEX sy-index.WRITE:/ ls_line-name, ' Content:' , <local_field2> COLOR COL_POSITIVE INTENSIFIED ON.CATCH CX_SY_MOVE_CAST_ERROR."struc or tableTRY."struclr_strucdescr ?= lr_typedescr.PERFORM display_struct using <local_field2>.CATCH CX_SY_MOVE_CAST_ERROR.PERFORM display_table USING <local_field2>.ENDTRY.ENDTRY.ENDIF.ENDDO.ENDLOOP. ENDFORM.FORM display_content USING struc TYPE ANY.FIELD-SYMBOLS: <local_table> TYPE ANY TABLE,<local_line> TYPE ANY,<local_field> TYPE ANY.lr_typedescr = cl_abap_typedescr=>describe_by_data( struc ).TRY.lr_strucdescr ?= lr_typedescr.PERFORM display_struct USING struc.CATCH CX_SY_MOVE_CAST_ERROR.ASSIGN ptab_line-value->* TO <local_table>.PERFORM display_table USING <local_table>.ENDTRY. ENDFORM.FORM get_set_guid USING product_guid TYPE comm_prprdcatr-product_guid settype TYPE COMT_SETTYPE_EXT"CHANGING set_guid TYPE COMT_FRG_GUID.CHANGING set_guid_tab TYPE tt_set_guid_tab.READ TABLE lt_rel_metaWITH KEY org_type = settype-org_unitINTO ls_rel_meta.ASSERT sy-subrc = 0.DATA:lt_rel_table TYPE REF TO data,lt_set_table TYPE REF TO data,lt_set_table_sort TYPE REF TO data,lt_key_tab TYPE REF TO data,ls_key_line TYPE REF TO data,ls_result TYPE REF TO data,lt_rel_db_tab TYPE REF TO data,lt_set_guid TYPE comt_frg_guid_tab,lv_current TYPE abap_bool VALUE abap_true.FIELD-SYMBOLS:<rel_tab> TYPE ANY TABLE,<rel_tab_db> TYPE ANY TABLE,<set_tab> TYPE ANY TABLE,<key_line> TYPE ANY,<field> TYPE ANY,<result> TYPE ANY,<key_tab> TYPE ANY TABLE,<set_tab_sort> TYPE ANY TABLE."* create relation table:CREATE DATA lt_rel_tableTYPE (ls_rel_meta-link_table_ttyp).ASSIGN lt_rel_table->* TO <rel_tab>.ASSERT <rel_tab> IS ASSIGNED.CREATE DATA lt_key_tab TYPE (ls_rel_meta-link_sel_ttyp).ASSIGN lt_key_tab->* TO <key_tab>.ASSERT <key_tab> IS ASSIGNED.CREATE DATA lt_rel_db_tab TYPE (ls_rel_meta-link_table_ttyp).ASSIGN lt_rel_db_tab->* TO <rel_tab_db>.CREATE DATA ls_key_line TYPE (ls_rel_meta-link_sel_struc).ASSIGN ls_key_line->* TO <key_line>.ASSIGN COMPONENT 1 OF STRUCTURE <key_line> TO <field>.<field> = product_guid.ASSIGN COMPONENT 2 OF STRUCTURE <key_line> TO <field>.<field> = settype-frgtype_guid.INSERT <key_line> INTO TABLE <key_tab>.CALL FUNCTION ls_rel_meta-func_rel_read_muEXPORTINGit_product_set_type = <key_tab>iv_current = lv_currentiv_read_old_values = 'X'iv_update_buffer = spaceIMPORTINGet_rel = <rel_tab>et_rel_old = <rel_tab_db>EXCEPTIONSnot_found = 1wrong_call = 2OTHERS = 3.CHECK sy-subrc = 0.CREATE DATA ls_result TYPE (ls_rel_meta-LINK_TABLE_STRUC).ASSIGN ls_result->* TO <result>.LOOP AT <rel_tab> ASSIGNING <result>.ASSIGN COMPONENT 'FRAGMENT_GUID' OF STRUCTURE <result> TO <field>.IF sy-subrc = 0.APPEND <field> TO set_guid_tab.EXIT.ENDIF.ENDLOOP.ENDFORM.

總結

以上是生活随笔為你收集整理的Product settype list tool - report PROD_DISPLAY_SETTYPE的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲熟妇av日韩熟妇在线 | 日本五十路在线 | av黄网站 | 在线免费成人 | 欧美激情在线一区二区 | 欧美一区2区三区4区公司 | 七月色 | 精品国产123 | 久久久久亚洲视频 | 丰满少妇影院 | 国产一级片 | 牛牛在线 | 欧美a级在线免费观看 | 狠狠干干干 | 成人必看www. | 国产精品毛片一区二区 | 中国大陆一级片 | 国产精品久久久久久久久久免费 | 国产av无码专区亚洲av | 亚洲黄色在线网站 | 朝桐光av在线 | 欧美操穴 | 久久99伊人 | 人妻少妇无码精品视频区 | 日产久久久久久 | 正在播放亚洲 | 午夜精彩视频 | 一区二区三区在线观看 | 老司机福利院 | 一极毛片 | 99热在线国产 | 亚洲一区二区三区四区视频 | 久久精品2| 韩国三级一区 | 老司机精品视频网站 | 朱竹清到爽高潮痉挛 | 日韩av片在线看 | 欧美性动态图 | 国产综合第一页 | 国产精品12页| 欧美性xxxxx 亚洲特黄一级片 | 少妇人妻综合久久中文字幕 | 亚洲无码精品在线观看 | 精品福利视频一区二区 | 九九热国产视频 | 特黄特色特刺激免费播放 | 强乱中文字幕av一区乱码 | 2014亚洲天堂 | 精品区在线观看 | 色久婷婷 | 蜜桃av导航 | 亚洲深夜福利视频 | 精品国产av色一区二区深夜久久 | 成人黄网免费观看视频 | 色呦呦网站 | 日本中文字幕免费观看 | 久久中文字幕人妻 | 在线观看视频一区二区三区 | 国产又爽又黄免费视频 | 五月天在线 | 国产精品久久久久影院色老大 | 亚洲精品国产av | 人人99| 毛片av免费看 | 欧美一级鲁丝片 | av在线不卡免费观看 | 亚洲av色一区二区三区精品 | 80日本xxxxxxxxx96| 亚洲区小说区图片区 | 探花视频在线版播放免费观看 | 黄色免费网站在线看 | 日本精品视频一区二区三区 | 中文免费av | 婷婷在线免费 | 精品久久久久久久久久久久久 | 天天上天天干 | 青青草超碰在线 | 亚洲综合av一区二区三区 | 欧美一区二区三区四区五区 | 少妇精品一区二区三区 | 撸啊撸在线视频 | 在线播放精品视频 | 欧美性大战久久久久久久蜜桃 | 狠狠干2024| 精品综合久久 | 第一av在线 | 亚洲欧美日韩高清 | 在线观看免费看片 | 波多一区二区 | 挪威xxxx性hd极品 | 韩日av在线播放 | 97天天操| 体内射精一区二区 | 国产极品美女高潮无套在线观看 | 另类小说久久 | 成人羞羞国产免费动态 | 日韩黄色三级视频 | 黄色调教视频 | 131mm少妇做爰视频 |