CreateInsert pushbutton at bottom of table/iterator and linenum
ENVIRONMENT: 11gR1 / Oracle10g database
Hi,
I'm using pushbutton bound to createInsert for a detail iterator. In various pages, I'm using <af:table> or <af:iterator>. In both situations, it adds rows at the top of the top or above the previous row in an <af:iterator>
Ideally I'd like to add at the bottom.
I'm wondering how I can do that. I tried making an AM method with something as follows and binding to a button, put it doesn't refresh the page to show the new row.
peudocode
newRow = vo.createRow();
newRow.setAttribute(x,y);
vo.insertRowAtIndex(vo.getRowCount());Is this the right approach?
I also have a LineNum attribute that I'd like to autoincrement from 1 to x for every unique key. Using a databse sequence would autoincrement from the last value regardless of a unique key, not start at 1 for each new unique key.
Thanks in advance.
After you add a row you can sort and refresh the table in such a way that the new row to appear at the bottom. That depends on the sql query.
you can use af:table varStatus to have unique number.
varStatus="vst"
"#{vst.index}"
Edited by: puthanampatti on Oct 28, 2009 5:05 PM
Similar Messages
-
How do you have the bottom stroke of a table show up using Table Styles and Cell Styles only?
I am using InDesign CS6, and I want to create a Table Style that has the bottom stroke show up, but does not have a table border, such as:
However, whenever I try to change the Table or Cell strokes so that the last stroke shows up, I get the entire table border, or some strange combination of borders:
Does anyone have any insight on how I can get the bottom stroke to show up while preserving my other stroke properties? Since I work with long documents, it's necessary to be able to control all of my tables through Table Styles and Cell Styles, and not by manually changing each and every table with the Stroke palette.
For reference, here are the my current Table Style properties and the resulting table:Michael Murphy is the InDesign style-meister. He wrote "Adobe InDesign Styles" for Adobe Press, and did a great Lynda.com title on InDesign styling. Here's what he says in the book:
"As mentioned at the beginning of this chapter, with all the power of table and cell styles, it is important to understand not only how they work and what they can do for you, but also to understand their limitations.
"Two formatting features missing in table and cell styles have already been discussed: You will always have to set the column width and row height of cells when applying a table style for the first time, and you will always have to convert body rows to header and/or footer rows every time you apply a table style for first time or update the table's data....
"But there's another kind of limitation that's important to keep in mind as you are designing tables: It is very easy to design a table that cannot be completely defined by a table style. In many cases, you'll need to define an extra cell style or two that lets you complete for formatting. [my emphasis]."
So I think that's what you have to do: Apply another cell style on top of the cells at the bottom of the table after applying the table style. -
How to clear rows from iterator and re-fetch fresh data from the table ?
Hi,
I am using JDev 11.1.1.2.0
I have generated JPA Service Facade and by using it, I have created Data Control which finally I have dragged & dropped on my .jsff file.
In viewObject, there is a method clearCache() to clear the viewObject data.
Iterator has also one method clear() but when it invoked, ADF framework throws StackOverFlow error.
So, I want to clear my iterator before calling executeQuery() method.
How Can I clear it ?
Because In my case if I run executeQuery() method on DCIteratorBinding, it is not getting updated with the lates value from DB table.
So I want to clear all the rows from iterator and then want to call executeQuery() method to updated latest data from DB tables.
I have also tried below peace of code to refresh iterator but still iterator getting updated with two same rows () while in DB it is proper.
FacesContext fctx = FacesContext.getCurrentInstance();
ValueBinding dcb =
fctx.getApplication().createValueBinding("#{bindings}");
DCBindingContainer iteratorbindings =
(DCBindingContainer)dcb.getValue(fctx);
DCIteratorBinding dciter =
iteratorbindings.findIteratorBinding(<iteratorname>);
dciter.releaseData();
dciter.executeQuery();
dciter.refresh(DCIteratorBinding.RANGESIZE_UNLIMITED);
regards,
devangHi,
Have you try to drag and drop to your refresh or query button an "Execute" operation from the Data Control Pallete?
We are using JPA/ EJB Session Beans and that works for us.
regards,
pino -
Unicode export:Table-splitting and package splitting
Hi SAP experts,
I know there are lot of forums related to this topic, but I have some new questions and hence posting a new thread.
We are in the process of doing unicode conversion in our landscape(CRM 7.0 system based on NW 7.01) and we are running on AIX 6.1 and DB2 9.5. The database size is around 1.5 TB and hence, we want to go in for optimization for export and import in order to reduce the downtime.As a part of the process, we have tried to do table-splitting and parallel export-import to reduce the downtime.
However, we are having some doubts whether this table-splitting has actually worked in our scenario,as the export has exeucted for nearly 28 hours.
The steps followed by us :
1.) Doing the export preparation using SAPINST
2.) Doing table splitting preparation, by creating a table input file having entries in the format <tablename>%<No.of splits>.Also, we have used the latest R3ta file and the dbdb6slib.o(belonging to version 7.20 even though our system is on 7.01) using SAPINST.
3.) Starting with the export using SAPINST.
some observations and questions:
1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
2.) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th split. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
3.) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
4.) Also, what exactly is the difference between table-splitting and package-splitting? Are they both effective together?
If you have any questions and or need any clarifications and further inputs, please let me know.
It would be great, if we could get any insights on this whole procedure, as we know a lot of things are taken care by SAPINST itself in the background, but we just want to be certain that we have done the right thing and this is the way it should work.
Regards,
Santosh BhatHi,
First of all please ignore my very first response ... i have accidentally posted a response to some other thread...sorry for that
Now coming you your questions...
> 1.) Can package splitting and table-splitting be used together? If yes or no, what exactly is the procedure to be followed. As I observed that, the packages also have entries of the tables that we decided to split. So, does package splitting or table-splitting override the other, and only one of the two can be effective at a time?
Package splitting and table splitting works together, because both serve a different purpose
My way of doing is ...
When i do package split i choose packageLimit 1000 and also split out the tables (which i selected for table split) into seperate package (one package per table). I do it because that helps me to track those table.
Once the above is done i follow it up with the R3ta and wheresplitter for those tables.
Followed by manual migration monitor to do export/import , as mentioned in the previous reply above you need to ensure you sequenced you package properly ... large tables are exported first , use sections in the package list file , etc
> 2.) If you are well versed with table splitting procedure, could you describe maybe in brief the exact procedure?
Well i would say run R3ta (it will create multiple select queries) followed by wheresplitter (which will just split each of the select into multiple WHR files) ...
Best would go thought some document on table spliting and let me know if you have specific query. Dont miss the role of hints file.
> 3.) Also, I have mentioned about the version of R3ta and library file in my original post. Is this likely to be an issue?Also, is there a thumb rule to decide on the no.of splits for a table.
Rule is use executable of the kernel version supported by your system version. I am not well versed with 7.01 and 7.2 support ... to give you an example i should not use 700 R3ta on 640 system , although it works.
>1.) After completion of tablesplitting preparation, there were .WHR files that were generated for each of the tables in DATA directory of export location. However, how many .WHR files should be created and on what basis are they created?
If you ask for 10 split .... you will get 10 splits or in some case 11 also, the reason might be the field it is using to split the table (the where clause). But not 100% sure about it.
> 2) I will take an example of a table PRCD_CLUST(cluster table) in our environment, which we had split. We had 29 *.WHR files that were created for this particular table. The number of splits given for this table was 36 and the table size is around 72 GB.Also, we noticed that the first 28 .WHR files for this table, had lots of records but the last 29th .WHR file, had only 1 record. But we also noticed that, the packages/splits for the 1st 28 splits were created quite fast but the last one,29th one took a long time(serveral hours) to get completed.Also,lots of packages were generated(around 56) of size 1 GB each for this 29th plit. Also, there was only one R3load which was running for this 29th split, and was generating packages one by one.
Not sure why you got 29 split when you asked for 36, one reason might be the field (key) used for split didn't have more than 28 unique records. I dont know how is PRCD_CLUST split , you need to check the hints file for "key". One example can be suppose my table is split using company code, i have 10 company codes so even if i ask for 20 splits i will get only 10 splits (WHR's).
Yes the 29th file will always have less records, if you open the 29th WHR you will see that it has the "greater than clause". The 1st and the last WHR file has the "less than" and "greater than" clause , kind of a safety which allows you to prepare for the split even before you have downtime has started. This 2 WHR's ensures that no record gets missed, though you might have prepared your WHR files week before the actual migration.
> 3) Also,Our question here is that is there any thumb rule for deciding on the number of splits for a table.Also, during the export, are there any things that need to be specified, while giving the inputs when we use table splitting,in the screen?
Not aware any thumb rule. First iteration you might choose something like 10 for 50 GB , 20 for 100 GB. If any of the tables overshoots the window. They you can give a try by increase or decrease the number of splits for the table. For me couple of times the total export/import time have improved by reducing the splits of some tables (i suppose i was oversplitting those tables).
Regards,
Neel
Edited by: Neelabha Banerjee on Nov 30, 2011 11:12 PM -
Change the current row in an iterator and reflect the change on page
Hi there,
I have a jspx with a creation form created as usual draging and droping the data control. In same page, I inserted a commandButton which ActionListener executes a method in a managed bean called validate(). Through such a method what Im trying to do is to fill the form with data from specified entry of the database if certain condition is true. I know it is kinda twisted but unfortunately is the requirement for the page.
So basically in "validate" method, if the condition I mentioned is reached, I do the following:
// execute a Rollback (included in Page Definition) in order to cancel the previous auto-invoked "Create".
FacesContext context = FacesContext.getCurrentInstance();
Application app = context.getApplication();
BindingContainer bindings =(BindingContainer)app.getVariableResolver().resolveVariable(context,"bindings");
OperationBinding opBinding = bindings.getOperationBinding("Rollback");
opBinding .execute();
//get the iterator and asociated VO from the binding container
ValueBinding vb = app.createValueBinding("#{bindings.AccountsVOIterator}");
DCIteratorBinding dciter = (DCIteratorBinding) vb.getValue(FacesContext.getCurrentInstance());
ViewObject view = dciter.getViewObject();
//and set the current row with the specified entry I have mentioned above.
Object keyValues[] = new Object[2];
keyValues[0] = "1"; keyValues[1] = "98543";
Row[] row = view.findByKey(new Key(keyValues),1);
AccountsVpnVORowImpl client = (AccountsVpnVORowImpl)row[0];
view.setCurrentRow(client);
view.executeQuery();
dciter.setCurrentRowWithKey(client.getKey().toStringFormat(true));
dciter.executeQuery();
opBinding = bindings.getOperationBinding("Execute");
opBinding.execute();
All this works perfectly when I debbug it but I cannot see the changes in the page(even refreshing browser). I need that when such a condition is met, the creation form turns into a modify-specific entry form, filling all fields with the specific data in order user can modify it, and all in the same page.
Any clue?
Thanks so much in advance for your time.Hi,
I could see the problem with call to executeQuery and execute methods at the end of your method which re-sets the current row.
Once you set the current row you should not call execute or executequery methods. Try removing those calls and also make sure that you have added partialTriggers property on the table is set to commandbutton id and partialSubmit property is set to true on commandButton to refresh the table partially on click of a button
Sireesha -
Table headings and column/row sizes
I have mapped my FM table format to a table style defined in my CSS. However, I have the following issues with the resulting RoboHelp tables:
I have a header row in the FrameMaker table, but the header doesn't come over into RH. All of the table rows are <td> instead of <th>. Therefore, the shading defined in my CSS for the table header row does not appear.
A bunch of inline formatting that I don't want is coming over, defining the table width and the row width and height. Here's an example:
<table class="formatA" cellspacing="0" width="600">
<tr style="height: 18.00pt;">
<td style="vertical-align: top; padding-left: 6.00pt; padding-top: 3.00pt;
padding-right: 6.00pt; padding-bottom: 3.00pt;" width="198"><p>Report/Visualization</p></td>
<td style="vertical-align: top; padding-left: 6.00pt; padding-top: 3.00pt;
padding-right: 6.00pt; padding-bottom: 3.00pt;" width="402"><p>Description</p></td>
</tr>
Is there any way to get RH to recognize table header rows?
Also, is there any way to prevent the size information from coming over? What I'd like is for the table width to be 100% and the cell widths and heights to be determined by their content (which would happen automatically if the inline formatting weren't added).
If there isn't a way to accomplish this, then I'd probably be better off not trying to map the table styles and just going with "Source". The sizes would still be fixed, but at least the shading would appear.Forget FM for a moment. I think that if you create a table in RoboHelp using TH you will find RoboHelp simply does not understand TH.
The more people who report a bug or request a feature, the more likely it is to be actioned. Please follow this link.
http://www.Adobe.com/cfusion/mmform/index.cfm?name=wishform&product=38
See www.grainge.org for RoboHelp and Authoring tips
@petergrainge -
Difference between af:iterator and af:foreach
guys,
whats the difference between af:iterator and af:foreach ?The documentation for af:iterator describes the differences:
http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_iterator.html
While the <af:forEach> will be sufficient for most user's needs, it does not work with a JSF DataModel, or CollectionModel. It also cannot be bound to EL expressions that use component-managed EL variables (such as the >"var" variable on an <af:table>). The <af:iterator> tag was created to address these issues. Thanks,
Navaneeth -
Strange Region Permission error on table iterator
Adf 11g
Hello
I have an unbounded task flow containing a page.
On this page there is a bounded task flow as a region.
The main page of the bounded task flow contains several panel collections,
each panel collection contains an af:table.
A select once choice has been put on the bounded task flow page for navigation
which via ppr refreshes the tables.
If I use the select one choice to navigate and the tables are empty no error occurs.
However if I use the select one choice to navigate and if any of the tables are not empty I get the
following error(s)) in the log - there is one error for each non empty table iterator.
[JpsAuth] Check Permission
PolicyContext: [trac#V2.0]
Resource/Target: [sessiondef.ui_pages_transaction_mainTransactionPageDef_SttTransactionSellView_0_DynamicRegion]
Action: [view]
Permission Class: [oracle.adf.share.security.authorization.RegionPermission]
Result: [FAILED]
For more information on this failure, please set -Djps.auth.debug.enable=true
[JpsAuth] Check Permission
PolicyContext: [trac#V2.0]
Resource/Target: [sessiondef.ui_pages_transaction_mainTransactionPageDef_SttTransSellCollateralView_0_DynamicRegion]
Action: [view]
Permission Class: [oracle.adf.share.security.authorization.RegionPermission]
Result: [FAILED]
For more information on this failure, please set -Djps.auth.debug.enable=true
[JpsAuth] Check Permission
PolicyContext: [trac#V2.0]
Resource/Target: [sessiondef.ui_pages_transaction_mainTransactionPageDef_SttTransactionBuyView_0_DynamicRegion]
Action: [view]
Permission Class: [oracle.adf.share.security.authorization.RegionPermission]
Result: [FAILED]
For more information on this failure, please set -Djps.auth.debug.enable=trueThe application is secured by form based authentication.
The main page of the unbounded task flow has been granted the view option as
has the bounded task flow used as a region.
Can anybody explain these errors ?
Why is there a dynamic region mentioned for each iterator and why is the
system looking for a view grant on this (non existant) dynamic region ?
Where do I set the -Djps... option ?
Regards
PaulHi,
don't think it has directly to do with the iterator. My assumption is that each table is queried in its own request and therefore the authorization on the Pagedef file is tested as many times. All of them fail, which is odd since they are in a bounded task flow and should not be security checked. Did you apply security to the page in the bounded task flow (its not necessary). Is the page built on a page template that provides the binding for the table ? If so then the pageDef file of the template needs to be secured as well
Frank -
What is difference between Iterator and Collection Wrapper?
Hi all,
I dont understand the actual difference between Iterator and Collection Wrapper. I observed both are used for the same purpose. Could any one please let me know when to use Collection Wrapper and when to use Iterator??
Thanks,
Chinnu.L_Kiryl is right.
Collections support global iteration (through collection->get_next( )) and local iteration (through iterator->get_next( )).
Each collection has a focus object. Initially, the first object has the focus.
Any global iteration moves the focus, which is published by the event FOCUS_CHANGED of the collection.
If you want to iterate on the collection without moving the focus (and without triggering timeconsuming follow-up processes) you can use local iteration. To do so, request an iterator object from the collection and use this to iterate.
And one more advantage of using iterator: it takes care of deleted entities. If you use global iteration then when you reach deleted entity it will be an exception. But there is no exception with iterator in the same situation. -
What is difference between table space and shchema
what is difference between table space and shchema ?
784633 wrote:
so each user has it own space of tables - schema ?yes, but let's clarify a bit ....
The "schema" is the collection of all objects owned by a particular user. So if user SCOTT creates two tables, EMP and DEPT, and a view EMP_RPT, and a procedure GET_MY_EMP, those objects (tables, views, procedures) collectively make up the SCOTT schema.
Those objects will be physically stored in a tablespace.
A tablespace is a named collection of data files. So tablespace USERS will be made up of one or more data files. A specific datafile can belong to one and only one tablespace. If a tablespace has more than one data file, oracle will manage those files as a collection invisible to the application - much like the OS or disk subsystem handles striping across multiple physical disks.
A specific object in the SCOTT schema can exist in only one tablespace, but not all objects of the schema have to be in the same tablespace. Likewise a tablespace can contain objects from multiple schemas.
and can one user to access tables of other users?As others have said - FRED can access tables belonging to SCOTT as long has SCOTT has granted that access to FRED. -
Key fields in tables ce31000 and ce41000
In transaction KE11 ( change sales and profit plan ), tables CE31000 and CE41000 are used. I have to read those tables in a report but I cannot find the relevant keys to find unique records. There are some fields I know, but using those fields I get about 300 records where I only should have one. I guess I should use another table which has the link to the other tables, but I have no idea which. Does anybody have a clue ?
As far as I remember there are 4 tables per operating concern, CE1xxxx for tha actuals, CE2xxxx for the planning, CE3xxxx for the summary lines and CE4xxxx for the objects.
Depending on the defined characteristics there is one PAOBJNR in CE4xxxx for each existing combination. In CE3xxxx you should also find this PAOBJNR. At the moment I have no access to a SAP with COPA, but I hope, this helps you a little bit for the further search.
Best regards
André -
Table Backup and Best Practice
Hi Guys,
We have 2 tables, master and child with millions of records in it.These tables gets populated from flat files that we receive from external systems.The major operation on this table are insert/delete(update). The way we do update is, if the record from flat file already exist in table we delete the matching record from master table & child table and re-insert the data from flat files.
Business has decided to delete (archive) old and inactive data from these 2 tables. This process is run every year. I want to take a backup of this table by creating a similar table in database and start the delete process.
What would be the best approach to take backup of table,because we run the archive process every year. Archive process here refers to physically deleting a record from a table.
Any help is greatly appreciated.922855 wrote:
Hi Guys,
We have 2 tables, master and child with millions of records in it.These tables gets populated from flat files that we receive from external systems.The major operation on this table are insert/delete(update). The way we do update is, if the record from flat file already exist in table we delete the matching record from master table & child table and re-insert the data from flat files.
Business has decided to delete (archive) old and inactive data from these 2 tables. This process is run every year. I want to take a backup of this table by creating a similar table in database and start the delete process.
What would be the best approach to take backup of table,because we run the archive process every year. Archive process here refers to physically deleting a record from a table.
Any help is greatly appreciated.expdp -
Why table getWidth and setWidth is not working when resize column the table
hi all,
i want to know why the setWidth is not working in the following code,
try to uncomment the code in columnMarginChanged method and run it wont resize the table.
i cont set width(using setWidth) of the other table column using getWidth of the main table column.
and i want to resize the right side columns only (you can check when you resize the any column the left and right side columns also resizing)
any suggestions could be helpful.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.TableColumnModelEvent;
import javax.swing.event.TableColumnModelListener;
import javax.swing.table.TableColumnModel;
public class SynTableResize extends JFrame implements TableColumnModelListener, ActionListener
JTable table1 = new JTable(5, 5);
JTable table2 = new JTable(5, 5);
JTable table3 = new JTable(5, 5);
JButton btn = new JButton("refresh");
JPanel pnlcontainer = new JPanel();
public SynTableResize()
setLayout(new BorderLayout());
pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
pnlcontainer.add(table1.getTableHeader());
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table2);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table3);
table2.setTableHeader(null);
table3.setTableHeader(null);
table1.getColumnModel().addColumnModelListener(this);
table3.setColumnModel(table1.getColumnModel());
table2.setColumnModel(table1.getColumnModel());
table2.getColumnModel().addColumnModelListener(table1);
table3.getColumnModel().addColumnModelListener(table1);
btn.addActionListener(this);
getContentPane().add(pnlcontainer, BorderLayout.CENTER);
getContentPane().add(btn, BorderLayout.SOUTH);
setSize(new Dimension(400, 400));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
new SynTableResize();
public void columnAdded(TableColumnModelEvent e)
public void columnMarginChanged(ChangeEvent e)
TableColumnModel tcm = table1.getColumnModel();
int columns = tcm.getColumnCount();
for (int i = 0; i < columns; i++)
table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getWidth());
// the following commented code wont work.
// table2.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
// table3.getColumnModel().getColumn(i).setPreferredWidth(tcm.getColumn(i).getPreferredWidth());
// table2.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
// table3.getColumnModel().getColumn(i).setWidth(tcm.getColumn(i).getWidth());
SwingUtilities.invokeLater(new Runnable()
public void run()
table2.revalidate();
table3.revalidate();
public void columnMoved(TableColumnModelEvent e)
public void columnRemoved(TableColumnModelEvent e)
public void columnSelectionChanged(ListSelectionEvent e)
public void actionPerformed(ActionEvent e)
JTable table = new JTable(5, 5);
table.setColumnModel(table1.getColumnModel());
table.getColumnModel().addColumnModelListener(table1);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(table);
pnlcontainer.validate();
pnlcontainer.repaint();
}thanks
dayananda b vhi,
thanks for your replay,
yes i know that, you can check the following code it works fine.
actually what i want is, when i resize table column it shold not automaticaly reszie when table resized and i dont want horizontal scroll bar, meaning that all table columns should resize with in the table size(say width 300)
if i make table autoresize off than horizontal scroll bar will appear and the other columns moved and i want scroll to view other columns.
please suggest me some way doing it, i tried with doLayout() no help,
doLayout() method only can be used when table resizes. first off all i want to restrict table resizing with in the limited size
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.event.ChangeEvent;
import javax.swing.table.TableColumnModel;
public class TempSycnTable extends JFrame
JTable table1 = new JTable(5, 5);
MyTable table2 = new MyTable(5, 5);
MyTable table3 = new MyTable(5, 5);
JPanel pnlcontainer = new JPanel();
public TempSycnTable()
JScrollPane src2 = new JScrollPane(table2);
JScrollPane src3 = new JScrollPane(table3);
// table1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table2.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// table3.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
// src2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
// src3.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
table2.setTableHeader(null);
table3.setTableHeader(null);
table3.setColumnModel(table1.getColumnModel());
table2.setColumnModel(table1.getColumnModel());
table2.getColumnModel().addColumnModelListener(table1);
table3.getColumnModel().addColumnModelListener(table1);
table2.setTableHeader(null);
table3.setTableHeader(null);
setLayout(new BorderLayout());
pnlcontainer.setLayout(new BoxLayout(pnlcontainer, BoxLayout.Y_AXIS));
pnlcontainer.add(table1.getTableHeader());
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(src2);
pnlcontainer.add(Box.createVerticalStrut(5));
pnlcontainer.add(src3);
getContentPane().add(pnlcontainer, BorderLayout.CENTER);
setSize(new Dimension(300, 300));
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
public static void main(String[] args)
new TempSycnTable();
class MyTable extends JTable
public MyTable()
super();
public MyTable(int numRows, int numColumns)
super(numRows, numColumns);
public void columnMarginChanged(ChangeEvent event)
final TableColumnModel eventModel = table1.getColumnModel();
final TableColumnModel thisModel = getColumnModel();
final int columnCount = eventModel.getColumnCount();
for (int i = 0; i < columnCount; i++)
thisModel.getColumn(i).setWidth(eventModel.getColumn(i).getWidth());
repaint();
}thanks
daya -
hi frds
Give me table name and field name of OPEN PO QUANTITY ..
thanks
Pari Vendhan.RSee the sample code for the open PO's based on Vendor
and do accordingly
*& Report ZMM_PO_REPORT
REPORT ZMM_PO_REPORT message-Id yb
NO STANDARD PAGE HEADING
LINE-COUNT 60(1)
LINE-SIZE 230.
D A T A B A S E T A B L E S D E C L A R A T I O N
TABLES: lfa1, " Vendor Master
t161, " PO Doc Types
t024, " Purchase Groups
ekko. " PO Header
T Y P E S D E C L A R A T I O N S
Purchase Orders Main Structure
TYPES: BEGIN OF s_po,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bukrs TYPE bukrs, " Company Code
bsart TYPE bbsrt, " PO Type
lifnr TYPE lifnr, " Vendor No
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
END OF s_po.
Purchase Orders History Structure
TYPES: BEGIN OF s_account,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
gjahr TYPE mjahr, " Fiscal Year
belnr TYPE mblnr, " PO Invoice No
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Local Currency
dmbtr TYPE dmbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
shkzg TYPE shkzg, " Dr/Cr Indicator
END OF s_account.
Purchase Orders History Structure(Item Sum)
TYPES: BEGIN OF s_inv_sum,
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
menge TYPE menge_d, " PR Quantity
wrbtr TYPE wrbtr, " Price in Foreign Currency
waers TYPE waers, " Currency
END OF s_inv_sum.
Purchase Orders Main Structure
TYPES: BEGIN OF s_rep,
lifnr TYPE lifnr, " Vendor No
ebeln TYPE ebeln, " PO No.
ebelp TYPE ebelp, " PO Item
bstyp TYPE bstyp, " PO Category
bsart TYPE bbsrt, " PO Type
ekgrp TYPE bkgrp, " Purchase Group
waers TYPE waers, " Currency
bedat TYPE etbdt, " PO Date
txz01 TYPE txz01, " Material Text
werks TYPE ewerk, " Plant
lgort TYPE lgort_d, " Storage Location
matkl TYPE matkl, " Material Group
menge TYPE bamng, " PR Quantity
meins TYPE bamei, " UOM
bprme TYPE bbprm, " Price Unit
netpr TYPE netpr, " Net price
peinh TYPE peinh, " Price Unit UOM
pstyp TYPE pstyp, " Item Category
knttp TYPE knttp, " Account Assignment Category
name1 TYPE name1, " Plant
orewr TYPE netpr, " To be Invoiced Price
curr TYPE waers, " Inv Doc Currency
END OF s_rep.
D A T A D E C L A R A T I O N S
DATA: gv_title1 TYPE sylisel, " Report title
gv_dial. " Color flag
C O N S T A N T S D E C L A R A T I O N S
CONSTANTS: c_x VALUE 'X', " Flag X
c_h VALUE 'H', " Debit
c_vgabe TYPE vgabe VALUE '2'. " Transaction Type
I N T E R N A L T A B L E S D E C L A R A T I O N S
DATA: i_po TYPE STANDARD TABLE OF s_po WITH HEADER LINE,
" Purchase Order
i_inv TYPE STANDARD TABLE OF s_inv_sum WITH HEADER LINE,
" PO Invoice Values
i_rep TYPE STANDARD TABLE OF s_rep WITH HEADER LINE,
" PO Invoice Values
i_ekbe TYPE STANDARD TABLE OF s_account WITH HEADER LINE.
" PO Invoice Values
S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr MATCHCODE OBJECT kred,
s_ebeln FOR ekko-ebeln MATCHCODE OBJECT mekk,
s_bsart FOR t161-bsart,
s_ekgrp FOR t024-ekgrp,
s_bedat FOR ekko-bedat.
SELECTION-SCREEN END OF BLOCK b1.
I N I T I A L I Z A T I O N *
INITIALIZATION.
A T S E L E C T I O N - S C R E E N *
AT SELECTION-SCREEN.
Validate the screen fields
PERFORM validate_screen.
S T A R T - O F - S E L E C T I O N *
START-OF-SELECTION.
Fetch main data
PERFORM fetch_data.
T O P - O F - P A G E *
TOP-OF-PAGE.
Header of the List
PERFORM header.
E N D - O F - P A G E *
Footer
END-OF-PAGE.
ULINE.
E N D - O F - S E L E C T I O N *
END-OF-SELECTION.
Display the Report Output data
PERFORM display_data.
At Line-Selection
AT LINE-SELECTION.
When double clicked on EBELN display the details of Purchase Doc
PERFORM line_sel.
*& Form validate_screen
Validation of Selection Screen fields
FORM validate_screen .
Validation of Vendor Number
CLEAR lfa1-lifnr.
IF NOT s_lifnr[] IS INITIAL.
SELECT lifnr UP TO 1 ROWS
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr.
ENDSELECT.
IF sy-subrc 0.
MESSAGE e000 WITH 'Invalid Vendor'(002).
ENDIF.
ENDIF.
Validation of PO Number
CLEAR ekko-ebeln.
IF NOT s_ebeln[] IS INITIAL.
SELECT ebeln UP TO 1 ROWS
INTO ekko-ebeln
FROM ekko
WHERE ebeln IN s_ebeln.
ENDSELECT.
IF sy-subrc 0.
MESSAGE e000 WITH 'Invalid Document Number'(003).
ENDIF.
ENDIF.
Validation of PO Document Type
CLEAR t161-bsart.
IF NOT s_bsart[] IS INITIAL.
SELECT bsart UP TO 1 ROWS
INTO t161-bsart
FROM t161
WHERE bsart IN s_bsart.
ENDSELECT.
IF sy-subrc 0.
MESSAGE e000 WITH 'Invalid Purchase Document Type'(004).
ENDIF.
ENDIF.
Validation of Purchasing Group
CLEAR t024-ekgrp.
IF NOT s_ekgrp[] IS INITIAL.
SELECT ekgrp UP TO 1 ROWS
INTO t024-ekgrp
FROM t024
WHERE ekgrp IN s_ekgrp.
ENDSELECT.
IF sy-subrc 0.
MESSAGE e000 WITH 'Invalid Purchasing Group'(005).
ENDIF.
ENDIF.
ENDFORM. " validate_screen
*& Form fetch_data
Fetching the PO related data from Database Tables
FORM fetch_data .
CLEAR i_po.
REFRESH i_po.
SELECT a~ebeln " PO No.
b~ebelp " PO Item
a~bstyp " PO Category
a~bukrs " Company Code
a~bsart " PO Type
a~lifnr " Vendor No
a~ekgrp " Purchase Group
a~waers " Currency
a~bedat " PO Date
b~txz01 " Material Text
b~werks " Plant
b~lgort " Storage Location
b~matkl " Material Group
b~menge " PR Quantity
b~meins " UOM
b~bprme " Price Unit
b~netpr " Net price
b~peinh " Price Unit UOM
b~pstyp " Item Category
b~knttp " Account Assignment Category
INTO TABLE i_po
FROM ekko AS a JOIN ekpo AS b
ON a~ebeln = b~ebeln
WHERE a~ebeln IN s_ebeln AND
a~lifnr IN s_lifnr AND
a~ekgrp IN s_ekgrp AND
a~bsart IN s_bsart AND
a~bedat IN s_bedat.
SORT i_po BY ebeln ebelp.
break-point.
IF NOT i_po[] IS INITIAL.
Fetch the PO History/Invoice Details from EKBE Table
CLEAR i_ekbe.
REFRESH i_ekbe.
SELECT ebeln " PO No.
ebelp " PO Item
gjahr " Fiscal Year
belnr " PO Invoice No
menge " PR Quantity
wrbtr " Price in Local Currency
dmbtr " Price in Foreign Currency
waers " Currency
shkzg " Dr/Cr Indicator
INTO TABLE i_ekbe
FROM ekbe
FOR ALL ENTRIES IN i_po
WHERE ebeln = i_po-ebeln AND
ebelp = i_po-ebelp AND
vgabe = c_vgabe.
IF sy-subrc = 0.
SORT i_ekbe BY ebeln ebelp.
LOOP AT i_ekbe.
IF i_ekbe-shkzg = c_h.
i_ekbe-wrbtr = i_ekbe-wrbtr * -1.
ENDIF.
MODIFY i_ekbe.
ENDLOOP.
break-point.
Sum up the Item wise Invoice totals
LOOP AT i_ekbe.
AT END OF ebelp.
READ TABLE i_ekbe INDEX sy-tabix.
SUM.
MOVE-CORRESPONDING i_ekbe TO i_inv.
APPEND i_inv.
ENDAT.
CLEAR i_inv.
ENDLOOP.
SORT i_inv BY ebeln ebelp.
break-point.
ENDIF.
ENDIF.
Move the Vendor Name and Invoice Values to I_rep Internal Table
LOOP AT i_po.
MOVE-CORRESPONDING i_po TO i_rep.
CLEAR i_inv.
READ TABLE i_inv WITH KEY ebeln = i_po-ebeln
ebelp = i_po-ebelp.
IF sy-subrc = 0.
i_rep-orewr = ( i_po-menge - i_inv-menge ) * i_po-netpr.
i_rep-curr = i_inv-waers.
ELSE.
i_rep-orewr = i_po-menge * i_po-netpr.
i_rep-curr = i_po-waers.
ENDIF.
break-point.
Get the Vendor Name
CLEAR lfa1-name1.
SELECT SINGLE name1 FROM lfa1 INTO lfa1-name1
WHERE lifnr = i_po-lifnr.
IF sy-subrc = 0.
i_rep-name1 = lfa1-name1.
ENDIF.
APPEND i_rep.
CLEAR i_rep.
break-point.
ENDLOOP.
SORT i_rep BY lifnr ebeln ebelp.
DELETE i_rep WHERE orewr LE 0.
break-point.
ENDFORM. " fetch_data
*& Form display_data
Display the Report Output data
FORM display_data .
DATA: lv_flag, " New Flag
lv_rec TYPE i. " No of Records
CLEAR lv_rec.
IF i_rep[] IS INITIAL.
MESSAGE e000 WITH 'No Data found'(022).
ELSE.
LOOP AT i_rep.
Toggle Color
PERFORM toggle_color.
IF lv_flag space.
NEW-LINE.
ENDIF.
At New Purchase Document
AT NEW ebeln.
WRITE:/1 sy-vline, 2(10) i_rep-ebeln INTENSIFIED OFF.
lv_flag = c_x.
lv_rec = lv_rec + 1.
ENDAT.
WRITE: 1 sy-vline,
12 sy-vline,13(4) i_rep-bsart,
17 sy-vline,18(10) i_rep-lifnr,
28 sy-vline,29(35) i_rep-name1,
64 sy-vline,65(4) i_rep-ekgrp,
69 sy-vline,70(10) i_rep-bedat,
80 sy-vline,81(5) i_rep-ebelp,
86 sy-vline,87(40) i_rep-txz01,
127 sy-vline,128(9) i_rep-matkl,
137 sy-vline,138(1) i_rep-pstyp,
139 sy-vline,140(1) i_rep-knttp,
141 sy-vline,142(4) i_rep-werks,
146 sy-vline,147(4) i_rep-lgort,
151 sy-vline,152(13) i_rep-menge UNIT i_rep-meins,
165 sy-vline,166(3) i_rep-meins,
169 sy-vline,170(15) i_rep-netpr CURRENCY i_rep-waers,
185 sy-vline,186(4) i_rep-waers,
190 sy-vline,191(5) i_rep-peinh,
196 sy-vline,197(4) i_rep-bprme,
201 sy-vline,202(15) i_rep-orewr CURRENCY i_rep-curr,
217 sy-vline,218(4) i_rep-curr,
222 sy-vline,223(7) i_rep-bstyp centered,
230 sy-vline.
NEW-LINE.
hide: i_rep-ebeln.
ENDLOOP.
ULINE.
FORMAT COLOR OFF.
WRITE : /2 'Total Number of Purchasing Documents:'(025) COLOR 3,
lv_rec COLOR 3.
ENDIF.
ENDFORM. " display_data
*& Form header
Write the Report Header
FORM header .
FORMAT RESET.
header
WRITE:/1(230) 'LIST OF PURCHASE DOCUMENTS PER VENDOR'(006) CENTERED.
SKIP.
FORMAT COLOR COL_HEADING.
ULINE.
WRITE:/1 sy-vline,2(10) 'Pur.Doc.No'(006) CENTERED,
12 sy-vline,13(4) 'Type'(007),
17 sy-vline,18(10) 'Vendor'(008) CENTERED,
28 sy-vline,29(35) 'Name'(009) CENTERED,
64 sy-vline,65(4) 'PGrp'(010) CENTERED,
69 sy-vline,70(10) 'Doc.Date'(012) CENTERED,
80 sy-vline,81(5) 'Item'(011),
86 sy-vline,87(40) 'Material Short Text'(024) CENTERED,
127 sy-vline,128(9) 'Mat.Group'(013),
137 sy-vline,138(1) 'I',
139 sy-vline,140(1) 'A',
141 sy-vline,142(4) 'Plnt'(014),
146 sy-vline,147(4) 'SLoc'(015),
151 sy-vline,152(13) 'Quantity'(016) CENTERED,
165 sy-vline,166(3) 'UoM'(017),
169 sy-vline,170(15) 'Net Value'(018) CENTERED,
185 sy-vline,186(4) 'Curr'(019),
190 sy-vline,191(5) 'Per'(020),
196 sy-vline,197(4) 'Unit'(021),
201 sy-vline,202(15) 'To be Invoiced'(023) CENTERED,
217 sy-vline,218(4) 'Curr'(019),
222 sy-vline,223(7) 'Doc.Cat'(026),
230 sy-vline.
ULINE.
ENDFORM. " header
*& Form toggle_color
This routine alters the color of the records in the list FORM toggle_color.
IF gv_dial = space.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
gv_dial = c_x.
ELSE.
FORMAT COLOR 1 INTENSIFIED OFF.
CLEAR gv_dial.
ENDIF.
ENDFORM. " toggle_color
*& Form LINE_SEL
*When double clicked on EBELN field display the details of Purchase Doc
FORM line_sel.
CASE sy-lsind.
WHEN '1'.
DATA: lv_field(20),
lv_value(10),
lv_bstyp like i_rep-bstyp.
clear: lv_bstyp,lv_value, lv_field.
GET CURSOR FIELD lv_field VALUE lv_value.
IF lv_field = 'I_REP-EBELN'.
IF NOT lv_value IS INITIAL.
READ LINE sy-index FIELD VALUE i_rep-bstyp
INTO lv_bstyp.
READ CURRENT LINE FIELD VALUE i_rep-bstyp INTO lv_bstyp.
if lv_bstyp = 'F'.
SET PARAMETER ID 'BES' FIELD lv_value.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
elseif ( lv_bstyp = 'K' or lv_bstyp = 'L' ).
SET PARAMETER ID 'VRT' FIELD lv_value.
CALL TRANSACTION 'ME33' AND SKIP FIRST SCREEN.
elseif lv_bstyp = 'A'.
SET PARAMETER ID 'ANF' FIELD lv_value.
CALL TRANSACTION 'ME43' AND SKIP FIRST SCREEN.
endif.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. " line_sel{code]
<REMOVED BY MODERATOR>
kushagra
Edited by: Alvaro Tejada Galindo on Feb 18, 2008 2:03 PM -
Relationship between Table BKPF and RBKP
Hello Developers,
I need to fetch value of field BKTXT from table BKPF and this value need to insert in internal table i_tab.
in the below situation:
select bebeln bebelp bwerks ausnam alifnr abelnr
abldat abudat
caedat cekgrp cbukrs cekorg
dbanfn dbnfpo dnetpr dafnam
into corresponding fields of table i_tab
from rbkp as a join rseg as b on abelnr = bbelnr
join ekko as c on bebeln = cebeln
join ekpo as d on cebeln = debeln
and bebelp = debelp
where a~budat in s_date
and b~werks in s_werks
and c~bstyp = c_f
and c~ekorg in s_ekorg
and a~bukrs in s_bukrs.
Can any one suggest how to relate table BKPF with other table like RBKP.
Thanks in advance.
Regards
SundeepHi,
perform the following steps:-
1. Go to transaction SQVI
2. Create a View
3. Enter title
4. Choose the Data source as Table Join
5. Go to insert table and add table as per your requirement.
and hereafter you can find relation between any two tables...
Rgds/Abhi
Maybe you are looking for
-
Error I am getting at ECC6.0 installation
when installing SAP ECC6.0 on Windows Operating system platform I am getting error at SAPAPPL2.Log at C:\programfiles\sapinst_instdir\ERP\SYSTEM\ORA\CENTRAL\AS Unable to allocate 4108 bytes of shared memory. at SAP Level at IMPORT ABAP I am getting e
-
I want to right click on the error message and choose "do not show again." This also occurs in 4.0 beta 7. I attempted to use the "Error Console" addon to block it but was not able to identify the message.
-
Functional specs for Hierarchies
Hello GURUS, Please any one provide me functionalspecs and Technical specs for Hierarchies. Thanks, Sekhar.
-
Hi I'm trying to get Coldfusion Builder's ORM CFC Generator to build my cfcs but when I click the Generate button after setting my table relationships I get the following error: Error : Event handler exception.. coldfusion.runtime.CfJspPage$Parameter
-
Hi Gurus, Just need a clarification. Can we use 1 DataSource for two DSO? Means can we attach 1 datasource two times? Regards