TREE - Built Only on Tables/Views Found in Application Schemas
Problem
When creating a "TREE" region using the wizard it prompts for a "schema name". The problem is that the table/view I would like to build a "TREE" on does not exist in the schemas listed by the wizard. Only the schemas that are associated with applications in the workspace are listed. It is not possible to base a "TREE" on a table/view that exists outside those schemas listed. This is a point of frustration because the parsing schema/user for my app has privileges to select from the table/view in the non-listed schema.
Example
Here is an example I tried. I want to create a tree of all breadcrumb entries (breadcrumb map) in a selected app. I used the data-dictionary view apex_application_bc_entries that is owned by FLOWS_020200. The view apex_application_bc_entries has a public synonym. My parsing schema user can select from that view.
I selected create a TREE "Based on a SQL Query"
SELECT aabe.breadcrumb_entry_id id
,aabe.parent_breadcrumb_id pid
,aabe.entry_label name
,aabe.url link
,null a1
,null a2
FROM apex_application_bc_entries aabe
WHERE application_id = :P20_APPLICATION_ID
I'm using apex version build 2.2.0.00.32.
Comment
I understand a possible workaround would be to build a view of apex_application_bc_entries. That would be a "view of a view" and I prefer not to do that.
Thoughts?
Todd
Have you duplicated the entire development environment on your laptop that exists on the other system, including data sources, databases or XML files, wherever the application is pulling the data from.
Lawrence *Adobe Community Expert*
www.Cartweaver.com
Complete Shopping Cart Application for
Dreamweaver, available in ASP, PHP and CF
Similar Messages
-
I lost some tables, view, triggers from my schema
Hi all,
I have two DBA users in Oracle 10g Database, one user already have tables,views, procedures etc. i took a dump of old_schema and restore to new_schema. after some time i lost all views ,triggers and some table from old_schema, i lost this much objects from my old_schema, anybody have face this problem before, how can i recover it
Edited by: 911604 on Feb 1, 2012 10:53 AM911604 wrote:
Hi all,
I have two DBA users in Oracle 10g Database, one user already have tables,views, procedures etc. i took a back up of first user restore to second user after some time i lost all views ,triggers and some table , why i lost this much objects from my user, anybody have face this problem before, how can i recover itWell bad karma, bad luck, some bad omen , anything can cause it isn't it!
Jokes apart, there is nothing that you have told to us which can enable us to suggest you something fruitful. Objects don't get dropped automatically so someone must have dropped them by himself. So ask around, check some auditing logs if you have to know who fired the commands. And if you don't have auditing records, mine the redo log files to find the same.
Aman.... -
What are the tables & Views related to Authorization Schemes
Hi,
I want to export all the Authorization Schemes into csv or excel.
Thanks,
RajHi Scott,
thanks for the quick response.
So my question is then...
I want to create a APEX Report which will give me the following information.
1. Application and all the Pages associated with it, which I am getting from apex_applications and
apex_application_pages. This is OK
2. List of all the Database Objects (Table/View) which the individual page is using, I mean relation between Page ID and database object. HOW to get that???.....(I want for each individual page, the list all the database objects (tables/views), which that page is using)
Thanks,
Deepak -
Hi,
I need to hide data in a table..Only column headers required to display.. I tried by (display column headers only) in view..It is showing only column header in the view ..But when iam displaying the table in dashboard it displays data also..another approach i took is to hide data from column properties ...Custom css display:none.. it is working fine..But the thing is it will not display data in other views also.I need to hide data only in table view..any helps will be appreciated.. Thank youHi Aswin,
Try this....
Take columns twice and first set which is use in table view (use display:none)
and second set use in pivot table and exclude first set columns........
Cheers,
Aravind -
Simple table view won't display text after typed...
I'm working with a table view in my application. I already have the code in place and the object prompted to the right items. Though once I build and use the table view, I simply cannot have the text I added to the table be viewable after I click to add a new row. I can provide more infomation upon request, thank you.
Here's a snapshot of what I mean.
Before:
http://cl.ly/01250R0W3u3e3h2t163a
After
http://cl.ly/462q3G300w1c180s3q1W
- Tom Miller
Pixelogic Software
www.pxlc.meMore learning interactions (think you are speaking about a learning interaction, not a widget) only have a placeholder on the stage; to see the result you'll have to preview (in browser) and after publishing everything will be OK.
It is certainly not only the table interaction that has such a behavior, did you try out all the interactions? -
Database objects Tables, Views, Indexes not expand in Connections navigator
In SQL Developer tool when I clicked on any database object: Tables, Views, Indexes, Packages, Procedures, Functions, and Triggers none of them expands in Connections navigator so I am not able to see all tables, Views, Indexes in this schema objects.
Please advise
Thanks a lot
VincentIf the user you're connecting with is not the owner of the objects, you can access them through the Other Users node.
Hope that helps,
K. -
Db link to select only one table
Dear all,
I want to create a DB link in my local DB to access only one table in the remote DB .
User a in local DB
User y in remote DB ..Y has got 200 tables..
Can I create a DB link in my local DB as user a and access only one table in remote DB (Y schema)
Is this possible ?
Please let me know If I didn't make this clear ?
KaiYou need to create a new user in the remote db, with access to only 1 table.
The database link connects to this user.
Sybrand Bakker
Senior Oracle DBA -
How to Control the width of the Filter row in Table View
Hi !
I have a Table View with filter='application'. The filter works fine but I am not able to control the width of the columns of the tableview .
On filtering, if there are not items in the table view the columns shrink to the minum width....and it looks very odd.
Can you help me how to control the width of the Filter-Row in Table Veiw.
Thanks and Best Regards,
BindiyaHi Raja,
"FIXEDCOLUMN" did not help in the width of the column, but it just showed all the rows merged in the column.
I have a cloumn called "COUNTRY" and its width is set to "20". The Filter of the column "COUNTRY" is a dropdownlist whos value is update with new values.
On filtering if there is any row visible then the column width is adjusted to the maxmimum length of the dropdownlist ( this is because of the "EDIT" attribute in column definition ). But if there is no rows visiblel for the selected filter value then the filter row shrinks to the width = "20" and the dropdownlist is not visible completely.
Need to know how to control the width of the FILTER column.
Thanks and Best Regards,
Bindiya -
There was one other thread from years ago detailing this same problem. The only clue was to check whether select all privs were enabled for the user on dba_objects. They are for the user accessing the system. In fact, all tables/views/procs/funcs can be viewed in the tree view of DBVisualizer. For whatever reason, OSD does not show anything.
I'd appreciate any clues! Thank you!
OSD Version Version 4.1.0.18
OS: Windows 7/64
Java: 1.8.0
Connecting to Oracle 11g 11.2.0.3.0Thank you, Gary.
I updated the post with the version info. I did not explicitly install this JDBC driver, so whatever the OSD came with? Unless it is using whatever is installed on my machine, in which case would be the thin driver.
I did check out that post, and I appreciate you sharing it. I did click the 'include synonyms' filter, but behavior remained unchanged.
I would prefer to use OSD, and that is what our dev team was expecting to use, but we just can't see the information. We are using an ID that does not 'own' those tables, per se. But, why would DBVisualizer show these tables, when OSD does not? -
Loaded dump from 12.5.4 to 15.7, Error 622 & Tables/Views not found
Hi all,
I am getting desperate trying to fix that issue. I had to import a dump from an ASE 12.5.4 into a new database on an ASE 15.7. I therefore enabled the compatibility mode server-wide and then proceeded to the load which seems to have performed correctly. The database seems well imported, and I can access most of the tables/views/procedures (from my C# application), but a procedure is giving me troubles.
I am getting this error while executing a given procedure :
Error: 622, Severity: 20, State: 1
Opentable was passed a varno of 52. Object 'temp worktable' in database 'tempdb' already has that session descriptor in use. This occured while opening object id -1245236 in database id 2.
I realised this was caused by a view which is used in this procedure but which is weird is that the error is not thrown when running the SQL code itself, out of the procedure context.
I am using Toad for Sybase as a client, and realised I cannot access the data tab of the concerned view, Toad gives me the same error. So I cannot execute this view while it performs without any trouble on the original server (production server which runs ASE 12.5.4).
I also realised, when trying to execute some pieces of the query individually that I get warnings about unfound tables (and that I should use sp_help to fix the problem). Although, the tables actually exists and I can access their data.
I have tried so many things and still cannot fix this problem. I've used 'upgrade_object', 'sp_recompile' on all tables, 'dbcc reindex' on all tables.
Would you have any idea where the problem could come from? Thank you very muchThank you for your reply.
Good to know that enabling compatibility mode before or after loading the load doesn't have any effect.
I didn't drop/recreate all the SP and views but I can tell you I recreated a similar view and it causes the same issue.
I had a look at your link yes. I have run 'dbcc upgrade_object' several times already, on the view and the procedures calling the view, and it won't solve anything.
I've seen a similar post about the problem I have when executing the code itself of the view in a "normal" adhoc query (errors saying the tables are not found) : SAP Sybase Forums - ASE - Backup and Recovery - PRoblem after restore - Object does not exist.
Could it be the same problem for me?
Although I've tried splitting the SQL query and executing the parts individually and it works without any trouble. Problem is when the 2 parts of the view are put together. It may be something that was possible with ASE 12.5.4 but not with 15.7 and that compatiblity mode doesn't solve. My view consists of an union a two selects where both have left joins, case when then else, not in and a final group by (adding an order by doesn't help, as I tried).
PS : I don't have access to the production server where the dump is actually from (but I could if it is really necessary) -
Viewing form in Preview Mode Failed. Error: Table not found [131-183]
Hi,
I have created a user form in screen painter in SBODemo. Created UDT, UDF & Registered UDO through my SDK code.
Everything works fine.
But when i run my addon on any other DB, and open my custom form it gives an error : Table Not Found.
I have checked the UDT's , UDF's & my UDO, all are in place and getting created in the DB.
I tried checking the Form again in screen painter everything is in line. But when i try preview in screen painter it gives an error
Viewing form in Preview Mode Failed. Error: Table not found [131-183].
I can't figure out the issue, i have checked my codes & forms many times.
Regards
Johnhi john smith,
Check your screen painter, probably some fields are defined without the "@" character in front.
for fields, check the "U_".
nd.Q -
Table View in View-based Application
Hi.
I want to use an UITableView in a View-based Application.
All examples I found are for Navigation-based Applications.
I Found only one example for View-based Applications, but it create all components himself without the Interface-Builder.
I search an example with Interface-Builder.
My main problem is, when i create a view with Interface-Builder, the controller class does not inherit from UITableViewController.GrinderFX wrote:
I want to use an UITableView in a View-based Application.
Hi, and welcome to the Dev Forum!
Firstly, I would point out that you don't need to use UITableViewController to control a table view. The table view controller is just more convenient. So for example, you could simply drag a table view from the library in IB and drop it onto your view. Then you could hook up the table view's dataSource and delegate outlets to the File's Owner. Then you would add the data source and delegate protocols to the @interface of your UIViewController subclass and add the required data source and delegate methods to the @implementation.
I mention the above because building your table view that way is very instructive. If you want to learn more about table views in general I would recommend Chapter 8 of +Beginning iPhone Development: Exploring the iPhone SDK by Mark and LaMarche+, which includes 3 table view projects that don't involve a navigation controller.
My main problem is, when i create a view with Interface-Builder, the controller class does not inherit from UITableViewController.
Returning to your specific question, IB allows you to change the class of an object. Here are the steps to use the View-Based Application template as you described (In the following I'm using Grinder as the name of the project; e.g. the app delegate class is named GrinderAppDelegate, and the view controller subclass is named GrinderViewController):
1) _Change parent of view controller subclass in your code_
In GrinderViewController.h, you only need to change the superclass from UIViewController to UITableViewController:
@interface GrinderViewController : UITableViewController {
However it will be easier later on if you make new files from the UITableViewController file template:
a) Ctrl-click on GVC.h and GVC.m in the Groups & Files tree; select Delete->Also Move to Trash;
b) Ctrl-click on Classes; select Add->New File->iPhone OS->Cocoa Touch Classes;
c) Select UITableViewController subclass from the right center panel and click Next;
d) File Name: GrinderViewController.m; check Also create GrinderViewController.h;
e) Make sure the name for these new files is exactly the same as the ones you deleted; if you make a mistake here, delete the new files and start over, because that name must be the same in several other files;
f) Click Finish; the replacement files should now appear under Classes.
2) _Change the view controller class in IB_
a) Double click on MainWindow.xib under Resources in the Groups & Files tree;
b) Make sure the MainWindow.xib window is open by selecting Window->Document from the IB menu;
c) Locate the View Mode switch, upper-left, in the xib window, and select the Center position;
d) The xib window should now be displaying two columns with small icons on the left;
e) Select the Grinder View Controller icon;
f) Select Edit-Delete to delete that icon;
g) Select Tools->Library from the menu, and expand Controllers in the Library Panel;
h) Drag a Table View Controller to the xib window and drop it right under the app delegate icon;
i) Select Tools->Identity Inspector from the menu to open the Grinder View Controller Identity Panel (the new Table View Controller should still be selected in the xib window);
j) Under Class Identity, select Grinder View Controller from the list; tab out of the Class field to be sure the selection is recorded;
k) Ctrl-Click on Grinder App Delegate and connect the view controller outlet (ctrl-drag) to Grinder View Controller;
l) Expand GVC in the xib window and delete the Table View icon (since we want it in the other xib file);
m) Reselect the GVC icon and open the Grinder View Controller Attributes panel;
n) Under View Controller, select GrinderViewController from the NIB Name list;
o) In the Table View Controller IB Editor window, select GrinderViewController.nib to open the other xib file;
p) Make sure the GrinderViewController.xib window is open in small icon mode as in steps b-d above;
q) The class of the File's Owner should be GrinderViewController;
r) Delete the View icon;
s) Drag a Table View from the Library to where the View icon was;
t) Ctrl-click on File's Owner and connect (ctrl-drag) it's view outlet to the Table View;
u) Ctrl-click on Table View: connect both the dataSource and delegate outlets to File's Owner;
v) File->Save both xib files.
3) _Make some rows in the table view and test_
a) Open GrinderViewController.m in Xcode;
b) Add the commented lines (be sure to use the correct line for your target OS);
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 20; // <-- change to more than zero
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
// Configure the cell
// add this line for OS 2.x
cell.text = [NSString stringWithFormat:@"Row %d", indexPath.row];
// add this line for OS 3.0
// cell.textLabel.text = [NSString stringWithFormat:@"Row %d", indexPath.row];
return cell;
c) Build and Go.
I should add that the procedure might be a little easier if you start with the Window-Based Application Template. But the above is good practice in editing xib files.
Hope that's helpful!
- Ray -
How do I use the option "table view" in NetWeaver 2004s Query Designer?
Dear,
We have used NetWeaver 2004s Query Designer, We found a strange problem. The option to select table view is not available. It is greyed out. How can you select table view (tabular) in 2004s Query Designer?
I have read the help doc about tabular view of NetWeaver 2004s Query Designer, I check my query, it has only one structure . but the option is still greyed out. I rebuild the query with 3.x Query Designer in tabular view, and reopen it with 2004s Query Designer, So there is a tab named "tabular view" display, but the option to select table view is still not available, and when users view the query result in web , it is still not in tabular view display. So I am confused, is there a bug with NetWeaver 2004s Query Designer?
Please help me. Thanks!Note 1002271. Seach this note to use key word "table view"
-
How can I create a Table View in Cocoa Applescript?
This is my last resort. I've searched for days and only found tutorials for iPhone and Cocoa, and I have no idea where to start. I'm looking for a way to create a Table View, and fill it with a few cells that call a handler when clicked. I've looked through the Xcode help, the Apple documentation, and countless tutorials, and I don't know what to do. I'm sure what I'm asking is possible, because usually what is possible in Cocoa is possible in Cocoa-Applescript.
Perhaps something like:
myTableView's addCell_OfType_WithHandler("This is a text cell", text, "myHandler:")
I would appretiate any responses and brief descriptions on the matter.You did not answer my first question, which was not an idle question. I'll answer here, but if cross-chatter appears in a different thread I'll ignore it. You'll have to keep track of the mess yourself.
Apple_For_The_Win wrote:
At this point, I've dragged a Table View onto my window, in Xcode. I've connected it to the value "myTableView", and that's where I need help. I'm specifically trying to add cells into the table view.
I'll assume that 'connected it to the value "myTableView"' means that you've control-dragged in XCode from the table view in Main Menu.xib to a property in your applescript app delegate called myTableView. If that's not the case, please correct me.
I prefer to use an array controller for this, so please drag an array controller object into main menu.nib. once you've done that, do the following:
open the applescript app delegate and add a new property called "tableController"
select the table view in the object list (you may need to open some disclosure triangles to reach it). and add appropriate (an) column name(s). you can hide column titles later if you like, but having named columns makes life easier.
select the array controller in the object list
rename the array controller "table data"
open the attributes inspector, and then add the column name(s) as key(s) in the object controller area
open the bindings inspector, and where it says "controller content", open the disclosure arrow and bind the content to the App Delegate object on the model key path self.tableController
select the table view in the object list again, then go down a level and select each column in turn
for each column, open the bindings inspector, and where it says "value", open the disclosure arrow and bind the content to the Table Data object with the controller key arrangedObjects model key path being the name of the column (which is the name of the key in the controller as well)
back in the applescript app delegate, add code like the following:
-- create a list of records, where each record represents a row and the column name is the record key
set myData to {{column_1_name:"hello"}}
-- convert it to an NSArray and add it to the controller content. don't forget the *my* keyword, or it won't work
set my tableController to NSArray's arrayWithArray:myData
-- may or may not be needed
myTableView's reloadData()
That should populate the table with simple text. if you want something more complicated (like buttons or links) then create the more complicated elements separately and add them to the data. -
Dynamic tree UI element in the view
Dear All,
Can anyone provide me with the code snippet for Dynamic Tree UI element in the view. I need to show the tree which should be generated dynamically.
Thanks alot in advance!
Points will be rewarded, Please its urgent!
Cheers,
Darshna.Hi ,
sorry for the late reply... here is the code for onActionLoadchildren .. i am sure you wont understand this.. but lets try...
DATA:
element_parent TYPE REF TO if_wd_context_element,
lv_object_key1 type string,
lv_object_type type string.
DATA:
node_root_entry TYPE REF TO if_wd_context_node,
elem_root_entry TYPE REF TO if_wd_context_element,
stru_root_entry TYPE if_structure_view_new=>element_root_entry ,
item_valid_from LIKE stru_root_entry-valid_from,
item_plant LIKE stru_root_entry-plant,
item_equi_key LIKE stru_root_entry-equi_key,
item_object_key LIKE stru_root_entry-object_key,
item_object_type TYPE string,
item_path TYPE string,
item_parent_path TYPE string,
context_node TYPE REF TO if_wd_context_node,
root_entry TYPE if_structure_view_new=>element_selected_entry.
l_ref_componentcontroller TYPE REF TO ig_componentcontroller.
DATA:
node_root_info TYPE REF TO if_wd_context_node,
elem_root_info TYPE REF TO if_wd_context_element,
stru_root_info TYPE if_structure_view_new=>element_root_info .
DATA:
element TYPE REF TO if_wd_context_element,
node_selected_entry TYPE REF TO if_wd_context_node,
elem_selected_entry TYPE REF TO if_wd_context_element.
DATA:
ls_hier_return TYPE rplm_ts_struc_elements,
lt_hier_return TYPE TABLE OF rplm_ts_struc_elements,
ls_hier_return_temp TYPE rplm_ts_struc_elements,
lt_hier_return_temp TYPE TABLE OF rplm_ts_struc_elements,
ls_hier_level TYPE rplm_ts_hier_level,
lt_hier_level TYPE TABLE OF rplm_ts_hier_level,
ls_hier_return_sort TYPE rplm_mt_ts_hier,
lt_hier_return_sort TYPE TABLE OF rplm_mt_ts_hier.
DATA:
temp_hier_level TYPE if_structure_view_new=>element_hier_level,
lt_hier_temp TYPE TABLE OF if_structure_view_new=>element_hier_level,
lt_temp TYPE TABLE OF if_structure_view_new=>element_hier_level.
DATA:
lc_path TYPE string,
lv_object_key TYPE string.
DATA:
lv_hier_lines TYPE i.
DATA:
node_entries TYPE REF TO if_wd_context_node,
node_sub_entries TYPE REF TO if_wd_context_node,
elem_sub_entries TYPE REF TO if_wd_context_element,
stru_sub_entries TYPE if_structure_view_new=>element_sub_entries .
TYPES: BEGIN OF ls_hier_type, "structure for Hierarchy table
object(31) TYPE c, "Objectkey
predecessor(31) TYPE c, "Objectkey Predecessor
data(2000) TYPE c, "Data container
level TYPE i, "level of object in tree
successors(1) TYPE c, "Object has successors: YES/NO/U
display(1) TYPE c, "Object is displayed: YES/NO
selected(1) TYPE c, "Object is selected/marked: YES/NO
index_predec LIKE sy-tabix, "Index predecessor
strno TYPE ilom_strno,"External number for func. loc.
"in BOMs used for top object
END OF ls_hier_type.
DATA:
ls_hier TYPE ls_hier_type,
lt_hier TYPE TABLE OF ls_hier_type WITH DEFAULT KEY,
lt_mat_hier TYPE TABLE OF ls_hier_type WITH DEFAULT KEY.
" For retrieving Material Data Heirarchy
DATA:
lh_stpo_tab TYPE TABLE OF rihstpx ,
lwa_stpo_tab LIKE LINE OF lh_stpo_tab,
check_menge TYPE string ,
check_meins TYPE string ,
lwa_mat_hier LIKE LINE OF lt_mat_hier ,
lt_dup_mat_hier LIKE lt_mat_hier,
lv_len TYPE i,
lv_len_temp TYPE i .
DATA:
lv_equnr TYPE equi-equnr,
lv_tplnr TYPE iflo-tplnr,
lv_matnr TYPE mast-matnr.
DATA:
lv_cnt TYPE i,
lv_index TYPE i.
DATA:
lv_path TYPE string,
lv_parent_path TYPE string,
pos TYPE string,
separator TYPE c VALUE '.',
max_level TYPE i,
temp_level TYPE i,
counter TYPE i VALUE 1.
TYPES: BEGIN OF ls_pred_type, "structure for Hierarchy table
parent(31) TYPE c, "Objectkey Predecessor
path(2000) TYPE c, "Data container
index_predec LIKE sy-tabix, "Index predecessor
END OF ls_pred_type.
DATA:
ls_pred TYPE ls_pred_type,
lt_pred TYPE TABLE OF ls_pred_type WITH DEFAULT KEY.
DATA:
lv_int_obj_key TYPE string,
obj_len TYPE i,
lv_funcloc_ext TYPE ilom_strno,
lv_funcloc TYPE itob-tplnr.
DATA:
lv_level TYPE i,
lv_temp TYPE i,
lt_path_entries TYPE string_table.
DATA:
node_general TYPE REF TO if_wd_context_node,
elem_general TYPE REF TO if_wd_context_element,
stru_general TYPE if_structure_view_new=>element_general ,
item_collapse_visibility LIKE stru_general-collapse_visibility.
DATA:
elem_context TYPE REF TO if_wd_context_element,
stru_context TYPE if_structure_view_new=>element_context ,
item_expand_all LIKE stru_context-expand_all.
lv_path = path.
Get Element whose children shall be loaded
element_parent = wd_context->path_get_element( lv_path ).
element_parent->get_attribute(
EXPORTING
name = `OBJECT_KEY`
IMPORTING
value = LV_object_key ).
element_parent->get_attribute(
EXPORTING
name = `OBJECT_TYPE`
IMPORTING
value = lv_object_type ).
node_root_entry = wd_context->get_child_node( name = wd_this->wdctx_root_entry ).
get element via lead selection
elem_root_entry = node_root_entry->get_element( ).
get single attribute
elem_root_entry->get_attribute(
EXPORTING
name = `VALID_FROM`
IMPORTING
value = item_valid_from ).
elem_root_entry->get_attribute(
EXPORTING
name = `PLANT`
IMPORTING
value = item_plant ).
item_object_type = lv_object_type.
if lv_object_type eq 'EQUI'.
item_object_key = ''.
item_equi_key = lv_object_key.
elseif lv_object_type eq 'FUNCLOC'.
item_object_key = lv_object_key.
item_equi_key = ''.
ELSE.
lv_matnr = lv_object_key.
For BOM, material and Assembly
endif.
IF item_object_type EQ 'EQUI'.
lv_equnr = lv_object_key.
ELSEif item_object_type eq 'FUNCLOC'.
lv_tplnr = lv_object_key.
ELSE.
LV_MATNR = lv_object_key.
exit.
ENDIF.
CALL FUNCTION 'PM_HIERARCHY_CALL'
EXPORTING
datum = item_valid_from
equnr = lv_equnr
tplnr = lv_tplnr
matnr = lv_matnr
levdo = '99'
levup = '00'
sanin = 'X'
select_equi = 'X'
select_iflo = 'X'
select_stpo = 'X'
selmod = 'D'
stkkz = ''
werks = item_plant
with_equi = 'X'
with_equi_hier = 'X'
with_iflo_hier = 'X'
with_btyp = 'X'
with_mara = 'X'
with_ibase_hier = ''
capid = ''
emeng = 0
IMPORTING
et_hier = lt_hier
EXCEPTIONS
no_hierarchy = 1
no_object_defined = 2
no_selection = 3
no_valid_equnr = 4
no_valid_matnr = 5
no_valid_selmod = 6
no_valid_tplnr = 7
OTHERS = 8.
LOOP AT lt_hier INTO ls_hier.
ls_hier_return-object_key = ls_hier-object.
ls_hier_level-object_key = ls_hier-object.
ls_hier_level-predecessor = ls_hier-predecessor.
lv_len = strlen( ls_hier-object ).
IF lv_len GT 1.
lv_len_temp = lv_len - 1.
ELSEIF
lv_len_temp = lv_len.
ENDIF.
ls_hier_level-level = ls_hier-level.
IF ls_hier-object(1) = 'T'.
ls_hier_return-icon = 'ICON_TECHNICAL_PLACE'.
ls_hier_return-object_type = 'FUNCLOC'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_true.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object(1) = 'E'.
ls_hier_return-icon = 'ICON_EQUIPMENT'.
ls_hier_return-object_type = 'EQUI'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_true.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'M'.
ls_hier_return-icon = 'ICON_MATERIAL'.
ls_hier_return-object_type = 'MATERIAL'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'X'.
ls_hier_return-icon = 'ICON_SUPPLY_AREA'.
ls_hier_return-object_type = 'MATBOM'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ELSEIF ls_hier-object+lv_len_temp(1) = 'A'.
ls_hier_return-icon = 'ICON_MATERIAL_REVISION'.
ls_hier_return-object_type = 'MATERIAL'.
IF ls_hier-successors = 'Y'.
ls_hier_return-is_leaf = abap_false.
ls_hier_return-is_expanded = abap_false.
ls_hier_return-children_loaded = abap_false.
ELSE.
ls_hier_return-is_leaf = abap_true.
ls_hier_return-is_expanded = abap_true.
ls_hier_return-children_loaded = abap_true.
ENDIF.
ENDIF.
*IF ls_hier-predecessor EQ item_object_key OR ls_hier-object EQ item_object_key.
APPEND ls_hier_return TO lt_hier_return.
APPEND ls_hier_level TO lt_hier_level.
*ENDIF.
CLEAR lv_len.
CLEAR lv_len_temp.
ENDLOOP.
lt_hier_return_temp = lt_hier_return.
DESCRIBE TABLE lt_hier LINES lv_hier_lines.
IF lv_hier_lines EQ 0.
elem_selected_entry = wd_context->path_get_element( '1.ENTRIES.1' ).
Get children node
elem_selected_entry->set_attribute(
value = abap_true
name = 'IS_LEAF' ).
ENDIF.
*************************************Deleting Now***********
SORT lt_hier_level BY level DESCENDING.
LOOP AT lt_hier_level INTO ls_hier_level.
max_level = ls_hier_level-level.
EXIT.
ENDLOOP.
SORT lt_hier_level BY level ASCENDING.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ 0.
ls_hier_level-path = '1.ENTRIES.1'.
ls_hier_level-parent_path = '1.ENTRIES.1'.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
************************New design to Generate Path and Parent path
lv_cnt = 0.
temp_level = 1.
SORT lt_hier_level BY object_key ASCENDING.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ 1.
lv_cnt = lv_cnt + 1.
lv_parent_path = '1.ENTRIES.1'.
ls_hier_level-parent_path = lv_parent_path.
pos = lv_cnt.
CONCATENATE lv_parent_path separator 'SUB_ENTRIES' separator pos INTO lv_path.
ls_hier_level-path = lv_path.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
temp_level = 1.
lv_cnt = 0.
*********************Need to call this for each level ***************************
WHILE temp_level LT max_level.
CLEAR lt_pred.
CLEAR ls_pred.
LOOP AT lt_hier_level INTO ls_hier_level WHERE level EQ temp_level.
ls_pred-parent = ls_hier_level-object_key.
ls_pred-path = ls_hier_level-path.
APPEND ls_pred TO lt_pred.
ENDLOOP.
SORT lt_pred BY parent.
DELETE ADJACENT DUPLICATES FROM lt_pred.
LOOP AT lt_pred INTO ls_pred.
lv_cnt = 0.
LOOP AT lt_hier_level INTO ls_hier_level WHERE predecessor EQ ls_pred-parent.
lv_cnt = lv_cnt + 1.
lv_parent_path = ls_pred-path.
ls_hier_level-parent_path = lv_parent_path.
lv_path = ''.
pos = lv_cnt.
CONCATENATE lv_parent_path separator 'SUB_ENTRIES' separator pos INTO lv_path.
ls_hier_level-path = lv_path.
MODIFY lt_hier_level FROM ls_hier_level.
ENDLOOP.
ENDLOOP.
temp_level = temp_level + 1.
ENDWHILE.
LOOP AT lt_hier_level INTO ls_hier_level.
LOOP AT lt_hier_return INTO ls_hier_return.
IF ls_hier_level-object_key = ls_hier_return-object_key.
MOVE-CORRESPONDING ls_hier_level TO ls_hier_return.
MODIFY lt_hier_return FROM ls_hier_return.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT lt_hier_return BY path ASCENDING.
**************************Delete the extra first character returned by PM_HIERARCHY_CALL******
LOOP AT lt_hier_return INTO ls_hier_return.
IF ls_hier_return-object_key(1) = 'T'.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
lv_funcloc_ext = lv_object_key.
CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT'
EXPORTING
input = lv_funcloc_ext
IMPORTING
output = lv_funcloc.
lv_int_obj_key = lv_funcloc.
ls_hier_return-object_key = lv_int_obj_key.
ELSEIF ls_hier_return-object_key(1) = 'E'.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
obj_len = strlen( lv_object_key ).
IF obj_len GE 18.
lv_object_key = lv_object_key+0(18).
ENDIF.
wd_comp_controller->conv_ext_2_int(
EXPORTING
iv_object_key_ext = lv_object_key " String
iv_object_type = 'EQUI' " String
IMPORTING
ev_object_key = lv_int_obj_key " String
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_return-object_key = lv_int_obj_key.
ELSE.
SHIFT ls_hier_return-object_key BY 1 PLACES.
lv_object_key = ls_hier_return-object_key.
obj_len = strlen( lv_object_key ).
IF obj_len GE 18.
lv_object_key = lv_object_key+0(18).
ENDIF.
SHIFT lv_object_key LEFT DELETING LEADING '0'.
ls_hier_return-object_key = lv_object_key.
ENDIF.
MODIFY lt_hier_return FROM ls_hier_return TRANSPORTING object_key object_key.
ENDLOOP.
LOOP AT lt_hier_level INTO ls_hier_level.
IF ls_hier_level-object_key(1) = 'T'.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_object_key = ls_hier_level-object_key.
lv_funcloc_ext = lv_object_key.
CALL FUNCTION 'CONVERSION_EXIT_TPLNR_OUTPUT'
EXPORTING
input = lv_funcloc_ext
IMPORTING
output = lv_funcloc.
lv_int_obj_key = lv_funcloc.
ls_hier_level-object_key = lv_int_obj_key.
ELSEIF ls_hier_level-object_key(1) = 'E'.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_int_obj_key = ls_hier_level-object_key.
obj_len = strlen( lv_int_obj_key ).
IF obj_len GE 18.
lv_int_obj_key = lv_int_obj_key+0(18).
ENDIF.
wd_comp_controller->conv_ext_2_int(
EXPORTING
iv_object_key_ext = lv_int_obj_key " String
iv_object_type = 'EQUI' " String
IMPORTING
ev_object_key = lv_int_obj_key " String
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_level-object_key = lv_int_obj_key.
ELSE.
SHIFT ls_hier_level-object_key BY 1 PLACES.
lv_int_obj_key = ls_hier_level-object_key.
obj_len = strlen( lv_int_obj_key ).
IF obj_len GE 18.
lv_int_obj_key = lv_int_obj_key+0(18).
ENDIF.
SHIFT lv_int_obj_key LEFT DELETING LEADING '0'.
ls_hier_level-object_key = lv_int_obj_key.
ENDIF.
MODIFY lt_hier_level FROM ls_hier_level TRANSPORTING object_key object_key.
ENDLOOP.
*********************Getinfo if root node else call Get_Children_Info to generate the structure as well*******
IF lv_path EQ '1.ENTRIES.1'.
element = wd_context->path_get_element( lv_path ).
navigate from <ENTRIES> to <SUB_ENTRIES> via lead selection
node_sub_entries = element->get_child_node( name = 'SUB_ENTRIES' ).
element->get_attribute( EXPORTING name = 'OBJECT_KEY'
IMPORTING value = item_object_key ).
element->get_attribute( EXPORTING name = `OBJECT_TYPE`
IMPORTING value = item_object_type ).
****************Get Info of Technical Objects*************
wd_comp_controller->get_children_info(
EXPORTING
iv_lt_list = lt_hier_return " Rplm_Tt_Mt_Struc
iv_path = ''
iv_hier_level = lt_hier_level
IMPORTING
ev_lt_full = lt_hier_return " Rplm_Tt_Mt_Struc
Create the strcuture by binding the entries to Node which is bound to the table
element = wd_context->path_get_element( lc_path ).
Get children node
node_sub_entries = element->get_child_node( 'SUB_ENTRIES' ).
CALL METHOD node_sub_entries->bind_table
EXPORTING
new_items = lt_hier_return
set_initial_elements = abap_true.
@TODO handle not set lead selection
IF ( node_entries IS INITIAL ).
ENDIF.
lv_temp = 1.
***************Sort the LT_HIER_TABLE appropriately ******
LOOP AT lt_hier_return INTO ls_hier_return .
MOVE-CORRESPONDING ls_hier_return TO ls_hier_return_sort.
ls_hier_return_sort-path_length = strlen( ls_hier_return_sort-path ).
APPEND ls_hier_return_sort TO lt_hier_return_sort.
ENDLOOP.
SORT lt_hier_return_sort BY path_length ASCENDING path ASCENDING.
CLEAR lt_hier_return.
LOOP AT lt_hier_return_sort INTO ls_hier_return_sort.
MOVE-CORRESPONDING ls_hier_return_sort TO ls_hier_return.
APPEND ls_hier_return TO lt_hier_return.
ENDLOOP.
*wd_comp_controller->gv_master_data = lt_hier_return.
LOOP AT lt_hier_return INTO ls_hier_return.
lv_path = ls_hier_return-path.
lc_path = ls_hier_return-parent_path.
IF lv_path NE '1.ENTRIES.1'.
element = wd_context->path_get_element( lc_path ).
Get children node
node_sub_entries = element->get_child_node( 'SUB_ENTRIES' ).
Now, create the children elements
element->get_attribute( EXPORTING name = 'OBJECT_KEY'
IMPORTING value = ls_hier_level-predecessor ).
Create the strcuture by binding the entries to Node which is bound to the table
CALL METHOD node_sub_entries->bind_structure
EXPORTING
new_item = ls_hier_return
set_initial_elements = abap_false.
ENDIF.
ENDLOOP.
Only when a new level is reached we create one more child node
else we attach our elements to same child node
element = wd_context->path_get_element( item_path ).
Get children node
element->set_attribute(
value = abap_false
name = 'IS_EXPANDED' ).
ENDIF.
navigate from <CONTEXT> to <GENERAL> via lead selection
node_general = wd_context->get_child_node( name = wd_this->wdctx_general ).
get element via lead selection
elem_general = node_general->get_element( ).
get single attribute
elem_general->set_attribute(
name = `COLLAPSE_VISIBILITY`
value = abap_false ).
node_selected_entry = wd_context->get_child_node( name = if_structure_view_new=>wdctx_selected_entry ).
get element via lead selection
elem_selected_entry = node_selected_entry->get_element( ).
get single attribute
elem_selected_entry->set_attribute(
name = `OBJECT_KEY`
value = '' ).
elem_selected_entry->set_attribute(
name = `OBJECT_TYPE`
value = '' ).
get element via lead selection
elem_context = wd_context->get_element( ).
get single attribute
elem_context->set_attribute(
name = `EXPAND_ALL`
value = abap_false ).
wd_this->enable_buttons(
endmethod.
Maybe you are looking for
-
I was just doing my website and doing my css stylings. Suddenly, when i create a css rule, it stopped showing in my live view or browser. It still appears the way i want in design view. I have no idea why, i am only a beginner and i am struggling wit
-
How can I pass information from one portlet to another?
First, some background... I am using Portal 5.0.2 and developing portlets using JSP/Java on a remote server. I need to pass information from a portlet on pageA to another portlet on pageB, but I can't do it using the traditional methods, such as quer
-
This message pops up when I try to launch InDesign CC. I tried deleting preferences by pressing CTRL-SHIFT-ALT, and deleted preferences from there but the same problem still occurs. I tried uninstalling and reinstalling, but problem still here... can
-
Installing run-time engine 7.0 on windows NT
I attempted to Install Labview run-time engine 7.0 (LVRunTimeEng), on windows NT with workgroups 4, but got the message wrong OS. I am sure I downloaded the correct version (which is supposed to support Windows NT). Anyone have the same problem ? Any
-
Nikon .NRW support?
Hello all: This has been written about elsewhere, but I found no mention on the Lightroom Forums... A new camera model from Nikon, the Coolpix P6000, is a very promising model to serve, I would guess, mostly a pro-sumer market of shooters who already