次のexec/5の第1引数がメッセージである。
exec(search_current_data(Search_cond,ComStatus),_Mode,Status)-IFP :-
search_data(current,Search_cond,ComStatus,Status)-IFP.
% 現在のデータを検索
exec(search_history_data(Search_cond,ComStatus),_Mode,Status)-IFP :-
search_data(history,Search_cond,ComStatus,Status)-IFP.
% 履歴データを検索
exec(search_all_data(Search_cond,ComStatus),_Mode,Status)-IFP :-
search_data(all,Search_cond,ComStatus,Status)-IFP.
% 現在、および履歴データを検索
exec(add_new_member(Member_info, ComStatus),update,Status)-IFP :-
get_table_list(update, Tables),
IFP <= begin_transaction(Tables,[],Status1),
add_new_member(Status1,Member_info,ComStatus)-IFP,
IFP <= close(Status).
% メンバ情報の追加
exec(modify_member(Member_info, ComStatus),update,Status)-IFP :-
get_table_list(update, Tables),
IFP <= begin_transaction(Tables,[],Status1),
modify_member(Status1,Member_info,modify,ComStatus)-IFP,
IFP <= close(Status).
% メンバ情報の修正
exec(delete_member(Member_info, ComStatus),update,Status)-IFP :-
get_table_list(update, Tables),
IFP <= begin_transaction(Tables,[],Status1),
modify_member(Status1,Member_info,delete,ComStatus)-IFP,
IFP <= close(Status).
% メンバ情報の削除
otherwise.
exec(MSG,_Mode,Status)-IFP :-
functor(MSG, _P, A), arg(A, MSG, ComStatus) |
ComStatus = abnormal({"Illegal Message or You can not update"},end),
Status = normal.