2015年3月19日 星期四

[Oracle]Oracle Form 觸發器執行順序

以下來源網址:http://blog.csdn.net/papaya14/article/details/7638428
-----------(以下僅簡體轉正體,未更動內容一絲分毫)

Form的Trigger的優先順序是從item,到block,到form級別,如果另外設置Execution Hierarch屬性(override,before,after),則按照設置後的循序執行。如果是override的話,則執行完這個級別的觸發器,就不往上執行了,before就是執行完這個級別的觸發器後,如果上一個級別也有這個觸發器的話,繼續去執行,after就是先去執行上一個級別的觸發器,然後再回來執行。感覺觸發器比較難理解的還是每一種觸發器觸發的時間,和在開發中怎麼使用。目前瞭解的就是pre-…,when-new-…-instance,when-…-validate,post-query和幾個on-…觸發器

觸發器執行順序:

1.當打開FORM時:
(1)PRE-FORM
(2)PRE-BLOCK(BLOCK級)
(3)WHEN-NEW-FORM-INSTANCE
(4)WHEN-NEW-BLOCK-INSTANCE
(5)WHEN-NEW-RECORD-INSTANCE
(6)WHEN-NEW-ITEM-INSTANCE
2.當填寫一行記錄完成後,游標移動到下一條記錄的時候:
(1)WHEN-VALIDATE-RECORD
(只將填寫的記錄與資料庫中已存在的記錄作唯一性的驗證,如果只是頁面上的資料重複而資料庫中沒有與其重複的值則不會報錯.)
(2)WHEN-NEW-RECORD-INSTANCE
(3)WHEN-NEW-ITEM-INSTANCE
3.當點擊“保存”時
(1)WHEN-VALIDATE-RECORD
(將頁面上的所有資料提交到資料庫,若頁面上有重複的資料,則提交第一次時成功但只是將資料先寫到資料庫中一類似臨時表的地方,在提交第二條重複記錄的時候報錯,執行交易復原,原來執行成功的指令也將被撤銷)
(2)PRE-INSERT
(3)ON-INSERT
(4)POST-INSERT
(5)POST-FORMS-COMMIT
(6)PRE-BLOCK(BLOCK級)
(7)KEY-COMMIT
(8)WHEN-NEW-ITEM-INSTANCE
4.當游標移動到當前資料塊中已經顯示的行上時:
(1)WHEN-REMOVE-RECORD
(2)WHEN-NEW-RECORD-INSTANCE
(3)WHEN-NEW-ITEM-INSTANCE
當在該行上的不同ITEM移動時:
(4)WHEN-NEW-ITEM-INSTANCE
5.當要進行修改時(在記錄中的某個項上進行了修改時):
(1)ON-LOCK
6.在修改完成後進行保存時:
(1)WHEN-VALIDATE-RECORD
(2)PRE-UPDATE
(3)ON-UPDATE
(4)POST-FORMS-COMMIT
(5)PRE-BLOCK(BLOCK級)
(6)KEY-COMMIT
(7)WHEN-NEW-ITEM-INSTANCE
7.刪除一條記錄時:
(1)ON-LOCK
(2)WHEN-REMOVE-RECORD
(3)KEY-DELREC
(4)WHEN-NEW-RECORD-INSTANCE
(5)WHEN-NEW-ITEM-INSTANCE
8.F11查詢過程:
(1)WHEN-CLEAR-BLOCK
(2)WHEN-NEW-RECORD-INSTANCE
(3)WHEN-NEW-ITEM-INSTANCE
在輸入查詢準則後點CTRL+F11:
(4)PRE-QUERY
(5)WHEN-CLEAR-BLOCK
(6)POST-QUERY
(7)WHEN-NEW-RECORD-INSTANCE
(8)WHEN-NEW-ITEM-INSTANCE
9.CRRL+F11:
(1)WHEN-CLEAR-BLOCK
(2)PRE-QUERY
(3)WHEN-CLEAR-BLOCK
(4)POST-QUERY(每查一條記錄,觸發一次)
(5)WHEN-NEW-RECORD-INSTANCE
(6)WHEN-NEW-ITEM-INSTANCE
10.從查詢狀態(F11)轉為輸入狀態(F4)時:
(1)WHEN-CLEAR-BLOCK
(2)KEY-EXIT
(3)WHEN-NEW-RECORD-INSTANCE
(4)WHEN-NEW-ITEM-INSTANCE
11.手電筒查詢過程:
(1)QUERY_FIND(BLOCK級)
輸入查詢準則後,點擊“查詢”按鈕:
(2)WHEN-CLEAR-BLOCK
(3)PRE-QUERY
(4)WHEN-CLEAR-BLOCK
(5)POST-QUERY
(6)WHEN-NEW-RECORD-INSTANCE
(7)WHEN-NEW-ITEM-INSTANCE
12.點擊“New”時:
(1)WHEN-NEW-RECORD-INSTANCE
(2)WHEN-NEW-ITEM-INSTANCE
13.點擊“EditField”時:
(1)KEY-EDIT
14.點擊“WindowHelp”時:
(1)KEY-HELP
15.點擊“ClearRecord”時:
(1)WHEN-REMOVE-RECORD
(2)POST-QUERY
(3)WHEN-NEW-RECORD-INSTANCE
(4)WHEN-NEW-ITEM-INSTANCE
16.點擊F4關閉時:
(1)KEY-EXIT
(2)POST-FORM
17.點擊“CloseForm”按鈕關閉時:
(1)KEY-EXIT
(2)POST-FORM
18.點擊“Translations”按鈕時:
(1)TRANSLATIONS
19.點擊小叉號關閉時:
(1)WHEN-WINDOW-CLOSED
(2)CLOSE-WINDOW
(3)KEY-EXIT
(4)POST-FORM
20.選中LOV列表:
(1)KEY-LISTVAL
(2)WHEN-NEW-ITEM-INSTANCE
21.選中記錄前面的小條時:
(1)WHEN-NEW-RECORD-INSTANCE
(2)WHEN-NEW-ITEM-INSTANCE(資料項目級)
(3)WHEN-NEW-ITEM-INSTANCE
22.游標上下移動時:
(1)WHEN-NEW-RECORD-INSTANCE
(2)WHEN-NEW-ITEM-INSTANCE
Tag標籤: Oracle Form Builder觸發器執行順序



Triggers in Oracle Forms
Triggers are blocks of PL/SQL code that are written to perform tasks when a specific event occurs within an application. In effect, an Oracle Forms trigger is an event-handler written in PL/SQL to augment (or occasionally replace) the default processing behavior. Every trigger has a name, and contains one or more PL/SQL statements. A trigger encapsulates PL/SQL code so that it can be associated with an event and executed and maintained as a distinct object.
Block Processing Triggers:
Block processing triggers fire in response to events related to record management in a block.
When-Create-Record Perform an action whenever Oracle Forms attempts to create a new record in a block.
When-Clear-Block Perform an action whenever Oracle Forms flushes the current block; that is, removes all records from the block.
When-Database-Record Perform an action whenever Oracle Forms changes a record’s status to Insert or Update, thus indicating that the record should be processed by the next COMMIT_FORM operation.
Interface Event Triggers:
Interface event triggers fire in response to events that occur in the form interface. Some of these triggers, such as When-Button-Pressed, fire only in response to operator input or manipulation. Others, like When-Window-Activated, can fire in response to both operator input and programmatic control.
When-Button-Pressed Initiate an action when an operator selects a button, either with the mouse or through keyboard selection.
When-Checkbox-Changed Initiate an action when the operator toggles the state of a check box, either with the mouse or through keyboard selection.
When-Image-Activated Initiate an action whenever the operator double-clicks an image item.
When-Image-Pressed Initiate an action whenever an operator clicks on an image item.
When-Radio-Changed Initiate an action when an operator changes the current radio button selected in a radio group item.
When-Window-Activated Initiate an action whenever an operator or the application activates a window.
When-Window-Closed Initiate an action whenever an operator closes a window with the window manager’s Close command.
When-Window-Deactivated Initiate an action whenever a window is deactivated as a result of another window becoming the active window.
Master/Detail Triggers:
Oracle Forms generates master/detail triggers automatically when a master/detail relation is defined between blocks. The default master/detail triggers enforce coordination between records in a detail block and the master record in a master block. Unless developing custom block-coordination schemes, you do not need to define these triggers.
On-Check-Delete-Master Fires when Oracle Forms attempts to delete a record in a block that is a master block in a master/detail relation.
On-Clear-Details Fires when Oracle Forms needs to clear records in a block that is a detail block in a master/detail relation because those records no longer correspond to the current record in the master block.
On-Populate-Details Fires when Oracle Forms needs to fetch records into a block that is the detail block in a master/detail relation so that detail records are synchronized with the current record in the master block.
Message-Handling Triggers:
Oracle Forms automatically issues appropriate error and informational messages in response to runtime events. Message handling triggers fire in response to these default messaging events.
On-Error Replace a default error message with a custom error message, or to trap and recover from an error.
On-Message To trap and respond to a message; for example, to replace a default message issued by Oracle Forms with a custom message.
Validation Triggers:
Validation triggers fire when Oracle Forms validates data in an item or record. Oracle Forms performs validation checks during navigation that occurs in response to operator input, programmatic control, or default processing, such as a Commit operation.
When-Validate-Item
When-Validate-Record
Navigational Triggers:
Navigational triggers fire in response to navigational events. Navigational triggers can be further sub-divided into two categories: Pre- and Post- triggers, and When-New-Instance triggers. Pre- and Post- Triggers fire as Oracle Forms navigates internally through different levels of the object hierarchy. When-New-Instance-Triggers fire at the end of a navigational sequence that places the input focus on a different item.
Pre-Form Perform an action just before Oracle Forms navigates to the form from “outside” the form, such as at form startup.
Pre-Block Perform an action before Oracle Forms navigates to the block level from the form level.
Pre-Record Perform an action before Oracle Forms navigates to the record level from the block level.
Pre-Text-Item Perform an action before Oracle Forms navigates to a text item from the record level.
Post-Text-Item Manipulate an item when Oracle Forms leaves a text item and navigates to the record level.
Post-Record Manipulate a record when Oracle Forms leaves a record and navigates to the block level.
Post-Block Manipulate the current record when Oracle Forms leaves a block and navigates to the form level.
Post-Form Perform an action before Oracle Forms navigates to “outside” the form, such as when exiting the form.
When-New-Form-Instance Perform an action at form start-up. (Occurs after the Pre-Form trigger fires).
When-New-Block-Instance Perform an action immediately after the input focus moves to an item in a block other than the block that previously had input focus.
When-New-Record-Instance Perform an action immediately after the input focus moves to an item in a different record.
When-New-Item-Instance Perform an action immediately after the input focus moves to a different item.
Transactional Triggers:
Transactional triggers fire in response to a wide variety of events that occur as a form interacts with the data source.
On-Delete
On-Insert
On-Update
On-Logon
On-Logout
Post-Database-Commit
Post-Delete
Post-Insert
Post-Update
Pre-Commit
Pre-Delete
Pre-Insert
Pre-Update
Query-Time Triggers:
Query-time triggers fire just before and just after the operator or the application executes a query in a block.
Pre-Query Validate the current query criteria or provide additional query criteria programmatically, just before sending the SELECT statement to the database.
Post-Query Perform an action after fetching a record, such as looking up values in other tables based on a value in the current record. Fires once for each record fetched into the block.

打開,關閉,創建,更新記錄的trigger次序
PRE-……
在進入一個form,或是導航到一個新的block時觸發,PRE-……系列的觸發器一般是在WHEN-NEW-……-INSTANCE系列之前,它們如果失敗了的話,就不能成功導航到下一個物件了,只能留在當前的位置。在這些觸發器裡可以設置一些判斷條件來限制是否可以導航到新的位置。
WHEN-NEW-……-INSTANCE
這一類的trigger都是當滑鼠游標每次落到一個新的block,record,item上時觸發的,而且就算失敗了,也不會發生什麼錯誤。但是when-new-form-instance,只有當form啟動時,游標導航到第一個導航塊的第一個導航item時觸發,如果一個應用有多個form,當游標在各個form之間轉換時,並不會觸發它。

POST-TEXT-ITEM和WHEN-VALIDATE-ITEM
Post-text-item的觸發點:當輸入的游標從一個Text-Item 轉到其它item,可以用它來改變item的值,而when-Validate-item雖然也是在離開前觸發,但是作用不同,Post-Text-Item本身是沒有驗證的,when-Validate-item可以用來補充一些驗證(除了form本身的驗證),但是當form驗證成功以後,會把item標誌為‘valid’,而不會再去驗證了,如果這時我們再去修改它的值,那麼就有可能會把無效的值導入到資料庫。在創建和更新一條記錄時,先觸發when-Validate-item,再觸發Post-Text-Item,然後是when-Validate-record。
POST-……系列的都是離開當前的block,record,item時觸發的
WHEN-WINDOW-ACTIVATED
做原材料屬性修改平臺時,第一次使用這個觸發器,用來從另一個window返回時,刷新當前window,代碼寫在了這個觸發器裡。使用之前用fnd_message.debug試驗了一下,打開視窗後不停的彈出message。只要這個視窗在活動期間就會不停的執行這個觸發起裡面的代碼,所以執行的代碼應該用if條件限制一下。
Form的Trigger的優先順序是從item,到block,到form級別,如果另外設置Execution Hierarch屬性(override,before,after),則按照設置後的循序執行。如果是override的話,則執行完這個級別的觸發器,就不往上執行了,before就是執行完這個級別的觸發器後,如果上一個級別也有這個觸發器的話,繼續去執行,after就是先去執行上一個級別的觸發器,然後再回來執行。感覺觸發器比較難理解的還是每一種觸發器觸發的時間,和在開發中怎麼使用。目前瞭解的就是pre-…,when-new-…-instance,when-…-validate,post-query和幾個on-…觸發器

驗證代碼寫在WHEN-VALIDATE-RECORD和PRE-INSERT的不同
驗證代碼寫在WHEN-VALIDATE-RECORD和PRE-INSERT的不同
1、寫在WHEN-VALIDATE-RECORD,可以及時地提示錯誤資訊,如果驗證時要和後臺資料庫關聯的話,那麼要寫在PRE-INSERT,因為PRE-INSERT,ON-INSERT都是一條一條記錄執行的,這樣批量錄入時,每一條記錄的驗證都可以取到最新的資料庫記錄。
2、批量錄入時,有一條的PRE-INSERT不成功,則所有記錄都不能保存成功

Post-Query和When-New-Record-Instance關係
Post-Query和When-New-Record-Instance
假定資料庫中有100條記錄,塊設置顯示行數為10,那麼當游標在顯示出來的記錄間移動時,只觸發When-New-Record-Instance,不觸發Post-Query。當游標移到第十一條記錄時,觸發Post-Query


不可見item的when-validate-item使用
問題:如果一個item是不可見的,那麼改變它的值,還會觸發when-validate-item嗎?
結果:會觸發,但不是在改變它的值後觸發,而是在游標移到另一個block時。關閉窗口時也觸發了。
測試:設block1的item1為不可見,在item2的when-validate-item給tem1賦值,運行時,改變item2的值後,在block1的各item間移動游標都沒有觸發item1的when-validate-item,直到游標離開這個block,或關閉視窗時才觸發。

ACCEPT Trigger 講解
ACCEPT  APP_STANDARD.EVENT(‘ACCEPT’); 這個觸發器處理功能表或工具條上調用Save and Proceed (保存並繼續)動作。它執行保存,並移動到指定當作第一個導航塊的塊上。       替換這個觸發器中的代碼,或創建塊級觸發器並把執行類型指定為‘Override’

FOLDER_RETURN_ACTION
FOLDER_RETURN_ACTION
     這個觸發器允許指定客戶華的資料夾事件
     用需要的處理資料夾動作的代碼替換

KEY_DUPREC
APP_STANDARD.EVENT(‘KEY-DUPREC’);
    這個觸發器禁用了Oracle 表單預設的重複記錄的功能

KEY-CLRFRM
KEY-CLRFRM
   APP_STANDARD.EVENT(‘KEY-CLRFRM’);
   這個觸發器在試圖清空form前驗證記錄
   在原來的代碼後添加附加的代碼,通常你你應添加GO_BLOCK如果form中存在多個的區域,使用GO_BLOCK在調用清空from操作後重新填充控制功能表

KEY_MENU
KEY_MENU
  APP_STANDARD.EVENT(‘KEY-MENU’);
   這個觸發器禁用了Oracle froms的Block Menu 命令
   為了啟用從特定的塊對替代的塊通過鍵盤操作,那麼編寫塊級KEY_MENU並且設定執行類型為’Override ’這個觸發器會打開一個與彈出式功能表相同的LOV

KEY_LISTVAL
KEY_LISTVAL
  APP_STANDARD.EVENT(‘KEY-LISTVAL’);
  這個觸發器執行彈性域操作或引用LOV
  創建塊或項級觸發器並設置執行類型為‘Override’,可以使用日曆或動態執行彈性域

ON-ERROR
ON-ERROR
  APP_STANDARD.EVENT(‘ON-ERROR’);
這個觸發器處理伺服器或用戶端的所有的錯誤,使用消息字典調用。
為了捕獲處理指定的錯誤,在調用APP_STANDARD前檢查指定的錯誤declare
original_mess varchar2(80);
begin
IF MESSAGE_CODE = <your message number> THEN
original_mess := MESSAGE_TYPE||’–’||
to_char(MESSAGE_CODE)||’: ’||MESSAGE_TEXT;
––– your code handling the error goes here
message(original_mess);
ELSE
APP_STANDARD.EVENT(’ON_ERROR’);
END IF
end;

POST-FORM
POST-FORM.
  APP_STANDARD.EVENT(‘POST-FORM’);
這個觸發器是預留為以後使用
添加附加的代碼在原有代碼之後。

PRE-FORM
PRE-FORM
FND_STANDARD.FORM_INFO(’$Revision: <Number>$’,
’<Form. Name>’,
’<Application Shortname>’,
’$Date: <YY/MM/DD HH24:MI:SS> $’,
’$Author: <developer name> $’);
APP_STANDARD.EVENT(’PRE–FORM’);
APP_WINDOW.SET_WINDOW_POSITION(’BLOCKNAME’,
’FIRST_WINDOW’);
這個觸發器初始化Oracle 應用的內部值和功能表。在這裡輸入的值將在Oracle應用程式功能表‘Help About Oracle Applications’中看到。
你必須編輯應用程式的簡稱,應用的簡稱控制當使用者選擇‘help’按鈕後哪個應用的線上說明文檔將被調用。如果你將應用的簡稱設置為FND,你的用戶將會看不到任何説明因為Oracle應用程式將不能建立可用的説明目標。
Form的名稱是用戶form名稱(form標題)。
Oracle公司使用源控制系統,它可以自動更新以“$”開頭的值,如果你不使用這個源控制系統你可以按你的開發資訊編輯這些值。
你必須編輯APP_WINDOW中的BLOCKNAME為你自己的block.不要編輯FIRST_WINDOW

QUERY_FIND
QUERY_FIND
APP_STANDARD.EVENT(‘QUERY_FIND’);
這個觸發器將設置顯示字串’Query Find is not available ’
在這個觸發器中替代代碼,當你創建視窗或Row_LOV在你的form中時創建塊級觸發器並設置執行類型為‘Override’

WHEN-NEW-FORM-INSTANCE
WHEN-NEW-FORM-INSTANCE
FDRCSID(’$Header: ... $’);
APP_STANDARD.EVENT(’WHEN–NEW–FORM–INSTANCE’);
–– app_folder.define_folder_block(’template test’,
’folder_block’, ’prompt_block’, ’stacked_canvas’,
’window’, ’disabled functions’);
--app_folder.event(’VERIFY’);
調用 APP_STANDARD.EVENT 是為了在query-only模式下調用FND_FUNCTION.EXECUTE,調用FNDRCSID是為了Oracle 應用程式的源控制系統(source control system).APP_FOLDER 只為了Oracle應用程式內部調用。客戶化form不需要FDRCSID或APP_FOLDER調用,但是如果將它們留在觸發器中也沒有影響。
在現有的代碼前添加附加代碼。

WHEN-NEW-RECORD-INSTANCE
WHEN-NEW-RECORD-INSTANCE
APP_STANDARD.EVENT(‘WHEN-NEW-RECORD-INSTANCE’);
這個觸發器管理Oracle應用程式功能表和工具列
創建塊級觸發器並設置執行類型為‘Before’

WHEN-NEW-ITEM-INSTANCE
WHEN-NEW-ITEM-INSTANCE
APP_STANDARD.EVENT(‘WHEN-NEW-ITEM-INSTANCE’);
這個觸發器管理Oracle應用程式的功能表和工具列
如果你添加彈性域方法調用,你應該添加它在APP_STANDARD.EVENT 調用前調用,通常,你不應該添加任何代碼在這個觸發器中,這樣的代碼將會影響你表單的速度並且影響每一個項

Oracle EBS Form. 中,不能修改的Trigger
Oracle應用程式不支援修改form級的觸發器
CLOSE_THIS_WINDOW
從菜單Action->Close 調用觸發器APP_CUSTOM.CLOSE_WINDOW 。
CLOSE_WINDOW
APP_CUSTOM.CLOSE_WINDOW(:SYSTEM.EVENT_WINDOW);
這個出發其處理所有關閉視窗的事件。編寫處理關閉視窗的事件必須寫在APP_CUSTOM.CLOSE_WINDOW包中
EXPORT
App_standard.event(‘EXPORT’);
這個觸發器是“Action,Export”功能表中的選擇。
FOLDER_ACTION
App_folder.event(:global.folder_action);
KEY-COMMIT
App_standard.event(‘KEY-COMMIT’);
這個觸發器處理正常的提交或form調用
KEY-EDIT
App_standard.event(‘KEY-EDIT’);
這個觸發器處理彈性域或日曆,編輯器操作。
KEY-EXIT
App_standard.event(‘KEY-EXIT’);
這個觸發器處理關閉事件和退出enter-query狀態
KEY-HELP
App_standard.event(‘KEY-HELP’);
這個觸發器調用視窗的説明系統。
LASTRECORD
APP_STANDARD.EVENT(‘LASTRECORD’);
這個觸發器處理功能表(Go ->LAST RECORD)事件
MENU_TO_APPCORE
App_standard.event(:global.menu_to_appcore);
這個觸發器支援Special功能表
STANDARD_ATTACHMENTS
Atchmt_api.invoke;
這個觸發器處理附件功能表或工具按鈕的調用
WHEN-WINDOW-CLOSE
Execute_trigger(‘CLOSE_WINDOW’);
這個觸發器集中了form的關閉事件
WHEN-FORM-NAVIGATE
你不能修改這個觸發器,它包含了標準的行為,當最小化的表單被導航到的時候正常化這個表單。
ZOOM
Appcore_custom.event(‘ZOOM’);
這個觸發器處理功能表或工具條按鈕’Action,Zoom ’事件。

[Oracle]Oracle From Builder 系統變數

Oracle From Builder 系統變數

:system.block_status(目前data_block狀態)
    query:目前記錄是database返回的
    new:目前datablock是新記錄
    changed:目前datablock至少修改一筆資料

:system.form_status(目前form狀態)
    query:目前記錄是database返回的
    new:目前datablock是新記錄
    changed:目前datablock至少修改一筆資料

:system.record_status目前record狀態)
    changed 修改了記錄
    insert 有個新record.但未進DB
    new 沒有values
    query 可輸入條件搜尋

:system.trigger_node (Tree的node值)

:system.current_block(指出輸入focus的datablock,如無block則為null)
:system.current_value(指出輸入focus item的值,如無則為null)
:system.cursor_value (目前游標所在的值)
:system.current_item(指出輸入focus item的name)
:system.message_lavel(設定系統訊息門檻default 0)
:system.mode (系統狀態normal,enter_query,query)  

:system.last_record(回傳是否為最後一筆record TURE FALSE)
:system.cursor_record(目前record cursor所在的值)

2015年3月15日 星期日

[世界遺產之旅]日本文化遺產-琉球王國的城堡以及相關遺產群(Gusuku Sites and Related Properties of the Kingdom of Ryukyu) 2009.07.31

以下節錄自維基百科

琉球王國的城堡以及相關遺產群(日文:琉球王国のグスク及び関連遺産群)是指位在日本沖繩島的古蹟群,包括琉球國的城牆遺跡、御嶽(神域)以及王陵等。在琉球語中,グスク指的是「用石塊圈圍之地」,並引伸為「城堡」或「堡壘」。此遺跡群在2000年被聯合國教科文組織登錄為世界遺產。

登錄範圍

§登錄基準

琉球王國的城堡以及相關遺產群因符合下列標準,而被登錄為世界文化遺產:
  • (ii) 能在一定時期內或世界某一文化區域內,對建築藝術、紀念物藝術、城鎮規劃或景觀設計方面的發展產生極大影響。
  • (iii) 能為一種已消逝的文明或文化傳統提供一種獨特的至少是特殊的見證。
  • (vi) 與具特殊普遍意義的事件或現行傳統或思想或信仰或文學藝術作品有直接或實質的聯繫。

UNESCO 官網 
日文網站
http://oki-park.jp/shurijo/
http://heiwa-ga-ichiban.jp/sekai/sub/sub11.html
http://www.okinawastory.jp/information/world.html

2015年3月14日 星期六

[世界遺產之旅]日本文化遺產-日光的神社與寺院(Shrines and Temples of Nikko) 2008.10.25

以下節錄自維基百科

日光的神社與寺院(日文:日光の社寺),是指存在於日本栃木縣日光市的神社與寺院的總稱。1999年12月2日被聯合國教科文組織指定為世界遺產。
在1616年,德川家康的靈廟,即日光東照宮開始興建。此後,日光一地就成為德川家的聖地。之後,在1636年,東照宮進行了大規模的翻修,形成了現在的規模。接著還興建了德川家三代將軍,也就是德川家光的靈廟,即今大猷院。
此外,自8世紀以來,日光是以男體山為中心的山嶽信仰聖地。在男體山的山麓及附近的中禪寺湖有許多的神社及寺院存在。其中,建築最為壯觀華麗的是二荒山神社及輪王寺,由於幕府的大力經營,建築物上的雕刻非常細緻。

登錄範圍

登錄基準

日光的神社與寺院因符合下列的標準而被登錄為世界文化遺產:
  • (i) 代表了人類創造精神的傑作。
  • (iv) 突出地代表了某一類建築或技術的,並且展示了人類歷史上的某一段或幾段非常重要的時期。
  • (vi) 直接或明確地同某些具有突出的、普世的價值的事件、現實的傳統、思想、信仰、文化作品或文藝作品相聯繫

UNESCO 官網 
日本官網 
http://www.sekaiisan-nikko.jp/

2014年9月30日 星期二

[SAP]Consignment Stock

Movement Type:101
Goods receipt for purchase order or order

有一段說明
Possible special stock indicators:
  • K Goods receipt for purchase order to consignment stock
  • O Goods receipt for purchase order to stock of material provided to vendor
  • E GR for purchase order or order to sales order stock
  • Q GR for purchase order or order to project stock.
Goods receipt for
subcontract order: at goods receipt, the consumption of the components is posted at the same time (see movement type 543)

其中Consignment Stock的意思是

Consignment stock分為Vendor consignment stock 與 customer consignment stock二種.
你的客戶要求你先將你的產品放在他那裡(存貨仍屬你的資產), 當他用了產品(轉售予他的客戶或用來製造更高階的產品)後, 他才需要依使用量付錢給你. 如此他可節省付款給你的利息並避免庫存積壓的風險.

For Example

I think your product catalog is great but if you do not want to give me consignment
stock to see if there is a market for it sorry I have no interest then.

意思是:我認為你們產品的目錄(型錄)很棒,但是如果你們公司不能提供我公司產品的存貨免費寄放在你的倉庫,邊賣邊看看這個市場的反應,那很抱歉我對你們公司就沒有任何興趣(意願)了。


2014年9月29日 星期一

[旅遊經驗]日本旅遊經"縣"值

偶爾會上部落格爬文時會看到這樣的圖示















總覺得很有趣 也希望能出現在自己的部落格上
後來查到這個東西叫做 日本經縣值
網址為: http://keiken.uub.jp/kkn.cgi

連上去後
便可依照這樣的標準去統計你的日本經縣值

桃紅色: ◎ : 表示居住過 : 5分
紅色 :  ○ : 表示住宿過 : 4分
黃色 : ● : 表示拜訪過,有在上面走來走去 : 3分
綠色 : △ : 表示有經過且踏上土地,類似轉乘之類的 : 2分
水藍色 : ▲ : 表示通過,例如搭火車或是巴士經過沒有下車 : 1分
白色 : × : 沒去過沒經過沒踏上土地者 : 0分

成果如下:中部地區完全是全滅呀,四國還好今年會去,可以大進補一下
                  九州去過兩次了,完全覺得宮崎縣好容易被忽略呀,新幹線沒經過
                  觀光列車的時刻也跟別人完全不搭
                  北海道這麼大,我也去過很多天,也只算四點 唉


   Copy以下的語法就可以post在自己的部落格上嚕


2014年9月20日 星期六

[電影]2014新北市電影節[哥雅-筆畫下的幽靈;不吸菸;媽媽去哪裡?;日本夜與霧]

哥雅─畫筆下的幽靈Goya
(觀影日:2014.09.20 17:20 府中15)
導演:科拉沃夫 Konrad Wolf
1971│輔│BD│134 min│東德

劇情簡介:
當愛情、信仰、國族、理性與創作相衝突時,何者才是生命價值的準繩?

近代繪畫開創者哥雅,是個充滿矛盾的藝術家。他眷戀名位,卻厭惡貴族的愚昧,還刻意將王室畫得醜陋可笑;他自認是個唐吉訶德般狂熱的浪漫主義者,卻也鍾情於市井鄉土的寫實,更大膽創作諷刺的銅版畫;他深受天主教信仰掌控,卻仍壓抑罪惡感偷情,又為初萌的啟蒙信念與教會發生摩擦。本片描述1795 到1800年間,哥雅從風光的宮廷畫師,到被教會流放的心路歷程。

被納粹列為頭號公敵的猶太作家福伊希特萬格(Lion Feuchtwanger),以紮實的藝術考據,寫下這本關於哥雅的鉅著,抒發去國懷鄉之情。1971 年科拉沃夫在文藝部支援下,耗時一年籌備,動員東德、蘇聯、保加利亞片廠,匯集八國演員,並由《飛向太空》男主角班尼歐尼斯出飾哥雅一角,製作近3000 件戲服,並用70mm底片拍攝,改編成這部華美又恢宏的大片。

小說中對教會威權的描繪,原是作者指桑罵槐地批判美國政府對思想創作的審查壓制,經由科拉的改編,這樣的意念被轉化成為對1965 年東德共黨第11 次全代會後加強控管文化傳播手段的思考與反省。至於哥雅內在性格的衝突,則帶著科拉身為影像創作者的自我經驗投射。

簡評:對哥雅的生平及作品都不太熟,看電影才知道自己曾看過他的作品"農神吞噬其子"(希臘神話),看了電影才知道當年西班牙的宗教法庭竟是如此之可怕,哥雅明知危險還願意創作"裸體的馬哈","版畫作品:狂想曲",不能說是有道德勇氣,而是竟敢如此的隨心所欲,忠實呈現內心想表達的,導演功力及男主角演技都相當驚人,只是感受不太出特地使用70mm的底片拍攝是為何,影片中只有少部分恢弘的場景,還偶有對焦跑掉的問題
-----------------------------------------------------------------------------------------------------------------------
不吸菸 No Smoking
(觀影日:2014.09.20 21:00 板橋大遠百)
★1994凱撒獎 最佳影片、導演 等五項大獎 ★1994柏林影展 銀熊獎 ★1993路易德呂克獎
亞倫雷奈 Alain Resnais |法國France | 1993 | 35mm | Color | 141min

劇情簡介
這是英格蘭東北部,約克郡的一個小村莊,就像其他村莊一樣,有間教堂、有座墓地、一間餐館和一所學校。時值初夏,校長多比的妻子塞莉亞的掃除工作做到一半,停下來到花園喘口氣,正巧瞄到一包香菸,她是該拿起來抽一下?還是拒絕誘惑呢?

吸菸,還是不吸菸,是這套雙聯作第一個「關鍵性的偶然瞬間」,雷奈根據塞莉亞是否吸煙,發展出截然不同的人生。然而在這兩種人生當中,每個故事又被三個時間點「5天後」、「5星期後」和「5年後」劃分為四個段落,除了象徵結尾的第四個段落沒有選擇性,之前的每一個段落都存在著「或者」的第二種可能性,並且每一個段落的「偶然瞬間」都會導致完全不同的人生結局。

《吸菸》聚焦在校長多比和他的妻子塞莉亞岌岌可危的婚姻、塞莉亞和學校職員里昂內之間不為人知的短暫關係,以及校長夫婦的女傭西薇亞的人生轉變;《不吸菸》則將焦點轉至多比的好友同時也是有影響力的校務委員邁爾斯和他那老是引起街坊話題的妻子蘿伊娜上面,多重的時間座標將故事演化成龐大的「樹型結構」,兩片合而觀之, 最終總計提供了關於人生的十二種可能。這套雙聯作對於峰迴路轉柳暗花明的生命偶然性挖掘,有著難以抵抗的典型雷奈式的迷宮魅力。

簡評:沒有買到"吸菸"的票,覺得非常可惜,覺得看完有點悵然若失.少數看電影有"什麼時候才要結束呀?"這種感覺,多樣化結局是可以無限延伸的,要演20個小時都可以掰下去呢~
亞倫雷奈 Alain Resnais是非常有名的法國新浪潮導演,去年在馬倫巴跟廣島之戀都是久聞其名未曾看過的巨作,不知是否向這片一樣帶點幽默的色彩(2人分飾8的演技實在太驚人),或是懸疑到令人摸不著頭緒呢?
-----------------------------------------------------------------------------------------------------------------------

媽媽去哪裡?
My Mommy Is in America and She Met Buffalo Bill
(觀影日:2014.09.21 10:20 板橋大遠百)

劇情簡介:
小尚是個5 歲的小男孩,剛上小學的他非常適應不良,不曉得該如何向同學「證明自己」。小尚的爸爸總是忙到很晚才回家,弟弟也還很小,而且幼稚得讓他受不了;他最喜歡的是家庭教師茉諾女士,有時甚至以為她就是爸爸的女朋友。上學的第一天,小尚被問到父母的職業時,他緊張得脫口而出爸爸是老闆,媽媽是秘書,其實他對媽媽的認識完全來自一張明信片,偏偏周遭大人對這件事的微妙氣氛,讓他只敢在心裡默默疑惑煩惱,想問卻不敢說出口…。

電影改編自安古蘭漫畫大獎得主、歐陸圖文界黃金拍檔―埃米爾帕佛(Emile Bravo)和尚荷紐(Jean Regnaud)的同名繪本,法文書名直譯為「我的媽媽是美國人,她遇過水牛比爾」。小尚其實就是尚荷紐本人,故事情節來自他的童年回憶。這部以1970年代法國鄉間小鎮為背景的動畫,有著如今罕見的手繪質感,加上溫暖的用色,細膩地以初入學孩子會面臨的各種酸甜苦辣切入,講述了一個令人共鳴的成長故事。「大鼻子情聖」傑哈德巴狄厄的演員女兒茱莉德巴狄厄友情獻聲,讓影片更添法式鄉愁氛圍。

簡評:小孩子天馬行空的想像力實在是非常的有趣,也有講述到一些嚴肅且具教育意義的事情,但出現的時機有點晚,是最後爸爸跟兒子說明聖誕老公公跟媽媽過世的事才浮現,對大人來說劇情的走向並不明確,對小孩子來說則是相當有趣的動畫電影
-----------------------------------------------------------------------------------------------------------------------
日本夜與霧 Night and Fog in Japan
(觀影日:2014.09.21 10:20 板橋大遠百)
★1999電影旬報 世紀百大日片第38名 ★1961藍絲帶電影獎 最佳新導演獎
大島渚 Nagisa Oshima | 日本Japan | 1960 | 35mm | Color | 107min

劇情簡介:
在野澤和玲子的婚禮上,逃犯太田突然來訪,這位不速之客向新娘子質問學運成員北見的下落,當年北見由於對學生運動極度灰心而萌生退意,後來不知何故失蹤。太田責怪玲子沒有盡力去尋找北見,此外新郎野澤和學生領袖中山、其妻美佐子之間的三角戀,以及中山當年以高壓手段逼害異己甚至導致學運成員自殺的往事,也再度成為焦點。究竟迷霧何時散去?在那個混亂的年代,理直氣壯或是義憤填膺,是否就意味著明確的真理?當時年僅28歲,曾參與學運且深受影響的大島渚,藉由太田之口,重新省思了學生運動的意義和失敗的原因。

基於拍片形勢的緊迫和影片題材的特殊性,大島渚採取不同以往的拍攝手法,107分鐘的片長卻只用了43 顆鏡頭,即所謂的一景一鏡。長鏡頭既是技術性的突破,又意味著大島渚的創作核心,他藉此營造出對於學運全景而真實的觀察。值得一提的是,電影上映後4天就發生右翼少年刺殺日本社會黨委員長的政治事件。松竹公司迫於政治和經濟(影片票房不如人意)的雙重壓力,宣佈影片停映。幾個月後,大島渚與一批松竹同事集體退出公司,自組「創造社」捍衛獨立精神,就此開啟大島渚透過影像創作進行社會運動的輝煌年代。

簡評:這兩年剛過世的日本大師大島渚的作品在影展播放自然是要捧場一下的,用如此簡潔的鏡頭,那麼衝突不適宜的場合(婚禮上),兩代的學運人士透過激辯,把學運(社會運動)內部可能發生的衝突濃縮在不到兩小時的電影裡,可謂之非常驚人,不過看的也很沉重就是了