Dynamically change binding of field

Hello all,
I am attempting to develop a form in which the binding of the fields is not yet known at design time.
What I am trying to do is the following:
In the "initialize" event of the form, I have typed the following:
HEADER.FIELD.bind.ref = "$record.DATA_IN.SUBFORM.DATA[1].NAME";
HEADER.FIELD.bind.match = "dataRef";
"HEADER" is a subform with a text field called "FIELD" in it. What happens is: plain nothing - although there is data in the specified node, the fields remains empty.
If I comment out the two lines and put the "$record.DATA_IN.SUBFORM.DATA[1].NAME" directly to the "binding" property, it works just fine. Setting the default binding to "normal" and trying to set it via code does not...
Any hints? Am I missing some important step?
Thanks
Daniel Sattler

Hello,
I was trying to utilize the same to dynamically bind a text field of a row in a table. The row has been dynamically created at runtime (using instance manager - that is working). Here is the code I used inside the click event of the button after the row instance is created:
$template.data.resolveNode("relocation.tablesubform.addtable.datarow[1]").country_data.bin d.ref
= "$record.COUNTRY.DATA[*].FIELD";
$template.data.resolveNode("relocation.tablesubform.addtable.datarow[1]").country_data.bin d.match= "dataRef";
And the code used in ready form event of the button:
$form.remerge();
But for some reason the text field is not getting bound. Could you please advise?
Thanks
Sachin

Similar Messages

  • Dynamically change width of field

    I have matrix report. One field must dynamically change width...I think create trigger. He'll change width. But I don't  found function (analog set_item_property in oracle forms). This function must get x-coordinate.  And another function  set width field.
    Help me, please. I solve this problem for more than 2 weeks
    I attached a picture. (example).
    Reports Builder 10

    select trunc(tran.DATE)
      ,t.NAME "t_name"
      ,svt.NAME "type_name"
      ,tran.route_num
      ,rts1.Description "point1"
      ,rts2.DESCRIPTION  "point2"
      ,N||'.'||NN CAT
      ,COUNT(N||NN)
      from table1 tran
      ,table2 svt
      ,table3  rts1
      ,table3  rts2
      ,table4 rt
    where tran.t_id=trc.id and
          tran.st_id=svt.st_id and
        tran.zn_in=rts1.stop(+) and
          tran.zn_out=rts2.stop(+) and
         tran.create_date BETWEEN   :pbegin  AND  :pend  and
          (trc.id = :p_id )
    group by trunc(tran.DATE)
             ,t.NAME
             ,svt.NAME
             ,tran.route_num
             ,rts1.DESCRIPTION
             ,rts2.DESCRIPTION
      ,N||'.'||NN

  • Change binding of field at runtime

    Hello experts,
    I have inserted a decimal field without default binding in my adobe form. Now I try to implement a dynamic binding of this field. So I inserted javascipt code in "initialize" of this field as follows:
    this.bind.match="dataRef";
    this.bind.ref="DATA[2].field1";
    I got no syntax error and no output data. If I fill the default binding of the binding-tab of this field like
    DATA[2].field1
    I will get the correct output data!
    Do you have any ideas, whatu2019s wrong?
    Thanks
    M.Albrecht

    Hello expert,
    thank you for your suggestions to solve the problem.
    There is one important point, which squeeze me not to change the ABAP coding. The ABAP which collect the data for the form must not be changed! It feeds a SMARTFORMS form and it should feed an AdobeForm in future as well. With a customizing flag I will change between SMARTFORMS and AdobeForms. So I am forced to use the data source for AdobeForms as well.
    When I process a table with body and footer I have only one problem: always in the last record of the table I must print some values in the footer. I know that a static binding to the last record in footer will bring the correct output. But the tables have different number of records, so that I thought a dynamic binding which I can change at runtime could be the solution.
    But now I think that this isn't possible. So I will try to feed the footer-fields with javascript when the last record of the body is processed. I will post my solution as soon as I have implemented it in the form.
    Thanks to all!

  • Dynamically change the table fields in smart form

    hi all,
    can any one suggest me the way to change the height and the width of a table dynamically in smart form.
    thanx
    Manish

    Hello,
    That is not possible. You cannot alter the height and width of the smartform. Mainwindows height adjust automatically according to the data.
    Thanks,
    Jayant

  • Dynamically change type of field.

    Hi.
    Is it possible to change the type of a textfield when you call a screen?
    For example I have screen 130 with textfield txt_Input.
    At PBO I call setfields.
    Now is it possible to change the type of txt_Input to type I or C or ... in Module setfields?
    So they can't enter a letter when I need a number..
    Greets

    HI
    Taks this field as field-symbol
    like field-symbols: <fs1>
    at run time you can assign any type to it
    like
    data: v_matnr like mara-matnr.
    clear <fs1>
    <fs1> = v_matnr.
    Regards
    Aditya

  • Dynamically change the binding of a field

    Hi,
    I've been looking all over the internet for 2 days to find the answer to my question, but I couldn't get any information on my problem. Here's what i'm trying to do :
    Based on a checkbox in my form, I want to export or I don't want to export a field to a XML document.
    My checkbox is working properly and I got the Send button with the XML working too. I only need to find a way to dynamically change the binding property of my field. I've read some informations with the ".bind.match", but I can't seem to make it work.
    I'm using Windows XP, LiveCycle Designer ES2 v.9.0 and I have to run the form in Reader 8.0.
    Thanks alot for your help, it's greatly appreciated.
    Jonathan

    Hi,
    the binding cannot be changed at runtime.
    You can use the checkbox to delete the value of the field so the exported xml contains an empty tag.
    Or you try to delete the data node of the desired field in the data DOM (xfa.datasets).

  • Dynamically change the Binding of a view object

    I want to reuse a panel several times in my application. The VO has one bind parameter (:1). The same panel should be reused several times with different bind variables.
    I found a technical note concerning this issue called: How to Dynamically Change the binding of a View Object to a JClient Panel. This works for JDeveloper 9i but not for JDeveloper 19g. Does anybody know how to dynamically change the binding in JDeveloper 10g

    You may use bindRowSetIterator() and pass in a custom fetched ViewObject or a RowSetIterator to the iterator binding that is displayed in your panel.

  • Is it possible to dynamically change the image in a Picture Field?

    Is it possible to dynamically change the image in a Picture Field?
    Thank you

    Try using the In Proc RAS SDK.
    [Here are the sample applications.|http://www.sdn.sap.com/irj/boc/samples?rid=/webcontent/uuid/b02c1cac-ad86-2b10-88ae-cb36551bab06] Take a look at the 'Add Image' sample.
    Insert the picture at design or runtime and change the location / name of the image at runtime.
    - Bhushan.

  • How can I dynamically change group field column?

    Hello!
    I need to group data and create group totals for that table. Is
    it possible to dynamically change group field column for
    specific table, depending on data retreived from parameter form?
    Thanks,
    Mario.

    quote:
    Originally posted by:
    ljonny18
    Hi,
    I am using a grid within a component in my Flex application.
    I have an XML dataProvider, and I want to change the row
    colour of my Grid depending on a value coming form my dataProvider
    – but I cant seem to get this to work :(
    can anyone help / advise me on how I can dynamically change the
    colour of my grid row depending on a value coming from my XML
    DataProvider????
    Thanks,
    Jon.
    Hi,
    a few hours ago I stumbled across this cookbook entry - it
    didn't solve MY problem, but maybe it provides a way to solve your
    problem?
    http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&postId=61&product Id=2&loc=en_US
    From the article:
    quote:
    Changing the background color of a DataGrid cell is not as
    simple as changing some style because the default renderer for a
    DataGrid cell does not have a backgroundColor. Therefore, to do
    this simple task, you have to create a custom itemRenderer where
    you draw your own background in the updateDisplayList function.
    HTH
    Uwe

  • Dynamically changing form binding

    Hi,
    I would like to dynamically change the binding variable (bind.ref) of a subform during runtime based on a "change event" triggered by a single/multiple selection in a list box, contained in a different subform.
    List box A is part of subform A, during completion of the form, the user selects one or more entries from list box A and triggers a "change event". Based on this event a table, part of subform B, is filled with entries that depend on the users selection in the list box. The rows in this table are determined by the "bind.ref" value of subform B. That means, dependent on the list box selection "bind.ref" will be assigned with a different array, that is also constructed at runtime.
    Before asking for hints to a possible solution, I would like to know whether it is possible in general to change the binding of a subform dynamically (so not in the "initialize event" as in Daniel's case), based on a "change event" triggered by a list box selection?
    Regards,
    Franz

    Hi radzmar,
    Thanks for the reply, much appreciated.
    I also found out more on that topic under another adobe forum post:
    http://forums.adobe.com/message/3607404#3607404
    So, yes it seems the binding of for instance a list box can't be modified once it's set.
    I finally solved my issue by making subforms 'hidden' or 'visible' dependent on the items selected in a list box. This worked reasonably well.
    Cheers,
    Franz

  • Dynamically change text field type

    Hello all
    I have a form which displays a decimal field. However when certain conditions are met, I need to change its type to Text, so the user can enter any alphanumeric character.
    How do I achieve that with Javascript code? Is it even possible?

    Actually, you can dynamically change a textfield.type. AS2.0
    You need two elements.
    txt.type = "input";
    txt.selectable = true;
    However, if you have the textfield in a btn you will need to
    delete the onRelease function before you can make the tf function correctly.
    btn.onRelease = function()
    delete this.onRelease;
    this.txt.type = "input";
    this.txt.selectable = true;

  • Bind multiple fields to one node in data view

    I have a need to have an interactive form where data from a single data source is displayed in multiple fields on the form.  In addition these fields are open for input.  I have bound the multiple fields on the form to one node in the data view.  The data is being displayed in the multiple fields. This form is being routed thru workflow so various agents are updating the form.  The problem that I am having is that the form only seems to allow input in the first field on the form but not the other fields that are tied to the same data source. For example, field A and field B are bound to node SUMMARY.  I can add/change/delete data in field A but not in field B.  After I have done some entry in field A, I can then sometimes make changes in field B.  We have a requirement that field A be enabled for agent #1 but field B is invisible.  Later in the workflow, agent #2 needs to make final changes on a "summary" page so agent #2 had field B enabled.
    Does anyone have any idea how to correct this data entry issue so that data can be entered into either field that is tied to a single node?

    Having multiple fields in the backend is not an option.  I will not go into the business reason in detail but the last page of the form contains a final version of data pulled from various locations on the form where the data on the other pages was input by multiple agents in the process flow.  The last agent in the workflow needs to put the "finishing touches" to the data and should not have to search all over in the form to find the appropriate data fields.
    I have found 2 possible solutions and would like to know if anyone can recommend one over the other. 
    First solution - bind multiple fields on the form to one node in the data view.  This seems to work correctly on the form and data can be entered into either field, with the data being passed back to the webdynpro context in the one node in the data view (corresponding node in WD context).
    Second solution - the node/attribue in the WD context must have the same name as a DDIC element. The node in the data view must have this same name.  The field names on the form must also have the same name.  Define the binding for the field names as Global.  I have not validated that the data is passed back to the WD.

  • How to dynamically change the text of a TextObject with embedded DataField?

    Hi
    I'm trying to dynamically change the text of a TextObject at runtime, by using the .NET library. My problem is that if one or more DatabaseFieldDefinition is embedded inside my text, I'm unable to change the "static text" only, by keeping the field, e.g. I have :
    Text1 => "Contact Name: {Contact.Name}"
    and I'd like to change it to anything else like:
    Text1 => "Nom du Contact: {Contact.Name}"
    Half of my TextObject is static text while second part comes from the dataset.
    (of course the translation is dynamic - it is called at run-time and the new value to be set depends on the calling application language)
    If I simply modify the Text property of my TextObject, the {Contact.Name} embedded field is not evaluated anymore by the Crystal Engine, but considered as a single text.
    Using formulas or parameters looks quite difficult, because it means having many ones just for translation needs - I cannot control the way my users will create their reports and "force them" to use complex methods just in order to put a text and a value together...
    Anyone knows how to deal with that ?

    Only way I can think of doing this:
    1) Create a formula (call it lang) and enter the string "Contact Name" in it
    2) Place the  {Contact.Name} field next to the string
    3) So now you have:
    ContactName:  {Contact.Name}
    4) Check what localization you are after. If you need "Nom du Contact", change the lang formula so it shows "Nom du Contact" using the code below:
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim Report As New CrystalReport1()
    Dim FormulaFields As FormulaFieldDefinitions
    Dim FormulaField As FormulaFieldDefinition
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FormulaFields = Report.DataDefinition.FormulaFields
    FormulaField = FormulaFields.Item(0)
    FormulaField.Text = "[formula text]"
    CrystalReportViewer1.ReportSource = Report
    End Sub
    I realize this may not give you consistent spacing as the translations may have strings of differnt length. Perhaps someone has other idea(s)...

  • Dynamically changing internal table in 'gui_download'

    Hi Experts,
                     i have to download 4 internal tables, each with different structures, to the presentation server using 'gui_download', based on which radio-button is selected in the selection screen. I am hoping to use a single 'form' and 4 'perform' calls. how can I dynamically change the tables in the 'gui_download' function modules.
    plz help.....................

    Hi ,
    Build the field catalog dynamically based on the internal table structure based on the radio button selected.Use the dynamic internal table generated from the filedcatalog and use in GUI_DOWNLOAD.
    See the below code:
    *& Report  ZRAJESH02
    REPORT  zrajesh02.
    Dynamic internal table
    TYPE-POOLS: slis.
    FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
                  <dyn_wa>.
    DATA: alv_fldcat TYPE slis_t_fieldcat_alv,
          it_fldcat TYPE lvc_t_fcat.
    DATA: lv_monate TYPE f,
          lv_months TYPE i,
          lv_date TYPE sy-datum,
          p_check1 type n value '1'.
    lv_date = sy-datum + 360.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_check TYPE c.
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES'
        EXPORTING
          i_datum_bis   = lv_date
          i_datum_von   = sy-datum
          i_kz_incl_bis = ' '
        IMPORTING
          e_monate      = lv_monate.
      lv_months = lv_monate.
      PERFORM f_fcat USING 'AUFNR' 'CHAR' '12'.
      PERFORM f_fcat USING 'POSNR' 'CHAR' '06'.
      while p_check1 LE p_check.
      PERFORM f_fcat USING p_check1 'CHAR' '1'.
      p_check1 = p_check1 + 1.
      endwhile.
      PERFORM build_dyn_itab.
      LOOP AT <dyn_table> INTO <dyn_wa>.
        WRITE:/ <dyn_wa>.
      ENDLOOP.
    FORM f_fcat USING fieldname dattyp length.
      DATA:wa_it_fldcat TYPE lvc_s_fcat.
      CLEAR wa_it_fldcat.
      wa_it_fldcat-fieldname = fieldname.
      wa_it_fldcat-datatype = dattyp.
      wa_it_fldcat-intlen = length.
      APPEND wa_it_fldcat TO it_fldcat .
    ENDFORM.                    "f_fcat
    *&      Form  build_dyn_itab
          text
    FORM build_dyn_itab.
      DATA: new_table TYPE REF TO data,
      new_line TYPE REF TO data.
    wa_it_fldcat TYPE lvc_s_fcat.
    CLEAR wa_it_fldcat.
    wa_it_fldcat-fieldname = 'AUFNR'.
    wa_it_fldcat-datatype = 'CHAR'.
    wa_it_fldcat-intlen = 12.
    APPEND wa_it_fldcat TO it_fldcat .
    CLEAR wa_it_fldcat.
    wa_it_fldcat-fieldname = 'POSNR'.
    wa_it_fldcat-datatype = 'CHAR'.
    wa_it_fldcat-intlen = 6.
    APPEND wa_it_fldcat TO it_fldcat .
    Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
        EXPORTING
          it_fieldcatalog = it_fldcat
        IMPORTING
          ep_table        = new_table.
      ASSIGN new_table->* TO <dyn_table>.
    Create dynamic work area and assign to FS
      CREATE DATA new_line LIKE LINE OF <dyn_table>.
      ASSIGN new_line->* TO <dyn_wa>.
    ENDFORM.                    "build_dyn_itab
    Thanks,
    Rajesh.

  • Dynamically Changing Labels for Multi Row Block Buttons

    Forms [32 Bit] Version 9.0.4.1.0 (Production)
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
    On my local: Windows 7 OS
    I am having a difficult time in doing the following in forms, and not sure if it can be done?
    I have a multi row block,based on DB table, which displays filename and another column from the table.
    It also has a push button on each row, which opens and displays the physical file from its source, when clicked. The filename thus can have 3 diff statuses depending on its sources and accordingly corresponding button should display appropriate label:
    a) View Image (its is in content server and successfully imaged. In this case I display the file in the browser, from the content server, when the button is clicked)
    b) View File (Display the file from file system)
    c) View Error (Display imaging error message from the table, as file failed to make it to the imaging server)
    I have this logic currently coded in the post query trigger, at the block level, and tried using set_item_property(button_id, label, <button_lable>), where I programmatically set the button lable, based on the file status (imaged, not imaged or has error) in that row. This wroks well, only if all the files in the multi row block have the same status. If each of them have diff statuses, then only last processed files's status gets reflected into the button label. For eg: The file in the first row of the block is imaged, and one in the second row has an imaging error. The button label for the first row should say 'View Image' and button for the second row should say 'View Error'. But now buttons for both the rows display 'View Error', as thats what got processed last!
    I __can not use set_item_instance property for 'label'__ (which lets us dynamically change the label on the push buttons).
    Is there any way to do this for ORacle forms? I am now playing with having 3 diff button items in that block, laying them on top of each other and showing only those that are appropriate and hiding the others... But I am not sure it is going to give me what I need? I think I am going to end up facing the same issues as in above case!!
    Any expert advice is highly appreciated.
    Thanks in advance for your time:
    Libran_Girl
    Edited by: libran on Aug 30, 2011 8:04 AM
    Edited by: libran on Aug 30, 2011 8:05 AM

    <p>I have just updated this existing PJC, that was originally constructed to handle Text Fields. You can, now, also handle buttons with it.
    Set the Button's Implementation Class property to : oracle.forms.fd.MultiButton.
    </p>
    This is the code you have to put one triggers of your based block:
    When-New-Record-Instance trigger: (based on the EMP table)
    declare
         LN$Pos  pls_integer ;
         LN$Rec  pls_integer := Get_Block_Property('EMP', CURRENT_RECORD) ;
         LN$Max  pls_integer := Get_Block_Property('EMP', RECORDS_DISPLAYED) ;
         LC$C    Varchar2(15) ;
    Begin     
         LN$Pos :=  LN$Rec - (trunc(LN$Rec/LN$Max) * LN$Max) ;
         If LN$Pos = 0 Then LN$Pos := LN$Max ; End if ;
         If LN$Pos > 0 Then
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LOG', 'true' );
              -- Add the new item --
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_NEW_REC', to_char(LN$Rec) );
              -- Set some properties --
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LABEL', to_char(LN$Rec) || ',' || :EMP.ENAME );
              If :EMP.JOB = 'MANAGER' Then
                Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FONT', to_char(LN$Rec) || ',Arial,bold,14' );
                Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FGCOLOR', to_char(LN$Rec) || ',0,0,255' );
              End if ;
              If :GLOBAL.I > 250 Then :GLOBAL.I := 5 ;
              Else  :GLOBAL.I := :GLOBAL.I + 5 ;
              End if ;     
              LC$C := To_Char(LN$Rec) || ','
                   || To_Char(255) || ','
                   || To_Char(255-:GLOBAL.I) || ','
                   || To_Char(255-:GLOBAL.I) ;    
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_BGCOLOR', LC$C );
              Synchronize;
         End if ;
    end;When-Create-Record trigger:
    declare
         LN$N    pls_integer ;
         LN$Rec  pls_integer := :system.cursor_record ;
         LC$C    Varchar2(15) ;
    Begin     
         if get_block_property('EMP',TOP_RECORD) > 1 Then
              LN$n := :system.cursor_record - get_block_property('EMP',TOP_RECORD) + 1 ;
         else
              LN$N := :system.cursor_record ;
         end if;
         If LN$N > 0 Then
              Set_Custom_Property('EMP.BT', LN$n, 'SET_LOG', 'true' );
              -- Add the new item --
              Set_Custom_Property('EMP.BT', LN$n, 'SET_NEW_REC', to_char(LN$Rec) );
         End if ;
    end;Post-Query trigger:
    declare
         LN$Pos  pls_integer ;
         LN$Rec  pls_integer := Get_Block_Property('EMP', CURRENT_RECORD) ;
         LN$Max  pls_integer := Get_Block_Property('EMP', RECORDS_DISPLAYED) ;
         LC$C    Varchar2(15) ;
    Begin     
         LN$Pos :=  LN$Rec - (trunc(LN$Rec/LN$Max) * LN$Max) ;
         If LN$Pos = 0 Then LN$Pos := LN$Max ; End if ;
         If LN$Pos > 0 Then
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LOG', 'true' );
              -- Add the new item --
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_NEW_REC', to_char(LN$Rec) );
              -- Set some properties --
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_LABEL', to_char(LN$Rec) || ',' || :EMP.ENAME );
              If :EMP.JOB = 'MANAGER' Then
                Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FONT', to_char(LN$Rec) || ',Arial,bold,14' );
                Set_Custom_Property('EMP.BT', LN$Pos, 'SET_FGCOLOR', to_char(LN$Rec) || ',0,0,255' );
              End if ;
              If :GLOBAL.I > 250 Then :GLOBAL.I := 5 ;
              Else  :GLOBAL.I := :GLOBAL.I + 5 ;
              End if ;     
              LC$C := To_Char(LN$Rec) || ','
                   || To_Char(255) || ','
                   || To_Char(255-:GLOBAL.I) || ','
                   || To_Char(255-:GLOBAL.I) ;    
              Set_Custom_Property('EMP.BT', LN$Pos, 'SET_BGCOLOR', LC$C );
              Synchronize;
         End if ;
    end;Don't forget to copy the multirecord.jar file in your /forms/java folder, then add it to the archive and archive_jini tags of your /forms/server/formsweb.cfg file.
    Enjoy it,
    Francois

Maybe you are looking for

  • Getting the result from a field in a different class...

    Right okay, here's the problem. When ever I compile and run the program, it gives me null. public void destError()           Journey journ = new Journey();           if (h.equalsIgnoreCase("Scotland"))                System.out.println(journ.scotland

  • Very slow (20 minutes) log on. Plse help.

    Hi, For months, we are having slow logon-issues on our network. I have googled a lot but have not found the answer yet. I have already gathered quite some data, so I hope it will be easy for you experts to pinpoint the cause. - (Virtualized) SBS 2008

  • Time Machine Won't Recognize Previous BackUps transfered to new iMac

    I just bought a new iMac and used the assistant wizard to transfer all the files from my previous Mac (a dual 2GHz G5). No problem. I have several external drives and one main (1TB) drive that I use as the TM backup drive. When I went to make my firs

  • Third party PO Process -Looking for better solutions

    what would be best solution for the below business process We have one corporate headquarters(A) which has 3 plants(Plants X,Y and Z). Corp.HQ (A) deals negotiation with one supplier directly and buys the materials and responsible for the payment. bu

  • IMAC Flash Player Quit Unexpectedly

    Previously working fine and a couple days ago I get the message that Flash player quit unexpectedly