說明 :
Oracle ERP Server之字元集與Client的字元集不符,導至Export產出之excel於Client開啟時,中文部分會呈現亂碼
解法 :
設定 FND: NATIVE CLIENT ENCODING 個人的Profile 為Client的字元集
例 : Client的字元集為繁體中文 ZHT16BIG5 , 設定如下
1. 這是個初學農友的農友日誌~ 2. Oracle ERP 分享 3. Oracle DBA 心得 4. Android 開發心得 5. MoJo寵物手作粉絲成員 6. 程式客製及外包專案接案
2014年2月26日 星期三
2013年10月6日 星期日
Oracle ERP R12. WF_NOTIFICATION.SEND (通知訊息功能)
Sample Code :
PROCEDURE SEND_WF_NOTIFICATION(I_TO IN VARCHAR2,
I_SUBJECT IN VARCHAR2,
I_TEXT IN VARCHAR2)
IS
/*
I_TO : Oracle EBS帳號
I_SUBJECT : 要顯示在Worklist的主旨
I_TEXT : 內容
*/
V_NOTIFICATION_ID NUMBER;
--
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
V_NOTIFICATION_ID := WF_NOTIFICATION.SEND(ROLE => I_TO,
MSG_TYPE => 'CS_MSGS',
MSG_NAME => 'FYI_MESSAGE',
PRIORITY => 1);
WF_NOTIFICATION.SETATTRTEXT(NID => V_NOTIFICATION_ID,
ANAME => 'OBJECT_TYPE',
AVALUE => I_SUBJECT);
WF_NOTIFICATION.SETATTRTEXT(NID => V_NOTIFICATION_ID,
ANAME => 'MESSAGE_TEXT',
AVALUE => I_TEXT); --MESSAGE BODY
COMMIT;
END;
PROCEDURE SEND_WF_NOTIFICATION(I_TO IN VARCHAR2,
I_SUBJECT IN VARCHAR2,
I_TEXT IN VARCHAR2)
IS
/*
I_TO : Oracle EBS帳號
I_SUBJECT : 要顯示在Worklist的主旨
I_TEXT : 內容
*/
V_NOTIFICATION_ID NUMBER;
--
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
V_NOTIFICATION_ID := WF_NOTIFICATION.SEND(ROLE => I_TO,
MSG_TYPE => 'CS_MSGS',
MSG_NAME => 'FYI_MESSAGE',
PRIORITY => 1);
WF_NOTIFICATION.SETATTRTEXT(NID => V_NOTIFICATION_ID,
ANAME => 'OBJECT_TYPE',
AVALUE => I_SUBJECT);
WF_NOTIFICATION.SETATTRTEXT(NID => V_NOTIFICATION_ID,
ANAME => 'MESSAGE_TEXT',
AVALUE => I_TEXT); --MESSAGE BODY
COMMIT;
END;
2013年9月24日 星期二
Oracle ERP R12. create locator using API (INV_LOC_WMS_PUB.CREATE_LOCATOR) - 建立Locator的API
若有需要大量新增Locator 則其有二種方式 :
1. Data Load
2. 呼叫 INV_LOC_WMS_PUB.CREATE_LOCATOR 該API
用法 :
FND_GLOBAL.APPS_INITIALIZE(1114,
51007,
401);
FND_MSG_PUB.Initialize;
INV_LOC_WMS_PUB.CREATE_LOCATOR(X_RETURN_STATUS => :X_RETURN_STATUS,
X_MSG_COUNT => :X_MSG_COUNT,
X_MSG_DATA => :X_MSG_DATA,
X_INVENTORY_LOCATION_ID => :X_INVENTORY_LOCATION_ID,
X_LOCATOR_EXISTS => :X_LOCATOR_EXISTS,
P_ORGANIZATION_ID => :P_ORGANIZATION_ID,
P_ORGANIZATION_CODE => :P_ORGANIZATION_CODE,
P_CONCATENATED_SEGMENTS => 儲位,
P_DESCRIPTION => 儲位描述,
P_INVENTORY_LOCATION_TYPE => 3,
P_PICKING_ORDER => :P_PICKING_ORDER,
P_LOCATION_MAXIMUM_UNITS => :P_LOCATION_MAXIMUM_UNITS,
P_SUBINVENTORY_CODE => 倉別,
P_LOCATION_WEIGHT_UOM_CODE => :P_LOCATION_WEIGHT_UOM_CODE,
P_MAX_WEIGHT => :P_MAX_WEIGHT,
P_VOLUME_UOM_CODE => :P_VOLUME_UOM_CODE,
P_MAX_CUBIC_AREA => :P_MAX_CUBIC_AREA,
P_X_COORDINATE => :P_X_COORDINATE,
P_Y_COORDINATE => :P_Y_COORDINATE,
P_Z_COORDINATE => :P_Z_COORDINATE,
P_PHYSICAL_LOCATION_ID => :P_PHYSICAL_LOCATION_ID,
P_PICK_UOM_CODE => :P_PICK_UOM_CODE,
P_DIMENSION_UOM_CODE => :P_DIMENSION_UOM_CODE,
P_LENGTH => :P_LENGTH,
P_WIDTH => :P_WIDTH,
P_HEIGHT => :P_HEIGHT,
P_STATUS_ID =>1,
P_DROPPING_ORDER => :P_DROPPING_ORDER,
P_ATTRIBUTE_CATEGORY => :P_ATTRIBUTE_CATEGORY,
P_ATTRIBUTE1 => :P_ATTRIBUTE1,
P_ATTRIBUTE2 => :P_ATTRIBUTE2,
P_ATTRIBUTE3 => :P_ATTRIBUTE3,
P_ATTRIBUTE4 => :P_ATTRIBUTE4,
P_ATTRIBUTE5 => :P_ATTRIBUTE5,
P_ATTRIBUTE6 => :P_ATTRIBUTE6,
P_ATTRIBUTE7 => :P_ATTRIBUTE7,
P_ATTRIBUTE8 => :P_ATTRIBUTE8,
P_ATTRIBUTE9 => :P_ATTRIBUTE9,
P_ATTRIBUTE10 => :P_ATTRIBUTE10,
P_ATTRIBUTE11 => :P_ATTRIBUTE11,
P_ATTRIBUTE12 => :P_ATTRIBUTE12,
P_ATTRIBUTE13 => :P_ATTRIBUTE13,
P_ATTRIBUTE14 => :P_ATTRIBUTE14,
P_ATTRIBUTE15 => :P_ATTRIBUTE15,
P_ALIAS => :P_ALIAS);
1. Data Load
2. 呼叫 INV_LOC_WMS_PUB.CREATE_LOCATOR 該API
用法 :
FND_GLOBAL.APPS_INITIALIZE(1114,
51007,
401);
FND_MSG_PUB.Initialize;
INV_LOC_WMS_PUB.CREATE_LOCATOR(X_RETURN_STATUS => :X_RETURN_STATUS,
X_MSG_COUNT => :X_MSG_COUNT,
X_MSG_DATA => :X_MSG_DATA,
X_INVENTORY_LOCATION_ID => :X_INVENTORY_LOCATION_ID,
X_LOCATOR_EXISTS => :X_LOCATOR_EXISTS,
P_ORGANIZATION_ID => :P_ORGANIZATION_ID,
P_ORGANIZATION_CODE => :P_ORGANIZATION_CODE,
P_CONCATENATED_SEGMENTS => 儲位,
P_DESCRIPTION => 儲位描述,
P_INVENTORY_LOCATION_TYPE => 3,
P_PICKING_ORDER => :P_PICKING_ORDER,
P_LOCATION_MAXIMUM_UNITS => :P_LOCATION_MAXIMUM_UNITS,
P_SUBINVENTORY_CODE => 倉別,
P_LOCATION_WEIGHT_UOM_CODE => :P_LOCATION_WEIGHT_UOM_CODE,
P_MAX_WEIGHT => :P_MAX_WEIGHT,
P_VOLUME_UOM_CODE => :P_VOLUME_UOM_CODE,
P_MAX_CUBIC_AREA => :P_MAX_CUBIC_AREA,
P_X_COORDINATE => :P_X_COORDINATE,
P_Y_COORDINATE => :P_Y_COORDINATE,
P_Z_COORDINATE => :P_Z_COORDINATE,
P_PHYSICAL_LOCATION_ID => :P_PHYSICAL_LOCATION_ID,
P_PICK_UOM_CODE => :P_PICK_UOM_CODE,
P_DIMENSION_UOM_CODE => :P_DIMENSION_UOM_CODE,
P_LENGTH => :P_LENGTH,
P_WIDTH => :P_WIDTH,
P_HEIGHT => :P_HEIGHT,
P_STATUS_ID =>1,
P_DROPPING_ORDER => :P_DROPPING_ORDER,
P_ATTRIBUTE_CATEGORY => :P_ATTRIBUTE_CATEGORY,
P_ATTRIBUTE1 => :P_ATTRIBUTE1,
P_ATTRIBUTE2 => :P_ATTRIBUTE2,
P_ATTRIBUTE3 => :P_ATTRIBUTE3,
P_ATTRIBUTE4 => :P_ATTRIBUTE4,
P_ATTRIBUTE5 => :P_ATTRIBUTE5,
P_ATTRIBUTE6 => :P_ATTRIBUTE6,
P_ATTRIBUTE7 => :P_ATTRIBUTE7,
P_ATTRIBUTE8 => :P_ATTRIBUTE8,
P_ATTRIBUTE9 => :P_ATTRIBUTE9,
P_ATTRIBUTE10 => :P_ATTRIBUTE10,
P_ATTRIBUTE11 => :P_ATTRIBUTE11,
P_ATTRIBUTE12 => :P_ATTRIBUTE12,
P_ATTRIBUTE13 => :P_ATTRIBUTE13,
P_ATTRIBUTE14 => :P_ATTRIBUTE14,
P_ATTRIBUTE15 => :P_ATTRIBUTE15,
P_ALIAS => :P_ALIAS);
2013年9月11日 星期三
Oracle ERP R12. How to select oe_transaction_type_syn ?
Before execute SQL :
declare
begin
MO_GLOBAL.SET_POLICY_CONTEXT('S',81); --Set Org_ID
end;
Then
select * from oe_transaction_types_syn;
declare
begin
MO_GLOBAL.SET_POLICY_CONTEXT('S',81); --Set Org_ID
end;
Then
select * from oe_transaction_types_syn;
2013年7月31日 星期三
Oracle ERP R12. Profile - OE: AutoPrice (自動更新Unit Selling Price時機設定)
經同仁反應,訂單的單價常會不明原因自動被更改掉,而user都不知道.
經查發現原因如下:
因為訂單會指定price list ,故只要訂單項次有調整任何一欄位(unit selling price欄除外),則系統會再自動從price list中取回目前最新的設定.
而該行為的主要原因是控制在一Profile => OE: AutoPrice , 該Profile的值預設為空值所導致的關係.
以下是該Profile設定的說明 : (本人測試得來的結果)
空值 => 不論是Entered 或是 Booked狀態皆會自動取回最新的price list值
Entry => 只有在訂單狀態為Entered 時才會自動取回最新的price list值
Booking => 不論狀態如何皆不會自動取回最新的price list值.
Ps :
以上純為本人測試之結果,若讀者測試後有任何心得請不吝指教,以該本人更新正確之資訊~
<<2013/08/04 不具名的網友 補充以下說明>>
通常業務流程而言, 應該定義為N (calculate_price_flag) , 避免訂單預定後仍可能因為手動或API變更而改變售價
*reference Doc ID 134326.1
· If it’s set to ‘Y’, both pricing and freight charge calculations are done.
· If it’s set to ‘P’, only the freight charge calculation is done.
'P' also indicates that modifiers assigned to a pricing phase
where freeze override is enabled could also be applied.
· If it’s set to ‘N’, neither pricing nor freight charge is calculated.
經查發現原因如下:
因為訂單會指定price list ,故只要訂單項次有調整任何一欄位(unit selling price欄除外),則系統會再自動從price list中取回目前最新的設定.
而該行為的主要原因是控制在一Profile => OE: AutoPrice , 該Profile的值預設為空值所導致的關係.
以下是該Profile設定的說明 : (本人測試得來的結果)
空值 => 不論是Entered 或是 Booked狀態皆會自動取回最新的price list值
Entry => 只有在訂單狀態為Entered 時才會自動取回最新的price list值
Booking => 不論狀態如何皆不會自動取回最新的price list值.
Ps :
以上純為本人測試之結果,若讀者測試後有任何心得請不吝指教,以該本人更新正確之資訊~
<<2013/08/04 不具名的網友 補充以下說明>>
通常業務流程而言, 應該定義為N (calculate_price_flag) , 避免訂單預定後仍可能因為手動或API變更而改變售價
*reference Doc ID 134326.1
· If it’s set to ‘Y’, both pricing and freight charge calculations are done.
· If it’s set to ‘P’, only the freight charge calculation is done.
'P' also indicates that modifiers assigned to a pricing phase
where freeze override is enabled could also be applied.
· If it’s set to ‘N’, neither pricing nor freight charge is calculated.
訂閱:
文章 (Atom)
