2

ViewObject(VO2)を指すListOfValueを持つViewObject(VO1)があり、VO2からレコードをフェッチします。VO2に追加されたViewCriteriaはありません。BCテスターでテストする場合、LOVは正常に機能します。VO1で行を編集するときと、VO1で行を作成するときの両方。

jspxページでLOVを使用すると、VO1の行を編集するときにLOVが正常に機能します。しかし、jspxページに新しい行を作成しているとき、LOVはレコードをフェッチしません。ただの空のリスト。何が悪いのか、なぜそれが機能しないのか理解できません。私はいくつかのLOVを作成しましたが、すべてが魅力のように機能しますが、これは私の髪を引き裂きます。

LOVが行の編集時にのみ機能する同様のシナリオを他の誰かが経験しましたか?何が間違っている可能性があるのか​​?

jspxページのSOC:

<af:selectOneChoice value="#{row.bindings.IdSosBasGrantType.inputValue}"
label="#{row.bindings.IdSosBasGrantType.label}"
required="#{bindings.SosBasCaseGrantPerCaseType.hints.IdSosBasGrantType.mandatory}"
shortDesc="#{bindings.SosBasCaseGrantPerCaseType.hints.IdSosBasGrantType.tooltip}"
id="soc12" autoSubmit="true">
<f:selectItems value="#{row.bindings.IdSosBasGrantType.items}" id="si11"/>
</af:selectOneChoice>

イテレータバインディング:

<tree IterBinding="SosBasCaseGrantPerCaseTypeIterator" id="SosBasCaseGrantPerCaseType">
<nodeDefinition DefName="fo.att.alm.sos.model.bas.views.SosBasCaseGrantVO" Name="SosBasCaseGrantPerCaseType0">
<AttrNames>
<Item Value="Seq"/>
<Item Value="IdSosBasGrantType"/>
<Item Value="IdSosBasGrantVariant"/>
<Item Value="RuleType"/>
<Item Value="Status"/>
<Item Value="IdAplCfgPartyType"/>
</AttrNames>
</nodeDefinition>
</tree>

ViewAttribute:

<ViewAttribute
Name="IdSosBasGrantType"
LOVName="LOV_IdSosBasGrantType"
IsUnique="true"
IsNotNull="true"
PrecisionRule="true"
EntityAttrName="IdSosBasGrantType"
EntityUsage="SosBasCaseGrantEO"
AliasName="ID_SOS_BAS_GRANT_TYPE">
<Properties>
<SchemaBasedProperties>
<CONTROLTYPE
Value="choice"/>
</SchemaBasedProperties>
</Properties>
</ViewAttribute>

ListBinding:

<ListBinding
Name="LOV_IdSosBasGrantType"
ListVOName="SosBasGrantTypeUsgLOV"
ListRangeSize="-1"
NullValueFlag="none"
NullValueId="LOV_IdSosBasGrantType_LOVUIHints_NullValueId"
MRUCount="0">
<AttrArray Name="AttrNames">
<Item Value="IdSosBasGrantType"/>
</AttrArray>
<AttrArray Name="ListAttrNames">
<Item Value="GrantTypeId"/>
</AttrArray>
<AttrArray Name="ListDisplayAttrNames">
<Item Value="ObjectTypeDisplayName"/>
</AttrArray>
<DisplayCriteria/>
</ListBinding>

ViewAccessor

<ViewAccessor
Name="SosBasGrantTypeUsgLOV"
ViewObjectName="fo.att.alm.sos.model.bas.views.SosBasGrantTypeUsgRO"
RowLevelBinds="true"/>
4

3 に答える 3

0

1- LovビューオブジェクトVO2には2つのビューオブジェクト間に定義されたビューリンクがあると思います2-LovビューオブジェクトVO2のsqlステートメントには、現在のビューオブジェクトVO1から値を取得するデータをフィルタリングするパラメーターがあり、パラメーターはnullであるため、データを返す

于 2012-05-05T03:09:36.123 に答える
0

ADF BC デバッグを有効にして、ページから呼び出したときに LOV が DB に送信するクエリを確認してください。プロジェクトのプロパティを編集し、[実行/デバッグ] ページで実行構成を選択して [編集] をクリックします。次に、文字列 -Djbo.debugoutput=console を Java オプション フィールドに追加します。

http://docs.oracle.com/cd/E16162_01/web.1112/e16182/web_testdebug.htm#BABDBCGF

于 2012-05-08T17:58:10.773 に答える
0

コードの詳細を知らずに推測するのは困難です。しかし、新しいレコードの作成時に LOV が空で表示される場合は、2 つの VO 間にビューリンクが定義されている可能性があります。LOV データが、VO1 の詳細ではない独立した VO2 から取得されていることを確認する必要があります。

于 2012-05-04T20:12:49.610 に答える