取得 Oracle ERP Apps 版本與 Workflow 版本

取得 Oracle ERP Apps 版本
 程式碼
select RELEASE_NAME
from FND_PRODUCT_GROUPS;

取得 Oracle ERP Workflow 版本
 程式碼
select TEXT
from WF_RESOURCES
where NAME = 'WF_VERSION';

Oracle ERP 的密碼規則與變更

在 Oracle ERP 中,

FND_USER 這個 table 有兩個欄位 : ENCRYPTED_FOUNDATION_PASSWORD / ENCRYPTED_USER_PASSWORD,

它們的差異, 在於
ENCRYPTED_FOUNDATION_PASSWORD 是 APPS 加密後的密碼
ENCRYPTED_USER_PASSWORD 是 ERP User 加密後的密碼,

兩者的加密 key 也不相同,

詳細文章, 請見 Oracle APPS Password Security.

而對於如何變更 APPS 密碼, 也可參考這篇文章, 請見 Use FNDCPASS to Change The Oracle Users, APPS, APPLSYS and Application Module Passwords.

而對於如何變更 ERP User 密碼, 請查看 fnd_user_pkg 這個 ERP standard package.

Web 網頁如何抓到 Client User 電腦的 MAC Address

最近, 為了 Web 如何抓 User 的 Mac Address, 傷透腦筋,

在此, 推薦兩篇文章,

一個是用 wscript (但有些網友會抓不到, 似乎跟 OS / Browser 的環境設定有關係) :
網址: [Script]關於Mac Address....

一個是用 ActiveX (這個最穩, 建議用這種方式) :
網址: Asp結合網卡綁定來限制他人非法登錄.

以上, 參考看看.

Oracle PL/SQL: 多個 Table 有相同名稱, 則查詢是抓哪個 Table

在 Oracle Database中, 對同一個 DB Owner 而言, 物件名稱是不能重複的.

所以, 不管是 Table 也好, View 也好, Package 也好,

若有相同名稱,應是各屬不同的 DB Owner,

所以, 像查詢時會用到哪個 Table / View,端看你是用哪個 DB Owner 登入到 Database.

Firefox 如何擴充元件 or 佈景主題

當初, 會從 IE 改換到 Firefox, 除了瀏覽網頁速度較 IE 快之外,

另一個原因當然是可以進行元件 / 佈景主題的擴充 :

1) 點選 Menu: 工具 / 附加元件 :


2) 出現 "附加元件" 視窗 :


3) 左上角 "搜尋所有附加元件", 你可以直接輸入要找的元件名稱, 進行搜尋 :


4) 右上角 "瀏覽所有附加元件", 會開啟 Firefox 附加元件的網頁, 你可以查看到所有元件 :




5) 在 "附加元件" 視窗中, "擴充套件" 可以查看你安裝了哪些元件 :


6) 在 "附加元件" 視窗中, "佈景主題" 可以查看你安裝了哪些主題, 順便推薦一下 Chromifox Basic 主題 (瀏覽列 / 書籤列 / 頁籤 一體成型, 感覺很好) :


7) 在 "附加元件" 視窗中, "外掛程式" 可以查看你安裝了哪些附加程式, 如 Acrobat 可查看 PDF :


以上, 分享一下我的心得.

Oracle PL/SQL: Treeview 樹狀查詢

Oracle Database 本身也有提供 Treeview 樹狀查詢,

 語法
select col1, col2, ...
  from table
[where condition ...]
 start with 要放在最上層的條件
connect by [prior] Child_Column = Parent_Column
[order [siblings] by sort ...]

p.s. 若 prior 有提供,則會查詢出本階與其所有下階資料。
p.s. 若 prior 無提供,則只查詢出本階資料。
p.s. 若 siblings 有提供,則會按父子階層排序,再按指定欄位排序。
p.s. 若 siblings 無提供,則會按指定欄位排序。
p.s. Child_Column = Parent_Column,視為 "Child 的父階是哪個"。
p.s. 查詢會先按 start with 展開 Treeview,再過濾 where 條件。

 範例
-- 建立 Temp Table
create table tom_tree(
  tree_id    number
, parent_id  number
, tree_name  varchar2(30)
);

-- 新增資料
insert into tom_tree values( 0, null, 'top' );
insert into tom_tree values( 1, 0, '1' );
insert into tom_tree values( 2, 0, '2' );
insert into tom_tree values( 3, 1, '1_1' );
insert into tom_tree values( 4, 1, '1_2' );
insert into tom_tree values( 5, 2, '2_1' );
insert into tom_tree values( 6, 2, '2_2' );
insert into tom_tree values( 7, 2, '2_3' );
commit;

-- Treeview 查詢
select level
     , tree_name
     , lpad( ' ', (Level - 1) * 3, ' ') || tree_name  -- 增加這個欄位的顯示, 會有層次感
  from tom_tree
 start with parent_id is null
 connect by prior tree_id = parent_id;

這種 Treeview 查詢, 應用於 BOM 表查詢, 是非常方便的, 希望對各位有所幫助.

利用 Google 搜尋目前上映電影的名稱, 地點, 與場次

今天, 看到 "重灌狂人" 的這篇文章 : http://briian.com/?p=6348 後,

立即親身搜尋一下電影, 結果很滿意, 如下 :

1) 先到 Google Search 首頁, 輸入 "電影" 搜尋 :


2) 畫面會有一個 "尋找電影場次", 請輸入 "地名" :


3) 就會出現該地區目前上映的 "電影名稱", "上映戲院", 與 "場次時間" :


4) 右上角可以選擇 "排序方式" :


5) 若想知道 "某個戲院正在上映的電影" 有哪些, 點一下 "戲院" 鏈結即可得知 :


6) 若想知道 "戲院所在位置", 點一下 "地圖" 即可得知 :


以上, 希望對愛看電影的人, 有所幫助.

Oracle ERP 匯入 Excel 到 Block 或 Convert to Text

投影片, 目前只限站長瀏覽, Sorry :

Java 判斷檔名字串只有英文 / 數字, 而無中文字

要判斷檔名字串中, 只有英文 / 數字, 而無其他的字元,

可以利用下面的語法 :
程式碼
if( str.matches("[a-zA-Z0-9|\\.]*") )
{
true 的處理 … // 只有英文數字的處理
}
else
{
flase 的處理 … // 有其他自元的處理
}

Java 換行字元

基本上, 因為對 OS 作業系統對於換行符號的解釋不相同,

所以, 簡單地說,

若換行字元是 "\n", 在 Browser 看 OK, 但在 Notepad 看是小黑點,

則將換行字元改用 "\r\n", 這樣不管是 Browser 還是 Notepad 看, 都可以正常了.

若想詳細了解換行字元的解釋, 可以參考這篇文章 : http://catchtest.pixnet.net/blog/post/21981758.

利用 Skype 免費進行多方通話

以前使用 Skype 都只用於 1 對 1 通話,

今天公司剛好有多方要進行開會,

ㄚ延同事介紹一個使用 Skype 進行多方通話,

單純使用電腦內建的喇叭 / 麥克風,

效果就很好, 聲音很大聲清楚.

以下是實現步驟 :

1) 先選擇多個要進行多方會議的人員 (登入 Skype 人員: 免費) (電話人員: 付費) :


2) 按左上方的 "建立多方通話" 選項 :


3) 看是否要再增減會議人員, ok 之後, 按 "開始" 即可進行 :


詳細的多方通話資訊, 請參閱 Spype 官網, 網址 : http://www.skype.com/intl/zh-Hant/allfeatures/conferencecall/.

希望對各位有所幫助.

使用 EVERY8D 網站, 天天免費發送簡訊

今天剛好看到一則新聞, 可以透過 EVERY8D 網站天天免費收簡訊,

在好奇心的驅使下, 前往探測看看, 果然是免費簡訊, 且天天有 8 通免費.

實現步驟如下 :

1) 先到 EVERY8D 網站, 點選 "立即申請免費帳號" :


2) 輸入 "電話號碼", 當作帳號, 與輸入 "Mail Address", 做為對方回覆簡訊時的接收地方, 然後按 "我同意申請條款並申請一組帳號" :




3) 輸入 "驗證碼", 然後按 "我已經確認資料了" :




4) 顯示申請帳號, 有免費的額度 5 塊錢 (放心, 這不是免費簡訊的額度), 然後按 "趕快去體驗" :




5) 當你申請成功後, EVERY8D 會發送簡訊給你, 內含密碼.
在登入時, "帳號" 輸入手機號碼, "密碼" 請見 EVERY8D 的簡訊 :


6) 登入之後, 第一個頁面 "付費簡訊平台" 有顯示你的儲值餘額, 免費簡訊不是在這裡發送, 請切換到 "天天免費簡訊" 頁面 :


7) 到 "天天免費簡訊" 頁面後, 真的有顯示還有 8 通免費簡訊, 輸入"暱稱, 簡訊內容, 接收門號", 然後按 "確認送出" :


結果, 手機收到畫面 :


希望對各位愛發簡訊者, 能有所幫助.

Oracle PL/SQL: 從 Table 中隨機抓取 N 筆資料

在 Oracle PL/SQL 中, 要從 Table 隨機抓幾筆資料,

可以利用 dbms_random.value 搭配 rownum 來處理.

範例 :
 程式碼
SELECT A.*
FROM ( SELECT *
FROM tableName
ORDER BY dbms_random.value
) A
WHERE rownum <= N;


希望對各位有所幫助.

Windows Mobile 備份資料

在 Windows Mobile 備份上,

目前我個人使用的有 spb backupPIM backup,

對於這兩個的介紹文章, Mobile01 已有相關討論, 如下 :

SPB Backup V2.0 繁體中文版.

請問一下,有沒有可以直接備份通訊錄的軟體.

參考看看.

Oracle PL/SQL: 隨機取得亂數值

在 Oracle PL/SQL 中, 可以利用 dbms_random.value 取得亂數值,

若要取得 0 ~ 1 的亂數 :
 程式碼
SELECT dbms_random.value
FROM DUAL;

若要取得 0 ~ 1000 的整數亂數 :
 程式碼
SELECT ceil( dbms_random.value  * 1000 )
FROM DUAL;

若要取得 0 ~ 1000 的整數亂數, 且長度固定 3 碼, 不足補零 :
 程式碼
SELECT lpad( ceil( dbms_random.value * 1000 ), 3, '0' )
FROM DUAL;


希望對各位有所幫助.

Oracle PL/SQL: 取得排序後的第 n ~ m 筆資料

在 Oracle PL/SQL 中, 要取得排序後的第 n 筆 ~ 第 m 筆資料,

無法利用下面語法取得 :
select *
  from emp
 where rownum >= n and rownum <= m;

解決方式, 如下 :

 取回前 n 筆資料
-- 在 Oracle 12c 以前, 利用 subquery 與 rownum 實現
select b.*
  from (select a.*
          from emp a
         order by a.name
       ) b
 where rownum <= n;
 
-- 在 Oracle 12c 以後, 利用 fetch 即可
select a.*
  from emp a
 order by a.name
 fetch first n rows only;  

 取回第 n ~ m 筆資料
-- 在 Oracle 12c 以前, 利用 subquery 與 rownum 實現
select *
  from (select rownum bRn
             , b.*
          from (select rownum aRn
                     , a.*
                  from emp a
                 order by a.name
               ) b
       )
 where bRn between n and m;
 
-- 在 Oracle 12c 以後, 利用 fetch 與 offset 即可
select a.*
  from emp a
 order by a.name
offset (n-1) rows  -- 略過 n-1 筆, 也就是從第 n 筆開始
 fetch next (m - n + 1) rows only;  -- 取幾筆資料, n ~ m 共有 (m - n + 1) 筆

在 Oracle 12c 之後, 取回第 n ~ m 筆資料的語法, 是不是更為簡單、簡潔、明瞭.

更多關於 offset fetch 用法, 請參考 http://oracle-base.com/articles/12c/row-limiting-clause-for-top-n-queries-12cr1.php.

Oracle PL/SQL: union 聯集 / intersect 交集 / minus 差集的使用

在 Oracle PL/SQL 中, 關於聯集 / 交集 / 差集的運用, 介紹如下 :

聯集:利用 "union" 達成.

交集:利用 "intersect" 達成.

差集:利用 "minus" 達成.

範例如下 :
 程式碼
-- 建立 Temp Table
CREATE TABLE TOM_1 (
  A1  varchar(3)
, qty number
);

CREATE TABLE TOM_2 (
  A2  varchar(3)
, qty number  
);

-- 新增資料到 Temp Table
Insert into TOM_1 values( 'A', 2 );
Insert into TOM_1 values( 'C', 3 );
Insert into TOM_1 values( 'E', 5 );
Insert into TOM_1 values( 'X', 3 );

Insert into TOM_2 values( 'A', 1 );
Insert into TOM_2 values( 'B', 2 );
Insert into TOM_2 values( 'C', 3 );
Insert into TOM_2 values( 'D', 4 );
Insert into TOM_2 values( 'X', 3 );

-- Union 結果: A, B, C, D, E, X
Select A1 A
  from Tom_1
Union
Select A2 A
  from Tom_2
Order by A;

-- Intersect 結果: A, C, X
Select A1 A
  from Tom_1
Intersect
Select A2 A
  from Tom_2
Order by A;

-- Minus (Table 1 - Table 2) 結果: E
Select A1 A
  from Tom_1
Minus
Select A2 A
  from Tom_2
Order by A;


-- Minus (Table 2 - Table 1) 結果: B, D
Select A2 A
  from Tom_2
Minus
Select A1 A
  from Tom_1
Order by A;

-- Drop Temp Table
Drop Table Tom_1;
Drop Table Tom_2;

Apache Tomcat 架設虛擬路徑 (一台電腦架多個網站)

針對 Apache Tomcat Web Server 部分,

若一台電腦, 想架設多個網站,

可以透過不同虛擬路徑來達成,

如 :
http://127.0.0.1:8080/AAA 指定到 C:\Test 實際目錄
http://127.0.0.1:8080/BBB 指定到 D:\Temp 實際目錄

設定如下 (以 Tomcat 5.0.28 說明) :

1) 輸入 http://127.0.0.1:8080 (8080 是預設, 看你當時安裝設定 Port 為多少), 然後點選 "Tomcat Administration" :


2) 輸入 Tomcat admin 的帳號 / 密碼 :


3) 選擇 Service 下的 "Host" :


4) 選擇 Host Action 為 "Create New Context", 來建立一個虛擬路徑 :


5) 輸入網頁的 "實際路徑", "虛擬路徑", 然後按 "Save" :


6) 登出, 然後重新啟動 Apache Tomcat 服務 :


若要第二個虛擬路徑, 則重複上述步驟即可.

希望對各位有所幫助.

Firefox 利用外部程式查看原始檔

在 Firefox 中, 若用原內建的程式查看原始檔,

說實在的, 相當不方便,

可以用以下方式, 變更 Firefox 檢視原始檔的程式 :

在 Firefox 中, 若用原內建的程式查看原始檔,

說實在的, 相當不方便,

可以用以下方式, 變更 Firefox 檢視原始檔的程式 :

1) 網址輸入 about:config, 然後按 "我發誓, 我一定會小心的"


2) 輸入篩選條件 : view_source.editor.external, 值 double-click 設定為 true


3) 輸入篩選條件 : view_source.editor.path, 值 double-click 設定為 "你要指定的程式路徑"



4) 重新啟動 Firefox 即可.

這樣, 你就可以用指定的程式, 當作 Firxfox 檢視原始檔的工具了.

Windows Mobile 電池力顯示 100 格

在 WM 6.1 的電力顯示, 是以 10 格做為區隔,

若想要以 100 格作為區隔,

可以安裝 xda-developers 這篇文章的軟體,

網址 : http://forum.xda-developers.com/showthread.php?t=512769

安裝步驟, 如下 :
1) 先安裝 SDKcerts.cab
2) 再安裝下面的檔案, 其中, 手機若是
   Sony X1, 則下載 SEX1_Batt_Enhancer_XPERIA_v1.cab.
   HTC 系列, 則下載 SEX1_Batt_Enhancer_MANILA_v1.cab.
   QVGA 螢幕大小, 則下載 SEX1_Batt_Enhancer_QVGA_v1.cab.
3) 手機重新開機.

搭配工作列圖示變更, 可以顯示更美觀 :


希望對 WM 愛用者有所幫助.

進行 Oracle ERP Application 中, Form 的 Event 與 Built-in Trace 動作

Oracle ERP 本身除了 DB Trace 之外,

還可以做 Event, Built-in 的 Trace,

步驟如下 :

步驟 1) 在登入 Oracle ERP 的網址列中, 輸入 http://machine.domain:port/dev60cgi/f60cgi?record=collect&log=OS任何一個路徑/file_name.log

步驟 2) 利用 FTP, 到剛才指定的 OS 路徑中, 下載 log 檔.

步驟 3) 在 log 檔案中, 可以利用以下關鍵字搜尋資訊 :
. open: 找 "開啟過哪些 Form"
. Trigger: 找 "觸發過哪些 Event"

 事項
此 Trace 可以得知 Form 目前的作業,
在哪些物件 (Form / Block / Item) 觸發了哪些 Trigger,
而且這些 Trigger 中執行了哪些 Built-in Function

Windows Mobile 更換成 WM7 開機動畫

在 XDA-Developer 看到的文章,

可以將 WM6 or WM6.1 的開機動畫換成 WM7,

網址 : http://forum.xda-developers.com/showthread.php?t=516013

我自己本身是下載安裝 Ritchy 大大的 StartingWindows7_std.CAB 檔案.

範例圖 : (引用自 xda-developer)


有興趣者, 可以試試看.

Windows Mobile 工作列圖示變更

以下彙整在 XDA-Developers 中,

看到幾篇關於工作列變更圖示的文章,

下面幾篇文章, 都有共同的步驟, 如下 :
1) 下載 cab 安裝檔.
2) 複製到手機中, 安裝 cab 檔.
3) 手機重新開機.

有興趣者, 可以參考參考 :

文章 1) http://forum.xda-developers.com/showthread.php?t=502144


建議下載 Ahen 6b-6.5 Beta3-Win.cab 或 Ahen 6b-6.5 Beta3-Sun.cab 檔案.

文章 2) http://forum.xda-developers.com/showthread.php?t=520132


文章 3) http://forum.xda-developers.com/showthread.php?t=520547


文章 4) http://forum.xda-developers.com/showthread.php?t=482344


以上圖片, 引用自 xda-developer.
Related Posts Plugin for WordPress, Blogger...