Adding one row to a table for displaying calculated amounts
Hi,
My requirement is like this:
We are getting values in the table with the columns
recno rectype amount
1 autofare 100
2 airfare 50
3 busfare 25
4 railfare 10
5 carfare 75
i am getting all the values from backend.
now our requirement is want to calculate amount for reno1,3,5 and row should be displayed as below:
recno rectype amount
1 autofare 100
3 busfare 25
5 carfare 75
amount 200 (here amount is not coming from backend.we need to add amount for recno 1,3 ,5 and iot should be displayed like that)
2 airfare 50
4 railfare 10
amount 60
please suggest how to proceed on this?
Regards,
Anitha
hi Anitha,
you have to create a separate value node for storing original elements and their subtotals in the order you want them in the table.
For showing totals you can use cell variant in the table to give a different look and feel for the subtotal row.
Add another attribute in the value node for storing the variant name. bind this attribute to selected cell variant of table column.
int subtotal =0;
for(int i =0;i < size;i++)
IPrivate<view>NodeElement dataElement = dataNode.getDataElementAt(i);
IPrivate<view>NodeElement tablelement = wdContext.node<table>().createElement();
wdCopyService.copycorresponding(dataElement, tableElement);
//set cell variant to blank for original rows
tableelement.setSelectedVariant("");
wdContext.node<table>().addElement(tablelement);
//Calculate subtotals and add them in another valuenode
subtotal = subtotal + dataElement.getAmt();
if(i ==3)// give condition at which you need to add subtotal row.
IPrivate<view>NodeElement subtotalelement = wdContext.node<table>().createElement();
subtotalelement.setSubtotal(subtotal);
//set cell variant for subtotal row
subtotalelementsetSelectedVariant("subtotal");
wdContext.node<table>().addElement(tsubtotalelement);
subtotal =0; //reset subtotal
hope this helps!
Monalisa
Similar Messages
-
How to default the value of a selectOneChoice when adding a row to a table
I have a table where one of the fields is a selectOneChoice. When adding a row to the table, the new row to be added displays the selectoneChoice field blank. I would like to have this field default to a specific value within the selectoneChoice when clicking the add button. Any suggestion on the code I need to add in the backing bean? Thanks in advance.
After some studying I figured out how to do this... code below for anyone interested:
DCIteratorBinding dcib = (DCIteratorBinding) bindings.get("someIterator");
RowSetIterator iter = dcib.getRowSetIterator();
Row newRow = iter.createRow();
newRow.setAttribute("yourFieldName",fieldDefaultValue);
iter.insertRowAtRangeIndex(0, newRow);
iter.closeRowSetIterator(); -
Dynamically adding a row in a table in JSF
Hi All,
I am searching for a control in JSF using which I can dynamically add more than one row in a table. Currently I am handling this in javasript where I have to click on the "Add Row" button to add one more row at the bottom of the table. I want to get rid of javascript.
If anyone knows about such control then please help me.
Thanks in advance.
Regards,
Sakethello Saketh,
here is the code for Create Delete Update code where a row is added for every button click..and the JSF code is at the bottom.. today u r blessed with ocean. :-) have fun!!
package redrose;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.Query;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
public class RowEntry {
private DataModel datamodel = null;
static Integer sid;
private Medata mdobject = null;
private Medata nm=null;
* @return Returns the newMdobject.
public Medata getNm() {
nm = new Medata();
return nm;
* @param newMdobject The newMdobject to set.
public void setNm(Medata newMdobject) {
this.nm = newMdobject;
* @return Returns the mdobject.
public Medata getMdobject() {
return mdobject;
* @param mdobject The mdobject to set.
public void setMdobject(Medata mdobject) {
this.mdobject = mdobject;
public DataModel getDatamodel()
datamodel = new ListDataModel();
Session hibSession;
try{
hibSession = HibernateSessionFactory.currentSession();
Query q = hibSession.createQuery("FROM Medata");
q.setMaxResults(9999);
datamodel.setWrappedData(q.list());
catch(Exception ex){
System.err.println("%%%% Error GetData %%%%");
ex.printStackTrace();
return datamodel;
* Inserting a new Record by reading from Client
public void insertEntry()
Transaction tx = null;
Session session = null;
try{
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
Medata dbmedata = new Medata();
dbmedata.setEmploy(nm.getEmploy());
session.save(dbmedata);
tx.commit();
session.close();
catch(Exception ex){
System.err.println("%%%% Modify Data %%%%");
ex.printStackTrace();
* Modify data
public void updateEntry()
int a =0;
if (this.datamodel == null) return;
Medata mdupdate = (Medata) this.datamodel.getRowData();
if (mdupdate == null ) return;
Transaction tx = null;
Session session = null;
try{
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
Medata dbmedata = (Medata) session.load(Medata.class,mdupdate.getId());
if (dbmedata != null){ // we have to update the record
dbmedata.setEmploy(mdupdate.getEmploy());
session.update(dbmedata);
else // we have to insert the record
dbmedata = new Medata();
dbmedata.setEmploy(mdupdate.getEmploy());
session.save(dbmedata);
tx.commit();
session.close();
catch(Exception ex){
System.err.println("%%%% Modify Data %%%%");
ex.printStackTrace();
* Delete Data
public void removeEntry()
if (this.datamodel == null) return;
Medata mdupdate = (Medata) this.datamodel.getRowData();
Transaction tx = null;
Session session = null;
try{
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction();
Medata dbmedata = (Medata) session.load(Medata.class,mdupdate.getId());
if (mdupdate == null ) return;
if (dbmedata != null){ // we have to update the record
session.delete(dbmedata);
tx.commit();
catch(Exception ex){
System.err.println("%%%% Delete Data %%%%");
ex.printStackTrace();
Here starts the JSF code
<%@ page language="java" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSF 'trial.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<f:view>
<h:form>
<h:dataTable border="3" value="#{bla.all}" var="currentRow">
<h:column>
<f:facet name="header">
<h:outputText value="Employee Name" />
</f:facet>
<h:inputText value="#{currentRow.employ}">
</h:inputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Employee Number" />
</f:facet>
<h:inputText value="#{currentRow.id}"></h:inputText>
</h:column>
<h:column>
<f:facet name="header">
</f:facet>
<h:commandButton id="Delete" action="#{bla.insert}" value="Delete"></h:commandButton>
<h:commandButton id="Modify" action="#{bla.modify}" value="Modify"></h:commandButton>
</h:column>
</h:dataTable>
<h:commandButton id="Insert" action="#{bla.insert}" value="Insert"></h:commandButton>
<%--h:outputText value="#{bla.sid}"></h:outputText--%>
</h:form>
</f:view>
</body>
</html>
Faces-config file starts here
<managed-bean>
<description>Inserts a record</description>
<managed-bean-name>bla</managed-bean-name>
<managed-bean-class>redrose.RowEntry</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
-
Fetching more than one row from a table after selecting one value from the dropdown
Hi Experts,
How can we fetch more than one row from a table after selecting one value from the dropdown.
The scenario is that I have some entries in the dropdown like below
A B C
11256 VID 911256
11256 VID 811256
11256 SONY 11256
The 'B' values are there in the dropdown. I have removed the duplicate entries from the dropdown so now the dropdownlist has only two values.for eg- 'VID' and'SONY'. So now, after selecting 'VID' from the dropdown I should get all the 'C' values. After this the "C' values are to be passed to other methods to fetch some data from other tables.
Request your help on this.
Thanks,
Preeetam Narkhede.Hi Preetam!
I hope I understand your request proberly, since this is more about Java and less about WebDynpro, but if I'm wrong, just follow up on this.
Supposed you have some collection of your original table data stored in variable "origin". Populate a Hashtable using the values from column "B" (let's assume it's Strings) as keys and an ArrayList of whatever "C" is (let's assume String instances, too) as value (there's a lot of ways to iterate over whatever your datasource is, and since we do not know what your datasource is, maybe you'll have to follow another approach to get b and c vaues,but the principle should remain the same):
// Declare a private variable for your Data at the appropriate place in your code
private Hashtable temp = new Hashtable<String, ArrayList<String>>();
// Then, in the method you use to retrieve backend data and populate the dropdown,
// populate the Hashtable, too
Iterator<TableData> a = origin.iterator();
while (a.hasNext()) {
TableData current = a.next();
String b = current.getB();
String c = current.getC();
ArrayList<String> values = this.temp.get(b);
if (values == null) {
values = new ArrayList<String>();
values.add(c);
this.temp.put(b, values);
So after this, you'll have a Hashtable with the B values als keys and collections of C values of this particular B as value:
VID --> (911256, 811256)
SONY --> (11256)
Use
temp.keySet()
to populate your dropdown.
After the user selects an entry from the dropdown (let's say stored in variable selectedB), you will be able to retrieve the collection of c's from your Hashtable
// In the metod you handle the selection event with, get the c value collection
//and use it to select from your other table
ArrayList<String> selectedCs = this.temp.get(selectedB);
// now iterate over the selectedCs items and use each of these
//to continue retrieving whatever data you need...
for (String oneC : selectedCs) {
// Select Data from backend using oneC in the where-Clause or whatever...
Hope that helps
Michael -
Highlighting one row in a table control
Hi All,
Can i highlight one row in a table control. I found some stroke color in the properties for a field in table control. But i am not sure, will it be applied to the entire column or to a particular field.
Anybody aware of this.?
Regards,
Manjunatha.T.SHi,
This is not currently available in VC.
Lior -
How to bring the more than one rows from the table into the script
Hi
I have to bring more than one rows from the table into the Main windows of the script. so plz help me out.
Thanks in Advance
AnanyaHi Ananya,
Bring more than one row into main window of script.
For this you need to do some changes for data which you pass to main window.At a time you need to pass more than one row,so for this you need to define one structure.See below code.
Types:begin of ty_rows,
include structure (your row_structure),
include structure (your row_sturcture),
Types:end of ty_rows.
for example....
If i need to pass 2 vendor details at a time to main window then the structure should be like this.
Types:begin of ty_rows,
vendor1 like lfa1-lifnr,
vendor1_name like lfa1-name1,
vendor2 like lfa1-lifnr,
vendor2_name like lfa1-name1,
end of ty_rows.
Data:i_main type standard table of ty_rows,
wa_main type ty_rows.
Based on condition you can pass more than one rows of your actual internal table data to i_main internal table.
Then you can pass i_main internal table to your main window.
I think this will help you.
Cheers,
Bujji -
Want to disable one row in a table
Hi,
I have a requirement where I have to disable only one row of a table.
Also, I am not using any checkboxes/radiobuttons in the table.
Please help me in resolving this.
Thanking You.
Regards.
Reinuka.Hi,
Create a Value Node in the below mentioed structure
TableNode
---value1
---value2
---value3
---TableRowReadOnly(boolean)
Note: - make sure that the attribute TableRowReadOnly is in the same level as the other attributes in the node
Create an Action for the onLeadSelect event for the table and in that action, write the following code:
int leadSelection = wdContext().node<nodename>().getLeadSelection();
if(leadSelection != -1)
for(int i = 0; i < wdContext.nodeTableNode().size(); i++)
if(condition)
wdContext().nodeTableNode().getTableNodeElementAt(i).setTableReadOnly(true);
else
wdContext().nodeTableNode().getTableNodeElementAt(i).setTableReadOnly(false);
Hope this helps u
Regards,
Poojith MV -
For display budgeted amount in cost center what is table in sap?
For display budgeted amount in cost center what is table in sap?
Hi,
Is it budget or planning ? Budget is in BPJA; while planning is mainly in COSS, but also in COSP.
Regards,
Eli -
JBO-28004: Could not lock row in control table for table null
hello.
we have deployed two application on a server.
both have code like this:
select = "SELECT * from tab";
vo = e.getDBTransaction().createViewObjectFromQueryStmt(select);
vo.executeQuery();
RowSet rs = vo.getRowSet();
if(rs != null)
Row lastRow = vo.getRowSet().last();
the last line throws sometimes an exception (.last()).
JBO-28004: Could not lock row in control table for table null
at oracle.jbo.PCollException.throwException(PCollException.java:34)
at oracle.jbo.pcoll.OraclePersistManager.commit(OraclePersistManager.java:229)
at oracle.jbo.pcoll.OraclePersistManager.dropTable(OraclePersistManager.java:499)
at oracle.jbo.pcoll.OraclePersistManager.createTable(OraclePersistManager.java:692)
at oracle.jbo.pcoll.OraclePersistManager.insert(OraclePersistManager.java:1492)
at oracle.jbo.pcoll.PCollNode.passivateElem(PCollNode.java:542)
at oracle.jbo.pcoll.PCollNode.passivate(PCollNode.java:657)
at oracle.jbo.pcoll.PCollection.passivateLRULeafNode(PCollection.java:351)
at oracle.jbo.pcoll.PCollection.checkActiveLeafLimit(PCollection.java:404)
at oracle.jbo.pcoll.PCollection.nodeRecentlyUsed(PCollection.java:252)
at oracle.jbo.pcoll.PCollNode.<init>(PCollNode.java:73)
at oracle.jbo.pcoll.PCollNode.checkForSplit(PCollNode.java:1553)
at oracle.jbo.pcoll.PCollNode.addObject(PCollNode.java:1622)
at oracle.jbo.pcoll.PCollNode.addObject(PCollNode.java:1610)
at oracle.jbo.pcoll.PCollection.addElement(PCollection.java:753)
at oracle.jbo.server.QueryCollection.fetch(QueryCollection.java:1247)
at oracle.jbo.server.QueryCollection.getRowCount(QueryCollection.java:1065)
at oracle.jbo.server.ViewRowSetImpl.getRowCount(ViewRowSetImpl.java:1444)
at oracle.jbo.server.ViewRowSetIteratorImpl.last(ViewRowSetIteratorImpl.java:1183)
at oracle.jbo.server.ViewRowSetImpl.last(ViewRowSetImpl.java:2246)
at oracle.jbo.server.ViewObjectImpl.last(ViewObjectImpl.java:4352)
at com.omv.emis.extemis.bc.EmsFreigabeImpl.checkFullMonth(EmsFreigabeImpl.java:327)
at com.omv.emis.extemis.bc.EmsFreigabeImpl.doDML(EmsFreigabeImpl.java:293)
at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:3410)
at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:2274)
at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:2216)
at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:1511)
at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:1677)
at EmsFreigabeView1_BrowseEdit._jspService(_EmsFreigabeView1__BrowseEdit.java:134)
at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:317)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:465)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:563)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:309)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:767)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
this exception does not occur every time just sometimes.
(no other user/application uses the specific table, so there is no other lock)
maybe someone knows an error source.
thx in advance.Gina:
Could you run you app with diagnostic turned on?
If you're launching your middle tier from command prompt, you should invoke java as
java -Djbo.debugoutput=console ...
If you're launching your middle tier from w/i JDev..
1. Select the project.
2. Do right mouse click and select "Project Settings..."
3. On the Settings dialog, select Configurations/Runner.
4. In the righthand side pane, you should see a textbox for "Java
Options". Please add the following JVM switch:
-Djbo.debugoutput=console
Then, rerun. The run command should include
-Djbo.debugoutput=console as in
"D:\JDev9i\jdk\bin\javaw.exe" -Djbo.debugoutput=console -classpath ...
Then, you should see a lot of diagnostic messages. It will also give you complete stack trace including that of the detail exception.
When you get the exception diagnostic output, please post that to this thread.
Thanks.
Sung -
ReadOnly for one row in a table in Web Dynpro
Hallo,
is there a possibility to set rows in a table to readonly if there is a condition to do that.
The rest must be in normal lookout.
Kind regards
GunterHi,
Refer to the flwg thread,
Field in web dynpro table for one row to be read only
Hope it helps.
Regards
Srinivasan T -
How to select one row in a table with radio button
Hi all.
I have a VO where there is an attribute (isDefault [String]) that identifies the default record in the view. The possible values are 'Y' for yes and 'N' for no. Obviously only one record can have the 'Y' value.
In my page I have created an ADF Table (with the usual data control drag & drop). I would to transform the default inputText of "isDefault" field with a selectOneRadio component in order to permit the user to select (and save contextually in the DB) the default row of this table.
Can you explain me how? I'm using JDeveloper 11.1.1.4.
Thanks in advance.
BaduelBaduel wrote:
Cvele,
thanks for your responses. Yes, it's easier to use af:selectBooleanCheckbox but I need that the selection is mutually exclusive (only one row can be selected). >If this is possible also with the boolean checkbox please tell me how.- Let's try with CheckBox :
1. At the ViewObjectImpl level (for example, YourViewObjectImpl), add the following code:
private oracle.jbo.Key currSelectedRowKey = null;
public void doRowSelection(Key newKey) {
// de-select old one
if (currSelectedRowKey != null) {
Row[] rows = findByKey(currSelectedRowKey, 1);
if (rows != null && rows.length > 0)
rows[0].setStatusAsBoolean(Boolean.FALSE); // cast to the appropriate row Impl class if need !
// remember a new selected row key:
currSelectedRowKey = newKey;
}In the ViewRowImpl, in the transient attr settter, do as follows:
public void setStatusAsBoolean(Boolean value) {
setStatus(value.booleanValue() ? ONE : ZERO);
if (value.booleanValue()) {
YourViewObjectImpl vo = (YourViewObjectImpl)getViewObject();
vo.doRowSelection(getKey());
} P.S. The above was not tested at all, but should give you an idea -
How to retrive more than one row value from table
hi,
I had create one table if i entered value in more than one row, the second row override the first row value and while printing it in flat file i am getting the second value entered twice.
i created one context for each column.
plz provide me a solution..........
very urgent..........
Regards,
KiruthikaHi,
Create seperate element for each row and then set values.
for(int i=0;i<4;i++)
IPrivate<view name>.I<node name>Element element = wdContext.node<node name>().create<node name>Element();
wdContext.node<node name>().addElement(element);
element.set<Att>();
to retrive:
int s=wdContext.node<node name>.size();
for(int j=0;j<s;J++){
wdcontext.node<nodename>.getnodeelementAt(j).getAttribute();
Check this link about tables
https://www.sdn.sap.com/irj/sdn/downloaditem?rid=/library/uuid/bad3e990-0201-0010-3985-fa0936d901b4
Regards,
Vijayakhanna Raman -
After adding one column in a table can't get the header line
hi all,
i have make a SMART FORM which was working perfectly.Now the requirement of user is to add one column in my table at smart form which i did and after modification i execute it it give me data as well but issue which i'm facing is that the TABLE at smart forms in which i have add one field is not displaying the HEADER LINE which i have define with SELECT PATTREN option.
Thanks & Regards,
sappk25Hi,
Have you created the Header Text? If yes, then might be the case that your smartforms
table which was already created is with Multiple Line. Check weather you have added
customer field in Header Line or Not?
Regards,
SUjeet -
Select columns from table for display in alvgrid.
Hi all,
i have the following:
i do select a tablename and pass it as a parameter. then this table is loaded into an internal table and displayed in an alv-grid.
what i now want to do is a step between the both:
after the internal table with its structure is loaded, i want to display the field columns and i want them to be selectable so that in the next step the alv - grid is selected only with the selected columns ( just now it allways runs with all columns - even the not needed ).
Any ideas for that would be appreciated. Is there some tutorial on that or some sample ?hi
chk this sample code:
*REPORT zdemo_alvgrid .
TABLES: ekko.
type-pools: slis. "ALV Declarations
*Data Declaration
TYPES: BEGIN OF t_ekko,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
wa_ekko TYPE t_ekko.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
gd_tab_group type slis_t_sp_group_alv,
gd_layout type slis_layout_alv,
gd_repid like sy-repid,
gt_events type slis_t_event,
gd_prntparams type slis_print_alv.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.
*& Form BUILD_FIELDCATALOG
Build Fieldcatalog for ALV Report
form build_fieldcatalog.
There are a number of ways to create a fieldcat.
For the purpose of this example i will build the fieldcatalog manualy
by populating the internal table fields individually and then
appending the rows. This method can be the most time consuming but can
also allow you more control of the final product.
Beware though, you need to ensure that all fields required are
populated. When using some of functionality available via ALV, such as
total. You may need to provide more information than if you were
simply displaying the result
I.e. Field type may be required in-order for
the 'TOTAL' function to work.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
fieldcatalog-do_sum = 'X'.
fieldcatalog-no_zero = 'X'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELP'.
fieldcatalog-seltext_m = 'PO Item'.
fieldcatalog-col_pos = 1.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'STATU'.
fieldcatalog-seltext_m = 'Status'.
fieldcatalog-col_pos = 2.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'AEDAT'.
fieldcatalog-seltext_m = 'Item change date'.
fieldcatalog-col_pos = 3.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material Number'.
fieldcatalog-col_pos = 4.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MENGE'.
fieldcatalog-seltext_m = 'PO quantity'.
fieldcatalog-col_pos = 5.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Order Unit'.
fieldcatalog-col_pos = 6.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NETPR'.
fieldcatalog-seltext_m = 'Net Price'.
fieldcatalog-col_pos = 7.
fieldcatalog-outputlen = 15.
fieldcatalog-datatype = 'CURR'.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'PEINH'.
fieldcatalog-seltext_m = 'Price Unit'.
fieldcatalog-col_pos = 8.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
endform. " BUILD_FIELDCATALOG
*& Form BUILD_LAYOUT
Build layout for ALV grid report
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
gd_layout-totals_only = 'X'.
gd_layout-f2code = 'DISP'. "Sets fcode for when double
"click(press f2)
gd_layout-zebra = 'X'.
gd_layout-group_change_edit = 'X'.
gd_layout-header_text = 'helllllo'.
endform. " BUILD_LAYOUT
*& Form DISPLAY_ALV_REPORT
Display report using ALV grid
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
i_callback_user_command = 'USER_COMMAND'
i_grid_title = outtext
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_special_groups = gd_tabgroup
it_events = gt_events
is_print = gd_prntparams
i_save = 'X'
is_variant = z_template
tables
t_outtab = it_ekko
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endform. " DISPLAY_ALV_REPORT
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
form data_retrieval.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into table it_ekko.
endform. " DATA_RETRIEVAL
Form TOP-OF-PAGE *
ALV Report Header *
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
wa_header type slis_listheader,
t_line like wa_header-info,
ld_lines type i,
ld_linesc(10) type c.
Title
wa_header-typ = 'H'.
wa_header-info = 'EKKO Table Report'.
append wa_header to t_header.
clear wa_header.
Date
wa_header-typ = 'S'.
wa_header-key = 'Date: '.
CONCATENATE sy-datum+6(2) '.'
sy-datum+4(2) '.'
sy-datum(4) INTO wa_header-info. "todays date
append wa_header to t_header.
clear: wa_header.
Total No. of Records Selected
describe table it_ekko lines ld_lines.
ld_linesc = ld_lines.
concatenate 'Total No. of Records Selected: ' ld_linesc
into t_line separated by space.
wa_header-typ = 'A'.
wa_header-info = t_line.
append wa_header to t_header.
clear: wa_header, t_line.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_header.
i_logo = 'Z_LOGO'.
endform.
FORM USER_COMMAND *
--> R_UCOMM *
--> RS_SELFIELD *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'EBELN'.
Read data table, using index of row user clicked on
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
Set parameter ID for transaction screen field
SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM.
*& Form BUILD_EVENTS
Build events table
form build_events.
data: ls_event type slis_alv_event.
call function 'REUSE_ALV_EVENTS_GET'
exporting
i_list_type = 0
importing
et_events = gt_events[].
read table gt_events with key name = slis_ev_end_of_page
into ls_event.
if sy-subrc = 0.
move 'END_OF_PAGE' to ls_event-form.
append ls_event to gt_events.
endif.
read table gt_events with key name = slis_ev_end_of_list
into ls_event.
if sy-subrc = 0.
move 'END_OF_LIST' to ls_event-form.
append ls_event to gt_events.
endif.
endform. " BUILD_EVENTS
*& Form BUILD_PRINT_PARAMS
Setup print parameters
form build_print_params.
gd_prntparams-reserve_lines = '3'. "Lines reserved for footer
gd_prntparams-no_coverpage = 'X'.
endform. " BUILD_PRINT_PARAMS
*& Form END_OF_PAGE
form END_OF_PAGE.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
write: sy-uline(50).
skip.
write:/40 'Page:', sy-pagno .
endform.
*& Form END_OF_LIST
form END_OF_LIST.
data: listwidth type i,
ld_pagepos(10) type c,
ld_page(10) type c.
skip.
write:/40 'Page:', sy-pagno .
endform.
**reward if helpful
regards,
madhu -
Adding/Deleting rows in a Table
I am trying to get a couple of buttons to work in a table to add/delete rows. I have followed the directions in the LiveCycle designer help and it isn't working.
In a test setup the only difference I can see from the help file is my Table is called Table1 and the subform containing the 2 buttons is called Subform1
I have therefore amended the script for the click event for the AddRow to
"Table1.Row1.instanceManager.addInstance(1);"
Any ideas where I am going wrong?
TIA
AntonyHi,
My usecase is that user enters a url with parameters for example in the text box--> http://host:port/employee/all?department=abc&location=india. Now i want to parse this url , get the parameters out and put it in the table so that it is convenient for users to modify these parameters. User has a option to add and delete the parameter in the table. So once all this is done and user clicks on say save i don't need to send this table to server. i just have to make sure that the values added/deleted from the table are in sync with the url. So in the server i get all the parameters from the url and continue.
Since this is only needed on the client side i wanted to know if we can create a table with no values and then say on tabbing out of the url text box call a javascript that takes value from it and adds new rows to the table.
I am using JDEVADF_MAIN_GENERIC_140109.0434.S
Maybe you are looking for
-
I have to modify the report output in about 6 different reports thats written with ABAP. I am looking for some type of tool to help me to rewrite the screen output. It's very tedious to write the code using the 'Write AT' command because these repo
-
Select from Berkeley DB through java code not working
Hi, I have developed an application using Jdeveloper 11g where in the Database Navigator I have created a new connection say Conn1 ,selected Generic Jdbc as the connection type and org.sqlite.Jdbc as the Driver Class.The JDBC URL is for example jdbc:
-
I reset settings. Now has blank screen with Apple . How do I get to load?
I Hit reset setting on mini iPad to see if would help programs from going out. Now. all I have is a black screen with Apple showing with white line below it. Doesn't like trying to open. haven't got it to do updates either. Can anyone advise me on h
-
Folks Almost afraid to post this, as the solution is probably in front of my nose, but... Just downloaded the XML Parser for C v2 for Solaris. Trying to compile the SAXSample, but getting the following errors when linking: SunOS/u/esp/ruvoloj/xml/sam
-
Some new phones are doing away with the virtual HDD and switching to MTP for transferring files to/from the device. Because of this every time I want to copy MP3s to my MTP device I get a Windows message saying "Your device might not be able to play