如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2004年12月29日

Lotus Script and Java 對照

Lotus Script and Java 對照
Fred Wang(http://fmwang.blogspot.com)
2004/12/29

1. Lotus Script function第一個字母為大寫而Java function第一個字母為小寫, 例如: 在Lotus Script的GetDatabase, 在Java中就變成getDatabase
2. Lotus Script取得NoteDocument欄位可以直接用 doc.fieldname(0), 而Java要用doc.getItemValueString(“fieldname”) or doc.getItemValueInteger(“fieldname”) or doc.getItemValueDouble(“fieldname”)
3. 若欄位有多重值, 在Lotus Script中, 只要用doc.fieldname(n), 抓第一個值用0, 但在Java則要用Vector來存取, 如, Vector vFields = doc.getItemValue(fieldname)
4. 抓取物件的屬性值在Lotus Script可以直接用屬性名稱抓取, 如db.title, 而Java則要用getter method, 如getTitle()
5. 在Java中使用到的Notes物件, 若不再使用時要用recycle()來回收記憶體, 如doc.recycle()
6. 物件是否不存在的判斷, 在Lotus Script用object Is Nothing, 在Java用object = null
7. If Statement :
在Lotus Script用 :
if … then

elseif… then

else …
end if,
在Java用 :
if(..)

else if(…)

else …;
8. For Statement : 在Lotus Script用 For(I = 1 to 10) … Next I, 在Java用for(i=1;1<=10;i++) {…}
9. While Statement : 在Lotus Script用 Whlie (found=true) … Wend, 在Java用 while(found==true) { ... }
10. Do loop Statement : 在Lotus Script用Do … Loop Whlie(found=true), 在Java用do { … } while(found==true)
11. Select/Switch Statement :
在Lotus Script用 :
Select Case variable
Case value1 : statement1
Case value2 : statement2
Case Else : statement3
End Select
在Java用
switch(variable) {
case value1 : statement1;break;
case value2 : statement2;break;
default: statement3;
}

SAP程式中設定Logical Database Selection Screen輸入參數的初始值

試看看下面的方法

先由該欄位的Technical Information(System-->Status), 找到Parameter ID
然後在程式的Initialization段加入SET PARAMETER, 如下例 :
SET PARAMETER ID 'POP' FIELD '01'.
SET PARAMETER ID 'POT' FIELD '1'.

Set/Get parameter ID
A field can be filled with proposed values from SAP memory using a parameter ID.
說明:
. SAP透過Set/Get parameter ID 來將變數存放在SAP memory內, 程式間或兩個transactions可透過這種方式來傳遞資料
. 本例中Planning Version的Parameter ID為POP, Object Type的Parameter ID為POT, 因此在您的程式的Initialization 內可以試著用Set parameter ID來設定Logical Database Selection Screen的初始值也就是程式與Logical Database "PCH" (SAPDBPCH)間透過SAP Memory內的Parameters傳遞資料
Fred Wang (http://fmwang.blogspot.com) 2004/09/07

網路文件的慣用禮節

除了下面網路上找到的慣用禮節外, 還整理出下面幾點:
1.文件易讀原則
. 不要完全用英文大寫字母書寫
. 引用來函應力求精簡, 用 > 表示引文, 省略的來函部分用 '...'表示
2. 對收信者的禮貌
. 開頭敬辭, 如Dear...
. 不要忘記結尾敬辭, 如 Greetings, Thank You, Sincerely, Best Regards,...的基本禮貌
3. 48小時的原則
. 網路上不成文規定, 如果對來信感興趣應該在48小時內回覆, 若對方信上寫 Please reply by return, 通常表示希望在數小時到24小時內回信
4. 不要隨便將他人的信件傳給第三者
. 若經允許傳送, 也要標明出處
. 若要傳給(forward)他人應該將原信的收件人及副本抄送等不相關者的e-mail address 清除
(內容摘自 "E-mail 英文高手"一書)

電子郵件,LISTSERV 討論群,Mailing List 以及 Usenet 的禮節 ( from http://infotrip.ncl.edu.tw/law/etiquette.html )
1. 儘可能長話短說並直指重點。
2. 每一封信儘可能針對一個主題。
3. 電子郵件可輕易地轉給他人,因此對別人意見的評論必須謹慎而客觀。
4. 註明所有引述與參考資料的來源。
5. 每一行長度不宜過長,並避免參雜控制字元。
6. 遵守逐級反應的原則。例如:不可用電子郵件直接向「上頭」抱怨。
7. 不可使用學術網路作商業用途。
8. 在電子郵件的末尾應附上姓名、單位、職稱與 Internet/BITNET地址,且儘可能不要超過四行,如果您願意的話,尚可附上住址與電話號碼。
9. 使用大寫字母來強調重點或標題區別,亦可使用星號加在文字的前後 (例如:*Asterisk*)來強調語氣。
10. 將他人文章轉送至 mailing list 時,最好能註明文字的出處,並說明獲得方法。
11. 未經允許逕將他人私人信函轉送至 mailing list 或 Usenet 是非常不禮貌的行為。
12. 若想要幽默一下,則必須特別小心。缺乏面對面的溝通,您的笑話可能會被認為是一種諷刺。
13. 尊重智慧財產權。
14. 引述他人的話時,刪除其他無關的文字。
15. 下列縮寫與「肢體語言」有時蠻有用的:
IMHO ﹦In My Humble/Honest Opinion  
FYI ﹦For Your Information  
BTW ﹦By The Way  
Flame ﹦antagonistic criticism  
:-) ﹦happy face for humor  
:-( ﹦unhappy

書籍及技術推薦 - Web application and java struts

如果您對開發Web Application或Java struts framework有興趣, 下面是近來閱讀的書籍及技術推薦給您:

Books:
James Goodwill, Richard Hightower, "Professional Jakarta Struts", Wrox Press
推薦理由 : 清晰易懂, Chapter 14的完整的範例寫的不錯

Martin Fowler, etc., "Refactoring : Improving The Design of Existing Code", Addison Wesley 或其中譯本
侯捷/熊節 譯, "重構 - 改善既有程式的設計", 碁峰
推薦理由 : 這類提昇個人Programming程度及素養的書, 看越多越好, 何況是大師級的人物寫的
這本書提出72種安全的改造程式的方法, 告訴我們如何用安全的步驟改善各種程式結構不良的狀況
如熊節的序內提到, '重構已經變成我的另一種生活方式', '變成整個團隊的空氣與水'
我想這些方法應該成為一個程式設計員必備的常識

Platform and Technolgoies :
. Eclipse :
http://www.eclipse.org 強力推薦使用(It's free.)
推薦理由 : 開放, 免費, 可擴充性, 平台整合, 自動測試與'重構'等功能
(SAP Java Workbench前身也是eclipse)

. Eclipse Plug-in : 有許多eclipse plug-in linkages
- Eclipse plugins: http://eclipse-plugins.2y.net/eclipse/plugins.jsp
- Eclipse plug-in Center : http://www.eclipseplugincentral.com/
- Eclipse workbench.com : http://www.eclipse-workbench.com/jsp/plugins.jsp
推薦理由 : 不管是struts, jsp, php, c, ruby, phythn...或XML, javascript,的editors及 Version Control 等等的plugin
都找的到, 這麼多免費的編輯工具, 程式產生器提供給我們, 似乎用Notepad or ultraeditor編寫程式, 是很傻的事

. Easy-struts plug-in : 使用後您會發現原來開發Struts這麼容易!
- http://easystruts.sourceforge.net/index.html
- reference article: please see attachment -
推薦理由 : 相信嗎, 一個簡單的步驟就自動同時產生jsp, form bean and action programs
各數十行的程式含註解, 而且同時struts-config.xml也自動設定好了

Sincerely,
Fred Wang(王富民) 2004/05/19

補數基本觀念 : 為何3的補數是-4

作者: Fred F.M. Wang 原作日期 : 2004/12/9 修訂 : 2011/11/4

下面是一個計算機概論的問題

請問一個bitwise的問題
~3 = -4
3= 0011 (應該是32 bit)
~3=1100 (前面補於28個11)
答案是-4
可是為什麼只算到3 位(100=4),而其它的是signed符號用呢
-------------------------------------------------------------------------------------
電腦中的負數不是這麼算的。。。。。用八個位元來作說明的話。。。。。
1111 1111表示 -1,為什麼1111 1111表示-1,您加1的話就變成0000 0000,就符合了-1+1 = 0。
要換算的話,您知道首位元1表示負數,而數字的話是1111 1111取補數再加1,也就是0000 0001,也就是1,所以1111 1111換算過來是-1。
所以1111 1110表示-2,首位元1表示負數,數字的話就是1111 1110取補數再加1,也就是0000 0010,也就是2,所以1111 1110換算過來是-2。
1111 1100不是說取三個數來表示4,首位元1表示負數,而1111 1100取補數再加1,也就是0000 0100,也就是4,所以1111 1100換算過來是-4。
-------------------------------------------------------------------------------------
以上摘自www.jsptw.com


原來我們都忘記負數的二進位表示法

實際上是這樣子的
-1 : 1111 1111 不是 1000 0001
-2 : 1111 1110 不是 1000 0010
-3 : 1111 1101 不是 1000 0011
-4 : 1111 1100 不是 1000 0100
...

可以整理出下面的結論 :
1. 負數二進位經過反置再加一,就是其相反數(正數)的二進位數。
     例如 : 1111 1110 --> 0000 0010
2. 正數二進位經過反置再加一,就是其相反數(負數)的二進位數。
     例如 : 0000 0010 --> 1111 1110
3. 因此,一個數(不管正負數)的補數為其相反數減一
     例如 : 4的補數為-5,  -4的補數為 -(-4)-1 = 3

2004年12月28日

Struts Tips 將Application分割成不同子系統的方法

使用狀況
系統由多人開發, 必須個別在不同的目錄開發並設定不同的Struts configuration file, Struts 1.1可以在web.xml中為ActionServlet設定不同的參數已定義不同子系統的路徑與configuration files

步驟 :
1. 在Web Application下建立新的目錄, ex: admin/ 用來包含系統的administrative functionality
2. Copy所有的JSP and View components到此目錄
3. 建立新的struts configuration file, ex: struts-config-admin.xml, 並放在Web Application的 WEB-INF/ 目錄內
4. 在新的configuration file中一些resources檔案要加上module的子目錄名稱, ex : global-forward原指到userAdmin.jsp, 要改為 /admin/userAdmin.jsp
5. 修改web.xml, 加入Servlet 新的參數(init-param), ex: param-name : config/admin, param-value : /WEB-INF/struts-config-admini.xml

子系統就可以用新的URL進入, ex : http://domain–name/webapp/admin/index.jsp

Jakarta Struts Service Cycle



註 :
* Request Processor : 類似Servlet Filter, 可以在每個request被ActionServlet處理前進行預先的處理或過濾, 可以用來做encoding, signon checking and logging
步驟 :
1.建立一個class extends org.apache.struts.action.RequestProcessor
2.建立空的constructor
3.實作processPreprocess() method
4.放到Web Application 下的目錄
5.在struts-config.xml中定義 : controller processorClass="..."

* PlugIn : 由於Action class並無法覆寫servlet的init() and destory() methods, Struts提供Plugin可以實作此兩個methods, 通常可以利用Plugins進行resource allocating, preparing connections to database or JNDI resources.
步驟 :
1.建立一個class extends org.apache.struts.action.Plugin
2.建立空的constructor
3.實作init() and destory() method
4.放到Web Application 下的目錄
5.在struts-config.xml中定義 : plug-in className="..."

----------------------------------------------------------------
Author : Fred Wang (http:\\fredwang.blogspot.com)

2004年12月27日

製造業產銷資訊系統流程

Struts Tip : 使用DispatchAction來組織相關的作業

使用狀況
有時系統會有大量且小的actions, 最好是將這些actions同類的集中(Grouping)到同一個class內, 適用的狀況如下 :
Grouping的原則 :
1.當一些actions都與某個use case相關
2.當一些actions都與相同的session façade溝通
3.當一些actions都與某些domain objects相關, 如CRUD operations (Create, Read, Update and Delete), 例如online store’s add/edit/delete/listing of products
4.當一些actions都在相同的JSP pages操作

優點 :
1.大量減少所需維護classes的數量
2.由於這些actions有一些類似的作業, 可以建立helper methods, 提供這些actions共用, 因此可於這些actions封裝在同一個class內

程式設計步驟 :
1.建立action handler class (extends DispatchAction)
2.建立代表每一個action的method (標準的Action class只有一個execute(..)代表一種action)
Example code:<略>
3.在Struts-config.xml為此action handler建立action mapping, 用”parameter” 屬性指定JSP要傳來的參數名稱, 此參數則是儲存著將要呼叫的method name
Example code:<略>
4.在JSP中設定一個欄位記錄傳回的method name (用按鈕指定或選單選定)
Example code:<略>
5.撰寫ActionForm bean, 並在struts-config.xml中註冊

----------------------------------------------------------------
2004/12/27 by Fred Wang (fmwang.blogspot.com)

2004年12月18日

企業資訊管理概要

資訊管理系統能賺錢嗎
• Fishmonger.com 為企業開闢了一個電子市場
– 讓魚類的運輸過程更快速、更新鮮且有更好的價格。
– 三週後,Fishmonger.com 成交了五個海鮮拍賣總計 $400,000 美金。
• Mitsubishi Digital Electronics America : deployed electronic-commerce (e-commerce) and order management self-service functionality to its channel partners
– Reduced call center volume 10 %- 40 %.

• Dell online
– Internet sales over $13m per day (annual $4.7Bn)
– Over 20 million web site visits per quarter
– Over 8,500 customized web sites for large accounts
– Web sites for 36 countries in 18 languages
– Significant use of tech support tools
• 40k emails per month
• 140k files downloaded per week
• 100k order status enquiries per week

• 某工業公司導入物料管理系統
– 首次列印出呆料資訊, 發現有大批老舊馬達,處理後一次就節省幾百萬
• 某機械場導入材料庫存及採購系統
– 半年後每月採購金額降低三百萬, 而業績反而成長
• 某化工廠建立資材管理系統
– 原材料庫存為銷售額2.2倍, 降至1倍, 每月減少資金積壓一億元
• 榮成紙業 ERP 系統導入
– 在 2002 年初 ERP 系統正式完成上線時,該公司六個廠(台灣五廠加上大陸無錫廠區)每月結帳需要花到十三天來完成,然而到了年中時,作業時間已縮短為二天,也就是每月三十日關帳,到次月二日即可結算完成
• 某食品公司開發應收帳款系統
– 原逾期貨款三千多萬, 降至幾十萬


Internet的非商業活動
• 免費服務
– 免費下載 (含ftp sites), 免費軟體, Open Sources
– 免費網頁空間,免費郵件信箱, 免費相簿空間, 個人網誌(Blog)
– 共同寫作網站(spawn), 共同軟體開發(Open Sources),
• 目錄與搜尋服務
• 社群 : BBS, 論壇, Gopher(x), Newsgroup, mailing list
• 娛樂 : 線上遊戲, 線上下棋
• P2P (Peer to Peer)網路檔案交換
• 網際網路電話(skype)
• 政府服務
– 公告, 招標, 報稅, 民意信箱, 火車訂位, ….
• 教育單位, 研究單位, 公益單位….等

Internet的商業活動
• B2C :
– 網路購物,網路下單
– 企業網站(行銷及服務), 郵件行銷, 網路廣告, adware(x)
– 電子通路, 專業零件目錄服務, 網路商城
• C2C : 網路拍賣, BBS
• B2B :
– Extranet網站, ftp, EDI, B2Bi, CPC(協同產品商務)
– eMarketplace(電子交易市集)
• ISP
– 網際網路服務, 主機代管, 磁碟空間出租
– 加值網路業, 金資中心
• 企業內 :
– VPN, Employee Portal

企業電腦化的效益
• 建立制度與強化管理
– 建立統一的管理制度
– 建立標準的業務流程
– 提昇管理能力 (管理報表, Workflow, EIS, DSS)
• 控制企業生產及管理成本
– 節省人力, 減少耗損, 降低庫存, 提高資源運用, 縮短作業時間 (ERP, SCM, PLM…)
– 提高資料處理的準確性與速度
• 提高產品及服務品質
• 建企業知識管理以創造價值
– KM, DW, EIS, DSS, DataMining
• 創造新的銷售, 行銷與服務的管道
– B2B, B2C, CRM, Corporate Web Site, Portal, CPC

企業如何推動 e化
• 明確的目標
– 專案目標, 預期效益(ROI), 專案成功的定義
• 高層主管的承諾與支持
– 由上而下的推動
– 預算及資源投入的允諾
• 制度化與流程改善優先
• 營運單位的積極參與
• 完整的專案規劃
– 專案組織, 時程, 投入的資源, 招商, 顧問及外包管理等
• 有效的執行
• 持續的教育訓練及變更管理

MIS的組織
不同MIS的組織定位
• 特定單位下設資訊人員
• MIS部門隸屬特定單位, 如財務中心或管理中心
• 讀立的資訊技術中心或電腦中心直屬總經理
• CIO(資訊總裁)的設立

如何進入MIS的領域
• MIS人員入門的資格
– 資訊相關科系or
– 資策會等教育訓練機構or
– 認證考試or
– 興趣與投入
• MIS人員應具備的特質
– 不斷追求專業能力的提昇and
– 良好的服務心態and
– 團隊合作的能力and
– 負責盡職的態度

2004年12月17日

[筆記]網站設計實務-網頁設計的核心議題

網站設計實務-網頁設計的核心議題
Fred Wang 2002/04
參考書籍
• 1. Tomas A. Powell, “Web Design設計實務—徹底研究”
• 2. Jakob Nielsen, Marie Tahir, “Homepage完全解構—50個知名網站設計詳析”
Agenda
• 什麼是網站設計
• 網站設計流程
• 使用者介面設計

什麼是網站設計
Homepage常見的角色
• 雜誌封面
• 對世界展現的面貌
• 藝術品
• 會客廳
• 接待人員或服務人員
• 書本的目錄
• 報紙頭版
• 小手冊

手冊網站與介紹網站
評論
• 使用大量的圖檔及Flash動畫造成下載時間過長
• 目的在給客戶良好的第一印象
– 雖然創造第一印象是吸引使用者的重要因素, 但不方便需要時常, 多次使用的客戶

技術優先網站
評論
• 技術導向的網站提供友善極多樣化的指引, 這是一個好網站的必要因素, 但過多的輔助工具會造成介面混亂
• 往往使用最新的的Java applet, plug-in, DHTML, XML or CSS格式, 造成瀏覽器的限制, 無法廣泛使用於不同瀏覽器的使用者網站的範圍

網站設計重要信條
• 你不是使用者:直接詢問使用者
• 使用者不是設計者:使用者會有不切實際的期望與需求,他們不會考慮到反應時間,記憶體等
• 針對一般使用者設計,但將差異列入考慮:無法同時滿足一般及特殊的使用者,確定網站的使用對象的種類及比例
• 同時考慮實用性與可用性:實用性(Utility)是符合使用者需求的功能,可用性(Usability)是使用者操作網站功能的能力
• 執行必須接近零缺點: 不要有無法使用的link及“404:Not Found”訊息
• 瞭解並重視web and Internet的媒體限制: 瞭解network, server and protocol; browser, bandwidth到programming技術及演進
• 遵守GUI的原則: 例如藍色及畫底線是可以click的
• 導覽以讓使用者快速找到資料為目的: 成功的網站需要持續提供有價值的資訊及有效的導覽工具, 如search engine, site map, index…, 但是不要過於複雜
• 外觀可能影響使用者對網站價值的首次觀感甚至信任: please see next page
• 對網站最後印象受視覺外觀,內容,技術,可用性及是否成功達成目標的影響:Why Gopher,bbs漸為Web取代
• 以產品及服務本身的獨特性來建立品牌,而非發明獨特的網站介面
– 使用者不是去欣賞您站上的按鈕形狀,顏色或動作的
• 沒有一定的設計適用於每種網站
– 科技網站不同於娛樂網站: please see next 3 page, 選對您的方向
• 控制權應該盡量給予使用者
– personalization的趨勢


網站設計流程
Problem Definition and Concept Exploration
• 設定清楚的目標:訂出可測量的目標
– 如:建立一個客戶支援網站,並藉由提供全天候的FAQ來增進客戶的滿意度,且減少25%的電話支援
– 加上期望的訪客數
• 設定特定的用戶群及特定的一組任務
• 腦力激盪
– 發展一份願望清單來涵蓋網站內所有的想法,再根據用戶群的需求納入,以縮小目標
• 對每一用戶群指定百分比,在評估時加權,以比例設計

Requirement Analysis/Specification
• 簡短的目標陳述
• 詳細的目標討論
– 包含可測定的目標已檢查網站的效益
• 用戶群討論
– 用戶特性及他們會在網站上完成的功能
• 使用場景討論
– 不同使用者造訪的各種Scenarios包含如何進入,瀏覽到離開
• 內容需求
– 需求規格表,含所需的文字,影像及媒體清單
• 技術需求
– 根據使用者的能力提供HTML,Javascript, Java,Plug-in等
• 視覺需求:草圖,應提供使用者在螢幕大小,頻寬等限制提供指標
• 傳送需求:網站使用量及網頁大小提供Server及頻寬需求的分析
• 網站結構圖:將不同的場景組織成網站結構圖
• 網站的組成 :規劃執行網站所需的資源,以工時計算, 應包含內容,技術,視覺設計及管理的資源
• 時間表
• 預算

Design Prototyping
• 紙上或螢幕區塊圖:
– 由首頁到子網頁, 由上而下方式進行, see next 4 page
– 依需求規格描繪出網頁內各種區塊內的按鈕, 頁首及特徵, 並寫明提示文字
– 不要急於用程式實做, 經過使用者看過後, 此prototype 隨時可能修改
– frontpage, dreamweaver 是不錯的數位雛形工具

Implementation and Unit Test
• 模擬網站(alpha website)
– 將構圖分成各部分以HTML,CSS來組合網頁
– 此時先不要放入內容,讓使用者試用看看是否容易使用
– 互動性網頁用假的結果來模擬
– 儘量使用template
• Beta Site實作
– 放置真實內容, 後端元件及互動式元素實作及與前端整合

Integration and System Test
• 測試除了視覺外觀正確外還包含內容,功能及用途
• 視覺及接受度測試:
– 用不同的browser及解析度(網站需求規劃時就已經確定使用的browser)
– 與使用者接近的環境來測試,
– 列印出來效果如何,
– 每個網頁版面設計,顏色及形式是否一致
• 功能測試
– 測試所有的連結是否正確
– 測試所有的互動元素,如form, shopping cart,用明顯的錯誤狀況來測試是否會造成故障
• 內容檢驗:
– 內容的時效性(是否及時更新),正確性
– 拼字是否正確(印出來逐字檢查)
– 內容是否合法,合乎公司規定
– 文字使用的一致性
• 傳送測試
– 以測試軟體模擬遠端使用者實際使用的狀況, 及尖峰時段使用的情況

Release, Operation and Maintenance
• 持續觀察網站的運作:以維持網站的運作及可用性
– 運用監控系統及即時警報系統
• 開發是持續的過程:規劃,設計,實作,測試,發行,規劃…
• 內容需持續維護,更新
• 網站應適時調整
– 根據業務,行銷等需求
– 根據客戶需求,客戶習慣改變,客戶群改變
– 根據使用人數的增加
• 不要輕易更改網站結構:因為有些使用者會直接使用此網站的某網頁作為連結
• 互動式網頁更新應慎重:因為有些使用者會直接運用此頁面作為業務流程的一部份(B2B)

使用者介面設計
可用性
• 可用性取決於存取網站的使用者
– 使用者的背景是甚麼?
– 使用者每天必須依賴的網站與只拜訪一次的不同
• 可用性取決於使用的媒體
– 一般電腦,PDA..,會需要列印?
– 需線上瀏覽不要用太小的字型
• 可用性和使用者滿意度有直接關係
– 使用者會因該公司的品牌而信任其網站
• 防止或修正錯誤
– 提供選擇以避免輸入錯誤
– 檢查使用者的輸入,使其知道錯在哪裡,及可能的解決方法
• 誰是使用者
– 是人在使用網站而不是browser,不要為特定瀏覽器及頻寬設計

視覺
• 避免使用色調接近的文字,圖形和背景:如深藍色背景與淺藍的文字
• 避免結合飽和度相似的文字,圖形和背景:如玫瑰色背景與灰藍色的文字
• 避免使用亮度差不多的文字,圖形和背景:如淡黃色背景與淺藍色的文字
• 避免使用太過熱鬧的背景圖案
• 讓用來區分項目的顏色其中兩種以上的屬性有很大的差異,如色調及亮度

記憶
• 保持不同網頁的操作介面一致性
– 使用者只要學一次就可以
– 使用者不會花時間去學習你的網站,除非能得到甚麼報酬:Don’t let them think!
• 顯示所有的選項:使用過程不要隱藏選單項目
– 不要強迫使用者去記憶,記憶是困難的
• 別假設使用者會閱讀操作指南
– 請確保他們不需接受訓練或需文件才能使用功能
• 拜訪過與為拜訪的連結色彩不要相同
• 製作視覺與其他網站不同的首頁
• 有組織的方式將連結選項分組,如用字母排列
• 連結選項的群組限制在五至九項

處理刺激(stimulus) - Threshold
• 網站上文字,連結,圖形,動畫等,都會產生各種刺激,人們過濾這些資料的三種基本方式: Threshold, Cocktail-party effect, Sensory adaptation
• 臨界值(threshold)
– 若網頁上的元素是不同的, 應該讓使用者容易看得出差異
– 心理狀況不佳時, 造成辨識差異的能力降低

處理刺激(stimulus) – Cocktail-party effect
盡量將網站及網頁簡化
– 簡單性讓使用者更容易瞭解網站
– 看看統計日誌來決定哪些網頁不需要
– 試著將內容區分, 讓使用者專注在他們感興趣的部分
– 類似的項目放在同一組以空白區隔
– 文字上以引號或背景色將重要的部分凸顯
– 限制網頁上的干擾, 將版面上雜亂的東西移除, 使它們在不會在視覺上彼此競爭, 如太吵雜的雞尾酒會

處理刺激(stimulus) – Sensory adaptation
適當並謹慎的使用驚喜
– 使用者習慣於web上某些廣告,就不會再注意它因此若要吸引使用者注意,必須常常做變化
– 但過度的變化會打擾使用者,他們可能因厭煩而離開
– 大幅更改操作習慣也會產生挫折感

回應與反應時間
• 重點放在速度上
– 首次使用者會對網頁下載的等待叫有耐心,但是其他的使用者就不會(人對新奇的事物有好奇心)
– 使用者所能等待的時間與所得的代價成正比
– 有經濟價值的廣告,標誌及技術不可因為可用性而移除
– 10秒是使用者集中注意在網頁的上限值
• 提供回應
– 網頁下載超過30秒應提供回應,如下載時間的進度指示
– 如過有錯誤要提供清楚的訊息
• 影像檔用alt來顯示檔案意義及大小
• 利用使用者思考的時間下載(preloading), 可產生近乎不可思議的速度
– 根據使用者使用紀錄,preload下一個會瀏覽的網頁

移動能力

• 將鍵盤存取做最佳化:
– 有人會喜歡用鍵盤在網頁上的項目移動間
• 按鈕越小,距離愈遠執行動作要花更長的時間 (費茲定律)
– 連續選擇的選項應該靠在一起, 減少滑鼠移動的距離
– Browser上的“上一頁”(back)是最常用的按鈕, 主要的導覽按鈕應與它距離最小
– 可按的區域要夠大, 且按鈕間適當的間隔, 使用者可以很快的移動過去, 且正確的按到

使用者的世界
• 將網站帶入使用者的世界,而不是相反
• 將使用者可能上網的環境考慮進去
– 辦公室: 一般的電腦, 速度快
– 會議室等非辦公區域:PDA,Cell phone or notebook, 速度及品質可能較差, 以顯示為主
– 家中:一般的電腦, 速度不一定
– 運輸工具上: PDA,Cell phone or notebook 速度及品質較差, 以顯示為主, 不容易集中注意力
– 室外: PDA,Cell phone 速度及品質較差, 以顯示任務導向的重要資訊為主

使用者的一般類型
• 網站應建立新手,進階者及高階使用者均能適用的介面
– 有些人喜歡用site map有些人喜歡用搜尋引擎
• 若無法建立適用所有人的介面那就針對進階者(或常用者)來設計
• 盡量遵循Web and GUI常用的慣例
– 使用者會帶著真實世界, 軟體, 及其他網站上的使用經驗來到您的網站: 請不要偏離那些有很多用戶的網站如Amazon,Yahoo) 所建立的介面慣例, 看下頁
– 你的客戶群常上的專業網站,AMD,Intel,TI.. 也參考看看

Web慣例
• 左上角的標誌表示回到首頁
• 文字導覽連結會在網頁底部重複
• 較長的網頁上會使用一個連結回到頂端
• 提供大量列印內容的網頁上會使用特殊的列印表單(常稱之為“友善列印”)
– 內容是精簡過的HTML or PDF格式
– 可以按的項目是藍色且畫底線
– 不可按的內容及圖案盡量避免使用藍色
• 次要的導覽元素如sitemap或搜尋應與主要導覽分開呈現

可存取性(accessibility)原則
• 別忘了您的使用者可能有不同性別,年齡,文化,也要注意某些人有聽障,視障等,因此您的網站應該避免特定使用者操作受限:
– 無法使用滑鼠:mobile phone,肢障者
– 無法聽到語音訊息:聽障,嘈雜的環境,無音效設備
– 無法辨別顏色:黑白螢幕,視障
– 只能顯示文字,螢幕太小,或連線太慢等狀況

經營電子商務網站-學學Las Vegas
• 實施賭城式的網站設計,提供使用者一個充滿額外好處和無限制選擇的幻覺,但要時時嚴格地控制住情況

2004年12月15日

SAP EP 如何執行R/3 Transactions之二

實際操作一下建立SAP Transaction iView發現它是透過SAP GUI執行Transaction的, 這種方式就不是透過Jco, 而是透過client端的SAP GUI而SAP GUI有三種: SAP GUI for windows, SAP GUI for HTML, SAP GUI for Java (後兩種我沒用過)

看了下面建立SAP Transaction iView的建立步驟, 就大略知道是怎麼一回事了
------------------------------------------------------
在EP的Content Administration
左方選單選Portal Content --> My content --> iView --> Backend, 選tab "New iView"

Step 1: Template Selection
Select a template:
. Database JDBC iView
. Proxy-to-Remote iView
. SAP BSP iView
. SAP BW Report iView
. SAP Connector iView
. SAP IAC iView
. SAP MiniApp iView
. SAP Transaction iVew
. SAP Web Dynpro iVew
Select SAP Transaction iView and Press [Next]

Step 2:General Properties
Entry iView Name, iView ID, iView ID prefix
then press [Next]

Step 3: Selection of Application Variant
Select a GUI type :
. SAP GUI for HTML
. SAP GUI for Windows
. SAP GUI for Java
Select "SAP GUI for windows" then Press [Next]

Step 4: Application Parameter
Select System id
and Entry Transaction Code
then Press [Next]

Step 5: Summary
Display above setting
then press [Finish]

SAP EP 如何執行R/3 Transactions

SAP EP的Portal Content大致區分為四元件 :
. Data Sources
. Channels
. iView
. Web components

其中直接與執行R/3 Transactions有關的是iView

iView區分四類:
1. .Net iView
2. Java iView
3. External Services
4. Master iView

其中Master iView Java API可以讓 R/3 transactions, R/3 reports, BW reports, Internet and intranet sites(URLs)等
在EP上執行

Master iViews就是用SAP Portals Kava Development Kit, 簡稱PDK來開發的, 而PDK就包含JCO, 或叫用JCO

PDK提供的Services如下 :
1. HTML business for Java (HTMLB), 提供一組功能不錯的tags, 如 chart, table vuew, tree等
2. I18n : 就是多國語言支援
3. Portal Data Viewer(PDV): 將XML, JDBC query的資料以表格方式顯示
4. Logger : 紀錄統計用
5. Jco : 略
6. User Management : 抓取user mapping資料
7. Enterprise Portal Clinet Framework(EPCF) : iView 與client的事件控制(event)

所以EP 含--> iView(Master iView) 含--> PDK 含--> Jco 叫--> R/3 Transaction 大概就是醬子!

但是PDK執行R/3 transaction就要研究Master iView的程式碼
應該不是單純的Jco呼叫RFC, 待後續深入研究

2004年12月14日

資訊管理範疇(MIS Scope)

IT管理
- IT服務管理
- IT需求管理
- IT專案管理
- 企業資訊安全管理
- IT外包管理
基礎建設管理
- 網路基礎建設與管理
- 網路安全管理
- 機房管理
- 伺服器管理
- 儲存管理
辦公室自動化(OA)
- 個人電腦管理與問題處理
- 電腦軟硬體設備資產管理
- 帳號管理
- 郵件系統管理
- 簽核系統, 工作流程管理
系統管理
- 資料庫管理
- 應用系統管理
- DRP(Diaster Recovery Plan)
知識管理
- 智慧財產管理
- 專案文件管理
- 標準規範管理
- e-Learning
企業資源管理
- 會計, 財務管理
- 物料管理
- 人力資源管理
- 行政資源管理
- 產品資訊管理
供應鏈管理
- 需求管理(預測與需求計劃)
- 採購及外包管理
- 生產計畫與管理
製造管理
- 生產排程
- 製造自動化(CIM)
- 製造與工程資訊系統(MES, EDS)
- 品質資訊系統(QIS)
- 倉儲自動化及管理
研發管理
- 研發專案管理
- 協同設計
客戶關係管理
- 銷售及出貨與退貨管理系統
- 銷售自動化與管理(SFA)
- 行銷資訊管理,行銷情報系統, 通路管理
- 服務管理, Call Center, Customer Portal
- 電子商務, B2B, B2C, EDI
- 企業網站
BI & EIS
- 資料倉儲
- OLAP
- EIS, DSS

2004年12月13日

[筆記]軟體品質指標

Software Quality Factors

By McCall
Product Operation
1. Correctness: program滿足規格的程度
2. Reliability:特定時間特定環境下執行program失敗的機率
= ( MTTF/ (MTTF+MTTR) ) * 100% (MTTF:mean time ti failure, MTTR: mean
time to repair) (1987 Musa)
3. Efficiency:執行程式所需的資源及code的數量
4. Integrity:管制非法使用軟體或資料的程度
5. Usability: 學習如何使用系統, 準備資料與了解輸出報表等所需付出的代價(成本)
Product Modificaton
1. Maintainability: program發成錯誤後. 要找出錯誤, 所需付出的代價(成本)
2. Flexibility: 修改已在使用的程式所付出的代價
3. Testability:為了測試程式正確無誤所需花費的代價
Product Transformation
1. Portability:program在不同的軟體/硬體間轉換所需的代價
2. Reusability:program or part of program可在其他系統重複使用的程度
3. Interoperability: 整合兩個不同的系統所付出的代價

2004年12月9日

[筆記]建立以Struts為Framework的Web Application的步驟

準備事項

下載Struts, 並解壓縮
根據Web Application Server的規定,建立web application的目錄結構
- (Tomcat) (Server root)/webapps/(application name)/..
將Struts解壓縮後的所有的jar檔複製到lib目錄
- (Server root)/webapps/(application name)/WEB-INF/lib
建立web.xml
- (Server root)/webapps/(application name)/WEB-INF/
建立struts-config.xml (後面會詳細設定)
- (Server root)/webapps/(application name)/WEB-INF/

基本步驟

1.建立Views (JSP with Struts Tags)
2.建立Views內使用要的ActionForms (java)
3.建立Action Classes (java)
4.定義Views與Action Classes間的關係 (struts-config.xml)
5.修改web.xml
6. Deploy and Run

網路上知識收集的方式

2004.12.09 - Fred Wang  (2011/10/24修訂)

人對知識有幾種層次 :
1. 您不知道您知道多少
2. 您知道您知道多少
3. 您知道您不知道多少

看來蠻繞舌的, 確實如此, 開始不知道自己懂多少, 有些人自以為很懂, 有些人就不懂裝懂
然後, 知道自己懂多少的, 但還不知道自己不懂多少, 可能有人就會賣弄小知識
最後發現自己原來還有許多不知道的, 了解學問的淵博, 就更為謙遜

中國就有許多諺語描述這種狀況

我在網路上知識收集的方式
1. Search Engine : Google, Yahoo
2. Directory service : Yahoo, PCHome
3. 訂閱電子報 ex. TechRepublic
4. 訂閱RSS

專業網站
1. 專業知識公司 : SUN, IBM, ....
2. 專業知識社群,論壇 : SAP Taiwan 論壇,程式設計俱樂部

3. 特訂學校與研究機構網站

其他, 尋找其他資源
1. Ftp sites
2. 專業下載網站
3. Open Source 專案網站
...

好手或高手? 不管甚麼手, 就是不要眼高手低

好手或高手? 不管甚麼手, 就是不要眼高手低 - 談技術人才求職

Fred Wang / 2004.12.09

所謂好手或高手不管甚麼手, 就是不要眼高手低
技術工作需要一步一步建立起自己的實力

面試時技術的會多少就說多少,誠實與誠意, 積極與好學的態度, 謙虛與良好的EQ等等, 都會令面試的主管對您有好印象

事實上, 多數公司希望找的人除了技術能力外, 能夠團隊合作最重要了, 在NBA沒有見過單靠明星球員, 沒有一些好的控球, 助攻及籃板等苦力球員,而可以拿到冠軍的

以前導入SAP時, 來一些Fly in的Level 3 consultants, 卻啥都沒做成, 因為態度與溝通的問題很大!

ERP導入不同產業的實務經驗, 可能是比證照更值錢的, 就像以前在學校,最會寫程式的往往不是學業成績最好的, 考過一堆證照的也不表示,就能順利完成每個案子

2004年12月8日

SAP範例程式介紹之一 : Interactive List


作者 Fred Wang 日期:2004/12/08

學習互動式的報表程式, 建議看看下面的範例程式及它们使用的功能模組, 對您撰寫報表程式的能力及生產力將有所幫助
1. BALVSD06 : Output flights (simple version + save)

這是這一系列範例最簡單的, 建議以此入門
使用的Function Modules :REUSE_ALV_LIST_DISPLAY
此功能模組很重要, 用來顯示simple interactive list, 可以看此功能模組的Online Documentation上面有輸出入參數的詳細說明, 瞭解後很有幫助

輸入參數 :
I_CALLBACK_PROGRAM : 程式名稱
I_STRUCTURE_NAME : internal table的資料結構, 欄位格式(field catalog, 含輸出欄位的名稱)都會參考自Data Dictionary的這個資料結構 (注意: 如果不是所有欄位都要輸出顯示, 或要自行定義欄位格式而不用Data Dictionary內的結構,則請參考其它的輸入參數設定)
I_SAVE : 是否要儲存variants, “A” : standard and user-specific saving
Tables :
T_OUTTAB :要輸出資料的internal table


2. BALVSD01 : Simple list flight model

使用的Function Modules :
 REUSE_ALV_VARIANT_DEFAULT_GET
 REUSE_ALV_EVENTS_GET
 REUSE_ALV_COMMENTARY_WRITE
 REUSE_ALV_VARIANT_F4
 REUSE_ALV_VARIANT_EXISTENCE
 REUSE_ALV_LIST_DISPLAY

3. BALVSD11 : Simple list with interactions and layouts

使用的Function Modules :
 REUSE_ALV_FIELDCATALOG_MERGE
 REUSE_ALV_LIST_DISPLAY

4. BALVHD01 : Hierarchical-sequential list flight model 顯示階層式的interactive list, 也就是Header – Item 兩階層的list

使用的Function Modules :
 REUSE_ALV_VARIANT_DEFAULT_GET
 REUSE_ALV_FIELDCATALOG_MERGE
 REUSE_ALV_EVENTS_GET
 REUSE_ALV_COMMENTARY_WRITE
 REUSE_ALV_VARIANT_F4
 REUSE_ALV_VARIANT_EXISTENCE
 REUSE_ALV_HIERSEQ_LIST_DISPLAY : 功能模組很重要, 用來顯示Hierarchical-sequential interactive list

5. BALVHD01_GROUP : Hierarchical-sequential list flight model

使用的Function Modules :
 REUSE_ALV_EVENTS_GET
 REUSE_ALV_HIERSEQ_LIST_DISPLAY

2004年12月7日

ABAP功能模組整理-背景處理的功能模組

背景處理的功能模組
FM名稱 : JOB_OPEN
FM用途說明: 某程式段設定為background執行
輸入參數: jobname = 工作名稱
輸出參數: jobcount = 工作編號
Tables : 無
自訂(add-on)程式碼 : (無)

FM名稱 : JOB_CLOSE
輸入參數:
jobcount = 工作編號
jobname = 工作名稱
strtimmed = 是否立即執行 ‘X’ 表示立即執行 (optional)
sdlstrtdt = 開始執行的日期(optional)
sdlstrttm = 開始執行的時間 (optional)
輸出參數: 無
Tables : 無
自訂(add-on)程式碼 : (無)

相關模組 :
GET_PRINT_PARAMETERS (輸入參數 Mode = ‘BATCH’)
SIMPLE_BATCH_JOB_SUBMIT

SAP Project System 介紹之七 : Information System


Information System for Optimal Project Analysis :
  •  Project status
  •  budget
  •  costs and revenues
  •  dates and structure
  •  capacities
  •  Project progress
  •  portfolio graphics
  •  milestone trend analysis
  •  earned value calculation
Capabilities of the Information System :
  •  報表與分析的定義簡單有彈性
  •  可針對不同的objects儲存不同標準分析的版本
  •  可轉換資料至外部分析工具作更多的分析

 相關內容

SAP Project System 介紹之六 : Project Views


組織間不同區域由其自己的結構及其對專案不同角度的看法

Sales
銷售者以客戶的角度看專案. 從銷售循環不同的階段, inquiry and quotation到sales order以至billing and delivery notes. 每個階段銷售部門皆可計劃及監控相關值, 日期及數量.
Inquiry > Quotation > Sales Order > Delivery note > Invoice

Connect External and Internal Sales Structures : 一張sales order的外部結構可以反映在專案系統的WBS and networks. 透過與sales system整合, R/3可以自動自WBS及networks取得成本,日期及收益, 並更新之, 以供銷售部門使用
R/3中你可使用sales order數量來計畫與監控material requirement and stock levels
總之, 系統可藉各別的銷售訂單進行MRP及inventory management

Manufacturing
製造階段Project System可許R/3的production planning and control system(PP)整合
藉配置planned orders and production orders給WBS elements or network activities, 你可從不同的角度來分析資料 :
 project view : 透過project hierarchy and network activities
 manufacturing view : 透過BOM及organizational structures in logistics, such as plants, work center hierarchies or production schedulers

Minimize Maintenance : 當allocate components及其BOM至WBS時可建立與MRP的連結以減少維護planned orders及production orders的工作

Manufacturing Planning Phases : 從rough-cut planning of network activities至fine tuning in production scheduling

Materials Management : R/3提供project manager view of materials與material manager of materials的連結


Tasks in Materials Management Related to Projects
  •  timely placement for preliminary orders for materials with long lead times
  •  processing if material requirements including dates
  •  monitoring of stock quantities related to project in inventory management
  •  calculation of costs and update of open item values

透過WBS elements及network activities中的material components與material management整合. 並可藉此與MRP, inventory management, purchasing建立連結

Task in materials management
  •  processing of inquiries and quotations
  •  pricing and selection of vendors
  •  purchase orders
  •  good receipts
  •  invoice verification
  •  inventory management

Finances
Planning : 可完全人工規劃project payments. purchase orders assigned to projects or a payment agreed with customer都包含付款相關訊息.系統可藉此導出預期付款.換言之, 系統將傳這些值至Cash management and Forecast system.

Cost Accounting

  相關內容

SAP Project System 介紹之五 : Project Execution


當專案released時即執行階段的開始
有些在專案之外執行, Purchase requisitions需交給採購部門執行, material reservations則由存貨管理單位建立與管理

Actual Values in the Project
許多因素造成規劃與實際值的差異, 如採購物品的價格改變,廠商未準時送貨, 等, 你必須輸入新的資訊以作為後續規劃工作的基礎

Completion Confirmations
  •  update capacity load of the work center
  •  record actual costs
  •  update network data (如剩餘的時間及工作)

Actual Dates
Actual Dates in WBS : 可輸入實際日期至個別的WBS element或從activities拷貝至相關的WBS element

Actual Dates in Networks :
Costs
實際成本與open items(funds commitments to meet future needs) 因專案的business transactions及feeder systems而提高, 在Project System中代表funds commitments的activities有:
  •  CO activity allocations/completion confirmations
  •  material issues
  •  deliveries
  •  external invoices
  •  purchase orders
  •  purchase requisitions
  •  material reservations
  •  non-specific manual funds commitments

Payments
Payments transactions with account assignments也記錄在專案中, 包括
  •  down payment requests
  •  down payments and down payment settlement
  •  payments in and out

Overheads
機器,房屋,物料,人員等的準備增加的經常開支(overheads)可以透過經開開支率(overhead rates)計算至plan and/or actual costs內. Overheads可計算在下列物件內:
  •  WBS elements
  •  networks
  •  activities in networks

User-Defined Overhead Profiles : 可以利用overhead profiles計算適當的overheads.
一個overhead profile包含下列的設定
  •  percentage overhead rates
  •  absolute overhead amounts
  •  fixed and/or variable proportions per overhead rate
  •  single-/multi-level overhead calculation
  •  credit object and cost element
  •  allocation cost element
  •  quantity-based overhead amounts

Overhead Simulation : 可以讓系統計算overheads但不需將它過帳至專案, 你可以在overheads時際發生前做更正. 可以online或background執行overhead計算
Order for the Project
Project System與其他的SAP components高度整合使你可以為專案建立一些orders, 這些orders可能是:
  •  Internal Orders : 用在cost accounting層次及performance analysis
  •  Maintenance orders : 用在規劃及監控維護工作
  •  Production orders : 用在製造物料或提供服務

Budget Availability Control

Configuring Availability Control : 可決定
  •  funds commitments與total budget核對或與annual budget核對
  •  那一個activities是availability control的主體, 如purchase orders or posting in cost accounting
  •  an percentage tolerance and/or an absolute tolerance是否應用在activity
  •  tolerance limits是否應用在預算的上下限
  •  若一個activity將到達或已超過tolerance limit, 會啟動什麼行動(action)

Availability Control Actions :
  •  產生警告
  •  產生警告並傳訊息給project manager, 通知那一個WBS element超過限制值
  •  產生錯誤訊息, 系統將拒絕過帳

Settlement
Settlement Logic : 專案完成後, 發生的成本要清算(settled), 可以將實際發生成本的全部或部份歸(settle)至一個或多個receivers (可為cost center, project, asset, G/L account, Business segment)

Settlement Rule : 包含settlement receivers, distribution of costs, and settlement type.
在WBS element master data中輸入

 相關內容

SAP Project System 介紹之四 : Budget



Budget Allocation
規畫階段完成, 專案被核准且建立預算. 在規劃階段你必須盡可能實際地估算成本, 在核可階段需以預算型式指定專案資金

Forms of Budget Allocation : 預算配置在WBS elements上, Project system提供兩種預算配置的型式:
  •  採用cost planning的值作為預算
  •  人工分配預算

預算分配採top-down原則, 你不須分配所有的預算至低層的WBS elements, 也不需切至個別的task, 你可以保留資金以供偶發事件所需.
你可以建立總預算或年度預算, 後者以會計年度為準.

Releases : 許多組織分配的預算與releasing funs並不相同, R/3 Project system中某WBS elements被release的資金不可超過相關的預算

Flexible Budget Update : 不可預知的事件,額外的需求, 價格的提高等原因而必須更改預算
  •  Supplements(追加) : 若目前的資金不足, 可以在project system建立追加預算(以top-down原則處理)
  •  Returns(歸還) : 可歸還多餘的資金(以bottom-up原則處理)
  •  Transfers(轉移) : 可以轉移一WBS elements的資金至另一個. 可以在同一專案內或不同專案間轉移

 相關內容


SAP Project System 介紹之三 : Planning


Dates

專案日期可以直接在WBS內輸入, 或透過network scheduling由系統計算出來
R/3分為下列型態的日期:
  •  Basic dates : 人工輸入WBS中, 在輸入時做檢查
  •  Forecast dates: 人工輸入期望的日期在network及WBS中
  •  Actual dates: 顯專案目前實際執行的日期
  •  Scheduled dates: 在networking scheduling of activities過程由系統計算產生的日期

Time Scheduling in the WBS

Planning Forms : 分為下面三種
  •  top-down planning : 從WBS elements最高層開始規劃日期
  •  bottom-up planning : 從WBS elements下層開始規劃日期, 在將其轉至上層的WBS elements
  •  free planning : 不分階層的規劃日期, 但仍可轉至上一層的WBS elements

Scheduling in Detail : 可在WBS elements下輸入activities. 並將activities的日期轉至WBS elements.

Scheduling of Networks

Scheduling計算network中activities的最早開始日期及最晚結束日期, 並計算需要的capacities及任何的floats(slack time between activities)

Planning with Different Calendars :
  •  新曆
  •  任意數目的工廠日曆
  •  work center特定的操作時間
  • Scheduling Types :
    •  forward scheduling
    •  backward scheduling
  •  current date : 檢查在特定日期能否完成計畫. 系統會以目前日期開始排程, 可指定結束日期. 可使用activity floats來決定將delay多少計劃完成日, 或剩下多少日期可以完成計畫
  •  若network的排程開始早於規劃的起始日期, 系統會自動減少lead time, 若仍然不足, 則會取今日為開始日並計算最早可能的結束日

Constraints : 你可以規定一個activity必須在一特定日期結束

Floats : the slack time between activities, 可藉此來調整activity的執行期間

Reduction : 若計算出的日期落在規定的開始與結束日期之外, 排程可用不同的縮減(reduction)策略來減少activity期間

Costs

Cost Planning在專案不同的階段有不同的目的:
  •  rough-cut planning : 用來計算專案預期會發生的成本
  •  approval : 用於預算的配置
  •  execution: monitor and control cost

Planning Forms : 可以規劃不同詳細程度的planning forms
  •  與cost elements無關的structure planning
  •  detailed planning by cost elements
  •  unit costing
  •  cost planning in the network

Structure Planning, Independent of Cost Elements
可以在計畫初期使用在WBS上的structure planning
可用top-down planning及bottom-up planning來規劃成本
或以下列方式:
  •  先規劃總成本, 再分配總值至專案的各階段
  •  亦可先定義每年的計劃值在合計總成本
  • Detailed Planning by Cost Element
  • Direct costs
    • 可以數量或價值來規劃直接成本. 在價值基礎上, 你可輸入每個cost element的規劃成本. 在數量基礎上你可輸入預期耗量及單價
  •  Activity input
    • 可以數量基礎來規劃成本under secondary cost element

Unit Costing

可以抓Cost Accounting, Purchasing及Material Management作為你規劃的成本
unit costing以數量為基礎, 輸入規劃的數量, 再由從不同的R/3 modules的Master data中決定價格

Cost Planning in Networks
  •  activity input
  •  internal activities
  •  direct costs
  •  external activities
  •  material
  •  general costs activities
Internal Activities :
External Activities : 例如設計一台機器的合約, 將使用採購系統來決定計畫成本
Material : material配置給一個activity方式分為:
  •  Stock material : 系統產生庫存物料的reservations, 存在material master records的價格用來計算計畫成本
  •  Non-stock material : 系統產生非庫存物料的PR.(purchase requisitions), 計畫成本透過purchasing system來計算
General Costs Activities : 你可使用General Costs activities人工輸入專案過程中產生的其它成本, 如:保險費,顧問費,專利使用費及旅費等

Planning Support in Cost Planning
  •  可使用拷貝功能產生新的project
  •  可以建立不同版本的計劃以找出較好的方法

Overheads

Revenues -You can plan revenues by cost element in WBS.

Statistical Allocation Bases 你可在WBS中規劃統計值, 如人數

Materials 規劃物料需求可與採購,存貨管理,MRP等模組整合
  •  當你分配一個stock material給一activity時系統會自動reserves需要量
  •  當你分配一個non-stock material給一activity時系統會自動建立一張PR. For需要量

Capacities
規劃activities內部處理所需的capacities時,你可以抓取work center中的capacity data
每一work center中可定義可用的capacity及計算capacity需求的特定公式
若一個activity需要很多人或不同的capacity需求, 你可以在activity elements中輸入附加的資料

Documents and Production Resources/Tools

Production/Resources/Tools(PRTs) : 此工具可被配置給internal and external activities, 可維護下面三類的PRTs:
  •  PRTs with a material record : 為一個stock item in inventory system
  •  PRTs with a document info. Record : 為R/3文件管理系統的一部份, 可以用來維護network activities中的文件
  •  PRTs with their own PRT master record : 亦可被配置給network activities

Document Management for WBS Elements : 某原始文件不儲存在R/3中, 仍能取存取, 例入在R/3中可透過CAD system顯示一個工程繪圖

Availability Checks

Materials : 在你release the network to production(正式執行)前, 可以進行配置到network的元件的material availability check
. 可在Customizing時決定是否及如何進行material availability check. 例如: 你可以指定只有on-hand inventory才checked或預計收到的也考慮在內.
. 可以將materials分組以使同組有相同的checking rule

Missing Parts Management : R/3提供完整的workflow從起初的短缺到收貨及更新backorders(因存貨不足無法滿足需求的訂單)

 相關內容


SAP Project System 介紹之二 : Master Data


Includes:
  •  project definition
  •  work breakdown structure
  •  network
  •  library network
  •  PS texts

Project Definition
Includes:
  •  mission statement
  •  與Project相關的Organizational data , 如: Controlling area, business area or profit center.
  •  settlement rule : 告訴系統如何設置(settle)個別的objects, 如networks (將activities, WBS elements settle to cost center, business area, accounting accounts)

Work Breakdown Structure(WBS)
: 專案中要執行的工作(tasks)之階層式模型
  •  WBS是專案中組織與整合的基礎
  •  WBS包含專案中的工作, 時間及成本

WBS Elements
: 可能包含activities, activity elements
Operative Indicator for Project Execution : 決定WBS element之性質, 主要區分:
  •  Planning elements : 用來規劃實際成本
  •  Assignment elements : 用來過成本帳(post costs)
  •  Billing elements : 用來過收益帳(post revenues)

Organizational Data : 可以指定不同的組織單位給WBS elements,如plants, business areas, 若不指定則使用project definition之定義
可以指定一些設備或functional location給WBS elements (for plant maintenance projects)
Accountability: 在WBS elements內可定義計畫的責任區(cost center)及負責人, 如project manager, requesting or responsible cost center, and controlling area.

User-defined Fields : 可在WBS elements中自訂欄位以符合公司的需求

Referencing the WBS : 當建立新的projects時可直接參考(拷貝)其它projects的WBS


Networks
透過network中的activities可以規劃專案的人員,能力(capacities),物料,生產資源/工具及服務需求

Activities : different types :
  •  internally processed activity(work) : 公司內需有足夠能力才可完成之工作
  •  externally processed activity : 建立與採購系統的連結以取得採購的資訊及價格與delivery time. 由此類activities系統會自動建立P.R.
  •  general costs activity : 發生在專案整個期間的成本, 不直接與特定的activity相關, 如旅費,保險費,顧問費及版稅,專利權使用費等

Activity elements : Activity再細分成細項.

User-Defined Fields

Relationships : 連接不同的activities, 區分如下:
  •  FS(finish-start) : 某activity的結束為下一activity的開始
  •  SS(start-start) : 某activity的開始為下一activity的開始
  •  FF(finish-finish) : 某activity的結束為下一activity的結束
  •  SF(start-finish) : 某activity的開始為下一activity的結束

Linking Networks Together : 可以跨Networks連結不同的activities
Linking Activities to WBS : 可以將Network activities指定給WBS elements, 透過WBS分析累計成本, 時程及能力(capacity)資料

相關文章 :

1.SAP Project System 介紹之一 : Overview
2.SAP Project System 介紹之二 : Master Data
3.SAP Project System 介紹之三 : Planning
4.SAP Project System 介紹之四 : Budget
5.SAP Project System 介紹之五 : Project Execution
6.SAP Project System 介紹之六 : Project Views
7.SAP Project System 介紹之七 : Information System

SAP Project System 介紹之一 : Overview


SAP PS可運用在下面的不同的專案 :
  •  研發專案
  •  訂單生產
  •  投資規劃
  •  資料處理

Structure
Work breakdown structure(WBS) and Network
可以個別使用也可以並行使用

Project Life Cycle

分三個階段:

1. Rough-Cut and Fine Planning
. 首先在WBS上做初部成本規劃, 再擴充至cost element planning or unit costing
. 可以在WBS輸入計畫日數並細分至每個activities, R/3會重新計算日期並決定critical activity
. 在Network結構可以規劃人員,物料,操作資源及服務等計劃所需
. Project System可藉以自動產生PR.(Purchase requisitions)及material reservation

2. Approval and Execution
Project可自動監視material, capacities及資金需求:
. Budget management
monitor approved and released project budgets
. Capacity planning
monitor capacity requirements
可藉此得知計劃的延遲及瓶頸.
. Material availability check

. Actual values
Postings, purchase orders, material movements, production orders or plant management orders可以指定給WBS element及network activities
. Revenues
可由SD system將sales order寫入Project system

3. Project Closing
. Result Analysis
可比較某特定日期的收益及實際成本, 自動將分析結果寫入利潤分析(CO)
, 同時建立適當的balance sheet 過至Accounting

. Settlement
將實際發生的成本分至(settle) cost center, a fixed asset, or an object in the financial statement

相關文章 :
1.SAP Project System 介紹之一 : Overview
2.SAP Project System 介紹之二 : Master Data
3.SAP Project System 介紹之三 : Planning
4.SAP Project System 介紹之四 : Budget
5.SAP Project System 介紹之五 : Project Execution
6.SAP Project System 介紹之六 : Project Views
7.SAP Project System 介紹之七 : Information System



2004年12月6日

SAP PLM 商業範本(流程)簡介

SAP PLM 商業範本(流程)簡介
1. (cProject) Project Leader 建立一個專案
選擇套用一種樣版(template)
2. (cProject) Project Leader 建立專案結構, 如phases, checklists and tasks
Project leader 建立角色(roles), 並指定角色的工作(tasks), 及指定角色給成員
專案成員可指定文件為專案元件, 並在cFolder建立一個Collaboration, 成員可以在cFolder中線上協同工作, 如協同設計
3. (cProject) Project Leader可以指定某個Task為某個Subproject, 而這個subproject可能為其它部門或外包廠商負責的專案
4. (cProject) Project Leader可以為專案元件建立物件連結, 可以連結至materials, purchase order items, inspection plans, work breakdown structures, networks, and so on.
5. (cProject) Project Leader進行計畫排程, 排定各階段及工作時程, 工作間的關連, 先後順序等
6. (cProject) Project Leader進行資源規劃, 指定適當且可用的資源給專案
7. (cProject) Peoject leader 連至SAP R/3開始計算資源的成本及收益
8. (SAP PS) 系統計算資源的成本及收益
9. (cProject) cProjects 將Project傳給SAP R/3 CO
10. (SAP CO) 系統產生一個internal order做為專案的成本收集器
11. (cProject) Proejct leader建立一個Snapshot(project version)來記錄專案狀態
12. (cProject) 專案成員為專案建立控制計畫(control plan)
13. (cProject) 專案成員為專案建立專案狀態報告
14. (R/3) 專案成員建立商業物件(in R/3)並指定給專案元件
15. (cProject) 專案成員建立文件並指定給專案元件, 可直接由Windows的檔案總管指定。
16. (cFolders) 專案成員進行協同設計
17. (cProject) 專案成員執行工作及checklist items並確認狀態, 是否完成。
18. (SAP PS) 專案成員定時確認專案進度(to project’s cost collector)
19. (cProject) 專案成員建立evaluations, 可以將專案輸出成CSV格式, 由MS Excel讀取
20. (SAP BW) 專案成員可以將專案上傳到SAP BW, 以建立跨專案的報告
21. (cProject) Project leader可以指定代理人
22. (cProject) Project leader進行operational project的模擬
23. (cProject) Project leader跟據模擬進行operational project的調整
24. (cProject) Project leader 進行簽核流程(approval process)
25. (SAP CO) 成本搜集器(cost collector)的定期結算
26. (cProject) 決策者進行階段的核可
27. 每個階段都已經核可, 則專案就完成
28. (cProject) Project leader將專案歸檔
29. (cProject) Project leader關閉成本搜集器(cost collector)並歸檔

Please see following flow (from help.sap.com)

Mini SAP 的介紹

Mini SAP 的介紹
MINISAP 是一套不含SAP應用模組(FI, CO, MM, SD, etc.)的基礎SAP系統. 它包含每個標準SAP R/3基礎功能(ABAP/4 Development Workbench, Data Transfer Workbench, Computer Center Management System - CCMS, etc.) 因此這是一套用來了解與訓練ABAP/4程式語言很好的工具.

它也是非常好的個人生產力工具, 例如你可以不需要在客戶的所在地為客戶開發程式, 可以在你家中的個人電腦學習SAP Basis and ABAP

如何取得MiniSAP :
1. 買這本書 : ABAP Objects: An introduction to Programming SAP Applications by Horst Keller, Sascha Kruger. SAP Press. 有附CDs
2. 買另一本書 : ABAP Objects Reference Book H. Keller, J. Jacobitz
3. 可以跟SAP公司買, 價格是25歐元

數位時代名詞整理

. RTS :
Request To Send. This is when the computer tells the modem that it wants to send information to the other computer. It is only used in half duplex mode.

. Blog : Weblog的簡稱(省略we) 即網上日誌

. Wiki : wiki-wiki 是夏威夷語裡「快(quick)」的意思。wiki 是一種簡單快速以提供「共同創作(collaborative)」環境的社群網站

. Spawn : 為小型出版者,藝術家,作家的共同發表作品的網路環境, 請見 Spawn.org上的解釋

. AstroTurf : 請見 Wikipedia上的解釋

. RSS
RSS (Really Simple Syndication) 是一種用來分發和匯集網頁內容 (例如新聞標題) 的 XML 格式。
透過 RSS 的使用,供應網頁內容的人可以很容易地產生並傳播新聞鏈結、標題和摘要等資料。其他包括 CNet News.com 和 Christian Science Monitor 等網站也在使用 RSS 對更廣泛的讀者派送網頁內容。許多Blog網站提供RSS的格式, 現在Yahoo!奇摩新聞也有提供請見http://tw.news.yahoo.com/rss/, 個人可以下載RSS reader定時讀取新聞

. Atom : A simple way to read and write information on the web, allowing you to easily keep track of more sites in less time, and to seamlessly share your words and ideas by publishing to the web. 請見 Atomenabled.org

. PayPal
PayPal is the world's largest online payment service. PayPal makes sending money as easy as sending email! Any PayPal member can instantly and securely send money to anyone in the U.S. with an email address. PayPal can also be used on a web-enabled cell phone. In the future, PayPal will be available to use on web-enabled pagers and other handheld devices.

2004年12月3日

SAP Where與Index間最佳化的運作

吃掉SAP Performance第一名的元兇就是ABAP程式中select .. where的where後加的判斷欄位不是table的索引
例如 : select * from xxxx where f1 = "abc" and f2 = "def"
...
其中database table並沒有key為f1+f2的index

那麼Where與Index間最佳化的運作是怎樣?

1. 第一當然是為大量存與常用的select..where建立index, 但是每個database table不可以超過五個indexes,而且這些index的key也不應該包含過多的欄位
2. Where後的邏輯判斷最好使用等式及AND的組合,例如 where f1="abc" and f2 = "def", 而f1+f2就是某個index的key
3. Where後的邏輯判斷最若使用<>或NOT, 則即使判斷欄位為index的key, 也不支援索引的搜尋
4. Where後的邏輯判斷使用索引的部份的key,則where後的判斷欄位應該以索引的key
s的順序排列, 例如索引的key為f1+f2+f3,則用 where f1="abc" and f2 = "def"是正確的
5.若有or與and混合用於where中,則or應該在邏輯判斷的較高層
例如 : where (carrid='LH' and cityfrom='frankfurt') or
(carrid='LH' and cityfrom='new york')
比下面的句子好
where carrid='LH' and
(cityfrom='frankfurt' or cityfrom='new york')
6.where中對索引欄位的邏輯判斷不要用is null

另外,如果secondary index的key非唯一(unique)則該key可以抓到的值不要超過table的5% (否則效果不好)

您若能遵循上面原則,則您的程式就不會成為SAP Performace的殺手

ABAP功能模組整理-存取視窗剪貼簿(Clipboard)的資料的功能模組

存取視窗剪貼簿(Clipboard)的資料的功能模組
1.FM名稱: CLPB_IMPORT
2.FM用途說明: Import table DATA_TAB from the Window-System-Clipboard (從視窗剪貼簿抓資料存入internal table
3.輸入參數: (略)
4.輸出參數:(略)
5.Tables: DATA_TAB
6.範例程式/自訂(add-on)程式碼: GRCLPB_1, RSOLETT1
---------------------------------------------------
1.FM名稱: CLPB_EXPORT
2.FM用途說明: Export table DATA_TAB to the Window-System-Clipboard (將internal table的資料存到從視窗剪貼簿)
3.輸入參數: (略)
4.輸出參數:(略)
5.Tables: DATA_TAB
6.範例程式/自訂(add-on)程式碼: GRCLPB_1, RSOLETT1

網站行銷及提升網站在搜尋引擎的排名的方法

A. 進行一些網站行銷的動作, 及提升網站在搜尋引擎的排名, 讓用SAP or ERP等字眼至搜尋引擎搜尋均可很快的找到本站, 下面簡單分十法(不見得適用於所有的搜尋引擎)
1.提高外部鏈結: 到處找別的站列入友情連結
2.多至提供目錄服務的網站登錄,如Open Directory : 註冊到相關而且排名最好的類別, 註冊時慎選關鍵詞
3.改善網頁設計, 提高網頁內關鍵字密度: HTML中的TITLE (tag)、META(tag)的Keywords區段、Description區段, ALT...但是關鍵詞不要重複得太過份, 會被Robot抓到
4. 購買網路廣告, 如Google
5. 付費提高自己在搜索結果中的排名,某些搜尋引擎
6. 對搜索結果多點擊自己的網站, 滿累的, 找工讀生做好了, 一些黑心公司提供的搜尋引擎最佳化,還是少用為妙。
7. 至各個搜尋引擎註冊, 外面有中介服務的公司以有這類服務
8. 製作Sitemap, 讓搜尋引擎容易找到各類的內頁
9. 網頁內容經常更新, 要努力經營內容才行
10. 花錢叫中介服務的公司統包, $$$$$ 反正花錢通常是最直接有效的

B.這些都做了, 為何訪客還少, 那麼主要還是內容不夠豐富的問題,或不夠專業, 這可能要多找些專家, 各Module的專家主筆, 寫些有價值的文章.

2004年12月2日

SAP PP 淨需求計算及動態安全庫存計算(覆蓋範圍設定檔)

作者 : Fred F.M.  原作日期: 2000/10/19
在此貢獻一個個人使用SAP PP Module的筆記的一個主題 : 淨需求計算及動態安全庫存計算(覆蓋範圍設定檔)
希望SAP PP的先進們能共襄盛舉

單元一:淨需求計算

總需求 = 毛需求 + 預留存貨(reservation)
可用庫存數 = 存貨數 + 預計到貨數
淨需求 = 總需求 - 可用庫存數

其中毛需求分獨立性及相依性兩種需求, 有六種來源:
1.Make to order型態, 客戶訂單屬獨立性需求
2.Make to stock型態, 產品的市場預測
3.Make to assembly型態, 兼含客戶訂單及預測
4.外部的獨立性需求: 如服務性的零件, 它廠的轉倉需求, 或工程上做實驗或維護的零件
5.相依性需求的零組件, 由上階需求經MPS乘上BOM的用料數量, 逐階展開計算而得
6.安全庫存

決定需求的要素:
1.物料主檔的MRP 3 view 中的策略群組
2.物料主檔的MRP 1 view 中的MRP類型
3.在物料主檔的MRP 2 view 中的淨需求計算中的安全庫存及覆蓋範圍設定檔


單元二: 動態安全庫存計算(覆蓋範圍設定檔)
在物料主檔的MRP 2 view 中的淨需求計算中的安全庫存為固定安全庫存, 而覆蓋範圍設定檔屬於動態安全庫存, 將隨每日平均需求而變動, 共可分為短, 中, 長期三個區間設定不同覆蓋範圍.
覆蓋範圍表示某期間應涵蓋幾日的需求, 以減少採購的頻率, 同時避免不必要的庫存.

覆蓋範圍設定檔在SAP Configuration 設定, 包含內容有

a. 期間指示碼: M:月, W:週

b. 確認平均每日需求:
b.1 期間數: 決定計算每日平均需求的期間數, 若期間為 4(M), 則四月份的每日平均需求為四,五,

六,七月份的需求總計除這四個月的總工作日.
b.2 期間長度類型: 內定 1:工作日
c. 第一期中的覆蓋範圍:
c.1 最小
c.2 目標
c.3 最大
c.4 期間數
在含planning date往後的(c.4) 個期間, 最小庫存為 (c.1) 乘每日平均需求, 目標庫存為 (c.2)

乘每日平均需求,最大庫存為 (c.3) 乘每日平均需求.

d.第二期中的覆蓋範圍:
d.1 最小
d.2 目標
d.3 最大
d.4 期間數
在第一期後的(d.4) 個期間, 最小庫存為 (d.1) 乘每日平均需求, 目標庫存為 (d.2) 乘每日平均

需求,最大庫存為 (d.3) 乘每日平均需求.

e.其它期間的覆蓋範圍:
e.1 最小
e.2 目標
e.3 最大
在第二期後的任一期間, 最小庫存為 (e.1) 乘每日平均需求, 目標庫存為 (e.2) 乘每日平均需求,

最大庫存為 (e.3) 乘每日平均需求.


SAP Warehouse Management的功能

我使用過Warehouse Management的功能如下:
1. 移轉需求(Transfer Request)查詢  
2 由TR建立TO 收料準備, 指定收料移入儲位, 發料準備, 指定發料移出儲位, 入庫準備, 指定入庫儲位, 報廢準備, 指定報廢儲位
3 傳送定單(Transfer Order)查詢, 列表及確認 
4 移轉單(Transfer Order)確認,項目確認
5 過帳變更(Posting Change)查詢
6 傳送定單(Transfer Order)建立,儲位(Bin)移轉
7 儲位(Bin)狀態查詢

盤點部份
1 盤點文件產生
2 盤點文件變更
3 盤點結果輸入
4 盤點重盤
5 盤點結算
6 盤差調整(MM)存量, 差異清單

我想應該視需求來導入, 要有明確的流程, 及基本資料設定(Material Master必需維護Storage Views及WM views)


ABAP功能模組整理-寄信給SAP User(到SAPOffice Index)

寄信給SAP User(到SAPOffice Index)
1. FM名稱: CATS_SEND_MAIL
2. FM用途說明: 寄信給SAP User(到SAPOffice Index)
3. 輸入參數:
AENAM = 收件者ID
HEADER = 文件屬性(ex. 標題...)
4.輸出參數:(略)
5. Tables:
OBJCONT = 信件內容
6.範例程式/自訂(add-on)程式碼:

---------------------codes--------------------------------
DATA: BEGIN OF ITAB OCCURS 0,
CONTENT LIKE SOLI-LINE,
END OF ITAB.

REFRESH ITAB.
ITAB-CONTENT = 'TEST LINE 1'. APPEND ITAB.
ITAB-CONTENT = 'TEST LINE 2'. APPEND ITAB.

CALL FUNCTION 'CATS_SEND_MAIL'
EXPORTING
AENAM = 'FREDWANG'
HEADER = 'TESTING TITLE'
EXECUTE = 'NONE'
* CPERNR =
* DATE =
TABLES
OBJCONT = ITAB
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC = 0.
MESSAGE I001 WITH 'SEND OK!'.
ELSE.
MESSAGE I001 WITH 'SEND ERROR!'.
ENDIF.
----------------------------------------------------

7. 類似的功能模組有 SO_NEW_DOCUMENT_SEND_API1

ABAP功能模組整理-顯示金額與實際儲存金額的轉換

顯示金額與實際儲存金額的轉換
1. FM名稱: CURRENCY_AMOUNT_SAP_TO_DISPLAY
2.FM用途說明: 將SAP內部儲存的金額數字, 轉成顯示的金額
3.輸入參數
CURRENCY : 幣別
AMOUNT_INTERNAL : SAP內部儲存的金額數字

4.輸出參數
AMOUNT_DISPLAY : 顯示的金額

-----------------------------------------------------------
與前一個剛好相反
1. FM名稱: CURRENCY_AMOUNT_DISPLAY_TO_SAP
2.FM用途說明: 將顯示的金額轉成SAP內部儲存的金額數字
3.輸入參數
CURRENCY : 幣別
AMOUNT_ DISPLAY : 顯示的金額

4.輸出參數
AMOUNT_ INTERNAL : SAP內部儲存的金額數字

----------------------------------------------------------
另外, IDOC金額與實際儲存金額的轉換,也有兩個功能模組
CURRENCY_AMOUNT_SAP_TO_IDOC與CURRENCY_AMOUNT_SAP_TO_DISPLAY類似
CURRENCY_AMOUNT_IDOC_TO_SAP與CURRENCY_AMOUNT_DISPLAY_TO_SAP類似

ABAP功能模組整理-繪圖功能模組概觀之六

繪圖功能模組概觀之六
這是最後一篇繪圖功能模組概觀了
[12]--------------------------------------------------------
Structural Graphics (組織結構圖, 可以指定顯示特定的子結構)
Common Functions:
GRAPH_STRUCTURAL
GRAPH_STRU_SET_MESSAGE
GRAPH_STRU_SET_DISPLAY
GRAPH_STRU_SET_TOOLBOX
GRAPH_STRU_SET_PROFILES
GRAPH_STRU_SET_OPTIONS

Demo Programs:
GRSTRU00 SAP Structural Graphics: Model Graphic
BCGRSU01 Text report graphic STRU
BCGRSUCO Structure Graphic: Copy Settings
BCGRSUDO Structure Graphic: Delete Settings

[13]--------------------------------------------------------
Graphical Pop-Up (圖形式浮現式視窗)
Common Functions:
GRAPH_SNUM_TAB
GRAPH_POPUP

Demo Programs:
GRDIAL_1 Demo program: Graphics Pop-up

[14]--------------------------------------------------------
Graphical User-menu (圖形式使用者選單)
Common Functions:
GRAPH_USER_MENU

Demo Programs:
SAPMS01T

[15]--------------------------------------------------------
Text Report Graphics (文字報告繪圖視窗)
Common Functions:
TEXT_MATRIX

Demo Programs:
BCGRTE01 Test Report Graphic TEMA01

這些繪圖功能模組都有很好的範例程式, 運用時可以直接參考使用
透過這些繪圖功能模組, 可以提升您系統的圖表及分析功能



ABAP功能模組整理-繪圖功能模組概觀之五

繪圖功能模組概觀之五
[9]---------------------------------------------------------
Cluster Graphics (叢集圖, 實際執行看看Demo program您就知道是甚麼, 好像可用在Memory Management, OS Level)
Common functions:
CNET_GRAPHIC_CLUSTER

Demo Programs:
GRCNETC1 Demo Program: Starting Cluster Editor in Display Mode
GRCNETC2 Demo Program: Activation of the Cluster Editor (Enhanced Version)

[10]--------------------------------------------------------
Network Graphics (顯示兩點間的routing - 路徑圖)
Common Functions:
CNET_GRAPHIC_NETWORK

Demo Programs:
NETZ_BO1 Demo Program: Network Graphics in Display Mode
NETZ_BO2 Demo Program: Network Graphics in Maintenance Mode

[11]--------------------------------------------------------
Portfolio Graphics (類似Gartner Group的競爭廠商分佈圖, 銷售趨勢圖等)
Common functions:
GARPH_PORT

Demo Programs:
GRPORT_0 Portfolio Graphics Presentation
GRPORT_1 Sony / Clarion Sales Trend

ABAP功能模組整理-繪圖功能模組概觀之四

繪圖功能模組概觀之四
[7]---------------------------------------------------------
Statistical Graphics (統計圖, 可用於預測, 數學公式圖形, 如sin, cos)
Common Functions:
STAT_GRAPH
STAT_GRAPH_REF

Demo Programs:
GRSTAT_1 Demo: Trigonometric Functions in SAP Statistical Graphics
GRSTAT_2 Demo: Representing Functions in SAP Statistical Graphics
GRSTAT_3 Demo Program: Statistics Graphic
GRSTAT_4 Example: Statistics Graphic
GRSTAT_6 Example: Statistics Graphic
GRSTAT_C Example: Statistics Graphic
BCGRST01 Test Report Graphic STAT01
BCGRST02 Test Report Graphic STAT02
BCGRST03 Test Report Graphic STAT03
BCGRST04 Test Report Graphic STAT04

[8]---------------------------------------------------------
HPGL (指定點及點組成的線條或圖形之繪圖)
Common Functions:
GRAPH_HPGL

Demo Programs:
GRHPGL_1 Demo Program: HPGL Display
BCGRHP01 Test Report Graphic HPGL01

ABAP功能模組整理-繪圖功能模組概觀之三

繪圖功能模組概觀之三
[5]---------------------------------------------------------
Hierarchy Graphics (階層圖或樹狀圖)
Common Functions:
GRAPH_HIERARCHY
GRAPH_HIERARCHY_ALL
GRAPH_HIERARCHY_MENUE

Demo Programs:
GRHIER_1 Demo Program: Hierarchy Graphics
GRHIER_2 Demo Program: Hierarchy
GRHIER_3 Hierarchy representation
GRHIER_6 Hierarchy Representation
GRHIER_C Hierarchy representation
BCGRHI01 Test Report Graphic HIER01
BCGRHI02 Test Report Graphic HIER02
GR_CHECK Hierarchy Representation

[6]---------------------------------------------------------
Hierarchy Graphics (另一種階層圖或樹狀圖, 可用於大型的組織結構, 有預覽圖, 可直接移動到大圖的某一區域)
Common Functions:
CNET_GRAPHIC_HIERARCHY

Demo Programs:
HIER_BO1 Demo Program: Hierarchy Graphics in Display Mode
HIER_BO2 Demo Program: Hierarchy Graphics in Maintenance Mode



ABAP功能模組整理-繪圖功能模組概觀之二

繪圖功能模組概觀之二
[3]---------------------------------------------------------
Gantt Chart(甘特圖, 專案計畫及管理用)
Common functions:
GRAPH_GANTT
GRAPH_GANTT_COLOR_SET

Demo programs:
GRGANT_1 Demo Program: Gantt Chart
GRGANT_2 Demo Program: Gantt Chart / 2
GRGANT_3
GRGANT_C
BCGRGA01 Test Report Graphic GANT01
BCGRGA02 Test Report Graphic GANT02

[4]---------------------------------------------------------
Bar Charts (長條圖)
Common Functions:
BARC_SET_TIME_AXIS
BARC_ADD_CHART
BARC_SET_COLUMN_WIDTH
BARC_SET_CHART_ATTRIB
BARC_ADD_SECTION
BARC_ADD_RIBBON
BARC_GRAPHIC_PBO
BARC_GRAPHIC_PAI

Demo Programs:
BARCBO01 Demo Program: Bar Chart in Display Mode
BARCBO02 Demo Program: Bar Chart in Maintenance Mode
BARCBO03 Demo Program: Bar Chart in Maintenance Mode (Planning Board)應用於專案計畫



ABAP功能模組整理-繪圖功能模組概觀之一

繪圖功能模組概觀之一
本繪圖功能模組概觀, 僅將功能模組及範例程式列出(若要列出詳細參數篇幅過大)
2 Main Graphics Demo Program:
GRDEMO_D: Main menu link to program
BCGRDEMO: Through PushButton link to different graphics

[1]---------------------------------------------------------
PushButton Graphics (按鈕陣列或選單)
Common function:
1. CALL FUNCTION 'GRAPH_BUTTON_MATRIX’
2. CALL FUNCTION 'GRAPH_BUTTON_MENUE'

Demo Programs:
GRBMAT_1 Demo Program: Pushbutton Graphics
GRBMAT_2 Demo Program: Pushbutton Graphics - Menu
BCGRBM01 Test Report Graphic BMAT01
BCGRBM02 Test Report Graphic BMAT02
BCGRDIA1 Test Report Graphic DIA1
BCGRDIA2 Test Report Graphic DIA2

[2]---------------------------------------------------------
Business Graphics (二維,三維及四維統計圖)
Common functions:
GRAPH_2D, GRAPH_3D, GRAPH_2D_MENUE
GRAPH_BUSG_COLOR_SET, GRAPH_BUSG_MENU_SET
GRAPH_MATRIX, GRAPH_MATRIX_2D, GRAPH_MATRIX_3D, GRAPH_MATRIX_4D

Demo Programs:
GRBUSGM3 Modify 3D Presentation Graphics
GRBUSGMN Modifying Presentation Graphics
GRBUSG_1 Demo Program: SAP Business Graphics 2D
GRBUSG_2 Demo Program: SAP Business Graphics 3D
GRBUSG_3 Demo Program: Business Graphics Sales Comparison
GRBUSG_4 Demo Program : Presentation Graphics 2D - 3D - 4D
GRBUSG_M Demo Program: Modifying Presentation Graphic
BCGRBU11 Test Report Graphic BUSG11
BCGRBU12 Tes Report Graphic BUSG12
BCGRBU13 Test Report Graphic BUSG13
BCGRBU99 Test Report Graphic BUSG99

ABAP功能模組整理-自訂按鈕的對話小視窗之二

自訂按鈕的對話小視窗之二
1.FM名稱:POPUP_TO_DECIDE_WITH_MESSAGE
2.FM用途說明: 最多三列的說明文字及最多三列的問題文字, 顯示在含兩個自定按鈕及Cancel按鈕的對話小視窗
3.輸入參數
defaultoption : Positioning the cursor on answer yes or no (DEFAULT '1')預設游標停留的按鈕
diagnosetext1 : 第一列說明文字
diagnosetext2 : 第二列說明文字
diagnosetext3 : 第三列說明文字
textline1 : 第一列問題文字
textline2 : 第二列問題文字
textline3 : 第三列問題文字
text_option1 : 第一個按鈕上的文字
text_option2 : 第二個按鈕上的文字
titel : Title line of dialog box對話窗的標題
start_column : Default 25
start_row : Default 6
cancel_display : Default 'X'
4.輸出參數
answer : 如下
"A" = user has chosen Cancel
"1" = user has chosen First Option
"2" = user has chosen Second Option
5.範例程式/自訂(add-on)程式碼 :: RSSPO200

ABAP功能模組整理-警告或訊息對話小視窗

警告或訊息對話小視窗
1.FM名稱:POPUP_TO_DISPLAY_TEXT
2.FM用途說明:最多兩列的訊息文字,顯示在含Continue按鈕的對話小視窗, 用來顯示警告或通知的訊息, 讓使用者看完後,按Continue按鈕,繼續執行後續動作
3.輸入參數
textline1 : 第一列問題文字
textline2 : 第二列問題文字
titel : Title line of dialog box對話窗的標題
start_column : Default 25
start_row : Default 6
4.輸出參數
5.範例程式/自訂(add-on)程式碼 : RSSPO600
類似的Function Modules有POP_DISPLAY_TEXT, POPUP_DISPLAY_TEXT_WITH_PARAMS

ABAP功能模組整理-自訂按鈕的對話小視窗之一

自訂按鈕的對話小視窗之一
1.FM名稱:POPUP_TO_DECIDE
2.FM用途說明:最多三列的問題文字, 顯示在含兩個自定按鈕及Cancel按鈕的對話小視窗(不含說明文字)

3.輸入參數
defaultoption : Positioning the cursor on answer yes or no (DEFAULT '1')預設游標停留的按鈕
textline1 : 第一列問題文字
textline2 : 第二列問題文字
textline3 : 第三列問題文字
text_option1 : 第一個按鈕上的文字
text_option2 : 第二個按鈕上的文字
titel : Title line of dialog box對話窗的標題
start_column : Default 25
start_row : Default 6
cancel_display : Default 'X'
4.輸出參數
answer : 如下
"A" = user has chosen Cancel
"1" = user has chosen First Option
"2" = user has chosen Second Option

ABAP功能模組整理-含Yes, No按鈕的對話小視窗之二

含Yes, No按鈕的對話小視窗之二
[第三個]----------------------------------------------------
1.FM名稱:POPUP_TO_CONFIRM_ LOSS_OF_DATA
2.FM用途說明: 資料尚未儲存但仍要跳離時使用, 包含兩列的問題文字, 顯示在含Yes, No兩個按鈕的對話小視窗 (對話窗上的說明文字固定為 Data will be lost)
3.輸入參數
defaultoption : Positioning the cursor on answer yes or no (DEFAULT 'Y')預設游標停留的按鈕
textline1 : 第一列問題文字
textline2 : 第二列問題文字
titel : Title line of dialog box對話窗的標題
start_column : Default 25
start_row : Default 6
cancel_display : Default 'X'
4.輸出參數
answer : 如下
"J" = user has confirmed the step
"N" = user has canceled the step
5.範例程式/自訂(add-on)程式碼 : RSSPO100

ABAP功能模組整理-含Yes, No按鈕的對話小視窗之一

[第一個]----------------------------------------------------
1.FM名稱:POPUP_TO_CONFIRM_WITH_MESSAGE
2.FM用途說明:最多三列的說明文字, 加上兩列的問題文字, 顯示在含Yes, No, Cancel三個按鈕的對話小視窗
3.輸入參數
  • defaultoption : Positioning the cursor on answer yes or no (DEFAULT 'Y')預設游標停留的按鈕
  • diagnosetext1 : 第一列說明文字
  • diagnosetext2 : 第二列說明文字
  • diagnosetext3 : 第三列說明文字
  • textline1 : 第一列問題文字
  • textline2 : 第二列問題文字
  • titel : Title line of dialog box對話窗的標題
  • start_column : Default 25
  • start_row : Default 6
  • cancel_display : Default 'X'
4.輸出參數 answer : 如下 "A" = user has chosen Cancel "J" = user has confirmed the step "N" = user has canceled the step [第二個]----------------------------------------------------- 1.FM名稱:POPUP_TO_CONFIRM_STEP 2.FM用途說明:兩列的問題文字, 顯示在含Yes, No, Cancel三個按鈕的對話小視窗(不含說明文字) 3.輸入參數
  • defaultoption : Positioning the cursor on answer yes or no (DEFAULT 'Y')預設游標停留的按鈕
  • textline1 : 第一列問題文字
  • textline2 : 第二列問題文字
  • titel : Title line of dialog box對話窗的標題
  • start_column : Default 25
  • start_row : Default 6
  • cancel_display : Default 'X'

4.輸出參數
answer : 如下
"A" = user has chosen Cancel
"J" = user has confirmed the step
"N" = user has canceled the step

2004年9月30日

[答客問]開發速度重要還是分析設計重要

就本文我列出幾點看法:
1.有制度的公司會做好軟體的Configuration Management, 在軟體工程學中的Configuration management是指軟體開發專案過程中的所有components均會做好管理, 包含: 專案計畫文件, 需求分析文件, 設計規格, 程式碼, Test Cases and results文件,使用者手冊, 系統管理手冊, 等等, 當任何一部分修改或改版能找到關聯的文件並加以修改.
而這些管理為的好處有:
a. 維持營運: 需求變更能有效率的找到相關應修改的文件, 完成客戶的需求, 功能變更, 加強, 改版, 能從利用既存文件上修定新版, 產品即時上市
b. 永續經營: 不因職務變動或人事異動影響公司營運或產品的維護及發展
c. 知識管理: 借由一個專案經驗的留存, 可以將成功模式複製, 並可借以培訓新人

2.公司營運以獲利為第一考量, 當短期獲利無法達成時則不會考慮上面的管理問題, 另外管理需要成本的, 如人力時間, 工具等, 我認為微軟或HP在車庫創業時代也不會有完整的系統文件的. 不要過於怪罪不合理的現狀.

3.主管觀念不正確時, 溝通是很重要的, 瞭解為何主管不重視文件的建立, 將自己的想法與建議提出, 找出合適於組織的方法, 有時好的理想在推動時會遭遇到許多困難的, 而跨組織的推動更是困難. 從主管的立場思考, 不管將來您昇到甚麼職務都會更順利的

4.>"沒有所謂的文件也沒關係,只要有程式碼就可以了,寫程式是越快完成越好。只要看的懂程式就可以了,對一套系統只要知道它的架構就可以了,也不用花那麼多的時間去瞭解"

在Steve McConnell, "Code Complete: a practical handbook of software construction" 一書中(chapter 19)提到"優良的programming style就是最直接的說明文件", 甚麼是優良的programming style,包含好的program structure,可讀性高的程式, 適當的變數及constant name and routine name, 結構化的程式外觀, 簡捷的程式流程與資料結構,不可少的註解等

這段話是說給programmer聽的, 但是如何讓每個programmer能做好這點就比較困難了, 主管可以做的是inspection management, 訂定一套大家可以遵循的程式設計規範, 如程式開端與程式內註解的規格, 變數,常數,程式,副程式等元件的命名規則, 然後制定檢核文件, 程式publish前先進行inspection(檢核),此工作可由主管,品管人員, 或其它programmer來執行

5.當同為程式設計師的角色, 也許軟體工程訓練不會讓您特別突出及優秀, 但是若為SA or PM時這將會是很重要的, 制度的建立是需要時間及熱忱的推動者與主管的支持, 同仁的配合, 因此建立組織影響力, 分享專業知識, 勇於承擔責任, 那麼不但在工作上或個人價值上都可以提昇

6.在困境中往往更容易刺激人的思考及學習, 因此讓個人成長, 不如意的環境也可能成為您成長的一種動力
-Fred 20030506

[答客問]資訊管理和程式設計是不是有很大的關聯?

資訊管理我的認知是將資訊技術運用到管理的領域,諸如財務管理,生產管理,行銷管理,物料管理,人事管理...等

而程式設計是資訊技術的一個領域, 資訊技術包含網路技術,電腦軟硬體技術,商用系統開發與整合技術,電子商務等等, 當然您若是走商用系統開發與整合及電子商務, 程式設計是不可或缺, 若是其他也要有一些程式設計基礎較好
-- Fred 2002/09/06

程式內的註解要寫些什麼?

fredwang(王富民)
2003/02/27

基本上一個優良的程式撰寫風格就是最直接的說明文件, 不過這裡不辯證該不該寫註解的問題, 另外, 程式內的註解與系統文件還是有所差異, 其對象及目的也有所不同, 在此也不討論

註解的種類有
1. repeat of the code : 就是用口語將程式重複說一遍, 像是給不懂程式語言的人看的
2. explanation of the code : 用來解釋一些複雜或高技巧的程式, 不過往往是撰些時沒有注意程式的結構, 才會如此難懂, 不如用心思再將這段程式改寫的可讀性更高一些, 有關如何寫出優良的程式, 應該有不少書談論
3. marker in the code : 程式設計師以特殊的標記如 /* %%Note%% ….. */ 留下暫時的標記, 以方便紀錄程式設計過程中, 未完成或待加強的部分
4. summary of the code : 只取某段程式碼中的重點, 以兩三句話說明, 比重複整段程式來的有用多了
5. description of the code’s intent : 解釋一段程式的目的, 不從技術面說明, 程式開頭的說明也是這類

如果在分析設計階段能用Pesudo Code或PDL(Program Design Language), 在實作階段在加入程式碼, 那麼這些PDL就是最佳的程式內註解, 不過PDL也有一定撰寫的規則的

如何提升IT人員的價值

王富民(fredwang)
2002/07/23著, 2004/07/07修定v4.1

許多企業都有MIS人員或IT人員負責企業內部網路系統, 資訊系統, 電腦軟硬體的維護, OA, 在e時代, 更跨向對外的公司網站, 電子商務(eCommerce, eBusiness)及客戶關係管理, 協同商務等, 許多企業透過IT建立競爭優勢, 從有效的企業資源管理(ERP), 供應鏈管理(SCM)提升營運效能, 降低成本, 到建立新的網際網路商業模式, 或新的服務及商務以吸引顧客及強化客戶關係等。而IT人員如何因應多樣化的企業IT需求, 提昇自我的能力與價值? 以下是我個人的淺見:

一、 專注與專業
避免過多的雜務才能專注於工作的執行, 簡化個人的雜務, 每天到公司先設定今日該完成的目標, 儘量在一日的工作時間內完成, 養成這種專注的習慣, 將讓您工作效率大為提升
既然為IT人員, 專業能力的精進是基本的要求, 以程式設計的專業為例, 當一個學生離開校園, 所面對的程式設計不再只是個人作業, 常是多人合作的產物及實作的系統, 所應要求的標準應該從私人創作晉升到工程的層次, 此時講究嚴謹的方法, 如蓋大樓ㄧ般。

二、 由技術人員提升為Solution Provider
IT人員以程式設計師為例, 容易自限於只負責寫程式,需求規格要等待使用者做好完善的規劃及制訂完整的規格,才要進行程式撰寫。
應該將自己提升為Solution Provider,而非只是技術人員,而您提供的不再只是問答題,由使用者解答,可以先想好解決方案,提供選擇題或範本,讓使用者以快速及簡單的方法確定需求。
若一些問題或困難需要上司來解答的,最好也先想好可能的解決方式,例如:執行某一專案時人力不足的狀況,先想好外包或增加人力的利弊得失與可能性或是專案進度調整等方式。

三、 溝通與服務
IT在企業內部為幕僚單位, 以服務內部使用者, 協助企業運作及發展的單位, 因此服務的心態十分重要, 有顧客至上的服務才能在企業中真正發揮其專業的價值。
組織長大的過程中伴隨的是本位主義的形成,慢慢產生自我保護及踢皮球的心態,事前責任劃分清楚,問題發生時規避責任,任何事情先談責任劃分而不是談共同解決問題的方式。
若是能與使用者建立互信,共同改善系統,共同思考解決問題的方法,建立良性的互動,則對雙方及公司都有幫助。

四、 從公司的角度解決問題
工作或專案的優先順序都應以公司的利益為優先,平時工作時除了日常的維護工作之外常會有緊急事件需優先處理,而這往往是對公司影響是即時的,例如出貨等。或者是臨時插入的需求,而這需求是否影響公司的營運或利益大於您現有進行中的工作,是否應該考慮優先處理,甚至加班處理。
試想公司的利益不就直接影響個人的獲利嗎!

五、 主動規劃及改善
IT同仁常常忙於日常的工作而無力對現狀有任何的改變,但是您若能每天撥半個小時或十五分鐘的時間,想想改善工作現況的方法或提高生產力的方法,也許您的工作就此有長遠的影響。
主動規劃及改善可以讓您成為專家,因為你必須超越現有維護者或日常作業而晉級到規劃分析的角色,技術上你必須更深入或更廣的瞭解才能進一步的規劃未來或改善現有工作,哪麼你將成為某領域的專家而不再只是技術人員。

六、 自我學習, 勿劃地自限
也許有些人會抱怨要學的技術太多,也許是技術的演進太快,也許是系統過於複雜。IT技術的演進是不會停下來的,這是IT人員的宿命,同時也是IT人員的優勢,您有能力超越有別人難以進入的門檻,因為您學會快速的應用及使用新技術,因為學的多,您的市場價值將因此提高,因此學一種新的技術是公司及您個人對你自己的投資,除了貢獻於公司同時也提升了你的能力。

七、 做好知識管理
不管你是否瞭解知識經濟的真義,要成為專家,就先做好知識管理,習慣地將您完成的工作留下記錄及文件,過程中的心得等好好的分類存放,因為經驗的有效保存有助於未來工作的再利用。
知識是無垠的,能夠快速找到可用的資訊,善加利用而成為知識是一個專業人員必備的能力。群體學習及知識方享則是透過眾人的力量,發揮更大的效益,讓知識學習更為快速,知識的價值更為提高。

八、 重視正面思考的力量
工作過程往往有低潮或挫折的時候, 特別是程式設計低潮的狀況往往發在已經太熟悉的領域, 作重複性質的程式, 或維護特定的系統很久, 而無法轉換領域, 如果這些事情又不是很有價值的事, 那麼的確會煩.
考慮換換不同類型的系統, 或技術, 不同domain knowledge, 與上司談談組織內工作輪調, 不管怎樣, 假日到山上, 登高望遠, 到海邊, 遼望廣闊的大海, 心胸會更開闊更開朗的.

九、 做好個人時間管理與工作管理
一個平衡的人生要靠好的時間管理,Why? 時間是有限的, 當您把時間完全花在單一件事情上, 則將沒有時間完成其他的事情, 因此妥善分配時間於工作, 家庭, 休閒與人際關係才能讓您有一個健康的人生. 工作上的時間分配也相同, 應有效的將有限的工作時間分配在待完成的任務上, 在一日開始先將這些任務依優先順序加以分配 , 緊急且重要, 重要但不緊急與不重要但緊急及日常業務Routine job等, 除了這些工作事項外, 其他瑣碎的事情如: e-mail處理, 準備要回覆的電話等應該集中在一天的特定時段處理, 至於最容易消耗工作時間的會議應該先確定會議的目的與內容, 事前有所準備, 並有所決議, 才能避免無謂的時間浪費. IT人員在時間管理上的重點除日常工作外應特別重視知識的累積與價值的創造。

十、 妥善的個人生涯規劃
人因為有夢想而偉大, 生涯規劃是讓您的夢想實現的階梯, 正確的生涯規劃有助您踏實的實踐人生夢想並且讓您檢視您的人生, 讓生活不再盲目, 讓工作更有意義, IT 人員如何規劃您的職業生涯呢?
在許多歐美公司的升職方式有兩種, 一種是管理路線, 一種是專業路線, 管理路線則是帶人的主管, 專業路線是帶專案, 負責技術的專案經理, 走哪個方向您所需的能力就有不同, 當您設定好目標, 並了解所該具備的能力, 則就該提早準備, 培養自己. 那麼自然有機會達到目標, 因為成功出現在”機會”與”準備”的交會點。
每個人的生涯規劃與價值觀不同, 就價值觀而言, 不同人有不同定義成功的方式有人認為即使你做大老闆成為億萬富翁, 賠掉健康, 有何用? 擁有令人稱羨的轎車洋房, 失去與家人相處的時間, 錯過孩子成長過程, 有何用?
人生是許多的Trade-off, 選擇了甲往往會失去乙, 有些人工作多年只是工程師但是也許他的人生是平衡的, 有穩定的工作,幸福的家庭,可談心的朋友, 健康的身心也許還有著您不了解的豐富人生, 有人是慈善團體的義工, 有人是經驗老到的攝影專家有人是多年的賞鳥迷, 等等
人生要靠時間來驗證, 成功要從不同的角度不同的方位的來定義, 過於偏頗並不是很好。

招募新人的問卷設計-綜合特質部分

下列項目哪些最符合您的特質,請依順序填寫
A. 喜好創新及學習新技術
B. 具有國際化的語言能力
C. 溝通及表達能力強
D. 規劃與自我管理能力強
E. 自我閱讀及研究能力強

______________________________________________________________

下列項目哪些最符合您的特質,請依順序填寫
A. 腳踏實地, 遵守紀律
B. 具有團隊精神, 喜歡與他人分享
C. 韌性強, 能夠適應不同的環境及工作
D. 積極, 強烈的責任感與企圖心
E. EQ高, 容易與人相處


您選擇一份工作,最重視的是,請依順序填寫
A. 滿意或較高的薪資
B. 良好的教育訓練及學習環境
C. 好的工作團隊與伙伴
D. 具有比較有利的生涯規劃
E. 良好的企業形象
F. 公司具有發展潛力
G. 適合發揮所長的工作內容
H. 良好的工作環境(如辦公環境, 員工休閒設施等)

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

當您發現管理者得決策有錯, 您如何因應? ___
A. 管理者有其決策角度應予尊重
B. 以自己所發現的問題告訴管理者, 並提供好的建議
C. 其他____________________________

若您提出的建議(對公司有重要影響), 管理者無法接受時, 您將採取? ___
A. 管理者有其決策角度應予尊重
B. 提出更充分的理由設法說服管理者
C. 提出折衷的方案讓管理者可以接受
D. 尋求其他人員或更上層主管的支持
E. 其他__________________________

若您的使用者提出不合理的需求, 您將採取? (可複選,並依優先序寫下): ______________________
A. 根據使用者緊急程度, 先行修改, 事後再予以查證
B. 直接從專業的角度告知使用者原因及可能造成的影響
C. 尋找有經驗的同事或主管確定處理的方式
D. 召開會議討論詳細的需求規格, 經協調後找出正確的方式
E. 要求使用者提出需求文件以作為程式修改的依據

主管週五上午交辦一件工作要求週一完成, 但您預計下班前仍無法完成, 您的做法是______________________________(可複選,並依優先序寫下)
F. 明白告訴主管無法完成
G. 假日加班完成, 事後再請補休
H. 尋求同仁的協助
I. 其他________________________________

若主管要求你作一件你不想做的事, 沒指定期限及重要性? 您將採取? ____________________________(可複選,並依優先序寫下)
J. 告知有更重要的事, 及理由予以回絕
K. 先做例行的工作或其他工作, 再來做它
L. 趕快做完交辦事項
M. 想辦法請同事幫忙
N. 其他___________________________________


如果主管交辦一件工作, 在您的能力範圍內無法完成, 您將採取? _________________________________(可複選,並依優先序寫下)
A. 告知能力有限無法完成
B. 尋找資源協助完成, 如同事或朋友
C. 自行研究, 提升自我能力予以完成
D. 其他____________________________________

by Fred Wang(王富民) 2004/04/19

招募新人的面談步驟

作者 : Fred Wang 日期:2004/09/30 修訂:2006/01
事前準備-用人評估
. 決定是否需要招募新人 - 是否已經有效運用現有人力的技能與才智? 還需要怎樣能力的人? 業務的成長需要量是否足夠用到一個新人?
. 工作分析 - 相關工作的基本功能與主要績效評估條件,訂定職缺需求條件。
. 決定相關職位的薪資水準 - 衡量內部與市場上相關條件或職務訂定合理的薪資水準
. 決定到哪裡與用什麼方式找到合格的應徵者
. 發布職缺需求

事前準備-過濾應徵者履歷
. 蒐集一段時間的應徵者履歷,如果有筆試也將筆試成績納入評選條件,根據職缺需求條件與應徵者的履歷自傳,篩選最合適的面試候選人

事前準備-面談問卷與評分表
. 根據職缺需求設計問卷,問題評分權重與目標分數


研讀應徵表格及應徵者資料
. 再研讀面試者的履歷與自傳,事前有筆試的話先檢視過成績
. 如果剛畢業者檢視學校成績單, 有證照者檢視證照資料, 有實務者檢視相關作品
. 檢驗應徵者資料準備的狀況,可代表其準備的仔細度。

消除初見面時的緊張
應徵者的自我介紹(三~五分鐘),
. 有經驗者談工作經驗,
. 無者,談學校所學科系之專業知識、團隊合作經驗、課外活動社團經驗等
. 談成長環境與背景,包含如何面對逆境
. 談人際關係之處理,衝突之處理
. 自我性格的描述
. 優點, 缺點及嗜好
. 運動與休閒生活(健康與否)

閒話家常
. 住哪裡? 怎麼來的? 誰跟你一起來的? 
. 你家人背景? 是否住在一起?
. 你來應徵家人知道嗎? 告訴過誰? 他們反應如何?
. 面談前有無做過準備? 如何準備? 看了那些資料? 資料何處來?看完有何感受?
. 對我們公司及產業有何瞭解? 您對於應徵的工作情況了解情形如何?
. 面試過哪些公司?
說明: 瞭解到應試者處事的態度和方法, 對本份工作是否有足夠的誠意及渴望(誠懇, 負責與企圖心)

導入正題
1. 專業問題
. 專業作品描述
. 學校學習及實習或打工的經驗等的詳細詢答
. 工作經驗及內容的詳細詢答,有工作者應重於其工作績效的詢答
. 專業問題詢答,應著重於解決問題的方法與能力
. 了解真正的能力與履歷自傳是否相符, 以及與面試官的期待是否相符

說明: 瞭解到應試者做事的態度和方法, 唸書及做事是否踏實認真,誠懇和企圖心。(誠懇, 負責與企圖心)

2. 綜合特質
. 你有沒有挫敗的經驗? 是什麼? 你如何處理?
. 與人衝突過嗎?你怎麼處理?

如果應徵者的回答是積極且正面的,如何在困難中堅持完成工作, 如檢討錯誤與修正,如何妥善排除衝突達到雙贏等應給分數較高。(面對挫折之應變與忍受力)

. 與主管意見不同時你如何做?
. 對過去及目前主管, 管理者的看法
如果第一點回答"據理力爭,堅持到底"表示溝通能力不足,而能從主管的角度來看,進一步蒐集資料、澄清問題、進而提出建議題供主管決策才是良才。(人際關係)

. 列舉一件最得意的事情與一件最失意的事情
. 生涯規劃
說明: 如果回答是"沒有過",你是缺乏生活經驗。(經驗法則與興趣、性向問題) ,不管是綜合特質或專業能力,主要是以過去行為預測未來,面試官應避免給予太多詳細或引導性的訊息。面試過程應注意應徵者傾聽與回應問題的專注程度, 態度, 與思維清晰度等,也包含肢體語言,像一些小動作。

對公司與工作的說明 (選項)
. 工作內容進一步的說明
. 告訴應徵者企業的組織, 福利, 待遇, 前景。

應徵者提問
. 對這職位,組織,待遇,福利各方面有沒有問題 (注意其最關心的問題是什麼)
. 有沒有其他要說明的
其他問題
. 若錄取最快可以什麼時候報到
. 有無住宿的問題, 有無交通的問題

結束面談
. 如何進一步聯絡及通知面談結果(eMail , Phone)
. 親切送客

面談後評估
. 在面談完盡快根據前面設定問題的條件與權重,進行綜合評估。(此時印象最為深刻)

2004年9月29日

Cascading Style Sheets(CSS) 使用技巧

觀念
1. CSS主要目的是將一些網頁排版的元素, 與網頁內容抽離, 讓HTML內純粹只有內容, 排版元素如:字型, 大小, 顏色, 字距, 列距, 背景色等, 整理至CSS內成為一組組可再用的classes

2. 傳統排版的Tables根據理論可以CSS的floating and positioning components來取代, 仍有一些值得注意的限制:
只能在特定的瀏覽器運作, 如IE 4.x/5.x, Netscape Navigator 4.x, Opera 3.5以上

3. 許多人也許會用MS Powerpoint, Excel or Word編輯內容然後轉存成網頁, 這會有的缺點是會產生過於龐大的HTML, 內涵許多重複的格式設定, 造成網頁維護內容困難

CSS的三種形式
1. external style sheet

2. document style sheet

3. inline style


使用建議:
1. 將許多網頁共同可以用到的排版元素, 做清楚的制定, 如: tools line, top navigator, left navigator, eight navigator, bottom line, 主標題, 副標題, 次標題, 表格Head area, 表格文字, 一般內文文字, 瀏覽路徑(breadcrumb), 各個區域的背景色等

2. 上列的排版元素都應該制定清楚的style組織成一些classes存放在external style sheet內, 當需要更改時, 就不須再逐頁更改

3.單一HTML內特有的排版元素(其他網頁不會用到), 且頁內多處使用, 則可設定在document style sheet上

4.其他, 特殊排版只有用到一次, 則可直接設在inline style


by Fred Wang 2003/09/30

網頁組成元素

1. 共同元素
. Logo
. 標題或公司名稱
. 副標題
. 上方工具列: 常見的項目有Basket(or cart), Help, login(or account, or my xxx)
. Search box and advanced search :通常在網頁右上方
. 上方導覽列: 通常為主導覽列, 也就是所有網頁均可以選到不會改變的導覽列, 設計方式可為固定式, 下拉式選單, 或動態的上方第二導覽列
. 下方列: 一般會放版權申明, 瀏覽器建議等, 有時會放主導覽列項目的連結或工具列項目的連結
. 其他可用的工具或網頁: Sitemap, What’s new, Glossary, Tour, 友善列印, Contact Us( or Feedback)

2. 首頁
. 橫軸banner: 企業形象或主產品的廣告, 可能為靜態圖形, 動態Gif或Flash
News 區
. 主產品廣告區
. 次產品廣告區
. 連結區

3. 內頁
. 左方導覽列: 或為次導覽列, 當然若無上方導覽列時, 它就是主導覽列, 設計方式為固定式, 向下展開式次選項, 橫拉式次選單等
. 瀏覽路徑(called breadcrumb)
. 內文區
. Go Top連結
. 小幅廣告區
. 右方連結區或第三導覽區

跑馬燈式設計評論

作者Fred Wang 2003/09/30 修訂日期: 2011/11/28


跑馬燈設計評論:
目前跑馬燈文字的技術有下面兩種:
1. 用MARQUEE tag : 這種HTML tag只有IE支援, Netscape並不支援
2. 用Applet : 退流行的技術, 主要問題在速度太慢
3. 用javascript使用layer技術模擬
4. 使用CSS Sprite技術
走馬燈式的文字在可用性的考慮上:
1. 許多人不容易在捲動的時間內就可以看完
2. 對長期使用本公司網站的使用者造成視覺的干擾(雞尾酒舞會效應)
3. 使用者對象繁多, 應將導覽的主導權留給使用者, 由他決定導覽的方向, 不要試圖突顯某些內容(有些使用者, 每天固定上網站的專業使用者, 只在乎快點點選, 並進入他要的資料網頁)
4. 高科技產業網站應以專業, 穩重的版面為主, ex: www.ibm.com, www.ericsson.com等都是相當好的設計 , 可以參考其News的設計

行政院研考會網站指出跑馬燈的缺點與設計的注意事項 :
缺點:
1.使用者易分心,無法專心閱讀網頁資訊
2.易刺激「精神障礙、心臟病、…」等患者
3.造成視覺上的不適
4.使用Applet 或 ActiveX設計,網頁速度易過慢
5.瀏覽器不支援JavaScript時,無法看到動態效果
6.未提供動態效果替代方案

若網站要提供跑馬燈設計,一定要提供替代方案,如:

1. 提供跑馬燈設計時,另提供靜態連結方案(可參考台南市警察局網站(http://www.tncpi.gov.tw/)的「最新消息」及「公事事項」,在進入跑馬燈之前,額外提供「更多」靜態連結網頁。)
2. 使用「EM標籤」代替,呈現方式為斜體字
3. 使用「applet」代替,並加上可及性替代文字,在不支援時可將替代文字呈現出來。

易經的職涯智慧

認清自己的職涯方向, 然後循序漸進, 自然會努力有成!
易經第一卦, 就潛藏一個事業職涯的智慧, 提供您參考

初 九 : 潛 龍 勿 用 。
- 剛畢業或初入社會如龍潛於淵,無甚作為之,此時自己能力還不夠更應謙虛向學, 不要眼高手低。

九 二 : 見 龍 在 田 , 利 見 大 人 。
- 在工作上持續耕耘,並跟隨前輩(有成就或智慧的人), 學習工作及處世的智慧

九 三 : 君 子 終 日 乾 乾 , 夕 惕 若 厲 , 無 咎 。
- 小心翼翼做事,每晚睡前要檢討一天的功過,把不好的行為改掉,像鐵器磨去( 厲 )鏽污一樣 。

九 四 : 或 躍 在 淵 , 無 咎 。
- 有機會在工作上有所表現, 必然得到升職及獲得成就。

九 五 : 飛 龍 在 天 , 利 見 大 人 。
- 功成名就,像飛龍在天一樣,但仍要禮賢下士,才能有作為

上 九 : 亢 龍 有 悔 。
- 做到高位,應謙虛反省, 切勿驕慢自大, 學習放下及交棒,否則對個人及事業有害( 悔 ) 。


易經原文如下:

第一卦 乾 乾為天 乾上乾下
乾:元,亨,利,貞。
初九:潛龍,勿用。
九二:見龍再田,利見大人。
九三:君子終日乾乾,夕惕若,厲無咎。
九四:或躍在淵,無咎。
九五:飛龍在天,利見大人。
上九:亢龍有悔。

Fred Wang 2004/05/10

[答客問]學學程式設計對以後創業開公司有幫助嗎?


我想學程式設計要開的是軟體公司吧?

如果是電腦軟體公司有兩種重要的事情要先了解

1.產品策略: 您選擇要作什麼產品?若選擇是未來將會熱門的, 需求大的那麼方向就對了, 因此多看看一些全球科技報導,研究文獻...等, 加強自己對軟體科技的敏銳度

2.市場策略: 選擇切入的市場?對象是誰?客戶在哪裡?年齡層是什麼?目前市場有哪些對手?.....(SWOT Analysis),因此市場學, 行銷學等,甚至基礎的經濟學多所涉獵會有幫助

當然決心與勇氣也很重要, 還有其他如資金, 人才...

成功沒有一定的模式, 但是有句名言:"成功在運氣與準備的交叉點上"

若你的努力與準備足夠, 時運的到來,就會成功, 但是只依賴運氣的守株待兔是不會成功的

-- Fred Wang(王富民) 2003/05/06

[答客問]軟體產業從業者的迷思

[客問]
念了四年資訊科學,目前在一家軟體公司上班,算是系統整合業吧,當初是因為對製造軟體有興趣念完了大學,可是現在卻發現並不如我當初所想的,難道到最後就是只能當PM當個SA,或許是公司業務關係吧.....越來越迷惑了,除了當SA,除了寫Driver.......還能做什麼呢??

[Fred 回答]
市場需求或許不如個人的理想, 公司維持營運是需要市場的支持的,甚麼是公司的利基市場, 可以讓公司獲利是第一優先

我想能夠兼顧理想與現實的工作實在不太多

您有幾種方向:
1.利用工作之餘的時間實現理想

2.在現有工作中尋求成就感, 當甚麼像甚麼, 把握任何一個學習的機會, 讓自己成為一個全方位的人, 這個社會最缺的時全方位的人才, 能當PM, 能當SA, Programming也嚇嚇叫, 自己訂下一個高標準, 讓自己成長

3.尋找一個製造軟體的公司, 那麼你可以先了解一下軟體市場的現況, ERP, EC, B2B, OA, CIM, CRM, Game, EAI等, 那些市場那些公司佔有率, 自己興趣及專長在那裡? 自己的能力限制? 若適合不妨大膽求職

4.自己開軟體公司, 要考慮的不只是產品及市場因素, 還包括資金, 人才, 管理等因素, 若你還未具備合適的創業條件, 不妨在現有公司多學習, 工作之餘多瞭解軟體市場, 創業資訊等等知識, 為未來鋪路

Fred Wang 2004/05/06