SRM项目学习心得

更新时间:2023-09-27 17:24:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Se01:release请求,se01-transport

Se11:数据表/视图/数据类型/类型组 等 Se16:数据浏览器,看表里数据 Se21:包/包接口(包构建器) Se24:对象类型(类构建器) Se37:函数模块function

Se38:ABAP编辑器:初始屏幕(SRM项目用程序ZRPT_SEND_ESB_MESSAGE向ESB发送接口)

Se80:程序入口

Pfcg:角色维护(权限) Stms:传输不同客户端请求 Su01:用户角色分配 Ppoma_bbp:物料组 Smartforms:Smartforms

Bbpgetvd:SAP传输供应商主数据 搜索:

METHOD REFRESH .

DATA LO_ND_ZTIP_QUOTA TYPE REF TO IF_WD_CONTEXT_NODE.

DATA LO_EL_ZTIP_QUOTA TYPE REF TO IF_WD_CONTEXT_ELEMENT. *--

DATA LO_ND_VENDOR_INFO TYPE REF TO IF_WD_CONTEXT_NODE.

DATA LO_EL_VENDOR_INFO TYPE REF TO IF_WD_CONTEXT_ELEMENT. *--

DATA LO_ND_MATERIAL_INFO TYPE REF TO IF_WD_CONTEXT_NODE.

DATA LO_EL_MATERIAL_INFO TYPE REF TO IF_WD_CONTEXT_ELEMENT.

*--------------------------------------------------------------

DATA LT_ZTIP_QUOTA TYPE WD_THIS->ELEMENTS_ZTIP_QUOTA.

DATA LS_ZTIP_QUOTA TYPE WD_THIS->ELEMENT_ZTIP_QUOTA. *--

DATA LT_VENDOR_INFO TYPE WD_THIS->ELEMENTS_VENDOR_ND_INFO. *--

DATA LT_MATERIAL_INFO TYPE WD_THIS->ELEMENTS_MATERIAL_INFO.

* navigate from to via lead selection

LO_ND_ZTIP_QUOTA = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCT

X_ZTIP_QUOTA ).

LO_EL_ZTIP_QUOTA = LO_ND_ZTIP_QUOTA->GET_ELEMENT( ). *--

LO_ND_VENDOR_INFO = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_VENDOR_ND_INFO ).

LO_EL_VENDOR_INFO = LO_ND_VENDOR_INFO->GET_ELEMENT( ). *--

LO_ND_MATERIAL_INFO = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_MATERIAL_INFO ).

LO_EL_VENDOR_INFO = LO_ND_MATERIAL_INFO->GET_ELEMENT( ).

* @TODO handle non existant child * IF lo_nd_ztip_quota IS INITIAL. * ENDIF.

LO_ND_ZTIP_QUOTA->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_ZTIP_QUOTA ). *--

LO_ND_ZTIP_QUOTA->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_VENDOR_INFO ). *--

LO_ND_MATERIAL_INFO->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_MATERIAL_INFO ).

*--------------------------------------------------------------------

DATA : L1_FIELDNAME TYPE STRING , LT_MATNR TYPE REF TO DATA ,

R_MATNR TYPE RANGE OF ZTIP_QUOTA-ZMATNR.

L1_FIELDNAME = 'MATNR' .

LT_MATNR = WD_THIS->LD_SEL_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = L1_FIELDNAME ).

FIELD-SYMBOLS: TYPE STANDARD TABLE . ASSIGN LT_MATNR->* TO . R_MATNR = .

*---------------------------------------------------------------------

DATA : L2_FIELDNAME TYPE STRING ,

LT_SHORT_TEXT TYPE REF TO DATA ,

R_SHORT_TEXT TYPE RANGE OF COMM_PRSHTEXT-SHORT_TEXT.

L2_FIELDNAME = 'SHORT_TEXT' .

LT_SHORT_TEXT = WD_THIS->LD_SEL_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD(

I_ID = L2_FIELDNAME ).

FIELD-SYMBOLS: TYPE STANDARD TABLE . ASSIGN LT_SHORT_TEXT->* TO . R_SHORT_TEXT = .

*---------------------------------------------------------------------

DATA : L3_FIELDNAME TYPE STRING , LT_VENDOR TYPE REF TO DATA ,

R_VENDOR TYPE RANGE OF ZTIP_QUOTA-ZVENDOR.

L3_FIELDNAME = 'VENDOR' .

LT_VENDOR = WD_THIS->LD_SEL_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = L3_FIELDNAME ).

FIELD-SYMBOLS: TYPE STANDARD TABLE . ASSIGN LT_VENDOR->* TO . R_VENDOR = .

*---------------------------------------------------------------------

DATA : L4_FIELDNAME TYPE STRING , LT_MC_NAME1 TYPE REF TO DATA ,

R_MC_NAME1 TYPE RANGE OF BUT000-MC_NAME1.

L4_FIELDNAME = 'MC_NAME1' .

LT_MC_NAME1 = WD_THIS->LD_SEL_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD(

I_ID = L4_FIELDNAME ).

FIELD-SYMBOLS: TYPE STANDARD TABLE . ASSIGN LT_MC_NAME1->* TO . R_MC_NAME1 = .

*---------------------------------------------------------------------

DATA : L5_FIELDNAME TYPE STRING , LT_PLANT TYPE REF TO DATA ,

R_PLANT TYPE RANGE OF ZTIP_QUOTA-ZPLANT.

L5_FIELDNAME = 'REGION' .

LT_PLANT = WD_THIS->LD_SEL_HANDLER->GET_RANGE_TABLE_OF_SEL_FIELD( I_ID = L5_FIELDNAME ).

FIELD-SYMBOLS: TYPE STANDARD TABLE . ASSIGN LT_PLANT->* TO . R_PLANT = .

**---------------------------------------------------------------------

*---------------------使已经存在的值不能被修改--------------------------- DATA: LT_SET TYPE WDR_CONTEXT_ELEMENT_SET,

LS_SET TYPE LINE OF WDR_CONTEXT_ELEMENT_SET.

LT_SET = LO_ND_ZTIP_QUOTA->GET_ELEMENTS( ).

LOOP AT LT_SET INTO LO_EL_ZTIP_QUOTA.

LO_EL_ZTIP_QUOTA->GET_STATIC_ATTRIBUTES( IMPORTING STATIC_ATTRIBUTES = LS_ZTIP_QUOTA ).

LS_ZTIP_QUOTA-OTHER_ENABLED = ''.

ENDLOOP.

*----------------------------------------------------------------------

CLEAR LT_ZTIP_QUOTA.

DATA LT_ZTIP_QUOTA_TEM LIKE LT_ZTIP_QUOTA. DATA LT_ZTIP_QUOTA_MAIN LIKE LT_ZTIP_QUOTA.

*--------------------------------------------------------- SELECT *

INTO CORRESPONDING FIELDS OF TABLE LT_ZTIP_QUOTA_TEM FROM ZTIP_QUOTA

WHERE ZMATNR IN R_MATNR AND ZVENDOR IN R_VENDOR AND REGION IN R_PLANT

ORDER BY ZMATNR ASCENDING. *--

SELECT MC_NAME1 PARTNER

INTO CORRESPONDING FIELDS OF TABLE LT_VENDOR_INFO FROM BUT000

WHERE MC_NAME1 IN R_MC_NAME1. *--

SELECT A~SHORT_TEXT B~PRODUCT_ID

INTO CORRESPONDING FIELDS OF TABLE LT_MATERIAL_INFO FROM COMM_PRSHTEXT AS A INNER JOIN COMM_PRODUCT AS B ON A~PRODUCT_GUID = B~PRODUCT_GUID WHERE A~SHORT_TEXT IN R_SHORT_TEXT.

*--------------------------------------------------------- DATA LS_ZTIP_QUOTA_TEM LIKE LINE OF LT_ZTIP_QUOTA_TEM. DATA LS_VENDOR_INFO LIKE LINE OF LT_VENDOR_INFO.

LOOP AT LT_ZTIP_QUOTA_TEM INTO LS_ZTIP_QUOTA_TEM.

READ TABLE LT_VENDOR_INFO INTO LS_VENDOR_INFO WITH KEY PARTNER = LS_ZTIP_QUOTA_TEM-ZVENDOR.

LS_ZTIP_QUOTA_TEM-MC_NAME1 = LS_VENDOR_INFO-MC_NAME1.

IF LS_ZTIP_QUOTA_TEM-MC_NAME1 IS NOT INITIAL.

APPEND LS_ZTIP_QUOTA_TEM TO LT_ZTIP_QUOTA_MAIN.

ENDIF.

CLEAR LS_VENDOR_INFO.

ENDLOOP. *--

DATA LS_ZTIP_QUOTA_MAIN LIKE LINE OF LT_ZTIP_QUOTA_MAIN. DATA LS_MATERIAL_INFO LIKE LINE OF LT_MATERIAL_INFO.

LOOP AT LT_ZTIP_QUOTA_MAIN INTO LS_ZTIP_QUOTA_MAIN.

DATA MATNR TYPE CHAR40.

*--------将物料编号转换为40位--------------

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING

INPUT = LS_ZTIP_QUOTA_MAIN-ZMATNR IMPORTING

OUTPUT = MATNR.

*--------end将物料编号转换为40位-----------

READ TABLE LT_MATERIAL_INFO INTO LS_MATERIAL_INFO WITH KEY PRODUCT_ID = MATNR.

LS_ZTIP_QUOTA_MAIN-SHORT_TEXT = LS_MATERIAL_INFO-SHORT_TEXT.

IF LS_ZTIP_QUOTA_MAIN-SHORT_TEXT IS NOT INITIAL.

APPEND LS_ZTIP_QUOTA_MAIN TO LT_ZTIP_QUOTA.

ENDIF.

CLEAR LS_MATERIAL_INFO.

ENDLOOP.

*--------------------------------------------------------------------------------------------------

* navigate from to via lead selection LO_ND_ZTIP_QUOTA = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ZTIP_QUOTA ).

* @TODO handle non existant child * IF lo_nd_ztip_quota IS INITIAL. * ENDIF.

* * @TODO compute values * * e.g. call a model function *

LO_ND_ZTIP_QUOTA->BIND_TABLE( NEW_ITEMS = LT_ZTIP_QUOTA SET_INITIAL_ELEMENTS = ABAP_TRUE ).

ENDMETHOD.

新增:

DATA LO_ND_ZTIP_QUOTA TYPE REF TO IF_WD_CONTEXT_NODE.

DATA LT_ZTIP_QUOTA TYPE WD_THIS->ELEMENTS_ZTIP_QUOTA.

* navigate from to via lead selection LO_ND_ZTIP_QUOTA = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ZTIP_QUOTA ).

* @TODO handle non existant child21 * IF lo_nd_ztip_quota IS INITIAL. * ENDIF.

*--------------------------------------------------------------------------------------

LO_ND_ZTIP_QUOTA->GET_STATIC_ATTRIBUTES_TABLE( IMPORTING TABLE = LT_ZTIP_QUOTA ).

DATA LS_ZTIP_QUOTA LIKE LINE OF LT_ZTIP_QUOTA.

DATA CURRENT_DATE TYPE ZTIP_QUOTA-ZCHANGEAT.

CURRENT_DATE = SY-DATUM.

LS_ZTIP_QUOTA-ZCHANGEAT = CURRENT_DATE.

*-----------使得当前增加的数据可编辑且insert或者append到内表中-------------------------------

LS_ZTIP_QUOTA-OTHER_ENABLED = 'X'.

APPEND LS_ZTIP_QUOTA TO LT_ZTIP_QUOTA.

* INSERT ls_ztip_quota into lt_ztip_quota INDEX 1.

*-----------------------------------------------------------------------------------------

* navigate from to via lead selection LO_ND_ZTIP_QUOTA = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_ZTIP_QUOTA ).

* @TODO handle non existant child

* IF lo_nd_ztip_quota IS INITIAL. * ENDIF.

* * @TODO compute values * * e.g. call a model function *

LO_ND_ZTIP_QUOTA->BIND_TABLE( NEW_ITEMS = LT_ZTIP_QUOTA SET_INITIAL_ELEMENTS = ABAP_TRUE ).

本文来源:https://www.bwwdw.com/article/3s1d.html

Top