Read context node table type
Hi
I have a requirment to read the context node of type cl_bsp_wd_context_TV.
How to read using bol programming?
Any solutions.
regards
John
Hi,
what are you looking for?
* your context node
data lr_node type ref to cl_bsp_wd_context_TV.
* the list of entities
lt_entities = lr_node->table.
* the collection of entities
lr_coll = lr_node->collection_wrapper.
Was that your aim?
There are much more attributes...
cu,
TW
Similar Messages
-
Webdynpro reading context into table
Hi Guy,
I havent been able to find anything on this but I am assuming its a very common questions. I apologise in advance.
My question below:
I have a context 0..n
I would like to read this into table type t1.
Context and table are base on the same structure.
I understand I have to use get_static_attributes_ref or table. But I am not sure how to go about getting it and then casting it into type t1
Thanks in advance.
Moderator message: please post again in "Web Dynpro ABAP" forum
Edited by: Thomas Zloch on Oct 28, 2010 3:03 PMhi Nir..
may be you shud use the HSSF api.....
try this link....
<a href="http://www.koders.com/java/fid5636164FDE72156B90C9973AC12EBBF49048BA4E.aspx">HSSF_API</a>
Regards,
Sudheer -
Read Context Node/Attribute option in webdynpro code wizard not available
Hi Expets,
I am new to webdynpro Abap, i have developed a small application to set default values for two fields. i want to use code wizard to implement the code. When i click on code wizard icon in application tool bar, i have found lot of option like Method call in current controller, method call in used controller, Instantiate used component ... etc. But i didn't find the option Read Context Node/Attribute. Do i need to do any settings to get that. Kindly suggest. Your help will be greatly appreciated.
VenkatHi,
Check the NW release,
I checked with NW 7.02 - 2 tabs were available.
with NW 7 - only 1 tab was available which you mentioned.
Additional tab (Context ) might have been added after NW release 7.0.
Regards
Manas Dua -
How to modify the data of Context Node of type table in BSPCOMP WB
Hi,
I have context node which is of table type. Now, beofre displaying the table, I have to delete few entries from this context node.
Could you please help me out, how exactly I can handle this?
Component: BP_DATA (Enhanced)
View: MarketingAttributesEOVP
Context Node: ATTRIBUTES
Thanks,
SandeepMake use of ON_NEW_FOCUS method of the context node to achieve the same. Get the collection first and then iterate it remove the entities which are not needed and then set the rest of the collection. You can also check standard code for reference.
Rg,
Harshit Kumar -
How to read context node/attribute data of diff UI component of same screen
Hi,
I am new to CRM and as well as BSP, Now the requirement is, at the time of Lead creation, when the end user enters customer code and sales area i need to fetch and display the customer group 1 value( VIP,KAM etc) based on the customer's sales area, ( these are sales area specific values).
but the problem is Customer code is in diff UI component and sales area data is in diff UI component .
1) customer code attribute is in UI component BT108H_LEA, View BT108H_LEA\Detail, Context node is BTPARTNERPROSPECT.
2) sales area fields are in the UI component BTORGSET, View BTORGSET\OrgSetData, Context node is BTORGSET.
3) I have created new field(customer type to display the customer group 1 value "VIP") in UI component BT108H_LEA, View BT108H_LEA\Detail, Context node is BTLEADH.
To display the value in the context node BTLEADH, i need to know the sales area data which is entered in BTORGSET.
Kindly let me know how to read the data which is in diff UI component of the same Lead creation screen.
i written following code in context node BTLEADH, atttribute New Zfield, in get method, but not able solve, please guide me.
DATA: LR_ENT TYPE REF TO CL_CRM_BOL_ENTITY,
LR_COL TYPE REF TO IF_BOL_ENTITY_COL.
LR_ENT ?= ME->TYPED_CONTEXT->BuilHeader->COLLECTION_WRAPPER->GET_CURRENT( ).
LR_COL = LR_ENT->GET_RELATED_ENTITIES( IV_RELATION_NAME = 'BuilSalesArrangementRel' ).
LR_ENT ?= LR_COL->GET_FIRST( ).
IF LR_ENT IS BOUND.
LR_ENT->GET_PROPERTY_AS_VALUE( EXPORTING IV_ATTR_NAME = 'DIVISION' IMPORTING EV_RESULT = LV_DIVISION ).
ENDIF.
I'll appreciate if you can provide me some documents to refer.
awaiting for your responses.
Thanks
BhanuHi Gangadhar,
I think i have not clearly explained my requirement, let me put it once again. My requirement is, I have to read two UI component data, validate and display some value in one new zfield which is in one of the UI components.
I need to display customer's sales area specific data like customer group 1 value in that new zfield. for that i need Customer code and as well as sales area data from the screen.
1) customer code attribute is in UI component BT108H_LEA, View BT108H_LEA\Detail, Context node is BTPARTNERPROSPECT.
2) sales area fields are in the UI component BTORGSET, View BTORGSET\OrgSetData, Context node is BTORGSET.
3) I have created new field(customer type to display the customer group 1 value "VIP") in UI component BT108H_LEA, View BT108H_LEA\Detail, Context node is BTLEADH.
As per my understanding, in the context node BTLEADH, GET_METHOD of atttribute New Zfield, i have to read customer code from UI component BT108H_LEA, View BT108H_LEA\Detail, Context node is BTPARTNERPROSPECT and Sales area data from UI component BTORGSET, View BTORGSET\OrgSetData, Context node is BTORGSET based on the values, validate and display the data.
But as per your recent reply you are asking me to write the code in get_property_attribute---division. so i didnt understand.
Kindly clarify if i am wrong.
awaiting for your response.
Thanks
BHanu -
Hi everyone,
I am calling a FM BBP_READ_ATTRIBUTES, it exports a line ET_ATTR(Table type) , now in this there is a field VLIST which is an Internal table . and It has entry in it.
Now I require to get this internal table.
I declare in data statement var type tabletype.
How exactly can i retreive this internal table .
when i double clicl on ET_ATTR , it a tabl type but i calls a line type BBPS_ATTR which is like a structure and there is a feild like VLIST which is an internal table .
Please help me to retrieve the data in this internal table.
Reagrds,
RajPlz try the following..
FIELD_SYMBOLS: <fs_vlist_tab> type VLIST. " plz give the table type of VLIST
DATA: WA_VLIST TYPE LINE OF VLIST
READ TABLE ET_ATTR INDEX 1. " as you saying it has only one line, read only index 1. o.w. you can read the other lines too as per you requirement.
ASSIGN ET_ATTR-VLIST TO <FS_VLIST_TAB>.
READ TABLE <FS_VLIST_TAB> into WA_VLIST index 1.
* and process your WA_VLIST as requried..
Regards
Prax -
Reading data from Table type from Badi /sapapo/curto_create
Hi,
I have been trying to read data from badi /sapapo/curto_create . In this badi there is method CS_PPDS_RTO.
which has nested structure upto 8 level. I have been trying to read data but i am not suceesfull in reading data from the stsructre
which is present at lowest level.
The nested structure of the BEFORE_SAVE is following way.
BEFORE_SAVE-CS_PPDS_RTO-HIRARCHY-ADD_APPLICTN_DATA-MODES-BODY-CAP_REQS-RESUID.
I have to read the value of reusid bt i am not sure whow to read this value can you please help me by giving some Bapi or method
to read the value of Reusid .
ThanksHi!
DATA: lv_resuid TYPE resuid.
LOOP AT CS_PPDS_RTO-HIRARCHY-ADD_APPLICTN_DATA-MODES-BODY-CAP_REQS-RESUID
INTO lv_resuid.
ENDLOOP. -
Remove leading Zeros from the mapped context node(Table)
HI,
I have he following requirement:
In the Leave approval application , in the Approver worklist we have the coloumn to display the resuqester's Perner.
The perner starts with leading zeros. We have to remove these leading zeros.
I have refer the following threads:
Removing leading zeros in a column
How to remove leading zeroes of string
and wiki document:
https://www.sdn.sap.com/irj/scn/wiki?path=/display/java/remove%252bleading%252band%252btrailing%252bzeros%252bfrom%252ba%252bstring
but I am not able to create the calculated attribute in the Mapped Node( NWDS is not allowing indicating it is not allowed for mapped nodes.)
Any pointer how I can remove leading Zeros from existing column?
If I create the calculated attribute outside the mapped node then it is taking only the first value of the mapped node.
Please note we do not want to modify the RFC.
_vishalHi,
Thanks for inputs,
Now I created a test application where the original structure is as follows in the View Controller:
1) Context -> Z_Portal_Test_Input (mapped Node/folder) -> IT_Tab_Input(mapped Node/folder) -> Eid(Mapped attribute)
note: this attribute Eid has the values (01, 02,03,04,05)
2)Context -> Z_Portal_Test_Input (mapped Node/folder) -> Output(mapped Node/folder) ->IT_Tab_Input(mapped Node/folder) -> Eid(Mapped attribute)
Now as per your suggestion I created another node like this
Context -> Z_Portal_Test_Input (mapped Node/folder) ->testnode(value node) ->testValue(value attribute)
testnode cardinality is 1..1 and singlton = false
In the Layout
The tablecell editor of one coloumn is mapped to text Z_Portal_Test_Input.testnode.testvalue
It is expected that this will show the values like(1,2,3,4,5) but it is showing value(1,1,1,1,1)
The code of get method is:
public java.lang.String getTestnodeTestvalue(IPrivateTestpernerView.ITestnodeElement element)
//@@begin getTestnodeTestvalue(IPrivateTestpernerView.ITestnodeElement)
String msg =wdContext.nodeZ_Portal_Test_Input().nodeOutput().nodeIt_Itab().currentIt_ItabElement().getEid();
return removeLeadingZeroes(msg);
//@@end
the functon removeLeadingZeroes(msg) is implemented as per the wiki link.
What wrong I am doing/ missing....
_vishal -
Reading the Context Node in the same Component
Dear Gurus,
I have made enhancement to standard view and functionality is working fine.
Now i need to read the different context node (Different view) from the same component.
I try to do the way Webdynrpo read the context node but here there is Wizard and i stucked :-(.
Can you plz suggest or post small code to read context node.
Regards.
****Poorna****Hi,
If those two views are assinged to one viewset in runtime repositoty, you can read the secod view by following code:
lv_viewname = me->get_viewarea_content( 'Upper' ). " here(me =view1)
IF lv_viewname IS NOT INITIAL.
lr_viewctrl = me->get_subcontroller_by_viewname( lv_viewname ).
IF lr_viewctrl IS BOUND.
from here you can read the context nodes.
Regards,
S Reddy -
ABAP: dynamic context node + attribute for DROP_DOWN_BY_KEY
Hello,
I need to create a Node with attributes dynamically and than assign it to a DROP_DOW_BY_KEY element in ABAP.
I create drop down this way:
drop_down_figure = cl_wd_dropdown_by_key=>new_dropdown_by_key( bind_selected_key = 'REPOSITORY.FIGURES' on_select = 'GET_OPERATOR' ).
cl_wd_grid_data=>new_grid_data( element = drop_down_figure ).
ui_container->add_child( drop_down_figure ).
However, here I bind to REPOSITORY.FIGURES. Instead of doing this I need to bind it to an attribute that I create.
I can access wd_context but I am not sure how to create a node in wd_context, then attribute for that node that will contain items for drop down.
bind_selected_key is type of String. If I create a node with attribute how do I cast it to a String so I can pass it to a constructor of a drop down?
Thank you.Hi Georgy,
There is a 3 - series weblog for this.
The first one is:
/people/thomas.szcs/blog/2005/12/28/dynamic-programming-in-web-dynpro-abap--introduction-and-part-i-understanding-ui-elements
The following are the the general steps for creating a node and table where table name is input by the user:
DATA:
UI Elements
group_1 TYPE REF TO cl_wd_uielement_container,
new_tab TYPE REF TO cl_wd_table,
Context Nodes
dyn_node TYPE REF TO if_wd_context_node,
tabname_node TYPE REF TO if_wd_context_node,
Node Info
rootnode_info TYPE REF TO if_wd_context_node_info,
Data Reference (for internal table)
stru_tab TYPE REF TO data,
String (for table name)
tablename TYPE string.
FIELD-SYMBOLS:
<tab> TYPE table.
1) * get node info of context root node
rootnode_info = wd_context->get_node_info( ).
2) * create sub node named TEST1 of structure (tablename)
cl_wd_dynamic_tool=>create_nodeinfo_from_struct(
parent_info = rootnode_info
node_name = tablename
structure_name = tablename
is_multiple = abap_true ).
3) * get instance of new node
dyn_node = wd_context->get_child_node( name = tablename ).
4) ***** create new UI element table *******************************************************
new_tab = cl_wd_dynamic_tool=>create_table_from_node(
ui_parent = group_1
table_id = 'TESTTAB'
node = dyn_node ).
5) ***** fill context node with data *******************************************************
create internal table of (tabletype)
CREATE DATA stru_tab TYPE TABLE OF (tablename).
ASSIGN stru_tab->* TO <tab>.
Get table content
SELECT * FROM (tablename) INTO CORRESPONDING FIELDS OF TABLE <tab>.
Bind internal table to context node.
dyn_node->bind_table( <tab> ).
Regards,
Srini. -
How to create a table type context node
Hi,
I am trying to create table type context node. While creating, in the wizard no where I can see the option for this.
Could you please let me know how can I do this?
In one standard component: SRQM_INCIDENT_H, I can see multiple table type context nodes. Not sure how and why?
Thanks,
SandeepHI Sandeep,
When you right click on context node and create , a wizard will open. In that Wizard in one sreen it will ask for type of view. There you have to select Table View.
Regards,
Lakshmi.Y -
(ABAP) Internal table of type context node (Urgent)
Hi All,
I created a internal table in a view say ABC_VIEW using a context node say ABC_NODE. This is did using following statement:
it_abc type table of if_abc_view=>element_abc_node.
Now I would like to pass this as a exporting parameter to a method in component controller. Kindly suggest how i can achieve this. I tried the following:
it_abc exporting element_abc_node.
But this does not work.
Kindly reply soon.
Regards,
Anoop
Message was edited by: Anoop Singh SainiHi Anoop,
Web Dynpro generates an internal table (and structure) for each context node in a controller's context. Such a definition is local to the controller where the node is defined, since a different controller could have a node of the same name with different attributes. Nonetheless, it is possible to transfer the data of a node to another controller by:
(a) Using a DDIC structure for a context node. The generated structure and the DDIC structure are the same then. The generated internal table is a standard table. If you define one in DDIC or somewhere else, you can use it for typing the parameter.
(b) Transfer the pointer to the node! You can still access it from any other place.
Best regards,
Thomas -
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. -
Reading Attributes from different context nodes in the same view
Hi,
I have added a new field as part of an enhancement for Trade Promotions. This field is a checkbox and part of the context node TRADE in the view TPMOE/HeaderEOF. This field will be checked or unchecked using a logic in the background.
The logic will be based on an attribute (Fund Plan ID) which is part of another context node FUNDPLAN in the same view.
How can I read the attribute of FUNDPLAN context node in TRADE context node?
A sample code will be quite helpful as I am new to CRM 2007.
Thanks,
Abhishek
Edited by: Abhishek Periwal on Oct 16, 2008 2:35 PMHi Abhishek,
If I understand your question correctly, you would like to access the Fund plan ID (in a different context node) in the getter setter methods of the check box attribute which you have added.
The code snippet mentioend by sudeep works perfectly fine when you are making any checks in the view implementation class. But since you are in the getter setter methods of the context class, this doesnot work as "me" always refers to the class instance in which you are present.
Now in this case what you need to do is :
1) create an attribute <view_controller> in your context class. Here the context is TRADE. The type of this attribute wud be same as the view controller class CL_TPMOE_HEADEREOF0_IMPL
2) Go to the view controller class and redefine the method
DO_VIEW_INIT_ON_ACTIVATION. This method is called only once when the view is loaded for the first time.
3) In this method, put the following code
me->typed_context->(Trade)->[view_controller] = me.
by the above code, you are setting the newly created attribute to the view controller instance.
4) The next step would be, go back to your getter setter methods or what ever it may be, try referring to the Fund plan ID by the code snippet mentioned below
data: lr_entity type ref to cl_crm_bol_entity.
lr_entity ?= me->[view_controller]->typed_context->[the context node in which the fund plan id is present]->get_current().
lv_field_value = lr_entity->get_property_as_String( **pass the field name here ).
This should definitely resolve the problem.
Thanks,
Vinay -
How to read the context node of used component?
Hi,
I have component called : SRQM_INCIDENT_H. This component has used component - BTSTATUS.
Now, I need to read the context node of the BTSTATUS/UserStatus in GET Methods of Context node in SRQM_INCIDENT_H.
Can you plese help me out.
Thanks,
SandeepThe component usages can be accessed from the component controller
You should however assure that the context node is present in comp controlelr of the used component.View context nodes cannot be accessed.
if not ,then you need to goto the component BTSTATUS ,add the context node explicitly to comp controller,and do correct bindings to the view context node.
Once you add the context node to the com controller,yo also need to expose it.
go to runtime repository->component_interface->interface_controller->context->right click and select ADD CONTEXT NODE, and add you newly creatde context ndoe of comp contorller here.
Now you cann access it using the code below in your comp SRQM_INCIDENT_H
data:lr_comp_controller type ref to <ur comp controller class>lr_comp_controller ?= me->comp_controller.
lr_comp_usage ?= lr_comp_controller->get_component_usage( iv_usage_name = '<name of the comp usage as in runtime repository' ).
CHECK lr_comp_usage IS NOT INITIAL.
lr_cnode ?= lr_comp_usage->get_context_node( iv_cnode_name = '<the required context node name>' ).
Suvidha
Maybe you are looking for
-
Unable to uncheck checkbox in UIX editable table
It seams that in editable table is unable to uncheck checked checkbox. After submit checkbox is stays checked. To check it works fine. To uncheck it in imput form also works fine. Problem is only in editable table. version jdev10.1.2. Thank you. Jara
-
Testing the connectivity between Integration Directory& Integration Reposi
Hi Experts, I am verifying the configured PI7.0 server,but i am not able to fine the Integration scenarios at the stage : (Testing the connectivity between Integration Directory and Integration Repositor) In Integration Directory Co
-
Need attachment file name which had sent or received in entire days.
Hi Friends I need your help for getting information on exchange mailbox user who had sent or received mails along with attachment file name for entire day. Basically I get the information of entire mails which had received or sent in all days but I
-
Lightroom 4.4 beta and Camera Profiles Issue
I'm testing Lightroom 4.4 beta and noticed that my D600 RAW files don't seem to be interpreted correctly when selecting camera profiles such as Camera Neutral or Camera Standard, etc. This becomes most obvious when processing higher ISO files. The on
-
SSD on MacBook Pro 9,2 issue with hibernation
Hi all, I have a MacBook Pro 9,2 model 13 inches with 16GB of ram and OSX 10.8.5. I have installed an SSD internal disc replacing the original one. I have noticed now that once the Mac goes into deep sleep (hybernation), with battery below 3 percent,