Creating Forte FieldWidgets Dynamically at Runtime

Hi Everyone,
Could someone please help me with the following problem I have when
creating Forte fieldwidgets dynamically at run-time. I am using Forte
ver. 3.0.G.2.
(-1-) I have a window class with an empty gridfield, <grfMain>, inside a
viewport. The idea is to populate the gridfield with DataField
fieldwidgets dynamically at runtime. Depending on some input criteria,
sometimes some of the DataFields need to map to IntegerNullables, some
to DoubleNullables and some to DateTimeNullables. (Please note that I
cannot use the Forte window workshop to create these fieldwidgets,
because different types of fieldwidgets will be needed at different
times, in different numbers, at run-time. ) Here is a sample of how I am
currently trying to achieve this:
dfDate : DataField = new;
dfDate.MaskType = MK_Template;
dfDate.DateTemplate = new( value='dd/mm/yyyy' );
dfDate.Row = 1;
dfDate.Column = 2;
dfDate.Parent = <grfMain>;
dfInt : DataField = new;
dfInt.MaskType = MK_INTEGER;
dfInt.Row = 2;
dfInt.Column = 2;
dfInt.Parent = <grfMain>;
dfReal : DataField = new;
dfReal.MaskType = MK_FLOAT;
dfReal.Row = 3;
dfReal.Column = 2;
dfReal.Parent = <grfMain>;
The code above is called after the window has been opened with the
Open() statement.
Looking at the code above, one obvious omission is that the "Mapped
Type" of the Datafields are not set up. In the Forte window workshop, an
interface is provided to set up the "Mapped Type" of the Datafield
widgets, but I'm not sure how to do that dynamically, and that is
basically my biggest problem here.
(-2-) If I now run the window class, the Datafield widgets get created,
and they all have the correct input maks, but no validation gets done
when one tabs away from the field. For example, Datafields with
MaskType=MK_INTEGER will gladly accept '--1--0++7', while Datafields
created in the window workshop (mapping to IntegerNullables) will do a
validation, and not allow one to tab out of the field before the extra
minus and plus signs are not removed.
I have the same problem with the Datafields which have
MaskType=MK_Template and DateTemplate='dd/mm/yyyy'. For the date, one
can enter something like '2*\**\****', and leave the field, while the
same type of datafield created in the window workshop (mapped to a
DateTimeNullable), will not allow you to leave the field before a valid
date has not been entered. To summarise, the input masks of my
dynamically created Datafields work fine, but no validation gets done
when the field looses the focus.
(-3-) As a test, I used the Forte debugger ("view"-"local variables") to
look at the differences between Datafields created dynamically, and
those created in the Forte window workshop. One very obvious difference
was that Datafield attribute "MapTypeName" was filled in for the window
workshop Datafields, but not for my dynamically created Datafields. The
problem is that Forte does not allow me to set this attribute
dynamically in my code. How else can I setup the Mapped Type
dynamically?
(-4-) In order to have a consistent look-and-feel throughout our Forte
project, we are making use of Domain classes for DATE and DECIMAL data
entry fields. My questions are:
(4.1) How must I go about creating Datafields dynamically that make use
of these Domain classes?
(4.2) Is it also a matter of setting up the "MapTypeName" attribute,
which I cannot seem to do?
(4.3) Is the mapping done differently for Domain classes?
(-5-) Another interesting thing to note for Datafields created in the
Forte Window Workshop, is that if the mapped type is IntegerNullable
with Input Mask = Integer, or DoubleNullable with Input Mask = Float,
then the Object that the Datafield widget maps to, must first be
instantiated before the Loose-Focus validations will start to work. For
example, if a Datafield widget called "dfTestInt" was created in the
Forte window workshop, which maps to an IntegerNullable, and Input Mask
= Integer, then the following line is needed before the window is
displayed: dfTestInt = new;
Without this line, one can enter something like '2---3+++7', and leave
the field.
This is not true for Datafields where the mapped type is
DateTimeNullable with say Input Mask Template='dd\mm\yyyy'. In this case
validations are done even thought the object being mapped to, has not
been instantiated yet. In other words you will never be able to enter
'2*/**/****', and leave the field for datafield created in the window
workshop. Maybe in this case the validation is being done by the
template itself?
Thanks in advance
Riaan
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

what I mean is rendering JSF components on the fly, becuase some time you don't know things at design time. Lets say I am designing a page in creator that shows the total number of dependants that belongs to a primary inusrance member in text boxes. Of course we don't know in advance how many dependants we have for a specific member unless we go to databse and fetch all the data at runtime. Desiging some thing dynamic like that is very easy in CGI or ASP/JSP but JSF model seems very static due to it's design time feature.
So is it possible with JSF or not?

Similar Messages

  • Can we create Communication Channel Dynamically at runtime

    Hi Experts
    Can we create Comm Channels during run time, If yes can any one help me out how to create....?
    My requirement is
    we get a file called manifest file. This file has list of file names and paths.
      step 1. XI has to read manifest file
      step2: from manifest file XI has to read file names and create comm channels dynamically to read these files
      I am looking for option to create comm channel dynamically.
    we need to determine sender dynamically.
    Advance for your Replies
    Regards
    Venkat Anil
    Edited by: Venkat Anil Gannavarapu on Jun 1, 2010 6:29 PM

    Hi,
    or you can just write a script that will take the file from the path and put it in one directory for PI to fetch
    this should not take longer then 15 mins to create such a creature
    Regards,
    Michal Krawczyk

  • Dynamic table runtime error

    Hi everyone.
    We are working on upgrading from 4.6c to ECC 6.0 and I've run into a programming problem.
    I have a class that I use to convert any internal table based on a dictionary structure to a comma-separated text file.  For the most part, I use the dynamic table techniques that are easy to find here and in other code forums.
    In 6.0 I can not get it to work.  The value assignment of the input table to the field-symbol for the dynamic table causes a "OBJECTS_TABLES_NOT_COMPATIBLE" runtime error.  So far what I can find on this error specific to dynamic tables is related to BW and/or PI.  And I can't seem to find any alternative ways of dealing with dynamic tables.  In debug I can see that decimal number fields in the dynamic table have a different length than what's in the dictionary.
    Any help or ideas would be greately appreciated.
    Here is part of the method that converts the itab to an dynamic internal table, then creates a csv record for each record (I've hilighted the line that causes the dump) :
    Get the structure of the table.
      ref_table_des ?=
          cl_abap_typedescr=>describe_by_name( i_structure ).
      idetails[] = ref_table_des->components[].
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-inttype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        append xfc to ifc.
      endloop.
    Create dynamic internal table and assign to FS
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc
                   importing
                      ep_table        = dy_table.
      assign dy_table->* to <dyn_table>.
    Create dynamic work area and assign to FS
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    put data into the dynamic table
    <dyn_table> = it_data[].    "<<==the runtime error happens on this line
      loop at <dyn_table> into <dyn_wa>.
        clear: l_fdata, l_data.
        do.
          l_index = sy-index.
          assign component l_index
             of structure <dyn_wa> to <dyn_field>.
          if sy-subrc <> 0.
            exit.
          endif.
          read table ifc into xfc index l_index.
          if xfc-inttype = 'D'.
    *etc...
    Thank you,
    - George

    Hi,
    For Dynamic internal table.u check SM30 Transaction.ther is one simple way to find the code in debugging.
    if not possible i will send code which is relatd to dynamic table .
    *&      Form  get_table_structure
    *       Get structure of an SAP table
    form get_table_structure.
      data : it_tabdescr type abap_compdescr_tab,
             wa_tabdescr type abap_compdescr.
      data : ref_table_descr type ref to cl_abap_structdescr.
    * Return structure of the table.
      ref_table_descr ?= cl_abap_typedescr=>describe_by_name( p_table ).
      it_tabdescr[] = ref_table_descr->components[].
      loop at it_tabdescr into wa_tabdescr.
        clear wa_fieldcat.
        wa_fieldcat-fieldname = wa_tabdescr-name .
        wa_fieldcat-datatype  = wa_tabdescr-type_kind.
        wa_fieldcat-inttype   = wa_tabdescr-type_kind.
        wa_fieldcat-intlen    = wa_tabdescr-length.
        wa_fieldcat-decimals  = wa_tabdescr-decimals.
        append wa_fieldcat to it_fieldcat.
      endloop.
    endform.                    "get_table_structure
    *&      Form  create_itab_dynamically
    *   Create internal table dynamically
    form create_itab_dynamically.
    * Create dynamic internal table and assign to Field-Symbol
      call method cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fieldcat
        IMPORTING
          ep_table        = dyn_table.
      assign dyn_table->* to <fs_table>.
    * Create dynamic work area and assign to Field Symbol
      create data dyn_line like line of <fs_table>.
      assign dyn_line->* to <fs_wa>.
    endform.                    "create_itab_dynamically
    Edited by: subrahmanyam24 on Nov 18, 2010 5:12 AM
    Edited by: subrahmanyam24 on Nov 18, 2010 5:15 AM

  • RE: (forte-users) dynamic select & maxrowsparameter

    I thing this code should help:
    ** Accepts command string for dynamic query and **
    ** an empty array of BC to which the results **
    ** should be appended. Returns the filled BC **
    ** array. **
    l_dynamicStatement : DBStatementHandle;
    l_inputDescriptor : DBDataSet;
    l_outputDescriptor : DBDataSet;
    l_outputData : DBDataSet;
    l_intStatementType : integer;
    l_intRowType : integer;
    l_intNumRows : integer;
    l_intRowCount : integer = 0;
    l_result : BusinessClass = new;
    BEGIN
    -- Prepare SQL statement for query given command string
    l_dynamicStatement = self.GetDBSession().Prepare(
    commandString = p_strSql,
    inputDataSet = l_inputDescriptor,
    cmdType = l_intStatementType);
    -- Open Cursor
    l_intRowType = GetDBSession().OpenCursor(
    statementHandle = l_dynamicStatement,
    inputDataSet = l_inputDescriptor,
    resultDataSet = l_outputDescriptor);
    -- Fetch first row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
    -- Increment count of rows fetched
    l_intRowCount = l_intRowCount + 1;
    -- Check for excessive number of rows retrieved
    -- Then it checks if you want to throw a exception or
    -- just exit and return the result set.
    IF l_introwCount > p_intMaxRow THEN
    IF p_bThrowExcept THEN
    -- Shut the cursor down and remove prepared
    statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    // Raise exception
    -- Have to put code
    ELSE
    EXIT;
    END IF;
    END IF;
    -- Parse result from DBDataSet to subclass
    -- of BusinessClass
    l_result = parseResult(l_outputData);
    // Add row to array
    p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
    // Fetch next row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    END WHILE;
    -- Shut the cursor down and remove prepared statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    EXCEPTION
    when e: GenericException do
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    raise e;
    END;
    return p_aryBC;
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Thursday, December 09, 1999 11:15 PM
    To: Will Chris
    Cc: [email protected]
    Subject: RE: (forte-users) dynamic select & maxrows parameter
    Think there's a mis-understanding. The maxrows I refer to is not SQL but a
    forte method parameter as in the following:
    dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
    ,inputDataSet = inputDescriptor
    ,cmdType = commandType);
    rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
    ,inputDataSet = inputDescriptor
    ,resultDataSet = outputDescriptor
    ,maxrows = 100);
    the variable sqlStatement holds the "dynamic" select string.
    If I don't set maxrows I get a runtime error, as mentioned, it is running
    against Oracle.
    At 14:47 10/12/99 +1100, you wrote:
    We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
    combination of
    these demand a max rows clause.
    For example the following query works on both databases :
    lvLanguageCodesList : Array of LanguageCodes = new();
    begin transaction
    sql select Language_Code LanguageCode,
    Language_Nm LanguageNm,
    System_Control_YN SystemControlYN,
    Other_Language_YN OtherLanguageYN
    into :lvLanguageCodesList
    from SRD_LANGUAGE_CODES
    order by Language_Nm
    on session StudentRegistryDBSession;
    end transaction;
    if lvLanguageCodesList.items = 0 then
    return Nil;
    else
    return lvLanguageCodesList;
    end if;
    Indeed if we wanted to use max rows its a bit of a pain in the bum because
    Oracle and
    Rdb use different syntax to define the row limit. So our dynamic SQL
    'builder class'
    has to detect the database flavour and configure max rows accordingly(where
    we want to use
    it).
    I can only guess that the error you are getting is not assoicated to therow
    limit or is caused because of the database you are using ?
    Regards,
    Chris Will, Sydney, Australia
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Friday, 10 December 1999 14:33
    To: [email protected]
    Subject: (forte-users) dynamic select & maxrows parameter
    the help for DBSession.Select method says that the maxrows
    parameter is not
    required. Leaving it out does not give a compile error.
    However at runtime
    an error is got saying maxrows must be > 0.
    I am using a method that accepts a where clause as a
    parameter and am not
    really interested in what the number of rows will be.
    Should I be?
    Does anyone have any knowledge they can share on this one.
    Thanks.
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

    I thing this code should help:
    ** Accepts command string for dynamic query and **
    ** an empty array of BC to which the results **
    ** should be appended. Returns the filled BC **
    ** array. **
    l_dynamicStatement : DBStatementHandle;
    l_inputDescriptor : DBDataSet;
    l_outputDescriptor : DBDataSet;
    l_outputData : DBDataSet;
    l_intStatementType : integer;
    l_intRowType : integer;
    l_intNumRows : integer;
    l_intRowCount : integer = 0;
    l_result : BusinessClass = new;
    BEGIN
    -- Prepare SQL statement for query given command string
    l_dynamicStatement = self.GetDBSession().Prepare(
    commandString = p_strSql,
    inputDataSet = l_inputDescriptor,
    cmdType = l_intStatementType);
    -- Open Cursor
    l_intRowType = GetDBSession().OpenCursor(
    statementHandle = l_dynamicStatement,
    inputDataSet = l_inputDescriptor,
    resultDataSet = l_outputDescriptor);
    -- Fetch first row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
    -- Increment count of rows fetched
    l_intRowCount = l_intRowCount + 1;
    -- Check for excessive number of rows retrieved
    -- Then it checks if you want to throw a exception or
    -- just exit and return the result set.
    IF l_introwCount > p_intMaxRow THEN
    IF p_bThrowExcept THEN
    -- Shut the cursor down and remove prepared
    statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    // Raise exception
    -- Have to put code
    ELSE
    EXIT;
    END IF;
    END IF;
    -- Parse result from DBDataSet to subclass
    -- of BusinessClass
    l_result = parseResult(l_outputData);
    // Add row to array
    p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
    // Fetch next row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    END WHILE;
    -- Shut the cursor down and remove prepared statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    EXCEPTION
    when e: GenericException do
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    raise e;
    END;
    return p_aryBC;
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Thursday, December 09, 1999 11:15 PM
    To: Will Chris
    Cc: [email protected]
    Subject: RE: (forte-users) dynamic select & maxrows parameter
    Think there's a mis-understanding. The maxrows I refer to is not SQL but a
    forte method parameter as in the following:
    dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
    ,inputDataSet = inputDescriptor
    ,cmdType = commandType);
    rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
    ,inputDataSet = inputDescriptor
    ,resultDataSet = outputDescriptor
    ,maxrows = 100);
    the variable sqlStatement holds the "dynamic" select string.
    If I don't set maxrows I get a runtime error, as mentioned, it is running
    against Oracle.
    At 14:47 10/12/99 +1100, you wrote:
    We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
    combination of
    these demand a max rows clause.
    For example the following query works on both databases :
    lvLanguageCodesList : Array of LanguageCodes = new();
    begin transaction
    sql select Language_Code LanguageCode,
    Language_Nm LanguageNm,
    System_Control_YN SystemControlYN,
    Other_Language_YN OtherLanguageYN
    into :lvLanguageCodesList
    from SRD_LANGUAGE_CODES
    order by Language_Nm
    on session StudentRegistryDBSession;
    end transaction;
    if lvLanguageCodesList.items = 0 then
    return Nil;
    else
    return lvLanguageCodesList;
    end if;
    Indeed if we wanted to use max rows its a bit of a pain in the bum because
    Oracle and
    Rdb use different syntax to define the row limit. So our dynamic SQL
    'builder class'
    has to detect the database flavour and configure max rows accordingly(where
    we want to use
    it).
    I can only guess that the error you are getting is not assoicated to therow
    limit or is caused because of the database you are using ?
    Regards,
    Chris Will, Sydney, Australia
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Friday, 10 December 1999 14:33
    To: [email protected]
    Subject: (forte-users) dynamic select & maxrows parameter
    the help for DBSession.Select method says that the maxrows
    parameter is not
    required. Leaving it out does not give a compile error.
    However at runtime
    an error is got saying maxrows must be > 0.
    I am using a method that accepts a where clause as a
    parameter and am not
    really interested in what the number of rows will be.
    Should I be?
    Does anyone have any knowledge they can share on this one.
    Thanks.
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • [Seeking help] How to create a bean with annotations @ runtime?

    I would like 2 create a bean, @ runtime, as below:
    public class A {
      @MyAnnotation(id = "ID")
      private String id = "";
      public String getId() { ... }
      public void setId(String id) { ... }
    }Can anyone tell me how 2 achieve this? I know how 2 create a bean dynamically, however with annotations it is a bit tricky ..
    Cheers!
    Edited by: olove66 on Aug 7, 2009 2:00 AM

    @_@ I guess anyone interested in this topic can turn 2 ASM. Maybe BCEL has not got anything 2 support annotation creation yet.

  • Creating Region & Items Dynamically based on SQL Result

    Hi,
    I need to create regions dynamically during runtime based on SQL.
    So the number of regions and title will depends on the SQL result.
    I came accross the PLSQL Dynamic Content region type. I searched in the internet, I could not find a matching example.
    I looked at the APEX book, it mentions about 'Creating a Matrix of Fields Programmatically' but It's not very descriptive and it's using www_flow_api which i couldn't find documentation about it.
    So I am turning into this forum for help.
    Can you guys guide me to dynamically create region in a page?
    for e.g
    If my sql returns 5 records, I need to create 5 regions. Each region will contain a dynamically created tabular form as well depending on another SQL (from table function).
    Please let me know if I am not being clear about my question.
    Thanks a lot in advance.

    hello,
    I have the following SQL statement in my region.
    SELECT APEX_ITEM.DISPLAY_AND_SAVE(1,rectype) rectype,
           APEX_ITEM.DISPLAY_AND_SAVE(2,class_id) class_id,
           APEX_ITEM.DISPLAY_AND_SAVE(3,attribute_id) attribute_id,
           decode(rectype,1,'<p style="font-size:17px;color:white;background-color:#383838">'||title||'</p>',
                          2,'<p><b><i><big>'||title||'</b></i></big></p>',
                          3,replace(title,chr(13)||chr(10),'</br>'),
                          apex_item.textarea(4,title,5,200)) title,
           decode(rectype,1,'<p style="font-size:17px;color:white;background-color:#383838">'||review1st||'</p>',
                          2,apex_item.text(5,review1st,3,3),
                          3,APEX_ITEM.SELECT_LIST_FROM_LOV(5,review1st,'ARTIST_RANK',null,'NO'),
                          apex_item.hidden(5,review1st)) review1st,
           decode(rectype,1,'<p style="font-size:17px;color:white;background-color:#383838">'||review2nd||'</p>',
                          2,apex_item.text(6,review2nd,3,3),
                          3,APEX_ITEM.SELECT_LIST_FROM_LOV(6,review2nd,'ARTIST_RANK',null,'NO'),
                          apex_item.hidden(6,review2nd)) review2nd
      FROM TABLE (pkg_artist_review.f_artist_review (:P21_ARTIST_SEQ, :P21_ARTIST_DISCIPLINE,:P21_REVIEW_YEAR))as you can see I use DECODE because I need to do HTML formatting on the value and create ITEM according to the value of 'rectype'
    decode(rectype,1,'<p style="font-size:17px;color:white;background-color:#383838">'||title||'</p>',
                          2,'<p><b><i><big>'||title||'</b></i></big></p>',
                          3,replace(title,chr(13)||chr(10),'</br>'),
                          apex_item.textarea(4,title,5,200)) title, so the report result would look like
    rectype                  title
    [display f01]          title
    [display f01]          title
    [display f01]          title
    [display f01]          [text area f04]My question is :
    I would think my array list f01 and f04 will have different number of values inside.
    f01 will have 4 value, whereas f04 will only have 1.
    I tried to use
    decode(rectype,1,APEX_ITEM.DISPLAY_AND_SAVE(4,'<p style="font-size:17px;color:white;background-color:#383838">'||title||'</p>'),
                          2,APEX_ITEM.DISPLAY_AND_SAVE(4,'<p><b><i><big>'||title||'</b></i></big></p>'),
                          3,APEX_ITEM.DISPLAY_AND_SAVE(4,replace(title,chr(13)||chr(10),'</br>')),
                          apex_item.textarea(4,title,5,200)) title, I only ended up having the HTML code written to the report.
    How can I handle such situation?
    I need my array list to have the same number of records thus i could just use one index to iterate through the value.
    Thanks in advance.
    Edited by: joel2 on Mar 18, 2009 3:40 PM

  • Navigation and Creating  a navigation rule at runtime

    Hi all,
    How can I create a navigation rule at runtime?
    I got all my pages (names and locations) stored in a database table.All my pages are jspx format.
    I don't want to create navigation rules for each page, Instead I want to use the location stored in the database and create a navigation rule to navigate to.
    I tried navigating using ServletRequest :
            ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext();
            HttpServletResponse response = (HttpServletResponse)ectx.getResponse();
            HttpServletRequest  request = (HttpServletRequest)ectx.getRequest();
            request.getRequestDispatcher("/faces/Titles.jspx").forward(request,response);But it blows after the first call.
    is it possible to create a navigation rule in a Bean or is there another way to call jspx pages from a Bean without loosing the session.
    Can someone help me please.
    thanks in advance,
    Ahmad Esbita

    Ahmad,
    I don't know of any way to programatically create navigation cases at runtime. However, perhaps you could try creating a NavigationHandler decorator. Let's assume you have a function called "getViewIDforAction" that does the database lookup and returns the view ID for a given action code. You could do something like this:
    package my.code;
    import javax.faces.application.NavigationHandler;
    import javax.faces.context.FacesContext;
    public class MyNavigationManager extends NavigationHandler
       NavigationHandler _base;
       public NavigationManager (NavigationHandler base)
          super();
          _base = base;
       public void handleNavigation(FacesContext fc, String actionMethod, String actionName)
          String viewID = getViewIDforAction(actionName);
          if (viewID != null && ! "".equals(viewID))
             fc.getViewRoot().setViewId(viewID);
          else
             _base.handleNavigation(fc, actionMethod, actionName);
    }You'll also need this in faces-config.xml:
    <application>
      <navigation-handler>my.code.MyNavigationManager</navigation-handler>
    ...any other stuff...
    </application>Note: I haven't tested this or anything - just to give you an idea...
    Regards,
    john

  • How to create a text object at runtime?

    Hi,
    I am using crystal reports for visual studio 2010 and using c# to programming.
    I need to create  a text object in a specific section like section 2. and also I need to control the text object's position and text.
    I tried to move a object like:
    reportDocument1.ReportDefinition.Sections[j].ReportObjects<i>.Left = 0x8760;
    but object's position doesn't change at all.
    How can I do these (create a text object and change a object postion)?
    Thanks

    Hi Don,
    Thank you.
    I have downloaded a RAS ( report application Server ) sample.
    The sample uses the Business Objects Enterprise XI release 2. I am using win 7 and crystal reports for vs2010. Can I use this version of crystal reports to create  a text object at runtime? If not, what is the lowest version I have to purchase to achieve what I want?
    Basicly I need following capabilities at runtime:
    1) craete text objects, line objects, image objects.
    2) change text object, line object and image object positions, sizes, values of text object. If can I like to be able to change font as well.
    3) supress objects, sections. 
    4) change section's height

  • How to create a viewobject dynamically without using wizard

    Hi,
    I am Using jDEV 11G, i need to create a viewobject dynamically without using wizard, without binding from any entity.
    Actually my intention is to make a grid like in .Net, when a user want to create a new row in RichTable without using DB.
    just like shopping cart.
    i have done thsi code:
    ViewObjectImpl view=new ViewObjectImpl();
    view.addDynamicAttributeWithType("Att1","String",null);
    view.addDynamicAttributeWithType("Att2","String",null);
    view.addDynamicAttributeWithType("Att2","String",null);
    Row rw=view.createRow();
    rw.setAttribute("Att1","First1");
    rw.setAttribute("Att2","First2");
    rw.setAttribute("Att2","First3");
    view.insertRow(rw);
    I have a RichTable , i need bind this viewobject into that.
    Edited by: vipin k raghav on Mar 10, 2009 11:39 PM

    Hi Vipin,
    You can create the view object with rows populated at run time.
    [http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcquerying.htm#CEGCGFCA]
    For reference of how to create an empty rwo at run time on button click
    [http://kohlivikram.blogspot.com/2008/10/add-new-row-in-adf-table-on-button.html]
    ~Vikram

  • How to create a view dynamicly in plsql?

    I need to write a pl/sql package to create a view dynamic
    ,but i can't use 'create or replace view xxxx as select *
    from db where ...',I know the dbms_sql package can parse the
    'select' sentence,but i don't know how to create a view,only can
    drop a view,who can help me?
    thanks!
    null

    Try 'EXECUTE IMMEDIATE 'CREATE AS SELECT....' in your PL/SQL
    xhpxorcl (guest) wrote:
    : I need to write a pl/sql package to create a view dynamic
    : ,but i can't use 'create or replace view xxxx as select *
    : from db where ...',I know the dbms_sql package can parse the
    : 'select' sentence,but i don't know how to create a view,only
    can
    : drop a view,who can help me?
    : thanks!
    null

  • Remove the assignment blocks dynamically at runtime

    hello friends,
    i want to remove the assignmnet blocks dynamically at runtime but based on the condition data avilable or not . example for opportunity window, whether the item list assignment block is empty then only i want to delete it . for this case i have to put a validation . im using  DETACH_STATIC_OVW_VIEW method for deleting the assignmnet blocks . but in my case based on validation only i want to delete . how to do the validation. please help me out .
    thanks in advance.
    regards
    sashi

    Hello there,
    I believe the Method DETACH_STATIC_OVW_VIEWS as you mentioned is the correct one to achieve this functionality.
    Here what exactly has to be done in your scenario is not clear from your question.
    However if we consider your example; you can refer to the code excerpt below
    UI COmponent : BT111H_OPPT  ( Header Component of Opportunity)
    Class: CL_BT111H_O_OPPORTUNITYO0_IMPL
    Method : DETACH_STATIC_OVW_VIEWS
    It already has in place
    * get Details CuCo
      lr_cuco ?= me->get_custom_controller( controller_id = 'BT111H_OPPT/OpptDetailsCuCo' ).
    then it checkes the Product Items.
    You can put ou validation logic in place and do like following:
    * Competitor products on Item level
      IF lr_cuco->is_competitor_available( iv_mode = lc_item ) = abap_false.
        ls_viewid-viewid = 'BT111H_OPPT/CompProdItemOV'.
        INSERT ls_viewid INTO TABLE rt_viewid.
         ENDIF.
    Please reply if this helps.
    Best Regards,
    Vinamra.

  • How to create internal table dynamically based on a table entry

    hi Experts,
      I have table yprod_cat. It has product categories.
      In my ABAP program I need to create internal table dynamically based on the number of entries in the table.
      For example:
      If the table has 3 entries for product category
      1. Board
      2. Micro
      3. Syst
    Then create three (3) internal tables.
    i_board
    i_micro
    i_syst
    How can we do this? Any sample code will be very usefull
    Thanks & Regards
    Gopal
    Moderator Message: No sample codes can be given. Please search for them or work it!
    Edited by: kishan P on Jan 19, 2011 4:22 PM

    Our APEX version is 4.2We are using below SQL query to display radio groups dynamically..
    SELECT APEX_ITEM.RADIOGROUP (1,deptno,'20',dname) dt
    FROM dept
    ORDER BY 1;
    Created a form using SQL type and given abouve SQL query as source.. But when we run the page, there were no radio groups displayed in the page..
    Below is the output of the query..
    <input type="radio" name="f01" value="10" />ACCOUNTING
    <input type="radio" name="f01" value="20" checked="checked" />RESEARCH
    <input type="radio" name="f01" value="30" />SALES
    <input type="radio" name="f01" value="40" />OPERATIONS
    >
    If Tabular Form:
    Edit Region > Report Attributes > Edit Column > Change the Column type to "Standard Report Column"
    If normal Page Item:
    Edit Page Item > Security > Escape special characters=No.
    Pl read the help on that page item to understand the security risk associated with =NO.
    Cheers,
    Edited by: Prabodh on Dec 3, 2012 5:59 PM

  • How to create  some columns dynamically in the report designer depending upon the input selection

    Post Author: ekta
    CA Forum: Crystal Reports
    how  to create  some columns dynamically in the report designer depending upon the input selection 
    how  export  this dynamic  report in (pdf , xls,doc and rtf format)
    report format is as below:
    Element Codes
    1
    16
    14
    11
    19
    10
    2
    3
    Employee nos.
    Employee Name
    Normal
    RDO
    WC
    Breveavement
    LWOP
    Sick
    Carers leave
    AL
    O/T 1.5
    O/T 2.0
    Total Hours
    000004
    PHAN , Hanh Huynh
    68.40
    7.60
    76.00
    000010
    I , Jungue
    68.40
    7.60
    2.00
    5.00
    76.00
    000022
    GARFINKEL , Hersch
    66.30
    7.60
    2.10
    76.00
    In the above report first column and the last columns are fixed and the other columns are dynamic depending upon the input selection:
    if input selection is Normal and RDO then only 2 columns w'd be created and the other 2 fixed columns.
    Can anybody help me how do I design such report....
    Thanks

    Hi Developer life,
    According to your description that you want to dynamically increase and decrease the numbers of the columns in the table, right?
    As Jason A Long mentioned that we can use the matrix to do this and put the year field in the column group, amount fields(Numric  values) in the details,  add  an filter to filter the data base on this column group, but if
    the data in the DB not suitable to add to the matrix directly, you can use the unpivot function to turn the column name of year to a single row and then you can add it in the column group.
    If there are too many columns in the column group, it will fit the page size automatically and display the extra columns in the next page.
    Similar threads with details steps for your reference:
    https://social.technet.microsoft.com/Forums/en-US/339965a1-8cca-41d8-83ef-c2548050799a/ssrs-dataset-column-metadata-dynamic-update?forum=sqlreportings 
    If your still have any problem, please try to provide us more details information, such as the data structure in the DB and the table structure you are currently designing.
    Any question, please feel free to let me know.
    Best Regards
    Vicky Liu

  • How to create a folder dynamically in KM repository

    Hi All,
    Could you please let me know how to create the folder dynamically in KM...
    Thanks in Advance,

    >
    Romano Bodini wrote:
    > Hi,
    >
    > Search the forum. And the SDN. Then ask.
    >
    > [Creating folders in KM dynamically|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1761]
    >
    > Romano
    Actually, "look at the API documentation" should be in that list.

  • How to create a Tray dynamically

    Hi All
    I have tried to develop a method where I can create a tray dynamically.  I have embedded this code in the method WDDOINIT of my View called 'MAIN_VIEW'.   My longer term plan is to create x number of trays where x is dictated by the number of entires in an Internal Table.
    The code I have written compiles, but nothing appears where I thought it would.  Can anyone spot what I have so fundementally missed?
    Assistance is sincerely appreciated.
    Regards
    Tony
    create object wd_this->all_in_one_util.
    data: node_input  type REF TO if_wd_context_node,
          elem_input  TYPE REF TO if_wd_context_element,
          stru_input type if_main_view=>element_input.
    data: lr_view                type ref to cl_wdr_view,
          lr_tray   type REF TO CL_WD_TRAY,
          tray_id  type string,
          lr_caption             type ref to cl_wd_caption,
          caption_id             type string,
          lr_grid_data           type ref to cl_wd_grid_data,
          lr_grid_layout         type ref to cl_wd_grid_layout.
    *Navigate from <CONTEXT> to <INPUT> via lead selection
    node_input = wd_context->get_child_node( name = if_main_view=>wdctx_input ).
    lr_tray = cl_wd_tray=>new_tray(
        EXPANDED                 = ABAP_TRUE
        ID                       = tray_id
        VIEW                     = lr_view  "'MAIN_VIEW'
        WIDTH                    = '100%'
            set the caption of the tray
              concatenate lr_tray->id '_HEADER' into caption_id.
              lr_caption = cl_wd_caption=>new_caption(
                             id   = caption_id
                             text = 'text goes here'
                             view = lr_view ).
              lr_tray->set_header( lr_caption ).
            create the grid layout data for tray
              lr_grid_data = cl_wd_grid_data=>new_grid_data( lr_tray ).
            assign the layout data to the tray
              lr_tray->set_layout_data( lr_grid_data ).
            create a new grid layout for the content of the tray
              lr_grid_layout = cl_wd_grid_layout=>new_grid_layout( lr_tray ).
            assign the grid layout to the tray
              lr_tray->set_layout( lr_grid_layout ).

    Hi Tony,
    If we have to do any dynamic programming in webdynpro( creating UIelements dynamically ), WDDOMODIFYVIEW is the method where we need to code the logic for creating the tray.
    But you have done the coding of creating tray in WDDOINIT thats why it is not working fine. Just the have the same code in WDDODMODIFYVIEW and you need to have below code to add this tray to view's ROOTUICONTAINER.
    data:  lr_container TYPE REF TO cl_wd_uielement_container.
    lr_container ?= view->get_element( 'ROOTUIELEMENTCONTAINER' ).
      " View is import parameter of wddomodifyview method.
    lr_container->add_child( '' pass the tray that is created ' ).
    This is the way to create dynamic UIelements in webdynpro using wddodmodifyview
    For more information on dynamic programming have at following information
    <a href="http://help.sap.com/saphelp_crm50/helpdata/en/44/2d9a41ed79a009e10000000a155106/frameset.htm">http://help.sap.com/saphelp_crm50/helpdata/en/44/2d9a41ed79a009e10000000a155106/frameset.htm</a>
    Thanks,
    Prashanth Kumar B

Maybe you are looking for

  • How do I make your new Apple ID permanent on your iPod Touch 5g???

    So every time I go into my Settings, press on "iTunes & App Store" it's fine and it shows that I'm signed into the new Apple ID that I want. Then I press on "iCloud" and "Game Center" but it has my old Apple ID. When I go into "iCloud" a thing pops u

  • Assigning of characteristics value for a batch

    Hi All, Please help regarding the assigning of characteristics value for a batch in transaction code MSC2N or MSC2 in the classification tab. If Function modules or BAPI is available pls advise the inputs to be provided for the function modules. Here

  • Problems installing CS5.5 Master Collection

    I completed disc 1 and it said to insert disc 2 to continue. I ejected disc 1 and inserted disc 2 then clicked continue. After I click continue, the screen flashes then goes back to the message to insert disc 2 and continue. I have restarted installa

  • In netbeans5.0 how to  create jarfile?

    hai, i m using the NetBeans IDE 5.0 here i need to create the jar files of particular project including all the library in that project .. But when i try to Build the project(creating jar project)... the jar file is created but the libraries files su

  • Will Indesign CS3 read CS4 files?

    If I install CS4 on my Intel based laptop and produce files on that computer in Indesign, can I move them to my older desktop that has CS3 installed and be able to open the files?