Hello, in this video I will show you how you can use a programmatic view object in your ADF application. So here in it just create a simple ADF application called programmatic view object application with one entity, one view object. So here I need to create one programmatic view object and I need to use it in if page in a JSF page what I need to do I need to make the user to enter multiple departments and he will should see what is the departments he entered. And after that he bris insert and it will take all departments which he inserted and insert it straightaway in the database. So I will just create a simple programmatic view object so I will right click new view object I will I will create a normal view object Okay I will can see I can say for example, this is me we programmatic a report mints view and I will select the source to be programmatic Okay.
Next here it will ask you about what to enter what is attribute you want in this programmatic view object. So I will select here new and I will see called here it dept ID and this is of type integer and we can see the name and it is a string that's enough all you need is just to enter knows ID and Name you can enter measure or location and any number of attributes you want. Then I have written against this department he asked you if you want to key Okay I will be otherwise it will ask you if you want to make a key so I will can make this department ID as a key attribute you can ignore it if you don't want it okay generate view embedded under Europe euro embedded okay next, I need to edit in the application module okay I will select my application module to insert this view object, take an insert and insert it to the application module, Next and Finish.
Okay. So this is if you back here to the steps, we create new view object and select the data source programmatic greeting our attribute so in the third step, so we should change the database to be always so I will go here attribute you will find two attributes which we defined I will say makes a bit of work to be always here and this is I will make it to be okay let's the sips is Java tab I will select the Java MB and run the Rubik loss and I will change the extended programmatic bureau image to be centered funeral emblem. So, here after you define this, I will go to the Java they will find Java embed and throw embed. So I will select in view and here you will find it is extended programmatic view object ml I will remove this programmatic and they will just select an extended view object ml and he will ask me to insert it on boarded Okay, so I will import or placebo server then I will remove this collection and all this stuff, I want it to be simple like this.
This is for programmatic. This is for those of you and they will do the same as if you embed it in programmatic I will make this seem like a living revision by default is like this. And I like this way. I don't want any complication. I just want to add my own rows. So I will remove as well, this three that's all okay.
So now, our view object is ready to be used. So, in the application module, I just will double check it is existed here, okay as instance. So now, let us create that View JSF page okay and we can work with this programmatic view object. Okay, so in this page I just need to let the user enter department ID and Name and the insert department name and insert and actually it will insert in the programmatic view object and after that, the user will press Save and it will take all inserted departments and save it all in the database. So I will here add for normal for it is not from the binding just in multicast it will not map to any thing so I will add here banner for the output and the benefits Do it we can surround it with Ben group. And inside suspended form I will add in both tickets as a department and that input text as a department name.
So here you'll see it D okay and I needed to be required and it dipped in name on the record and then use the footer to have an bottom to say See or no save insert Okay, this is just a symbol for as to input text and one bottom okay so let us know you have two option to get the data from this info tickets from ziplock bean you can add the value here define the variable in the bag bean and add it here or you can bind this component and delete it from the component we can do this binding so I will bind both of them and the back pain so I will define back pain. Okay, I think you should be able to do this. They will add into a package called bean and this is a request scope. Okay, this is about pain and I will Define property name will be the ID component okay and here I will define point.
So the name okay. So is that I am in the back been I will be able to get this component and tickets a value, which is a user will enter it in the insert I need to add an action listener insert okay. After the user press insert tip what I need to do I need to insert is a value which is a user entered here in the programmatic view or object and clears the value so that he will be entered the second department and so on. So I will drag the department programmatic departments here as a table, read only table as a read only TF table. For the programmatic don't enable any filtering because there is no query. Okay, and even no sorting.
Don't need any of this because if you make any sorting, sorting, sorting or filtering, it executes the query which is there is no query so it will filter it will clear the data from the programmatic view object. So I just want you to be read only and single, single row selection and read only table is a programmatic object if you get the view object in xebec. Bean and write re execute query if you execute a query, the programmatic view object will be cleared If you invoke or rollback the programmatic view options will be clear as well. So here's this is a table I just want to make some space between them. Or you can send show into this was banner box and you're in certain depths okay. And this will be insert tips if you want to remove any of the inserted one if you want to delete it, you can add here a column and I will drag here, operation, delete as a bottom to delete says okay normal view object with the same operation create delete in the programmatic view object.
However, this programmatic object is not mapped to any query or any table or anything, just at runtime. So user can insert some row or delete some rows from this view object. Okay, so now I need once a user, enter the value here and press insert, this value should be inserted in this programmatic view object. And we can add here one button call, save, and it will take all see, so again, what actually we need to implement. In this. I need the user to enter department ID and department name and the person search what happened, what will happen.
The data from this input tick is to insert it here in the programmatic view object and the value here will be clean. Clear the user enter another department ID and Name press insert, the data will be inserted new one here. So, the user will see all departments which he already inserted. And once the user is happy, he can delete any of the inserted departments or he can say once he please save, all the departments in this programming object should be inserted into the database. And this programmatic job should be clear. This is what we will do is an activity.
So see you next activity