Oracle ERP 的 Event Alert 中, 取得觸發該 Alert 的最後觸發時間


在 Oracle ERP 的 Standard Alert 中,

有一個內定變數 :DATE_LAST_CHECKED,

用來取得觸發此 Event Alert 的時間,

範例, 如圖 :


Android Emulator 透過 Proxy Server 上網

Android Emulator 若要透過 Proxy Server 上網, 可以參考以下的設定 :

1) 在 Android 設定作業中, 選擇 "無線與網路" 項目 :


2) 選擇 "行動網路" 項目 :


3) 選擇 "存取點名稱 (APN)" 項目 :


4) 選擇 Android 內建 APN "TelKila" 項目 :


5) 輸入 Proxy Server IPProxy Server Port :




6) 儲存設定 :


7) 開啟瀏覽器, 結果如圖 :
Google :


Kimo :


Oracle ERP 過濾 Alert SQL Statement

在 Oracle ERP 中,

若要過濾 Alert 的 SQL Statement,

找出自己所需要的 Alerts,

可以參考以下語法 :
 程式碼
declare
v_condition_value varchar2(100) := '&Condition';

cursor cur_data is
select ALERT_NAME
, SQL_STATEMENT_TEXT
from ALR_ALERTS;
begin
for rec_data in cur_data loop
if rec_data.SQL_STATEMENT_TEXT like '%'|| v_condition_value ||'%' then
dbms_output.put_line( rec_data.ALERT_NAME );
end if;
end loop;
end;

Oracle ERP 的 Event Alert 取得觸發該 Alert 的 ORG_ID

在 Oracle ERP 的 Standard Alert 中,

有一個內定變數 :ORG_ID,

用來取得觸發此 Event Alert 的 ORG_ID (OU) 或 Organization_ID,

範例, 如圖 :


Eclipse 將 Old Eclipse Project 載入進來

Eclipse Import 舊專案步驟, 如下 :

1) 點選 File / Import... :


2) 然後選擇 General / Existing Projects into Workspace :


3) 在 Select root directory 欄位中, 選擇 "舊有 Eclipse Project" 所在目錄, 然後按 Finish 鈕即可 :
(若舊有 Project 已放置在 workspace 中, 則可以不用勾選 "Copy projects into workspace")


4) 載入結果, 如圖 :


Ubuntu Linux 版本升級

Ubuntu Linux 版本升級, 有以下兩種方式 :


方式 1: 透過 "更新管理員" 升級

Ubuntu Linux 有新版本時, 更新管理員會自動顯示 "升級" 按鈕 :


升級的發行公告, 不用理它, 直接按 "升級" 鈕, 進行升級 :



方式 2: 透過 "指令" 升級

升級指令: update-manager -d

參考文章: http://softsmith.blogspot.com/2009/05/ubuntu-804-904.html.

Oracle Cursor 筆數太多, 處理時間太長, 如何分批處理 ?


在 Oracle PL/SQL 中, 透過 Cursor 取回資料時,

若資料量太多, 導致處理時間太長, 該如何處理 ?

可以用 Job 排定時間分批處理, 用以下兩種區分資料的處理方式:

1) 用 rownum,每次 Job 處理固定的筆數.

2) 每一筆資料處理前,先取得 Sysdate,看有無超過時間; 若無,則處理之; 若有,則 Close Cursor.

以上, 我的經驗談, 參考看看喔 ...

Android APK 檔案的 mime type

每種檔案, 都有其 mime type,

如: 圖檔為 image/*

如: 影片檔為 video/*

如: 音樂檔為 audio/*

那 Android APK 檔案的 mime type 呢 ?

其實, APK 檔的 mime type 為 application/vnd.android.package-archive.

Oracle PL/SQL 的 Cursor Fetch 相關資訊

對於 Oracle Cursor 在 Fetch 資料時,

約有以下幾項注意事項 :
 事項 1
Cursor 在 Open 之後,
會把 Database 資料寫入到 SGA 記憶體中.

 事項 2
Cursor 在 Fetch 時,
資料是抓取 SGA 記憶體的資料,
所以要 Fetch 的資料筆數已確定.

如: Table 原有 5 筆資料,
在 Fetch 的同時對同一個 Table 做新增且 Commit,
但其 Cursor 迴圈數仍為 5 次.

 事項 3
Cursor 在 Fetch 時,
資料是抓取 SGA 記憶體的資料,
所以在 Fetch 的同時對同一筆資料的其他欄位 A 作修改後,
即使下 Commit,
但 Cursor 在讀取 A 欄位時, 仍為舊資料.

 事項 4
Fetch Cursor 已無資料 (NotFound) 時,
若繼續 Fetch 時,
其值為 Null.

 事項 5
若 Fetch 的資料有要確認是否為 Null 值時,
建議在 Fetch 資料至變數前,
先將變數值設定為 Null,
因為有些時候,
Fetch 無資料時,
變數值會保留上一次 Fetch 的資料.

以上, 是我對於 Oracle Cursor 的經驗談.

Oracle ERP 的 Event Alert 只抓取觸發 Alert 的 User Mail Address, 做為 Mail 收件者


Standard Alert 中, 有一個內定變數 :MAILID, 做為觸發此 Alert 的使用者 Mail (來源: FND_USER 的 Mail Address).

你只需將 Mail 收件者設定為 :MAILID 即可, 如下圖:

Oracle ERP 的 Event Alert 只抓取觸發 Alert 的當筆資料

在 Alert 的 Where Clause 中加入一行條件即可, 如下:

<Event Table or View>.ROWID = :ROWID
or
<Event Table or View>.ROW_ID = :ROWID

其中 :ROWID 為 Alert 中的內定值.

而且, :ROWID 不分大小寫, 但 :ROWID 不能有底線, 也就是 :ROWID 不能寫成 :ROW_ID.



Oracle ERP 的 Event Alert 為何一直無法觸發

在 Oracle ERP 中, 若 Event Alert 一直沒有觸發 or 收不到 Mail, 可以按照下面步驟檢查 :

檢查 1: Alert 中的 Application 需有設定在 Alert Manager / System / Installations 中.


檢查 2: 檢查右下角 Alert DetailsInstallations Page 中, Oracle ID 是否有 APPS; 若無, 請設定之.

檢查 3: 檢查右下角 Alert DetailsInstallations Page 中, 是否有設定 Operating Unit; 若無, 請設定之.


檢查 4: 檢查右下角 Action SetsMembers Page 中, 是否有指定 Action; 若無, 請設定之.


檢查 5: 是否 Table 真的有 Insert or Update; 可以從 Alert Manager / History 中查看有無 Alert 執行的紀錄.




檢查 6: 若 Alert Manager / History 中查看有 Alert 執行的紀錄, 但卻沒有 Exception 筆數, 則看 SQL 是否正確設定 :rowid.

檢查 7: 若 Alert Manager / History 中查看無 Alert 執行的紀錄, 則看 System Admin / Concurrent / Manager / AdministerAlert Event Manager 是否有啟動, 若無, 則 Activate.


檢查 8: 若上述檢查都 OK, 也確定有 Alert 有觸發執行, 卻收不到 Mail, 則看 Alert Manager / System / Options 是否有設定 Mail 程式, 若無, 則設定之.




p.s. 當有 Event Alert 時, 系統會自動在 DBA_TRIGGERS table 中, 增加名為 ALR_<TableName>_IAR or ALR_<TableName>_UAR 的 trigger.

Android Activity 隱藏標題 (全螢幕顯示)

一般預設情況 :


隱藏手機標題的指令 :
 程式碼
this.getWindow().setFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN
, WindowManager.LayoutParams.FLAG_FULLSCREEN
);




隱藏 Activity 程式標題的指令 (必須在 setContentView 之前執行, 否則會有錯誤) :
 程式碼
this.requestWindowFeature( Window.FEATURE_NO_TITLE );



全螢幕 (執行上述兩個指令):


Oracle ERP Alert 如何在同一天多次執行 ?

要讓 Oracle ERP Alert 在一天之內,

同一個 Alert 多次執行,

可以參考以下方式 :

 方式 1: 設定時間區間 (建議用這個)
輸入 Alert 的 End Time (一天之中限定 Alert 執行的最後時間) 後,

Check Interval (時間區間) 欄位便可輸入,

如要半小時執行一次, 便將 Check Interval 設定為 00:30:00 即可.



 方式 2: Copy Alert, 設定不同的執行時間
建立一份 Alert 之後, 複製許多份, 並將每份 Alert 設定為不同的執行時間.








Oracle PL/SQL 的 for loop 迴圈使用

在 Oracle PL/SQL 中,

提供一種方便的迴圈語法: for ... loop,

有以下四種方式可應用 :

 第一種應用 (n <= m, 且由 n 到 m)
for i in n..m loop
  ...
end loop;

 第二種應用 (n <= m, 但由 m 到 n)
for i in reverse n..m loop
  ...
end loop;

 第三種應用
declare
  cursor cur_data is
  select ...;
begin
  for rec_data in cur_data loop
    ...
  end loop;
end;

 第四種應用
for rec_data in (select ...) loop
  ...
end loop;


Related Posts Plugin for WordPress, Blogger...