How to bind chart type at run time

Hi,
I want to select chart type at run time using a drop down , i know the class name (CL_WD_BUSINESS_GRAPHICS) which
has to be bind. but iam unable to bind the class.
can any one help me.

Hi,
**... check view exists
check me->if_salv_wd_view~r_view is bound.
*... get wd root uie for adding graphic control uie
  data:
    lr_wd_root type ref to cl_wd_transparent_container.
  lr_wd_root ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_root ).
  check lr_wd_root is bound.
*... use a group container
  data:
    lr_wd_group type ref to cl_wd_group.
  lr_wd_group ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic_container ).
*... if wd uie group container does not exist create group container
  if lr_wd_group is not bound.
    lr_wd_group = me->if_salv_wd_comp_table_ui~create_graphic_container( ).
  endif.
*... get wd uie graphic
  value ?= me->if_salv_wd_view~r_view->get_element( if_salv_wd_comp_table_ui=>c_uie_graphic ).
*... if wd uie graphic does not exist create graphic
  if value is not bound.
    data:
      l_source_category type string,
      l_source_series   type string,
      l_source_point    type string.
    concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                if_salv_wd_comp_table_data=>c_name_node_graphic_category
                into l_source_category.
    concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                if_salv_wd_comp_table_data=>c_name_node_graphic_series
                into l_source_series.
    concatenate if_salv_wd_comp_table_data=>c_name_node_graphic '.'
                if_salv_wd_comp_table_data=>c_name_node_graphic_series '.'
                if_salv_wd_comp_table_data=>c_name_node_graphic_point
               into l_source_point.
    value = cl_wd_business_graphics=>new_business_graphics(
              view                 = me->if_salv_wd_view~r_view
              id                   = if_salv_wd_comp_table_ui=>c_uie_graphic
              bind_category_source = l_source_category
              bind_series_source   = l_source_series ).
    data:
      l_bind_value type string.
    data:
      lr_wd_category type ref to cl_wd_category.
    concatenate l_source_category '.' 'LABEL' into l_bind_value.
    lr_wd_category = cl_wd_category=>new_category(
                       view             = me->if_salv_wd_view~r_view
                       bind_description = l_bind_value
                       bind_tooltip     = l_bind_value ).
    value->set_category( lr_wd_category ).
    data:
      lr_wd_series type ref to cl_wd_series.
    concatenate l_source_series '.' 'LABEL' into l_bind_value.
    lr_wd_series = cl_wd_series=>new_series(
                     view              = me->if_salv_wd_view~r_view
                     bind_point_source = l_source_point
                     bind_label        = l_bind_value
                     bind_tooltip      = l_bind_value ).
    value->add_series( lr_wd_series ).
    data:
      lr_wd_point type ref to cl_wd_point.
    concatenate l_source_point '.' 'LABEL' into l_bind_value.
    lr_wd_point = cl_wd_point=>new_point(
                    view              = me->if_salv_wd_view~r_view
                    bind_value_source = l_source_point
                    bind_label        = l_bind_value
                    bind_tooltip      = l_bind_value ).
    lr_wd_series->set_point( lr_wd_point ).
    data:
      lr_wd_value type ref to cl_wd_numeric_value.
    concatenate l_source_point '.' 'VALUE' into l_bind_value.
    lr_wd_value = cl_wd_numeric_value=>new_numeric_value(
                    view       = me->if_salv_wd_view~r_view
                    bind_value = l_bind_value ).
    lr_wd_point->add_value( lr_wd_value ).
    me->if_salv_wd_comp_table_ui~add_child_to_container(
      r_container = lr_wd_group
      r_child     = value ).
  endif.

Similar Messages

  • How to determine itab type at run time

    I need to write a subroutine that organizes data in internal tables for presentation by a smartform. There are a few similarly structured internal tables all with the same field name ("recipe_type") by which the data is sorted. My problem is that how I can determine the type of the itab inside my subroutine at run time? Is it ever possible in ABAP?
    The subroutine code is attached below. Thanks for any help.
    FORM beautify_itab    TABLES itab_in TYPE table
                                     USING v_type TYPE any
                                     CHANGING itab_out TYPE table.
    Data declaration
      DATA: v_data_row LIKE LINE OF itab_in,                " THIS WON'T COMPILE!
                 v_blank_row LIKE LINE OF itab_in.              " blank row
    Organize the display of the table data
      LOOP AT itab_in INTO v_data_row.
        IF v_type <> itab_in-recipe_type.                     " 'recipe_type' is the sort key for the incoming itabs
          v_type = itab_in-recipe_type.
          IF sy-tabix > 1.
            APPEND v_blank_row TO itab_out.
          ENDIF.
          APPEND v_data_row TO itab_out.
        ELSE.
          CLEAR v_data_row-recipe_type.
          APPEND v_data_row TO itab_out.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "beautify_itab

    The following code does what I want, but only if the input itab structure is declared first in the program. It won't work if the itab is declared as itab_in TYPE TABLE OF sflight. This is because the function 'GET_COMPONENTS_LIST'  only can load the structure of a field declared explicitly in the program.  Does anybody know of any method to load the structure of an itab based off a dtab? 
    Thanks you guys for answers. Points have been rewarded.
    *& Report  Z_GET_ITAB_TYPE_AT_RUN_TIME
    REPORT  z_get_itab_type_at_run_time.
    DATA: BEGIN OF itab_in OCCURS 0,
             seatsocc_b LIKE sflight-seatsocc,
             fldate LIKE sflight-fldate,
          END OF itab_in,
          itab_out TYPE TABLE OF string,
          wa_itab_out TYPE string.
    SELECT seatsocc_b fldate
    INTO TABLE itab_in
    FROM sflight
    WHERE carrid = 'AA' AND
          connid = '0017'
    ORDER BY seatsocc_b.
    PERFORM beautify_itab
                TABLES
                   itab_in
                USING
                   sy-repid
                   'itab_in'
                   'SEATSOCC_B'
                CHANGING
                   itab_out.
    LOOP AT itab_out INTO wa_itab_out.
      WRITE: / wa_itab_out.
    ENDLOOP.
    *&      Form  beautify_itab
          text
         -->ITAB_IN    text
         -->V_KET_FIELD   text
         -->ITAB_OUT   text
    FORM beautify_itab TABLES itab_in TYPE table
                       USING  v_prog_name LIKE sy-repid
                              v_itab_in_name TYPE any
                              v_key_field_name TYPE rstrucinfo-compname
                       CHANGING  itab_out TYPE table.
      DATA: itab_fields TYPE TABLE OF rstrucinfo,
            v_field_name LIKE rstrucinfo-compname,
            v_old_key TYPE string,
            v_field_value TYPE string,
            v_data_line TYPE string,
            v_tabix LIKE sy-tabix,
            c_blank_row TYPE string VALUE ''.
      FIELD-SYMBOLS: <fs_field>,
                     <fs_data_line>,
                     <fs_field_list> TYPE  rstrucinfo.
    gets all of the components of a structure
      CALL FUNCTION 'GET_COMPONENT_LIST'
        EXPORTING
          program    = v_prog_name
          fieldname  = v_itab_in_name
        TABLES
          components = itab_fields.
      LOOP AT itab_in ASSIGNING <fs_data_line>.
        v_tabix = sy-tabix.
        LOOP AT itab_fields ASSIGNING <fs_field_list>.
          v_field_name =  <fs_field_list>-compname.
          ASSIGN COMPONENT v_field_name OF STRUCTURE
                        <fs_data_line> TO <fs_field>.
          v_field_value = <fs_field>.
          IF v_key_field_name = v_field_name.
            IF v_old_key <> v_field_value.
              v_old_key = v_field_value.
              IF v_tabix > 1.
                APPEND c_blank_row TO itab_out.
              ENDIF.
            ELSE.
              CLEAR v_field_value.
            ENDIF.
          ENDIF.
          CONCATENATE v_data_line v_field_value INTO v_data_line
                      SEPARATED BY space.
        ENDLOOP.
        APPEND v_data_line TO itab_out.
        CLEAR v_data_line.
      ENDLOOP.
    ENDFORM.                    "beautify_itab

  • How to clear this type of run time error

    good eve,
    i am migrating sql server procedures to oracle procedures
    i am trying to execute char(39) function in plsql is the following way correct and if this way is correct i am getting
    run time error like
    create or replace
    procedure Sel_subgroup(key in varchar2,gradename in varchar2)
    as
    gid res_grades.grade_id%type;
    gn res_grades.gradename_en%type;
    stid sub_topics.subtopic_id%type;
    stn sub_topics.subtopicname_en%type;
    cc res_grades.countrycode%type;
    estid exsub_topics.exsub_topics_id%type;
    estn exsub_topics.exsubtopicname_en%type;
    d_stmt varchar2(500);
    type ref_cursor is ref cursor;
    rc ref_cursor;
    begin
    d_stmt :='SELECT RG.Grade_ID,RG.Gradename_'||key||',ST.SubTopic_ID,ST.SubTopicname_'||key||', RG.CountryCode,
    Est.ExSub_Topics_ID, Est.ExSubTopicname_'||key||' from
    Res_Grades RG INNER JOIN Sub_Topics ST ON RG.Grade_Id= ST.Grade_ID
    INNER JOIN ExSub_Topics Est ON ST.SubTopic_ID = Est.Sub_Topics_Id
    Where Gradename_'||key||' = '''||gradename||'''';
    open rc for d_stmt;
    loop
    fetch rc into gid,gn,stid,stn,cc,estid,estn;
    if rc%found then
    dbms_output.put_line(gid||gn||stid||stn||cc||estid||estn);
    else
    exit;
    end if;
    end loop;
    close rc;
    commit;
    end Sel_subgroup;the out screen result is:
    Connecting to the database rasool.
    Process exited.
    Disconnecting from the database rasool.can u please help me,
    thanking you,
    prakash

    to samb,
    It doesn't look like you are getting a runtime error. Is it possible your query is returning no rows?
    If you are sure your query should be returning rows, you probably need to check if DBMS_OUTPUT is enabled in SQL Developer (View menu I think).my query is returning a row
    where where 123=key and 'FUBAR'=gradename?
    If so, you want 3 single-quotes at the end of the string, not 4:
    You sure? I think 4 is correct.i am sure 4 is correct i have tried as per jeenesh said
    to jeenesh
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace
      2  procedure Sel_subgroup(key in varchar2,gradename in varchar2)
      3  as
      4   d_stmt varchar2(500);
      5  begin
      6  d_stmt :='SELECT RG.Grade_ID,RG.Gradename_'||key||',ST.SubTopic_ID,ST.SubTopicname_'||key||', RG.CountryCode,
      7  Est.ExSub_Topics_ID, Est.ExSubTopicname_'||key||' from
      8  Res_Grades RG INNER JOIN Sub_Topics ST ON RG.Grade_Id= ST.Grade_ID
      9  INNER JOIN ExSub_Topics Est ON ST.SubTopic_ID = Est.Sub_Topics_Id
    10  Where Gradename_'||key||' = '''||gradename||'''';
    11  dbms_output.put_line(d_stmt);
    12* end Sel_subgroup;
    SQL> /
    Procedure created.
    SQL> set serverout on
    SQL> exec Sel_subgroup('1','TEST');
    SELECT RG.Grade_ID,RG.Gradename_1,ST.SubTopic_ID,ST.SubTopicname_1,
    RG.CountryCode,
    Est.ExSub_Topics_ID, Est.ExSubTopicname_1 from
    Res_Grades RG
    INNER JOIN Sub_Topics ST ON RG.Grade_Id= ST.Grade_ID
    INNER JOIN ExSub_Topics
    Est ON ST.SubTopic_ID = Est.Sub_Topics_Id
    Where Gradename_1 = 'TEST'
    PL/SQL procedure successfully completed.i have also executed your code sir it is executing.in my coding,i found that the part of dbms_output.put_line in my ref cursor loop is not displaying me the print.
    to karthick arp
    Did enable serveroutput?yes i have enabled it with buffer size 200000
    to
    Billy Verreynne     & Frank Kulash
    as per you said sir i have done and got an error my code as follows
    SQL> var rc refcursor
    SQL> var key varchar2(2)
    SQL> var gradename varchar2(30)
    SQL> exec :key :='EN';
    PL/SQL procedure successfully completed.
    SQL> exec :gradename :='PRE-K';
    PL/SQL procedure successfully completed.
    SQL> begin sel_subgroup(key => :key, gradename => :gradename,rc => :rc); end;
      2  /
    PL/SQL procedure successfully completed.
    SQL> print rc
    ERROR:
    ORA-24338: statement handle not executed
    SP2-0625: Error printing variable "rc"how to handle this error sir

  • How to change chart type at runtime

    hi
    this application uses forms 6i client server environment, graph control is being used with og.interept libray,
    passing parameters run times thru forms to charts.
    issue is that, i want to change chart type at run time, when user changes list item like 'pie' and 'bar' value instead of creating two different charts i.e pie and bar.
    below is the code is being used to run charts.
    begin
    declare
    pl_id ParamList;
    query0 varchar2(256);
    begin
    query0 := 'select deptno, sum(sal) from emp where deptno in( '||:dept1||','||:dept2||') group by deptno;';
    pl_id := Get_Parameter_List('tmpdata');
    IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List(pl_id);
    END IF;
    pl_id := Create_Parameter_List('tmpdata');
    Add_Parameter(pl_id,'dept1',text_PARAMETER,:dept1);
    Add_Parameter(pl_id,'dept2',text_PARAMETER,:dept2);
    if :ch_type = 'pie' then
    og.interpret('e:\mas\emp2.ogd','g1',query0,true,pl_id);
    og.close('e:\mas\emp2.ogd','g1');
    elsif :ch_type = 'bar' then
    og.interpret('e:\mas\emp3.ogd','g1',query0,true,pl_id);
    og.close('e:\mas\emp3.ogd','g1');
    end if;
    END;
    end;
    thanks
    i'd be appreciated on early reply.
    ali

    hi
    this application uses forms 6i client server environment, graph control is being used with og.interept libray,
    passing parameters run times thru forms to charts.
    issue is that, i want to change chart type at run time, when user changes list item like 'pie' and 'bar' value instead of creating two different charts i.e pie and bar.
    below is the code is being used to run charts.
    begin
    declare
    pl_id ParamList;
    query0 varchar2(256);
    begin
    query0 := 'select deptno, sum(sal) from emp where deptno in( '||:dept1||','||:dept2||') group by deptno;';
    pl_id := Get_Parameter_List('tmpdata');
    IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List(pl_id);
    END IF;
    pl_id := Create_Parameter_List('tmpdata');
    Add_Parameter(pl_id,'dept1',text_PARAMETER,:dept1);
    Add_Parameter(pl_id,'dept2',text_PARAMETER,:dept2);
    if :ch_type = 'pie' then
    og.interpret('e:\mas\emp2.ogd','g1',query0,true,pl_id);
    og.close('e:\mas\emp2.ogd','g1');
    elsif :ch_type = 'bar' then
    og.interpret('e:\mas\emp3.ogd','g1',query0,true,pl_id);
    og.close('e:\mas\emp3.ogd','g1');
    end if;
    END;
    end;
    thanks
    i'd be appreciated on early reply.
    ali

  • How to create transparent image at run-time?

    How to create transparent image at run-time? I mean I want to create a (new) transparent image1, then show other (loaded) transparent image2 to image1, then show image1 to a DC. The problem is - image1 has non-transparent background...

    i'm not sure, but you can set the alpha value to 0 in all pixels which are 'in' the background..
    greetz
    chris

  • How to get wage type for every time record

    Hi Pros,
          I am using DS 0CA_TS_IS_1, it includes report time type (0REPTT), but not have wage type. in CATSDB, I fied fields for attendance/absence type and wage type. but not every time record has wage type. can you please tell me how to get wage type for every time record? what is relation between reporting time type, attendance/absence type and wage typs?

    Hello,
    Can you talk to your HR/T&E functional consultant if they populate these values in CATSDB table using standard way or if there are custom fields that are in CATSDB OR any other table which can be used to meed the requirements
    Thanks
    Abhishek Shanbhigue

  • How to pass column name at run time in function.

    how to pass column name at run time in function as parameter.
    thank in advance
    pramod patel

    Hello,
    Using dynamic sql you can pass column name to function. well I am not getting what you really want to do ? Please write in more detail. By the way I am providing one example here. see it uses dynamic sql.
    Create or replace function fun_updtest (p_columnname_varchar2 in varchar2,
    p_value_number in number)
    return number is
    v_stmt varchar2(500);
    begin
    v_stmt := 'update emp
    set '||p_columnname_varchar2||' = '||to_char(p_value_number)||'
              where empno = 7369';
    execute immediate v_stmt;
    return 0;
    commit;
    end;
    call to this function can be like this..
    declare
    v_number               number;
    begin
    v_number := fun_updtest('SAL',5000);
    end;
    Adinath Kamode

  • How to call abap proxy at run time?

    hello frnds,
    i m working on a scenario in which whenever Invoice is saved in SAP R/3 at that time same data should go to Oracle DB. i m using ABAP proxy on SAP R/3 side and JDBC receicver adapter on oracle side of XI.
    so to post data i need to call ABAP Proxy whenever invoice is saved.. i have tried to find out save event for invoice but not able to get... can anybody tell me the solution that how i can call proxy at run time?
    thanx in advance.
    Regards,
    Hetal.....

    Hi Audumbar,
    Check these ...
    /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    /people/siva.maranani/blog/2005/04/03/abap-server-proxies
    /people/vanita.thareja2/blog/2006/05/23/bpm-sending-message-asynchronously-and-getting-the-response-from-synchronous-system-using-abap-proxies
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
    cheers,
    Prashanth
    P.S Please mark helpful answers

  • How to invoke a class at run-time for primitive data types?

    Hi,
    I am trying to invoke classes at run-time.
    I am using Class.forName("className") for that where the "className" is also obtained at run-time .
    The problem I am getting is when the "className" is "int" or "char" etc. the call to Class.forName("int") etc. fails giving ClassNotFound error. It works fine for "className" is "java.lang.String" or "java.lang.Integer" etc.
    How can I correct this?
    thanks in advance-
    kg

    Hi,
    Thanks all for the valuable inputs.
    I have created a hashtable of primitive data types in the form of "int" as key and "Integer.TYPE" as the object in that element of the hashtable.
    Now there is another problem I am facing and that is of 'Casting at run-time'.
    Problem is there when the Database type is 'NUMBER' which returns me a "java.lang.BigDecimal" when I do a ResultSet.getObject("XXX") for that whereas the method in the javabean expects an "int" type.
    This causes "java.lang.IllegalArgumentException: argument type mismatch"
    So I want to cast it at runtime. How can I do it?
    Here is the code I am trying (which generates the above exception)
    public static void setBeanField(Class pCls,Object pObj,String pMethodName ,Object pColumnValue,Class
    pColumnTypeClass){
    try{
    if(pColumnValue!=null){
    Class[] paramTypes = new Class[]{pColumnTypeClass};
    Object[] args = new Object[]{pColumnValue};
    Method meth = pCls.getMethod(pMethodName,paramTypes);
    meth.invoke(pObj,args);
    }catch(Exception e){
    System.out.println("Exception in TestInrospection.setBeanField " + e);
    thanks in advance-
    kg

  • Read Data's from the Form step type at run time

    Hi Experts,
    I have the 'Form' step type in my workflow and it will displays some values at the Run time. In this form I have one IO field called 'Comments'. So at the runtime manager can Enter the comments on it.
    Now my need is I need to get the 'Comments' data from that form. How can I get this value?
    Thanks in Advance,
    Helps will be Appreciated..

    I got the solution.
    Thanks All..

  • How to set vo query at run time

    Hi,
    Is it possible to bind the where clause of query at run time.
    N :)

    Hi,
    Yes its possible.
    To add new where clause to your query.
    vo.setWhereClause(null);//If you want to remove any existing programmatically added where clause.
    vo.setWhereClause("Your new query");
    To bind varibales (Say there are 2 bind variables),
    First way to achieve this.
    setWhereClauseParam(null); //Always reset it to remove existing bindings)
    setWhereClauseParam(0, "Your first paramter value"); // Second parameter "Your first paramter value" is of type object.
    setWhereClauseParam(1, "Your first paramter value");
    In case you use "?" styly type binding, this count in above method starts with 1 instead of 0.
    Second way is to put all bind variables in an object array and pass to above method.
    Vector params=new Vector(2);
    params.addElement("FirstParameter");
    params.addElement("SecondParameter");
    Now call vo.executeQuery() to fetch the results as per new query.
    Abdul Wahid

  • Modify chart options at run time?

    Post Author: davestewart
    CA Forum: .NET
    I am trying to create a bar chart that shows a custom grid line, or a reference line across the chart. I can set this manually in chart options using the 'Draw custom line at:' setting in the grids tab of the data axis in chart options. There must be a way to set this programatically at run time as this value will change based on the dataset passed to teh report each time. How could I accomplish this report?
    If there is some other way to show a horizontal reference line on my bar chart, and have it match up with the scaling, that would be fine too. Any method of getting this on there would be great.
    Thanks for any help you may be able to lend!

    Hi ,
    this will work..ut after you enter the p1 , you atleast have to hit enter key to get the value automatically in p2.
    this is because you have to have atleast one screen refresh.
    handle the eventy at selection screen output....
    this is called just before the screen is dispalyed.
    may be something like this.
    p_matnr  material
    p_maktx  description of material
    But the value will not appear as soon as you enter the p1 , you have to..
    1)enter p1
    2)press enter
    3)now p2 will appear automatically since at selection screen output would have processed in between.
    AT SELECTION-SCREEN OUTPUT.
      IF NOT p_matnr IS INITIAL.
        SELECT SINGLE
        maktx FROM makt INTO p_maktx WHERE matnr = p_matnr AND spras = 'EN'.
      ENDIF.
    please reward if useful.
    Edited by: santosh sarda on Mar 8, 2008 11:51 AM

  • How to Refresh System Form in Run Time

    Dear All,
    Please give me idea for Refresh System Document in Run Time using DI,basically I am using  system columns for update for some scenarios.
    So please give solution that how should refresh system form.
    Thanks a lot.
    Ashish Singh.

    Hi,
    Please post above discussion in SDK forum.
    Thanks & Regards,
    Nagarajan

  • How to choose RT System at Run Time

    Variations of this question have been asked, but I'm not sure if they've been answered.
    We use LabVIEW RT to do a variety of behavior tests.  We have multiple experimenters using the same hardware, and each has his/her own set of "What I want to do" requirements.
    Originally, we used LabVIEW 7.0 (i.e. Before Project) to develop a Host and Remote (PXI) application.  The Host application was built as an .EXE, while the Remote was saved as an .LLB, copied to the PXI, and "invoked" at Run Time by calls to VI Server.  Note that this means that the code on the Remote might (is?) not be as compact, efficient, or optimized as if we had built an .EXE.  But we definitely can have Bob's Experiment, Jane's Experiment, and Joe's Experiment on the PC (as separate executables), and each could respectively call Bob's RT, Jane's RT, or Joe's RT on the PXI at run time.  No need to have LabVIEW (or LabVIEW expertise) on this system, and Bob, Jane, and Joe can be "ordinary users".
    "Modern LabVIEW" takes a slightly different (and probably better) view towards Real-Time -- both the Host and Remote programs are built as Executables (the RT is built as an .RTEXE).  We can "pre-deploy" the RT code to the PXI, and set it to run at Startup.  This makes getting the RT side "running" semi-automatic -- all you need to do (if it isn't running) is reboot the PXI.
    But what if you want Bob, Jane, and Joe's version, selectable by running (on the Host) Bob, Jane, or Joe's Host application?
    I'm playing with the following algorithm, which seems to work.  I'm presenting it here to get feedback, especially if there is a "better way" to do this.
    The key to this method is that there is an .INI file on the Remote, C:\ni-rt.ini, that contains, among other things, the RT Target's Startup Application path (by default, this is C:\ni-rt\startup\startup.rtexe).
    Consider three Projects, Project Bob, Project Jane, and Project Joe.  Within each Project, a Host executable is built having a name like "UI Bob" (or "Jane" or "Joe"), while the Target executable is given the name "RT Bob" (or "Jane" or "Joe").  The three .RTEXE files are copied to the Target and placed in the Startup folder, C:\ni-rt\startup.
    Now run one of the Host executables.  It does the following:
    FTP a copy of C:\ni-rt.ini from the Target to itself.
    Get the name of the Startup .RTEXE.
    If it is the "appropriate" name (i.e. if the Host program is UI Bob.exe, the Remote should be RT Bob.rtexe), do nothing, as the Target is already running the right code.
    Otherwise, we need to force the Target to run the correct Target code.  We can do this by changing the Startup entry in the .INI file to the Remote code we need (for example, RT Bob.rtexe), then tell the Remote to Reboot.  When it comes back, it will be running the appropriate RT code.
    The Host now goes ahead and tries to connect to the Remote.  If a connection cannot be established (for example, the Remote code might have stopped), a Reboot of the Remote might fix things up.
    Short of trying to write a single enormous program that encompasses every experimental scenario and situation (i.e. have a big Case Statement with a Bob, Jane, or Joe "choice", and a single executable that had everyone's code in it), this seemed to be a fairly simple way to have the robustness of compiled executables on both the Host and Remote machines, yet maintain the flexibility to let the (non-LabVIEW-guru) User choose which executable to run.
    I haven't fully deployed this system -- I'm currently at "Proof-of-Concept" stage, but I've got the various "pieces" working.  Does this seem like a sensible appropach?  Are there other, simpler, ways to accomplish this?
    Bob Schor

    Hey Bob.
    So I assume you're -completely- working with built executables?  You're not going to work in the editor environment to modify your projects at all?
    If this is the case, then having a generic deployment phase at the beginning of the executable (with a "setting up hardware for your app" splash screen) isn't a bad idea -
    Check the binary on the target, ensure it matches the binary you have on the host machine (in case you ever decide to update).
    If they don't match, FTP the new file down to replace the old one.
    FTP the ni-rt.ini file, ensure the startup exe is enabled and is pointing to the correct location.  
    If it's not enabled or not pointing to the correct startup file, modify the .INI file and FTP back to the target.
    If you had to update the INI file, ask target to reboot itself.  Wait 30 seconds, and wait for target to become available again.
    Connect to the target. If you cannot connect, reboot target.  If the target comes back and you still cannot connect to the app, notify user.
    That's almost exactly how we handle installation and deployment via MAX.  
    The big assumption here is that the built executables were all built with the same version of LabVIEW Real-Time.  If not, you'd need a system replication step in there to make sure the proper version of LabVIEW is on the target before launching the built .rtexe.  
    -Danny

  • How to Load a Panel during run time from a CVI dll

    Hi,
    I want to execute/load a panel during runtime, from a CVI dll function.
    my CVI dll "test.dll" has "READ_PAN" function. while executing this function from a Test Stand Action step i want Configure Panel (from FR_GUI.uir) to pop up.
    can you please suggest me how can i do this from my "test" project of CVI.
    int __stdcall __export RunFRConfig (CAObjHandle step,CAObjHandle thisContext)
        ERRORINFO errorInfo;
        char errMsg[1024];
        int pan;
        pan = LoadPanelEx (0, "FR_GUI.uir", READ_PAN, __CVIUserHInst);
        DisplayPanel (pan);
        RunUserInterface();
        DiscardPanel (pan);
        return 0;
            Error:
       // sprintf(FinalErrMsg,"Configure Error: %s",errMsg);  
        return -1;

    Thanks for ur reply.
    Hello Asad,
    It is possible to maximize the run time previewer when calling reports from forms. U need to set a parameter named 'MAXIMIZE' to do that.
    I m attaching a code sample for u. This is working in my production environment.
    DECLARE
    pl_id ParamList;
    BEGIN
         pl_id := Get_Parameter_List('setProposal');
         IF NOT Id_Null(pl_id) THEN
              Destroy_Parameter_List( pl_id );
         END IF;
         pl_id := Create_Parameter_List('setProposal');
    // This parameter is set to hide parameter form at run time     
         Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
    // This parameter is used to maximize previewer window at run // time
         Add_Parameter(pl_id, 'MAXIMIZE', TEXT_PARAMETER, 'YES');
    Run_Product(REPORTS, 'sample.rep', SYNCHRONOUS, RUNTIME,
    FILESYSTEM, pl_id, NULL);
    END;
    Feel free to contact me if u need anymore assistance.
    Take care and bye

Maybe you are looking for

  • Need to load only few sales orders from ecc to bi 7?

    Hi all, there were couple of sales orders is missing for a particular day? we need to load it. there was deltas from the psa to the ods. how to load from psa to the ods when there is deltas!. using the dtp? what is the process to carry out loading a

  • HT204266 Can I set up different iTunes accounts for family members?

    I currently have an iPhone 4 and will be upgrading to an iPhone 5. My wife and daughters also will be getting iPhones and I was wondering how to set up seperate iTunes accounts for them and also how to prevent them form syncing their phones with the

  • Wireless - ipw2100 on laptop

    Hello there, I'm a new arch user and I'm having trouble setting up the wireless on my laptop. I followed the guidelines on the wiki but it still doesn't work, so I would appreciate it if someone could help. I disabled the router's protection, so I kn

  • IOS7 is a disaster

    Since upgrading my iPad is completely unstable.  Can I revert to IOS6?

  • In Fill Photo frame and Trees greyed out

    Adobe CC in the Fill Menu Photo Frame and Trees greyed out