Creation of checkboxgroup in WebDynpro Dynamically
I want to develope a WebDynpro application, which creates UIs dynamically when the application is running. How can i write code for *CheckboxGroup*
Hi Pinki,
Chk this link..
http://help.sap.com/saphelp_nw04/helpdata/en/da/2bf042493ef54499a77394ef6be096/frameset.htm (Section abt Endpoints while Creating a Web Service for an Enterprise JavaBean)
GS
Similar Messages
-
How to create a dynamic radiobutton in webdynpro dynamically
HI,
I want to create radiobutton in webdynpro dynamically.But this button in not enabled.Code:-
IWDNodeInfo info =wdContext.getNodeInfo().addChild("RadioBUttonDymanicNode",null,true,false,true,false,false,true,null,null,null);
IWDRadioButton rb = (IWDRadioButton)view.createElement(IWDRadioButton.class,null);
String testAtt = "testAtt";
info.addAttribute ("testAtt","ddic:com.sap.dictionary.string");
rb.bindSelectedKey("RadioBUttonDymanicNode." + testAtt);
rb.bindKeyToSelect("aa");
rb.setEnabled(true);
theTransContainer1.addChild(rb);
Please suggest me how to make it enable.
Regards
-SandipHi Sandip,
Try this code inside the wdModifyView(),
if (firstTime)
IWDRadioButtonGroupByKey radioButtonGroup =(IWDRadioButtonGroupByKey)
view.createElement(IWDRadioButtonGroupByKey.class, "MyRadioButtonGroupByKey");
radioButtonGroup.bindSelectedKey(<attributeName>);
radioButtonGroup.setEnabled(true);
IWDTransparentContainer container=(IWDTransparentContainer)
view.getElement("RootUIElementContainer");
container.addChild(radioButtonGroup);
Regards
Kishan -
How to de-activate a button in webdynpro dynamically
Hi Experts,
How to de-activate a button and checkbox in webdynpro dynamically depending upon some condition.
Thanks,hi
to de-activate or disable a button, lets say u want to disable SAVE button once it is clicked...
then in the method where u write code for SAVE button
at the end:
elem_btn_disable->set_attribute(
EXPORTING
name = `DIS_SAVE`
value = abap_false ).
DIS_SAVE should be of type WDY_BOOLEAN in the context.
abap_false means deactivating the button .
if you want to HIDE a button, then type should be WDY_VISIBILITY or WDY_UI_ELEMENT_VISIBLE
& value = 1 .
if you want to do this before screen loads, then do it in the INBOUND plug method of in tht WDDOINIT method.
give points if helpful.
rgds
prateek -
Creation of table of table dynamically
Hi everyone,
i have created an alv grid with a dynamic number of columns. Now i need to edit specific rows in the alv table. In the BCALV_EDIT_02 you need to create in the data table a field CELLTAB (wich is also a table), how can i do this ?
XavierHello Frederico
The once again revised version of my sample report demonstrates how to store PBO and PAI data. Please note the following naming convention:
- OUTTAB ==> itab for ALV list display with CELLTAB (i.e. a complex type)
- ITAB ==> flat itab without CELLTAB
*& Report ZUS_SDN_RTTI_CREATE_STRUCTUR_2
*& NOTE: 1st revised version of ZUS_SDN_RTTI_CREATE_STRUCTUR_1
REPORT zus_sdn_rtti_create_structur_2.
TYPE-POOLS: abap.
DATA:
celltab TYPE lvc_t_styl.
DATA:
gd_tabnam TYPE string,
gd_tabfield TYPE string,
go_table TYPE REF TO cl_salv_table,
go_sdescr TYPE REF TO cl_abap_structdescr,
go_sdescr_new TYPE REF TO cl_abap_structdescr,
go_tdescr TYPE REF TO cl_abap_tabledescr,
go_typedescr TYPE REF TO cl_abap_typedescr,
gdo_data TYPE REF TO data,
gdo_handle TYPE REF TO data,
gs_component TYPE abap_compdescr,
gs_comp TYPE abap_componentdescr,
gt_components TYPE abap_component_tab.
* name TYPE string,
* type TYPE REF TO cl_abap_datadescr,
* as_include TYPE abap_bool,
* suffix TYPE string,
FIELD-SYMBOLS:
<gd_fld> TYPE ANY, " single field
<gs_outtab> TYPE ANY, " structure with CELLTAB
<gs_itab> TYPE ANY, " structure without CELLTAB
<gt_itab_pbo> TYPE STANDARD TABLE, " without CELLTAB
<gt_itab_pai> TYPE STANDARD TABLE, " without CELLTAB
<gt_outtab_pbo> TYPE STANDARD TABLE, " with CELLTAB
<gt_outtab_pai> TYPE STANDARD TABLE. " with CELLTAB
PARAMETER:
p_tabnam TYPE tabname DEFAULT 'KNB1'.
PARAMETERS:
p_skip AS CHECKBOX DEFAULT 'X'. " skip simulation
START-OF-SELECTION.
" Describe structure
go_sdescr ?= cl_abap_structdescr=>describe_by_name( p_tabnam ).
gd_tabnam = go_sdescr->get_relative_name( ).
* Simulate dynamic addition of columns to ALV list
DO 5 TIMES.
READ TABLE go_sdescr->components INTO gs_component INDEX syst-index.
" Build fieldname
CONCATENATE gd_tabnam gs_component-name INTO gd_tabfield
SEPARATED BY '-'.
CLEAR: gs_comp.
gs_comp-type ?= cl_abap_datadescr=>describe_by_name( gd_tabfield ).
gs_comp-name = gs_component-name.
APPEND gs_comp TO gt_components.
go_sdescr_new = cl_abap_structdescr=>create( gt_components ).
go_tdescr = cl_abap_tabledescr=>create( go_sdescr_new ).
" Create data refence followed by table creation
CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
ASSIGN gdo_handle->* TO <gt_outtab_pbo>.
* Dynamic select
SELECT * FROM (p_tabnam) UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE <gt_outtab_pbo>
WHERE bukrs = '2000'.
IF ( p_skip = abap_false ).
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_table
CHANGING
t_table = <gt_outtab_pbo>.
go_table->display( ).
CATCH cx_salv_msg .
ENDTRY.
ENDIF.
ENDDO.
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_table
CHANGING
t_table = <gt_outtab_pbo>.
go_table->display( ).
CATCH cx_salv_msg .
ENDTRY.
" Display component list in order to prove that indeed the field names
" are used (instead of the data element names)
TRY.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = go_table
CHANGING
t_table = gt_components.
go_table->display( ).
CATCH cx_salv_msg .
ENDTRY.
" Create data reference for structure (without CELLTAB)!!!
CREATE DATA gdo_handle TYPE HANDLE go_sdescr_new.
REFRESH: gt_components.
CLEAR: gs_comp.
gs_comp-type ?=
cl_abap_structdescr=>describe_by_data_ref( gdo_handle ).
gs_comp-name = 'DATA'.
gs_comp-as_include = abap_true.
APPEND gs_comp TO gt_components.
" Add table type as field to structure ==> complex structure
CLEAR: gs_comp.
gs_comp-type ?= cl_abap_typedescr=>describe_by_data( celltab ).
gs_comp-name = 'CELLTAB'.
APPEND gs_comp TO gt_components.
go_sdescr = cl_abap_structdescr=>create( gt_components ).
go_tdescr = cl_abap_tabledescr=>create( go_sdescr ).
CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
ASSIGN gdo_handle->* TO <gt_outtab_pbo>.
* Dynamic select
SELECT * FROM (p_tabnam) UP TO 10 ROWS
INTO CORRESPONDING FIELDS OF TABLE <gt_outtab_pbo>
WHERE bukrs = '2000'.
PERFORM fill_celltab.
" Create second itab (PAI data)
CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
ASSIGN gdo_handle->* TO <gt_outtab_pai>.
<gt_outtab_pai> = <gt_outtab_pbo>. " PAI data = PBO data
" Renumbering of customer makes it easier to spot the differences
LOOP AT <gt_outtab_pai> ASSIGNING <gs_outtab>.
ASSIGN COMPONENT 'KUNNR' OF STRUCTURE <gs_outtab> TO <gd_fld>.
<gd_fld> = syst-tabix. " new numbering of customers
ENDLOOP.
LOOP AT <gt_outtab_pbo> ASSIGNING <gs_outtab>.
ASSIGN COMPONENT 'KUNNR' OF STRUCTURE <gs_outtab> TO <gd_fld>.
<gd_fld> = syst-tabix. " new numbering of customers
ENDLOOP.
DELETE <gt_outtab_pbo> INDEX 3. " ==> 3rd row in PAI data is new
DELETE <gt_outtab_pai> INDEX 7. " ==> 7th row in PBO data is DELE
" Shuffle data from outtab to corresponding itab (w/o CELLTAB)
PERFORM shuffle_outtab_to_itab.
" List output
PERFORM write_list.
EXIT.
" Simplified version of table creation:
CLEAR: gdo_data.
UNASSIGN <gt_outtab_pbo>.
CREATE DATA gdo_data TYPE STANDARD TABLE OF (p_tabnam).
ASSIGN gdo_data->* TO <gt_outtab_pbo>.
END-OF-SELECTION.
*& Form FILL_CELLTAB
* text
* --> p1 text
* <-- p2 text
FORM fill_celltab .
* define local data
DATA:
ls_cell TYPE lvc_s_styl,
lt_celltab TYPE lvc_t_styl.
FIELD-SYMBOLS:
<gs_struc> TYPE ANY,
<lt_celltab> TYPE lvc_t_styl.
" Create dummy entry for local CELLTAB
ls_cell-fieldname = 'BUKRS'.
ls_cell-style = cl_gui_alv_grid=>mc_style_enabled.
INSERT ls_cell INTO TABLE lt_celltab.
LOOP AT <gt_outtab_pbo> ASSIGNING <gs_struc>.
ASSIGN COMPONENT 'CELLTAB' OF STRUCTURE <gs_struc> TO <lt_celltab>.
<lt_celltab> = lt_celltab.
" No MODIFY required because we are working with the field symbol
ENDLOOP.
ENDFORM. " FILL_CELLTAB
*& Form SHUFFLE_OUTTAB_TO_ITAB
* text
* --> p1 text
* <-- p2 text
FORM shuffle_outtab_to_itab .
go_tdescr = cl_abap_tabledescr=>create( go_sdescr_new ).
CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
ASSIGN gdo_handle->* TO <gt_itab_pbo>.
go_tdescr = cl_abap_tabledescr=>create( go_sdescr_new ).
CREATE DATA gdo_handle TYPE HANDLE go_tdescr.
ASSIGN gdo_handle->* TO <gt_itab_pai>.
LOOP AT <gt_outtab_pbo> ASSIGNING <gs_outtab>.
ASSIGN COMPONENT 'DATA' OF STRUCTURE <gs_outtab> TO <gs_itab>.
APPEND <gs_itab> TO <gt_itab_pbo>.
ENDLOOP.
LOOP AT <gt_outtab_pai> ASSIGNING <gs_outtab>.
ASSIGN COMPONENT 'DATA' OF STRUCTURE <gs_outtab> TO <gs_itab>.
APPEND <gs_itab> TO <gt_itab_pai>.
ENDLOOP.
ENDFORM. " SHUFFLE_OUTTAB_TO_ITAB
*& Form WRITE_LIST
* text
* --> p1 text
* <-- p2 text
FORM write_list .
WRITE: / 'PBO data:'.
LOOP AT <gt_itab_pbo> ASSIGNING <gs_itab>.
WRITE: / 'Record No.=', syst-tabix, '==>'.
DO.
ASSIGN COMPONENT syst-index OF STRUCTURE <gs_itab> TO <gd_fld>.
IF ( syst-subrc NE 0 ).
EXIT.
ENDIF.
WRITE: <gd_fld>.
ENDDO.
ENDLOOP.
SKIP 2.
WRITE: / 'PAI data:'.
LOOP AT <gt_itab_pai> ASSIGNING <gs_itab>.
WRITE: / 'Record No.=', syst-tabix, '==>'.
DO.
ASSIGN COMPONENT syst-index OF STRUCTURE <gs_itab> TO <gd_fld>.
IF ( syst-subrc NE 0 ).
EXIT.
ENDIF.
WRITE: <gd_fld>.
ENDDO.
ENDLOOP.
ENDFORM. " WRITE_LIST
Finally, if you want to know the <i>differences </i>between PAI and PBO data, that is which records have been deleted, updated or inserted have a look at my code sample
<a href="https://wiki.sdn.sap.com/wiki/display/Snippets/ComparingTwoInternalTables-AGeneric+Approach">Comparing Two Internal Tables - A Generic Approach</a>
Regards
Uwe -
Hi Experts,
I am creating Dynamic nodes from Model's Node, each time I execute in the application a function module, the Dynamic nodes must be realeased from session and created again and then the application must also create the user interface elements dynamically as well, from those dynamic nodes. The problem is: When I come back to the initial view and navigates to the report's view, I mean, when there is a new execution of the function's module, The application throws the following error:
com.sap.tc.webdynpro.progmodel.context.ContextException: DataNodeInfo(EdoCtaDetView): duplicate name for child node Nodo0
Can I somehow eliminate the instances of the nodes in order to create new dynamic nodes in each execution of the function's module?
Regards,
BrigerHi Briger,
Well it's very easy... only you have to put in your source code the following lines, after you invalidate all the elements of your context:
IWDContext ctx = wdContext.getContext();
ctx.reset(false);
There is two kind of reset method. the reset() reset all the metadata and destroy dynamics node. reset(false), reset all metadata destroy dynamics node but keeps the nodes build at design time.
Regards,
MC -
Sales order creation with bapi in webdynpro using table control
When i use table control to update the line items only first row is getting updated in the sale order creation and the loop is not updating the other row to header only the first row is getting saved, for the same set of data sale order is getting created in va01 for multiple line items. Pls give me some idea to resolve this issue, here is the code i am using for creating sale order using bapi 'BAPI_SALESORDER_CREATEFROMDAT2' method CREATE_SALES_ORDER .
Declaration for Order Header Node DATA: node_order_header TYPE REF TO if_wd_context_node, elem_order_header TYPE REF TO if_wd_context_element, stru_order_header TYPE if_componentcontroller=>element_order_header . * Declaration for Order Items Node DATA: node_order_items TYPE REF TO if_wd_context_node, elem_order_items TYPE REF TO if_wd_context_element, stru_order_items TYPE if_componentcontroller=>element_order_items . * Declaration for Order Partners Node DATA: node_order_partners TYPE REF TO if_wd_context_node, elem_order_partners TYPE REF TO if_wd_context_element, stru_order_partners TYPE if_componentcontroller=>element_order_partners . node_order_header = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_header ). elem_order_header = node_order_header->get_element( ). elem_order_header->get_static_attributes( IMPORTING static_attributes = stru_order_header ). * via lead selection node_order_items = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_items ). elem_order_items = node_order_items->get_element( ). elem_order_items->get_static_attributes( IMPORTING static_attributes = stru_order_items ). * via lead selection node_order_partners = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_partners ). elem_order_partners = node_order_partners->get_element( ). elem_order_partners->get_static_attributes( IMPORTING static_attributes = stru_order_partners ). DATA: v_sales_doc TYPE bapivbeln-vbeln. DATA: w_order_header_in TYPE bapisdhd1, i_order_header_in TYPE table of bapisdhd1," i_order_partners TYPE TABLE OF bapiparnr, w_order_partners TYPE bapiparnr, i_return TYPE TABLE OF bapiret2, w_return TYPE bapiret2, i_order_items_in TYPE TABLE OF bapisditm, w_order_items_in TYPE bapisditm, i_order_conditions_in TYPE TABLE OF bapicond, w_order_conditions_in TYPE bapicond, w_order_SCHDL type BAPISCHDL, i_order_SCHDL type table of BAPISCHDL. * Order Header Details CLEAR: w_order_header_in, i_order_partners, i_return, i_order_items_in, i_order_conditions_in, w_order_SCHDL, i_order_SCHDL. refresh : i_order_partners, i_return, i_order_items_in, i_order_conditions_in, i_order_SCHDL. w_order_header_in-doc_type = stru_order_header-doc_type. w_order_header_in-sales_org = stru_order_header-sales_org. w_order_header_in-distr_chan = stru_order_header-distr_chan. w_order_header_in-division = stru_order_header-division. w_order_header_in-req_date_h = stru_order_header-req_date_h. w_order_header_in-sales_dist = stru_order_header-sales_dist. w_order_header_in-purch_no_c = stru_order_header-purch_no_c. * Order Item Details CLEAR: i_order_items_in,w_order_items_in. * w_order_items_in-itm_num = stru_order_items-itm_num. w_order_items_in-ITM_NUMBER = stru_order_items-ITM_NUMBER. w_order_items_in-material = stru_order_items-material. w_order_items_in-target_qty = stru_order_items-target_qty."'5'. w_order_items_in-target_qu = stru_order_items-target_qu."'5'. w_order_items_in-plant = stru_order_items-plant. w_order_items_in-target_val = stru_order_items-target_val. w_order_items_in-currency = stru_order_items-currency. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = w_order_items_in-material IMPORTING output = w_order_items_in-material. APPEND w_order_items_in TO i_order_items_in. * Order Partner Details CLEAR: i_order_partners,w_order_partners. w_order_partners-partn_role = stru_order_partners-partn_role. w_order_partners-partn_numb = stru_order_partners-partn_numb. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = w_order_partners-partn_numb IMPORTING output = w_order_partners-partn_numb. APPEND w_order_partners TO i_order_partners. * Order Condition Details w_order_SCHDL-ITM_NUMBER = stru_order_items-itm_number." '000010'. w_order_SCHDL-req_qty = stru_order_items-target_qty." '5'. APPEND w_order_SCHDL to i_order_SCHDL. * Create Sales Order BAPI Call *loop at i_order_header_in into w_order_header_in. CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' EXPORTING order_header_in = w_order_header_in IMPORTING salesdocument = v_sales_doc TABLES return = i_return order_items_in = i_order_items_in order_partners = i_order_partners order_schedules_in = i_order_SCHDL order_conditions_in = i_order_conditions_in. * Get message manager DATA: l_current_controller TYPE REF TO if_wd_controller, l_message_manager TYPE REF TO if_wd_message_manager. l_current_controller ?= wd_this->wd_get_api( ). CALL METHOD l_current_controller->get_message_manager RECEIVING message_manager = l_message_manager. DATA: v_message_text TYPE string. * When Sales Order is created commit the data IF NOT v_sales_doc IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. CONCATENATE 'Sales Document' v_sales_doc 'has been created.' INTO v_message_text SEPARATED BY space. * Report Success message CALL METHOD l_message_manager->report_success EXPORTING message_text = v_message_text. ELSE. v_message_text = 'Error Creating Sales Order'. * Report Error message CALL METHOD l_message_manager->report_error_message EXPORTING message_text = v_message_text. ENDIF. *endloop. endmethod. and code for table control i am using is method WDDOINIT . Types : Begin of item_tab, itm_number type bapisditm-itm_number, material type bapisditm-material, plant type bapisditm-plant , target_qty type bapisditm-target_qty, target_qu type bapisditm-target_qu, target_val type bapisditm-target_val, currency type bapisditm-currency, end of item_tab. *Creating internal table and Work Area of the same structure *as that of the Node created. Data : it_item type standard table of item_tab, wa_item type item_tab. *Appending Blank Work Area to Internal table. ***********************************************888 *LOOP AT it_item INTO wa_item. **wa_item-itm_number to bapisditm-itm_number. **wa_item-material to bapisditm-material. **wa_item-plant to bapisditm-plant. **wa_item-target_qty to bapisditm-target_qty. **wa_item-target_qu to bapisditm-target_qu. **wa_item-target_val to bapisditm-target_val. **wa_item-currency to bapisditm-currency. ** * APPEND wa_item TO it_item. *ENDLOOP. **********************************************88 ******** Do 10 times. Append wa_item to it_item. enddo. ********* "Binding the table DATA lo_nd_order_items TYPE REF TO if_wd_context_node. * DATA lt_material TYPE wd_this->Elements_material. * navigate from to via lead selection lo_nd_order_items = wd_context->get_child_node( name = wd_this->wdctx_order_items ). * @TODO handle non existant child * IF lo_nd_material IS INITIAL. * ENDIF. ** @TODO compute values ** e.g. call a model function * lo_nd_order_items->bind_table( new_items = it_item set_initial_elements = abap_true ). endmethod.DATA: node_order_header TYPE REF TO if_wd_context_node, elem_order_header TYPE REF TO if_wd_context_element, stru_order_header TYPE if_componentcontroller=>element_order_header . * Declaration for Order Items Node DATA: node_order_items TYPE REF TO if_wd_context_node, elem_order_items TYPE REF TO if_wd_context_element, stru_order_items TYPE if_componentcontroller=>element_order_items . * Declaration for Order Partners Node DATA: node_order_partners TYPE REF TO if_wd_context_node, elem_order_partners TYPE REF TO if_wd_context_element, stru_order_partners TYPE if_componentcontroller=>element_order_partners . node_order_header = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_header ). elem_order_header = node_order_header->get_element( ). elem_order_header->get_static_attributes( IMPORTING static_attributes = stru_order_header ). * via lead selection node_order_items = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_items ). elem_order_items = node_order_items->get_element( ). elem_order_items->get_static_attributes( IMPORTING static_attributes = stru_order_items ). * via lead selection node_order_partners = wd_context->get_child_node( name = if_componentcontroller=>wdctx_order_partners ). elem_order_partners = node_order_partners->get_element( ). elem_order_partners->get_static_attributes( IMPORTING static_attributes = stru_order_partners ). DATA: v_sales_doc TYPE bapivbeln-vbeln. DATA: w_order_header_in TYPE bapisdhd1, i_order_header_in TYPE table of bapisdhd1," i_order_partners TYPE TABLE OF bapiparnr, w_order_partners TYPE bapiparnr, i_return TYPE TABLE OF bapiret2, w_return TYPE bapiret2, i_order_items_in TYPE TABLE OF bapisditm, w_order_items_in TYPE bapisditm, i_order_conditions_in TYPE TABLE OF bapicond, w_order_conditions_in TYPE bapicond, w_order_SCHDL type BAPISCHDL, i_order_SCHDL type table of BAPISCHDL. * Order Header Details CLEAR: w_order_header_in, i_order_partners, i_return, i_order_items_in, i_order_conditions_in, w_order_SCHDL, i_order_SCHDL. refresh : i_order_partners, i_return, i_order_items_in, i_order_conditions_in, i_order_SCHDL. w_order_header_in-doc_type = stru_order_header-doc_type. w_order_header_in-sales_org = stru_order_header-sales_org. w_order_header_in-distr_chan = stru_order_header-distr_chan. w_order_header_in-division = stru_order_header-division. w_order_header_in-req_date_h = stru_order_header-req_date_h. w_order_header_in-sales_dist = stru_order_header-sales_dist. w_order_header_in-purch_no_c = stru_order_header-purch_no_c. * Order Item Details CLEAR: i_order_items_in,w_order_items_in. * w_order_items_in-itm_num = stru_order_items-itm_num. w_order_items_in-ITM_NUMBER = stru_order_items-ITM_NUMBER. w_order_items_in-material = stru_order_items-material. w_order_items_in-target_qty = stru_order_items-target_qty."'5'. w_order_items_in-target_qu = stru_order_items-target_qu."'5'. w_order_items_in-plant = stru_order_items-plant. w_order_items_in-target_val = stru_order_items-target_val. w_order_items_in-currency = stru_order_items-currency. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = w_order_items_in-material IMPORTING output = w_order_items_in-material. APPEND w_order_items_in TO i_order_items_in. * Order Partner Details CLEAR: i_order_partners,w_order_partners. w_order_partners-partn_role = stru_order_partners-partn_role. w_order_partners-partn_numb = stru_order_partners-partn_numb. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = w_order_partners-partn_numb IMPORTING output = w_order_partners-partn_numb. APPEND w_order_partners TO i_order_partners. * Order Condition Details w_order_SCHDL-ITM_NUMBER = stru_order_items-itm_number." '000010'. w_order_SCHDL-req_qty = stru_order_items-target_qty." '5'. APPEND w_order_SCHDL to i_order_SCHDL. * Create Sales Order BAPI Call *loop at i_order_header_in into w_order_header_in. CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' EXPORTING order_header_in = w_order_header_in IMPORTING salesdocument = v_sales_doc TABLES return = i_return order_items_in = i_order_items_in order_partners = i_order_partners order_schedules_in = i_order_SCHDL order_conditions_in = i_order_conditions_in. * Get message manager DATA: l_current_controller TYPE REF TO if_wd_controller, l_message_manager TYPE REF TO if_wd_message_manager. l_current_controller ?= wd_this->wd_get_api( ). CALL METHOD l_current_controller->get_message_manager RECEIVING message_manager = l_message_manager. DATA: v_message_text TYPE string. * When Sales Order is created commit the data IF NOT v_sales_doc IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. CONCATENATE 'Sales Document' v_sales_doc 'has been created.' INTO v_message_text SEPARATED BY space. * Report Success message CALL METHOD l_message_manager->report_success EXPORTING message_text = v_message_text. ELSE. v_message_text = 'Error Creating Sales Order'. * Report Error message CALL METHOD l_message_manager->report_error_message EXPORTING message_text = v_message_text. ENDIF. *endloop. endmethod. and code for table control i am using is method WDDOINIT . Types : Begin of item_tab, itm_number type bapisditm-itm_number, material type bapisditm-material, plant type bapisditm-plant , target_qty type bapisditm-target_qty, target_qu type bapisditm-target_qu, target_val type bapisditm-target_val, currency type bapisditm-currency, end of item_tab. *Creating internal table and Work Area of the same structure *as that of the Node created. Data : it_item type standard table of item_tab, wa_item type item_tab. *Appending Blank Work Area to Internal table. ***********************************************888 *LOOP AT it_item INTO wa_item. **wa_item-itm_number to bapisditm-itm_number. **wa_item-material to bapisditm-material. **wa_item-plant to bapisditm-plant. **wa_item-target_qty to bapisditm-target_qty. **wa_item-target_qu to bapisditm-target_qu. **wa_item-target_val to bapisditm-target_val. **wa_item-currency to bapisditm-currency. ** * APPEND wa_item TO it_item. *ENDLOOP. **********************************************88 ******** Do 10 times. Append wa_item to it_item. enddo. ********* "Binding the table DATA lo_nd_order_items TYPE REF TO if_wd_context_node. * DATA lt_material TYPE wd_this->Elements_material. * navigate from to via lead selection lo_nd_order_items = wd_context->get_child_node( name = wd_this->wdctx_order_items ). * @TODO handle non existant child * IF lo_nd_material IS INITIAL. * ENDIF. ** @TODO compute values ** e.g. call a model function * lo_nd_order_items->bind_table( new_items = it_item set_initial_elements = abap_true ). endmethod.
-
Sales order creation with bapi in webdynpro
When i use table control to update the line items only first row is getting updated in the sale order creation and the loop is not updating the other row to header only the first row is getting saved, for the same set of data sale order is getting created in va01 for multiple line items.
Pls give me some idea to resolve this issue,
here is the code i am using for creating sale order using bapi 'BAPI_SALESORDER_CREATEFROMDAT2'
method CREATE_SALES_ORDER .
Declaration for Order Header Node
DATA: node_order_header TYPE REF TO if_wd_context_node,
elem_order_header TYPE REF TO if_wd_context_element,
stru_order_header TYPE if_componentcontroller=>element_order_header .
Declaration for Order Items Node
DATA: node_order_items TYPE REF TO if_wd_context_node,
elem_order_items TYPE REF TO if_wd_context_element,
stru_order_items TYPE if_componentcontroller=>element_order_items .
Declaration for Order Partners Node
DATA: node_order_partners TYPE REF TO if_wd_context_node,
elem_order_partners TYPE REF TO if_wd_context_element,
stru_order_partners TYPE if_componentcontroller=>element_order_partners .
node_order_header = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_header
elem_order_header = node_order_header->get_element( ).
elem_order_header->get_static_attributes(
IMPORTING static_attributes = stru_order_header
<ORDER_ITEMS> via lead selection
node_order_items = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_items ).
elem_order_items = node_order_items->get_element( ).
elem_order_items->get_static_attributes(
IMPORTING static_attributes = stru_order_items ).
<ORDER_PARTNERS> via lead selection
node_order_partners = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_partners ).
elem_order_partners = node_order_partners->get_element( ).
elem_order_partners->get_static_attributes(
IMPORTING static_attributes = stru_order_partners ).
DATA: v_sales_doc TYPE bapivbeln-vbeln.
DATA: w_order_header_in TYPE bapisdhd1,
i_order_header_in TYPE table of bapisdhd1,"
i_order_partners TYPE TABLE OF bapiparnr,
w_order_partners TYPE bapiparnr,
i_return TYPE TABLE OF bapiret2,
w_return TYPE bapiret2,
i_order_items_in TYPE TABLE OF bapisditm,
w_order_items_in TYPE bapisditm,
i_order_conditions_in TYPE TABLE OF bapicond,
w_order_conditions_in TYPE bapicond,
w_order_SCHDL type BAPISCHDL,
i_order_SCHDL type table of BAPISCHDL.
Order Header Details
CLEAR: w_order_header_in, i_order_partners, i_return, i_order_items_in,
i_order_conditions_in, w_order_SCHDL, i_order_SCHDL.
refresh : i_order_partners, i_return, i_order_items_in,
i_order_conditions_in, i_order_SCHDL.
w_order_header_in-doc_type = stru_order_header-doc_type.
w_order_header_in-sales_org = stru_order_header-sales_org.
w_order_header_in-distr_chan = stru_order_header-distr_chan.
w_order_header_in-division = stru_order_header-division.
w_order_header_in-req_date_h = stru_order_header-req_date_h.
w_order_header_in-sales_dist = stru_order_header-sales_dist.
w_order_header_in-purch_no_c = stru_order_header-purch_no_c.
Order Item Details
CLEAR: i_order_items_in,w_order_items_in.
w_order_items_in-itm_num = stru_order_items-itm_num.
w_order_items_in-ITM_NUMBER = stru_order_items-ITM_NUMBER.
w_order_items_in-material = stru_order_items-material.
w_order_items_in-target_qty = stru_order_items-target_qty."'5'.
w_order_items_in-target_qu = stru_order_items-target_qu."'5'.
w_order_items_in-plant = stru_order_items-plant.
w_order_items_in-target_val = stru_order_items-target_val.
w_order_items_in-currency = stru_order_items-currency.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_order_items_in-material
IMPORTING output = w_order_items_in-material.
APPEND w_order_items_in TO i_order_items_in.
Order Partner Details
CLEAR: i_order_partners,w_order_partners.
w_order_partners-partn_role = stru_order_partners-partn_role.
w_order_partners-partn_numb = stru_order_partners-partn_numb.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING input = w_order_partners-partn_numb
IMPORTING output = w_order_partners-partn_numb.
APPEND w_order_partners TO i_order_partners.
Order Condition Details
w_order_SCHDL-ITM_NUMBER = stru_order_items-itm_number." '000010'.
w_order_SCHDL-req_qty = stru_order_items-target_qty." '5'.
APPEND w_order_SCHDL to i_order_SCHDL.
Create Sales Order BAPI Call
*loop at i_order_header_in into w_order_header_in.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = w_order_header_in
IMPORTING
salesdocument = v_sales_doc
TABLES
return = i_return
order_items_in = i_order_items_in
order_partners = i_order_partners
order_schedules_in = i_order_SCHDL
order_conditions_in = i_order_conditions_in.
Get message manager
DATA: l_current_controller TYPE REF TO if_wd_controller,
l_message_manager TYPE REF TO if_wd_message_manager.
l_current_controller ?= wd_this->wd_get_api( ).
CALL METHOD l_current_controller->get_message_manager
RECEIVING
message_manager = l_message_manager.
DATA: v_message_text TYPE string.
When Sales Order is created commit the data
IF NOT v_sales_doc IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CONCATENATE 'Sales Document' v_sales_doc 'has been created.'
INTO v_message_text SEPARATED BY space.
Report Success message
CALL METHOD l_message_manager->report_success
EXPORTING message_text = v_message_text.
ELSE.
v_message_text = 'Error Creating Sales Order'.
Report Error message
CALL METHOD l_message_manager->report_error_message
EXPORTING message_text = v_message_text.
ENDIF.
*endloop.
endmethod.
and code for table control i am using is
method WDDOINIT .
Types : Begin of item_tab,
itm_number type bapisditm-itm_number,
material type bapisditm-material,
plant type bapisditm-plant ,
target_qty type bapisditm-target_qty,
target_qu type bapisditm-target_qu,
target_val type bapisditm-target_val,
currency type bapisditm-currency,
end of item_tab.
*Creating internal table and Work Area of the same structure
*as that of the Node created.
Data : it_item type standard table of item_tab,
wa_item type item_tab.
*Appending Blank Work Area to Internal table.
***********************************************888
*LOOP AT it_item INTO wa_item.
**wa_item-itm_number to bapisditm-itm_number.
**wa_item-material to bapisditm-material.
**wa_item-plant to bapisditm-plant.
**wa_item-target_qty to bapisditm-target_qty.
**wa_item-target_qu to bapisditm-target_qu.
**wa_item-target_val to bapisditm-target_val.
**wa_item-currency to bapisditm-currency.
APPEND wa_item TO it_item.
*ENDLOOP.
**********************************************88
Do 10 times.
Append wa_item to it_item.
enddo.
"Binding the table
DATA lo_nd_order_items TYPE REF TO if_wd_context_node.
DATA lt_material TYPE wd_this->Elements_material.
navigate from <CONTEXT> to <MATERIAL> via lead selection
lo_nd_order_items = wd_context->get_child_node( name = wd_this->wdctx_order_items ).
@TODO handle non existant child
IF lo_nd_material IS INITIAL.
ENDIF.
@TODO compute values
e.g. call a model function
lo_nd_order_items->bind_table( new_items =
it_item set_initial_elements = abap_true ).
endmethod.When i use table control to update the line items only first row is getting updated in the sale order creation and the loop is not updating the other row to header only the first row is getting saved, for the same set of data sale order is getting created in va01 for multiple line items.
Pls give me some idea to resolve this issue,
here is the code i am using for creating sale order using bapi 'BAPI_SALESORDER_CREATEFROMDAT2'
method CREATE_SALES_ORDER .
Declaration for Order Header Node
DATA: node_order_header TYPE REF TO if_wd_context_node,
elem_order_header TYPE REF TO if_wd_context_element,
stru_order_header TYPE if_componentcontroller=>element_order_header .
Declaration for Order Items Node
DATA: node_order_items TYPE REF TO if_wd_context_node,
elem_order_items TYPE REF TO if_wd_context_element,
stru_order_items TYPE if_componentcontroller=>element_order_items .
Declaration for Order Partners Node
DATA: node_order_partners TYPE REF TO if_wd_context_node,
elem_order_partners TYPE REF TO if_wd_context_element,
stru_order_partners TYPE if_componentcontroller=>element_order_partners .
node_order_header = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_header
elem_order_header = node_order_header->get_element( ).
elem_order_header->get_static_attributes(
IMPORTING static_attributes = stru_order_header
<ORDER_ITEMS> via lead selection
node_order_items = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_items ).
elem_order_items = node_order_items->get_element( ).
elem_order_items->get_static_attributes(
IMPORTING static_attributes = stru_order_items ).
<ORDER_PARTNERS> via lead selection
node_order_partners = wd_context->get_child_node(
name = if_componentcontroller=>wdctx_order_partners ).
elem_order_partners = node_order_partners->get_element( ).
elem_order_partners->get_static_attributes(
IMPORTING static_attributes = stru_order_partners ).
DATA: v_sales_doc TYPE bapivbeln-vbeln.
DATA: w_order_header_in TYPE bapisdhd1,
i_order_header_in TYPE table of bapisdhd1,"
i_order_partners TYPE TABLE OF bapiparnr,
w_order_partners TYPE bapiparnr,
i_return TYPE TABLE OF bapiret2,
w_return TYPE bapiret2,
i_order_items_in TYPE TABLE OF bapisditm,
w_order_items_in TYPE bapisditm,
i_order_conditions_in TYPE TABLE OF bapicond,
w_order_conditions_in TYPE bapicond,
w_order_SCHDL type BAPISCHDL,
i_order_SCHDL type table of BAPISCHDL.
Order Header Details
CLEAR: w_order_header_in, i_order_partners, i_return, i_order_items_in,
i_order_conditions_in, w_order_SCHDL, i_order_SCHDL.
refresh : i_order_partners, i_return, i_order_items_in,
i_order_conditions_in, i_order_SCHDL.
w_order_header_in-doc_type = stru_order_header-doc_type.
w_order_header_in-sales_org = stru_order_header-sales_org.
w_order_header_in-distr_chan = stru_order_header-distr_chan.
w_order_header_in-division = stru_order_header-division.
w_order_header_in-req_date_h = stru_order_header-req_date_h.
w_order_header_in-sales_dist = stru_order_header-sales_dist.
w_order_header_in-purch_no_c = stru_order_header-purch_no_c.
Order Item Details
CLEAR: i_order_items_in,w_order_items_in.
w_order_items_in-itm_num = stru_order_items-itm_num.
w_order_items_in-ITM_NUMBER = stru_order_items-ITM_NUMBER.
w_order_items_in-material = stru_order_items-material.
w_order_items_in-target_qty = stru_order_items-target_qty."'5'.
w_order_items_in-target_qu = stru_order_items-target_qu."'5'.
w_order_items_in-plant = stru_order_items-plant.
w_order_items_in-target_val = stru_order_items-target_val.
w_order_items_in-currency = stru_order_items-currency.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_order_items_in-material
IMPORTING output = w_order_items_in-material.
APPEND w_order_items_in TO i_order_items_in.
Order Partner Details
CLEAR: i_order_partners,w_order_partners.
w_order_partners-partn_role = stru_order_partners-partn_role.
w_order_partners-partn_numb = stru_order_partners-partn_numb.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING input = w_order_partners-partn_numb
IMPORTING output = w_order_partners-partn_numb.
APPEND w_order_partners TO i_order_partners.
Order Condition Details
w_order_SCHDL-ITM_NUMBER = stru_order_items-itm_number." '000010'.
w_order_SCHDL-req_qty = stru_order_items-target_qty." '5'.
APPEND w_order_SCHDL to i_order_SCHDL.
Create Sales Order BAPI Call
*loop at i_order_header_in into w_order_header_in.
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
EXPORTING
order_header_in = w_order_header_in
IMPORTING
salesdocument = v_sales_doc
TABLES
return = i_return
order_items_in = i_order_items_in
order_partners = i_order_partners
order_schedules_in = i_order_SCHDL
order_conditions_in = i_order_conditions_in.
Get message manager
DATA: l_current_controller TYPE REF TO if_wd_controller,
l_message_manager TYPE REF TO if_wd_message_manager.
l_current_controller ?= wd_this->wd_get_api( ).
CALL METHOD l_current_controller->get_message_manager
RECEIVING
message_manager = l_message_manager.
DATA: v_message_text TYPE string.
When Sales Order is created commit the data
IF NOT v_sales_doc IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CONCATENATE 'Sales Document' v_sales_doc 'has been created.'
INTO v_message_text SEPARATED BY space.
Report Success message
CALL METHOD l_message_manager->report_success
EXPORTING message_text = v_message_text.
ELSE.
v_message_text = 'Error Creating Sales Order'.
Report Error message
CALL METHOD l_message_manager->report_error_message
EXPORTING message_text = v_message_text.
ENDIF.
*endloop.
endmethod.
and code for table control i am using is
method WDDOINIT .
Types : Begin of item_tab,
itm_number type bapisditm-itm_number,
material type bapisditm-material,
plant type bapisditm-plant ,
target_qty type bapisditm-target_qty,
target_qu type bapisditm-target_qu,
target_val type bapisditm-target_val,
currency type bapisditm-currency,
end of item_tab.
*Creating internal table and Work Area of the same structure
*as that of the Node created.
Data : it_item type standard table of item_tab,
wa_item type item_tab.
*Appending Blank Work Area to Internal table.
***********************************************888
*LOOP AT it_item INTO wa_item.
**wa_item-itm_number to bapisditm-itm_number.
**wa_item-material to bapisditm-material.
**wa_item-plant to bapisditm-plant.
**wa_item-target_qty to bapisditm-target_qty.
**wa_item-target_qu to bapisditm-target_qu.
**wa_item-target_val to bapisditm-target_val.
**wa_item-currency to bapisditm-currency.
APPEND wa_item TO it_item.
*ENDLOOP.
**********************************************88
Do 10 times.
Append wa_item to it_item.
enddo.
"Binding the table
DATA lo_nd_order_items TYPE REF TO if_wd_context_node.
DATA lt_material TYPE wd_this->Elements_material.
navigate from <CONTEXT> to <MATERIAL> via lead selection
lo_nd_order_items = wd_context->get_child_node( name = wd_this->wdctx_order_items ).
@TODO handle non existant child
IF lo_nd_material IS INITIAL.
ENDIF.
@TODO compute values
e.g. call a model function
lo_nd_order_items->bind_table( new_items =
it_item set_initial_elements = abap_true ).
endmethod. -
Dynamic node creation from RTTI structure and dynamic mapping
Hi,
I'd like to create a dynamic node in my component controller then map this node to a node in my view and bind it to a dynamic table.
I create the dynamic node in my component controller using the add_new_child_node method :
CALL METHOD root_node_info->add_new_child_node
EXPORTING
name = 'MY_TABLE'
static_element_rtti = struct_type
is_static = ABAP_true
RECEIVING
child_node_info = node_info
Then I use the add_new_mapped_child_node method to map the node in the view :
* Map the context node dynamically
wa_path = 'COMPONENTCONTROLLER.MY_TABLE'.
insert wa_path into table tab_mapping_path.
stru_mapping_info-controller = 'COMPONENTCONTROLLER'.
stru_mapping_info-path = tab_mapping_path.
lo_node_info = wd_context->get_node_info( ).
CALL METHOD lo_node_info->add_new_mapped_child_node
EXPORTING
child_name = 'MY_TABLE'
mapping_info = stru_mapping_info
receiving
child_node_info = lo_dyn_node_info
The child node is created in my view context but it doesn't have any attribute or static element RTTI.
Do I have to add each attribute with the add_attribute method and then the add_new_mapped_child_node method will copy them over?
Regards,
PierreProblem solved, the path was not good :
* Map the context node dynamically
* wa_path = 'COMPONENTCONTROLLER.MY_TABLE'.
* insert wa_path into table tab_mapping_path.
stru_mapping_info-controller = 'COMPONENTCONTROLLER'.
* stru_mapping_info-path = tab_mapping_path.
append 'COMPONENTCONTROLLER' to stru_mapping_info-path.
append 'MY_TABLE' to stru_mapping_info-path.
lo_node_info = wd_context->get_node_info( ).
CALL METHOD lo_node_info->add_new_mapped_child_node
EXPORTING
child_name = 'MY_TABLE'
mapping_info = stru_mapping_info
receiving
child_node_info = lo_dyn_node_info
Regards,
Pierre -
How to create endpoint in the creation of webservice in webdynpro for java
hi all,
I have created a EjbModule project in webdynpro. Now when i create a new > other>webservie--> virtual interface, it is asking for an endpoint. How to create this endpointHi Pinki,
Chk this link..
http://help.sap.com/saphelp_nw04/helpdata/en/da/2bf042493ef54499a77394ef6be096/frameset.htm (Section abt Endpoints while Creating a Web Service for an Enterprise JavaBean)
GS -
Webdynpro Dynamic layout manipulation: error attaching elements to Group
Hi Experts,
I am trying to create dynamic layout during run time. Itu2019s working partially, but as soon as I add new u201CGroup elementu201D or new u201CTransparent elementu201D I am getting a null error. If I just use buttons, input field or text dynamically layout create it works fine. I want to group this fields in a groups or transparent container so that I can manipulate layout place containers where I need. As soon as I add other element (inputfield/button/text) to transparent element it errors. I have attached code below for more detail. Does anyone have similar issue? Lot of demo and example code show how to create elements (inputfield/button/text) none show how attach those element back to u201DGroupu201D or u201CTransparentu201D element.
I am creating dynamic elements in u201CViewu201D method u201CWDDOMODIFYVIEWu201D. Any idea or clue much appreciated. Thanks in advance.
Kind Regards,
Trim
method WDDOMODIFYVIEW .
DATA lr_container TYPE REF TO cl_wd_uielement_container.
DATA lr_trans_cont TYPE REF TO CL_WD_TRANSPARENT_CONTAINER.
DATA lr_input TYPE REF TO cl_wd_input_field.
DATA lr_table TYPE REF TO cl_wd_table.
DATA lo_nd_sflight TYPE REF TO if_wd_context_node.
DATA lr_button TYPE REF TO cl_wd_button.
DATA lr_o_group TYPE REF TO cl_wd_group.
data: lr_text TYPE REF TO CL_WD_TEXT_VIEW.
constants : gc_trs_cont type string value 'Trscont',
gc_text1 type string value 'ePDA goals and activity of the team',
gc_text2 type string value 'Complete all box and submit to manager'.
DATA lo_el_context TYPE ref to if_wd_context_element.
navigate from <CONTEXT> to <SFLIGHT> via lead selection
lo_nd_sflight = wd_context->get_child_node( name = wd_this->wdctx_sflight ).
IF first_time = abap_true.
lr_container ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
DATA lr_grid_data TYPE REF TO cl_wd_grid_data.
DATA lr_flow_data TYPE REF TO cl_wd_flow_data.
DATA lr_matrix TYPE REF TO cl_wd_matrix_head_data.
DATA lr_matrix_l TYPE REF TO cl_wd_matrix_layout.
DATA lr_matrix2 TYPE REF TO cl_wd_matrix_data.
CALL METHOD CL_WD_TRANSPARENT_CONTAINER=>NEW_TRANSPARENT_CONTAINER
EXPORTING
ID = '/0CUST/123'
VIEW = view
WIDTH = '100%'
RECEIVING
CONTROL = lr_trans_cont.
lr_matrix = cl_wd_matrix_head_data=>new_matrix_head_data( lr_trans_cont ).
lr_container->set_layout_data( lr_matrix ).
data: lr_o_caption type ref to cl_wd_caption.
CALL METHOD CL_WD_GROUP=>NEW_GROUP
EXPORTING
ID = 'GRP1'
design = '03'
RECEIVING
CONTROL = lr_o_group.
lr_o_caption = cl_wd_caption=>new_caption( text = 'Group1' ).
lr_o_group->set_header( the_header = lr_o_caption ).
cl_wd_flow_data=>new_flow_data( element = lr_o_group ).
cl_wd_flow_layout=>new_flow_layout( container = lr_o_group ).
lr_matrix = cl_wd_matrix_head_data=>new_matrix_head_data( lr_o_group ).
lr_o_group->set_layout_data( lr_matrix ).
CALL METHOD lr_container->add_child
EXPORTING
index = 1
the_child = lr_o_group.
CALL METHOD cl_wd_button=>new_button
EXPORTING
enabled = 'X'
id = 'B1'
on_action = 'GET_FLIGHT'
text = 'Get Flight Data'
RECEIVING
control = lr_button.
lr_matrix2 = cl_wd_matrix_data=>new_matrix_data( lr_button ).
lr_button->set_layout_data( lr_matrix2 ).
CALL METHOD lr_o_group->add_child
EXPORTING
index = 1
the_child = lr_button.
CALL METHOD cl_wd_input_field=>new_input_field
EXPORTING
bind_value = 'SFLIGHT.CARRID'
id = 'INPUT1'
RECEIVING
control = lr_input.
lr_matrix2 = cl_wd_matrix_data=>new_matrix_data( lr_input ).
lr_input->set_layout_data( lr_matrix2 ).
CALL METHOD lr_o_group->add_child
EXPORTING
index = 2
the_child = lr_input.
endmethod.
Edited by: Trim Chakrapani on Nov 15, 2011 5:01 PMHi
I suggest you create a transparent container at design time and then use the below code in wddomodify to get a reference to the transparent container.
DATA: lv_container TYPE string,
lo_container TYPE REF TO cl_wd_transparent_container.
lv_container = 'TransparentContainer'.
lo_container ?= view->get_element( lv_container ).
lo_container->add_child( lo_button ).
Hope this helps. -
Hi Folks,
Kindly provide the useful links/Blogs/Reference for the below mentioned list:
WD Dynamic Programming
DC cross reference/inclusion techniques
NWDI DC/SC configurations and usage
Portal configuration of pages, worksets, roles
Theme management at WD and portal levels.
Programmatically handing JCo connections (open, execute and close)
WD debugging techniques
Thanks
Kapil SharmaYou want a moccachino with that?...
-
Creation of sale order using bapi in webdynpro using table control
only first row is getting updated when checked in va03, the line items are not getting replaced, only first row is committed..
Here is the code for table control i used...
http://www.scribd.com/doc/51879492/creation-of-sale-order-using-bapi-in-webdynpro-using-table-control
pls help me out with this..Duplicate Posting. Original is here: Sales order creation with bapi in webdynpro using table control
-
Hi Friends,
OS = Windows XP 3
Database = Oracle 11g R2 32 bit
Processor= intel p4 2.86 Ghz
Ram = 2 gb
Virtual memory = 4gb
I was able to install the oracle 11g successfully, but during installation at the time of database creation I got the following error many times and I ignored it many times... but at 55% finally My installation was hanged nothing was happening after it.....
ORA-28056: Writing audit records to Windows Event Log failed Error and at 55% my Installation got hung,,,, I end the installation and tried to create the database afterward by DBCA but same thing happened....
Please some one help me out, as i need to install on the same machine .....
Thanks and RegardsAAP wrote:
Thanks Now I am able to Create a database , but with one error,
When I created a database using DBCA, at the last stage I got this error,
Database Configuration Assistant : Warning
Enterprise Manager Configuration Failed due to the Following error Listener is not up or database service is not registered with it. Start the listener & Registered database service & run EM Configuration Assistant again....
But when I checked the listener was up.....
Now what was the problem, I am able to connect and work through sqlplus,
But I didnt got the link of EM and when try to create a new connection in sql developer it is giving error ( Status : failure - Test Failed the Network Adapter could not establish the connection )
Thanks & Regards
Creation of the dbcontrol requires a connection via the listener. When configuring the dbcontrol as part of database creation, it appears that the dbcontrol creation step runs before the dynamic registration of the databsase with the listener is complete. Now that the database itself is completed and enough time (really, just a minute or two) has passed to allow the instance to register, use dbca or emca to create the dbcontrol.
Are you able to get a sqlplus connection via the listener (sqlplus scott/tiger@orcl)? That needs to be the first order of business. -
Issue in calling webdynpro for loading flat file in IP
Hello,
We have implemented the How-To load flat files in IP paper and we are facing an issue in that. The generated webdynpro runs on ABAP Application server but we need to call this from a Web template which runs on portal server.
These two servers are different and we don't want to hardcode the url in webtemplate as the server names will change in Q & P for webdynpro. Can anyone advise how we can read the ABAP Application server details in WAD may be using javascript and then generate the URL for webdynpro dynamically.
Regards,
DeeptiHi Deepti,
We have also facing the same challenge. Could you please post the solution in which URL path change dynamically.
I have created the ABAP function module based on the below link.
http://wiki.sdn.sap.com/wiki/display/Snippets/BICustomWebItemtoLaunchanABAPWeb+Dynpro
But not sure how to call the function module using custom web item & java script. Coould you please explain the steps on the same ?
Thanks,
Gopi R -
Appointment creation in Gantt chart using BAPI
Hi
The transaction /ITS/WAP2 - maintains the appointment for a shipment number in Gantt chart.
We need to do the same using a BAPI or IDOC in ECC.
Anybody knows any BAPI or Idoc to do this in the background ?
Regards
AnandanDuplicate Posting. Original is here: Sales order creation with bapi in webdynpro using table control
Maybe you are looking for
-
Hi, When I execute the webtemplate with cetain selection values, the out put looks good. When I go back and change the values in selection, the output is still showing the previous results. The variable screen is not refreshing in webtemplate. Please
-
Missing files in Adobe application support CS5.1
Why do I get this error message when I start CS5? One or more files in the Adobe Application Support folder, necessary for running Photoshop, are missing. Please run the Photoshop installer and re-install Photoshop. New install on new iMac and worke
-
IT0045 - How to restrict loan types to a maximum of 1 per employee?
Hi Gurus - We have a requirement to restrict employees to only one loan type to be open at a time. This means if an employee has a Vehicle Loan currently running, he or she cannot create another one unless the previous one is closed. Setting the Time
-
TS1424 Where do you go for help when a grandchild runs up charges on my account??
I am having trouble getting through to anyone to dispute a charge on my credit card. Can anyone help??
-
Hello all, I have succesfully exported my objects from my development system. and I have set up a transport path between LX1 and DX1 in the SLD. But when i try to "Import Design Objects" from my LX1 system, I cannot find any objects? Should i transf