Accessing Table Type
Hi All,
In the code below WFAT_EMP_INT_EMPWA is a table type.
For the function module 'WFA_EMP_DATA_GET' , ET_EMP_WORKAREA is an export parameter of type WFAT_EMP_INT_EMPWA
For the function module 'WFA_EMP_DATA_MODIFY' , IT_EMP_WORKAREA is an import parameter of the same type.
I need to get the parameter from one function module and pass it to the next function module.
Do i need to create a work area for the table type or can we simply define the table type and just pass it to the next FM as shown below.
DATA: ITAB_WRKAREA TYPE WFAT_EMP_INT_EMPWA.
DATA: itab_bapiret TYPE BAPIRET2_T,
wa_bapiret TYPE LINE OF BAPIRET2_T.
DATA: itab_bapiret1 TYPE BAPIRET2_T,
wa_bapiret1 TYPE LINE OF BAPIRET2_T.
FORM GET_WRKAREA_CODE.
CALL FUNCTION 'WFA_EMP_DATA_GET'
EXPORTING
IV_EMP_BPID = W_BUPNR
IV_ORG_OBJID = W_ORGEH
IV_EFFECTIVE_WEEK = SY-DATUM
IV_TEMPORARY = GC_SPACE
IMPORTING
ET_EMP_WORKAREA = ITAB_WRKAREA
ET_RETURN = itab_bapiret.
LOOP AT itab_bapiret
INTO wa_bapiret.
WRITE :/ wa_bapiret-MESSAGE.
ENDLOOP.
ENDFORM. "get_wrkarea
FORM TRANSFER_WRKAREA.
CALL FUNCTION 'WFA_EMP_DATA_MODIFY'
EXPORTING
IV_EMP_BPID = W_BUPNR
IV_ORG_OBJID = W_ORGEH
IV_EFFECTIVE_WEEK = SY-DATUM
IS_EMP_INTERFACE_ADMIN = WA_WFAS_EMP_INT_ADMIN
IT_EMP_WORKAREA = ITAB_WRKAREA
IMPORTING
ET_RETURN = itab_bapiret1.
LOOP AT itab_bapiret1
INTO wa_bapiret1.
WRITE :/ wa_bapiret1-MESSAGE.
ENDLOOP.
ENDFORM. "transfer_wrkarea
In the above context does ITAB_WRKAREA(table type) will have only one record.
What is the difference between these 2 statements
DATA: x type TT. " TT refers to table type
DATA: x type ST. "ST refers to structure type
I am getting confused with the table types and structures . Table type refers to a line type which inturn refers to a structure? Can some one explain this.
Thanks in Advance
*-- Table type is a table.. when you refere to a table type u need not use again standard table of , or occurs 0 addition the follwoing statmenet will declare x as a internal table with out header line.
DATA: x type TT. " TT refers to table type
*-- Structure is a flat structure and x is a work area not internal table.
DATA: x type ST. "ST refers to structure type
if you have to create x as intenaal table using strrucre ST then
data : x type standard table of ST..
Thanks
Mahesh
Similar Messages
-
Accessing table type from JAVA
Hi Experts,
We are making a custom copy of the std FM COM_BPUS_ORG_CONTPERS_REGISTER .
It is observed that Tables are obsolete and we should not use them in custom function modules.
I can pass a table type in import parameter and export parameter.
Can we access a table type from java layer.
Also, note that this STANDARD function module has parameter IT_BUSINESSPARTNERROLE_ORG which has table type BU_ROLE_T.
Is it possible to access this?
Note:- This Function module is not getting called in standard web shops.
Please let me now how i can access this table type for hava while calling FM so as to input or retrieve valus from it.
Regards
AntonyThe issue with you is more than accessing a table type.
You said:
This Function module is not getting called in standard web shops.
For function modules that are not called as a part of the standard flow, you have to develop your own simple BOM, BO, BEI, BE classes and methods to call the custom RFC - the whole nine yards. See the extension guide and see the Extension Demos 2 and 3 for reference.
See the sample JCO calls from Java to understand how to access the table types. -
How to access the table type field in the structure
Hi All,
I have a BADI CRM_MKT_ADR_SEARCH and a method CHANGE_SEARCH_RESULTS in this method I have a parameter CT_BP_CP_CHANNEL .This parameter has type CRMT_BP_CP_CHANNEL_TAB(this is table type) this has the line type CRMT_BP_CP_CHANNEL(this is structure) in this line type we have one field addrnumber.How to access this field in my method?Please help me in this regard.data lw_tab type CRMT_BP_CP_CHANNEL.
loop at CRMT_BP_CP_CHANNEL_TAB into lw_tab.
lv_field = lw_tab-addrnumber.
<further processing>
endloop. -
Using Interactive Report with SQL query accessing tables via db link
Is there a known issue with using the interactive report in version 3.1.2.00.02 with SQL that is accessing tables via a database link? I get the error 'not all variables bound', I do not get this error when using the standard report for the same SQL?
Thanks,
Edited by: [email protected] on May 26, 2009 2:59 PMVarad,
Good question, failed to check that. In fact there are errors. Dump file c:\oraclexe\app\oracle\admin\xe\bdump\xe_s002_3640.trc
Mon Jun 15 08:48:11 2009
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
Windows XP Version V5.1 Service Pack 3
CPU : 2 - type 586, 1 Physical Cores
Process Affinity : 0x00000000
Memory (Avail/Total): Ph:1051M/2038M, Ph+PgF:2273M/3934M, VA:1302M/2047M
Instance name: xe
Redo thread mounted by this instance: 1
Oracle process number: 16
Windows thread id: 3640, image: ORACLE.EXE (S002)
*** ACTION NAME:(PAGE 2) 2009-06-15 08:48:11.743
*** MODULE NAME:(APEX:APPLICATION 112) 2009-06-15 08:48:11.743
*** SERVICE NAME:(SYS$USERS) 2009-06-15 08:48:11.743
*** CLIENT ID:(ADMIN:232384011651572) 2009-06-15 08:48:11.743
*** SESSION ID:(24.931) 2009-06-15 08:48:11.743
*** 2009-06-15 08:48:11.743
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [_LdiDateFromArray+55] [PC:0x608B04F3] [ADDR:0x0] [UNABLE_TO_WRITE] []
Current SQL statement for this session:
select Stage,Procedure,Stp,FW,Reslt,MSG,date_run
from bi_msg_VW@dwitnm
order by 1
----- PL/SQL Call Stack -----
object line object
handle number name
2FE1EA14 1207 package body SYS.DBMS_SYS_SQL
2FE1F064 328 package body SYS.DBMS_SQL
2ABDC520 5097 package body APEX_030200.WWV_RENDER_REPORT3
2BD5E55C 1538 package body APEX_030200.WWV_FLOW_DISP_PAGE_PLUGS
2BD5E55C 366 package body APEX_030200.WWV_FLOW_DISP_PAGE_PLUGS
335BDA88 11190 package body APEX_030200.WWV_FLOW
2BDBD1C8 255 procedure APEX_030200.F
2AB58D10 30 anonymous block
----- Call Stack Trace -----
I didn't include the call stack, it is too large. Now I'm even more puzzled that the IR would work while a sql report would fail.
Bob -
Problem accessing TABLE fields in SELECT statement
Hi,
We are currently using Oracle Database 10.2.0.2.0.
In the following code, using a function to access TABLE fields works, but not when accessing the table fields directly (in the latter case, I get a no data found exception).
Why is that?
Thanks for your help.
Olivier
PS: I do have a lengthy explanation of why we would want to do that as well as the full packages, etc... But I didn't want to bore you to no end.
I'll post it if required.
CREATE OR REPLACE PACKAGE PA_TEST_DEVTBL AS
TYPE TBL_ROLCODE IS TABLE OF LANROLE.ROLCODE%TYPE INDEX BY BINARY_INTEGER;
TYPE TBL_ROLLABEL IS TABLE OF LANROLE.ROLLABEL%TYPE INDEX BY BINARY_INTEGER;
end PA_TEST_DEVTBL;
CREATE OR REPLACE PACKAGE BODY PA_TEST AS
-- Array containing the selected data
TblRolCode PA_TEST_DEVTBL.TBL_ROLCODE;
TblRolLabel PA_TEST_DEVTBL.TBL_ROLLABEL;
-- Functions created to retrieve each array data
FUNCTION F_GET_ROLCODE( nIndex NUMBER ) RETURN LANROLE.ROLCODE%TYPE IS
BEGIN
RETURN TblRolCode( nIndex );
END F_GET_ROLCODE;
FUNCTION F_GET_ROLLABEL( nIndex NUMBER ) RETURN LANROLE.ROLLABEL%TYPE IS
BEGIN
RETURN TblRolLABEL( nIndex );
END F_GET_ROLLABEL;
PROCEDURE S_TEST (
-- THIS DOESN'T WORK (ORA-01403: no data found)
OPEN cReturn FOR
SELECT TblRolCode( ROWNUM ),
TblRolLabel( ROWNUM )
FROM TABLE( CAST( tblRows AS T_TBL_NUMBER ) );
-- BUT THIS WORKS !!!
OPEN cReturn FOR
SELECT F_GET_ROLCODE( ROWNUM ) AS ROLCODE,
F_GET_ROLLABEL( ROWNUM ) AS ROLLABEL
FROM TABLE( CAST( tblRows AS T_TBL_NUMBER ) );
..well it could be managed by simple HTML tags or simple javascript properties and events itself...
All you have to do is encode URL and pass it as the request parameters to the next page.
Checkout a simple example down below.
MainTable.jsp:
============
<table>
<thead>
<tr>
</tr>
</thead>
<tbody>
<c:forEach var="DTOBean" items="${request.dbList}">
<tr>
<td><c:out value="${DTOBean.rowId}"/></td>
<td onClick="window.location.href='/testpage.jsp?col2='+escape('<c:out value="${DTOBean.col2}"/>')+'&col3='+escape('<c:out value="${DTOBean.col3}"/>'); " ><c:out value="${DTOBean.col1"/></td>
<!-- or try with to work with simple hyperlink
<td><a href="# " onclick="window.location.href='/testpage.jsp?col2='+escape('<c:out value="${DTOBean.col2}"/>')+'&col3='+escape('<c:out value="${DTOBean.col3}"/>');"><c:out value="${DTOBean.col1"/></a></td>
-->
<td><c:out value="${DTOBean.col2"/></td>
<td><c:out value="${DTOBean.col3"/></td>
</tr>
</c:forEach>
</tbody>
</table>
--------------------------------------------------testpage.jsp:
==========
Column2 : <c:out value="${param.col2}"/>
Column3 : <c:out value="${param.col3}"/>
--------------------------------------------------Hope that might help.
REGARDS,
RaHuL -
Can't access tables in PL/SQL package
I'm trying to create my first package/stored procedure. Been to class, so I don't think the problem is with me. In a real environment now. My schema/user has access to tables in another schema, plus create procedure priviledges. I compiled the package spec OK, but couldn't use %Type. I had to specify the datatype. The package body won't compile with the error message "Error: PLS-00201: identifier 'PTI_PROD.SC_MSTR' must be declared". I can run the SQL just fine in SQL*Plus. Why can't I access tables inside a package. We didn't have this problem in class.
steven. the oracle error msgs documentation says that maybe there is no access privelege to the table. this looks like a privelege issue. grant priveleges explicitly on those tables accessed by your procedure not through any roles.
in your case login as pti_prod and type
grant select,insert,update on sc_mstr to user1;
this shld work.
null -
Migration of Microsoft Access Table in Oracle XE
Hi all,
i've got a MS Access DB with a table with over 50k rows in it. I need to transfer the data to my Oracle XE. I tried to use the "Quick Migration" option of SQL Developer but that won't work. I also extracted the data of the MS Access table into an insert script. Unfortunately the insert script is too big for SQL Developer, I just can't believe it.....
Do you know how to solve this problem?
Thanks in advance!
Greetz
keXxNo prob, should be a sqlplus program button under the Oracle group, or do the Start/Run ... and type in cmd (windows) and sqlplus in the command box.
May have to poke around a bit find out which database user to sign in as, best not to use sys or system users for regular data/tables. -
Managing statistics for object collections used as table types in SQL
Hi All,
Is there a way to manage statistics for collections used as table types in SQL.
Below is my test case
Oracle Version :
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> Original Query :
SELECT
9999,
tbl_typ.FILE_ID,
tf.FILE_NM ,
tf.MIME_TYPE ,
dbms_lob.getlength(tfd.FILE_DATA)
FROM
TG_FILE tf,
TG_FILE_DATA tfd,
SELECT
FROM
TABLE
SELECT
CAST(TABLE_ESC_ATTACH(OBJ_ESC_ATTACH( 9999, 99991, 'file1.png', NULL, NULL, NULL),
OBJ_ESC_ATTACH( 9999, 99992, 'file2.png', NULL, NULL, NULL)) AS TABLE_ESC_ATTACH)
FROM
dual
) tbl_typ
WHERE
tf.FILE_ID = tfd.FILE_ID
AND tf.FILE_ID = tbl_typ.FILE_ID
AND tfd.FILE_ID = tbl_typ.FILE_ID;
Elapsed: 00:00:02.90
Execution Plan
Plan hash value: 3970072279
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 194 | 4567 (2)| 00:00:55 |
|* 1 | HASH JOIN | | 1 | 194 | 4567 (2)| 00:00:55 |
|* 2 | HASH JOIN | | 8168 | 287K| 695 (3)| 00:00:09 |
| 3 | VIEW | | 8168 | 103K| 29 (0)| 00:00:01 |
| 4 | COLLECTION ITERATOR CONSTRUCTOR FETCH| | 8168 | 16336 | 29 (0)| 00:00:01 |
| 5 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
| 6 | TABLE ACCESS FULL | TG_FILE | 565K| 12M| 659 (2)| 00:00:08 |
| 7 | TABLE ACCESS FULL | TG_FILE_DATA | 852K| 128M| 3863 (1)| 00:00:47 |
Predicate Information (identified by operation id):
1 - access("TF"."FILE_ID"="TFD"."FILE_ID" AND "TFD"."FILE_ID"="TBL_TYP"."FILE_ID")
2 - access("TF"."FILE_ID"="TBL_TYP"."FILE_ID")
Statistics
7 recursive calls
0 db block gets
16783 consistent gets
16779 physical reads
0 redo size
916 bytes sent via SQL*Net to client
524 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed Indexes are present in both the tables ( TG_FILE, TG_FILE_DATA ) on column FILE_ID.
select
index_name,blevel,leaf_blocks,DISTINCT_KEYS,clustering_factor,num_rows,sample_size
from
all_indexes
where table_name in ('TG_FILE','TG_FILE_DATA');
INDEX_NAME BLEVEL LEAF_BLOCKS DISTINCT_KEYS CLUSTERING_FACTOR NUM_ROWS SAMPLE_SIZE
TG_FILE_PK 2 2160 552842 21401 552842 285428
TG_FILE_DATA_PK 2 3544 852297 61437 852297 852297 Ideally the view should have used NESTED LOOP, to use the indexes since the no. of rows coming from object collection is only 2.
But it is taking default as 8168, leading to HASH join between the tables..leading to FULL TABLE access.
So my question is, is there any way by which I can change the statistics while using collections in SQL ?
I can use hints to use indexes but planning to avoid it as of now. Currently the time shown in explain plan is not accurate
Modified query with hints :
SELECT
/*+ index(tf TG_FILE_PK ) index(tfd TG_FILE_DATA_PK) */
9999,
tbl_typ.FILE_ID,
tf.FILE_NM ,
tf.MIME_TYPE ,
dbms_lob.getlength(tfd.FILE_DATA)
FROM
TG_FILE tf,
TG_FILE_DATA tfd,
SELECT
FROM
TABLE
SELECT
CAST(TABLE_ESC_ATTACH(OBJ_ESC_ATTACH( 9999, 99991, 'file1.png', NULL, NULL, NULL),
OBJ_ESC_ATTACH( 9999, 99992, 'file2.png', NULL, NULL, NULL)) AS TABLE_ESC_ATTACH)
FROM
dual
tbl_typ
WHERE
tf.FILE_ID = tfd.FILE_ID
AND tf.FILE_ID = tbl_typ.FILE_ID
AND tfd.FILE_ID = tbl_typ.FILE_ID;
Elapsed: 00:00:00.01
Execution Plan
Plan hash value: 1670128954
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 194 | 29978 (1)| 00:06:00 |
| 1 | NESTED LOOPS | | | | | |
| 2 | NESTED LOOPS | | 1 | 194 | 29978 (1)| 00:06:00 |
| 3 | NESTED LOOPS | | 8168 | 1363K| 16379 (1)| 00:03:17 |
| 4 | VIEW | | 8168 | 103K| 29 (0)| 00:00:01 |
| 5 | COLLECTION ITERATOR CONSTRUCTOR FETCH| | 8168 | 16336 | 29 (0)| 00:00:01 |
| 6 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
| 7 | TABLE ACCESS BY INDEX ROWID | TG_FILE_DATA | 1 | 158 | 2 (0)| 00:00:01 |
|* 8 | INDEX UNIQUE SCAN | TG_FILE_DATA_PK | 1 | | 1 (0)| 00:00:01 |
|* 9 | INDEX UNIQUE SCAN | TG_FILE_PK | 1 | | 1 (0)| 00:00:01 |
| 10 | TABLE ACCESS BY INDEX ROWID | TG_FILE | 1 | 23 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
8 - access("TFD"."FILE_ID"="TBL_TYP"."FILE_ID")
9 - access("TF"."FILE_ID"="TBL_TYP"."FILE_ID")
filter("TF"."FILE_ID"="TFD"."FILE_ID")
Statistics
0 recursive calls
0 db block gets
16 consistent gets
8 physical reads
0 redo size
916 bytes sent via SQL*Net to client
524 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
2 rows processed
Thanks,
BThanks Tubby,
While searching I had found out that we can use CARDINALITY hint to set statistics for TABLE funtion.
But I preferred not to say, as it is currently undocumented hint. I now think I should have mentioned it while posting for the first time
http://www.oracle-developer.net/display.php?id=427
If we go across the document, it has mentioned in total 3 hints to set statistics :
1) CARDINALITY (Undocumented)
2) OPT_ESTIMATE ( Undocumented )
3) DYNAMIC_SAMPLING ( Documented )
4) Extensible Optimiser
Tried it out with different hints and it is working as expected.
i.e. cardinality and opt_estimate are taking the default set value
But using dynamic_sampling hint provides the most correct estimate of the rows ( which is 2 in this particular case )
With CARDINALITY hint
SELECT
/*+ cardinality( e, 5) */*
FROM
TABLE
SELECT
CAST(TABLE_ESC_ATTACH(OBJ_ESC_ATTACH( 9999, 99991, 'file1.png', NULL, NULL, NULL),
OBJ_ESC_ATTACH( 9999, 99992, 'file2.png', NULL, NULL, NULL)) AS TABLE_ESC_ATTACH)
FROM
dual
) e ;
Elapsed: 00:00:00.00
Execution Plan
Plan hash value: 1467416936
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 5 | 10 | 29 (0)| 00:00:01 |
| 1 | COLLECTION ITERATOR CONSTRUCTOR FETCH| | 5 | 10 | 29 (0)| 00:00:01 |
| 2 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
With OPT_ESTIMATE hint
SELECT
/*+ opt_estimate(table, e, scale_rows=0.0006) */*
FROM
TABLE
SELECT
CAST(TABLE_ESC_ATTACH(OBJ_ESC_ATTACH( 9999, 99991, 'file1.png', NULL, NULL, NULL),
OBJ_ESC_ATTACH( 9999, 99992, 'file2.png', NULL, NULL, NULL)) AS TABLE_ESC_ATTACH)
FROM
dual
) e ;
Execution Plan
Plan hash value: 4043204977
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 5 | 485 | 29 (0)| 00:00:01 |
| 1 | VIEW | | 5 | 485 | 29 (0)| 00:00:01 |
| 2 | COLLECTION ITERATOR CONSTRUCTOR FETCH| | 5 | 10 | 29 (0)| 00:00:01 |
| 3 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
With DYNAMIC_SAMPLING hint
SELECT
/*+ dynamic_sampling( e, 5) */*
FROM
TABLE
SELECT
CAST(TABLE_ESC_ATTACH(OBJ_ESC_ATTACH( 9999, 99991, 'file1.png', NULL, NULL, NULL),
OBJ_ESC_ATTACH( 9999, 99992, 'file2.png', NULL, NULL, NULL)) AS TABLE_ESC_ATTACH)
FROM
dual
) e ;
Elapsed: 00:00:00.00
Execution Plan
Plan hash value: 1467416936
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 2 | 4 | 11 (0)| 00:00:01 |
| 1 | COLLECTION ITERATOR CONSTRUCTOR FETCH| | 2 | 4 | 11 (0)| 00:00:01 |
| 2 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
Note
- dynamic sampling used for this statement (level=2)I will be testing the last option "Extensible Optimizer" and put my findings here .
I hope oracle in future releases, improve the statistics gathering for collections which can be used in DML and not just use the default block size.
By the way, are you aware why it uses the default block size ? Is it because it is the smallest granular unit which oracle provides ?
Regards,
B -
Built in Function to Populate an access table from an Oracle Table through VB 6.0
Dear all,
Is there any built in function in VB 6.0 to populate an access table directly from an oracle table or SQL Server(Assume Both has the same columns & data type).
(Just like the DoCmd command which can be used to populate an excel sheet directly from an access table).
Please help.
Regards
Sibby.Sibby,
There is no "built-in" code in VB that I am aware of. However, you could use this code which I wrote for SQL Server. For Oracle, you would have to change to the appropriate table to get all the table names. You can filter by table name to get just your tables like I did below (My_).
'* Now select all the files and add to access.
sSQL = "SELECT name, id FROM sysobjects WHERE xtype = 'U' AND SUBSTRING(name, 1, 3) = 'My_' ORDER BY name"
Set rstTemp = OpenRdSetView(sSQL:=sSQL, adoConnection:=adoConnection)
On Error GoTo TableExistError
'* Loop through all my database tables and copy to the Access database.
With rstTemp
Do While Not .EOF
'* Copy this to the Access backup database.
sTableName = .Fields("Name").Value
'* Select all records from the SQL Server table and copy to the local Access database.
sSQL = "SELECT * INTO " & sTableName & " FROM "
sSQL = sSQL & "[odbc;dsn=" & sDSN & ";UID=" & sUID & ";pwd=" & spwd & ";]." & sTableName
adoBackupConnection.Execute sSQL, , adExecuteNoRecords
'* Go to next table.
.MoveNext
Loop
End With -
"table type" result from stored procedure (Oracle 10g) for physical service
Hello,
I'm trying to create a physical service based on a stored procedure which returns a table type like this:
SQL
-- create table
create table myTable ( "col1" VARCHAR2(250) not null enable, "filtercol1" VARCHAR2(250), "filtercol2" VARCHAR2(250), "sortcol1" VARCHAR2(250), "sortcol2" VARCHAR2(250), "sortcol3" VARCHAR2(250))
-- create return type
create or replace type myResultType as table of varchar2(250);
-- create function
create or replace function getResult(param1 in varchar2, param2 in varchar2, orderby in varchar2) return myResultType as
query_str VARCHAR2(1000);
myResult myResultType;
begin
query_str := 'select m.col1 from myTable m where m.filtercol1 like :param1 and m.filtercol2 like :param2 order by ' || orderby;
execute immediate query_str bulk collect into myResult using param1, param2;
return myResult;
end getResult;
The wizard for creating the physical service complains that it can't find the return type and I have to create a schema by myself. How should it look like? I can't find a sample in the documentation.
Thanks for any help,
GuidoOk, now the wizard produces something like this:
(::pragma function <f:function xmlns:f="urn:annotations.ld.bea.com" visibility="protected" kind="library" isPrimary="false" nativeName="GETRESULT" nativeLevel2Container="MY_SCHEMA" style="storedProcedure">
<nonCacheable/>
<params xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdt="http://www.w3.org/2004/07/xpath-datatypes" xmlns:pn1="ld:physical/SQLServices/MY_TMP_TABLE" >
<param name="RETURN_VALUE" kind="return" xqueryType="pn1:MY_TMP_TABLE" nativeTypeCode="0" nativeType="RowSet"/>
<param name="RETURN_VALUE" kind="out" xqueryType="pn1:MY_TMP_TABLE" nativeTypeCode="0" nativeType="RowSet"/>
<param name="PARAM1" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
<param name="PARAM2" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
<param name="ORDERBY" kind="in" xqueryType="xs:string" nativeTypeCode="12" nativeType="VARCHAR2"/>
</params>
</f:function>::)
declare procedure f1:GETRESULT($PARAM1 as xs:string, $PARAM2 as xs:string, $ORDERBY as xs:string) as schema-element(t1:GETRESULT) external;
Then WorkSpace Studio complains about: "... error: cos-element-consistent: Type of 'RETURN_VALUE' is inconsistent with another element with the same name in this content model. "
If I rename one RETURN_VALUE to RETURN_VALUE1 (the param name and in the schema file) the error is gone, but if I try to test the method I get:
com.bea.dsp.das.exception.DASException: weblogic.xml.query.exceptions.XQuerySagaException: {bea-err}UPD003: Update failure: mixed outcome, update error dispatched (updateid=SAGA_596ba32b1ff8d8a4:181f0b20:11f92ed2529:-7fe2): java.lang.RuntimeException: Konflikt bei Parametertyp
at com.bea.dsp.das.ejb.EJBClient.invokeOperation(EJBClient.java:160)
at com.bea.dsp.das.DataAccessServiceImpl.invokeOperation(DataAccessServiceImpl.java:171)
at com.bea.dsp.das.DataAccessServiceImpl.invoke(DataAccessServiceImpl.java:122)
at com.bea.dsp.ide.xquery.views.test.QueryExecutor.invokeFunctionOrProcedure(QueryExecutor.java:121)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.getFunctionExecutionResult(XQueryTestView.java:1006)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.executeFunction(XQueryTestView.java:1134)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedImpl(XQueryTestView.java:1807)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.access$300(XQueryTestView.java:159)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent$3.run(XQueryTestView.java:1535)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelectedBusy(XQueryTestView.java:1538)
at com.bea.dsp.ide.xquery.views.test.XQueryTestViewContent.widgetSelected(XQueryTestView.java:1500)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:339)
at org.eclipse.core.launcher.Main.basicRun(Main.java:283)
at org.eclipse.core.launcher.Main.run(Main.java:984)
at org.eclipse.core.launcher.Main.eclipse_main(Main.java:959)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.m7.installer.util.NitroxMain$1.run(NitroxMain.java:39)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
"Konflikt bei Parametertyp" means something like: parameter type conflict
Best regards,
Guido -
Whats is table type ? whats the use of it in abap?
hi,
i am ahmed abap fresher,
i want to know what is table type and whats the use of it. at what point/situation we utilize this table type.Hi Ahmed ,
Table is apart of data dictionary.
Table is a sort of container where we store data.
For eg. you want to store customer record in the database.Now you will store that customer record against specific fields of the applicable table.
You can create or see table by means of transaction code se11.
There are 3 typesof tables available in SAP ABAP:
1. Transparent table
2. Pool table
3. Cluster table.
Transparent Table:
A physical table definition in the database for the table definition which is stored in the ABAP Dictionary for transparent tables when the
table is activated. The table definition is translated from the ABAP
Dictionary to a definition of the particular database.
Pooled table:
Pooled tables can be used to store control data (e.g. screen sequences,
program parameters or temporary data). Several pooled tables can be
combined to form a table pool. The table pool corresponds to a physical
table on the database in which all the records of the allocated pooled
tables are stored.
Cluster table:
Cluster tables contain continuous text, for example, documentation.
Several cluster tables can be combined to form a table cluster. Several
logical lines of different tables are combined to form a physical record
in this table type. This permits object-by-object storage or
object-by-object access. In order to combine tables in clusters, at
least parts of the keys must agree. Several cluster tables are stored in
one corresponding table on the database.
See the documetation at:
http://help.sap.com/saphelp_nw04/helpdata/en/cf/21f083446011d189700000e8322d00/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/81/415d363640933fe10000009b38f839/frameset.htm
Reward if useful ...
Regards ,
Shankar GJ -
How to handle table type record in OAF
Hi ,
Req:
There is a search page that can be accessed from different locations .
The result set should be different when accessed from each location .
Approach to be used :
Call a PL/SQL api which returns a table type input parameter for different search conditions . Each record that is returned by the table type input needs to be iterated and a new row should be created in a transtient VO to show results on the UI
Problem :
How to handle to table type input returned from pl/sql in java and show the results?
Thanks in advance.There is a requirement to fetch records from cursor into a collection .Following is the code snippet that I have used.
/** creating an object **/
CREATE OR REPLACE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP AS OBJECT (
CUSTOMER_NAME VARCHAR2(360),
PROJECT_NAME VARCHAR2(40),
BOARD_NAME VARCHAR2(40),
ARROW_UNIQUE_NO NUMBER,
FIELD_NAME VARCHAR2(2000),
OLD_VALUE VARCHAR2(2000),
NEW_VALUE VARCHAR2(2000),
USER_ID NUMBER,
USER_NAME VARCHAR2(100),
AUDIT_DATE DATE,
AUDIT_TYPE VARCHAR2(1),
SUPP_SYS_LAST_UPDATE_ON DATE,
SUPP_TRACKING_NUM VARCHAR2(50),
CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
RETURN SELF AS RESULT
/** initializing the object **/
CREATE OR REPLACE TYPE BODY XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP IS
CONSTRUCTOR FUNCTION XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP
RETURN SELF AS RESULT IS
BEGIN
self.customer_name := fnd_api.g_miss_char;
self.project_name := fnd_api.g_miss_char;
self.board_name := fnd_api.g_miss_char;
self.arrow_unique_no := fnd_api.g_miss_num;
self.field_name := fnd_api.g_miss_char;
self.old_value := fnd_api.g_miss_char;
self.new_value := fnd_api.g_miss_char;
self.user_id := fnd_api.g_miss_num;
self.user_name := fnd_api.g_miss_char;
self.audit_date := fnd_api.g_miss_date;
self.audit_type := fnd_api.g_miss_char;
self.supp_sys_last_update_on := fnd_api.g_miss_date;
self.supp_tracking_num := fnd_api.g_miss_char;
return;
END;
END;
/** creating a collection of object**/
CREATE TYPE XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP AS TABLE OF XXCRM_GBL_DSW_AUDIT_RSTLS_O_TP;
/**Inside the package body **/
CURSOR c_proj_cur is
SELECT NULL CUSTOMER_NAME,
(SELECT project_name
FROM xxcrm_gbl_dsw_projects_all
WHERE project_id = xgda.project_id) PROJECT_NAME,
DECODE(xgda.board_id,NULL,'test',
(SELECT board_name
FROM xxcrm_gbl_dsw_boards_all
WHERE board_id = xgda.board_id)) BOARD_NAME,
DECODE(xgda.internal_dwr_id,
NULL,NULL,
(SELECT internal_dwr_id
FROM xxcrm_gbl_dsw_regstrations_all
WHERE internal_dwr_id = xgda.internal_dwr_id)) ARROW_UNIQUE_NO,
fielslu.meaning FIELD_NAME,
xgda.old_value OLD_VALUE,
xgda.new_value NEW_VALUE,
xgda.created_by USER_ID,
'kuldeep' USER_NAME,
xgda.Creation_Date AUDIT_DATE,
xgda.audit_Level AUDIT_TYPE,
SYSDATE SUPP_SYS_LAST_UPDATE_ON,
't001' SUPP_TRACKING_NUM
FROM XXCRM_GBL_DSW_AUDIT_ALL xgda ,
FND_LOOKUP_VALUES_VL fielslu
WHERE xgda.project_id =174
AND fielslu.lookup_type = 'XXCRM_DSW_REV_FIELD_NAMES'
AND fielslu.lookup_code = xgda.FIELD_NAME
AND enabled_flag = 'Y'
AND TRUNC(SYSDATE) BETWEEN TRUNC(NVL(fielslu.start_date_active,sysdate))
AND TRUNC(NVL(fielslu.end_date_active,sysdate))
ORDER BY xgda.creation_date;
Tab XXCRM_GBL_DSW_AUDIT_RSTLS_C_TP ;
BEGIN
OPEN c_proj_cur;
LOOP
FETCH c_proj_cur BULK COLLECT INTO tab; --ERROR type mismatch found at 'TAB' between FETCH cursor and INTO variables
END LOOP;
END;
/**Error */
When the above script is executed it gives an error “type mismatch found at 'TAB' between FETCH cursor and INTO variables” (at line highlighted above).
I have validated the data type of cursor and object too. But still the error is not resolved .
Did anyone of you come across a similar requirement, fetching the values from cursor into a collection? Please help. -
[internal tables] TYPES or DATA
Hi,
starting with ABAP and try to understand internal tables. The structure
of an internal table isn't quiet clear. They have a work area and a table body,
but why do I need a additionally type of line?
Is this content, my tutorial uses DATA to define the itab and TYPES to define
the workarea (type of line). I don't really understand the different between those
commands.
Does anyone got a good web blog to understand internal tables completly?
thx
chrisHi,
The Statements TYPES and DATA
Each ABAP program define its own data types using the statement.
TYPES dtype TYPE type ...
and declare its own variables or instance attributes of classes using the statement
DATA var {TYPE type} ...
Within the program or a class, you can also define local data types and variables within procedures. Local variables in procedures obscure identically-named variables in the main program or class.
When creating data types and data objects, there are a number of naming convention that also apply for other local program definitions, such as procedures. These are described in detail in the keyword documentation.
The Additions TYPE and LIKE
The additions TYPE type and LIKE dobj are used in various ABAP statements. The additions can have various meanings, depending on the syntax and context.
· Definition of local types in a program
· Declaration of data objects
· Dynamic creation of data objects
· Specification of the type of formal parameters in subroutines
· Specification of the type of formal parameters in methods
· Specification of the type of field symbols
Constructing New Data Types
The TYPE addition allows you to construct new data types in the TYPES, DATA; CONSTANTS; and STATICSstatements. In the TYPES statement, these are local data types in the program. In the other statements, they are attributes of new data objects, meaning that the newly defined data types are not free-standing. Rather, they are linked to database objects.This means that you can refer to them using the LIKEaddition, but not using TYPE.
To construct new data types, the addition TYPE can be used with the following type constructors:
· Construction of reference types
REF TO type|dobj
· Construction of structured data types
BEGIN OF struc_type.
END OF struc_type.
· Construction of table types
tabkind OF linetype
These data types only exist during the runtime of the ABAP program.
Referring to Known Data Types or Data Objects
Using the additions TYPE or LIKE in the TYPESstatement, local data types in a program can be referred to known data types or data objects. This is mainly the case with user-defined elementary data types. If you declare variables using the additions TYPE type or LIKE dobj with statement DATA, the data type of var is already fully defined before the declaration is made.
The known types or data that are referred to must be visible at the point where the data type or variable is declared.
A known data type can be any of the following:
· A predefined ABAP type to which you refer using the TYPE addition
· An existing local data type in the program to which you refer using the TYPE addition
· The data type of a local data object in the program to which you refer using the LIKE addition
· A data type in the ABAP Dictionary to which you refer using the TYPE addition. To ensure compatibility with earlier releases, it is still possible to use the LIKE addition to refer to database tables and flat structures in the ABAP Dictionary. However, you should use the TYPE addition in new programs.
The LIKE addition takes its technical attributes from a visible data object. As a rule, you can use LIKE to refer to any object that has been declared using DATA or a similar statement, and is visible in the current context. The data object only has to have been declared. It is irrelevant whether the data object already exists in memory when you make the LIKE reference.
· In principle, the local data objects in the same program are visible. As with local data types, there is a difference between local data objects in procedures and global data objects. Data objects defined in a procedure obscure other objects with the same name that are declared in the global declarations of the program.
· You can also refer to the data objects of other visible ABAP programs. These might be, for example, the visible attributes of global classes in class pools. If a global class cl_lobal has a public instance attribute or static attribute attr, you can refer to it as follows in any ABAP program:
DATA dref TYPE REF TO cl_global.
DATA: f1 LIKE cl_global=>attr,
f2 LIKE dref->attr.
You can access the technical properties of an instance attribute using the class name and a reference variable without first having to create an object. The properties of the attributes of a class are not instance-specific and belong to the static properties of the class.
TYPES: BEGIN OF struct,
number_1 TYPE i,
number_2 TYPE p DECIMALS 2,
END OF struct.
DATA: wa_struct TYPE struct,
number LIKE wa_struct-number_2,
date LIKE sy-datum,
time TYPE t,
text TYPE string,
company TYPE s_carr_id.
This example declares variables with reference to the internal type STRUCT in the program, a component of an existing data object wa_struct, the predefined data object SY-DATUM, the predefined ABAP type t and STRING, and the data element S_CARR_ID from the ABAP Dictionary.
Referring to Generic Data Types
If you refer to one of the generic predefined ABAP types of fixed length (c, n, p, x) in the TYPES or DATA statement, you must specify the undefined technical attributes.
TYPES|DATA var[(length)] TYPE type ...
TYPES|DATA var TYPE type ...
DATA: text1,
text2 LENGTH 2,
text3 TYPE c LENGTH 3,
pack TYPE p DECIMALS 2 VALUE '1.225'.
This example creates three character variables with field lengths of one, two, and three bytes respectively, and a packed number variable with field length 8 bytes and two decimal places. If the attribute Fixed point arithmetic is set, the value of pack is 1.23.
This example shows how to declare elementary data objects with reference to predefined ABAP types.
PROGRAM demo_elementary_data_objects.
DATA text1 TYPE c LENGTH 20.
DATA text2 TYPE string.
DATA number TYPE i.
text1 = 'The number'.
number = 100.
text2 = 'is an integer.'.
WRITE: text1, number, text2.
This program produces the following output on the screen:
The number 100 is an integer.
In this example, the data objects text1, text2 and number are declared with the DATA statement. The technical attributes are determined by referring to the predefined ABAP types c, string, and I. Values from unnamed literals are assigned to the data objects. The contents of the named data objects are displayed on the list.
Specifying a Start Value
When you declare an elementary fixed-length variable, the DATAstatement automatically fills it with the type-specific initial value as listed in the table in the Predefined ABAP Types section.
However, you can also specify a starting value of a fixed-length elementary variable (also within a structure declaration) using the VALUE addition in the DATAstatement:
DATA var ... VALUE val|{IS INITIAL}.
Specifying start values:
DATA: counter TYPE p VALUE 1,
date TYPE d VALUE '19980601',
flag TYPE n VALUE IS INITIAL.
After this data declaration, the character string flag contains its type specific
Initial value 0.
Regarsd -
Table type in import parameter in rfc function module
Hi we don't have the table type in our system which exist in the other system which is the import parameter of the rfc function module.so how can we pass the parameter. shell we create the same table type in our system also.it is a table type for a deep structure.
Hello,
I donot have access to CRM box I cannot view the FM. You can verify with the CRM counterpart what exactly is the TYPE for param DATA.
Else you can define a generic internal table (TYPE TABLE) & try calling the FM.
BR,
Suhas -
Whats the important of " table-type " in sap abap?
hi,
i am ahmed. abap fresher.
i want to what use and importance of table-type in sap abap which comes in
datadictionary
V
data types
V----
V V V
data element structure table type
i want to know about table type. plz give a brief idea.
bye.hi,
Transparent Tables
A transparent table in the dictionary has a one-to-one relationship with a table in the database. Its structure in R/3 Data Dictionary corresponds to a single database table. For each transparent table definition in the dictionary, there is one associated table in the database. The database table has the same name, the same number of fields, and the fields have the same names as the R/3 table definition. When looking at the definition of an R/3 transparent table, it might seem like you are looking at the database table itself.
Transparent tables are much more common than pooled or cluster tables. They are used to hold application data. Application data is the master data or transaction data used by an application. An example of master data is the table of vendors (called vendor master data), or the table of customers (called customer master data). An example of transaction data is the orders placed by the customers, or the orders sent to the vendors.
Transparent tables are probably the only type of table you will ever create. Pooled and cluster tables are not usually used to hold application data but instead hold system data, such as system configuration information, or historical and statistical data.
Both pooled and cluster tables have many-to-one relationships with database tables. Both can appear as many tables in R/3, but they are stored as a single table in the database. The database table has a different name, different number of fields, and different field names than the R/3 table. The difference between the two types lies in the characteristics of the data they hold, and will be explained in the following sections.
Table Pools and Pooled Tables
A pooled table in R/3 has a many-to-one relationship with a table in the database (see Figures 3.1 and 3.2). For one table in the database, there are many tables in the R/3 Data Dictionary. The table in the database has a different name than the tables in the DDIC, it has a different number of fields, and the fields have different names as well. Pooled tables are an SAP proprietary construct.
When you look at a pooled table in R/3, you see a description of a table. However, in the database, it is stored along with other pooled tables in a single table called a table pool. A table pool is a database table with a special structure that enables the data of many R/3 tables to be stored within it. It can only hold pooled tables.
R/3 uses table pools to hold a large number (tens to thousands) of very small tables (about 10 to 100 rows each). Table pools reduce the amount of database resources needed when many small tables have to be open at the same time. SAP uses them for system data. You might create a table pool if you need to create hundreds of small tables that each hold only a few rows of data. To implement these small tables as pooled tables, you first create the definition of a table pool in R/3 to hold them all. When activated, an associated single table (the table pool) will be created in the database. You can then define pooled tables within R/3 and assign them all to your table pool (see Figure 3.2).
Pooled tables are primarily used by SAP to hold customizing data.
When a corporation installs any large system, the system is usually customized in some way to meet the unique needs of the corporation. In R/3, such customization is done via customizing tables. Customizing tables contain codes, field validations, number ranges, and parameters that change the way the R/3 applications behave.
Some examples of data contained in customizing tables are country codes, region (state or province) codes, reconciliation account numbers, exchange rates, depreciation methods, and pricing conditions. Even screen flows, field validations, and individual field attributes are sometimes table-driven via settings in customizing tables.
During the initial implementation of the system the data in the customizing tables is set up by a functional analyst. He or she will usually have experience relating to the business area being implemented and extensive training in the configuration of an R/3 system.
Table Clusters and Cluster Tables
A cluster table is similar to a pooled table. It has a many-to-one relationship with a table in the database. Many cluster tables are stored in a single table in the database called a table cluster.
A table cluster is similar to a table pool. It holds many tables within it. The tables it holds are all cluster tables.
Like pooled tables, cluster tables are another proprietary SAP construct. They are used to hold data from a few (approximately 2 to 10) very large tables. They would be used when these tables have a part of their primary keys in common, and if the data in these tables are all accessed simultaneously. The data is stored logically as shown in Figure 3.3.
Figure 3.3 : Table clusters store data from several tables based on the primary key fields that they have in common.
Table clusters contain fewer tables than table pools and, unlike table pools, the primary key of each table within the table cluster begins with the same field or fields. Rows from the cluster tables are combined into a single row in the table cluster. The rows are combined based on the part of the primary key they have in common. Thus, when a row is read from any one of the tables in the cluster, all related rows in all cluster tables are also retrieved, but only a single I/O is needed.
A cluster is advantageous in the case where data is accessed from multiple tables simultaneously and those tables have at least one of their primary key fields in common. Cluster tables reduce the number of database reads and thereby improve performance.
For example, as shown in Figure 3.4, the first four primary key fields in cdhdr and cdpos are identical. They become the primary key for the table cluster with the addition of a standard system field pageno to ensure that each row is unique.
Reward if helpful
Jagadish
Maybe you are looking for
-
In Editable ALV the BACK/CANCEL/EXIT buttons are not working?
Hello, I wrote a editable FM based ALV, working fine that when user changes the data and press SAVE button, values are transfering into prog. But, i need to put a validation that, if user changes the values and press BACK/CANCEL/EXIT button, i need t
-
This is really frustrating please let me know I looked around and all the downloads cost money and I would prefer if you guys could give me a free one but a solution would be even better!! Thanks
-
Options in excise tab ( subcontracting Process)
HI, Subcontracting business process i am getting No excise duty, Create RG23D, and create RG23D for existing excise invoice options in Excise invoice tab at MIGO. i have checked above settings in the system...but still the same error please suggest R
-
Only one browser works now??
Funny thing happened today: put the PB to sleep like normal... later, woke it up and using Camino (my browser of choice since Safari was quitting on some sites), tried to get the internet, did not work, told me it was not connected to the internet.?.
-
Color Profile on a MacBook Pro
Hi all, I'm a novice user of Aperture and a novice user of Digital image processing as well ... so, as usual in this case, i apologize if everything i'm gonna ask, or a part of it , has been discussed in depth yet ... please point me there I have a m