ALV Simple Tree: How to customize sum levels?
Hi,
I have the following issue:
I use the ALV Simple Tree to display a hierarchy. In this hierarchy one element is the currency of the values I want to display. Therefore the currency might not be the top-level of the hierarchy and as a consequence the tree/table looks like this:
Region/Curr. | Amount 1 | Currency
EUROPE | 2000 | ***
- EUR | 1000 | EUR
- USD | 1000 | USD
-> Different currencies are added with no respect to currency rates or the likes. Only the currency field is filled with stars.
Question: How can I prevent sums for a tree level?
The hierarchy is flexible, so I require a dynamic solution (for example if there are two levels before the currency or none).
If anyone got a link to the documentation for the Simple Tree (or something like that), I would also really appreciate it!
Kind Regards,
Robert
Hi
I'm using OOP ALV.
data: t_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,
wa_fieldcat TYPE lvc_s_fcat.
*populate field cat
wa_fieldcat-col_pos = 2.
wa_fieldcat-tabname = 'ITAB'.
wa_fieldcat-fieldname = 'DB name of teh field Amount1'.
wa_fieldcat-do_sum = 'X'.
wa_fieldcat-coltext = 'Amt'.
APPEND wa_fieldcat TO t_fieldcat.
CALL METHOD o_grid->set_table_for_first_display
CHANGING
it_outtab = itab
it_fieldcatalog = t_fieldcat
it_sort = t_sort
regards,
manju
Similar Messages
-
Using tree - how to get upper levels
I create a heirarchical tree based on a couple of tables via a record group i create on the fly.
I then let the user attach documents to the tree nodes. The problem comes that the node may not exist in the database yet as they can build them as they go. So i need to insert all record on tree into table when they attach a document. I dont want to do this before as i am only interested when they are attaching documents - rather than storing all data that may never be used.
My problem is when they attach the document i want to find all levels in that particular tree to insert them.
i.e. if my tree is as follows
1
-1b
2
-2b
3
-3b
-3c
and the user attaches against 3c I want to insert 3 into the table, then 3b, then the document against 3b, so i need to find out what its uplevel is in this case 3.
How is best way to do this? i have NODE_DEPTH property - to know its not top level and NODE VALUE to know the value, and NODE_LABEL to know the description but how can i find my uplevel when its not stored in a table anywhere.Cant believe i never found that when searching forms help.
Thanks -
How to get sum for each currency's in ALV Report
Hi,
A column has amounts with various currency's.
May I know how to get sum quantity for each currency in ALV Report?
Thanks in advance.Hi,
Currency value column should have reference to currency code column.
Regards,
Wojciech -
How to download the ALV Hierchial Tree Data to an Excel sheet.
Hi All,
Can any body please let me ,if there is any possibility to know How to download the ALV Hierchial Tree Data to an Excel sheet.
If yes, please let me know how could this can b acheived.
Regards,
Rohini.Hi Rohini
There is no such functionality provided by SAP to download ALV Tree Hierarichal Tree into excel sheet .
If you had this kind of senario then i can propose one solution create two radio buttons one is to display in ALV Tree Format and the other is classical report which you can download it for futher process
Regards
Hitesh Batra -
How to call an event from simple tree menu
I have a simple tree menu that when I click on a menu item,
id like a picture or other data to appear on the right side of the
page.
Thank you in advance,
JimThe reason why it becomes zero when you press stop is that you selected the control to get the default value in the event structure if it's not connected. You can fix it by connecting it like I did in the first picture.
To make it stop when you press the stop button you have to connect one stop button to the loop exit terminal. The reason for the sequence structure that I added is to make sure that the loop exits the first time you press the stop button, try removing it and you'll see what I mean.
You have one additional problem. You rely on the x+1 output of the sub vi as an input for the next iteration. However, that is not reliable since if you can the subvi from somewhere else it might mess up the count. You're better of using a shift register and passing in the last value to the subvi in each iteration.
Attachments:
1.png 9 KB
2.png 10 KB -
How to find the level of each child table in a relational model?
Earthlings,
I need your help and I know that, 'yes, we can change'. Change this thread to a answered question.
So: How to find the level of each child table in a relational model?
I have a relacional database (9.2), all right?!
O /* This is a child who makes N references to each of the follow N parent tables (here: three), and so on. */
/↑\ Fks
O"O O" <-- level 2 for first table (circle)
/↑\ Fks
"o"o"o" <-- level 1 for middle table (circle)
↑ Fk
"º"Tips:
- each circle represents a table;
- red tables no have foreign key
- the table in first line of tree, for example, has level 3, but when 3 becomes N? How much is N? This's the question.
I started thinking about the following:
First I have to know how to take the children:
select distinct child.table_name child
from all_cons_columns father
join all_cons_columns child
using (owner, position)
join (select child.owner,
child.constraint_name fk,
child.table_name child,
child.r_constraint_name pk,
father.table_name father
from all_constraints father, all_constraints child
where child.r_owner = father.owner
and child.r_constraint_name = father.constraint_name
and father.constraint_type in ('P', 'U')
and child.constraint_type = 'R'
and child.owner = 'OWNER') aux
using (owner)
where child.constraint_name = aux.fk
and child.table_name = aux.child
and father.constraint_name = aux.pk
and father.table_name = aux.father;Thinking...
Let's Share!
My thanks in advance,
Philips
Edited by: BluShadow on 01-Apr-2011 15:08
formatted the code and the hierarchy for readbilityJustin,
Understood.
Nocycle not work in 9.2 and, even that would work, would not be appropriate.
With your help, I decided a much simpler way (but there is still a small problem, <font color=red>IN RED</font>):
-- 1
declare
type udt_roles is table of varchar2(30) index by pls_integer;
cRoles udt_roles;
begin
execute immediate 'create user philips
identified by philips';
select granted_role bulk collect
into cRoles
from user_role_privs
where username = user;
for i in cRoles.first .. cRoles.count loop
execute immediate 'grant ' || cRoles(i) || ' to philips';
end loop;
end;
-- 2
create table philips.root1(root1_id number,
constraint root1_id_pk primary key(root1_id)
enable);
grant all on philips.root1 to philips;
create or replace trigger philips.tgr_root1
before delete or insert or update on philips.root1
begin
null;
end;
create table philips.root2(root2_id number,
constraint root2_id_pk primary key(root2_id)
enable);
grant all on philips.root2 to philips;
create or replace trigger philips.tgr_root2
before delete or insert or update on philips.root2
begin
null;
end;
create table philips.node1(node1_id number,
root1_id number,
node2_id number,
node4_id number,
constraint node1_id_pk primary key(node1_id)
enable,
constraint n1_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n1_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable,
constraint n1_n4_id_fk foreign key(node4_id)
references philips.node4(node4_id) enable);
grant all on philips.node1 to philips;
create or replace trigger philips.tgr_node1
before delete or insert or update on philips.node1
begin
null;
end;
create table philips.node2(node2_id number,
root1_id number,
node3_id number,
constraint node2_id_pk primary key(node2_id)
enable,
constraint n2_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n2_n3_id_fk foreign key(node3_id)
references philips.node3(node3_id) enable);
grant all on philips.node2 to philips;
create or replace trigger philips.tgr_node2
before delete or insert or update on philips.node2
begin
null;
end;
create table philips.node3(node3_id number,
root2_id number,
constraint node3_id_pk primary key(node3_id)
enable,
constraint n3_r2_id_fk foreign key(root2_id)
references philips.root2(root2_id) enable);
grant all on philips.node3 to philips;
create or replace trigger philips.tgr_node3
before delete or insert or update on philips.node3
begin
null;
end;
create table philips.node4(node4_id number,
node2_id number,
constraint node4_id_pk primary key(node4_id)
enable,
constraint n4_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable);
grant all on philips.node4 to philips;
create or replace trigger philips.tgr_node4
before delete or insert or update on philips.node4
begin
null;
end;
-- out of the relational model
create table philips.node5(node5_id number,
constraint node5_id_pk primary key(node5_id)
enable);
grant all on philips.node5 to philips;
create or replace trigger philips.tgr_node5
before delete or insert or update on philips.node5
begin
null;
end;
-- 3
create table philips.dictionary(table_name varchar2(30));
insert into philips.dictionary values ('ROOT1');
insert into philips.dictionary values ('ROOT2');
insert into philips.dictionary values ('NODE1');
insert into philips.dictionary values ('NODE2');
insert into philips.dictionary values ('NODE3');
insert into philips.dictionary values ('NODE4');
insert into philips.dictionary values ('NODE5');
--4
create or replace package body philips.pck_restore_philips as
procedure sp_select_tables is
aExportTablesPhilips utl_file.file_type := null; -- file to write DDL of tables
aExportReferencesPhilips utl_file.file_type := null; -- file to write DDL of references
aExportIndexesPhilips utl_file.file_type := null; -- file to write DDL of indexes
aExportGrantsPhilips utl_file.file_type := null; -- file to write DDL of grants
aExportTriggersPhilips utl_file.file_type := null; -- file to write DDL of triggers
sDirectory varchar2(100) := '/app/oracle/admin/tace/utlfile'; -- directory \\bmduhom01or02
cTables udt_tables; -- collection to store table names for the relational depth
begin
-- omits all referential constraints:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS', false);
-- omits segment attributes (physical attributes, storage attributes, tablespace, logging):
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', false);
-- append a SQL terminator (; or /) to each DDL statement:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR', true);
-- create/open files for export DDL:
aExportTablesPhilips := utl_file.fopen(sDirectory, 'DDLTablesPhilips.pdc', 'w', 32767);
aExportReferencesPhilips := utl_file.fopen(sDirectory, 'DDLReferencesPhilips.pdc', 'w', 32767);
aExportIndexesPhilips := utl_file.fopen(sDirectory, 'DDLIndexesPhilips.pdc', 'w', 32767);
aExportGrantsPhilips := utl_file.fopen(sDirectory, 'DDLGrantsPhilips.pdc', 'w', 32767);
aExportTriggersPhilips := utl_file.fopen(sDirectory, 'DDLTriggersPhilips.pdc', 'w', 32767);
select d.table_name bulk collect
into cTables -- collection with the names of tables in the schema philips
from all_tables t, philips.dictionary d
where owner = 'PHILIPS'
and t.table_name = d.table_name;
-- execution
sp_seeks_ddl(aExportTablesPhilips,
aExportReferencesPhilips,
aExportIndexesPhilips,
aExportGrantsPhilips,
aExportTriggersPhilips,
cTables);
-- closes all files
utl_file.fclose_all;
end sp_select_tables;
procedure sp_seeks_ddl(aExportTablesPhilips in utl_file.file_type,
aExportReferencesPhilips in utl_file.file_type,
aExportIndexesPhilips in utl_file.file_type,
aExportGrantsPhilips in utl_file.file_type,
aExportTriggersPhilips in utl_file.file_type,
cTables in out nocopy udt_tables) is
cDDL clob := null; -- colletion to save DDL
plIndex pls_integer := null;
sTableName varchar(30) := null;
begin
for i in cTables.first .. cTables.count loop
plIndex := i;
sTableName := cTables(plIndex);
* Retrieves the DDL and the dependent DDL into cDDL clob *
* for the selected table in the collection, and writes to file.*
begin
cDDL := dbms_metadata.get_ddl('TABLE', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTablesPHILIPS, cDDL);
exception
when dbms_metadata.object_not_found then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportReferencesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('INDEX', sTableName, 'PHILIPS');
sp_writes_ddl(aExportIndexesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('OBJECT_GRANT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportGrantsPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('TRIGGER', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTriggersPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
end loop;
end sp_seeks_ddl;
procedure sp_writes_ddl(aExport in utl_file.file_type,
cDDL in out nocopy clob) is
pLengthDDL pls_integer := length(cDDL);
plQuotient pls_integer := null;
plRemainder pls_integer := null;
begin
* Register variables to control the amount of lines needed *
* for each DDL and the remaining characters to the last row. *
select trunc(pLengthDDL / 32766), mod(pLengthDDL, 32766)
into plQuotient, plRemainder
from dual;
* Join DDL in the export file. *
* ps. 32766 characters + 1 character for each line break. *
-- if the size of the DDL is greater than or equal to limit the line ...
if plQuotient >= 1 then
-- loops for substring (lines of 32766 characters + 1 break character):
for i in 1 .. plQuotient loop
utl_file.put_line(aExport, substr(cDDL, 1, 32766));
-- removes the last line, of clob, recorded in the buffer:
cDDL := substr(cDDL, 32767, length(cDDL) - 32766);
end loop;
end if;
* If any remains or the number of characters is less than the threshold (quotient = 0), *
* no need to substring. *
if plRemainder > 0 then
utl_file.put_line(aExport, cDDL);
end if;
-- record DDL buffered in the export file:
utl_file.fflush(aExport);
end sp_writes_ddl;
begin
-- executes main procedure:
sp_select_tables;
end pck_restore_philips;<font color="red">The problem is that I still have ...
When creating the primary key index is created and this is repeated in the file indexes.
How to avoid?</font> -
Setting the ALV Hierarchy tree with grid line between the columns and rows
Hi Experts,
I would like to ask if there is any suggestion on setting the ALV hierarchy tree to be separated by grid line between the columns and rows just like how it is display the same way in normal ALV grid.
Thanks in advance.Hi Lin,
The requirement which you have stated is not possible.
Lin,
Also i have a query regarding BADI ZME_PROCESS_REQ_CUST, which you had raised on SDN. You have marked the question as solved/answered.
Changing the data of a customize field in purchase requisition
Could you please let me know, the steps you did to update the screen fields through the BADI.
I would really appreciate your reply, because i am facing exactly the same problem which you have mentioned.
Thanks,
Best regards,
Prashant -
How to customize events, execute stored procedures using JSF and ADF BC
As a java beginner, I started with developing simple web application using JSF and ADF business component through visual and declarative approach. I need to know how to customize events, execute stored procedures, invoke functions on triggering events associated with rich controls. for eg. how to write customized functions on button click or checkbox click events to achieve business requirement and can be modified whenever required.
Edited by: 792068 on Aug 31, 2010 9:40 PMWhich business layer is prefered to create interactive data model: 1. ADF business components or 2. Enterprise JavaBeans using Java persistance API (JPA) or 3. Toplink 4. Portlets
which minimizes writing low level codes and how much OOPS knowledge is required for creating above business layer binding data to viewcontroller layer? -
How to Customize Preview and Print / Sales Order Acknowledgement
Hi,
Our client needs some additional attributes on a sales order acknowledgement print ( Preview and Print ) output.
The current layout is based on ONTORDDFFN.xml and ONTORDDFN.xsd
How to customize the same to include additional attributes like Territory and Shipping instructions etc.These new fields are not there in xsd or the xml.
Appreciate your great help.
Regards,
RajuPer Oracle you need to implement the method "getPrintExtensionXMLFragment" of PrintExtensionObject.java. Oracle has given the flexibility that getPrintExtensionXMLFragment can either return a XMLFragement or a sql query.. If the code in getPrintExtensionXMLFragment returns a string which starts with "select" Applications code will execute that query and the corresponding XML will be appended to the main XML. This needs to be written in a CustomClass and then set to the Profile " OM: Printed Document Extension Class Name".
I would like to know if somebody has extensively added columns at the different levels (header, lines, Addresses, Line Discounts, Charges) and the same additional cols. were implemented in the CustomClass. Let me know.
Regards,
Rajesh. -
How to customize the Java Concurrent Program(PO Output for Communication)
Hi,
How to customize the Java Concurrent Program(PO Output for Communication)
I need to add the Line level Ship To Address ,Line Notes and Extended Price fields on Java Concurrent Program.
Please any body help/guide me in this regard.Hi,
Changing Java Conc. program for "PO Output for Communication" is difficult.
Actually, if you observe closely, "PO Output for Communication" program uses PO<HEADER/LINES..>_XML views.
So if you could change these views and add your requireed columns to it, you can automatically see your changes in XML data file.
See if the following link will you to get there.. http://chandramatta.blogspot.com/
thanks,
Matt -
Regarding excel download from ALV report tree
Hi Experts,
I have a ALV report tree program. In that i need the functionality to download report output in excel file.
Can any body suggest how can i achieve download to excel functionality in it.
Any useful suggestion will be appreciated.
Thanks in advance,
AkashThe data for the tree exist in the NODE table in a different format. So, even you download that table, it will not be downloaded in the TREE format. So, the user will not be able to understand the data unlike the case of a ALV GRID.
Whether it is a TREE / GRID, ultimately its the data of a internal table, that gets downloaded. But in case a TREE, we don't have the data in a straight forward way . i thnk it is not possible . i am not sure too for this . -
How to customize purchase order smartform BBP_PO in SAP SRM 7.0?
Hi friends,
I am new to SAP, as well as to SRM world. Currently I have a object with me from purchase order smartform in SRM. My job is to copy the standard PO form named BBP_PO into "Z" form and to make customizations in the copied one. I don't have idea about how to proceed with it. Please give me some idea about required processing classes, methods, BADI's, FM's etc,.. Can anyone please tell me how to do this job? I am a fresher so if you help me in this means, it would be very helpful for me and for my future.
Thanks and regards,
SivaHello Siva,
I searched and found the below steps ...
why dont you try the same !
How to customize an existing Standard Smart form in SRM - Overview.
1. Copy existing Standard smart form in SRM, let us say, BBP_PO into "Z'' Smart form in Transaction SMARTFORMS.
2. Do changes in Z Smart form add Desired Logos in Smart form using SE78 and SMARTFORMS transactions.
3. Change in Jargon: Unlike ECC we will not have Driver program (in SE38), you will find Processing class and Processing method ( in SE24) for SRM Smart forms, where we write extraction logic.
4. So, In case of SRM we should replace the (word) "Driver Program" with (the word) "Processing Class" and Perform as "Processing Method".
5.Where to Link: Processing Class, Processing Method and Smart form? In SPRO, SRM Server -> Cross Apps -> Set Output Actions and Output Format -> Define Actions for Purchase Order Output -> Action definition -> Processing types, then select standard PO.
6. If we are using (Completely- New) Custom Smart Form instead of Changing Standard Smartform, then Do change any settings in Step5, Otherwise, if you are planned to modify existing Smartform, with Small logic changes, format changes and Logo Changes then, Just Implement BADI - BBP_OUTPUT_CHANGE_SF in SE19 transaction.
7. Put a simple code in BADI as... CASE IV_OBJECT_TYPE.
When 'BUS2201' .
CV_SMARTFORM = 'Z_CustomSF'.
ENDCASE
8. Don't forget, you already copied Std Smartform into Custom Smartform say Z_CustomSF.
9. I am using BUS2201 only becuase I was trying to change BBP_PO Smartform which is a Purchase Order Smartform.
Hope this helps!
- Vikas -
How to customize flash-based web galleries?
Has anyone here figured out how to customize the CS4 Bridge flash-based web galleries? Specifically, I'd like to be able to add the "description" line from the metadata to an image, without having to add ALL the metadata (as a couple of the galleries allow).
Seems like such a simple thing. Can't imagine why Adobe didn't add it. It is standard in the older HTML gallery templates.
Thanks in advance for any suggestions.
Barring that, does anyone know of a second-party flash photo gallery that allows for information this information to be displayed?Flash is not supported on the iPad - and as Adobe have announced that they are stopping development on all mobile versions of it, it probably never will be.
Browser apps such as Skyfire, iSwifter, Puffin and Photon 'work' on some sites, but judging by their reviews not all sites. Also some websites, especially news sites, have their own apps in the App Store.
If you do a search on this forum you will find hundreds of other threads on the subject. -
I have a very simple question: how do I view where Lion has autosaved my current version to (without the convoluted route of using finder)? In days gone by i'd simply use the save as function to see where it was being saved.
It's actually even easier than using Save As to see the full path to the currently open document. Just do a "Secondary click" on the document title in its window's title bar.
Like you, I relied upon Save As my whole life to check a file's location and considered it a must-have capability. Turns out it's even faster to use the single-click method to reveal the full path to the open document. It displays the entire path to the current document starting from the level of your Mac, and works for files stored on drives as well as iCloud.
If you're not sure how to do a secondary click, go into System Preferences, select Trackpad, Point & Click to find the current preference for secondary click on your Mac. If you happen to have a mouse with more than one button, it's probably the right button. As a trackpad user, I check the box to "Click or tap with two fingers," so a simple two finger tap on the title of an open document reveals its full path. This feature actually has been around for a very long time.
Note that this is not the same thing as the Autosave and Versions menu, which is exposed using a little drop down triangle to the right of the title. There is no visual clue for the presence of this feature - you just have to know it's there, probably because this feature goes all the way back to pre-OS X days. -
Drag And Drop in ALV Column Tree
Hello All,
Can anyone tell me the method used for a drag and drop in a column tree....
i found it for a simple tree but not for a column tree.....
thanks in advance....
Regards,
PraveenCheck the links -
drag drop required for alv column!
drag and drop in a tree
Drag&Drop within the Tree
Drag&Drop within a tree
Drag and drop in ALV tree
Regards,
Amit
Reward all helpful replies.
Maybe you are looking for
-
How do I transfer my pics and videos to my I-tunes account from my LG Dare?
How do I transfer my pics and videos to my I-tunes account from my LG Dare?
-
DVDSP3 all messed up! plus menu question
Ok, i've been using Dvd Studio Pro since it came out. This is the first time I have had any problems with it. First of all, it keeps crashing, no reason. Second, now now video will play in the viewer. Third, Items on my menu seem to be locked and i c
-
Need solution for Use Case - Page Fragment?
I have a set of controls and table which I need to insert into many tabs such that each tab displays the same table and functions but with slightly different data. The controls and table could be used in many different areas so doesn't make sense to
-
Limiting decimal places in results
Some of my measurements from VIs are coming back with an exceedingly long string of decimal points. Is there a way to have TestStand globally trim it down globally or individually for the report? Thanks, jvh Solved! Go to Solution.
-
Where is the best place to edit code in BC? (modulestylesheets.css?)
I am having some unexpected results in the large product page and I can't find the code to correct it. I have a large space below the up/cross sell images I have added....I don't know where to find the code to get rid of the extra space. It should be