Need Object Type Tree/Hierachy

Hi,
I'm trying to create a tree structure using object types, but am unable to do so because Oracle can't handle object types within object types (without the use of REF)
Has anyone done this before that might be able to give me some help?
Is there anyway of restructuring the following objects so that it will work?
CREATE TYPE NODE;
-- This statement fails because 'NODE' is invalid
CREATE TYPE NODE_TABLE AS TABLE OF NODE;
-- So does this one
CREATE TYPE NODE AS OBJECT (
NODE_NAME VARCHAR2(5),
CHILDREN REF NODE_TABLE);
Please help!
Cheers
RT

Anybody?

Similar Messages

  • Need Objective Type Qns

    Hi all,
    Kindly send me ABAP-Objective type qns.
    Thanks in advance.
    Ravi.

    Hi Ravi,
    Refer the following and reward points if it helps.
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sap-img.com/abap/more-than-100-abap-interview-faqs.htm
    http://www.sapgenie.com/faq/abap.htm
    http://www.techinterviews.com/?p=198
    <b>Also, refer the following questions on ABAP :</b>
    ABAP Interview Questions
    1. How data is stored in cluster table?
    Each field of cluster table behaves as tables which contains the no. of entries.
    2. What are client dependant objects in abap/sap?
    SAP Script layout, text element, and some DDIC objects.
    3. On which even we can validate the input fields in module progams?
    In PAI (Write field statement on field you want to validate, if you want to validate group of fields put in chain and End chain statement.)
    4. In selection screen I have three fields, plant mat no and material group. If I input plant how do I get the mat no and material group based on plant dynamically?
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group for the plant.
    5. How do you get output from IDOC?
    Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in its respective segments.
    6. When top of the page event is triggered?
    After excuteing first write statement in start-of-selection event.
    7. Can we create field without data element and how?
    In SE11 one option is available above the fields strip. Data element/ direct type.
    8. How do we debug sapscript?
    Go to SE71 give lay set name , go to utilities select debugger mode on.
    9. Which transaction code can I used to analyze the performance of ABAP program.
    TCode AL21.
    10. How can I copy a standard table to make my own z_table.
    Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name of the standard table and in the Target table enter Z table name and press enter.
    1. What is the use of 'outerjoin'
    Ans. With the use of outer join you can join the tables even there is no entry in all the tables used in the view.
    In case of inner join there should be an entry in al the tables use in the view.
    2. When to use logical database?
    Ans. Advantage of Logical databases:
    less coding s required to retrieve data compared to normal internel tables.
    Tables used LDB are in hierarchial structure.
    3. What is the use of 'table index'?
    Ans .Index is used for faster access of data base tables.
    4. What is the use of 'FOR ALL ENTRIES'?
    Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
    If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
    Performance wise SELECT FOR ALL ENTRIES is better to use.
    5. Can you set up background processing using CALL TRANSACTION?
    Yes,Using No Screen Mode.
    6. What are table buffers?
    Table buffers reside locally on each application server in the system. The data of buffered tables can thus be accessed
    directly from the buffer of the application server. This avoids the time-consuming process of accessing the database.
    Buffering is useful if table needs to be accessed more no. of times in a program.
    ABAP Technical Interview Questions:
    1. What is the typical structure of an ABAP program?
    2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups?
    3. What should be the approach for writing a BDC program?
    4. What is a batch input session?
    5. What is the alternative to batch input session?
    6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it?
    7. What is the difference between a pool table and a transparent table and how they are stored at the database level?
    8. What are the problems in processing batch input sessions? How is batch input process different from processing on line?
    9. What do you define in the domain and data element?
    10. What are the different types of data dictionary objects?
    11. How many types of tables exist and what are they in data dictionary?
    12. What is the step-by-step process to create a table in data dictionary?
    13. Can a transparent table exist in data dictionary but not in the database physically?
    14. What are the domains and data elements?
    15. Can you create a table with fields not referring to data elements?
    16. What is the advantage of structures? How do you use them in the ABAP programs?
    17. What does an extract statement do in the ABAP program?
    18. What is a collect statement? How is it different from append?
    19. What is open sql vs native sql?
    20. What does an EXEC SQL stmt do in ABAP? What is the disadvantage of using it?
    21. What is the meaning of ABAP editor integrated with ABAP data dictionary?
    22. What are the events in ABAP language?
    23. What is an interactive report? What is the obvious diff of such report compared with classical type reports?
    24. What is a drill down report?
    25. How do you write a function module in SAP? Describe.
    26. What are the exceptions in function module?
    27. What is a function group?
    28. How are the date abd time field values stored in SAP?
    29. What are the fields in a BDC_Tab Table?
    30. Name a few data dictionary objects?
    31. What happens when a table is activated in DD?
    32. What is a check table and what is a value table?
    33. What are match codes? Describe?
    34. What transactions do you use for data analysis?
    35. What is table maintenance generator?
    36. What are ranges? What are number ranges?
    37. What are select options and what is the diff from parameters?
    38. How do you validate the selection criteria of a report? And how do you display initial values in a selection screen?
    39. What are selection texts?
    40. What is CTS and what do you know about it?
    41. When a program is created and need to be transported to prodn does selection texts always go with it? if not how do you make sure? Can you change the CTS entries? How do you do it?
    42. What is the client concept in SAP? What is the meaning of client independent?
    43. Are programs client dependent?
    44. Name a few system global variables you can use in ABAP programs?
    45. What are internal tables? How do you get the number of lines in an internal table? How to use a specific number occurs statement?
    46. How do you take care of performance issues in your ABAP programs?
    47. What are datasets?
    48. How to find the return code of a stmt in ABAP programs?
    49. What are interface/conversion programs in SAP?
    50. Have you used SAP supplied programs to load master data?
    2. Adapted from response by Maram Roja on Tuesday, June 15, 2004
    1. What are the techniques involved in using SAP supplied programs? Do you prefer to write your own programs to load master data? Why?
    2. What are logical databases? What are the advantages/disadvantages of logical databases?
    3. What specific statements do you using when writing a drill down report?
    4. What are different tools to report data in SAP? What all have you used?
    5. What are the advantages and disadvantages of ABAP query tool?
    6. What are the functional areas? User groups? How does ABAP query work in relation to these?
    7. Is a logical database a requirement/must to write an ABAP query?
    8. What is the structure of a BDC sessions.
    9. What are Change header/detail tables? Have you used them?
    10. What do you do when the system crashes in the middle of a BDC batch session?
    11. What do you do with errors in BDC batch sessions?
    12. How do you set up background jobs in SAP? What are the steps? What are the event driven batch jobs?
    13. Is it possible to run host command from SAP environment? How do you run?
    14. What kind of financial periods exist in SAP? What is the relevant table for that?
    15. Does SAP handle multiple currencies? Multiple languages?
    16. What is a currency factoring technique?
    17. How do you document ABAP programs? Do you use program documentation menu option?
    18. What is SAPscript and layout set?
    19. What are the ABAP commands that link to a layout set?
    20. What is output determination?
    ABAP Interview Questions
    1.Without using Tcode SE11, How can we enter the values in to the table???
    2.What is the difference between Collect statement and Append Statement???
    3.What do you mean by correction and Transportation system???
    4.What is the difference between User Exits and BADI????
    5.How can we identify User exits in our screen???
    6.What do you mean by Inbound and Outbound interface???
    7.In realtime do we configure ALE systems or Administator will take care of that??
    8.How to release an object???
    9.What is the flow of a Sales document???
    10.What is the flow of Purchase order???
    12.What is the flow of Invoice???
    13.What are the standard IDOC's used???
    14.What do you mean by table control???Where will we use this???
    15.What are field symbols??Where will we use these symbols???
    Deepti
    1. There are other ways of entering data into a DB table. ex. B D C
    2. Collect statement collect/adds the records basing on a key field. allows to create summarised data sets.
    Append will append/add a record at the end of existing records
    8. to release an object - use se10/se9
    9. sales doc flow: S. A. - S. O. - Delivery - Billing
    12. Delivery - invoice.
    15. field symbols are used for dynamic allocation. at runtime u can assign a concrete field to field-symbol.
    Kishore
    1. you can go to abap editor (se38) and use insert statement for insertion update for update and modify for modifications.
    2. collect will not allow duplicate entries, while append can allow duplicates.
    3. if any changes are made to objects they are to be transported to different systems i.e, change and transport.
    4. in user exits we go by general method for enhancements while BADIs we use objects (oops concepts)
    methods for enhancement.
    14. table controls are enhanced version for step loops where we can expand rows .main difference between these two
    is step loop can be expanded to two lines table controls can`t.
    15. field symbols are just like pointers concept which are used in C language. We use them when we want to refer to
    the fields considered,it doesnt allocate any memory for it.
    Venu Rapolu
    1. Ans: Using BDC., LSMW,,ALE., BAPI
    2. Ans: Collect: it adds the numeric fields to the existing non numeric key field records., thereby avoiding duplicate
    values., and append will simply adds the record
    3 . Ans: The CTS contains work bench organizer and transport system :
    The workbench organizer is used to record and contol changes to the ABAP/4 development objects;
    The transport system is used to move objects from an SAP dev.system to production system
    6. Ans: Outbound interface is used to send IDocs to the ALE server.,
    Inbound interface is used to Analyse the received Idoc.
    7. Ans: We (ABAPers) don't do.
    8. Ans: se09 or se10
    13. Ans: MATMAS
    CREMAS
    DEBMAS
    GLMAST etc...
    14. Ans: to display records in table format., we use in Screens
    15. Ans: we assign the field content at run time with ASSIGN stmt.
    Satish D
    1. goto se16 u can view the table contents
    2. collect will collects all the numeric fields of nonnumeric field values
    append will append record at the end of table
    3. when we are creatiing new task like dev. a new prg.. after completion of dev. that will be trnsported to testing system or production system to do that we are assigning an
    transport request from our dev.class(system) by using se09
    4. badis are dev. by class and inheritence methods where as user exitsdev by SAP only and empty shells filled wit user logic
    5. go to system then status
    6. outbound generating an idoc in ale layer with master_idoc_create_messgetype,
    inbound is receivng system with idoc_inbound_process, gives an return variable wether it is sucess or not
    7. no we have to configur that
    8. go to se09 or se01 there write your task no and use release button it will asks whats the other system name
    and number enter them and relase by pressing jeep button
    9. inquiry
    quotation
    sales order
    shipping
    delivery
    invoice
    return goods
    12. after creation of delivry note invoice is prepared
    13. master_idoc_distribute will generate standard idoc
    Deepti
    I am enclosing some of answers which I know.
    1. We can use t.Code SE16 to enter values into table only if table maintainence is allowed for that table.
    2. Append will add new entries into the table where as collect add into the numeric type fields if other charatcer fields
    matches to your selection criteria.
    3. CTS used for creation of ABAP development transport requests.The transaction code for this is SE10.
    4. UserExits r used for adding additional functionality to the existing SAP standard transactions.Using UserExits we can add additional functionality standard SAP functionality without making any changes to the original code.BADI is a standardized interface for ABAP sources that enables partners and customers to enhance SAP-delivered programs in their namespace.
    5 .We can identify User exits by using transactions CMOD and SMOD.
    6. After entering transaction code SE10 select the transport request which u want to transport and click on transport icon(Truck symbol) to release it.
    10. Purchase Requistion->RFQ->Vendor Evaluation->Purchase Order(ME21).
    14. Table control is the only facility provide thru dialog programming when we come acrosse the use of updating standared,deletion,insertion and all database operations.
    15. Field symbols r pointers to the existing data types(like 'C') which does not allocate any memory space. These are used faster access of data.
    Answers to some ABAP Interview Questions:
    Questions which I have faced in an interview:
    1) What is runtime analysis? Have you used this?
    2) What is meant by performance analysis? Have done anything to improve the performance?
    3) How to transfer the objects? Have to transferred any objects?
    4) How did you test the developed objects?
    5) What is the difference between SAP Memory and ABAP Memory?
    6) In order to upload Purchase order details, how you handle multiple values for a single field?
    Eg: Item field may contain no. of values for a record
    7) What is the procedure you followed to upload the data?
    8) How did you handle errors in Call Transaction?
    9) Among the Call Transaction and Session Method, which is faster?
    10) What are the difference between Interactive and Drill Down Reports?
    11) How to pass the variables to forms?
    12) How to create a link between modified form and modified print program?
    13) What is the table, which contain the details of all the name of the programs and forms?
    14) How did you test the form u developed? How did you taken print?
    15) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    17) What is pf-status?
    18) Among "Move" and "Move Corresponding", which is efficient one?
    19) What are the output type and Tcodes?
    20) Where we use Chain and Endchain?
    21) Do you use select statement in loop endloop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    Go thru these answers:
    1) What is runtime analysis? Have you used this?
    It's checks program execution time in microseconds. When you go to se30.if you give desired program name in performance file. It will take you to below screen. You can get how much past is your program.
    2) What is meant by performance analysis? Have done
    3) How to transfer the objects? Have you transferred any objects?
    4) How did you test the developed objects?
    I was testing a developed object. There are two types of testing
    - Negative testing
    - Positive testing
    In negative testing we will give negative data in input and we check any errors occurs.
    In positive testing we will give positive data in input for checking errors.
    8) How did you handle errors in Call Transaction?
    We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can get errors in this internal table.
    Below messages are go to internal table. when you run the call transaction.
    - Message type
    - Message id
    - Message Number
    - Variable1
    - Variable2
    - Variable3
    9) Among the Call Transaction and Session Method, which is faster?
    Call transaction is faster then session method. But usually we use session method in real time...because we can transfer large amount of data from internal table to database and if any errors in a session. Process will not complete until session get correct.
    10) What are the difference between Interactive and Drill Down Reports?
    ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click) or AT USER-COMMAND (pressing a button). You can use these events to move through layers of information about individual items in a list.
    Drill down report is nothing but interactive report...drilldown means above paragraph only.
    11) How to pass the variables to forms?
    12) What is the table, which contain the details of all the name of the programs and forms?
    Table contains vertical and horizontal lines. We can store the data in table as blocks. We can scroll depends upon your wish. And these all are stored in database (data dictionary).
    Which contain the details of all the name of the programs and forms? (I don't know).
    13) How did you test the form u developed? How did you taken print?
    14) What are Standard Texts?
    16) What is the difference between Clustered Tables and Pooled Tables?
    A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables are logical tables that must be assigned to a table pool when they are defined.
    Cluster table are logical tables that must be assigned to a table cluster when they are defined.
    Cluster table can be used to store control data they can also used to store temporary data or text such as documentation.
    17) What is pf-status?
    Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get menus, items and different function keys, which we are using for secondary list in interactive report.
    18) Among "Move" and "Move Corresponding", which is efficient one?
    I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this stamtent for internal table fields only...so if we give move corresponding. Those fields only moving to other place (what ever you want).
    19) What are the output type and Tcodes?
    20) Where we use Chain and End chain?
    21) Do you use select statement in loop end loop, how will be the performance? To improve the performance?
    22) In select-options, how to get the default values as current month first date and last date by default?
    Eg: 1/12/2004 and 31/12/2004
    SAP ABAP interview questions
    Thanks to the reader who sent in this question set:
    1. What is an ABAP data dictionary?- ABAP 4 data dictionary describes the logical structures of the objects used in application development and shows how they are mapped to the underlying relational database in tables/views.
    2. What are domains and data element?- Domains:Domain is the central object for describing the technical characteristics of an attribute of an business objects. It describes the value range of the field. Data Element: It is used to describe the semantic definition of the table fields like description the field. Data element describes how a field can be displayed to end-user.
    3. What is foreign key relationship?- A relationship which can be defined between tables and must be explicitly defined at field level. Foreign keys are used to ensure the consistency of data. Data entered should be checked against existing data to ensure that there are now contradiction. While defining foreign key relationship cardinality has to be specified. Cardinality mentions how many dependent records or how referenced records are possible.
    4. Describe data classes.- Master data: It is the data which is seldomly changed. Transaction data: It is the data which is often changed. Organization data: It is a customizing data which is entered in the system when the system is configured and is then rarely changed. System data:It is the data which R/3 system needs for itself.
    5. What are indexes?- Indexes are described as a copy of a database table reduced to specific fields. This data exists in sorted form. This sorting form ease fast access to the field of the tables. In order that other fields are also read, a pointer to the associated record of the actual table are included in the index. Yhe indexes are activated along with the table and are created automatically with it in the database.
    6. Difference between transparent tables and pooled tables.- Transparent tables: Transparent tables in the dictionary has a one-to-one relation with the table in database. Its structure corresponds to single database field. Table in the database has the same name as in the dictionary. Transparent table holds application data. Pooled tables. Pooled tables in the dictionary has a many-to-one relation with the table in database. Table in the database has the different name as in the dictionary. Pooled table are stored in table pool at the database level.
    7. What is an ABAP/4 Query?- ABAP/4 Query is a powerful tool to generate simple reports without any coding. ABAP/4 Query can generate the following 3 simple reports: Basic List: It is the simple reports. Statistics: Reports with statistical functions like Average, Percentages. Ranked Lists: For analytical reports. - For creating a ABAP/4 Query, programmer has to create user group and a functional group. Functional group can be created using with or without logical database table. Finally, assign user group to functional group. Finally, create a query on the functional group generated.
    8. What is BDC programming?- Transferring of large/external/legacy data into SAP system using Batch Input programming. Batch input is a automatic procedure referred to as BDC(Batch Data Communications).The central component of the transfer is a queue file which receives the data vie a batch input programs and groups associated data into “sessions”.
    9. What are the functional modules used in sequence in BDC?- These are the 3 functional modules which are used in a sequence to perform a data transfer successfully using BDC programming: BDC_OPEN_GROUP - Parameters like Name of the client, sessions and user name are specified in this functional modules. BDC_INSERT - It is used to insert the data for one transaction into a session. BDC_CLOSE_GROUP - This is used to close the batch input session.
    10. What are internal tables?- Internal tables are a standard data type object which exists only during the runtime of the program. They are used to perform table calculations on subsets of database tables and for re-organising the contents of database tables according to users need.
    11. What is ITS? What are the merits of ITS?- ITS is a Internet Transaction Server. ITS forms an interface between HTTP server and R/3 system, which converts screen provided data by the R/3 system into HTML documents and vice-versa. Merits of ITS: A complete web transaction can be developed and tested in R/3 system. All transaction components, including those used by the ITS outside the R/3 system at runtime, can be stored in the R/3 system. The advantage of automatic language processing in the R/3 system can be utilized to language-dependent HTML documents at runtime.
    12. What is DynPro?- DynPro is a Dynamic Programming which is a combination of screen and the associated flow logic Screen is also called as DynPro.
    13. What are screen painter and menu painter?- Screen painter: Screen painter is a tool to design and maintain screen and its elements. It allows user to create GUI screens for the transactions. Attributes, layout, filed attributes and flow logic are the elements of Screen painter. Menu painter: Menu painter is a tool to design the interface components. Status, menu bars, menu lists, F-key settings, functions and titles are the components of Menu painters. Screen painter and menu painter both are the graphical interface of an ABAP/4 applications.
    14. What are the components of SAP scripts?- SAP scripts is a word processing tool of SAP which has the following components: Standard text. It is like a standard normal documents. Layout sets. - Layout set consists of the following components: Windows and pages, Paragraph formats, Character formats. Creating forms in the R/3 system. Every layout set consists of Header, paragraph, and character string. ABAP/4 program.
    15. What is ALV programming in ABAP? When is this grid used in ABAP?- ALV is Application List viewer. Sap provides a set of ALV (ABAP LIST VIEWER) function modules which can be put into use to embellish the output of a report. This set of ALV functions is used to enhance the readability and functionality of any report output. Cases arise in sap when the output of a report contains columns extending more than 255 characters in length. In such cases, this set of ALV functions can help choose selected columns and arrange the different columns from a report output and also save different variants for report display. This is a very efficient tool for dynamically sorting and arranging the columns from a report output. The report output can contain up to 90 columns in the display with the wide array of display options.
    16. What are the events in ABAP/4 language?- Initialization, At selection-screen, Start-of-selection, end-of-selection, top-of-page, end-of-page, At line-selection, At user-command, At PF, Get, At New, At LAST, AT END, AT FIRST.
    17. What is CTS and what do you know about it?- The Change and Transport System (CTS) is a tool that helps you to organize development projects in the ABAP Workbench and in Customizing, and then transport the changes between the SAP Systems and clients in your system landscape. This documentation provides you with an overview of how to manage changes with the CTS and essential information on setting up your system and client landscape and deciding on a transport strategy. Read and follow this documentation when planning your development project.
    18. What are logical databases? What are the advantages/ dis-advantages of logical databases?- To read data from a database tables we use logical database. A logical database provides read-only access to a group of related tables to an ABAP/4 program. Advantages: i)check functions which check that user input is complete, correct,and plausible. ii)Meaningful data selection. iii)central authorization checks for database accesses. iv)good read access performance while retaining the hierarchical data view determined by the application logic. dis advantages: i)If you donot specify a logical database in the program attributes,the GET events never occur. ii)There is no ENDGET command,so the code block associated with an event ends with the next event statement (such as another GET or an END-OF-SELECTION).
    19. What is a batch input session?- BATCH INPUT SESSION is an intermediate step between internal table and database table. Data along with the action is stored in session ie data for screen fields, to which screen it is passed, program name behind it, and how next screen is processed.
    20. How to upload data using CATT ?- These are the steps to be followed to Upload data through CATT: Creation of the CATT test case & recording the sample data input. Download of the source file template. Modification of the source file. Upload of the data from the source file.
    21. What is Smart Forms?- Smart Forms allows you to create forms using a graphical design tool with robust functionality, color, and more. Additionally, all new forms developed at SAP will be created with the new Smart Form solution.
    22. How can I make a differentiation between dependent and independent data?- Client dependent or independent transfer requirements include client specific or cross client objects in the change requests. Workbench objects like SAPscripts are client specific, some entries in customizing are client independent. If you display the object list for one change request, and then for each object the object attributes, you will find the flag client specific. If one object in the task list has this flag on, then that transport will be client dependent.
    23. What is the difference between macro and subroutine? - Macros can only be used in the program the are defined in and only after the definition are expanded at compilation / generation. Subroutines (FORM) can be called from both the program the are defined in and other programs . A MACRO is more or less an abbreviation for some lines of code that are used more than once or twice. A FORM is a local subroutine (which can be called external). A FUNCTION is (more or less) a subroutine that is called external. Since debugging a MACRO is not really possible, prevent the use of them (I’ve never used them, but seen them in action). If the subroutine is used only local (called internal) use a FORM. If the subroutine is called external (used by more than one program) use a FUNCTION.
    Message was edited by: Amit Mishra

  • Need some help on procedure calling procedure using object type reg

    dear all,
    i need to test one procedure by passing only one value but how do i pass single value. i am showing the details of few section on which i am working on. here is few details about the package.
    Description: package pkj_emp contains two procedure pkj_emp and procedure proc_rem.
    purpose:based on passing dname values to procedure pkj_emp, cursor cur_emp will fetch empid from emp table and then we are passing 4 empid records to procedure proc_rem using empid object type.Inside the procedure proc_rem it will delete all 4 records of table A,B,C and D at one short.
    Requirement:i need to test for only one value that means is it possible i can pass only one value using the cursor cur_emp.
    create or replace package pkj_emp
    TYPE obj_emp IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
    procedure proc_emp(empid obj_emp);
    create or replace package body pkj_emp
    as
    procedure(
    dname varchar2;
    as
    cursor cur_emp is select emp_id from emp a,dept d
    where a.deptid=d.deptid
    and d.deptname=dname;
    begin
    count:=0;
                   for cur_emp_rec in cur_emp LOOP
                   empid(count) := cur_emp_rec.emp_id;
              IF (count = 4) THEN
                   proc_rem(empid); // calling another procedure
                   commit;
                   END IF;
                   count := count + 1;
                   END LOOP;
    end;
    proc_rem(
    empid obj_emp;
    is
    begin
    delete from A where emp_id in (empid(0),empid(1),empid(2),empid(3));
    delete from B where emp_id in (empid(0),empid(1),empid(2),empid(3));
    delete from c where emp_id in (empid(0),empid(1),empid(2),empid(3));
    delete from d where emp_id in (empid(0),empid(1),empid(2),empid(3));
    end;
    regards
    Laxman

    You have hardcoded your IN LIST in the REM procedure. I recommend changing the code to take a variable number of inputs. You could do something like the following:
    SQL> CREATE TABLE A (ID NUMBER);
    Table created.
    SQL> CREATE TABLE B (ID NUMBER);
    Table created.
    SQL> CREATE TABLE C (ID NUMBER);
    Table created.
    SQL> CREATE TABLE D (ID NUMBER);
    Table created.
    SQL> INSERT INTO A VALUES(7566);
    1 row created.
    SQL> INSERT INTO B VALUES(7902);
    1 row created.
    SQL> INSERT INTO C VALUES(7876);
    1 row created.
    SQL> INSERT INTO D VALUES(7369);
    1 row created.
    SQL> CREATE OR REPLACE TYPE EMP_TYPE AS TABLE OF NUMBER(4);
      2  /
    Type created.
    SQL> CREATE OR REPLACE PACKAGE PKJ_EMP
      2  AS
      3          PROCEDURE PKJ_EMP
      4          (
      5                  DNAME   IN      SCOTT.EMP.DEPTNO%TYPE
      6          );
      7 
      8          PROCEDURE REM
      9          (
    10                  pEMPList  IN      EMP_TYPE
    11          );
    12  END PKJ_EMP;
    13  /
    Package created.
    SQL> CREATE OR REPLACE PACKAGE BODY PKJ_EMP
      2  AS
      3          PROCEDURE PKJ_EMP
      4          (
      5                  DNAME   IN      SCOTT.EMP.DEPTNO%TYPE
      6          )
      7          AS
      8                  pEMPList        EMP_TYPE := EMP_TYPE();
      9                  i               NUMBER := 1;
    10          BEGIN
    11                  FOR r IN
    12                  (
    13                          SELECT  EMPNO
    14                          FROM    SCOTT.EMP
    15                          WHERE   DEPTNO = DNAME
    16                  )
    17                  LOOP
    18                          pEMPList.EXTEND;
    19                          pEMPList(i) := r.EMPNO;
    20 
    21                          i := i + 1;
    22                  END LOOP;
    23 
    24                  REM(pEMPList);
    25          END PKJ_EMP;
    26 
    27          PROCEDURE REM
    28          (
    29                  pEMPList  IN      EMP_TYPE
    30          )
    31          AS
    32          BEGIN
    33                  DELETE FROM A WHERE ID IN (SELECT   COLUMN_VALUE FROM TABLE(pEMPList));
    34                  DELETE FROM B WHERE ID IN (SELECT   COLUMN_VALUE FROM TABLE(pEMPList));
    35                  DELETE FROM C WHERE ID IN (SELECT   COLUMN_VALUE FROM TABLE(pEMPList));
    36                  DELETE FROM D WHERE ID IN (SELECT   COLUMN_VALUE FROM TABLE(pEMPList));
    37          END REM;
    38  END PKJ_EMP;
    39  /
    Package body created.
    SQL> EXEC PKJ_EMP.PKJ_EMP(20);
    PL/SQL procedure successfully completed.
    SQL> SELECT * FROM A;
    no rows selected
    SQL> SELECT * FROM B;
    no rows selected
    SQL> SELECT * FROM C;
    no rows selected
    SQL> SELECT * FROM D;
    no rows selected
    SQL> spool off;HTH!

  • Need help on defining object-type dependent attributes for documents

    Hi everyone,
    I'm trying to define different attributes for documents (attachments), depending on document type.
    I performed customizing activities as specified in IMG notes (define structure and table for the attributes, attribute model, register attribute model with table and structure, map model to object type, map object type to document type)
    But I didn't find any new BOL in CM GenIL component with my attributes...
    I already have type-independent attributes defined, and I see them in the CMDocument BOL.
    I don't know how to use my attributes, nor in code niether in UI.
    Did I miss something?
    Thanks,
    Yulia

    return self.amount+self.depositamount;I counld not find any amount field in your type definitions
    if self.status='OPEN' thenIs it w_accountt.status ?? since there is no status field in accountmanager_t type
    return self.currentamount-self.withdrawalamount;same comments for currentamount
    member function deposit(d_accountt account_t,d_transno number default 1) return account_t asWhere as your return expression is a number??

  • Need help on object type

    Hi,
    I have created one object type in oracle 10g database like this
    CREATE OR REPLACE
    TYPE ORA_criteria_DATA AS OBJECT
    ( criteria_id NUMBER(5),
    criteria_name VARCHAR(100),
    map MEMBER FUNCTION mem RETURN NUMBER
    Then create a type for the same like this.
    CREATE OR REPLACE
    TYPE TYPE_ORA_CRITERIA_TAB IS TABLE OF ORA_criteria_DATA
    Now I am using this type as IN OUT parameter in one of my pacakge procedure and storing some values in the collection and return into a collection in procedure like this
    Package PKG_MIS_REPORT BODY
    v_data_tab2 type_ora_criteria_tab :=type_ora_criteria_tab();
    PROCEDURE PROC_ORA_DATA_IDS(V_DATA_TAB2 IN OUT TYPE_ORA_CRITERIA_TAB)
    AS
    v_cri_data TYPE_ORA_CRITERIA_TAB :=TYPE_ORA_CRITERIA_TAB();
    BEGIN
    SELECT ora_criteria_data(criteria_id,criteria_name)
    BULK COLLECT INTO v_cri_data
    FROM (
    SELECT DISTINCT op.criteria_id,op.criteria_name
    FROM ora_notch_mis_data op,ora_criteria_ma oc
    WHERE op.criteria_id=oc.criteria_id
    AND oc.section_id=1);
    V_DATA_TAB2.DELETE;
    V_DATA_TAB2:=v_cri_data ;
    END PROC_ORA_DATA_IDS;
    Now I want to call this procedure in JAVA where I will get the values of the collection and use it.
    Please let me confirm the way I am doing I will able to get the values of collection in JAVA.
    Thanks a lot..
    Regards
    Anant

    Your code is syntactically correct. You may verify it by:
    SQL> CREATE OR REPLACE
      2  TYPE ORA_criteria_DATA AS OBJECT
      3  ( criteria_id NUMBER(5),
      4  criteria_name VARCHAR(100),
      5  map MEMBER FUNCTION mem RETURN NUMBER
      6  );
      7  /
    Type created.
    SQL> CREATE OR REPLACE
      2  TYPE TYPE_ORA_CRITERIA_TAB IS TABLE OF ORA_criteria_DATA;
      3  /
    Type created.
    SQL> set serverout on
    SQL> DECLARE
      2    v_cri_data  TYPE_ORA_CRITERIA_TAB := TYPE_ORA_CRITERIA_TAB();
      3    V_DATA_TAB2 TYPE_ORA_CRITERIA_TAB := TYPE_ORA_CRITERIA_TAB();
      4  BEGIN
      5    SELECT ora_criteria_data(empno, ename) BULK COLLECT
      6      INTO v_cri_data
      7      FROM (SELECT DISTINCT empno, op.ename FROM emp op);
      8    V_DATA_TAB2.DELETE;
      9    V_DATA_TAB2 := v_cri_data;
    10    FOR i IN 1 .. V_DATA_TAB2.COUNT LOOP
    11      dbms_output.put_line(V_DATA_TAB2(i)
    12                           .criteria_id || '--' || V_DATA_TAB2(i)
    13                           .criteria_name);
    14    END LOOP;
    15  END;
    16  /
    7839--KING
    7698--BLAKE
    7782--CLARK
    7566--JONES
    7788--SCOTT
    7902--FORD
    7369--SMITH
    7499--ALLEN
    7521--WARD
    7654--MARTIN
    7844--TURNER
    7876--ADAMS
    7900--JAMES
    7934--MILLER
    PL/SQL procedure successfully completed.
    SQL> But, Why I have used syntactically correct ? Because, Your objects seems to have some unused(not required) member function without body, you may think about some other alternatives like REF cursor etc.
    Consult PL/SQL manual for alternative and correct approach.

  • Need help on object type(complex)

    Hi All,
    i have an object type account_t as
    create type account_t as object (accountnumber number(30),
    holdername varchar2(20),
    currentamount number(20),
    minimalamount number(20),
    status varchar2(10),
    member procedure setcurrentamount(v_amount number),
    member function getcurrentamount return number,
    member procedure setstatus(v_status boolean),
    member function getstatus return varchar2,
    member procedure setholdername(v_holdername varchar2),
    member function getholdername return varchar2);
    i create another type accountmanager_t as
    create type accountmanager_t as object (
    depositamount number(30),
    withdrawalamount number(30),
    v_accountt account_t,
    member function deposit(d_accountt account_t,d_transno number default 1) return account_t,
    member function withdraw(w_accountt account_t,w_transno number default 2) return account_t);
    Accountmanager_t body as :
    create or replace type body accountmanager_t as
    member function deposit(d_accountt account_t,d_transno number default 1) return account_t as
    begin
    return self.amount+self.depositamount;
    end deposit;
    member function withdraw(w_accountt account_t,w_transno number default 2) return account_t as
    begin
    if self.status='OPEN' then
    if (currentamount-self.withdrawalamount) < minimalamount then
    if (currentamount-self.withdrawalamount) <> 0 then
    status:='CLOSED';
    return self.currentamount-self.withdrawalamount;
    end if;
    end if;
    myprint('No Sufficient funds for Withdrawal');
    return self.currentamount;
    end if;
    myprint('No withdrawal for closed account');
    return self.currentamount;
    end withdraw;
    end;
    i get the errors as :
    4/3 PL/SQL: Statement ignored
    4/15 PLS-00302: component 'AMOUNT' must be declared
    8/3 PL/SQL: Statement ignored
    8/11 PLS-00302: component 'STATUS' must be declared
    19/3 PL/SQL: Statement ignored
    19/15 PLS-00302: component 'CURRENTAMOUNT' must be declared
    SQL>
    How to pass the values of these variables from account_t type to accountmanager_t type?
    Any help??
    Regards,
    s.

    return self.amount+self.depositamount;I counld not find any amount field in your type definitions
    if self.status='OPEN' thenIs it w_accountt.status ?? since there is no status field in accountmanager_t type
    return self.currentamount-self.withdrawalamount;same comments for currentamount
    member function deposit(d_accountt account_t,d_transno number default 1) return account_t asWhere as your return expression is a number??

  • Help needed: modeling master-detail relationship using Object types

    I would like to use object types to model a master-detail relationship. For e.g.
    create or replace type detail_t as object
    (id number,
    name varchar2(20)
    create or replace type details_t as
    table of detail_t
    create or replace type master_t as object
    (id number,
    name varchar2(20),
    details details_t
    If I don't use database object-tables, how can I return multiple master rows of the type above from a PL/SQL procedure? Can I return a cursor of some sort?
    I'm using Oracle 8.1.7.
    Thanks,
    Niranja

    Niranjan,
    After the object types are defined, your data would come from either object tables or object views. In your case, to get multiple master rows, simply query the object view.
    Regards,
    Geoff

  • Need to export Missing object type called "TYPE" Please Help

    I did a referesh of one of the schema, I could see the difference between the source and destination schema object count.
    but object type is "TYPE" , where the difference lies.
    Three TYPE kind of objects are extra found in production which have not been imported to dest db.
    Could you please help me how can i take export of those object types and import the same in dest.
    For reference: Missing objects in destination schema
    OBJECT_NAME OBJECT_TYPE
    SYS_PLSQL_88116_DUMMY_1 TYPE
    SYS_PLSQL_88116_481_1 TYPE
    SYS_PLSQL_88116_433_1 TYPE

    Sir I have already tried that, but couldnt succeed.
    For reference: The 19 type which are imported successfully out of 22, the DDL is acheived, but when I tried to get the ddl of rest three from production it throws error, like not found in schema, even i tried to get it from sys schema, but same error..
    The one which is imported properly
    =========================
    SQL> select dbms_metadata.get_ddl('TYPE','XRATE_TABLE_TYPE','TKCSOWNER') FROM DUAL;
    DBMS_METADATA.GET_DDL('TYPE','XRATE_TABLE_TYPE','TKCSOWNER')
    CREATE OR REPLACE TYPE "TKCSOWNER"."XRATE_TABLE_TYPE" IS TABLE OF XRATE_RECORD
    The one which is not imported:
    ==================
    SQL> select dbms_metadata.get_ddl('TYPE','SYS_PLSQL_88116_DUMMY_1','TKCSOWNER') FROM DUAL;
    ERROR:
    ORA-31603: object "SYS_PLSQL_88116_DUMMY_1" of type TYPE not found in schema
    "TKCSOWNER"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "SYS.DBMS_METADATA", line 3241
    ORA-06512: at "SYS.DBMS_METADATA", line 4812
    ORA-06512: at line 1
    no rows selected

  • IMPDP Help needed please...ORA-39083: Object type PROCOBJ failed to create

    OS=Win2003
    DB=10gR2
    Version = 102.0.4
    Hi,
    I am running a impdp on a 30gb file and well it seems to have gone fine (much faster then it normally does to be honest), but towards the end it fails, and when researching this error, it seems to be very vague and I was wondering if someone can help me. Below is the log, but I have taken parts out of it that are not relevant.
    Import: Release 10.2.0.4.0 - Production on Wednesday, 16 April, 2008 15:22:18
    Copyright (c) 2003, 2007, Oracle. All rights reserved.
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Master table "SYSTEM"."IMPGEMDEV041608" successfully loaded/unloaded
    Starting "SYSTEM"."IMPGEMDEV041608": system/********@iworksdb directory=DATA_PUMP_DIR dumpfile=expdpgemdev.dmp job_name=impgemdev041608 TABLE_EXISTS_ACTION=APPEND SCHEMAS=GEMDEV LOGFILE=IMPIWORKS_BOON.log REMAP_SCHEMA=GEMDEV:IWORKS REMAP_TABLESPACE=IWORKS_INDEX:IWORKS_IDX REMAP_TABLESPACE=IWORKS_IOT:IWORKS_IDX REMAP_TABLESPACE=IWORKS_TABLES:IWORKS_TABLES EXCLUDE=GRANT exclude=statistics STREAMS_CONFIGURATION=N
    Processing object type SCHEMA_EXPORT/USER
    ORA-31684: Object type USER:"IWORKS" already exists
    Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
    Processing object type SCHEMA_EXPORT/ROLE_GRANT
    Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
    Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
    Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
    Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
    ORA-31684: Object type TYPE:"IWORKS"."T_NUMBER_TAB" already exists
    ORA-31684: Object type TYPE:"IWORKS"."T_VARCHAR2_TAB" already exists
    Processing object type SCHEMA_EXPORT/TABLE/TABLE
    ORA-39152: Table "IWORKS"."SYS_TOKENTYPE" exists. Data will be appended to existing table but all dependent metadata will be skipped due to table_exists_action of append
    ORA-31684: Object type PACKAGE:"IWORKS"."CONT_FEE_DEF_UC" already exists
    ORA-31684: Object type PACKAGE:"IWORKS"."COPAYCALCFLAG" already exists
    ORA-31684: Object type VIEW:"IWORKS"."VWTREE" already exists
    ORA-31684: Object type VIEW:"IWORKS"."V_ROUTE_DTL_GROUP" already exists
    Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
    Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
    Processing object type SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
    Processing object type SCHEMA_EXPORT/POST_SCHEMA/PROCOBJ
    ORA-39083: Object type PROCOBJ failed to create with error:
    ORA-06550: line 2, column 11:
    PLS-00103: Encountered the symbol "VARCHAR2" when expecting one of the following:
    := . ( @ % ;
    The symbol ":=" was substituted for "VARCHAR2" to continue.
    ORA-06550: line 3, column 12:
    PLS-00103: Encountered the symbol "VARCHAR2" when expecting one of the following:
    := . ( @ % ;
    The symbol ":=" was substituted for "VARCHAR2" to continue.
    ORA-06550: line 4, column 19:
    PLS-00103: Encountered the symbol "VARCHAR
    ORA-39083: Object type PROCOBJ failed to create with error:
    ORA-06550: line 6, column 16:
    PLS-00103: Encountered the symbol "RAYSQLACCESS9889405" when expecting one of the following:
    * & = - + ; < / > at in is mod remainder not rem
    <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_
    LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
    The symbol "* was inserted before "RAYSQLACCESS9889405" to continue.
    ORA-06550: line 7, column 17:
    PLS-00103: Encountered the symbol "SQL" when expectin
    Job "SYSTEM"."IMPGEMDEV041608" completed with 2831 error(s) at 15:30:37
    Any help will be much appreciated

    I can not seem to find any object named PROCOBJ.
    As for the object called RAYSQLACCESS9889405...no idea what this is.
    I checked the source for any invalid objects and none.

  • Need to expand tree by passing treeId thr URL not by clicking manually.

    Sub: Need to expand tree by passing Id thr URL.
    Hi,
    Here i have Library.java and ajaxTree.jsf files (collected from Jboss richfaces)
    There is having a list of artist .
    If u click on a particular artistname then the respective albums(with their checkboxes) will expand and show like a treenode.
    just look at d url : "http://localhost:8080/richfaces-demo-3.2.1.GA/richfaces/tree.jsf?c=tree&albumIds=1001,1002,1005,1008,1009,1010&client=0"
    I m passing album Ids and clientId in url browser and receiving in d Library.java.
    I need to expand the required client tree to show albums without clicking on artistname rather by passing the clientId from Url.
    I thnk one EventHandling class( PostbackPhaseListener.java ) is responsible for expanding but I m unable to understand.
    How can I do it.
    Plz help asap.
    /###############ajaxTree.jsf##########Start##############/
    <ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:a4j="http://richfaces.org/a4j"
    xmlns:rich="http://richfaces.org/rich"
    xmlns:c="http://java.sun.com/jstl/core">
         <p>This tree uses "ajax" switch type, note that for collapse/expand operations it will be Ajax request to the server. You may see short delay in this case.</p>
         <h:form>     
              <rich:tree style="width:300px" value="#{library.data}" var="item" nodeFace="#{item.type}">
                   <rich:treeNode type="artist" >
                        <h:outputText value="#{item.name}" />
                        </rich:treeNode>
                   <rich:treeNode type="album" >
                        <h:selectBooleanCheckbox value="#{item.selected}"/>
                        <h:outputText value="#{item.title}" />
                   </rich:treeNode>
              </rich:tree>
              <h:commandButton value="Update" />
         </h:form>
    </ui:composition>
    /###############ajaxTree.jsf##########End##############/
    /************************Library.java*********Start****************/
    package org.richfaces.demo.tree;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.StringTokenizer;
    import javax.servlet.http.HttpServletRequest;
    import javax.faces.context.FacesContext;
    import org.richfaces.model.TreeNode;
    public class Library implements TreeNode {
         private static final long serialVersionUID = -3530085227471752526L;
         private Map artists = null;
         private Object state1;
         private Object state2;
         private Map getArtists() {
              if (this.artists==null) {
                   initData();
              return this.artists;
         public void addArtist(Artist artist) {
              addChild(Long.toString(artist.getId()), artist);
         public void addChild(Object identifier, TreeNode child) {
              getArtists().put(identifier, child);
              child.setParent(this);
         public TreeNode getChild(Object id) {
              return (TreeNode) getArtists().get(id);
         public Iterator getChildren() {
              return getArtists().entrySet().iterator();
         public Object getData() {
              return this;
         public TreeNode getParent() {
              return null;
         public boolean isLeaf() {
              return getArtists().isEmpty();
         public void removeChild(Object id) {
              getArtists().remove(id);
         public void setData(Object data) {
         public void setParent(TreeNode parent) {
         public String getType() {
              return "library";
         private long nextId = 0;
         private long getNextId() {
              return nextId++;
         private Map albumCache = new HashMap();
         private Map artistCache = new HashMap();
         private Artist getArtistByName(String name, Library library) {
              Artist artist = (Artist)artistCache.get(name);
              if (artist==null) {
                   artist = new Artist(getNextId());
                   artist.setName(name);
                   artistCache.put(name, artist);
                   library.addArtist(artist);
              return artist;
         private Album getAlbumByTitle(String title, Artist artist) {
              Album album = (Album)albumCache.get(title);
              if (album==null) {
                   album = new Album(getNextId());
                   album.setTitle(title);
                   albumCache.put(title, album);
                   artist.addAlbum(album);
              return album;
         private void initData() {
              artists = new HashMap();
              InputStream is = this.getClass().getClassLoader().getResourceAsStream("org/richfaces/demo/tree/data.txt");
              ByteArrayOutputStream os = new ByteArrayOutputStream();
              byte[] rb = new byte[1024];
              int read;
              HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
         //     System.out.println("request.getParameter(param) "+request.getParameter("param"));
              //System.out.println("request.getParameter(client) "+request.getParameter("client"));
              //System.out.println("request.getParameter() "+request.getParameter("c"));
              try {
                   do {
                        read = is.read(rb);
                        if (read>0) {
                             os.write(rb, 0, read);
                   } while (read>0);
                   String buf = os.toString();
                   StringTokenizer toc1 = new StringTokenizer(buf,"\n");
                        String str1 = request.getParameter("albumIds");
                        int clientId1 =Integer.parseInt( request.getParameter("client"));
                   while (toc1.hasMoreTokens()) {
                        String str = toc1.nextToken();
                        StringTokenizer toc2 = new StringTokenizer(str, "\t");
                        String artistName = toc2.nextToken();
                        String albumTitle = toc2.nextToken();
                        String songTitle = toc2.nextToken();
                        toc2.nextToken();
                        toc2.nextToken();
                        String albumYear = toc2.nextToken();
                        Artist artist = getArtistByName(artistName,this);
                        Album album = getAlbumByTitle(albumTitle, artist);
                        String portfolios[] = new String[100];
                        Integer portfoliosId[] = new Integer[100];
                        int i = 0;
                        StringTokenizer st = new StringTokenizer(str1, ",");
                        while (st.hasMoreTokens()) {
                        portfolios[i] = st.nextToken();
                        if((songTitle.equals(portfolios))&&(!(songTitle == ""))){
                                  //System.out.println("ifff");
                                  album.setSelected(true);
                        i++;
                        album.setYear(new Integer(albumYear));
              } catch (IOException e) {
                   throw new RuntimeException(e);
         public Object getState1() {
              return state1;
         public void setState1(Object state1) {
              this.state1 = state1;
         public Object getState2() {
              return state2;
         public void setState2(Object state2) {
              this.state2 = state2;
         public void walk(TreeNode node, List<TreeNode> appendTo, Class<? extends TreeNode> type) {
              if (type.isInstance(node)){
                   appendTo.add(node);
              Iterator<Map.Entry<Object, TreeNode>> iterator = node.getChildren();
              System.out.println("walk node.getChildren() "+node.getChildren());
              while(iterator.hasNext()) {
                   walk(iterator.next().getValue(), appendTo, type);
         public ArrayList getLibraryAsList(){
              ArrayList appendTo = new ArrayList();
              System.out.println("getLibraryAsList appendTo "+appendTo);
              walk(this, appendTo, Song.class);
              return appendTo;
    /************************Library.java*********End****************/
    /************************PostbackPhaseListener.java*********Start****************/
    package org.richfaces.treemodeladaptor;
    import java.util.Map;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import javax.faces.event.PhaseEvent;
    import javax.faces.event.PhaseId;
    import javax.faces.event.PhaseListener;
    public class PostbackPhaseListener implements PhaseListener {
         public static final String POSTBACK_ATTRIBUTE_NAME = PostbackPhaseListener.class.getName();
         public void afterPhase(PhaseEvent event) {
         public void beforePhase(PhaseEvent event) {
              FacesContext facesContext = event.getFacesContext();
              Map requestMap = facesContext.getExternalContext().getRequestMap();
              requestMap.put(POSTBACK_ATTRIBUTE_NAME, Boolean.TRUE);
         public PhaseId getPhaseId() {
              return PhaseId.APPLY_REQUEST_VALUES;
         public static boolean isPostback() {
              FacesContext facesContext = FacesContext.getCurrentInstance();
              if (facesContext != null) {
                   ExternalContext externalContext = facesContext.getExternalContext();
                   if (externalContext != null) {
                        return Boolean.TRUE.equals(
                                  externalContext.getRequestMap().get(POSTBACK_ATTRIBUTE_NAME));
              return false;
    /************************PostbackPhaseListener.java*********End****************/
    Edited by: rajesh_forum on Sep 17, 2008 6:13 AM
    Edited by: rajesh_forum on Sep 17, 2008 6:18 AM

    Hi
    Can somebody please look into this?
    Thanks
    Raj
    Edited by: RajICWeb on Aug 9, 2009 4:38 AM

  • Can plsql return table of object type

    Dear All,
    I am trying to return a set of data using object type.
    But i am able to return only a single row but I want to return multiple rows.
    I am trying to create the procedure which will return the table of object type but I am not able to assign value to table of object type.
    Any ideas will be appreciated.
    Regards
    Abhishek

    ArchitectView wrote:
    The intention is to create a tree structure of data.Is this structure stored in the database? If so, then what data model is used? Relational? Hierachical? Object?
    Each of these have pros and cons. The object model has many when persisted in a database as it nowhere near as flexible and robust as relational. Simple example, you can define an object class called Address. You can define a collection class called addressList. You can make that collection class a column in the Customers table. This allows you to store multiple addresses for a customer - as part of the same row for a customer.
    However, there is a data modeling issue here. How do you index the region code in the address to do region based sales and marketing queries? There is a performance issue here - every time a customer row is read, the Addresses column is also read and this column contains a collection of addresses... Expensive I/O wise.
    If relational data model was used, there would have been an Addresses table. It would have had a region index. And every time you read a customer row, all the addresses of that customer is not automatically read into memory too.
    This Pl/SQL is to be called by another program which will accept the tree structure.So PL/SQL is to deliver a tree structure class?
    You have mentioned about the design being not optimal, please elaborate.
    I am doing these steps to improve performance.
    i already have a java code which creates the data in the tree form {common data model -  XML} .
    I am thinking that if I create the structure in database , it will be better for performance.What makes sense to me (performance, usability and data modeling wise) is to use a relational design to store the tree data in Oracle. Each tree item will have a unique identifier and an optional parent identifier. The latter will be a foreign key constraint to the unique identifier.
    The PL/SQL procedure can use a hierachical SQL to select the relevant root nodes from the tree table (i.e. start with tree items that have null parent identifiers) and transform this into a XML and supply XML output.
    This allows Java to call this PL/SQL procedure, and get XML in response.
    An alternative would be to not use XML, but instead define the tree structure as Java expects it, using SQL advance data types (i.e. classes). But instead of using that for store of the tree's data, the PL/SQL proc uses it to transform the tree data (selected via a hierarchical query) into this class object structure.
    The Java client then needs to have wrapper classes for these SQL classes - and when it calls the PL/SQL proc, it gets a class structure returned that it can natively use on its side.
    This a tad more complex to do than the XML interface - but could be faster as the Java layer does not need to transform the XML into a local data structure... it gets an equivalent data structure directly from PL/SQL.
    The only issue ito performance I can see, is attempting to use such an object structure also as data storage (Oracle table) structure. This is usually less than optimal. Fair to say, that relational data modeling still reigns supreme ito usability, integrity and performance. (at least within RDBMS products, like Oracle)

  • /SAPQUERY/HR_LSO_TRNG1 Object type 'US' User

    Hi ,
    In InfoSet /SAPQUERY/HR_LSO_TRNG1 , I cannot change the "selection" in order to include the relation-ship to Object type 'US' User . Not in the list of "infotypes of related objects" under "change info-type selection"  in transaction SQ02 .
    How can I add that ? Thank you

    Hi The SAP Query comprises five components: 
          Queries
          InfoSet Query
          InfoSets
          User Groups
          Translation/Query 
    Classic reporting- the creation of lists, statistics and ranked lists- are covered by the InfoSet Query and Queries components. Other componentsu2019 range of functions cover the maintenance of InfoSets, the administration of user groups and also the translation of texts created in the SAP Query. All data required by a user for a report can be read from various tables. 
    To define a report, you first have to enter individual texts, such as titles, and select the fields and options, which determine the report layout. In the WYSIWYG (What You See Is What You Get) mode, you can edit the lists using Drag & Drop and various toolbars. 
    Overview:
    The following sections describes the individual SAP Query components and provides general information about query areas, transport and authorizations 
    Menu Path     Used For     Transaction Code
    à SAP Query à Queries     Maintaining Queries     SQ01
    à SAP Query à InfoSets     Maintaining InfoSets     SQ02
    à SAP Query à User Groups     Maintaining User Groups     SQ03
    à Translation à Query     Language Comparision     SQ07
    Query Components
    The Queries component is used by end users to maintain queries.
    You can carry out the following tasks:
          Execute Queries and Generate Lists
          Define Queries
          Change Queries
    Infosets Components
          InfoSets are special views of data sources.
          An InfoSet describes which fields of a data source can be reported on in queries.
          InfoSets are assigned to user groups.
          End-users are able to work only with those InfoSets that are relevant to their particular area, as designated by the role or user group that they are assigned to.
          Eg: Vendor master data can be important in purchasing as well as in accountancy. The relevant InfoSet is assigned to both roles/user groups. This means that queries based on this InfoSet can be copied and executed by both groups.
    User Groups Components
    1.     The User Groups component is used to maintain user groups. The system administrator uses it to set up the work environment for end-users.
    2.     Every user assigned to the user group is able to execute the query.
    3.     Users are not allowed to modify queries from other user groups, although they may, under certain circumstances, copy and execute
    Translation/Query Component
          A great deal of text is generated when defining queries, InfoSets, and user groups.
          The SAP Query displays these texts in the language that you chose when you logged on to the SAP system.
          You can compare the text languages using the component Translation/Query.
          A related text in one or more additional languages is made available for each of the texts created when defining the query.
    Query Areas
    A query area contains a set of query objects (queries, InfoSets, and user groups) that are discrete and consistent.
    There are the following query areas:
          Standard area
          Global area
    Standard Area
    1.Client specific
    2.Query objects are not attached to the Workbench Organizer
    Advantage :-End users can develop queries (ad-hoc reports) in their own client that are not meant for use in the rest of the system.
    Global Area
    1.Cross client
    2.Query objects are attached to workbench organizer
    Advantage:-The global query area is well suited for centrally developing queries meant for use and distribution throughout the system.
    Authorizations
    End-users, system administrators, and translators must all be assigned the appropriate authorizations allowing them to work with the SAP Query. 
    In order to give individual users targeted, specific rights, the following options are available:
          Roles/user groups
          Authorizations
    Steps to create a Query
    Step     Description     TCODE
    1     Create a infoset or functional area     SQ02
    2     Assignment of user group to infoset     SQ03
    3     Creation of query based on infoset     SQ01
    Tools for Queries
    The following are the tools to manage, create and change queries.
          Infoset Query
          Queries
          Quick viewer
    SAP Query
    Step-by-step procedure in configuring SAP Query
    SAP R/3 Query tools (SAP Query) are based on the following four main components:
    u2022     Query Areas
    u2022     Query Groups
    u2022     InfoSets
    u2022      Administrative Decisions (Company-specific)
    Configuration of the Query tools is done in the following manner:
    u2022     Create Query Groups
    u2022      Assign Users to Query Groups
    u2022     Create InfoSets
    u2022      Assign each InfoSet to a Query Group.
    Create Query Groups
    u2022        Go to Transaction SQ03.
    u2022        Ensure that you are in the correct SAP Query area by navigating to Environment à Query Areas
    u2022        Select the u201CStandard Area (Client-specific).
    u2022        Now in the main screen, enter the name of the Query Group in the User Group field and click on CREATE   
    u2022        Enter the description of the User Group in the next popup that appears.   
    u2022        User Group ZSAPTECH_GRP is created. 
    Assign Users to Query Groups 
    u2022        Click on the u201CAssign Users and InfoSetsu201D button   
    u2022        Enter the SAP User-Ids of all the users you wish to include in the test group.
    Click on SAVE to save your entries.
    Create InfoSets
    u2022        Go to transaction SQ02
    u2022        Ensure that you are in the correct SAP Query area by navigating to Environment à Query Areas
    u2022        Enter the name of the InfoSet you wish to create and click on CREATE.   
    u2022        Enter the title and the logical database on the popup screen that appears.   
    We have used the LDB F1S (Flight bookings related) for our demo purpose. 
    u2022        Change InfoSet screen appears.   
    u2022        Expand the tree on the left hand side to view the fields in each table. As seen on the screen, the left side of the screen shows the tables and the fields. The right side displays the field groups.
    u2022        Now we need to assign fields to the field groups. These field groups will display in the SAP Query tool during reporting. Please note that only the fields that are included here will be available for field selection in the SAP Query Tool that uses this infoSet as a data source.
    u2022        Select the field group on the right side and then drag and drop the fields from the left side to this field group.  u2022        When all the required fields are added, click on SAVE.
    u2022        Now generate the InfoSet by clicking on GENERATE. 
    Attach each InfoSet to a Query Group
    u2022        Go to transaction SQ02
    u2022        Enter the InfoSet name created above and click on u201CUser Group Assignmentu201D button.   
    u2022        Select the query group u201CZSAPTECH_GRPu201D from the above list and click on SAVE.

  • PL/SQL Object Type - Java oracle.jbo.domain

    PL/SQL Object Type <-> Java oracle.jbo.domain
    can anybody help me, getting my domains to work?
    Following scenario:
    in pl/sql we have an object type called MULTI_LANGUAGE. This type is used for storing multilingual texts as nested table in one(!) column.
    So the object MULTI_LANGUAGE contains a member variable LANGUAGE_COLLECTION of type LANGUAGE_TABLE, which itself is a nested table of objects
    of the type LANGUAGE_FIELD (this again is only a language id and the corresponding content)
    Also the methods setContent(langID, langContent) and getContent(langId) are defined on Object MULTI_LANGUAGE.
    For example: Table having primary key, 2 other columns and one column of object type MULTI_LANGAGE (=nested table of objects)
    |ID|Column1|Column2|  multilingual Column  |
    |--|---------------------------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | hello         | |
    |  |       |       |  -------------------  |
    |1 | foo   | bar   | | 2 | hallo         | |   <- Row Nr 1
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ola           | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|
    |  |       |       |  -------------------  |
    |  |       |       | | 1 | world         | |
    |  |       |       |  -------------------  |
    |2 | abc   | def   | | 2 | welt          | |   <- Row Nr 2
    |  |       |       |  -------------------  |
    |  |       |       | | 3 | ???  ;-)      | |
    |  |       |       |  -------------------  |
    |--|-------|-------|-----------------------|Now i've tried to modell this structure as an oracle.jbo.domain.
    class MultiLanguage extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("LanguageColl", "LANGUAGE_COLL", 0, oracle.jbo.domain.Array.class, 2003, "ARRAY", -127, 0, false, "campusonlinepkg.common.LanguageField");
    and
    class LanguageField extends Struct having this StructureDef:
    attrs[(0)] = new DomainAttributeDef("Id", "ID", 0, oracle.jbo.domain.Number.class, 2, "NUMERIC", -127, 0, false);
    attrs[(1)] = new DomainAttributeDef("Content", "CONTENT", 1, java.lang.String.class, 12, "VARCHAR", -127, 4000, false);
    Is there anything wrong with this StructureDef?
    When running the BC-Browser with -Djbo.debugoutput=console -Djbo.jdbc.driver.verbose=true parameters I get suspect warnings when browsing the records
    [196] Executing FAULT-IN...SELECT NR, NAME FROM B_THESAURI BThesauri WHERE NR=:1
    [197] SQLException: SQLState(null) vendor code(17074)
    [198] java.sql.SQLException: Ungültiges Namensmuster: XMLTEST.null
    ...snip: detail of stack...
    [240] SQLException: SQLState(null) vendor code(17060)
    [241] java.sql.SQLException: Deskriptor konnte nicht erstellt werden: Unable to resolve type "null"
    ...snip: detail of stack...
    [280] Warning:No element type set on this array. Assuming java.lang.Object.
    (XMLTEST is the name of the schema)
    Seems as if the framework can't read the TypeDescriptor or does not know which descriptor to read (XMLTEST.null??)
    Do I have to implement my own JboTypeMap?
    Please help, I'm stuck.
    Thanks in advance, Christian

    Thanks for your suggestion, but it seems to me as if there is one level missing.
    in pl/sql I have following structure:
    Struct MULTI_LANGUAGE (Object type) - outermost
      Array LANGUAGE_TABLE (nested table type)
        Struct LANGUAGE_FIELD (Object type simple) - innermostthe reason why i had to wrap another struct around the array was because it is not possible to define methods on a nested table. this is only possible on objects.
    on the outermost object type (which holds the array of language fields) I needed to define following 2 methods for direct access:
    getContent (langId in number) returns varchar2
    setContent (langId in number, langContent in varchar2)
    I would like to rebuild the same structure in java, because newly written java code should live in perfect harmony with legacy pl/sql code ;-)
    Both applications (Java and pl/sql) have to access the same data as long as migration to java goes on.
    Is this nested structure too much for a Domain?
    Any other suggestions?
    Thanks again, Christian

  • How to sort a Vector that stores a particular object type, by an attribute?

    Hi guys,
    i need help on this problem that i'm having. i have a vector that stores a particular object type, and i would like to sort the elements in that vector alphabetically, by comparing the attribute contained in that element. here's the code:
    Class that creates the object
    public class Patient {
    private String patientName, nameOfParent, phoneNumber;
    private GregorianCalendar dateOfBirth;
    private char sex;
    private MedicalHistory medHistory;
    public Patient (String patientName, String nameOfParent, String phoneNumber, GregorianCalendar dateOfBirth, char sex) {
    this.patientName = patientName;
    this.nameOfParent = nameOfParent;
    this.phoneNumber = phoneNumber;
    this.dateOfBirth = dateOfBirth;
    this.sex = sex;
    this.medHistory = new MedicalHistory();
    Class that creates the Vector.
    public class PatientDatabase {
    private Vector <Patient> patientDB = new Vector <Patient> ();
    private DateFunction date = new DateFunction();
    public PatientDatabase () throws IOException{
    String textLine;
    BufferedReader console = new BufferedReader(new FileReader("patient.txt"));
    while ((textLine = console.readLine()) != null) {
    StringTokenizer inReader = new StringTokenizer(textLine,"\t");
    if(inReader.countTokens() != 7)
    throw new IOException("Invalid Input Format");
    else {
    String patientName = inReader.nextToken();
    String nameOfParent = inReader.nextToken();
    String phoneNum = inReader.nextToken();
    int birthYear = Integer.parseInt(inReader.nextToken());
    int birthMonth = Integer.parseInt(inReader.nextToken());
    int birthDay = Integer.parseInt(inReader.nextToken());
    char sex = inReader.nextToken().charAt(0);
    GregorianCalendar dateOfBirth = new GregorianCalendar(birthYear, birthMonth, birthDay);
    Patient newPatient = new Patient(patientName, nameOfParent, phoneNum, dateOfBirth, sex);
    patientDB.addElement(newPatient);
    console.close();
    *note that the constructor actually reads a file and tokenizes each element to an attribute, and each attribute is passed through the constructor of the Patient class to instantiate the object.  it then stores the object into the vector as an element.
    based on this, i would like to sort the vector according to the object's patientName attribute, alphabetically. can anyone out there help me on this?
    i have read most of the threads posted on this forum regarding similar issues, but i don't really understand on how the concept works and how would the Comparable be used to compare the patientName attributes.
    Thanks for your help, guys!

    Are you sure that you will always sort for the patient's name throughout the application? If not, you should consider using Comparators rather than implement Comparable. For the latter, one usually should ensure that the compare() method is consistent with equals(). As for health applications it is likely that there are patients having the same name, reducing compare to the patient's name is hazardous.
    Both, Comparator and Comparable are explained in Sun's Tutorial.

  • Business object type for parked invoices

    Hi,
    We are using documentum to store documents that have been attached to business object types in SAP. The business object types are configured in transaction OAC3 to point to a pre-configured content repository.
    Having this configuration allows the object type to use the "services for objects" option, enabling it to store attachments.
    The business object types for invoices have been configured and we are able to store attachments. However this does not seem to work for "Parked invoices". The configuration in the "services for objects" component is not there and the feature to store the attachment is disabled.
    As the configuration needs to be done for all object types that need to be able to store attachments, maybe someone here can indicate what the object type is for parked invoices. Alternatively, maybe there is a way to look up the various business object types.
    Any help you can provide is appreciated.
    Thanks.
    Kind Regards,
    Giwan

    Hi ,
    Thank You for your reply.
    I created inquiry . it takes BUS2031.But BUS2031 is used for quotation.But that inquiry is open in VA12(Change Inquiry) Transaction,not open in VA22(Change Quotation).
    Is there any setting for BOR object types to Document Types.
    Please give me a reply as early as possible.It's very urgent.
    Thanks,
    Saritha

Maybe you are looking for

  • HT1695 IPAD MINI

    My Ipad mini has been working but has recently stopped connecting to my home wifi network my other ipad is still  ok. I have also tried to connect to another network and I received the same unable to connect message. I have restored to manufactures s

  • # of dimensions

    Hi all,I have a cube (1) with 12 dimensions and the block size is 361648. I created another cube (2) and merged 2 sparse dimensions so I have 11 dimensions in the cube but the interesting part is that my block size is still the same 361648. Can someo

  • Errors in shrink

    Windows 2008 Enterprise 64 bits - Oracle 11g (11.02.0 ) STD In Enterprise Manager I have 14 recomendations from the segments superviser just for my DATA tablespace. I selected all of them and I tried to shrink the segments and release space. The proc

  • Audio Science ASI5111 Sound Card not working with Aud. 3 Multi-track

    I am using an Audio Science ASI 5111 Sound Card.  I also used Audi tion 3.0.1 on Windows 7. The program suddenly freezes when using the ASI driver (not Audition driver) in Multi-track mode. At times I get the R6025 error

  • Which sources of supply allow scales in their conditions?

    I want to maintain quantity related scales in contract and scheduling agreement . is this possible ? how ? i know info record allows scales ? is there any place where can maintain scale related conditions in purchase order ?