Visual Builder

Get Involved. Join the Conversation.


  • Shay Shmeltzer

    Try and see if calling a Reset Variable action on the variable that populate the table before doing the new fetch helps.


  • Shay Shmeltzer

    Depends on what is backing your table.

    If it is an ArrayDataProvider (which you will need if you want to further edit the row) - then just add a row to the array in the data[] array in your ADP.

    If it is an ServiceDataProvider - then add a row to the backend data source, and do an dataProvider Event - refresh in your action chain.

  • Shay Shmeltzer

    This document is specifying what Oracle provides in that space -

    The short answer is that for VB, while we take care of backup and high availability, it will be up to you to implement disaster recovery.

    For the DB part you should be able to use the command line export utility to backup your data.

    If you'll use a regular database - you should be able to leverage further backup utilities that the Oracle DB provides - but that might be a better question on the DBCS forum.

  • Shay Shmeltzer

    You should probably have two options for how you display each field - one for edit mode and one for none.

    Something like:

                <template slot="deptNameTemplate" data-oj-as="cell">
                  <oj-bind-if test='[[cell.mode=="navigation"]]'>
                    <oj-bind-text value="[[]]"></oj-bind-text>
                  <oj-bind-if test='[[cell.mode=="edit"]]'>
                    <oj-input-text id="it1" value="{{cell.row.DepartmentName}}" ></oj-input-text>

    (From the JET cookbook -

    Then when you switch the edit-mode to none - the table will switch to use non input components and the user won't be able to edit.

  • Sweta Singh

    Hi Sunil,

    Thanks for your response. This solution works.

    But i got another issue here. Actually i am adding filter criteria in the SDP in an action chain on button click. This SDP populates the table data.

    In the action chain itself i have to get the table row values in a CallModuleFunction after the filter criteria is applied in SDP. But the SDP is not getting data immediately, giving SDP.getTotalSize() = -1. 

    It gets the data once the action chain completes and then table is loaded. But i need the table to be loaded with SDP data immediately after applying filter criteria in the action chain.

    Could you please suggest a way how can we make this possible?



  • Mohana Gopal Selvam

    Hi Shay,

    Could you help me to resolve this?



  • Hugo Zandt

    Thanks for the tip. I've managed to solve the vertical alignment issue by applying a css class to the form layout elements themselves which sets the width to 20%.

  • John Ceccarelli

    There is no simple way to do this today. If it's a page you want to copy over, create a new blank page in the other app and then copy/paste the JSON, HTML, and JS from one to the other.

  • Preetesh Dongre

    Hi Shay,

    Thanks for a quick response.

    That's exactly I tried(had a variable and setting it's value as none or rowEdit based on a condition) but it didn't help.

    Then I removed the value from edit-mode property so now the default value is 'none' and in this case also I can see the table as editable.

    Screenshot attached.



  • NG NG

    Thanks Shay graphData ADP is having correct data only.

    I added Fire DataProvider action after updating my ADP data and it worked!! 

    Many Thanks for your guidance!!

  • Shay Shmeltzer

    This blog shows how to work with the array data in ADP:

    Working with ArrayDataProviders in JavaScript Functions in Visual Builder

    Note that you would want to pick reset to empty in the assign operation back from JS to the ADP.

  • Shakila Murugan

    Hi Shay, Thanks for response

    I attached one image.

    when i click search button to filter the data in that table.

    i ll write js module function using search request fields then how to pass that value to table data(ADP type). 




  • dquesada

    Hi Shay,  thanks for answering my questions, this rest service result is for  REST API for Oracle Integration,  i am getting the information of a process task, this task has all the information in a business object(bOOrdenPedido), i consuming this api 



  • Shay Shmeltzer

    The basic of triggers is here:

    About Triggers for Business Objects                               

    So if you have an Emp object and a Dept object - then you can have a trigger where on every insert to Emp you do an update to Dept as shown in the picture.

    You might want to instead do this with a groovy function that will check if a value is in the table already and if not will add a row.

    Example of developing a groovy function:


  • Shay Shmeltzer

    Is there a way for you to change the REST service so it won't return the . in the name?

    So instead of 

        "bOOrdenPedido.cantidad": "asd",



        "bOOrdenPedidoCantidad": "asd",


    If not:

    Did you define your OrdernDePedido variable based on the endpoint using the wizard or did you define each field manually?

    I'm wondering if changing the structure of your destination object to be with another level would work: