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

Similar Messages

  • 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.

  • 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 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 determine IE type(32 bit or 64 bit) in a task sequence while updating Java

    How to determine IE type(32 bit or 64 bit) in a task sequence
    Hi,
    Currently i have to update new version of Java after removing all the previous existing version of Java by using TS in SCCM 2007.
    we have both 32 bit and 64 bit browser in the environment. I am stucked in determining whether the browser is of 32 bit or 64 bit.
    How to determine IE type(32 bit or 64 bit) in a task sequence so that respective java can be installed for that IE browser.
    will highly appreciate quick response.
    Thanks in advance.
    Daya

    But you also need to install JRE x86 on x64 systems, since most people actually use the 32bit browsers on x64 systems.
    The detection logic is actually pretty simple -- just check the right registry hive to find the installation location of the BIN\JAVA.DLL. Both pathnames are stored in HKLM\Software\JavaSoft\Java Runtime Environment\1.7 in the registry value "JavaHome",
    but the x86 path is stored in the 32-bit hive and the x64 path is stored in the 64-bit hive.
    Lawrence Garvin, M.S., MCSA, MCITP:EA, MCDBA
    SolarWinds Head Geek
    Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2014)
    My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence%20R%20Garvin-32101
    http://www.solarwinds.com/gotmicrosoft
    The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds.

  • 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

  • How to determine data type of cell in Excel file

    I have a company standard Excel file that needs to be read to determine what tests to run.  I have no control over its format.  I need to be able to tell what the data type is in order to read it using the LabView sample code.  It is a hodge poge of numbers and strings.  Some of the numeric fields are formated as hex while some are floating point.  There does not appear to be a vi that I can call to determine info about the cell formating.  As I remember it, the Windows Active X control for accessing Excel support that.  I really was hoping to avoid dealing with the Active X control for Excel directly.
    Any help/ideas?
    Outputting it in CSV or similar is not an option.
    Solved!
    Go to Solution.

    If you have to deal with Excel directly, I don't see how you're going to get around using Active X.
    MSDN page on using ActiveX

  • 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 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

  • How to determine employee type (management vs nonmanagement) in WebDynpro

    Hi,
    I am running SP14.
    In my WebDynpro application, I need to hide/show a link based on if the employee is management or nonmanagement.
    What is the easiest way to determine the type of employee in a WebDynpro?  Is the management/non-management attribute already exposed and available to the WebDynpro?  Or do I need to invoke a BAPI/RFC to retrieve that information from SAP (eg Employee Group or Personnel Area)?
    Thanks for any help you can provide.
    Kevin

    You only need to call this RFC once and share the results with other views via context binding!
    In my applications I follow the Floorplan manager architecture and have one web dynpro component for all the frontend logic e.g. FcAddress
    In the component controller of FcAddress I setup model nodes for the RFC e.g.
    Address_Input (mapped to input RFC model class with all the import parameters of the RFC)
    Address_Output (mapped to either the output RFC model class with all the export parameters of the RFC or it includes another model node for Address_Records which is mapped to the export table parameter.)
    Address_Messages (mapped to the return parameter of the RFC (BAPIRET2).
    All other views with their component controllers are mapped to those model nodes to allow access to the RFC data.
    You can pass the userid to the RFC and then the RFC will get the related employee number via IT105/ST10. You just need to have the userid defined as an import parameter in the RFC.

Maybe you are looking for

  • TS2446 How do you recover your Account after it was locked?

    I used my security Questions many times and now is locked. How do you unlock your Apple ID?

  • Report S_ALR_87012357 not showing VAT amount for directly entered FI items

    Hello experts, In our system, the VAT and sales amount are calculated in another system (not ERP) The VAT amount together with sales amount is transferred to FI via the standard iDoc ACC_DOCUMENT03 The problem that occur is that the report S_ALR_8701

  • DVD player not working w/specific DVD

    I have one specific DVD that is giving me trouble. It's one of a set, and all the others play fine. When I insert this particular DVD (it looks totally clean, scratch free) it starts to play from the beginning and will not stop. The program goes into

  • JavaDB bundled in JDK 6

    hi, it says that the JavaDB is included in JDK 6, when it is installed, there should be a JavaDB folder somewhere in the directories, but i cant find it on my PC, there is no JavaDB folder anywhere or even Program Files/Sun/JavaDB exists, is there a

  • Search functionality in Talent Hub for Executive

    We are in process of implementation of NAKISA 4.0 on ECC 6.0 EHP5 and EP 7.3 EHP1. We did all required configurations for Talent Hub for Executive and also configured TREX as per Mr. Luke Marson blog http://scn.sap.com/community/erp/hcm/blog/2010/09/