顯示具有 PM 標籤的文章。 顯示所有文章
顯示具有 PM 標籤的文章。 顯示所有文章

2010年10月12日

IE01自動寫入asset值

友人提問:在IE01要如何能自動帶入asset的值


在IDES找了一下,發現有個EXIT_SAPMIEQ0_001很有機會,但是沒有提供asset的field,所以動手用append structure加一下fields




二個structure都要加,下圖只show一個


加完之後,建立一個asset 


之後加入code



UPDATE_DATA_EZ-BUKRS = '0001'.
UPDATE_FLAGS_EZ-BUKRS = 'X'.
UPDATE_DATA_EZ-ANLNR = '000000020000'.
UPDATE_FLAGS_EZ-ANLNR = 'X'.
UPDATE_DATA_EZ-ANLUN = '0000'.
UPDATE_FLAGS_EZ-ANLUN = 'X'.


CMOD就略過,直接建立IE01


測試自動給值,所以直接保存


asset已寫入

2010年9月21日

設備(IE01/IE02/IE03)客製欄位及BAPI處理

友人提問:設備(IE01/IE02/IE03)的客製欄位如何用BAPI處理?


新增客製欄位就用IDES練習

1 找到設備的table EQUI SAP有預留一個customer include CI_EQUI,直接在這個structure做append structure,命名ZAEQUI
新增一個field ZZMATNR


2 在CMOD新增一個Project,Assignment Enhancement ITOB0001,使用第一個screen exit


3 新增一個function group ZEQUI並建立screen 0100,將新增field 放入screen layout,記得要選Subscreen。(PBO/PAi處理略)



4 在Function exit EXIT_SAPLITO0_001及EXIT_SAPLITO0_002寫入適當code(略)

5 進IE01/IE02/IE03看看結果


6 以上是新增screen exit顯示customer include field,接下來是重點使用bapi,進入BAPI browser找到BAPI_EQUI_CREATE,怎麼找也找不到有CI_EQUI的interface


7 只好改為copy bapi的方式,先找到BAPI_EQUI_CREATE的function group ITOB_BAPI_EQ,直接copy整個function group及
BAPI_EQUI_CREATE,名字前面加個Z

8 發現code DATA: L_ITOB_REC LIKE ITOB,ITOB當中就有CI_EQUI,二話不說馬上修改,在import新增I_CI_EQUI LIKE CI_EQUI,並在CALL FUNCTION 'EQUIPMENT_SAVE'  之前將I_CI_EQUI寫入L_ITOB_REC


L_ITOB_REC-ZZMATNR = I_CI_EQUI-ZZMATNR.


9 經過測試,以上的方法是可行的