Dynamic cache instantiation parameters

I need to offer "customers" of my cloud/cache services the ability to specify some of the properties they want in caches they create.
I am operating with the restriction that we cannot restart cluster members just for the purpose of rereading the cache-config.xml
files. I am using Coherence Grid 3.5.2 and java.
By way of example, let me refer to the coherence examples provided at
[http://wiki.tangosol.com/display/COH35UG/Examples|http://wiki.tangosol.com/display/COH35UG/Examples]
In 'examples-cache-config.xml' from that set of examples is the following scheme:
<distributed-scheme>
<scheme-name>ExamplesPartitionedPofScheme</scheme-name>
<service-name>PartitionedPofCache</service-name>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
<init-params>
<init-param>
<param-type>String</param-type>
<param-value>examples-pof-config.xml</param-value>
</init-param>
</init-params>
</serializer>
<backing-map-scheme>
<local-scheme>
<high-units>250M</high-units>
<unit-calculator>binary</unit-calculator>
</local-scheme>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
What I want to do is create, at runtime, a relatively arbitrary set of caches
that will have differing values for <high-units> and related parameters.
Presumably I need to code my own calls to the LocalCache() constructor.
That would also let me dynamically select eviction policies and unit calculators
(via the LocalCache's implementation of ConfigurableCacheMap's setEvictionPolicy() and setUnitCalculator() methods).
Can someone show me how to do this with the Coherence examples?
Ultimately I need to be able to specify, for all maps on all distributed caches I support for my "customers",
the low and high water marks, eviction policies, and perhaps some other properties, and ensure that all cluster members
participate in identical handling of the resulting named cache to the extent that they're servicing keys for that cache.
I tried taking my own application <distributed-scheme> definitions and constructing various
frontMap, backMap, NearCache, NamedCache, and related goodies to assemble the cache on the fly,
and I'm in /way/ over my head. I haven't found any online documentation on how to assemble
things like ObserveableSplittingBackingMap objects into a hierarchy of Coherence objects.
The logical hierarchy of Cluster->Member->Service->NamedCache elements doesn't seem to map
well to code for assembling each of those pieces.
Also note: the Coherence 3.5.2 docs state that <lh-file-manager> maps to com.tangosol.io.lh.LHBinaryStoreManager class,
but there is no such class documented in the javadocs (though I see that class in the coherence.jar file).
Thanks.

So all I can really tweak are the high-units, low-units, and any other RW-flagged attributes of the CacheMBean types.Yes, this is correct in general.
When I call these MBean interfaces, it has to be after the cache is created, and will affect the named cache wherever it lives
on the cluster w.r.t. partition presence, LocalCache frontmaps, etc?These high/low unit modifications must be performed on each individual MBean representing the backing map in each storage node. The same goes for any nodes that are using near caches.
No way to make cache eviction policy dynamic except to perhaps implement my own custom eviction class and have that
observe some attribute I bind somewhere that's specific to a cache instance?I believe you can change the eviction policy at runtime (LRU vs LFU, etc) - if you need more control over what gets evicted then you should consider a custom eviction policy.
I'm not very familiar with JMX. To do the high-unit low-unit tweaking must I now enable JMX where I didn't before?
I noticed that for my testing I needed to specify -Dcom.sun.management.jmxremote and one or both of -Dtangosol.coherence.management=all -Dtangosol.coherence.management.remote=true.
Is there a way to set high/low unit values if I'm not enabling JMX? Do I suffer any performance penalties if I enable JMX?Most of our customers in production run with JMX as it allows for statistics gathering and diagnostics of the cluster at runtime. There is no overhead in gathering the stats as this happens in the background anyway, and there is little overhead in enabling the gathering of these statistics and viewing via an MBeanServer.
JMX is the simplest way (and the supported method) of modifying high units. If you have to do it using code, you can execute the following in the storage node to grab the backing map and modify high units. Note that this technique may not work with future versions of Coherence:
String sCacheService = "DistributedCache";
String sCacheName    = "test-cache";
// ensures that the cache service is running
CacheFactory.getCache(sCacheName);
// grab the backing map
CacheService service  = (CacheService) CacheFactory.getCluster().getService(sCacheService);
LocalCache backingMap = (LocalCache)((DefaultConfigurableCacheFactory.Manager)
        service.getBackingMapManager()).getBackingMap(sCacheName);
// modify high units
backingMap.setHighUnits(1000);Thanks,
Patrick

Similar Messages

  • Dynamic XSLT processing - parameters?

    Goal: I want my XSLT mapping to be dynamic, because I expect a certain number of fields with values in my XML, but these field names may change over time, so I have to make it dynamic.
    Step 1: I made my output dynamic by using dynamic internal tables (field-symbols). So that I can change my internal tables easily with a custom-table. Done!
    Step 2: My XSLT transformation should be handled dynamically. Not done!
    Is this step 2 even possible?
    I was thinking of passing PARAMETERS to my CALL TRANSFORMATION statement so that I can let know what fieldnames my XSLT can expect, but then the question remains if the ZTEST transformation can read this out for my purpose.
    CALL TRANSFORMATION ztest
    PARAMETERS (gt_param)
    SOURCE XML gt_itab
    RESULT (gt_result_xml).
    ...knowing that gt_param can only by of type
    ABAP_TRANS_PARMBIND_TAB (for specifying strings) or
    ABAP_TRANS_OBJBIND_TAB (for specifying object references) or
    ABAP_TRANS_PARM_OBJ_BIND_TAB (for specifying data references).
    Thus, is it possible to make my TRANSFORMATION handling dynamic (by using PARAMETERS or something else)? If yes, does anybody know how. Examples are appreciated.
    Mehmet Metin

    This can be done with basic XSLT. Use the XPath expression '*' to apply a template to each child of a given node (for example, if a node represents an ABAP structure, its children represent its components). In the template, use the XPath-function 'local-name()' to retrieve the name of the current element without namespace. Now you should have everything you need for creating the result tree.
    For a working example in our XI system, see the following template:
    <xsl:template match="ZMEDI_MELDUNG_DET">
      <xsl:element name="{SEGID_N}">
        <xsl:element name='SEGID_N'>
          <xsl:value-of select="*[position()=1]"/>
        </xsl:element>
        <xsl:for-each select="*[position()>1 and text() != '']">
          <xsl:element name="{local-name()}">
            <xsl:value-of select="."/>
          </xsl:element>
        </xsl:for-each>
      </xsl:element>
    </xsl:template>
    Here, I copy the components of the ABAP source structure ZMEDI_MELDUNG_DET (the structure name was fixed in my case, but it's easy to identify it without specifying its name, if it should be given at runtime only) into a result tree fragment with parent node name = the content of the ABAP component SEGID_N, the first child having the fixed name SEGID_N with (redundant) its value again, and after that all the components of the source structure, whatever they may be, if their content is non-empty (this was a format required by another non-SAP-development team).
    Regards,
    Rüdiger

  • Generate report dynamically based on parameters

    I have a Report with 30-35 items and these items are divided into sets of
    RMA, WIP,Inventory, finance ....
    now i need to display the report dynamically based on parameters
    say, for example if RMA, WIP, Inventory, finance are YES,NO,YES, NO
    then the report should display only RMA , Inventory....
    any ideas/suggestions would appreciated......
    Thanks,
    -VK

    Thanks for the Reply Sabine, let me put my question this way,
    i have to display the report based on the selection criteria(parameters)
    i have a generalized view which will display all the items....but the client needs them in a fashion where he chooses them as a groups since, the list is so big and he wouldn't be needing them all at once.
    here is what i'm thinking for the moment since, discoverer cannot hide the columns based on runtime parameters ....correct me if i'm wrong (as per my knowledge...it cannot ) i have decided going with 16 worksheets 4 groups of items say,(RMA, WIP, INV, FINANCE..)
    and now based on the flags what the end user chosses i may have to display the appropriate worksheet ....is this solution possible...if so do i have to subqueries...??..or is there any better ideas/suggestion....
    Regards,
    VK

  • Windows Server 2008 R2 SP1 Dynamic Cache tool

    I have a memory leak on my Windows Server 2008 R2 SP1(x64) server. I used RamMap to find where the memory was going and I found that it is going to a Mapped File.
    I read an article, kb976618, about Dynamic Cache but it says that in order to get the tool for Server 2008 R2 SP1, you have to contact Microsoft Support and in order to do that, you have to give them a credit card or have a service contract.
    I tried the link in the article anyway and got a download email from Microsoft that looked like it was for my operating system. I installed it per the instructions but it still says that it cannot start the service because it is for a previous version.
    Can anyone help with this? I did notice that the download included a few different folders that all have the DynCach.exe file. Maybe I'm using the wrong one?

    Hi,
    Please click
    here to contact me for the dyncache file for 2008 r2. I will send you the file directly.
    Regards,
    Arthur Li
    TechNet Community Support

  • Reusable dynamic cache Lookup

    Hi, I have a problem in which i need to hit the lookup twice using a dynamic lookup as there can be redundant data (multiple changes).The problem is that i need to check two columns of the source table with a single column of the lookup to decide whether it is an old entry or a new one. For ex.  SourceTable a                                       Lookup/Tgt Table (Desired Output)           Clo1 Col2 Col3                             Col1     GrpID
    1       AB                                        AB          12       PQ     AB                              PQ          13       LM                                        LM          24       TU     PQ                              TU          1 The desired output here will be AB/PQ/TU being assigned to the same group (Using sequence ID in dynamic cache) where as LM will have a different group.  The problem here is that Col2 and Col3 needs to be compared with the lookup table to generate the lookup table. But since i have used dynamic cache and sequencId for Group Id, when it runs for the above example, dynamic lookup with Col2 comparison and Col3 comparison (Have used a reuable transformation) tend to have separate sequence ID thus I am having duplicate Col1 with different group ID which should not be the case. Kindly advice for the same

    Hi,
    Thanks for your post.
    The Microsoft Windows Dynamic Cache Service is a sample service that demonstrates one strategy to use these APIs to minimize the effects of this issue.
    https://support.microsoft.com/kb/976618?wa=wsignin1.0
    We did not recommand installing any other services if  Hyper-v role installed in windows server 2012,
    Regards.
    Vivian Wang

  • Dynamic Cache Service for Windows Server 2008 R2

    We have problem with Metafile memory overflow on our server that described on a lot of topics.
    I need DynCache for win2008r2 server.
    Could you please help us with this issue?

    By design.  The memory management algorithms in Windows 7 and Windows Server 2008 R2 operating systems were updated to address many file caching problems
    found in previous versions of Windows.You do not need to install this additional service.
    http://blogs.msdn.com/b/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx
    http://blogs.msdn.com/b/ntdebugging/archive/2007/11/27/too-much-cache.aspx
    http://www.arabitpro.com

  • Dynamic Class Instantiation with getDefinitionByName

    Ok so I am trying to follow the following example in
    instantiating a class dynamically:
    http://nondocs.blogspot.com/2007/04/flexhowtoinstantiate-class-from-class.html
    My AS3 code looks like this:
    var myClassName:String = event.templateName;
    //Alert.show(getDefinitionByName(myClassName).toString());
    try {
    var ClassReference:Class = getDefinitionByName(myClassName)
    as Class;
    var myInstanceObject:* = new ClassReference();
    } catch( e:Error ) {
    Alert.show("Could not instantiate the class " + myClassName
    + ". Please ensure that the class name is a valid name and that the
    Actionscript 3 class or MXML file exists within the project
    parameters.");
    return;
    However I get an error: ReferenceError: Error #1065: Variable
    OrderEdit is not defined.
    The problem is that my class is located in an altogether
    different project directory from the the calling main project (I
    include this project with these classes I am trying to dynamically
    instantiate in the project source path).
    Every example I have seen so far involves some sort of hard
    coding. I am builidng a plugin/component that I intend to use in
    various places in my site and have any general hard code is
    UNACCEPTABLE. How can I make this process COMPLETELY HARD CODE
    FREE??
    Thanks a ton!

    I am also facing the same problem, I have imported swc (flash
    created) to flex library path (Flex project >> properties
    >> Flex build path >> Library path >> add swc)
    These swc files are icons for my applications with some
    scripts (written in flash, I am using UIMovieClip). So I want to
    make it dynamic.
    I write a xml with these component name and want to create a
    object and then add that object to my canvas according to xml data.
    if I code like this:
    var myIcon:IconA = new IconA()
    canvas.addChild(myIcon); //canvas is instance of Canvas
    then its working, but if I code like
    var myDynClass:Class = getDefinitionByName("IconA") as Class
    var myIcon:* = new myDynClass()
    canvas.addChild(myIcon); //canvas is instance of Canvas
    Then its showing me same error
    Error
    Error #1065: Variable IconA is not defined.
    So, I have seen your reply but didn't get it, how can I fix
    this problem using modules. or any other way...
    Thanks,

  • Cached jnlp parameters

    I have a dynamically generated jnlp file using a jsp that passes parameters set in the servlet context. Unfortunately, once the application is run, the parameters can never be updated and the application continues to use the old cached version. The jsp produces the correct file, but Web Start doesn't use it. Anyone have any ideas? Thanks.
    <%@ page
    contentType = "application/x-java-jnlp-file"
    %>
    <%
    response.setHeader("Expires", "0"); //Doesn't work
    String url = request.getRequestURL().toString();
    int index = url.lastIndexOf("/");
    if (index>0){
    url = url.substring(0,index);
    String helpURL = application.getInitParameter("HelpURL");
    if (helpURL == null){
    helpURL = "http://localhost";
    %>
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="<%=url%>" href="test.jsp">
    <information>
    <title>Test</title>
    <vendor>Test</vendor>
    <homepage href="index.html" />
    <description>Test Parameter App</description>
    <icon href="images/app.gif"/>
    <icon kind="splash" href="images/logo.gif"/>
    </information>
    <security>
    <all-permissions/>
    </security>
    <resources>
    <j2se version="1.4+"/>
    <jar href="test.jar" />
    </resources>
    <application-desc main-class="com.test.Test">
    <argument><%=helpURL%></argument>
    </application-desc>
    </jnlp>

    I am having the same jnlp cache problems and would appreciate if someone can post a solution to this.
    I use jsp to generate a value for a variable and I pass this variable to the application via the "property name".
    tag. Problem is, JavaWebStart will always use the cached jnlp even when the variable's value changes.
    Thanks for any help you can provide.
    [email protected]

  • Dynamic Regions and parameters - issue

    Jdev 11.1.1.6
    I have a main page that contains a dynamic region. I want to pass parameters to the region.
    Note that I have successfully created parameters for a NORMAL region inside a "parent" form. With a normal "child" region in a "parent",
    1. Open the "child" taskflow, click on the whitepace, go to overview, then paraemeters and define a parameter name and value, ex: InputParam and #{pageFlowScope.InputParam}.
    2. Open the "parent" form, click on the region, go to bindings, and edit the region. You see the parameter you specified, InputParam and you can enter a value. This value will come from the parent.
    3. Set refresh to if needed.
    However,
    With a dynamic region containing more than one "child" taskflow, I am getting an error. I do everything the same above.
    However, when I have the taskflow selected on the bindings tab of the parent form, and click on the structure window, parameter node, The ID text field is surrounded by orange, and a message displays that the reference to "InputParam" is not found.
    How are the name or id values specified for a dynamic region? How does one map a parameter from the parent to the "child"? Do you need to put this into a bean?
    Thanks,
    Stuart

    1) Parent A tasflow contains Child B taskflow.
    2) Child B expects a parameter called 'inputParameterChild'
    3) This will be defined inside the child B taskflow with 'java.lang.String' and value as '#{pageFlowScope.inputParam}'
    4) When you click the child B taskflow in parent A taskflow you will see the parameter expected by child B as 'inputParameterChild'
    5) Now you can pass the value as '#{pageFlowScope.inputParam}' , here you should have the inputParam set in the bean or in the parent taskflow as explained in step 2 and 3
    are you still facing the issue?

  • Dynamic selection-screen parameters

    Hi All,
    Is it possible to create a dynamic selection-screen checkbox parameters at runtime. My requirement is :
    I have Object parameter on the selection-screen, based on this it has to fetch the info structures and display it with checkboxes on the same selection-screen, so that the user can select which info structures to be processed and can save it as a variant.
    Thanks,
    Satya Priya

    as per ur requirment....execute it and see
    tables :DD02L,t002t,t002.
    data :  begin of itab occurs 0,
                tabname like DD02L-TABNAME,
            end of itab.
            data : tabname1 like DFIES-TABNAME,
            RSSELTEXTS1 type table of RSSELTEXTS with header line.
    data : begin of RSSELTEXTS2 occurs 0,
             RSSEL type  RSSELTEXTS,
             initial type c,
           end of RSSELTEXTS2.
    data : begin of imakt occurs 0 .
           include structure t002.
    data : end of imakt.
    data : begin of ipara occurs 0,
             name(132) type c,
             text(132) type c,
            end of ipara.
    data :srch_str(10) TYPE c,
         tot type i,
         ind type sy-tabix.
    select-options : s_lang for t002-spras.
    *PARAMETERS show_all AS CHECKBOX USER-COMMAND flag.
    PARAMETERS showall1 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall2 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall3 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall4 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall5 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall6 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall7 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall8 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showall9 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal10 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal11 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal12 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal13 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal14 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal15 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal16 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal17 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal18 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal19 AS CHECKBOX USER-COMMAND flag modif id sd.
    PARAMETERS showal20 AS CHECKBOX USER-COMMAND flag modif id sd.
    initialization.
    at selection-screen output.
    if s_lang ne ' '.
    select * from t002 into table imakt where spras in s_lang.
    describe table imakt lines tot.
    loop at screen  .
        if screen-group1 = 'SD'
           and screen-group3 = 'PAR'.
               ipara-name = screen-name.
               ind = screen-group4.
            read table imakt index ind.
               ipara-text = imakt-laiso.
               append ipara.
               clear ipara.
        endif.
      endloop.
    endif.
    loop at ipara.
    RSSELTEXTS1-name = ipara-name.
    RSSELTEXTS1-kind = 'P'.
    RSSELTEXTS1-text = ipara-text.
    append RSSELTEXTS1.
    clear RSSELTEXTS1.
    endloop.
    CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
      EXPORTING
        PROGRAM                           = sy-repid
      TABLES
        SELTEXTS                          = RSSELTEXTS1
    EXCEPTIONS
      PROGRAM_NOT_FOUND                 = 1
      PROGRAM_CANNOT_BE_GENERATED       = 2
      OTHERS                            = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    if s_lang ne ' '.
    loop at screen  .
        if screen-group1 = 'SD'
           and screen-group3 = 'PAR'
           and    screen-group4 > tot.
           screen-input = '0'.
           screen-active = '0'.
         modify screen.
        endif.
      endloop.
    endif.
    if s_lang = ' '.
      loop at screen .
        if screen-group1 = 'SD'.
           screen-input = '0'.
           screen-active = '0'.
         modify screen.
        endif.
      endloop.
    endif.

  • Trying to use form or dynamic link with parameters in a portlet

    I have created a dynamic page and published it as a portlet. The dynamic page is my own customization page for a chart.
    Ont he same page as the portlet I have the chart I want to customize. I have tried defining the form action as the page itself with the extra custom parameters in the url and I have tried just building up a url and callong that url (if we have a link on the chart names that is what happens and it works). However, it doesn't work.
    It should read (and does when I use a javascript alert): http://ogg:7777/servlet/page?_pageid=134,148&_dad=portal30&_schema=PORTAL30&_mode=3&city=Berlin
    but instead using a form it reads:
    http://ogg:7777/servlet/page?city=Berlin
    and using the link building method it reads:
    http://ogg:7777/servlet/
    What is happening to the link in either case? Why is it being altered? I've left the form action blank and also tried hard coding the URL but still get the same response.
    null

    We are doing something similar with our own customization form and the report it affects on the same page. We will also be doing the same thing with charts in the future. It took a great deal of trial and error, but we finally have a technique that works (even if it isn't ideal).
    1. The following is entered in your form in the "On successful submission of a form, execute this PL/SQL block or PL/SQL procedure" (this will retrieve your parameter value from your form and then call the page your form and report (or chart) are on):
    declare
    hv_myvariable varchar2(2000);
    l_store portal30.wwsto_api_session;
    begin
    -- Note that you have to add the 'A_' in front of your form field name!
    hv_myvariable:=p_session.get_value_as_varchar2(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_MYVARIABLE'
    -- call the url of the page
    go ('http://host:node/servlet/page?_pageid=65&_dad=portal30&_schema=PORTAL30&_mode=3&myvariable='&#0124; &#0124;hv_myvariable);
    end;
    2. The following is entered in the report's "Additional pl/sql code- Before displaying page" to retrieve the parameters from the url:
    portal30.wwv_name_value.replace_value(
    l_arg_names, l_arg_values, p_reference_path&#0124; &#0124;'.myvariable',
    portal30.wwv_standard_util.string_to_table2(get_value('myvariable')));
    3. At this point, the process should work, but it will clear out your form fields when you refresh your page. To prevent this, enter the following for the default value of your form field:
    portal30.wwpro_api_parameters.get_value('myvariable','FORM_MY_FORM')
    Let me know if this works for you or if you have found other ways to accomplish some of these things. If anyone else can show us a better way to do this or any other useful techniques, we would greatly appreciate the help!
    null

  • Dynamic where clause parameters

    My query is like this.
    create view view1 as
    select a from (select a from table where col1=value);
    Is it possible to pass dynamic parameters to "value" which is in from clause select.
    Thanks in Advance

    You can do something like this.
    SQL>  CREATE OR REPLACE VIEW my_emp_view AS
      2    SELECT e.ename,e.deptno,d.dname
      3    FROM emp e,dept d
      4    WHERE e.deptno=d.deptno
      5    AND TO_DATE(USERENV('CLIENT_INFO'),'DD-MM-RRRR')=
      6        TO_DATE(to_char(e.hiredate,'DD-MM-RRRR'),'DD-MM-RRRR');
    View created.
    SQL> SELECT * FROM my_emp_view;
    no rows selected
    SQL> BEGIN
      2   DBMS_APPLICATION_INFO.set_client_info('01-05-1981');
      3  END;
      4  /
    PL/SQL procedure successfully completed.
    SQL> SELECT * FROM my_emp_view;
    ENAME          DEPTNO DNAME
    BLAKE              30 SALES
    SQL> Do not forget to read Billy's comment about the usages!
    Re: Parameterized views

  • Getting column headers dynamically from input parameters in alv.

    Hi all,
    I am new to abap, can any one help me in getting column header dynamically through parameters in alv ?
    Eg:-
    i Have parametars for days field ,
    user inputs days as 10 20 30 40.
    Now I want to display in alv column headers as:-
    1st column-  'FROM 0 TO 10'
    2nd column- 'FROM 10 TO 20 '
    3rd column- 'FROM 20 TO 30'
    4th column- 'FROM 30 TO 40'
    5th column- 'FROM 40 TO 50'
    6th column- 'FROM 50 TO 60'
    thanks in advance........

    Check this code snippet:
    Step 1: Create a dynamic table based on the input in the selection screen.
    TYPE-POOLS: abap.
    DATA:
      lr_structdescr    TYPE REF TO cl_abap_structdescr,
      lr_tabledescr     TYPE REF TO cl_abap_tabledescr,
      lr_datadescr      TYPE REF TO cl_abap_datadescr,
      lt_components     TYPE abap_component_tab,
      ls_component      TYPE abap_componentdescr,
      lr_wa             TYPE REF TO data,
      lr_tab            TYPE REF TO data.
    DATA: lv_index TYPE sy-index.
    DATA: lv_index_num(5) TYPE n.
    DATA: lv_index_char(5) TYPE c,
          lv_iter TYPE i,
          lv_low TYPE numc2 VALUE 0,
          lv_high TYPE numc2 VALUE 10.
    DATA: lr_alv TYPE REF TO cl_salv_table.
    FIELD-SYMBOLS: <fs_field> TYPE ANY.
    FIELD-SYMBOLS: <fs_wa> TYPE ANY.
    FIELD-SYMBOLS: <fs_tab> TYPE table.
    PARAMETERS p_numcol(2) TYPE n DEFAULT 50.
    START-OF-SELECTION.
      lv_iter = p_numcol DIV 10.
      DO lv_iter TIMES.
        IF sy-index > 1.
          lv_low = lv_low + 10.
          lv_high = lv_high + 10.
        ENDIF.
        lv_index_num = sy-index.
        lv_index_char = lv_index_num.
        CONCATENATE 'FROM' lv_low 'TO' lv_high INTO ls_component-name
        SEPARATED BY '_'.
        ls_component-type =
        cl_abap_elemdescr=>get_p( p_length = 10 p_decimals = 2 ).
        INSERT ls_component INTO TABLE lt_components.
      ENDDO.
    * get structure descriptor -> lr_STRUCTDESCR
      lr_structdescr
      = cl_abap_structdescr=>create( p_components = lt_components
                                     p_strict = space ).
    * create work area of structure lr_STRUCTDESCR -> lr_WA
      CREATE DATA lr_wa TYPE HANDLE lr_structdescr.
      ASSIGN lr_wa->* TO <fs_wa>.
      lr_datadescr = lr_structdescr.
      lr_tabledescr
      = cl_abap_tabledescr=>create( lr_datadescr ).
    * Create dynamic internal table
      CREATE DATA lr_tab TYPE HANDLE lr_tabledescr.
      ASSIGN lr_tab->* TO <fs_tab>.
    * Populate the internal table
      DO 10 TIMES.
        DO.
          lv_index = sy-index.
          ASSIGN COMPONENT  lv_index  OF STRUCTURE <fs_wa> TO <fs_field>.
          IF sy-subrc <> 0.
            EXIT.
          ENDIF.
          <fs_field> = sy-index.
        ENDDO.
        APPEND <fs_wa> TO <fs_tab>.
      ENDDO.

  • Dynamic Group Prompting Parameters

    Using CRXI
    I would like to create a report where I can dynamically set groups based on parameters. 
    For example, users would be prompted to select from three different group levels: by date, by location, by charge group.  So, they can select group by date, location, charge group...or location, date, charge group....or charge group, location, date....etc.
    I've searched the forums, but I have not come across a detailed, conclusive answer.
    Thanks in advance!

    Here are some articles that will help:
    http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2000262&sliceId=&dialogID=24278441&stateId=1 0 24282103
    http://technicalsupport.businessobjects.com/KanisaSupportSite/search.do?cmd=displayKC&docType=kc&externalId=c2019408&sliceId=&dialogID=24278441&stateId=1 0 24282103

  • Creating dynamic caches from static config

    Hi, we normally create our caches using static config, using the std xml config.
    Example, in our cache-mapping, we'll have a cache like the below:
    <cache-name>account</cache-name>
                <scheme-name>distributed-persistent-write-thru</scheme-name>
                <init-params>
                    <init-param>
                        <param-name>cache-store-class-name</param-name>
                        <param-value>spring-bean:accountCacheStore</param-value>
                    </init-param>
                    <init-param>
                        <param-name>expiry-time</param-name>
                        <param-value>7d</param-value>
                    </init-param>
                    <init-param>
                        <param-name>high-units-param</param-name>
                        <param-value>6075000</param-value>
                    </init-param>
                    <init-param>
                        <param-name>low-units-param</param-name>
                        <param-value>4556251</param-value>
                    </init-param>
                </init-params>And in our schemes, we'll have something like:
       <distributed-scheme>
                <scheme-name>distributed-persistent-write-thru</scheme-name>
                <service-name>DistributedWriteThrough</service-name>
                <backing-map-scheme>
                    <read-write-backing-map-scheme>
                        <class-name>com.mycom.coherence.ExceptionLoggingBackingMap</class-name>
                        <internal-cache-scheme>
                            <local-scheme>
                                <scheme-ref>local-hybrid-eviction</scheme-ref>
                                <expiry-delay>{expiry-time}</expiry-delay>
                                <high-units>{high-units-param}</high-units>
                                <low-units>{low-units-param}</low-units>
                            </local-scheme>
                        </internal-cache-scheme>
                        <cachestore-scheme>
                            <class-scheme>
                                <class-name>{cache-store-class-name}</class-name>
                            </class-scheme>
                        </cachestore-scheme>
                        <write-delay>0</write-delay>
                    </read-write-backing-map-scheme>
                </backing-map-scheme>
                <autostart>true</autostart>
                <backup-count-after-writebehind>0</backup-count-after-writebehind>
            </distributed-scheme>However, now we need to be more dynamic. What i'd like to do is create N caches, that all look like the "account" cache above; so it's like i want to use the config as a template. I don't know how many of these caches i'll need, so i can't configure them statically. The number of caches will be given to the server at startup.
    Something like:
    List cacheList = new ArrayList<NamedCache>();
    NamedCache templateCache = CacheFactory.getCache("account");
    cacheList.add( templateCache );
    for( int i=0; i<count; i++) {
       cacheList.add( CacheFactory.createFromCache( templateCache, "account"+i ) );
    }So what's "best practice" for doing something like this?
    Thx.
    Edited by: user9222505 on Jul 9, 2012 4:52 PM

    Ahh.. I see. There are a few ways to do this.
    Presumably then you can create the cache store from Spring for a given cache name. So create a factory class with a static method that takes a String parameter, which will be the cache name, and returns a Cache Store. For example...
    package com.jk;
    public class CacheStoreFactory {
        public static CacheStore createCacheStore(String cacheName) {
            // in here goes your code to get the cache store instance from Spring
    }Now change your cache configuration to use the Factory for your cache store like this
    <cache-mapping>
        <cache-name>account*</cache-name>
        <scheme-name>distributed-persistent-write-thru</scheme-name>
        <init-params>
            <init-param>
                <param-name>expiry-time</param-name>
                <param-value>7d</param-value>
            </init-param>
            <init-param>
                <param-name>high-units-param</param-name>
                <param-value>6075000</param-value>
            </init-param>
            <init-param>
                <param-name>low-units-param</param-name>
                <param-value>4556251</param-value>
            </init-param>
        </init-params>
    </cache-mapping>
    <caching-schemes>
        <distributed-scheme>
            <scheme-name>distributed-persistent-write-thru</scheme-name>
            <service-name>DistributedWriteThrough</service-name>
            <backing-map-scheme>
                <read-write-backing-map-scheme>
                    <class-name>com.mycom.coherence.ExceptionLoggingBackingMap</class-name>
                    <internal-cache-scheme>
                        <local-scheme>
                            <scheme-ref>local-hybrid-eviction</scheme-ref>
                            <expiry-delay>{expiry-time}</expiry-delay>
                            <high-units>{high-units-param}</high-units>
                            <low-units>{low-units-param}</low-units>
                        </local-scheme>
                    </internal-cache-scheme>
                    <cachestore-scheme>
                        <class-scheme>
                            <class-factory-name>com.jk.CacheStoreFactory</class-factory-name>
                            <method-name>createCacheStore</method-name>
                            <init-params>
                                <init-param>
                                    <param-type>String</param-type>
                                    <param-value>{cache-name}</param-value>
                                </init-param>
                            </init-params>
                        </class-scheme>
                    </cachestore-scheme>
                    <write-delay>0</write-delay>
                </read-write-backing-map-scheme>
            </backing-map-scheme>
            <autostart>true</autostart>
            <backup-count-after-writebehind>0</backup-count-after-writebehind>
        </distributed-scheme>
    </caching-schemes>When Coherence comes to create a cache it will pass the name to the factory method to create the cache store.
    JK

Maybe you are looking for

  • Delivery from the project stock

    Dear experts, Kindly suggent me for the below scenario... My client wants to procure the goods from the project stock. The goods must be issued from the Project stock. I am creating sales order and assigning the WBS element in the account assignment

  • How to find columns that do not match

    I am working on search requirement. Requirement is to search for a person. Search criteria is first name, last name and birth date. In case, when no results (i.e. result count is zero) are found, error should indicate which field or fields didnt matc

  • API for Sourcing Application?

    Is there an API for the sourcing application? Kurz

  • Why does the iPhoto upgrade tool go into an endless loop

    Iphot on the imac requests the installation of an upgrade tool to use Iphoto on this Imac. downloaded the tool did the install and I keep getting sent to the web site to download the tool again. on the site it asks was this helpful, well Nah ah !! it

  • BPEL Human Task Claim functionality Understanding

    Hi all, On a task with multiple assignees, it appears that each assignee has to claim the task before completing it. Some queries that I had on claim functionality - 1. Is there a way by which we can avoid the process of 'claiming' the task before co