OVS Application

Hi all,
             i did  a sample application in OVS just like given in pdf  Advanced Input Help - The Object Value Selector (OVS)
I had a single view called ViewOVS and the code i wrote in wdDoint() method is '
public void wdDoInit()
    //@@begin wdDoInit()
     IWDAttributeInfo[] ovsStartUpAttributes = { wdContext.nodePOData() .getNodeInfo().getAttribute("Ebeln")};
     IWDOVSContextNotificationListener listener = wdThis.wdGetCustOVSController().getOVSListener();
     WDValueServices.addOVSExtension("Data Selection",ovsStartUpAttributes,
                                             wdThis.wdGetCustOVSController().getOVSInputNode(),
                                             wdThis.wdGetCustOVSController().getOVSOutputNode(),listener);
    //@@end
but while running it is showing nullpointer exception as
Error stacktrace:
java.lang.NullPointerException
     at com.sap.tc.webdynpro.progmodel.valuehelp.ContextBasedOVSProvider.<init>(ContextBasedOVSProvider.java:47)
     at com.sap.tc.webdynpro.progmodel.valuehelp.ValueServices.addOVSExtension(ValueServices.java:48)
     at com.sap.tc.webdynpro.progmodel.api.WDValueServices.addOVSExtension(WDValueServices.java:86)
     at com.sap.tc.webdynpro.ovs.ViewOVS.wdDoInit(ViewOVS.java:102)
     at com.sap.tc.webdynpro.ovs.wdp.InternalViewOVS.wdDoInit(InternalViewOVS.java:119)
     at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doInit(DelegatingView.java:61)
     at com.sap.tc.webdynpro.progmodel.controller.Controller.initController(Controller.java:215)
     at com.sap.tc.webdynpro.progmodel.view.View.initController(View.java:274)
     at com.sap.tc.webdynpro.progmodel.controller.Controller.init(Controller.java:200)
     at com.sap.tc.webdynpro.progmodel.view.ViewManager.getView(ViewManager.java:540)
Can anyone plz help me out in this
Regards
Padma N

Hi Padma,
Set the cardinality and selection of PoData to 0..1.
inside wdDoInit initialize the PoData node.
    wdContext.nodePoData().bind(wdContext.createPoDataElement());
IWDAttributeInfo ovsStartUpAttributes[] = { wdContext.nodePOData() .getNodeInfo().getAttribute("Ebeln")};
IWDOVSContextNotificationListener listener = wdThis.wdGetCustOVSController().getOVSListener();
if (listener != null) {
WDValueServices.addOVSExtension("Data Selection",ovsStartUpAttributes,
                    wdThis.wdGetCustOVSController().getOVSInputNode(),
                    wdThis.wdGetCustOVSController().getOVSOutputNode(),listener);
1> Make sure attribute name(<b>Ebeln</b>)is correct.
2> Cardinality and selection of node OVSInputNode is 0..1
3> Cardinality of node OVSOutputNode is 0..n and selection is 0..1
4> You have provided the implementation for methods
     i)getOVSListener
     ii)getOVSInputNode
     iii)getOVSOutputNode
Search Help(F4 Help)
Regards,
Mithu

Similar Messages

  • Search Process HCM P&F Personalization ABAP dynpro

    Hi,
    I ahve Webdynpro ABAP iview search process inj HR admin role.
    I have a selection field called Process name .this field contains a F4 help.
    i would hide some values diplayed in the field.means i want remove few only in this drop down.
    Can this be achieved through personalization for all users.
    Thanks,
    Nachy

    it has to be done at the coding level, You need to modify the search help
    Process browser is based on the BADI implementations of POBJ_BROWSER.
    What i can see is you can enable the PROCESS field in the component
    configuration for OVS search by extending it. You would then have to
    build a WD dialog application for achieving this purpose.
    This OVS application can be triggered by implementing the BADI
    POBJ_BROWSER_OVS.
    check CL_WDR_DDIC_SEARCH_HELP

  • Oracle VM performance issues on OVS 2.2 - java 64bit (jre 1.6) applications

    In an effort to move to pvt cloud & thanks to Oracle's database licensing policy on vm's we have decided to use Oracle Virtual Server as the hypervisor, OEL5+ as the database OS, and 11GR2 Grid Single Node RAC with ASM as the database. Our application can be on RHEL5+ or OEL5+ doesnt matter.
    Here is my configuration (at present all componets running on only 1 physical server) :
    1. OVS 2.2 on BL465G6 with 32G memory, primary storage repository is off fiber channel from a 3PAR array.
    2. 40G individual LUNs physical disks presented to all application servers (Now i was using shared virtual disks & image files with file: driver and then blktap driver, for both performance sucks with file:driver being worst). I have tried OEL5+ templates, with RHEL5+ para virtualized OS as the current one.
    3. On database side --> ASM disks are physical as well (just converted). Overall, the only filebased images off the repository is one of the middleware servers (MQ) , loadbalancer (Zeus) and Routing Software (Vyatta)
    We are running a loadrunner test and here are the following results.
    Perf App : physical linux box running appl
    Perf DB : physical solaris box running db
    Cloud App : RHEL5 paravirtualized vm on phy: disk
    Cloud DB : Oracle 11GR2 1 node Rac , Grid Installation , ASM disks are physical , OCR/Vote disks are physical
    Perf App with Perf DB     Cloud App with Perf DB     Cloud App with Cloud DB
    140.08s     219.432s     226.476s
    Also, i have noticed during the test only 1 vCPU is utilized. remaining stay idle.
    I have run several disk benchmarking tests to determine that phy: disk presented is the best option for reads and writes. I have also run tcpdump and removed the loadbalancer and routing software out of the equation by creating a flat single subnet network amongst the appl and dB (both running on the same physical server). Tcpdump shows not much fragmentation or re-transmission and shows a similar pattern what we would see in the physical environment. The application version/ java & jre version is same on both the vm and physical server. Only difference is dB (in physical world it runs on Solaris, here it is running on OEL vm)
    Note : On the OEL templates NUMA was turned off. turning that ON yielded an overall performance gain of 30%. Now i need to fine tune further. So my questions based upon my observations are :
    1. vCPU calibration : Can i pin 1 physical CPU to 1 vCPU ? How does this scheduling happen or controlled.
    2. Why is only vCPU showing utilization while all others stay idle. I have 4 to 6 vCPUs per vm
    3. Any tuning to be done at the OVS layer?
    4. Any tuning to be done at the vm's. (Note in our physical environment, apart from hardening the OS and stripping off unnecesarry rpm's we do not modify the kernel neither do we modify any TCP and/or memory buffer parameters)
    Oracle support is spending days trying to figure out my issue. I have uploaded OSWatcher data so many times. I need to escalate the case but i have always received better support & information, yet quick from the forum. Any pointers would be helpful.

    What are you missing?
    I inherited this app and signing the third party jars is how it was setup, I was wondering the same thing too, why was it necessary to sign the third party jars?
    The applet runs in either JRE 1.6.0_13 or JRE 1.6.0_27 depending on the other Java apps the user uses. JRE 1.6.0_13 does not have the mixed code security (so it is like is disable), but JRE 1.6.0_27 does have the mixed code security and the applet will not launch with mixed code security enable, so we have to disable it. With all the hacking going on in the last two years, is important to improve security; so this is a must.
    Yes, I always clear up the cache.
    Any idea on how to resolve this problem?

  • SAP Cloud Application Studio How to retrieve the details based on OVS in Product ID

    Hi Experts,
    I have small requirements in AdvanceListPanel. I have custom BO as mention below,
    businessObject Demo {
                   element ID : ID;
                   node Sporoduct [0,n] {
                        element P_ID : ProductID;
                        element P_DES :   SHORT_Description;
                        element P_QTY : Quantity;
                        element P_NET :  Amount;   
    I have attached the OVS on Product ID (P_ID) element.
    I want to auto-fill the details under the AdvanceListPanel ( Product Desc , Product Net value ( Price) ) 
    1) How to get the details of Product ( Prod Descr, Product Price etc ).
    Please anyone have idea about this share your thoughts.
    Many Thanks,
    Mithun

    Hi, Mithun
         What you want is to auto-fill the related details when you select a product from your OVS.
         That means you have to write your codes in Event After Modify.
         We normally use QueryByElements or some other query options given for a particular standard BO.
         It would be like that.
         var query=Product.QueryByElements;
         var selParams=query.CreateSelectionParams();
         selParams.Add(query.ProductID ,"I","EQ",this.P_ID );
         var result=query.Execute(selParams);
         for(var product in result){
         this.P_DES =product.Description;
    What I have just written is just a sample code. You have to find the exact name of the attributes of a standard BO in Repository Explorer.
    Hope this helps,
    Fred.

  • How i can capture the value for ovs selector in web dynpro application

    hi
    i create one OVS for SALES DOCUMNT MY PRIMARY KEY
    FILED IS VBELN AND I WANT GENERATE ONE REPORTS FOR SALES DOCUMENT HOW THIS SERCH HELP IS CAPTURE THE VALUE I WANT TO SOULATION

    >
    awadhesh chandel wrote:
    > hi
    >  i create one OVS for SALES DOCUMNT MY PRIMARY KEY
    > FILED IS VBELN AND I WANT GENERATE ONE REPORTS FOR SALES DOCUMENT HOW THIS SERCH HELP IS CAPTURE THE VALUE I WANT TO SOULATION
    I am afraid that you are going to have to supply a few more details.  What exactly are you having problems with?  Do you need help creating the OVS?  Or perhaps on how to capture the input from the OVS?  Or do you nee dhelp actually generating the report of the sales documents itself?

  • Query regarding multiple OVS in an application

    Hi
    I have to provide OVS search on two columns (Material and Equipment) in a table. So for the same I have defined the OVS implementation in two separate custom controllers as both the search fields refer to different RFC models.
    For the first search, the
    queryInputNodeElement.setAttributeValue("Maktx", initialValue)
    and for the second one
    queryInputNodeElement1.setAttributeValue("Im_Equnr", initialValue)
    Now the problem I am facing is on clicking the OVS icon for the second search it throws the exception that it cannot find Maktx which is the initial value for the first OVS in the OVS input node of the second one.
    Also, if  I proceed with the query part, it throws another exception as the input node of the equipment custom controller (second) is incompatible with material custom controller (first).
    But for the first OVS everything works fine.
    I have defined the context listener class with different names.
    Any pointers?
    Thanks,
    Priyanka

    Hi suman
    I think u worked with o v s I have the requirement(using bapi to show ovs) i gone thru the tutorial but i can't understand how to do this. so can u send the screen shots please.
    Regards,
    Bhaskar

  • OVS value not getting populated in field

    Hi Experts,
    Kindly suggest me a solution for the below given issue.
    I have added three custom fileds to an already existing WD Coponent.
    And also added OVS help as an input help method to these fields.
    If I right click on the WD application and TEST, the application opens in browser and I am able to select the value from OVS list.
    If I run the application by copying the URL and paste it in the browser, or clicking on Portal link, if we select the value from OVS list that value is not getting populated in the field.
    Below is the logic I have written.
    method ON_OVS_PAYMENT .
    TYPES:   BEGIN OF ty_payment,
                 payment TYPE char4,
                 desc    TYPE char30,
               END OF ty_payment.
    * declare data structures for the fields to be displayed and
    * for the table columns of the selection list, if necessary
      types:
        begin of lty_stru_input,
    *   add fields for the display of your search input here
          payment type char4,
    *      desc    type string,
        end of lty_stru_input.
      types:
        begin of lty_stru_list,
    *   add fields for the selection list here
          payment type char4,
          desc    type char30,
        end of lty_stru_list.
      data: ls_search_input  type lty_stru_input,
            lt_select_list   type standard table of lty_stru_list,
            ls_text          type wdr_name_value,
            lt_label_texts   type wdr_name_value_list,
            lt_column_texts  type wdr_name_value_list,
            lv_window_title  type string,
            lv_group_header  type string,
            lv_payment       type string,
            lt_payment       TYPE TABLE OF ty_payment,
            ls_payment       TYPE ty_payment,
            lv_short         TYPE string,
            lv_table_header  type string.
      field-symbols: <ls_query_params> type lty_stru_input,
                     <ls_selection>    type lty_stru_list.
      case ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.  "configuration phase, may be omitted
    *   in this phase you have the possibility to define the texts,
    *   if you do not want to use the defaults (DDIC-texts)
          ls_text-name = `PAYMENT`.  "must match a field name of search
          ls_text-value = `Terms of payment`. "wd_assist->get_text( `001` ).
          insert ls_text into table lt_label_texts.
          ls_text-name = `PAYMENT`.  "must match a field in list structure
          ls_text-value = `Terms of Payment`. "wd_assist->get_text( `002` ).
          insert ls_text into table lt_column_texts.
          ls_text-name = `DESC`.  "must match a field in list structure
          ls_text-value = `Description`. "wd_assist->get_text( `002` ).
          insert ls_text into table lt_column_texts.
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title = lv_window_title
                    table_header = lv_table_header
                    col_count    = 2
                    row_count    = 20 ).
        when if_wd_ovs=>co_phase_1.
          ovs_callback_object->context_element->get_static_attributes(
              importing static_attributes = ls_search_input ).
    *     pass the values to the OVS component
          ovs_callback_object->set_input_structure(
              input = ls_search_input ).
        when if_wd_ovs=>co_phase_2.
          if ovs_callback_object->query_parameters is not bound.
    ******** TODO exception handling
          endif.
          assign ovs_callback_object->query_parameters->*
                                  to <ls_query_params>.
          if not <ls_query_params> is assigned.
    ******** TODO exception handling
          endif.
    *     call business logic for a table of possible values
    *     lt_select_list = ???
          lv_short = <ls_query_params>-payment.
          CALL FUNCTION 'ZSIILESD001' DESTINATION 'LOGICALE22'
          EXPORTING
          i_payment             = lv_short
          TABLES
          ET_PAYMENT            = lt_payment.
        lt_select_list[] = lt_payment[].
          ovs_callback_object->set_output_table( output = lt_select_list ).
        when if_wd_ovs=>co_phase_3.
    *   apply result
          if ovs_callback_object->selection is not bound.
    ******** TODO exception handling
          endif.
          assign ovs_callback_object->selection->* to <ls_selection>.
          if <ls_selection> is assigned.
            ovs_callback_object->context_element->set_attribute(
                                   name  = `PAYMENT`
                                   value = <ls_selection>-payment ).
          endif.
      endcase.
    endmethod.

    Hi Pradeep,
    I don't think it really make any difference to the application run if we run from SE80 or run via application url.
    Try to set the external break point in OVS PHASE3 for your user. Check if the break point is reached and data is set after selection from OVS.
    Regards,
    Rama

  • How can I remove an OVS extension from a context attribute?

    In our Web Dynpro application we provide a generic search mask to the user. The information about the search fields like labels, length etc. is retrieved from the backend during runtime. Also, the information if there should be a value help available or not is read from the backend during runtime. In case there should be a value help for a search field we just add an OVS extension, using method WDValueServices.addOVSExtension(...). For this, we pass the AttributeInfo of all relevant context attributes to this method.
    The problem is now the following: The user can switch between different kinds of search masks. Because of the generic implementation all use the same Web Dynpro context. So it might be that the search field #1 on the first input mask has a value help whereas search field #2 on the second input mask doesn't. But if we once have added an OVS extension to the context attribute of search field #1 it can apparently never be removed anymore. At least I couldn't find a method to remove it.

    At least your second proposal would work for sure if I had only static context nodes apart from the dynmic OVS context. But in my case I can not use wdContext.reset(false) since I have dynamic context nodes in my controller that would get lost. And unfortunately, there is no method available to reset a specific context node only instead of the whole context.
    I contacted the responsible Web Dynpro developers in the mean time and they offered to implement an API in SP11 to remove the OVS.

  • ' SET_OUTPUT_TABLE Cannot Be Called '  error  while using OVS in Select opt

    Hi All,
    I am trying to put the OVS help in a select  option.
    When I run the application and click the help icon for select option I am getting the below error:
    OVS: Methode SET_OUTPUT_TABLE Cannot Be Called
    The abap call stack is this :
    Method: IF_WDR_OVS_LISTENER~MODIFY_RESULT_VIEW of program CL_WDR_VALUE_HELP_HANDLER=====CP
    Method: WDDOMODIFYVIEW of program /1BCWDY/05LR4UBIVJKOH0BA5Y5V==CP
    Method: IF_WDR_VIEW_DELEGATE~WD_DO_MODIFY_VIEW of program /1BCWDY/05LR4UBIVJKOH0BA5Y5V==CP
    Method: DO_MODIFY_VIEW of program CL_WDR_DELEGATING_VIEW========CP
    Method: MODIFY_VIEW of program CL_WDR_VIEW===================CP
    Method: DO_MODIFY_VIEW of program CL_WDR_CLIENT_COMPONENT=======CP
    Method: DO_MODIFY_VIEW of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW=================CP
    Method: EXECUTE of program CL_WDR_MAIN_TASK==============CP
    My code is below :
    method on_ovs .
      types:
        begin of lty_stru_input,
      add fields for the display of your search input here
          carrid type sflight-carrid,
        end of lty_stru_input,
        begin of lty_stru_list,
      add fields for the selection list here
          carrid type sflight-carrid,
        end of lty_stru_list,
        ty_range type range of sflight-carrid.
      data: ls_search_input  type lty_stru_input,
            lt_select_list   type standard table of lty_stru_list,
            ls_text          type wdr_name_value,
            lt_label_texts   type wdr_name_value_list,
            lt_column_texts  type wdr_name_value_list,
            lv_window_title  type string,
            lv_group_header  type string,
            lv_table_header  type string.
      field-symbols: <ls_query_params> type lty_stru_input,
                     <ls_selection>    type lty_stru_list.
      case ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.
          ls_text-name = `CARRID`.  "must match a field name of search
          ls_text-value = `CARRID`. "wd_assist->get_text( `001` ).
          insert ls_text into table lt_label_texts.
          ls_text-name = `CARRID`.  "must match a field in list structure
          ls_text-value = `CARRID`. "wd_assist->get_text( `002` ).
          insert ls_text into table lt_column_texts.
          lv_window_title = 'Test Window'.
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title = lv_window_title
                    table_header = lv_table_header
                    col_count    = 2
                    row_count    = 20 ).
        when if_wd_ovs=>co_phase_1.
          ls_search_input-carrid = 'AH'.
        pass the values to the OVS component
          ovs_callback_object->set_input_structure(
              input = ls_search_input ).
        when if_wd_ovs=>co_phase_2.
          if ovs_callback_object->query_parameters is not bound.
    TODO Exception Handling       
          endif.
          assign ovs_callback_object->query_parameters->*
                                  to <ls_query_params>.
          if not <ls_query_params> is assigned.
              select carrid from sflight into  table lt_select_list.
         else.
           select carrid from sflight into table
             lt_select_list where carrid eq <ls_query_params>-carrid.
          endif.
          ovs_callback_object->set_output_table( output = lt_select_list ).
        when if_wd_ovs=>co_phase_3.
      apply result
          if ovs_callback_object->selection is not bound.
    TODO exception handling
          endif.
          assign ovs_callback_object->selection->* to <ls_selection>.
          if <ls_selection> is assigned.
            data: lr_select_options type ref to iwci_wdr_select_options.
            data lr_helper type ref to if_wd_select_options.
            data: lt_range type ty_range.
            data: lr_comp_usage type ref to if_wd_component_usage,
                  wa_range like line of lt_range,
                  rt_range type ref to data.
            wa_range-sign = 'I'.
            wa_range-option = 'EQ'.
            wa_range-low = <ls_selection>-carrid.
            append wa_range to lt_range.
            "lt_RANGE-SIGN = 'I'.
          create data rt_range like lt_range.
            lr_comp_usage = wd_this->wd_cpuse_my_select( ).
            if lr_comp_usage->has_active_component( ) is initial.
            lr_comp_usage->create_component( ).
            endif.
            lr_select_options = wd_this->wd_cpifc_my_select( ).
            lr_helper = lr_select_options->init_selection_screen( ).
            call method lr_helper->set_range_table_of_sel_field
             exporting
                i_id = 'CARRID'
                it_range_table = rt_range.
          endif.
      endcase.
    endmethod.
    Please help!!!
    Its urgent.
    Regards,
    Sumit Oberoi

    Hi Sumit,
    1) In the WDINIT method define ur select-option.
    2) IN Mthods of ur view controller write :
    ON_OVS     Event Handle    ON_OVS     INTERFACECONTROLLER     SELECT_OPTIONS
    3) code for ON_OVS:
      DATA: l_current_controller TYPE REF TO if_wd_controller,
            l_message_manager    TYPE REF TO if_wd_message_manager,
            lv_message_ERROR(100), l_subrc TYPE subrc,
            lv_message_SUCESS(100).
      DATA : STRU_ENAME TYPE ZU5_PERLIST_S.
      DATA: WA_CALLOWNR LIKE STRU_ENAME.
      DATA: IT_CALLOWNR LIKE STANDARD TABLE OF STRU_ENAME.
      DATA: IT_ENAME TYPE ZU5_PERLIST_T.
      DATA: LV_STR TYPE STRING VALUE 'BOB'.
      DATA:  lr_componentcontroller  type ref to ig_componentcontroller,
             l_ref_cmp_usage         type ref to if_wd_component_usage.
      DATA:  rt_CALLOWNR          type ref to data,
              R_CALLOWNR          TYPE RANGE OF IHPA-PARNR,
              R_CALLOWNR_line     LIKE LINE OF R_CALLOWNR.
      field-symbols:
          <lt_ovs_result1>     LIKE IT_ENAME,
          <PA0001>             TYPE ZU5_PERLIST_S,
          <lt_sel_opt_result1> type standard table.
      field-symbols: <fs_CALLOWNR> type table.
    case ovs_callback_object->
      case i_ovs_data-m_ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.
          l_ref_cmp_usage = wd_this->wd_cpuse_select_options( ).
         get a pointer to the interface controller of the select options component
          wd_this->m_wd_select_options = wd_this->wd_cpifc_select_options( ).
          i_ovs_data-m_ovs_callback_object->set_configuration(
           WINDOW_TITLE       =
           GROUP_HEADER       =
           LABEL_TEXTS        =
           TABLE_HEADER       =
           COLUMN_TEXTS       =
           COL_COUNT          =
            TABLE_MULTI_SELECT = abap_true ).
        when if_wd_ovs=>co_phase_1.
    // to display extra search window
         i_ovs_data-m_ovs_callback_object->set_input_structure(
           input  = STRU_PA0001
           GROUP_HEADER =
           LABEL_TEXTS  =
           WINDOW_TITLE =
    to display extra search window
        when if_wd_ovs=>co_phase_2.
          rt_CALLOWNR = wd_this->m_handler->get_range_table_of_sel_field( i_id = 'CALLOWNR' ).
          assign rt_CALLOWNR->* to <fs_CALLOWNR>.
          R_CALLOWNR = <fs_CALLOWNR>.
          READ TABLE R_CALLOWNR INTO R_CALLOWNR_line INDEX 1.
          LV_STR = R_CALLOWNR_line-LOW.
          CALL METHOD ZU7_CL_DB_UTILITY=>GET_PERNR_HITLIST
            EXPORTING
              I_SEARCH = LV_STR
            IMPORTING
              ET_HLIST = IT_ENAME.
          l_current_controller ?= wd_this->wd_get_api( ).
          CALL METHOD l_current_controller->get_message_manager
            RECEIVING
              message_manager = l_message_manager.
          IF LV_STR IS INITIAL.
            lv_message_ERROR = wd_assist->if_wd_component_assistance~get_text( key = '031' ).
            CALL METHOD l_message_manager->report_error_message
              EXPORTING
                message_text = lv_message_ERROR.
          ELSE.
            CLEAR lv_message_ERROR.
            DATA : LV_LINES TYPE char3.
            DESCRIBE TABLE IT_ENAME LINES LV_LINES.
            lv_message_ERROR = wd_assist->if_wd_component_assistance~get_text( key = '032' ).
            CONCATENATE LV_LINES lv_message_ERROR INTO lv_message_ERROR SEPARATED BY space.
            CALL METHOD L_MESSAGE_MANAGER->CLEAR_MESSAGES
              EXPORTING
                INCLUDING_PERMANENT_MSG = ABAP_FALSE.
            CALL METHOD L_MESSAGE_MANAGER->REPORT_SUCCESS
              EXPORTING
                MESSAGE_TEXT = lv_message_ERROR.
          ENDIF.
          i_ovs_data-m_ovs_callback_object->set_output_table(
              output       = IT_ENAME
        when  if_wd_ovs=>co_phase_3.
          assign i_ovs_data-m_ovs_callback_object->selection->* to <lt_ovs_result1>.
          assign i_ovs_data-mt_selected_values->* to <lt_sel_opt_result1>.
          loop at <lt_ovs_result1> assigning <PA0001>.
            APPEND <PA0001>-PERNR TO <lt_sel_opt_result1>.
          endloop.
      endcase.
    Regards,
    Vishal.
    Edited by: VISHAL GUPTA on Aug 5, 2008 9:42 AM

  • Getting error in OVS!!

    Scenario:
    I am using Object Value Selector(OVS) in my application for an attribute of a node.
    Problem:
    when i am clicking for value help,
    Sometimes i am getting an error message like
    'error type:sapPopupMainId_X1'  in a popup.
    within that popup there is a OK button.
    after clicking the OK button if i again click for the value help,the application is giving dump like NULL object reference.
    How to overcome this??
    Please anyone give me a solution.
    Thanks in advance,
    Subhasis.

    Hi Subhasis,
    This is a known bug and has been fixed. Depending on your current SP-level you will either have to apply some notes or move to a higher SP-level.
    Best regards,
    Thomas

  • Value hep problem in web dynpro application

    Hi All,
    I have a requirement where I need to add a field for alternate payee to the web dynpro application and the field name is BSEG-EMPFB. I have written the following code to get the values of it based on the vendor number:
    SELECT SINGLE * FROM  lfb1 INTO f4lfb1_z
                      WHERE lifnr = lv_lifnr
                      AND   bukrs = '001'."bseg-bukrs'.
      CALL FUNCTION 'FI_VENDOR_ALTERN_PAYERS_READ'
        EXPORTING
          i_lifnr            = lv_lifnr
          i_filkd            = filkd
          i_bukrs            = '001'
          i_lfb1_head_office = f4lfb1_z
        TABLES
          t_zemtab           = t_zemtab.
      LOOP AT t_zemtab INTO w_zemtab.
        ls_value_set-text = w_zemtab-empfb.
        ls_value_set-value = w_zemtab-empfb.
    append ls_value_set to lt_value_set.
    DATA lo_nd_alt_payee_info TYPE REF TO if_wd_context_node_info.
    DATA lo_nd_alt_payee TYPE REF TO if_wd_context_node.
    lo_nd_alt_payee = wd_context->get_child_node( name = wd_this->wdctx_alt_payee ).
    lo_nd_alt_payee_info = lo_nd_alt_payee->get_node_info( ).
             lo_nd_alt_payee_info->set_attribute_value_set(
                name =  `ALTERNATE_PAYEE`
                value_set = lt_value_set )
    Now the problem is user wants the details of the alternate payee as F4 help and when I debugged the standard FV60 functionality this how the F4 help is being build therE:
    REFRESH fldtab.
      CLEAR fldtab.
      fldtab-tabname    = 'IZEMTAB'.
      fldtab-fieldname  = 'EMPFB'.
      fldtab-selectflag = 'X'.
      APPEND fldtab.
      CLEAR fldtab.
      fldtab-tabname    = 'IZEMTAB'.
      fldtab-fieldname  = 'NAME1'.
      APPEND fldtab.
      CLEAR fldtab.
      fldtab-tabname    = 'IZEMTAB'.
      fldtab-fieldname  = 'ORT01'.
      APPEND fldtab.
      CLEAR fldtab.
      fldtab-tabname    = 'IZEMTAB'.
      fldtab-fieldname  = 'STRAS'.
      APPEND fldtab.
    *------- Fill Values for Function Module Call --------------------------
      REFRESH valtab.
      LOOP AT zemtab.
        valtab-feld = zemtab-empfb.
        APPEND valtab.
        valtab-feld = zemtab-name1.
        APPEND valtab.
        valtab-feld = zemtab-ort01.
        APPEND valtab.
        IF zemtab-stras NE space.
          valtab-feld = zemtab-stras.
        ELSEIF zemtab-pfach NE space.
          CONCATENATE 'Postfach:'(019) zemtab-pfach INTO valtab-feld.
        ELSE.
          valtab-feld = space.
        ENDIF.
        APPEND valtab.
      ENDLOOP.
    *------- F4 Dialog -----------------------------------------------------
      CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
        EXPORTING
          display      = space
          fieldname    = 'EMPFB'
          tabname      = 'INVFO'
        IMPORTING
          select_value = empfb
        TABLES
          fields       = fldtab
          valuetab     = valtab.
      IF NOT empfb IS INITIAL.
        invfo-empfb = empfb.
      ENDIF.
    can you please tell me how can I accomdate this in the web dynpro application?
    Thnaks,
    Edited by: rajatg on Jul 13, 2011 6:41 PM
    Edited by: rajatg on Jul 13, 2011 6:42 PM

    Hi Raja,
    Search help is availble at dictinary level you get F4 help automatically.
    Otherwise create OVS help for alternate payee. use WDR_OVS.
    check this..
    http://wiki.sdn.sap.com/wiki/display/WDABAP/InputhelpofObjectValueSelectioninWDABAP
    /people/shruti.rathour/blog/2008/05/05/ovs-help-in-web-dynpro-abap
    Cheers,
    Kris.

  • Display Tree structure using EVS or OVS

    Hi All,
        Here we have a requirement like display tree structure when I press F4. currently the sample application (using Object Value Selector or Extended Value Selector) is displaying the values in table, instead of table here we have to display it in tree.
       If it is not possible using either OVS or EVS please tell me what is the other way to solve the problem.
    Please give me any suggestion.
    Regards
    Suresh

    Suresh,
    You can emulate the behaviour by having a separate view for the tree structure.
    1.) Create a new view and put your tree structure UI + related logic in that view.
    2.) Create an input field and a linkToAction / button (with the text "Search".) aligned side by side.
    3.) On click of the search button, show the view containing tree as pop-up.
    You may develop upon this hint to meet your requirement.
    ~ Bala

  • Creating OVS for a field

    Hi All ,
    I am trying to add the OVS for a particular field in my web dynpro application and for this I have done the folllowing:
    1. I added the component WDR_OVS to my component interface.
    2. I then added the following to my component controller
    OVS     WDR_OVS                                 System Component for OVS Input Help
    OVS     WDR_OVS     INTERFACECONTROLLER     Generic Input Help
    3. I set the input help mode as 'Object Value Selector' and OVS Component usage as 'OVS' for the attribute 'Alternate_payee'.
    4 . I then created a even handler type method ON_OVS in the main view and inserted the following code to it:
    DATA: lifnr TYPE lfa1-lifnr,
            f4lfb1_z TYPE lfb1,
            filkd TYPE bseg-filkd,
            t_zemtab TYPE STANDARD TABLE OF izemtab,
            w_zemtab  LIKE LINE OF t_zemtab.
      DATA: lt_value_set TYPE TABLE OF wdr_context_attr_value,
                ls_value_set LIKE LINE OF lt_value_set.
      SELECT SINGLE * FROM  lfb1 INTO f4lfb1_z
                      WHERE lifnr = w_lifnr
                      AND   bukrs = '001'.
      CALL FUNCTION 'FI_VENDOR_ALTERN_PAYERS_READ'
        EXPORTING
          i_lifnr            = w_lifnr
          i_filkd            = filkd
          i_bukrs            = '001'
          i_lfb1_head_office = f4lfb1_z
        TABLES
          t_zemtab           = t_zemtab.
    data w_alt_emp_string type string.
      LOOP AT t_zemtab INTO w_zemtab.
        concatenate w_zemtab-empfb ' ' w_zemtab-name1 ' ' w_zemtab-ORT01 ' ' w_zemtab-STRAS ' ' w_zemtab-PFACH into w_alt_emp_string RESPECTING BLANKS.
        ls_value_set-text = w_alt_emp_string.
        ls_value_set-value = w_alt_emp_string.
    append ls_value_set to lt_value_set.
      ENDLOOP.
    DATA lo_nd_alt_payee_info TYPE REF TO if_wd_context_node_info.
    DATA lo_nd_alt_payee TYPE REF TO if_wd_context_node.
    lo_nd_alt_payee = wd_context->get_child_node( name = wd_this->wdctx_alt_payee ).
    lo_nd_alt_payee_info = lo_nd_alt_payee->get_node_info( ).
             lo_nd_alt_payee_info->set_attribute_value_set(
                name =  `ALERNATE_PAYEE`
                value_set = lt_value_set ).
    Now when I run the application and do F4 on the desired field I am getting the short dump as ''OVS: Methode SET_OUTPUT_TABLE Cannot Be Called "
    Can you please tell me what am I missing here?
    Edited by: rajatg on Jul 27, 2011 9:42 PM

    Hello,
    WDR_OVS->OVS event follows a phase model approach. Once you create a event handled method for the OVS, the code template will be auto generated and it will look like this
    * declare data structures for the fields to be displayed and
    * for the table columns of the selection list, if necessary
      types:
        begin of lty_stru_input,
    *   add fields for the display of your search input here
          field1 type string,
        end of lty_stru_input.
      types:
        begin of lty_stru_list,
    *   add fields for the selection list here
          column1 type string,
        end of lty_stru_list.
      data: ls_search_input  type lty_stru_input,
            lt_select_list   type standard table of lty_stru_list,
            ls_text          type wdr_name_value,
            lt_label_texts   type wdr_name_value_list,
            lt_column_texts  type wdr_name_value_list,
            lv_window_title  type string,
            lv_group_header  type string,
            lv_table_header  type string.
      field-symbols: <ls_query_params> type lty_stru_input,
                     <ls_selection>    type lty_stru_list.
      case ovs_callback_object->phase_indicator.
        when if_wd_ovs=>co_phase_0.  "configuration phase, may be omitted
    *   in this phase you have the possibility to define the texts,
    *   if you do not want to use the defaults (DDIC-texts)
          ls_text-name = `FIELD1`.  "must match a field name of search
          ls_text-value = `MYTEXT`. "wd_assist->get_text( `001` ).
          insert ls_text into table lt_label_texts.
          ls_text-name = `COLUMN1`.  "must match a field in list structure
          ls_text-value = `MYTEXT2`. "wd_assist->get_text( `002` ).
          insert ls_text into table lt_column_texts.
    *      lv_window_title = wd_assist->get_text( `003` ).
    *      lv_group_header = wd_assist->get_text( `004` ).
    *      lv_table_header = wd_assist->get_text( `005` ).
          ovs_callback_object->set_configuration(
                    label_texts  = lt_label_texts
                    column_texts = lt_column_texts
                    group_header = lv_group_header
                    window_title = lv_window_title
                    table_header = lv_table_header
                    col_count    = 2
                    row_count    = 20 ).
        when if_wd_ovs=>co_phase_1.  "set search structure and defaults
    *   In this phase you can set the structure and default values
    *   of the search structure. If this phase is omitted, the search
    *   fields will not be displayed, but the selection table is
    *   displayed directly.
    *   Read values of the original context (not necessary, but you
    *   may set these as the defaults). A reference to the context
    *   element is available in the callback object.
          ovs_callback_object->context_element->get_static_attributes(
              importing static_attributes = ls_search_input ).
    *     pass the values to the OVS component
          ovs_callback_object->set_input_structure(
              input = ls_search_input ).
        when if_wd_ovs=>co_phase_2.
    *   If phase 1 is implemented, use the field input for the
    *   selection of the table.
    *   If phase 1 is omitted, use values from your own context.
          if ovs_callback_object->query_parameters is not bound.
    ******** TODO exception handling
          endif.
          assign ovs_callback_object->query_parameters->*
                                  to <ls_query_params>.
          if not <ls_query_params> is assigned.
    ******** TODO exception handling
          endif.
    *     call business logic for a table of possible values
    *     lt_select_list = ???
          ovs_callback_object->set_output_table( output = lt_select_list ).
        when if_wd_ovs=>co_phase_3.
    *   apply result
          if ovs_callback_object->selection is not bound.
    ******** TODO exception handling
          endif.
          assign ovs_callback_object->selection->* to <ls_selection>.
          if <ls_selection> is assigned.
    *        ovs_callback_object->context_element->set_attribute(
    *                               name  = `COLUMN1`
    *                               value = <ls_selection>-column1 ).
    *      or
    *        ovs_callback_object->context_element->set_static_attributes(
    *                               static_attributes = <ls_selection> ).
          endif.
      endcase.
    you need to adapt this code to pass the required structure and data.
    BR, Saravanan

  • Podcast not updating in iTunes application

    My podcast shows up fine in my RSS feed on my server.  It shows up fine in the iTune Store.
    My podcast is NOT showing up in my iTunes Application feed and shows the like there is a broken link somewhere when I try to "Update Podcast".
    My RSS feed:
    feed://www.nathan-russell.com/ovs/ovs.xml
    iTunes preview:
    http://itunes.apple.com/us/podcast/the-overnight-variety-show/id420386052
    I recently updated my feed with 2 new episodes on August 22nd, 2011.  Normally it doesn't take 4 days to update in my iTunes Application.  I've previously used the email that Apple sent upon approval of my podcast to ping my server and "update" my iTunes Application to show the most recent additions but the link they provided in that email ( https://phobos.apple.com/WebObjects/MZFinance.woa/wa/pingPodcast?id=420386052 ) has stopped working as well.
    Please help me determine why my updated RSS feed is not showing up in the subscription to my own podcast within the iTunes Application itself.
    Thank you kindly!

    You have rendered your feed invalid. 'Episode 16 - promo' contains two unescaped ampersands, one in the 'itunes:summary' tag and once in the 'description' tag"
    'A.J. Finney, Dallas Orbiter & Jesse Joyce.'
    An ampersand by itself indicates the start of a code sequence which is never terminated, thus rendering the entire feed unreadable.
    Oddly enough, this text appears successfully in the iTunes Store page: did you change it to the uncoded ampersand at a later stage? Usually this mistake stops the Store page updating as soon as it's in the feed.
    You need to replace both ampersands with the code &amp; or the word 'and'. Once you do this the feed will work.
    The 'ping' facility has been withdrawn from the iTunes Store for some time now (I'm not convinced that it ever worked anyway) - you just have to wait for the Store to update in its own time (usually 1-2 days).

  • Problem with OVS search help.. pls help..

    Hi friends, I have a prblem with OVS component layout
    can some tell me create another  COPY button just under the search button on OVS.
    Basically in my product search.. there is already an OVS component created.. in the Z component layout.. jus the result table is been designed. I dnt see any other UI elements availble in that layout. (like input field to accept vaules on OVS), .. so i was wondering how to create a new button.
    this was developed by others;s so .. i m fighting with this and not able to get anything from sdn aswell.. pls help me.
    And also when they enter values in input fields.. instead of clicking search.. they wanted to hit ENTER key on keyboard... and result shoud display.. how to achieve this..
    sorry im very sorry but pls take out some time and help me out.
    I want one more button COPY on OVS search help. just under the SEARCH button... and also the search shud start once i hit ENTER key on keyboard.
    pls help on this.
    Niraja

    Hi Niraja,
    As how discussed in the email we can get this additional push button as how desired by enhancing the standard component WDR_OVS. Just click on the "Enhance" (spiral kind of button) button present in the application toolbar & create an Enhancement Implementation for the component. Now within this standard component you have the corresponding layout present in the SEARCH view. So go to this view & make the necessary changes. From now on what all components which declare a component usage of the WDR_OVS would be getting this newly modified UI & functionality.
    Regards,
    Uday

Maybe you are looking for

  • Transaction LI21 clear differences in IM.

    Transaction code: LI21. I select the Bin that has to be cleared. When I click on the pushbutton CLEAR, I get the following error: A reason has to be entered for movement type 711 Message no. M7325 Diagnosis In Customizing for this movement type, you

  • DI-Error: You cannot select batch or serial numbers for a closed row

    Hello Experts, I have several B1-Systems connected to R/3-Systems via B1iSN. In B1 for example I have 2 rows in Purchase Order. One row was closed by a goods receipt - 1 row is still open. From our R/3-System we send Order-Acknowledgements to B1. Bec

  • Problem generating jar file

    Hello everybody, I have a problem with the generation of a jar file. The script should run from the command line with a parameter but i get every time this error message when i try to run it: Call is like that: java -jar new.jar "some path parameter"

  • MMS card for Nokia 6230i won't let me transfer fil...

    I have a 6230i phone with the standard MMS card inside, and when I connect it to my iBook G4 Mac computer, the card comes up and everything, but when I go to transfer a file to it, it says "The item could not be moved because "Memory Card" could not

  • [Q] Oracle Spatial Java Class Library: classes missing ?

    Hello ! We are using Oracle 9.2.0.4 with Spatial features and we'd like to use the Java Library to get access to the object Geometries. We have downloaded the Spatial Java Library at: http://www.oracle.com/technology/software/products/spatial/index.h