2016/10/3

Enable SAPB1 SSO


How to Enable SAPB1 SSO

Willie
2016/10/03

SAPB1 v9.2


Step 1 Service Manager > License Manager > Configure Security




Step 2 System Landscape Directory > Security & Logging > Enable Single Sign On





Result 

   

Please remember bind user's AD acount in User Setting




~ Thank you ~

2016/8/26

Veeam 9 restore 異機還原

Veeam 異機還原

Author: Willie
Date:2016/08/26

-------

今天用了Veeam 9將Hyper-V主機 A 上的機器還原至 B地 ,以下簡稱 HOST-A, HOST-B為二部Hyper-V主機。同時也保有了UUID 一致性及Downtime最小的目的。且看下面的操作步驟。


準備動作
    
    先做好備份。這裡的範例是以 HOST-A上的 RA-VM-SECOM為範例




STEP 1

   開始步驟前,我們已經由HOST-B操作備份 HOST-A上的VM: RA-SECOM,然後直接開始選取 HOST-B >> Restore 出現如下視窗,選取Entire VM.


STEP 2

   接著   ADD VM >> From Backup

STEP 3

   接著   Select 來源Source 為 RA-VM-SECOM

STEP 4

   接著出現如下畫面按下 Next

STEP 5

   接著   Select 來源Restore to new location, or with different settings

STEP 6

   接著 記得切換Host為Host B. 這個步驟是還原指定的HOST

STEP 7

   接著 出現還原的檔案位址及目的位址,如欲更改位置必須先在Hype-V的設定改變Virtural Machine及 Virtual Disk的位址



STEP 8

   接著   Select 網路,設定 Not Connected 表示選擇稍後再設定網路。



STEP 9

   因為要保留UUID一致性以利VM的設定與HOST-A完全一致,Veeam提供了保留原機ID的選項,這讓我們移機的作業更保持穩定,因為 UUID一變動將會影響硬體甚致原生安裝軟體的一致性;最明顯的例子就是如果利用產生新ID則將要重新變更網卡設定。
 
   因此,在這裡我們選擇Preserve virtual machine ID



STEP 9

   接著按下 Finish


STEP 9

   開始執行Restore


STEP 10

   Restore 完成,你可以在Host-B 的 Hyper-V上找到 RA-SECOM


相關的影片紀錄如下



2016/8/23

Jasper- Set Date Picker

Jasper Date Picker Setting

Date: 2016/08/23
Author:Willie

---------

 紀錄一下在設定Jasper的參數時使用Date Picker 如何實作


 STEP 1 

登入Web , 選擇某支報表按下 Edit


STEP 2

選擇 Controls 7 Resources 裡的 Input Controls 的參數,如本例是選擇  `SADate`





















STEP 3
選擇Single Value 一直下一步到 Set Dataype ,選擇Date 便可以產生如下結果



























Others

如果想要帶入預設值是今日,則在Jasper Studio 裡指定一下預設值 TODAY(),
如此就會如上圖在開啟時有預設的日期值


~ THANK YOU , THE END ~

2016/6/6

免費的報表工具 - Jasper Report 報表平台工具

Jasper Report 的動心起念

Author: Willie Chou

-----------------------

最近導入了Jasper Report 做為本司的一個報表平台工具,做為與ERP系統搭配的Report平台,取代了ERP原生系統的Report 工具,更彈性的快速達成用戶需求。此平台是我用過這類產品的第三套工具,我認為優點大於缺點,以下是我預計撰文的結構。



  • Jasper 介紹
  • 使用目的
  • Server 安裝
  • Client 安裝
  • 我的第一支Jasper Report
  • 結論

相關文章:
Jasper Date Picker Link
Jasper Server site email 設定 Link
Asp.net MVC call Jasper report via REST v2 service  Link


2016/06/06  此文至此只有第(1)篇,請再靜待我準備好素材後再更新,感謝
2016/08/23  新增 Date Picker 設定
2016/12/27  新增一篇 Email 設定
2016/12/30 新增一篇利用Jasper Rest v2 service call report

2016/6/2

Skype MSI installer

Skype MSI installer

Author: willie
Date:2016/06/02

-------

一般來說利用AD GPO的軟體安裝套用需利用.msi 的檔案進行deploy.
常遇見的是有些軟體只提供.exe 的安裝檔,然而,Skype很好心的提供了官方的msi 安裝檔案

http://www.skype.com/go/getskype-msi

目前Skype 版本 7.24



如此,MIS就不用煩惱該如何部署Skype給AD users了。

~ Thank You ~

2016/5/12

SyncToy Setting

Free File sync tool : SyncToy + Schedule 設定
Author: Willie
Date: 2016/05/12
---------

SyncToy 版本 2.1
快速的Memo一下,以利未來要用時的參考!

本次目的是為了要將shippingmark 以http的方式共享,透過使用者的上傳到某資料夾後安排5分鐘同步到網站目錄shippingmark

Step1. Create IIS folder



Step2. 設定好同步資料夾 
設定屬性:單向 (Echo)
檔案屬性:*.jpg; *.gif
不含系統檔案
不含子目錄



Step3.安排排程
利用Server原生的排程工具設定每5分鐘排程一次




完畢 ! Thank you

2016/4/14

SAPB1 Get Working Day Difference 計算工作日

SAPB1 Get Working Day Difference 計算工作日

Author : Willie
Date: 2016/04/14
----------------------------------------------------------------------

由於工作上要用到計算SAPB1裡的工作日以推估交期,因此做了底下的Function
利用傳入二個參數(啟始日,結束日) 來回傳工作天數。

結果加下圖,有正向及反向的輸入會呈現正數/負數的回傳值。
整個程式的大方向是利用DateDiff計算日期區間的天數後再跑迴圈逐一判斷是否為假日,
最後的回傳值利用DateDiff結果+-假日天數。

其中引用了Will 保哥的SQL技巧來設計此Function。





1:  CREATE FUNCTION [dbo].[My_GetWorkingDayDiff_F]  
2:  (  
3:      -- Add the parameters for the function here  
4:     @p_StartDate datetime,  
5:     @p_EndDate datetime  
6:  )  
7:  RETURNS int  
8:  /************************************************************  
9:  * 程式名稱: My_GetWorkingDayDiff_F  
10:  * 報表名稱:  
11:  * 目  的: 判斷 B1年度假日和周末, 回傳工作天  
12:  * 作  者: Willie  
13:  * 撰寫日期: 2016/04/13  
14:  * 參數說明: @p_StartDate=起始日期, @p_EndDate=結束日期  
15:  * 回  傳: Days (int)  
16:   SELECT dbo.[RA_GetWorkingDayDiff_F]('2015-04-29', '2014-05-03') --輸入日期, 也可以用getdate()  
17:   (4/29~5/2 Labor Day, RA Office is closed)  
18:  ************************************************************/  
19:  AS  
20:  BEGIN  
21:      -- Declare the return variable here  
22:      declare @intCount int, @intDayOff int,@resultDay int ----計算指日期指標  
23:      declare @date datetime ---- 計算中日期  
24:      Declare @DayDiff int;  
25:      Declare @flagPositive BIT;  
26:      -- --------------------------------------------------  
27:      -- Init  
28:      SET @DayDiff = DATEDIFF(day,@p_StartDate,@p_EndDate);  
29:      SET @flagPositive = 1;  
30:      IF @DayDiff < 0  
31:    SET @flagPositive = 0;  
32:      IF @p_EndDate < @p_StartDate  
33:    set @date = @p_EndDate  
34:      ELSE  
35:    set @date = @p_StartDate  
36:     SET @intCount = 0;    
37:     SET @intDayOff = 0;  
38:     -- --------------------------------------------------  
39:      WHILE ( @intCount <ABS(@DayDiff) AND @p_StartDate<>@p_EndDate )-------------- loop begin  
40:      BEGIN  
41:    SET @date = DATEADD(DAY, 1, @date) ---- @p_StartDate 開始日期  
42:    --Is Weekend  
43:    IF (DATEDIFF( DAY, '17530101', @date )% 7/5 ) = 1 -- If begin  
44:     SET @intDayOff = @intDayOff+1  
45:    ELSE  
46:    BEGIN  
47:     -- 取得SAPB1裡的假日設定  
48:     IF ( SELECT COUNT(EndDate)  
49:      FROM HLD1  
50:      WHERE HldCode = YEAR(@date)  
51:      AND (CAST(@date As datetime) BETWEEN StrDate AND EndDate) ) >= 1  
52:     BEGIN  
53:     SET @intDayOff = @intDayOff+1  
54:     END  
55:    END  
56:    -- endif  
57:    set @intCount = @intCount+1  
58:       END -------------- loop end  
59:       If @flagPositive =1  
60:    SET @resultDay = ( @DayDiff - @intDayOff );  
61:    ELSE  
62:    SET @resultDay = ( @DayDiff +@intDayOff );  
63:   -------------------------------------------------   
64:   RETURN @resultDay;  
65:  END  

~ Thank You ~

Update:
2017/01/03 修正第51行,當>= 1時即為在SAP上設定的假日

Reference:
[1]  Will 保哥, 如何用簡單的 SQL 技巧取得特定日期是否為週末假日 http://blog.miniasp.com/post/2009/01/20/How-to-use-simple-T-SQL-to-get-weekend-status-in-date.aspx