Dynamic Table control with context nodes and attributes?
Hi all
I have node and attributes in context. i want to create table dynamically using this node and attributes, can anyone give code how to do this???
Thanks
Madhan.
Hi
Go through this [link|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/80a3de18-ee00-2d10-bfb3-946d7e00fd91?quicklink=index&overridelayout=true].
Regards
Arun.P
Similar Messages
-
Bind Dynamic Table To a Context Node
Hello,
I created an internal dynamic Table. I want to show this table in an ALV-Table. So I want to bind it to a context node.
I create the context node attributes by this:
lr_node_info ?= lo_nd_template_exp->get_node_info( ).
*Type of table type and context type have to be the same
LOOP AT lt_plchar INTO ls_plchar.
clear lv_text.
lv_text = ls_plchar-plchar.
TRANSLATE lv_text TO UPPER CASE.
ls_fieldcatalog-fieldname = lv_text.
ls_fieldcatalog-inttype = 'C'.
ls_fieldcatalog-intlen = '10'.
APPEND ls_fieldcatalog TO lt_fieldcatalog.
ls_attribute-name = lv_text.
ls_attribute-type_name = 'CHAR10'.
lr_node_info->add_attribute( EXPORTING attribute_info = ls_attribute ).
ENDLOOP.
So I create a fieldcatalog and the attributes at once.
Then I generate the table with this:
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_fieldcatalog
IMPORTING
ep_table = <fs_data>
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2 .
IF sy-subrc <> 0.
ENDIF.
* So now points to our dynamic internal table.
ASSIGN <fs_data>->* TO <fs_1>.
* Next step is to create a work area for our dynamic internal table.
CREATE DATA new_line LIKE LINE OF <fs_1>.
* A field-symbol to access that work area
ASSIGN new_line->* TO <new_line>.
Data: copy_table type ref to data.
field-symbols: <copy_table> type standard table.
create data copy_table like table of <new_line>.
assign copy_table->* to <copy_table>.
ok, nice. when i now bind the table to <copy_table> to lo_nd_template_exp it all works fine. But i also want to but the data into the table.
This also works. When I debug, I can see the table filled with the values. But then there's always this error:
Invalid operand type for the MOVE-CORRESPONDING statement.
Ok, I have read, that the types may be not fit. But I don't know why and how i can solve it.
Do you have any ideas?Hi,
I've the same problem: I must create all attribute of my node at run-time and then create alv.
I use the method:
DATA lo_cmp_usage TYPE REF TO if_wd_component_usage.
DATA lo_interfacecontroller TYPE REF TO iwci_salv_wd_table .
lo_cmp_usage = wd_this->wd_cpuse_alv( ).
IF lo_cmp_usage->has_active_component( ) IS INITIAL.
lo_cmp_usage->create_component( ).
ENDIF.
Pass context node to ALV
lo_interfacecontroller = wd_this->wd_cpifc_alv( ).
lo_interfacecontroller->set_data( node_lenght ). " node_lenght is my dynamic node
But I receive this message error:
Invalid operand type for the MOVE-CORRESPONDING statement.
Method: IF_WD_CONTEXT_NODE~GET_STATIC_ATTRIBUTES_TABLE of program CL_WDR_CONTEXT_NODE_VAL=======CP
Method: GET_REF_TO_TABLE of program CL_SALV_WD_DATA_TABLE=========CP
Method: EXECUTE of program CL_SALV_BS_SERVICE_MNGR_TABLE=CP
Method: EXECUTE of program CL_SALV_WD_SERVICE_MANAGER====CP
Method: APPLY_SERVICES of program CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: REFRESH of program CL_SALV_BS_RESULT_DATA_TABLE==CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE_DATA of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~MAP_FROM_SOURCE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_COMP_TABLE_DATA~UPDATE of program CL_SALV_WD_C_TABLE_V_TABLE====CP
Method: IF_SALV_WD_VIEW~MODIFY of program CL_SALV_WD_C_TABLE_V_TABLE====CP
What can I do??? My node doesn't static attribute....
Thank,
Federica. -
Is it possible to bind the elments with context node dynamically?
Hi All,
Is it possible to dynamically bind elements with context nodes?
In other words, at runtime, can we change the binding of an Inputfield to another context. Or a table to programmatically bind to another table?
Regards,
urbashihi urbashi.......
it is possible..
you should first pass the id of he ui element and then bind it.
for ex:
if there is an input field, you can get the attribute that is bound, using cl_wd_input_field->bound_value.
if you want to set an attribute, use cl_wd_input_field->bind_value.
the first one will give an idea of how a valueshould be given.
---regards,
alex b justin -
How to create Dynamic Table Control
Hi
How to create Dynamic Table control , The field names and values to be displayed in table control are to be fetched from Add-on Tables.
Regards
PrasathHi Jonathan,
Actually the columns to be displayed are not constant . It will be increased based on the database values, Anyhow it will not exceed 100.
Please confirm my understanding.
1. In this case I have to create 100 custom columns and make it visible / invisible based on my requirement and I can set the title at runtime.
2. How can i assosicate / reassociate the datadictionary reference for the columns that i use. Because I need to show the search help values for the
dynamic columns.
Your opinion on this will be helpful.
Regards
Prasath -
How to bind UI Element with Context Node Attribute Element
Hi,
I'm building my view dynamically in the wdDoModifyView method.
Is it possible to bind a "TextView" element to a specific element of an attribute node?
Scenario:
Node_Employees
|
+- Attribute_Code
|
+- Attribute_Name
Node Contents:
Employees
|
+- Code: 1, Name: Employee 1
|
+- Code: 2, Name: Employee 2
|
+- Code: 3, Name: Employee 3
I need to do something like binding a TextView UI element to the "Name" attribute of the element #2, what would result to show "Employee 2" on my view.
How can I do this?
Thanks in advance,
Geraldo.Hi Saravanan,
First I populate the context node and it won't change during view's lifecycle. After that, I build my view and bind the TextView UI elements to the node context attributes elements.
If the node has 10 elements, I will build 10 TextView UI elements and bind them to each attribute element.
Regards,
Geraldo Brígido. -
Data transfer between 2 views with context nodes
Hi all,
I'm working for the moment in CRM 7 with the BSP WD Component Workbench.
I have a small exercice (just to learn more about the webclient ect) and I have some problems.
I created 2 views:
- Worklist (List with all workflow items available for user)
- Workflow (When choosing a workflow item in the worklist, the workflow will be executed, or whatever...)
Now, I have a internal table with all workflow data and when I click on one workflow item, I want to give this data (from one record) from my internal table in a Context node tot the seconde view.
But how?? I realy don't know.
Can someone help me with this?
I created a custom controller
Should I use model nodes or value nodes?
what next? How can I fill this nodes with the data?
Any examples?
Thx!
HansHi Hans,
Check out this link.
[Reading Attributes from different context nodes in the same view;
Regards,
Sijo -
How to create a dynamic table region with dynamic VO in processFormRequest
Hi All,
I have a requirement to create a dynamic table region with a dynamic VO.
I need this because at runtime only the user will select the table name. So based on that table name, i have to create a table region to display the records.
I already created a dynamic VO. Could anyone share the code for dynamic table region creation.
Thanks in Advance.
Thanks and Regards,
Myvizhi
Edited by: Myvizhi Selvi on May 20, 2013 6:21 PMHi,
You can use following sample code to create advance table columns dynamically with colum groups as well.
It assumes that you have already created advance table with ID EmpTblRN.
Below code returns column heading dynamically and if you keep your VO column names and attributes
same in all the cases (COL1, COL2.....) then you can easily use a loop to create advance table columns.
It is attaching VO attributes to OAMessageStyledText bean in the last.
Hope it helps.
OAAdvancedTableBean advTable = (OAAdvancedTableBean)webBean.findChildRecursive("EmpTblRN");
Serializable [] param = {currentWindowSeq.toString()};
Datum[] colHeadingArray = (Datum[])am.invokeMethod("getColumnHeading", param);
String oldGrpName = null;
String newGrpName = null;
OAColumnGroupBean columnGroup = null;
DictionaryData columnFormat = new DictionaryData();
columnFormat.put(WIDTH_KEY, "4%");
for (int i = 0; i < colHeadingArray.length; i++)
try
oracle.sql.STRUCT os = (oracle.sql.STRUCT)colHeadingArray;
Object[] colHeadAttr = os.getAttributes();
newGrpName = (String)colHeadAttr[0];
if(newGrpName!=null)
if(!newGrpName.equals(oldGrpName))
// Create a column group, create the set the column header,
// and add the column group under the advanced table
columnGroup = (OAColumnGroupBean)createWebBean(pageContext, COLUMN_GROUP_BEAN, null, "ColGroup"+i);
OASortableHeaderBean columnGroupHeader = (OASortableHeaderBean)createWebBean(pageContext, SORTABLE_HEADER_BEAN, null, "ColGroupHeader"+i);
columnGroupHeader.setText(newGrpName);
// Retrieve from message dictionary
columnGroup.setColumnHeader(columnGroupHeader);
advTable.addIndexedChild(columnGroup);
oldGrpName = newGrpName;
// Create a column, create the set the column header, and add the column
// under the column group
OAColumnBean column1 = (OAColumnBean)createWebBean(pageContext, COLUMN_BEAN, null, "Column"+i);
OASortableHeaderBean column1Header = (OASortableHeaderBean)createWebBean(pageContext, SORTABLE_HEADER_BEAN, null, "Column1Header"+i);
column1Header.setText(colHeadAttr[1].toString());
column1.setColumnHeader(column1Header);
column1.setColumnFormat(columnFormat);
columnGroup.addIndexedChild(column1);
// Create the actual leaf item under the first column
OAMessageStyledTextBean leaf1 = (OAMessageStyledTextBean)createWebBean(pageContext, MESSAGE_STYLED_TEXT_BEAN, null, "Leaf"+i);
//OARawTextBean leaf1 = (OARawTextBean)createWebBean(pageContext, RAW_TEXT_BEAN, null, "Leaf"+i);
leaf1.setViewAttributeName("Week"+(i+1));
String destination = "OA.jsp?page=/xxqc/oracle/apps/per/leaveadvance/webui/EmployeeLeaveDetailPG&personId={@PersonId}";
destination = destination + "&startDate="+colHeadAttr[1].toString()+"-"+(String)colHeadAttr[0];
destination = destination + "&addBreadCrumb=Y&retainAM=Y";
leaf1.setDestination(destination);
OADataBoundValueViewObject cssjob = new OADataBoundValueViewObject(leaf1,"Color"+(i+1));
//leaf1.setAttributeValue(oracle.cabo.ui.UIConstants.STYLE_CLASS_ATTR, cssjob);
leaf1.setAttributeValue(UIConstants.RENDERED_ATTR, cssjob);
column1.addIndexedChild(leaf1);
catch(Exception e)
System.out.println("e"+e); -
Hi,
I want to know that is there any restrictions to declare nodes and attributes that come under these nodes?
For Eg, the requirement is to create a miscellaneos invoice through a ABAP web dynpro screen.There are many fields like Vendor name , Invoice number, VAT etc.How i can group these in to nodes and attributes? It is as we like or is there any standards to group?
Regards,
Charumathi.Bhi charumathi.......
the attributes can be combined into any node you wish..
but if you are going to represent a table or need to have a set of values for a single attribute then put it under a node and mention the cardinality as 0...n. its always better to create an attribute under a node rather directly under a context, for attributes canoot be mapped directly from comonent controller. only nodes can be mapped. so it is always bettter to have attributes under nodes.
---regards,
alex b justin -
BDC: How to enter data in Table control (With wizard) using scrolling?
Using BDC, I am trying to enter the data in the table control (with wizard).
I want to know what is the specific command to scroll down in table control (With Wizard).
While recording I am getting these steps:
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE /00
When I use above command and run BDC, it does not scroll.
Kindly let me know where am I going wrong.
Thanks in advance for your kind help.
AshishThe transaction is CK94
and the BDC recording is :
T CK94
SAPLCKBASCR1 0200 X
BDC_CURSOR CKI94A-BDATJ
BDC_OKCODE =ENTR
CKI94A-MATNR 10000789
CKI94A-WERKS VA79
CKI94A-BDATJ 2005
CKI94A-MGTYP ZDU01
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MISCH_VERH(02)
BDC_OKCODE /00
CKI94B-MIXCOST_PC(01)
CKI94B-MIXCOST_PC(02) X
CKI94B-MISCH_VERH(01)
CKI94B-MISCH_VERH(02) 40
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE /00
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE /00
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MISCH_VERH(07)
BDC_OKCODE /00
CKI94B-MIXCOST_PC(07)
CKI94B-MISCH_VERH(07) 60
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE /00
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE /00
SAPLCKBASCR1 0202 X
BDC_CURSOR CKI94B-MATNR
BDC_OKCODE =STOR
BDC_OKCODE '/00' is recorded when I scroll down in the table control.
Thanks for your kind concern.
Ashish -
How to Populate a Dropdown field for a table control with different keys
Hi All,
I have Table control with abt eight columns (fields). Out of these eight field one field is with dropdown list. In table control Project ID is Primary key column. Depending upon this Project ID value, i have different values which is to be populated in dropdown boxes. In table control if there is only one project ID value say 'P000715' i can populate it but when i have more than one project ID (P000715, p000716, P000717.....) in display in rows of table control i want to have different values in my dropdown field corresponding to that row of project id. Experts please tell me how to achieve this functionality.
Thankx in Advance
Rizwan Ahmad SiddiquiThe only way you may be able to do this is using
MODULE PROCESS ON VALUE-REQUEST. User-programmer F4 help
in your PAI routine.
In this routine you would build the list and get the returned value to update the field.
Something like this.
DATA: BEGIN OF value_tab OCCURS 0,
field1 TYPE zlmltype,
field2 TYPE zltypex,
END OF value_tab.
* Drop down values
REFRESH it_return_tab. CLEAR it_return_tab.
REFRESH value_tab. CLEAR value_tab.
SELECT ltype ltypex
INTO TABLE value_tab
FROM zlmltyp
WHERE auth NE '9'. "System Only
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'FIELD1'
value_org = 'S'
TABLES
value_tab = value_tab[]
return_tab = it_return_tab.
READ TABLE it_return_tab INDEX 1 INTO wa_return_tab.
CHECK sy-subrc EQ 0.
p_pleadtyp = wa_return_tab-fieldval. -
How to create a dynamic table region with dynamic VO
Hi All,
I have a requirement to create a dynamic table region with a dynamic VO.
I need this because at runtime only the user will select the table name. So based on that table name, i have to create a table region to display the records.
I already created a dynamic VO. Could anyone share the code for dynamic table region creation.
Thanks in Advance.
Thanks and Regards,
MyvizhiHi All,
I have a requirement to create a dynamic table region with a dynamic VO.
I need this because at runtime only the user will select the table name. So based on that table name, i have to create a table region to display the records.
I already created a dynamic VO. Could anyone share the code for dynamic table region creation.
Thanks in Advance.
Thanks and Regards,
Myvizhi -
Vertical scroll bar in table control with wizrads
Hi,
Im working on a table control with a customised table. I created a table control with wizards. But vertical scroll bar is not working. How can i invoke vertical scroll bar and can any one provide the code for the all the operations on a table control like save,find,find next,change....Thanks in advance.
AvinashHi Avinash
move the records number of your internal table into field LINES of tablecontrol. So you should change the code generated by wizard in PBO, for example create a new module:
PROCESS PBO
MODULE SET_DATA_TO_T_CTRL.
LOOP..
ENDLOOP.
MODULE SET_DATA_TO_T_CTRL.
DESCRIBE TABLE ITAB LINE SY-TABIX.
<TABLECONTROL>-LINES = SY-TABIX.
ENDMODULE.
Max -
Dynamic VLAN Assignment with RADIUS Server and Aironet Access Points
Hi Guys,
I would like to go for "Dynamic VLAN Assignment with RADIUS Server and Aironet Access Points 1300". I want the AP to broadcast only 1 SSID. The client find the SSID ->put in his user credential->Raudius athentication->assign him to an specific vlan based on his groupship.
The problem here is that I don't have a AP controller but only configurable Aironet Access Points 1300. I can connect to the radius server, but I am not sure how to confirgure the AP's port, radio port, vlan and SSID.
http://www.cisco.com/en/US/tech/tk722/tk809/technologies_configuration_example09186a008076317c.shtml#switch
I go through some references:
3.5 RADIUS-Based VLAN Access Control
As discussed earlier, each SSID is mapped to a default VLAN-ID on the wired side. The IT administrator may wish to impose back end (such as RADIUS)-based VLAN access control using 802.1X or MAC address authentication mechanisms. For example, if the WLAN is set up such that all VLANs use 802.1X and similar encryption mechanisms for WLAN user access, then a user can "hop" from one VLAN to another by simply changing the SSID and successfully authenticating to the access point (using 802.1X). This may not be preferred if the WLAN user is confined to a particular VLAN.
There are two different ways to implement RADIUS-based VLAN access control features:
1. RADIUS-based SSID access control: Upon successful 802.1X or MAC address authentication, the RADIUS server passes back the allowed SSID list for the WLAN user to the access point or bridge. If the user used an SSID on the allowed SSID list, then the user is allowed to associate to the WLAN. Otherwise, the user is disassociated from the access point or bridge.
2. RADIUS-based VLAN assignment: Upon successful 802.1X or MAC address authentication, the RADIUS server assigns the user to a predetermined VLAN-ID on the wired side. The SSID used for WLAN access doesn't matter because the user is always assigned to this predetermined VLAN-ID.
extract from: Wireless Virtual LAN Deployment Guide
http://www.cisco.com/en/US/products/hw/wireless/ps430/prod_technical_reference09186a00801444a1.html
==============================================================
Dynamic VLAN Assignment with RADIUS Server and Wireless LAN Controller Configuration Example
http://www.cisco.com/en/US/tech/tk722/tk809/technologies_configuration_example09186a008076317c.shtml#switch
==============================================================
Controller: Wireless Domain Services Configuration
http://www.cisco.com/en/US/products/hw/wireless/ps4570/products_configuration_example09186a00801c951f.shtml
Any help on this issue is appreicated.
Thanks.I'm not sure if the Autonomous APs have the option for AAA Override. On the WLC, I can go into the BSSID, Security, Advanced, and there's a checkbox that I would check to allow a Radius server to send back the VLAN.
I did a little research and it looks like the 1300 may give this option but instead is defined as "VLAN Override". I've found the release notes for 12.3(7)JA5 (not sure what version you're running) that give mention and a link to configuring EAP on page 4: http://www.ciscosystems.ch/en/US/docs/wireless/access_point/1300/release/notes/o37ja5rn.pdf
Hope this helps -
How to delete the row in table control with respect to one field in module pool programming?
Hi,
Can I know the way to delete the row in table control with respect to one field in module pool programming
Regards
Darshan MSHI,
I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
I have written this code,
module USER_COMMAND_9000 input.
DATA OK_CODE TYPE SY-UCOMM.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'DELETE'.
LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
APPEND LS_SOURCE TO LT_RESTORE.
DELETE TABLE LT_SOURCE FROM LS_SOURCE.
SOURCE-LINES = SOURCE-LINES - 1.
ENDLOOP.
But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
So I thought of doing with respect to the field. -
Generic Java class for working with Context Nodes
Hi,all
I would like to write generic Java class for working with Context Nodes:
populating node,
add element to node,
update node element,
remove node element
Any ideas how can I do it?Hi,Armin
Thanks for your answer.
I have many nodes with the same structure,but different data.
I don't want to work with each one of them individually.
This is the main reason.
Regards,
Michael
Any ideas?
Maybe you are looking for
-
Scroll is broken on month view in Calendar
i can no longer scroll to next or previous month with trackpad in Calendar's month view. when i swipe two fingers up or down (or left/right) just nothing happens. is it intentional stupidity to force me to click left/right arrow buttons on top-right?
-
How to add Column field in the custom Query Link search page as a header
Hi, I have created a Query page link in web layout editor. Now, I want to customise the view of the result. I see an option to change the "Text1" and "text2", but how do I add other fields as a colum in the search result ? The only column I see by de
-
I want to fetch mail ( gmail) only during business hours ( its my job email).from e.g. 8 am til 4 pm, monday to friday. Is there an app for that ? ios default mail function cant do that. At the moment I have to manually turn mail off/on every anterno
-
Ipod won't update on new computer!! please helppp
well i recently got a new computer and decided to move all the songs form the old computer over so i did. now i need to update my ipod and for some reason when the ipod is connected it seems to work .. but then the problem comes it says updating ipod
-
Hi all, I am using the categories tab in iTunes to group my books. However, when I select categories in the iBooks app on the iPad it shows all the books in one long scroll list seperated by category headings. How do I get it to show JUST the categor