我的網誌清單

20130411

BASIS-21 SHD0

 

1.SHD0用途

clip_image002

在SAP的報表類程式,可以設定VARIANT,降低user的key資料的loading;但是交易類的程式就沒有這個功能,不過因為交易時為了怕user誤改資料或是日期導致有問題,所以sap就出了transaction variant這支程式

SHD0分成standard/transaction/screen variant這三個tag;主要是transaction/screen variant這二個

2. standard variants

clip_image004

standard variants會分二個tag,一個是針對哪個variant group下的USER生效或是只要run這個TCODE就生效(即standard variants)

這個動作相對於transaction/screen variant不是必要的;因為有時會另綁一個tcode給這個transaction variant然后權限再由那個新tcode控制

clip_image006

若不論是誰只要執行這個tcode就用這個transaction variant,就需要設定在standard variants下的standard variants,並且要按activate

3.transaction variant

clip_image008

若在variant group 有給名字的話,系統一樣會預設給transaction variant 一個名字。一個tcode可以給很多個transaction variant,而一個transaction variant 也可以有多個scrren variant

這個畫面另有一個功能是在指定的tcode下從transaction vairant的角度出發查出有哪些screen variant與其對應

先給名字后(1),再去新增(2),就可以開始設定,后面的範例會有step by step貼圖

4.screen variant

clip_image010

在前一step的transaction variant的設定步驟中,會設定到screen variant

這個畫面的目地是在指定的tcode下從screen variant 的角度出發,去查出有哪些transaction variant與其對應

所以承3/4二點,transaction/screen variant對sap而言都是個別的物件,因此若要刪除是要各自刪除,而不是刪掉transaction variant系統就會自動刪除screen variant的

5.刪除transaction 及screen variant

clip_image012

如先前所述transaction 及screen variant都各是一個物件,以及他們有對應關係;所以刪除前需先將對應關係拿掉后,才可以各自刪除,執行方式如左圖所示(記得要按步驟3的存檔)

clip_image014

刪完transaction 及screen variant的link關係后,這時才可以刪除transaction variant

clip_image016

刪完transaction variant后,就再刪除screen variant

clip_image018

不管刪transaction variant或是screen variant系統最后都會告訴你刪除成功了

6.範例

6.1 隱藏va02 menu bar上的delete功能

clip_image020

這個部份亦可以用權限管控的功能做掉,即用pfcg

clip_image022

這個範例將不會用到variant group,所以畫面從transaction variant開始

先給定transaction variant 名字后,再到上方的按下create

clip_image024

此時系統就會跳到你指定的tcode下做操作設定,此例是用va02

clip_image026

找一張單子讓系統帶出資料來,此時就會開始設定畫面

Copy seetings是指要將本畫面上資料帶到等會的設定畫面上去,而don't display screen是指這個screen不要出現在后面的設定選項中,若這個不是你想設定的地方則按下綠勾往下走

clip_image028

按下綠勾后,會如同操作va02般往下執行,一樣按下enter后,就又會出現設定屬性的畫面

clip_image030

因為本例是要將menu bar上的delete deactivate掉,所以在這個屬性設定上,我們需要check copy seetings,然后按下menu funcation去將delete deactivate掉

clip_image032

若相關屬性的設定完成后,就不需要按綠勾往下設定;而是按下exit & save

clip_image034

此時系統就會跳到真正的設定畫面,而這個畫面上的資料,就是你上面幾個step中copy settings而來的,若沒有特定要改或設定的就按下存檔

clip_image036

系統就會問你是要放到哪個自行開發的pkg中,本例因為不產生CR,所以我就指到到local即可

clip_image038

存檔后,會自動存transaction/screen variant,也就是說這個畫面會將transaction variant及screen variant串在一齊

clip_image040

可以檢查一下transaction/screen variant是否和前幾step設定的是否相同,並可以按f8做測試執行

6.2隱藏vf01的billing date

clip_image042

因為SAP的操作上有很多日期欄位,為了怕user不小心誤觸,所以將billing date 隱藏掉

clip_image044

這個例子從建立variant group開始;基本上這個step非必要的

clip_image046

因為有建variant group系統會預設給定transaction variant 的名字

按下create

clip_image048

因為這個例子是一進入vf01的畫面,就要隱藏billing date,所以一開始就要check settings,並save & exit

clip_image050

相關屬性設定的再次確認

clip_image052

存檔后再回到shd0主畫面,記得要去assign user及set proposal,這樣才會對這些指定的user生效

clip_image054

可以用se93或是用如右的方式,綁一個新tcode給這個transaction variant

clip_image056

要選transaction with vairant

clip_image058

若有多個transaction variant可以指定要用哪個;存檔后就可以使用新tocde了

6.3 mm01產業別下拉選單鎖定某值

clip_image060

因為SAP是支援跨國及不同產業的軟體,所以在建物料主檔時,可以依產業特性做一些調整,但若集團中不會有其他的物料型態或是為了怕user誤選,就可利用此功能將其下拉選單值給鎖定某值;本例是鎖定M機械工程

本例將不建standard variant下的任何資料

clip_image062

進入shd0后,輸入相關參數后,按下建立

clip_image064

此時就會進入mm01的畫面,再按一次enter后,系統就會進入屬性設定畫面

因為一開始的屬性設定就是我們要設定的,所以要勾copy settings,並將要鎖定的值勾成with content及output only

建議short text要取一個自己易懂的名字,而且最好加入screen no

設定完成后按下save & exit

clip_image066

此時就會來到transaction variant 和 screen variant link的畫面,也就是說若前述sterp中只要有勾copy settings的畫面都會統整到這個step來

建議將transaction variant設一個易懂的名字

clip_image068

存檔后會跑出要綁CR的畫面,請依需求設定;因為本例將不傳cr,所以是放local

clip_image070

存檔完成后,按回到上一頁,去測試執行看看是否設定無誤,若沒有問題就大功告成了

沒有留言:

張貼留言