この章では、ECMのOracleアプリケーション・アダプタに関連する問題について説明します。次のトピックが含まれています。
このリリースでは、Oracle E-BUsiness SuiteおよびOracle Peoplesoftアダプタについては、個別のガイドではなく、『Oracle Fusion Middleware Oracle Application Adapters for Oracle Enterprise Content Management管理者ガイド』に記載されています。
この項では、構成に関する問題およびその回避方法について説明します。次のトピックが含まれています。
34.2.1項「Managed AttachmentsソリューションでのFolders_gコンポーネント有効化による、ソリューション削除設定のオーバーライドの可能性」
34.2.2項「Oracle E-Business Suite画面の複数インスタンスを表示してのアダプタによる単一の対話のターゲット設定」
34.2.4項「拡張による、LOBアプリケーションから渡されたユーザーではなく、認証Oracle WebLogic Serverユーザーのタスク実行の許可」
34.2.6項「Siebelアダプタ: AllowContentServerInAnyDomains設定によるログイン問題の解決」
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
Folders_gコンポーネントにより、デフォルトでAuthorDelete=true
と呼ばれる変数が設定され、この変数により、ユーザーはセキュリティ・グループの権限を削除せずに、自身が権限を持つドキュメントを削除できます。Folders_g Oracle UCMコンポーネントをManaged Attachmentsソリューションで使用する場合は、この変数設定がManaged Attachmentsの権限またはAppAdapterGrantPrivilege削除設定をオーバーライドすることがあります。
Oracle E-Business Suiteアダプタに新たな機能が追加され、管理者は、特定のOracle E-Business Suite画面の複数インスタンスが表示されている場合に、同一のインスタンス/対話をターゲット設定することができます。この機能は、AXF_PROPERTIES表のAXF_MULTINSTANCEと呼ばれる新規の構成パラメータで有効化されます。
AXF_MULTINSTANCEがTRUEに設定されている場合、各Oracle E-Business Suiteウィンドウは個別の対話、および個別のOracle I/PMとして扱われるか、AXFウィンドウがターゲット設定されます。
AXF_MULTINSTANCEがFALSEに設定されている場合(デフォルト)、各Oracle E-Business Suiteインスタンスのウィンドウは同一の対話として扱われ、同じOracle I/PMまたはAXFターゲット・ウィンドウを使用します。
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
使用中のイメージ化ソリューションでタスク・ビューアの下部パネルを使用していない場合、AXFソリューションでは無効化することができます。たとえば、請求書処理のソリューションでは、General Ledger行を表示する下部パネルを非表示にするとします。パネルを非表示にすると、パフォーマンスの速度が上がり、画面領域を節約できます。
下部パネルを非表示にするには、次のステップを実行します。
Oracle SQL Developerなどのツールを使用し、AXFデータベースへの接続をオープンします。
次の問合せを実行し、BLOCK_IDが下部パネルに使用されていることを確認します。
SELECT BLOCK_ID FROM AXF_METADATA_BLOCKS WHERE BLOCK_LOCATION = 'BOTTOM_PANEL'
次のコマンドを実行してAXF_METADATA_ATTRIBUTES表から行を削除し、BLOCK_ID
をステップ2で識別したIDと置換します。
DELETE FROM AXF_METADATA_ATTRIBUTES where BLOCK_ID =
BLOCK_ID
;insert BLOCK_ID from previous step;
次のコマンドを実行し、AXF_METADATA_BLOCKS表から行を削除します。
DELETE FROM AXF_METADATA_BLOCKS WHERE BLOCK_LOCATION = 'BOTTOM_PANEL'
ドライバ・ページの構成キャッシュのクリアボタンをクリックします。
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
AXF_SOLUTION_ATTRIBUTES表の新規パラメータ、USERNAME_PASS_THROUGHによって、Oracle E-Business SuiteまたはOracle PeopleSoftから渡されたユーザーではなく、認証Oracle WebLogic ServerユーザーにBPELタスクなどのタスク実行が許可されます。このため、Oracle E-Business Suite/Oracle PeopleSoftとOracle WebLogic Serverについて別のユーザーを保存できます。
AXF_SOLUTION_ATTRIBUTES表構成を表34-1に示します。
表34-1 AXF_SOLUTION_ATTRIBUTES表、USERNAME_PASS_THROUGH構成
SOLUTION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|
AXF |
USERNAME_PASS_THROUGH |
TRUEまたはFALSE |
説明:
FALSE(デフォルト): 認証Oracle WebLogic Serverユーザーを使用してタスクを実行します。
TRUE: Oracle E-Business SuiteまたはOracle PeopleSoftから渡されたユーザーを使用してタスクを実行します。
注意: Managed Attachments構成については、USERNAME_PASS_THROUGHパラメータをTRUEに設定しておく必要があります。 |
注意: データベースでUSERNAME_PASS_THROUGHの値を変更した後、Oracle WebLogic Server管理コンソールでOracle I/PMイメージ化アプリケーションを停止し、再起動します。 |
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
AXF_SOLUTION_ATTRIBUTES表の新規パラメータ、TASKLIST_RANGESIZEでは、タスク・リストに返されるタスクの数を構成できます。たとえば、タスクの数をデフォルトの25から10に変更できます。
表34-2に示すAXF_SOLUTION_ATTRIBUTES表構成では、PARAMETER_VALUEによって返されるタスクの数が設定されます。
iFrameではなくSiebelページでOracle UCMログイン・ページが表示されるというOracle UCMのSiebelアダプタの問題を回避するには、次のエントリをOracle UCM Config.cfgファイルに追加します。
AllowContentServerInAnyDomains=1
注意: AllowContentServerInAnyDomains変数を1に設定すると、Oracle UCMページがiFramesで開き、潜在的なセキュリティの問題が引き起こされます。 |
この項では、ドキュメントの訂正箇所を示します。次のトピックが含まれています。
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
『Oracle Fusion Middleware Oracle Application Adapters for Oracle Enterprise Content Management管理者ガイド』では、アダプタは英語版のみローカライズされると誤って記述されています。
注意: アクセス可能なサポート構成と認証に関する情報:
|
『Oracle Fusion Middleware Oracle Application Adapters for Oracle Enterprise Content Management管理者ガイド』のSOAPセキュリティを介した通信の保護に関する項目には、次の情報が含まれます。
SOAPセキュリティの構成が必要です。
AXF_SOAP_USERは有効なOracle WebLogic Serverユーザーを参照します。
(この項目はOracle E-Business SuiteおよびOracle PeopleSoftアプリケーション・アダプタに適用されます。)
このリリース・ノートの項では、『Oracle Fusion Middleware Oracle Application Adapters for Oracle Enterprise Content Management管理者ガイド』のUpdateTaskFromProcedureコマンドの項の更新情報について説明しています。
Update Task From Procedureコマンドは、指定したデータソースを使用してストアドPL/SQLプロシージャをコールし、XPATHを使用してタスク・ペイロードを更新します。実装の例については34.3.3.2項、ストアドPL/SQLプロシージャの例については34.3.3.3項を参照してください。
表34-3 UpdateTaskFromProcedureコマンドのパラメータ
パラメータ・キー | 説明 |
---|---|
XPATH_DATASTRING |
AXF_XPATH_ATTRIBUTES表に含まれるXPATH変数を指定し、返されたデータのリストが保存されるXPATHを参照します。 |
XPATH_MESSAGESTRING |
XPATH変数を指定すると、UpdateFromStoredProcedure関数によって、データがBPELペイロードに書き込まれ、基本ステータス、または関数(axfretrieveuserlist)の実行中に発生したエラー・コードが通信されます。 |
CMD_NO_DATA |
PL/SQLファンクションから結果が返されない場合は、このコマンドを指定して実行します。 |
CMD_DATA |
PL/SQLファンクションから結果が返される場合は、このコマンドを指定して実行します。 |
CMD_ERROR |
PL/SQLファンクションからエラーが返される場合は、このコマンドを指定して実行します。 |
JNDI_DS |
Application Serverに構成されているJNDIデータソース名を指定し、PL/SQLファンクションの実行に使用します。 |
PLSQL_PROC |
コールするPL/SQLファンクション名を指定します。 |
この例では、Update Task From Procedureコマンドを使用して、データソース(EBSDS)によってストアドPL/SQLプロシージャでコールされたAXFRETRIEVEUSERLISTをコールします。AXFRETRIEVEUSERLISTは請求書IDを取得し、そのトランザクションの請求金額を問い合せ、その金額に基づいて請求書承認を一連のユーザーに返します。
表34-4 UpdateTaskFromProcedureCommandの例のAXF_SOLUTIONS表
SOLUTION_NAMESPACE | SOLUTION_CONTEXT |
---|---|
InvoiceProcessing |
ejb.AxfCommandMediator#oracle.imaging.axf.service.AxfCommandMediatorRemote |
表34-5 UpdateTaskFromProcedureCommandの例のAXF_COMMANDS表(項目は非表示: SOLUTION_NAMESPACE=InvoiceProcessing)
COMMAND_CLASS | COMMAND_NAMESPACE |
---|---|
oracle.imaging.axf.commands.bpel.UpdateTaskFromProcedureCommand |
RetrieveUserList |
表34-6 UpdateTaskFromProcedureCommandの例のAXF_SOLUTION_PARAMETERS表(項目は非表示: SOLUTION_NAMESPACE=InvoiceProcessing)
COMMAND_NAMESPACE | CONFIGURATION_NAMESPACE | PARAMETER_KEY | PARAMETER_VALUE |
---|---|---|---|
RetrieveUserList |
oracle.imaging.axf.commands.bpel. |
XPATH_DATASTRING |
XPATH:InvoiceProcessing_InvoiceApprovalAssignment |
RetrieveUserList |
oracle.imaging.axf.commands.bpel. |
XPATH_MESSAGESTRING |
<INSERT: ペイロードを介した通信ステータスに使用するXPATH変数> |
RetrieveUserList |
oracle.imaging.axf.commands.bpel. |
CMD_DATA |
InvoiceApprovalEdit |
RetrieveUserList |
oracle.imaging.axf.commands.bpel.UpdateTaskFromProcedureCommand |
CMD_NO_DATA |
CompleteInvoice |
RetrieveUserList |
oracle.imaging.axf.commands.bpel.UpdateTaskFromProcedureCommand |
CMD_ERROR |
StartInvoiceProcessing |
RetrieveUserList |
oracle.imaging.axf.commands.bpel.UpdateTaskFromProcedureCommand |
JNDI_DS |
jdbc/EBSDS |
RetrieveUserList |
oracle.imaging.axf.commands.bpel.UpdateTaskFromProcedureCommand |
PLSQL_PROC |
AXFRETRIEVEUSERLIST |
次のAXF_XPATH_ATTRIBUTES表では、対応するXPATH列にペイロードの値を特定するXPATH式が表示されます。
表34-7 UpdateTaskFromProcedureCommandの例のAXF_XPATH ATTRIBUTES表
ATTRIBUTE_KEY | XPATH |
---|---|
InvoiceProcessing_InvoiceApprovalAssignment |
//task:InvoiceApprovalAssignment |
次に示すAXF_NAMESPACES表では、XMLNS_URI列にXMLファイル内でInvoiceApprovalAssignmentタスク情報を特定する場所が表示されます。
XMLのDOMへのロード後のPL/SQLプロシージャにより、請求書IDを取得し、そのトランザクションの請求金額を問い合せ、その金額に基づいて一連のユーザーを返します。
create or replace FUNCTION axfretrieveuserlist(xmlPayload IN VARCHAR2, pDataString OUT VARCHAR2, pMsgString OUT VARCHAR2) RETURN INTEGER IS v_node xmldom.DOMNode; v_node2 xmldom.DOMNode; v_nl xmldom.DOMNodeList; v_doc xmldom.DOMDocument; v_elem xmldom.DOMElement; v_parser xmlparser.Parser; invoiceID VARCHAR2(256); invoiceAmount NUMBER(8,2); userList VARCHAR2(256); rtnCode INTEGER; BEGIN rtnCode := 0; -- execute CMD_NO_DATA -- rtnCode := -1; -- execute CMD_ERROR pmsgstring := ''; -- empty msg string v_parser := xmlparser.newParser; xmlparser.parseBuffer(v_parser, xmlPayload); v_doc := xmlparser.getDocument(v_parser); xmlparser.freeParser(v_parser); -- Retrieve the invoice ID v_nl := xmldom.getElementsByTagName(v_doc, 'invoiceID'); v_node := xmldom.item(v_nl, 0); v_node2 := xmldom.getFirstChild(v_node); invoiceID := xmldom.getNodeValue(v_node2); -- Retrieve Invoice Amount for given invoice id select INVOICE_AMOUNT into invoiceAmount from ap_invoices_all where INVOICE_ID = invoiceid; if invoiceamount > 10000 then pdatastring := 'jlondon'; rtnCode := 1; -- execute CMD_DATA pmsgstring := 'Additional approval required due to invoice amount.'; else pdatastring := 'jcooper,mtwain'; rtnCode := 1; -- execute CMD_DATA pmsgstring := 'No further approval is required.'; end if; RETURN rtnCode; END;
この例を使用するには、次のステップを実行します。
このプロシージャを変更して、選択したペイロードからデータの特定部分を取得できるようにします。作成するPL/SQLファンクションの唯一の要件として、VARCHAR2を取り、2つのVARCHAR2 OUTパラメータを設定し、INTEGERを返すことが必要です。ファンクションの名前はAXF構成に含めます。
Oracle E-Business Suiteデータベース・インスタンス上でストアド・プロシージャをインストールします。プロシージャはAppsユーザーとして実行する必要があります。
AXFインスタンス上のAXFユーザーとして、次のコマンドを実行してAXF_ACTIONS表を更新し、新規RetrieveUserListコマンドを実行パスに挿入します。
UPDATE AXF_ACTION SET COMMAND_NAMESPACE = 'RetrieveUserList' where DISPLAY_TEXT = 'Invoice Approval' and COMMAND_NAMESPACE = 'ValidateInvoiceApprovalEdit'
『Oracle Fusion Middleware Oracle Siebel Adapter for Oracle Enterprise Content Management管理者ガイド』のSiebel WebクライアントのiFrame URLの構成に関する項で、ステップ7のシンボリックURLの例に誤りがあります。(正しいURLを示す変更箇所は太字で強調表示されています。)
誤りのあるシンボリックURL
http://ucm-server-name.domain:port-number
/cs/idcplg/_p/cc-embedded?
IdcService=GET_SEARCH_RESULTS_FORCELOGIN&
siebelEntityField=xsiebelContact&
siebelEntityValue=1LS-AF98&
QueryText=xsiebelContact+%3cmatches%3e+%601LS-AF98%60&
SearchQueryFormat=Universal&
ResultTemplate=SIEBEL_SEARCH&
coreContentOnly=1
SortField=dInDate&
SortOrder=Desc&
ResultCount=20&
正しいシンボリックURL
http://ucm-server-name.domain:port-number
/cs/idcplg/_p/cc-embedded?
IdcService=GET_SEARCH_RESULTS_FORCELOGIN&
siebelEntityField=xsiebelContact&
siebelEntityValue=1LS-AF98&
QueryText=xsiebelContact+%3cmatches%3e+%601LS-AF98%60&
SearchQueryFormat=Universal&
ResultTemplate=SIEBEL_SEARCH&
coreContentOnly=1&
SortField=dInDate&
SortOrder=Desc&
SearchEngineName=DATABASE.METADATA&
ResultCount=20