Accessing the attributes of a class using field symbols?

An option to pulll a variable into a user exit that otherwise would be out of reach is detailed [here|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8]
Can a similar approach involving field symbols or otherwise, be used to pull in the attributes of a class into the exit? For now, I'm trying to access the A_FRONTEND_INDEX attribute of the class CL_HRXSS_REM.
any ideas?
~Suresh

Hi,
Have you already tried (PROGRAM)(OBJECT)->A_FRONTEND_INDEX in your code? I prepared small testing scenario with two programs and it works.
REPORT  zmv_test1.
FORM test.
  FIELD-SYMBOLS: <fs> TYPE ANY.
  ASSIGN '(ZMV_TEST2)zip->crc32_map' TO <fs>.
  IF sy-subrc EQ 0.
    <fs> = 'Test'.
  ENDIF.
ENDFORM.                    "test
REPORT  zmv_test2.
DATA: zip TYPE REF TO cl_abap_zip.
START-OF-SELECTION.
  CREATE OBJECT zip.
  PERFORM test IN PROGRAM zmv_test1.
Cheers,

Similar Messages

  • How to access the attributes in an object using TestStand.?

    hi,
    I have a class named Status in C# that has 2 data members. There is another Class named Parameter and it has functions that return objects of type Status.
    I made the DLL of the class Parameter. Then i added that class to NI TestStand and called a fucntion and that function is returning an object of type Status.
    Is there any way by which i can access the Data Members of the returned Object in TestStand ??
    Thanx in advance
    Solved!
    Go to Solution.

    Yes, there is another alternative. If you make Status a value type (i.e. a struct in C#) then you can tell teststand to store it in a corresponding TestStand data structure rather than an object reference variable. This works even for private fields in your struct. To do this:
    1) First make Status a value type and make whatever other changes are necessary in your code to account for this (value types are copied when passed by value to another method, if this is not what you want you will need to pass them by reference - i.e. ref keyword in C#).
    2) Recompile your assembly.
    3) In the TestStand .NET module specification panel you should now see a new button next to the expression for the return value of type Status that looks like the TestStand data type icon. Push that button and it will prompt you to create a TestStand custom data type that corresponds to the .NET type. Select to save the type in MyTypes.ini type palette file. You only need to do this once. Once the type is in your MyTypes.ini type palette file it will be available from then on and you only need to update it if you change the .NET type.
    4) Create a local variable of the TestStand Custom data type instead of Object Reference. Note that you can expand it and see the properties underneath.
    5) Use this new local variable to store the Status return value. TestStand will copy/update the properties of the variable to correspond to those of the .NET struct that the method returns.
    NOTE: You can also just store the individual fields of a struct in separate variables by expanding the return value of type Status once it's a struct and specifying a separate variable for each field rather than creating a TestStand custom data type.
    Keep in mind that TestStand is making a copy when you store a struct this way so changes to the struct after this will not be reflected in the copy.
    Hope this helps,
    -Doug

  • How can I access the Attribute Values from the Search Region

    Hi all,
    I have a table which contains Company id, department id, and PositonId. For a particular Company and Department there may be multiple records.
    I have to pupulate a table which contains the position and other details that comes under a particular Department and Position based on the selection in the Three comboBoxes.
    Also I have to populate a select many Shuttle to add new postions and records under a particular Department.
    I created a query panel *(Search Region)* for the serch and a table to display the data. That is working fine.
    Now the issue is I am using a view criteria to populate the shuttle with two bind variables ie, DepartmentId and CompanyId.
    If the serach will return a resuktant set in the table it will also pupulate the correct records, otherwise ie, if the if the serch result is empty the corresponding iterator and the attribute is setting as null.
    SO I want to access the attribute values from the Search Region itsef to populate the shuttle.
    I don't know how can I access the data from the Search Region.
    Please Help.
    Regards,
    Ranjith

    you could access the parameters entered in search region by the user as follows:
    You can get handle to the value entered by the user using queryListener method in af:query.
    You can intercept the values entered as described
    public void onQueryList(QueryEvent queryEvent) {
    // The generated QueryListener replaced by this method
    //#{bindings.ImplicitViewCriteriaQuery.processQuery}
    QueryDescriptor qdes = queryEvent.getDescriptor();
    //get the name of the QueryCriteria
    System.out.println("NAME "+qdes.getName());
    List<Criterion> searchList = qdes.getConjunctionCriterion().getCriterionList();
    for ( Criterion c : searchList) {
    if (c instanceof AttributeCriterion ) {
    AttributeCriterion a = (AttributeCriterion) c;
    a.getValues();
    for ( Object o : a.getValues()){
    System.out.println(o.toString());
    //call default Query Event
    invokeQueryEventMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",queryEvent);
    public void onQueryTable(QueryEvent queryEvent) {
    // The generated QueryListener replaced by this method
    //#{bindings.ImplicitViewCriteriaQuery.processQuery}
    QueryDescriptor qdes = queryEvent.getDescriptor();
    //get the name of the QueryCriteria
    System.out.println("NAME "+qdes.getName());
    invokeQueryEventMethodExpression("#{bindings.ImplicitViewCriteriaQuery.processQuery}",queryEvent);
    private void invokeQueryEventMethodExpression(String expression, QueryEvent queryEvent){
    FacesContext fctx = FacesContext.getCurrentInstance();
    ELContext elctx = fctx.getELContext();
    ExpressionFactory efactory = fctx.getApplication().getExpressionFactory();
    MethodExpression me = efactory.createMethodExpression(elctx,expression, Object.class, new Class[]{QueryEvent.class});
    me.invoke(elctx, new Object[]{queryEvent});
    Thanks,
    Navaneeth

  • Accessing the ServletContext from a class that is not a Servlet?

    Is there any way of accessing the ServletContext from a class that is not a
              Servlet? The class is being used as part of a Web Application.
              Thanks.
              

    http://www.mozilla.org/mirrors.html
    Mozilla has download mirrors around the globe. If it is on the list, it is trustworthy.

  • Accessing private attribute of a class from its Friend Class

    Hi Experts ,
    Please help me to understand how can i access private attribute of one class from its friend class.
    I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
    I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
    Regards,
    Reny Richard

    Hi Reny,
    You should be able to access by creating object of friend class.
    Sample:
    data lo_frnd     TYPE REF TO  /BOBF/CL_TRA_SERVICE_MGR.
    data lo_compl  type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
       create OBJECT lo_frnd
         exporting
                   iv_bo_key = '111'
                   IO_COMPL_TRANSACTION_MANAGER = lo_compl.
    "access the private object of friend class
       clear lo_frnd->MO_BOPF.
    Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
    Hope this helps you.
    Regards,
    Rama

  • How to access private attribute of a class from its Friend Class

    Hi Experts ,
    I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
    I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
    Please help me to understand how can i access private attribute of one class from its friend class.
    Regards- Abhishek

    Hi Reny,
    You should be able to access by creating object of friend class.
    Sample:
    data lo_frnd     TYPE REF TO  /BOBF/CL_TRA_SERVICE_MGR.
    data lo_compl  type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
       create OBJECT lo_frnd
         exporting
                   iv_bo_key = '111'
                   IO_COMPL_TRANSACTION_MANAGER = lo_compl.
    "access the private object of friend class
       clear lo_frnd->MO_BOPF.
    Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
    Hope this helps you.
    Regards,
    Rama

  • Access the Attributes and Actions tabs in AME

    Hi All,
    I am trying to setup the approval process using 'Oracle Approval management'. But I am unable to access the Attributes and Actions tabs in the application.
    Can someone help me how to resolve this issue ? Is there any profile option or setups to be done ?
    Regards
    Jhansi

    Are you on 11.5.10?
    Which responsibility you are using?
    On 11.5.10 try with AME Application Administrator responsibility.

  • Firefox will not access the internet. I have used Firefox for years and the past week I have not been able to get on the internet??? What is the problem. My interent works as I get email and can iuse Internet Explorer to access.

    Firefox will not access the internet. I have used Firefox for years and the past week I have not been able to get on the internet??? What is the problem. My interent works as I get email and can iuse Internet Explorer to access

    Which version of Firefox are you using?
    See
    * https://support.mozilla.com/en-US/kb/Firefox%20cannot%20load%20websites%20but%20other%20programs%20can

  • My itunes software crashes when accessing the music downloads. I use window 8.1

    Is there a fix for itunes crashing when accessing the music download. I use windows 8.1?

    Hello gaz2243,
    Thanks for using Apple Support Communities.
    For more information on this, take a look at:
    iTunes for Windows Vista, Windows 7, or Windows 8: Fix unexpected quits or launch issues
    http://support.apple.com/kb/ts1717
    Best of luck,
    Mario

  • Using Field-Symbols in a user exit to change the importing parameter

    Please don't ask why but I need to use a user exit, changing the importing parameter.  I decided that I could do this using field-symbols.
    Please excuse my ignorance but I have never used field symbols for something such as this.
    Here is my goal:  Loop through an internal table (im_document-item).  When I find what I need I want to make a change to this line (not so hard if I am looping into a field symbol) and also append a line to the end of the table im_document-item.
    I have the following so far:
      DATA: wa_item TYPE accit,
            wa_item_out type ACCIT_SUB.
    FIELD-SYMBOLS: <document> type acc_document,
                   <accit> TYPE ACCIT.
    LOOP AT im_document-item ASSIGNING <accit> where saknr = '0000211000'.
    * Modify the curent line
    wa_item = <accit>
    * Append a new line into table im_document-item.
    ENDLOOP.
    How can I use field-symbols to append a line to this table?  Please note that the table in question (im_document-item) is an importing only parameter.
    Regards,
    Davis

    that will allow me to append an initial line with <accit> pointing to the line. Therefore I just have to modify <accit> and the new line will then have my changes?
    Yep, that is exactly it.    So after the APPEND statement, simply fill the fields of the <accit>.
    append initial line to im_document-item ASSIGNING <accit>.
    <accit>-field1 = 'Blah'.
    <accit>-field2 = 'Blah'.
    Regards,
    Rich Heilman

  • Using field-symbols giving dump " the output area is too small.  "

    Hi All,
    Good Afternoon.
    I  am creating a report using field-symbols. The purpose is :
    "This development involves extracting all the fields and the entire data, of any SAP table, and download it as a ‘;’ seperator file."
    For this I wrote following code:
    *& Report  ZTOOL
    REPORT  ztool1.
    Tables***************************************
    DATA : i_tab TYPE TABLE OF dfies WITH HEADER LINE.
    Variables***************************************
    DATA dref TYPE REF TO data.
    FIELD-SYMBOLS <ft> TYPE ANY TABLE." with header line.
    FIELD-SYMBOLS <fs> TYPE ANY .
    DATA: w_heading(5000),
         w_line(5000).
    CONSTANTS  sep TYPE c VALUE ';'.
    Selection Screen*********************************
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS : p_tab LIKE dfies-tabname OBLIGATORY.
    PARAMETERS : p_file(100) TYPE c .
    PARAMETERS : p_lfile(100) TYPE c .
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      CALL FUNCTION 'GET_FIELDTAB'
       EXPORTING
         langu                     = sy-langu
      ONLY                      = ' '
         tabname                   = p_tab
      WITHTEXT                  = 'X'
    IMPORTING
      HEADER                    =
      RC                        =
        TABLES
          fieldtab                  = i_tab
    EXCEPTIONS
       internal_error            = 1
       no_texts_found            = 2
       table_has_no_fields       = 3
       table_not_activ           = 4
       OTHERS                    = 5
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
         SELECT * FROM (p_tab) INTO <fs> .       
         endselect.
         CREATE DATA dref TYPE STANDARD TABLE OF (p_tab).
           ENDSELECT.
          assign dref to <fs> casting.
         ASSIGN dref->* TO <ft>.
         SELECT & FROM (p_tab) INTO table <ft>.
         OPEN DATASET p_lfile FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    LOOP AT i_tab.
      IF sy-index = 1.
        w_heading = i_tab-fieldname.
      ELSE.
      CONCATENATE w_heading i_tab-fieldname INTO w_heading SEPARATED BY sep.
      ENDIF.
    ENDLOOP.
    TRANSFER w_heading TO p_lfile.
    LOOP AT <ft> into <ft>.
    clear w_line.
      LOOP AT i_tab.
             ASSIGN COMPONENT i_tab-fieldname OF STRUCTURE <ft> TO <fs>.
             IF sy-index = 1.
                  w_line = <fs> .
             ELSE.
                  CONCATENATE w_line <fs> into w_line SEPARATED BY sep.
             ENDIF.
      ENDLOOP.
      TRANSFER w_line TO p_file.
    ENDLOOP.
    The program is executed well till the statement :
    SELECT * FROM (p_tab) INTO <fs> .       
         endselect.
    But here it gives the following dump : 
    "Error analysis
        In an Open SQL select, the output area used t
        records must be at least as wide as the datab
        records are being read.
        In this particular case, the database table i
        but the output area is only 2 bytes wide."
    Can you please help me solve this problem.
    Thanks in advance.

    Hi Abhii,
    Both are having the same number of fields.
    The only problem is with the data and time (in my scenario). Here, actual length of date is 8 and maximum length is 10. and for time the actual length is 6 and maximum length is 8.
    So, my work area it is taking only the actual length but not the maximum length because of this it is going to dump.
    Can i have any thing which also considers the maximum length of any field at a domain level so that by work area bytes should match according to the db table byte length.
    Thanks
    rohith

  • What r the benefit of using field symbols

    hi all
    what is the benefit of using field symbols and when is  recommended to use it?
    regards

    It Just assign the values directly to fieldsymbol and no need to used append.
    It increases the performance of the program.
    also check this
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/frameset.htm
    Reward points if useful
    Regards,
    Vimal

  • How to access the Text Frame, when we use scrollable frame,

    Hi Friends,
    How to access the Text Frame, when we use scrollable frame,
    Thank you,
    [ Nav ]

    That's the same question:
    how can I access something (a page item) on a page…
    Answer: you need something unique in that object you can get a handle on.
    Or you use the selection a user of your script is doing and work with that selection…
    A "scrollable frame" is nothing special. What it makes it a "scrollable frame" is the DPS software.
    So you have to look for attached labels on the object, that identify the object for the PDS plug-in "Overlay Creator" as a "scrollable frame". That's possible with the "extractLabel("KeyString")" function. But you need to know the appropriate key-string in advance.
    In another of your thread in the DPS forum, I basically answered the question how to obtain those key-strings.
    When knowing the key-string you could loop through all your page items (you can skip all text frames) in the allPageItems-collection, to identify the "scrollable frame" by extracting the right label.
    If you have more than one "scollable frames" you need a second unique identifier for the particular object.
    That could be nearly any property.
    Keep in mind, there is no "scrollableFrames" collection in the DOM !
    Uwe

  • How can i write the bellow code using field symbols

    data : it_mara type table of mara.
    select * from mara
                into it_mara.
    delete it_mara where matnr = '100-100'
                             and meins = 'KG'.
    if i do the same by using field symbols
    i am getting data into <it_mara>
    but
    delete <it_mara>  where matnr = '100-100'
                               and    meins = 'KG'.
    is showing syntax error
    how to correct the error ?

    I think, DELETE does not allows to dynamically define the logical expression for the WHERE clausule.
    Have you tried by filtering data in SELECT statement??
    Something like:
    if dataBase = 'MARA'.
    append 'MATNR <> '100-100'' to Itab_Where[].
    append 'AND MEINS <> 'KG'' to Itab_Where[].
    endIf.
    select * from (dataBase) where (Itab_Where) into table <my_table>.
    this is possible, but I don't know if this fits your requirements.

  • How to access the attributes from a method

    Hi,
    Thanks to all who replied to my previous thread. Please let me know how to access the attributes in method of component controller in the view.
    Let Component_method be my method in component controller which contrains few attributes like this
    method component_method.
    data : node1 type ref to if_wd_context_node,
            itab type standard type of mara.
    endmethod.
    I want to access the above attributes in method of view.
    method view1.
    wd_comp_controller->method_component( ).
    ????? how to access the data of the method_component?
    endmethod.
    Kindly help me out in the syntax.
    Rgrds
    Mahathi

    Hi mahathi
    You should define the parameters in the header, not in the body of the method:
    You can define it as importing, exporting, changing or returning, as you need. For example, in SE80
    Parameter             Cl.declar.          RefTo        Opt        Type ref
    node1                    importing            X                          if_wd_context_node
    itab                       exporting                                        mara
    method_component().
    " code here...
    endmethod.
    and when you have to call the method,
    wd_comp_controller->method_component(
                    EXPORTING     node1 = nodelocal   " not importing!!!
                    IMPORTING      itab   = itablocal      " not exporting!!!
    i think that it's this what you want, don't i?

Maybe you are looking for