How to refer to a field in an array of type object
I have an array that is passed to a Stored Proc.
This array is a table of abc_object.
type abc_object has 4 fields/elements. Example fld1, fld2,fld3 and fld4.
I pass the array to a stored procedure. Inside the stored procedure, how can i refer to fld3?
SQL> create or replace type abc_object as object
fld1 varchar2 (10),
fld2 varchar2 (10),
fld3 varchar2 (10),
fld4 varchar2 (10)
Createtype successfully completed.
SQL> create or replace type abc_object_tab as table of abc_object
Createtype successfully completed.
SQL> create or replace procedure p (p_abc_object_tab abc_object_tab)
as
begin
for i in 1 .. p_abc_object_tab.count
loop
dbms_output.put_line (p_abc_object_tab (i).fld3);
end loop;
end p;
Createprocedure successfully completed.
SQL> exec p(abc_object_tab(abc_object('fld1_1','fld2_15','fld3_1','fld4_1'),abc_object('fld1_2','fld2_2','fld3_2','fld4_2')))
fld3_1
fld3_2
PL/SQL procedure successfully completed.
Similar Messages
-
How to refer a particular filed of a Table data type
DECLARE
CURSOR C1 IS SELECT
GLUSR_USR.GLUSR_USR_ID BYER_ID,
GLUSR_USR.GLUSR_USR_ADD1 BUYER_ADD
FROM
GLUSR_USR
WHERE
ROWNUM<=5;
TYPE TBL_TYPE IS TABLE OF C1%ROWTYPE;
TBL TBL_TYPE;
BEGIN
OPEN C1;
FETCH C1 BULK COLLECT INTO TBL;
CLOSE C1;
FORALL I IN 1..TBL.COUNT
INSERT INTO SATYA_TEMP VALUES(TBL.BYER_ID,TBL.BUYER_ADD);(How to use a particular field of TBL in this case).
--INSERT INTO SATYA_TEMP VALUES TBL(I); (I know this)
END;
My question is how to refer a particular field of table type..?
Please suggest.Then you have to create a record type and give all the columns inside it as given below.
Then you can create a variable for this type and use it
Type IS RECORD OF
columnname1 table_name.column_name1%type,
columnname2 table_name.column_name2%type,
columnname3 table_name.column_name3%type,
OR Use
rec table%ROWTYPE;
Edited by: Geek vishal on Aug 4, 2011 12:54 PM -
How can i find out field for a particular component type
hi,
how can i find out for particular component name is belongs to this field.....that means REF_DOC_NO componemt is belongs to xblnr field ..../.if we know only component type ...how to find the field...
plz tell me
thanks®ards,
kalyankeep the cursor on component
press F1
select technical information
you will find the field name and table or structure name
regards
sateesh -
How to activate NCM code Field on STO PO(doc type:UB) for Brazil
Dear Gurus,
I,m working on STO PO-Doc type UB for Brazil.On PO item level on the Tab Page Brazil one field should be there with name NCM CODE.That field is disppeared for this doc type UB.For all the other doc types that field is visible.
I have checked the settings related to UB and the field NCM codeScreen field:MEPO1326-J_1BNBM
is mandatory.
Can u kindly inform me how to make the field visible?
Regards
Kumar.
-
How to refer to element in multi-dimensional array?
What do I need to change in the following dbms_output statement to display "Ken" and avoid the error?
Thanks,
-Ken
create or replace type kja_person_name_rec as object
( pena_id number(10)
, pers_id number(10)
, pnty_cd varchar2(10)
, first_nm varchar2(100)
, family_nm varchar2(100)
Type created
create or replace type kja_person_name_tbl as table of kja_person_name_rec not null;
Type created
create or replace type kja_person_rec as object
( pers_id number(10)
, birth_dt date
, person_names kja_person_name_tbl
Type created
create or replace type kja_person_tbl as table of kja_person_rec not null;
Type created
declare
l_person_name kja_person_name_rec;
l_person_names kja_person_name_tbl;
l_person kja_person_rec;
l_persons kja_person_tbl;
begin
l_person_name := kja_person_name_rec( 1, 1, 'LEGAL', 'Ken', 'Anderson');
l_person_names := kja_person_name_tbl( l_person_name);
l_person := kja_person_rec( 1, to_date( '1955-SEP-22', 'YYYY-MON-DD'), l_person_names);
l_persons := kja_person_tbl( l_person);
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names.first_nm);
end;
declare
l_person_name kja_person_name_rec;
l_person_names kja_person_name_tbl;
l_person kja_person_rec;
l_persons kja_person_tbl;
begin
l_person_name := kja_person_name_rec( 1, 1, 'LEGAL', 'Ken', 'Anderson');
l_person_names := kja_person_name_tbl( l_person_name);
l_person := kja_person_rec( 1, to_date( '1955-SEP-22', 'YYYY-MON-DD'), l_person_names);
l_persons := kja_person_tbl( l_person);
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names.first_nm);
end;
ORA-06550: line 13, column 80:
PLS-00302: component 'FIRST_NM' must be declared
ORA-06550: line 13, column 3:
PL/SQL: Statement ignored
SQL>Hi,
Ken Anderson wrote:
What do I need to change in the following dbms_output statement to display "Ken" and avoid the error?
Thanks,
-Ken
create or replace type kja_person_name_rec as object
( pena_id number(10)
, pers_id number(10)
, pnty_cd varchar2(10)
, first_nm varchar2(100)
, family_nm varchar2(100)
Type created
create or replace type kja_person_name_tbl as table of kja_person_name_rec not null;
Type created
create or replace type kja_person_rec as object
( pers_id number(10)
, birth_dt date
, person_names kja_person_name_tbl
Type created
create or replace type kja_person_tbl as table of kja_person_rec not null;
Type created
declare
l_person_name kja_person_name_rec;
l_person_names kja_person_name_tbl;
l_person kja_person_rec;
l_persons kja_person_tbl;
begin
l_person_name := kja_person_name_rec( 1, 1, 'LEGAL', 'Ken', 'Anderson');
l_person_names := kja_person_name_tbl( l_person_name);
l_person := kja_person_rec( 1, to_date( '1955-SEP-22', 'YYYY-MON-DD'), l_person_names);
l_persons := kja_person_tbl( l_person);
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names.first_nm);
end;
declare
l_person_name kja_person_name_rec;
l_person_names kja_person_name_tbl;
l_person kja_person_rec;
l_persons kja_person_tbl;
begin
l_person_name := kja_person_name_rec( 1, 1, 'LEGAL', 'Ken', 'Anderson');
l_person_names := kja_person_name_tbl( l_person_name);
l_person := kja_person_rec( 1, to_date( '1955-SEP-22', 'YYYY-MON-DD'), l_person_names);
l_persons := kja_person_tbl( l_person);
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names.first_nm);
end;
ORA-06550: line 13, column 80:
PLS-00302: component 'FIRST_NM' must be declared
ORA-06550: line 13, column 3:
PL/SQL: Statement ignored
SQL>
L_persons(1).person_names is a kja_person_name_tbl. Kja_person_name_tbls don't have first_nms; only kja_person_name_recs do.
Next to the end, instead of
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names.first_nm);try
dbms_output.put_line( 'l_persons(1).first_nm = '|| l_persons(1).person_names(1).first_nm);
-- added ^^^ -
How to use array or type in "IN" criteria
Hi all,
anybody knows how to use group of same datatype data ( array or type ) in SQL statement
For example
ls_dept[1] = 'abc';
ls_dept[2] = 'xyz';
ls_dept[10] = 'ppr';
i want to use this group of data in "IN" criteria like
Select * from department where dept in ('abc','xyz'.....''ppr');
if anybody know how to use please reply me as soon as possible.
Thanks,I hope you are not suggesting concatenating literals from a web front-end application ;) Is it not what he was saying.. he is getting user input info from an application.. if the user sends multiple values.. he has to build a string with concatenating literals..
correct me if I am wrong. -
How to refer field of DataSource in transfer rule for DSO object in BI 7.0
hello Gurus,
I am new to BI 7.
pls tellme how to refer field of DataSource in transfer rule for DSO object.
I will assign points to proper answer.
Praveen.hi praveen,
when u create the transformation for the DSO, it asks for the source. in that you enter your datasource, then you get the datasource fields on one side and the rules in the middle and the DSO objects on the other side. whichever field of DataSource you want to refer in tranformation rule, just connect that field to the rule for the required object of the DSO.
hope this will help you.
regards
vaibhav -
How to refer the fields of a nested structure
Hi friends,
I am facing problem in assigning value to nested structure fields.
I have import parameter in FM which is a Table type and line type (structure).
in this structure there are 4 fields.
Out of these 4 fields 1 is again a table type and line type(structure).
I need to populate this inner structures fields and then assign the values back to main table type.
e.g import parameter is zinput_detail type zdetail.
zdetail is a table type and has zdetail_line as structure.
zdetail_line fields are
salesorder
customer
date
weight is a field here and has table type as type i.e zweights.
again zweights has a line type zweight_line.
fields of zweight_line are
weight1
weight2.
Now i need to populate weight1 and weight 2 and then assign these values back to main field weight.
Kindly let me know, what to declare for referring to the inner structure this and how to access this.
Regards,
pradeepHi,
Declare the seperate varible for the inner structure and fill the values in the newly declared struture and assign back to inner structure.
Example
DATA i_zdetail type zdetail with header line.
DATA i_weight type z_weight with header llne.
Fill the i_weight with required values and then
i_zdetails-weight[] = i_weight[].
Edited by: Avinash Kodarapu on Mar 10, 2009 8:59 PM -
How to refer report items?
Hi,
How to refer the report items?
I have standard sql report region contains 3 columns.
doc_id,doc_name and No_units.all three items are apex item.
below is my sql query for report.
APEX_ITEM.SELECT_LIST_FROM_QUERY(17,doc_id,'select s_id from
sales')"doc id",
apex_item.text(18, doc_name) "doc name",
apex_item.text(19, No_units) " No units",null
from sale_docMy intention is to fire a dynamic action when event change in doc_id. So in when tab what i have to assign in item(s) fields for doc_id. i gave *#doc_id#* in items(s) field it doesnt work.
how to resolve this?any help?
-
How to create a new field for Q3 - QM notification in Header and item level
Dear All,
l
Sub: How to create a new field for Q3 - QM notification in Header and item level
Ref. the link --> Quality Notification
We want to create a new field in header level and item level.
As per the thread the solution is given below.
In the IMG Config: Quality Management -> Quality Notification -> Notification Types -> Define screen areas for notification types Then Choose 'Define screen areas' Then Click on 'New entries' button Now, select the relevant Notification Type and click in 'Enter'. Select the 'Iten Cases' register and remember to setup the Tabstrip Header, Icon, etc. Set the 'Tabstrip active' flag. Then Save.
Quality Notification -> Notification Types -> Define screen areas for notification types
WE ARE UNABLE TO FIND IN CUSTOMIZATION PATH --> DEFINE SCREEN AREAS FOR NOTIFICATION TYPES.
Please help.
Question No. 2 :
THE REQUIREMENT IS GIVEN BELOW.
We want to hide the field in Q3 - QM Notification
In header --> Reference tab --> Item (sub heading) --> "DEFECT LOCATION" FIELD TO BE ELIMINATED (HIDE)
Ref the link --> Quality notification
The solutiion is given below.
Hi Sami,
We can hide the collumns using the Transaction OQM1 and Program Name SAPLIQS0.
Lets say Defect location need to be hidden, the field TXTCDOT need to have the radio button HIDE.
Hope this will suffice your requirement.
Kindly ask me if you need any other details.
Thanks & Regards,
Srinivas.D
Hi Sami,
We can hide the collumns using the Transaction OQM1 and Program Name SAPLIQS0.
Lets say Defect location need to be hidden, the field TXTCDOT need to have the radio button HIDE.
Hope this will suffice your requirement.
Kindly ask me if you need any other details.
Thanks & Regards,
Srinivas.D
By double clicking the "DEFECTIVE QUANTITY (EXTERNAL), WE COULD NOT GET --> field TXTCDOT .
Plese do the needful.
We are using ECC6.0 Ehp3 and Ehp4.
With Best Regards,
Raghu SharmaDear Pushpa,
Transaction Code :SHD0 is working fine.
Please accept my sincere thanks for your sharing your Knowledge.
I am able to fulfill my
Regarding the enhancement, I have not tried.
Once I will complete, I will award the fulll marks to you.
With Best Regards,
Raghu Sharma -
How to add a new field in MM01, with say contaminent as a field?
How to add a new field in MM01, with say contaminent as a field? I process that i know is i has to go the user exit and check out the three user exits that are available for MM01 after that what i have to do please can any one help me out with the procedure to proceed?
Hai venkateshwar reddy ,
try with these user exits
MGA00001 Material Master (Industry): Checks and Enhancements
MGA00002 Material Master (Industry): Number Assignment
MGA00003 Material Master (Industry and Retail): Number Display
Refer these steps also
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/screen-exit-on-mm01-mm02-mm03-322717# -
How to insert check box fields in a htmlb: tableview
Hi,
Can anybody tell me how to insert check box fields in a htmlb: tableview in a sequence of rows in a table view. How to generate the sequence no for the checkbox inorder to know the row that is checked.
Thanks in advance,
Aruna.Here is the code which has the custom "Checkbox" in the tableview & Triggers the event. <b>You can identify the checkbox based on cell ID (p_cell_id)</b> in the method "IF_HTMLB_TABLEVIEW_ITERATOR~RENDER_CELL_START" & Based on the event name + Cell ID. Look at the code & let me know if you any issue.
<b>Layout:</b>
<%@page language="abap" %>
<%@extension name="htmlb" prefix="htmlb" %>
<htmlb:content id = "content"
design = "design2002+design2003"
controlRendering = "SAP"
rtlAutoSwitch = "true"
forceEncode = "ENABLED" >
<htmlb:page title="Test " >
<htmlb:form>
<%
data TV_ITERATOR Type Ref To zcl_itr.
data iterator type ref to IF_HTMLB_TABLEVIEW_ITERATOR.
create object tv_iterator exporting appl_cons = application.
iterator = tv_iterator.
%>
<htmlb:tableView id = "fligts"
headerText = "Flight"
width = "100"
headerVisible = "true"
design = "alternating"
visibleRowCount = "10"
fillUpEmptyRows = "true"
showNoMatchText = "true"
filter = "server"
sort = "server"
onHeaderClick = "MyEventHeaderClick"
table = "<%= APPLICATION->itab %>"
iterator = "<%= ITERATOR %>" />
</htmlb:form>
</htmlb:page>
</htmlb:content>
<b>Event Handling:</b>
DATA: EVENT_ID1 TYPE REF TO IF_HTMLB_DATA.
EVENT_ID1 = CL_HTMLB_MANAGER=>GET_EVENT_EX( REQUEST ).
CASE EVENT_ID1->EVENT_SERVER_NAME.
IF NOT event_id1 IS INITIAL.
if event_id1->server_event+0(9) = 'chkevent'.
SPLIT event_id1->server_event AT '-' INTO v_event v_dummy v_row v_col.
endif.
endif.
method IF_HTMLB_TABLEVIEW_ITERATOR~GET_COLUMN_DEFINITIONS.
CLEAR p_column_definitions.
CLEAR p_overwrites.
DATA: tv_column TYPE TABLEVIEWCONTROL.
tv_column-COLUMNNAME = 'FLDATE'.
tv_column-edit = 'X'.
tv_column-sort = 'X'.
tv_column-TITLE = 'Flight Date'.
tv_column-WIDTH = '100'.
APPEND tv_column TO p_column_definitions.
CLEAR tv_column.
tv_column-edit = 'X'.
tv_column-COLUMNNAME = 'CONNID'.
tv_column-TITLE = 'Conn.ID'.
tv_column-WIDTH = '70'.
tv_column-HORIZONTALALIGNMENT = 'center'.
APPEND tv_column TO p_column_definitions.
CLEAR tv_column.
tv_column-edit = 'X'.
tv_column-COLUMNNAME = 'CHECKBOX1'.
tv_column-TITLE = 'Check Box'.
tv_column-WIDTH = '30'.
tv_column-HORIZONTALALIGNMENT = 'center'.
APPEND tv_column TO p_column_definitions.
endmethod.
METHOD IF_HTMLB_TABLEVIEW_ITERATOR~RENDER_CELL_START.
DATA: L_EVENT TYPE STRING.
CASE P_TABLEVIEW_ID.
WHEN 'fligts'.
CASE P_COLUMN_KEY.
WHEN 'CHECKBOX1'.
* CONCATENATE 'chk_event' '123' '2323' INTO L_EVENT SEPARATED BY '-' .
CONCATENATE 'chkevent' p_cell_id INTO l_event SEPARATED BY '-'.
P_REPLACEMENT_BEE = CL_HTMLB_CHECKBOX=>FACTORY( ID = P_CELL_ID
ONCLICK = L_EVENT CHECKED = 'false' ).
ENDCASE.
ENDCASE.
ENDMETHOD.
Hope this will solve your problem.
<b><i>* Reward each helpful answer.</i></b>
Raja T
Message was edited by:
Raja T -
How do I change a field in the sum in ALV (List or grid)
My alv, for example:
1.10
2.30
1.50
Sum(DO_SUM) : 4.90
But I need to CEIL( 4.90 ) before showing .
It should be shown as 5.00 in alv.
How do I change this field in the sum ?Use the following code in a PBO module or in an adequate event method
data: total type ref to data,
subtotal1 type ref to data.
field-symbols: <total> like gt_sflight,
<subtotal1> like gt_sflight.
call method grid1->get_subtotals
importing
ep_collect00 = total
ep_collect01 = subtotal1.
assign total->* to <total>.
assign subtotal1->* to <subtotal1>.
Look at [ALV Grid Control (BC-SRV-ALE)|http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVALV/BCSRVALV.pdf]
Regards -
In BSP how to give the input field as mandatory?
Hi friends,
In BSP how to give the input field as mandatory?
In BSP i want to validate the input field (example checking the material no is valid or not)
if this material no doesnot exit means i want to pass error message.What is the code for that.
Moosahi
try this
in LAYOUT
<htmlb:inputField id = "vname" disabled = "False" value = "<%= v_visitor %>"/> <font color="red" size="2"><b><%= page->messages->assert_message( 'vname' ) %></b></font></td>
in DO_HANDLE_EVENT
in oninputprocessing
CLASS CL_HTMLB_MANAGER DEFINITION LOAD.
IF event_id = CL_HTMLB_MANAGER=>EVENT_ID.
DATA: event TYPE REF TO CL_HTMLB_EVENT.
event = CL_HTMLB_MANAGER=>get_event( runtime->server->request ).
IF event->name = 'button' AND event->event_type = 'click'.
DATA: button_event TYPE REF TO CL_HTMLB_EVENT_BUTTON.
button_event ?= event.
ENDIF.
case event->id.
when 'select'.
if v_visitor = ''.
page->messages->add_message(
condition = 'vname'
message = 'Visitor Name can not be blank'
severity = page->messages->CO_SEVERITY_ERROR ).
ELSE.
here u can write ur when ur field getting filled
endif.
endcase.
endif.
give marks if it is helpful
thanks -
How to add one more field to an exist internal table
hi abapers
i am a very new abap programmer and just started learning it.
i want to know How to add one more field to an exist internal table.
lemme me put my question in a very simple way.
i have a internal table having fields f1,f2,f3 and which also that internal also contains some data.
now i want to add two more fields (mm & nn) to that internal table now.
how can i do that.
and i wanna know the websites names where i can find some brain teasing questions in abap programming.
eagerly waiting for ur reply
regards,
Maqsood A KhanHi, MAQSOOD.
You can insert more fields in your internal table like this.
refer this code snippet.
DATA : BEGIN OF tbl_itab OCCURS 0.
INCLUDE STRUCTURE zsdtc009.
DATA : vkorg LIKE vbak-vkorg, "inserted one
vtweg LIKE vbak-vtweg, "inserted one
vkbur LIKE vbak-vkbur, "inserted one
vkgrp LIKE vbak-vkgrp, "inserted one
END OF tbl_itab.
you can also read the book "Teach yourself abap in 21 days"
at http://cma.zdnet.com/book/abap/
but that book is just about basic concept of abap and report program.
it doesn't give a lecture for on-line program.
you can get pdf version books(about abap, sap...things) from sap.
http://help.sap.com/printdocu/core/Print46c/en/Data/htm/english.htm
I wish I could help you.
Regards
Kyung Woo.
Maybe you are looking for
-
How to pass error message when restoring iPhone on iTunes?
I am trying to restore my iPhone on iTunes. But since I have update my MbP to OSX 10.8.2 I can not get passed an error message on iTunes after it is done extracting the software and is contacting iTunes. I have wifi and everything works fine. I heard
-
Unable to open E-business suite login page after database upgrade
I have successfully upgraded the 11i E-business suite database 10.2.0.3 to 11.1.0.7. After upgradation i have all services running on apps tier and database, but i cannot open the login page. The below are the errors from error log file [Wed Nov 25 1
-
I have tried to purchase things on my ipod and my ipad recently and received the error message but my iphone works just fine? anyone know what that message means?
-
Dropdown box and insert mask with list page
Hi, I m trying to make a CRUD example with JSF. I have the list and the insert mask in the same page. Everything was working fine when i had "NO" select box in my insert mask. But, when i add a select box to the insert mask. I am getting the followin
-
I am on 10.8.4 and need to run MainStage 2. I have Logic 9.1.8 and Mainstage 2.1.3 updates installed. I understand 9.1.8 was the latest version before Logic X, but that 2.2.2 is in fact the latest version before MainStage 3. I understand that 2.2.2 w