Disable specific Row in Matrix
Hello ,
I have created a matrix with two columns :- Item Code & Qty .If the Qty field is entered then it cannot be changed but i am not able to restrict changing that specific row .Is it possible to disable a single row in matrix .Just like the SAP Forms where once the transaction for specific row is done then it become disable and the remaining rows still become editable..
Thanks & Regards,
Amit
Hi Amit,
We can't disable row wise in a matrix. SAP handles that functionality in its default forms, but doesn't exposes the same for UDF's. We can only disable columns in a matrix.
I can perhaps suggest you a work around for your functionality. If the particular row satisfies the conditions for it to be disabled, then, once the user places the focus in the particular cell, then, you can check for the condition in Got_Focus event. If the disabled condition is satisfied, then, you can push the focus to the last line, and give a message telling that the cell cannot be edited.
Hope this helps.
Regards,
Satish.
Similar Messages
-
Specific Row disabling in a matrix
Is there away to disable only specific row in a matrix depending on a value? If so If you could provide a sample in VB or VB.net I would greatly appreciate it.
Thank You
Stephen SjostromSorry ,Stephen Sjostrom
There is no method to disable a row or cell in a matrix. -
How to disable some rows in a matrix
Hi experts
I have a matrix
i want to do set line/rows disable and can't edit in rows
please post example code
thank youAs far as I know there is no direct way to do this - you can only set columns editable or non-editable.
A workaround could be:
catch the "got_focus" event on the beforeaction=true; check if it is your matrix (pVal.ItemUID) and if it is your row that you want disabled (pVal.row) - if it is, set bubbleevent = false to stop it (and maybe display a status bar message to users so they don't think its a bug)
Additionally for a visual clue, maybe put some sort of field at the start of the row that says "open" or "closed" or something, this way the user wont be confused when they cant enter the row.
If got focus doesn't work properly (I havent tested) maybe try some other event like click or keypressed. -
Disable particular row in a grid
I displayed the table in a grid, and I want to disable the row if the field "Status" is equal to 1, how to do it?
KenHi
You can do it using workaround ....:)
In ItemEvent handler add your check for KEY_DOWN event...
Public Sub ManageItemEvent( _
ByVal FormUID As String, _
ByRef pVal As SAPbouiCOM.ItemEvent, _
ByRef BubbleEvent As Boolean _
Dim oForm As SAPbouiCOM.Form
Try
oForm = SBO_Application.Forms.Item(FormUID)
Catch ex As Exception
oForm = Nothing
End Try
If Not oForm Is Nothing Then
Select Case oForm.TypeEx
Case "YOUR_FORM_TYPEEX"
Select Case pVal.EventType
Case SAPbouiCOM.BoEventTypes.et_KEY_DOWN
If pVal.BeforeAction Then
Select Case pVal.ItemUID
Case "mtx00" ' PLACE HERE MATRIX ITEM UID
If pVal.ColUID.Equals("COLUMN_1_UID") _
Or pVal.ColUID.Equals("COLUMN_2_UID") _
Or pVal.ColUID.Equals("COLUMN_3_UID") _
... all matrix columns uids what user can modify if your condition is True
Then
BubbleEvent = Matrix_CheckIfTheUserCanModifyThisRow( _
oForm, _
pVal.InnerEvent, _
pVal.ColUID, _
pVal.Row, _
pVal.CharPressed)
End If
End Select
End If
End Sub
Private Function Matrix_CheckIfTheUserCanModifyThisRow( _
ByRef oForm As SAPbouiCOM.Form, _
ByVal bInnerEvent As Boolean, _
ByVal sColumnUID As String, _
ByVal iRow As Integer, _
ByVal iCharPressed As Integer, _
ByVal sUserTable As String _
) As Boolean
Dim b As Boolean = True
Dim oMatrix As SAPbouiCOM.Matrix
Dim oCheckBox As SAPbouiCOM.CheckBox
Dim sCode As String = ""
Try
If Not iCharPressed = 9 Then
oMatrix = oForm.Items.Item("mtx00").Specific
If oMatrix Is Nothing Then Throw New Exception("ERROR!")
oCheckBox = oMatrix.Columns.Item("e1Code").Cells.Item(iRow).Specific
'... check if value true/false...
b = oCheckBox.Checked
End If
Catch ex As Exception
b = False
Finally
oEdit = Nothing
oMatrix = Nothing
End Try
Return b
End Function
Regards
Sierdna S.
Edited by: Sierdna S on Oct 9, 2008 2:58 PM -
Hi There
I have a page with spry data. On one side is the list
“spry:region” and next to it is detailed area
”spry:detailregion”. When I click the row the detailed
area gets updated with the specific information of that row.
At the moment the detail area gets filled up with the first
row on load. I have another page that I add data to this table.
When coming to this page after adding data to the table, I like the
detail area to be filled with the new row that I have added instead
of the default first row. Or the row in the list table on left to
be highlighted. Also the list is paginated if it makes a difference
“Data Retrieve”
<script language="JavaScript" type="text/javascript">
var Clients_SpryDataSet = new
Spry.Data.XMLDataSet("Clients_XML.php", "ClientsRecords/Client", {
useCache: false });
var Clients_SpryDataSetPage = new Spry.Data.PagedView(
Clients_SpryDataSet ,{ pageSize:14});
</script>
“spry:region”
<td width="120" height="25"
class="ListingTableQueryRow_RBL_Lft_S1"
spry:setrow="Clients_SpryDataSetPage" spry:select="selected">
”spry:detailregion”
<div id="ClientDetails" class="DetailAreaContainerRow_S1"
spry:detailregion="Clients_SpryDataSet">
Please if anyone could help. I looked at many examples and
forums, but I could not adapt it to my page.
ThanksSorry ,Stephen Sjostrom
There is no method to disable a row or cell in a matrix. -
Delete Last Row in Matrix on SBO 2005
Hi,
Im using SAPB1 2005 SP1 with B1DE.
I've seen a post that indicates that the following code should delete a row from a matrix (even the last row) when using SBO 2005
I still find that all rows except last row of matrix are removed from the database.
<b>How do I delete the last row from the Del button event handler????</b>
I'm using
<i> [B1Listener(BoEventTypes.et_CLICK, false)]
public virtual void OnAfterClick(ItemEvent pVal)
bool ActionSuccess = pVal.ActionSuccess;
Form form = B1Connections.theAppl.Forms.Item(pVal.FormUID);
Item item = form.Items.Item("del");
Button button = ((Button)(item.Specific));
// ADD YOUR ACTION CODE HERE ...
int row;
Matrix oMtx = (Matrix)form.Items.Item("mtx_0").Specific;
DBDataSource oDBDS = (DBDataSource)form.DataSources.DBDataSources.Item("@SD_POOLCONTRCT_LINE");
row = oMtx.GetNextSelectedRow(0, BoOrderType.ot_SelectionOrder);
oMtx.DeleteRow(row);
if (oMtx.RowCount == 0)
oDBDS.RemoveRecord(0);
if ((form.Mode != BoFormMode.fm_ADD_MODE) | (form.Mode != BoFormMode.fm_UPDATE_MODE))
form.Mode = BoFormMode.fm_UPDATE_MODE;
}</i>Hi Ben,
[B1Listener(BoEventTypes.et_CLICK, false)]
public virtual void OnAfterClick(ItemEvent pVal)
bool ActionSuccess = pVal.ActionSuccess;
Form form = B1Connections.theAppl.Forms.Item(pVal.FormUID);
Item item = form.Items.Item("del");
Button button = ((Button)(item.Specific));
// ADD YOUR ACTION CODE HERE ...
int row;
Matrix oMtx = (Matrix)form.Items.Item("mtx_0").Specific;
DBDataSource oDBDS = (DBDataSource)form.DataSources.DBDataSources.Item("@SD_POOLCONTRCT_LINE");
Rest of your code will remain same.
I am making the modification here. I am using the RowCount property that gives me the address of the last row of the matrix.
<b>row = oMtx.RowCount;</b>
Every time this will return you the last row and that row will be deleted.
<b>row = oMtx.RowCount;</b>
oMtx.DeleteRow(row);
if (oMtx.RowCount == 0)
oDBDS.RemoveRecord(0);
if ((form.Mode != BoFormMode.fm_ADD_MODE) | (form.Mode != BoFormMode.fm_UPDATE_MODE))
form.Mode = BoFormMode.fm_UPDATE_MODE;
Regards,
Prashant -
Hi,
I have a Form having matrix, and it is bind with 2 UDT Tables. One of 'Master Type' and Other is 'Master Data Lines'.
All the operation 'ADD,UPDATE,FIND,DELETE, ADD ROW' and the operation for Navigation Buttons are working fine.
But when I navigate to any previous record,following problem arises :
1. When i add row to matrix it copies data from the previous row.
2. Now after 1st operation i change the newly added row , due to this form goes in Update mode.It is also fine.But when i press the Update Button i get the message records updated successfully, but the problem is newly added row in the matrix does not inserted in DataBase
I need the solution for both problems.
Thanks in advance.Here some sample I used to test it:
Case SAPbouiCOM.BoEventTypes.et_KEY_DOWN
Dim l_Mat As SAPbouiCOM.Matrix
l_Mat = oForm.Items.Item("Matrix2").Specific
If pVal.CharPressed = 13 And (pVal.Row = l_Mat.RowCount) Then
Dim _UDSS As SAPbouiCOM.UserDataSources
' Clear the UDS before adding a new line
_UDSS = oForm.DataSources.UserDataSources
UDSS.Item("UDSCode").ValueEx = ""
UDSS.Item("UDSName").ValueEx = ""
UDSS.Item("UDSPhone").ValueEx = ""
l_Mat.AddRow()
End If
If you are using DBDatasources is easier (1st post)
Regards,
Felipe -
Dear all
I owe add row in matrix woth different information.
How ican do?
Sorry for my english
Thank'sFirst, in sap business one open the 'Fattura in uscita' form, then in menu 'View' set 'Informazioni di debug'.
Here you can see the column number corresponding to the fields you want to add in the row.
In your code use this information to insert records in the grid. Here's an example in VB6.
For i = 1 to 10
'Codice
Set c = m.Columns("1").Cells(i).Specific
c.Value = "Cod" & i
'Quantità
Set c = m.Columns("11").Cells(i).Specific
c.String = "10"
Next i
(c is a EditBox, m is the Fattura detail matrix)
Hope this helps
Ciao -
Remove specif rows in a CSV with Powershell
Hi All,
I have the following script which tells me if an account is in AD, disabled or not present:-
$users = Import-Csv c:\migration\batches\AWTESTFILES\awtestfiles.csv
foreach($u in $users){
$Name = $u.name
$User = Get-ADUser -LDAPFilter "(sAMAccountName=$Name)"
If (($User -ne $Null) -and ($user.enabled-eq $False)){
# $outfile = (Join-Path $destination $errfilename)
Write-Host "$name is Disabled" -fore red
if ($User -eq $null){
Write-Host "$Name is not in Active Directory" -ForegroundColor Yellow
# $Name = "$($u.name) is not in Active Directory "
# Add-Content $outfile -Value $Name
If (($User -ne $null) -and ($User.enabled -eq $true)){
Write-Host "$name is in Active Directory and Enabled" -fore green
If the account is disabled or not present I wan to remove the entry from the csv file so that they are not migrated.
What is the easiest way to do this?
I know how to call up excel and manipulate some data but I'm not sure how to delete a specific row base on the name
TIA
AndyHi Andy,
I'd test the users in your input file and then create a new output file that only contains the enabled users. Are you able to use a second file or do you have to update the original?
Don't retire TechNet! -
(Don't give up yet - 12,830+ strong and growing) -
How to select specific rows in rtf template for complex calculation
Hi,
I want custom calculation in my rtf template and for this i need to select specific cell's value OR specific row's value. Any one please suggest how can I get this. Below is the example i have plotted using excel. My target is to get field 8 and 9 using sum and minus. We can calculate column over column, is there any way to calculate row over row? If I use variables, then i have to create so many variables because I have more columns and rows to calculate (here i posted one sample table). Any one please help me how can I get expected result other than using variables! If "Using variables" is the only way then also give your valuable opinions.
Row No
Curr Qtr
PQtr1
PQtr2
3
B3
C3
D3
4
B4
C4
D4
5
B5
C5
D5
6
B6
C6
D6
7
B7
C7
D7
8
B8=SUM(B4:B7)
C8=SUM(C4:C7)
D8=SUM(D4:D7)
9
B9=B8-B5
C9=C8-C5
D9=D8-D5
Thanks.Hi AlexAnd,
Thanks for the reply, I got 0 using both codes. This is a dummy table and I plotted 3,4 to give an idea of row number (as like as excel). Rows are individual data sets combining different measures and dimensions with different values.
Account
Curr_Qtr
PQtr1
PQtr2
Deposit
10
15
20
Loan
15
20
25
Earning
20
25
30
Assets
25
30
35
Total
=SUM(15,20)
=SUM(20,25)
=SUM(25,30)
Expense
=SUM(15,20)-25
=SUM(20,25-30
=SUM(15,20)-25
Is there any way to identify the range or individual cell's value? Using variables I have to create lots of variables for each cells, I want to avoid that and want to use rows in calculation! Is that possible, Pls share your valuable opinions!
Thanks. -
Custom row-fetch and how to get column values from specific row of report
Hi -- I have a case where a table's primary key has more than 3 columns. My report on the
table has links that send the user to a single-row DML form, but of course the automatic
fetch won't work because 1) I can't set more than 3 item values in the link and 2) the
auto fetch only handles 2 PK columns.
1)
I have written a custom fetch (not sure it's the most elegant, see second question) that is working
for 3 or few PK columns (it references the 1-3 item values set in the link), but when there are
more than 3, I don't know how to get the remaining PK column values for the specific row that was
selected in the report. How can I access that row's report column values? I'll be doing it from the
form page, not the report page. (I think... unless you have another suggestion.)
2)
My custom fetch... I just worked something out on my own, having no idea how this is typically
done. For each dependent item (database column) in the form, I have a source of PL/SQL
function that queries the table for the column in question, using the primary key values. It works
beautifully, though is just a touch slow on my prototype table, which has 21 columns. Is there
a way to manually construct the fetch statement once for the whole form, and have APEX be smart
about what items get what
return values, so that I don't have to write PL/SQL for every item? Because my query data sources
are sometimes in remote databases, I have to write manual fetch and dml anyway. Just would like
to streamline the process.
Thanks,
CarolHI Andy -- Well, I'd love it if this worked, but I'm unsure how to implement it.
It seems I can't put this process in the results page (the page w/ the link, that has multiple report rows), because the link for the row will completely bypass any after-submit processes, won't it? I've tried this in other conditions; I thought the link went directly to the linked-to page.
And, from the test of your suggestion that I've tried, it's not working in the form that allows a single row edit. I tried putting this manually-created fetch into a before header process, and it seems to do nothing (even with a hard-coded PK value, just to test it out). In addition, I'm not sure how, from this page, the process could identify the correct PK values from the report page, unless it can know something about the row that was selected by clicking on the link. It could work if all the PK columns in my edit form could be set by the report link, but sometimes I have up to 5 pk columns.
Maybe part of the problem is something to do with the source type I have for each of the form items. With my first manual fetch process, they were all pl/sql functions. Not sure what would be appropriate if I can somehow do this with a single (page level?) process.
Maybe I'm making this too hard?
Thanks,
Carol -
How to colour specific rows within an WebDynpro ALV
Hi everyone,
I need to colour only specific rows of an ALV. I've already scoured sdn and implemented the solutions that I found but none of them seems to be working okay.
I have an ALV table and I want to highlight only a few rows based on a certain logic.
I've defined a context node that defines 2 attributes: textview_design and cell_design.
LOOP AT ft_out_purchase_order_temp INTO ls_out_purchase_order_temp.
if ....
ls_out_purchase_order_temp-textview_design = cl_wd_text_view=>e_design-standard.
ls_out_purchase_order_temp-cell_design = cl_wd_table_column=>e_cell_design-standard.
else.
ls_out_purchase_order_temp-cell_design = cl_wd_table_column=>e_cell_design-total.
ls_out_purchase_order_temp-textview_design = cl_wd_text_view=>e_design-emphasized.
endif.
ENDLOOP.
lr_column_settings ?= po_alv_config_table.
lr_column = lr_column_settings->get_column( 'EBELN' ).
lr_column = po_alv_config_table->if_salv_wd_column_settings~get_column( 'EBELN' ).
lr_column->set_cell_design_fieldname( value = 'CELL_DESIGN' ).
This code works but the thing is that the whole column named 'EBELN' is coloured light green. This is strange because I've instructed the system that the design of the column EBELN is controlled by the field CELL_DESIGN and this field has the following values:
10 (light green)
33 (light blue)
10
10
10
33
10
33
Any ideas?Hii,
To color a particular row you need to follow two things.
1. Specify condition based on which the row will be colored i.e. set the value for the attribute 'CELL_DESIGN'.
2. Get all column references and set the cell design field name with 'CELL_DESIGN'.
Get all column reference.
DATA : LT_COLUMNS TYPE SALV_WD_T_COLUMN_REF,
LS_COLUMNS TYPE SALV_WD_S_COLUMN_REF.
LT_COLUMNS = LR_COLUMN_SETTINGS->GET_COLUMNS( ).
configure column
LR_COLUMN_SETTINGS ?= LV_VALUE. " column functions
LT_COLUMNS = LR_COLUMN_SETTINGS->GET_COLUMNS( ).
set cell design for all.
In your case if a single column is getting colored the then the reason might be
1.every record satisfying your if condition specified.
2.you have set cell design in that particular field name.
Regards,
Monishankar C -
Coloring of a (specific) row in ALV report-How?
Hi Experts,
Am looking to assign a color for a (specific)row in ALV report.......so, pls. let me know How to get it done?
thanqTABLES:LFA1.
SELECT-OPTIONS:LIFNR FOR LFA1-LIFNR.
DATA:BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
LAND1 LIKE LFA1-LAND1,
ORT01 LIKE LFA1-ORT01,
REGIO LIKE LFA1-REGIO,
SORTL LIKE LFA1-SORTL,
CFIELD(4) TYPE C,
END OF ITAB.
data:col(4).
data:num value '1'.
SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE LIFNR
IN LIFNR.
LOOP AT ITAB.
concatenate 'C' num '10' into col .
ITAB-CFIELD = col.
num = num + 1.
if num = '8'.
num = '1'.
endif.
MODIFY ITAB.
ENDLOOP.
TYPE-POOLS:SLIS.
DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA:EVE TYPE SLIS_T_EVENT WITH HEADER LINE.
LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
LAYOUT-WINDOW_TITLEBAR = 'VENDORS DETAILS SCREEN'.
LAYOUT-EDIT = 'X'.
LAYOUT-info_fieldname = 'CFIELD'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FCAT.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
TABLES
T_OUTTAB = ITAB.
this is for coloring cols
REPORT ZBHCOLOR_COLS.
TABLES:LFA1.
SELECT-OPTIONS:C_LIFNR FOR LFA1-LIFNR. " FOR GRID ONLY
PARAMETERS:LIST RADIOBUTTON GROUP ALV DEFAULT 'X',
GRID RADIOBUTTON GROUP ALV.
DATA:BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
LAND1 LIKE LFA1-LAND1,
ORT01 LIKE LFA1-ORT01,
SORTL LIKE LFA1-SORTL,
REGIO LIKE LFA1-REGIO,
COL TYPE LVC_T_SCOL,
END OF ITAB.
DATA:COLR TYPE LVC_S_SCOL.
SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB.
LOOP AT ITAB.
IF ITAB-LIFNR IN C_LIFNR.
COLR-FNAME = 'NAME1'.
COLR-COLOR-COL = '5'.
COLR-COLOR-INT = '1'.
COLR-COLOR-INV = '0'.
COLR-NOKEYCOL = 'X'.
APPEND COLR TO ITAB-COL.
COLR-FNAME = 'LIFNR'.
APPEND COLR TO ITAB-COL.
MODIFY ITAB.
ENDIF.
ENDLOOP.
TYPE-POOLS:SLIS.
DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA:LAYOUT TYPE SLIS_LAYOUT_ALV.
LAYOUT-ZEBRA = 'X'.
layout-coltab_fieldname = 'COL'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FCAT.
IF LIST = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
TABLES
T_OUTTAB = ITAB.
ELSEIF GRID = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
TABLES
T_OUTTAB = ITAB.
ENDIF.
Reward points if useful. -
HI ALL,
I'm using jdeveloper 11.1.1.2.0 with ADF 11g.
I have to display the values in jsf frm table where i'm using DislayCertDetailVO . In dis VO i'm having a column no.of certificaties .taking dis column value when i navigate to other page jsf by selecting a specific row. here i have to display the selected row in multiple times based on the no.of.certificates column value.
I want to display specific row to display multiple time to repeat same row in a table in jsf based on the value from bean or table in database.
Edited by: user9010551 on Apr 28, 2010 6:14 AM
Edited by: user9010551 on Apr 28, 2010 10:33 PMHi, Trying it once more to give more clarity of my scenario.
I have to navigate from 1 screen to the other by picking a given table record/row from the 1st screen. While displaying the record on the 2nd screen the catch is that, I have to display it as many times as the value in a cell of the selected record.
eg.
screen 1
col1 col2 col3
2 order1 item1
[next]
On clicking next it should look like
screen2
col1 col2 col3 col4
order1 item1
order1 item1
where col3 and col4 will be editable by the user and col1 is the value depends how many times i have repeat the row/record
Hope this give more clarity. -
How to set a MessageTextInput to be Read Only for a specific row?
Hi,
In Benefits Self Service, particularly the Update Beneficiaries page, it lists all your eligible Beneficiaries including yourself. The table has the following columns displayed for each beneficiary: Beneficiary, Relationship, Social Security Number, Primary %, Contingent %, Clear. This is the page where you allocate the Primary % and the Contingent %. The Primary % and Contingent % are MessageText Input.
We have a requirement that we wouldn't want an employee to designate himself/herself as a beneficiary. However, the employee is being listed as a beneficiary along with all the other eligible beneficiaries. Oracle says it is an intended functionality to include the employee in the beneficiary. Is there a way thru Controller Object extension to set the Primary % and Contingent % as Read Only but only for the row corresponding to the employee to prevent the employee from accidentally allocating himself/herself as a beneficiary.
I know there is the SPEL functionality but this requires me to add a transient attribute to the View Object corresponding to that table. But everytime I make a change to the View Object either by adding a transient attribute or some other changes, I end up getting an error on the standard Relation attribute of that view object. The error is something like "Relation set attribute failed for View Object". I cannot get pass this error and I'm not sure what's causing this. I see other people in this forum have encountered the same problem when extending view objects but no specific solution was offered nor any clear explanation of the cause.
So I thought if there's any way this could be done thru Controller Object extension. If so, please let me know how. The challenge for me I think is finding the bean corresponding to those Message Text Input but only for a specific row in the table.
Thanks,
RonaldoHi,
I also tried extending the View Object but without changing anything to the SQL so it is exactly the same as the standard view object but I still get the "Attribute set for Relation in view object BeneficiaryPeopleVO1 failed". Based from this, extending the view object whether any change has been made or not affects the standard transient Relation attribute.
Here is the standard XML definition of the View Object if anyone is curious
<ViewObject
Name="BeneficiaryPeopleVO"
BindingStyle="Oracle"
CustomQuery="true"
RowClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVORowImpl"
ComponentClass="oracle.apps.ben.selfservice.enrollment.server.BeneficiaryPeopleVOImpl"
MsgBundleClass="oracle.jbo.common.JboResourceBundle"
FetchMode="FETCH_AS_NEEDED"
FetchSize="10"
UseGlueCode="false" >
<SQLQuery><![CDATA[
SELECT pcr.person_id person_id,
pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
con.national_identifier Ssn,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
con.person_id bnf_person_id,
con.business_group_id,
pen.per_in_ler_id,
pbn.pl_bnf_id pl_bnf_id,
pbn.object_version_number object_version_number,
pbn.effective_start_date,
pcr.contact_type contact_type,
con.full_name beneficiary_full_name,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
pen.pl_id pl_id,
pen.oipl_id oipl_id,
nvl((select 'Y' from dual where (to_date(:1 , 'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:2 , 'rrrr/mm/dd')) and
nvl(pcr.date_end,to_date(:3 , 'rrrr/mm/dd'))) and
(pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))), 'N') rel_exists_flag
FROM per_people_f con,
per_contact_relationships pcr,
ben_pl_bnf_f pbn,
ben_prtt_enrt_rslt_f pen,
ben_per_in_ler pil
WHERE pcr.personal_flag = 'Y'
AND (pbn.pl_bnf_id is not null or
(to_date(:4 ,'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:5 ,'rrrr/mm/dd'))
AND nvl(pcr.date_end,to_date(:6 ,'rrrr/mm/dd'))
and pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt))) --Bug 4297137
AND pcr.contact_person_id = con.person_id
and pen.person_id = pcr.person_id
AND pbn.bnf_person_id (+) = con.person_id
AND to_date(:7 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
AND pbn.effective_end_date (+)
AND pcr.person_id = :8
and pen.prtt_enrt_rslt_id = :9
and to_date(:10 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
and to_date(:11 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
and pil.per_in_ler_id = pen.per_in_ler_id
and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
and pbn.prtt_enrt_rslt_id (+) = :12
and ((to_date(:13 ,'rrrr/mm/dd') between
nvl(pcr.date_start,to_date(:14 ,'rrrr/mm/dd')) and
nvl(pcr.date_end,to_date(:15 ,'rrrr/mm/dd'))) or
((pcr.date_start = (select max(pcr2.date_start)
from per_contact_relationships pcr2
where pcr2.contact_person_id = pcr.contact_person_id
and pcr2.person_id = pcr.person_id
and pcr2.personal_flag = 'Y')) and
not exists (select null
from per_contact_relationships pcr3
where pcr3.contact_person_id = pcr.contact_person_id
and pcr3.person_id = pcr.person_id
and pcr3.personal_flag = 'Y'
and to_date(:16 ,'rrrr/mm/dd') between
nvl(pcr3.date_start,to_date(:17 ,'rrrr/mm/dd'))
and nvl(pcr3.date_end,to_date(:18 ,'rrrr/mm/dd')))
and (pbn.pl_bnf_id is null or
exists (select null from ben_per_in_ler pil2
where pil2.per_in_ler_id = pbn.per_in_ler_id
and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
GROUP BY pcr.person_id,
pen.prtt_enrt_rslt_id,
con.last_name,con.first_name,con.suffix,
con.full_name,
con.national_identifier,
pcr.contact_type,
con.date_of_birth,
con.person_id,
con.business_group_id,
pen.per_in_ler_id,
pl_bnf_id,
pbn.object_version_number,
pbn.effective_start_date,
pen.pl_id,
pen.oipl_id,
pcr.date_start,
pcr.date_end,
pil.lf_evt_ocrd_dt,
con.date_of_death
union
SELECT to_number(null) person_id,
pen.prtt_enrt_rslt_id prtt_enrt_rslt_id,
con.first_name ||' '||con.last_name || ' ' || con.suffix Beneficiary,
con.national_identifier Ssn,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) contingent_pct,
con.person_id bnf_person_id,
con.business_group_id,
pen.per_in_ler_id,
pbn.pl_bnf_id pl_bnf_id,
pbn.object_version_number object_version_number,
pbn.effective_start_date,
'SLF' contact_type,
con.full_name beneficiary_full_name,
sum(decode(pbn.prmry_cntngnt_cd,'PRIMY',pbn.pct_dsgd_num,0)) Db_Primary_pct,
sum(decode(pbn.prmry_cntngnt_cd,'CNTNGNT',pbn.pct_dsgd_num,0)) db_contingent_pct,
DECODE(pbn.pl_bnf_id, null, 'DeleteIconDisabled', 'DeleteIconEnabled') delete_switcher,
pen.pl_id pl_id,
pen.oipl_id oipl_id,
'Y' rel_exists_flag
FROM per_people_f con,
ben_pl_bnf_f pbn,
ben_prtt_enrt_rslt_f pen,
ben_per_in_ler pil
WHERE
pbn.bnf_person_id (+) = con.person_id
AND to_date(:19 ,'rrrr/mm/dd') between pbn.effective_start_date (+)
AND pbn.effective_end_date (+)
AND con.person_id = :20
and con.person_id = pen.person_id
and pen.prtt_enrt_rslt_id = :21
and to_date(:22 , 'rrrr/mm/dd') between con.effective_start_date and con.effective_end_date
and to_date(:23 , 'rrrr/mm/dd') between pen.effective_start_date and pen.effective_end_date
and pil.per_in_ler_id = pen.per_in_ler_id
and pil.per_in_ler_stat_cd NOT IN('VOIDD', 'BCKDT')
and (pbn.pl_bnf_id is not null or pil.lf_evt_ocrd_dt <= nvl(con.date_of_death,pil.lf_evt_ocrd_dt)) --Bug 4297137
and pbn.prtt_enrt_rslt_id (+) = :24
and (pbn.pl_bnf_id is null or
exists (select null from ben_per_in_ler pil2
where pil2.per_in_ler_id = pbn.per_in_ler_id
and pil2.per_in_ler_stat_cd not in ('VOIDD','BCKDT')))
GROUP BY pen.prtt_enrt_rslt_id,
con.last_name,con.first_name,con.suffix,
con.full_name,
con.national_identifier,
con.date_of_birth,
con.person_id,
con.business_group_id,
pen.per_in_ler_id,
pl_bnf_id,
pbn.object_version_number,
pbn.effective_start_date,
pen.pl_id,
pen.oipl_id
ORDER BY 3,14
]]></SQLQuery>
<DesignTime>
<Attr Name="_isCodegen" Value="true" />
<Attr Name="_version" Value="9.0.3.13.75" />
<Attr Name="_CodeGenFlagNew" Value="36" />
<Attr Name="_rowSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewRowImpl" />
<Attr Name="_objectSuperClassName" Value="oracle.apps.fnd.framework.server.OAPlsqlViewObjectImpl" />
</DesignTime>
<ViewAttribute
Name="PersonId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PERSON_ID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PrttEnrtRsltId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PRTT_ENRT_RSLT_ID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="Beneficiary"
IsQueriable="false"
IsPersistent="false"
Precision="332"
Type="java.lang.String"
AliasName="BENEFICIARY"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="Ssn"
IsQueriable="false"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="SSN"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="PrimaryPct"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Type="oracle.jbo.domain.Number"
AliasName="PRIMARYPCT"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="ContingentPct"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="CONTINGENTPCT"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="BnfPersonId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="BNFPERSONID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="BusinessGroupId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="BUSINESSGROUPID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PerInLerId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PERINLERID"
ColumnType="$none$"
Expression="'See the SQL...'"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="PlBnfId"
IsQueriable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PL_BNF_ID"
ColumnType="$none$"
Expression="PL_BNF_ID"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="ObjectVersionNumber"
IsQueriable="false"
IsPersistent="false"
Precision="9"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="OBJECT_VERSION_NUMBER"
ColumnType="$none$"
Expression="OBJECT_VERSION_NUMBER"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="EffectiveStartDate"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Date"
AliasName="EFFECTIVE_START_DATE"
ColumnType="$none$"
Expression="EFFECTIVE_START_DATE"
SQLType="DATE" >
</ViewAttribute>
<ViewAttribute
Name="ContactType"
IsQueriable="false"
IsPersistent="false"
IsNotNull="true"
Precision="30"
Type="java.lang.String"
AliasName="CONTACT_TYPE"
ColumnType="$none$"
Expression="CONTACT_TYPE"
SQLType="VARCHAR" >
<DesignTime>
<Attr Name="_DisplaySize" Value="30" />
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="BeneficiaryFullName"
IsQueriable="false"
IsPersistent="false"
Precision="240"
Type="java.lang.String"
AliasName="BENEFICIARY_FULL_NAME"
ColumnType="$none$"
Expression="BENEFICIARY_FULL_NAME"
SQLType="VARCHAR" >
<DesignTime>
<Attr Name="_DisplaySize" Value="240" />
</DesignTime>
</ViewAttribute>
<ViewAttribute
Name="DbPrimaryPct"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Number"
AliasName="DB_PRIMARY_PCT"
ColumnType="$none$"
Expression="DB_PRIMARY_PCT"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="DbContingentPct"
IsQueriable="false"
IsPersistent="false"
Type="oracle.jbo.domain.Number"
AliasName="DB_CONTINGENT_PCT"
ColumnType="$none$"
Expression="DB_CONTINGENT_PCT"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="Relation"
IsQueriable="false"
IsPersistent="false"
Type="java.lang.String"
AliasName="Relation"
ColumnType="$none$"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="DeleteSwitcher"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="DeleteSwitcher"
ColumnType="VARCHAR2"
Expression="DeleteSwitcher"
SQLType="VARCHAR" >
</ViewAttribute>
<ViewAttribute
Name="PlId"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="PlId"
ColumnType="VARCHAR2"
Expression="PlId"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="OiplId"
IsUpdateable="false"
IsPersistent="false"
Precision="15"
Scale="0"
Type="oracle.jbo.domain.Number"
AliasName="OiplId"
ColumnType="VARCHAR2"
Expression="OiplId"
SQLType="NUMERIC" >
</ViewAttribute>
<ViewAttribute
Name="RelExistsFlag"
IsQueriable="false"
IsPersistent="false"
Precision="30"
Type="java.lang.String"
AliasName="REL_EXISTS_FLAG"
ColumnType="VARCHAR2"
Expression="REL_EXISTS_FLAG"
SQLType="VARCHAR" >
</ViewAttribute>
</ViewObject>
Thanks,
Ronaldo
Maybe you are looking for
-
How to take backup of database on external hard disk
Hi Team, We have a server with three instances SOX,GRC and SM2. We have attached a external hard disk to take backup of database. While taking backup of any database it gives error as attached. We can take backup of transaction log on server's disk b
-
Java.sql.SQLException: Invalid column name: user_id
Hi, I am using SQL Server 2000 database and using a Java DAO class executing an SQL query using preparedStatement.The issue is that intermittently i get the following exception: "SQLException:Invalid column name". I checked the filed name in the tabl
-
Adobe Creative Suite 5.5 design standards (Student and teacher licensing) download
I had purchase Adobe Creative Suite 5.5 design standards (Student and teacher licensing), but I lost the disk and still have my product code. I tried downloading from the available downloads but the product code i have doesn't work. Where can i find
-
Have you used Captivate 4 with SAP?
I have tried using older versions of Captivate to create SAP demonstrations and simulations, and wasn't particularly pleased with the output. My employer is happy for me to upgrade to Captivate 4. Before I do, can anyone share their experience of usi
-
why icons on system preferences are not centered? Am I the only one having this issue? I'm on OS X 10.10.1 I'm pretty sure it wasn't like that on 10.10