To_timestamp vs. to_date when forcing native SQL
Hello!
I was recently encountering performance problems when querying on dates, and found some useful help on this forum. The suggestion I took was to set the <uses-native-sql> element to true in my sessions.xml file. This caused TopLink to use the native "to_date()" syntax instead of the generic "ts{}" syntax.
My query went from taking several minutes to taking a matter of seconds. So far, so good.
Recently, we upgraded from TopLink 9.0.4 (build 031126) to TopLink 9.0.4.5 (build 040930). Now, when I examine the generated SQL, I see that TopLink is using the native "to_timestamp()" syntax which once again slows my query to a crawl.
Any thoughts on a way around this issue? Is there a way to force TopLink to use the to_date() syntax for my particular Expression query?
We upgraded TopLink for specific reasons, so reverting to the prior version is not even a short-term work-around.
Other specifics:
* Our database is Oracle Database 10g Enterprise Edition Release 10.1.0.3.0.
* The database field being queried is defined as a Date in the schema.
* We are using version 9.0.1.5.0 of the Oracle drivers.
Mark,
This is the default behavior for java.sql.Timestamp and java.util.Date in TopLink for Oracle9Platform. The reason is that java.sql.Timestamp and java.util.Date have millseconds and TO_TIMESTAMP would preserve that.
To get TO_DATE, by default the java type needs to be java.sql.Date for Oracle9Platform.
If you care about the date only, I have two suggestions.
1. Use TypeConverstionMapping.
TypeConversionMapping dateMapping = new TypeConversionMapping();
dateMapping .setAttributeName("StartDate");
dateMapping .setFieldName("START_DATE");
dateMapping .setAttributeClassification(java.sql.Timestamp.class);
dateMapping .setFieldClassification(java.sql.Date.class);
2. Change java type from java.sql.Timestamp or java.util.Date to java.sql.Date.
If you want the time portion as well, you can subclass from Oracle9Platform and replace appendTimestamp with
protected void appendTimestamp(java.sql.Timestamp timestamp, Writer writer) throws IOException
if (usesNativeSQL()) {
int seconds = (timestamp.getHours() * 3600) + (timestamp.getMinutes() * 60) + timestamp.getSeconds();
java.sql.Date date = new java.sql.Date(timestamp.getYear(), timestamp.getMonth(), timestamp.getDate());
writer.write("to_date('" + date + " " + seconds + "','yyyy-mm-dd sssss')");
} else {
super.appendTimestamp(timestamp, writer);
Shannon
Similar Messages
-
Raise Exception when Executing Native SQL
Hi ALL,
when i am executing native sql, it raises following exception:
CX_SY_NATIVE_SQL_ERROR
code as shown below:
REPORT ZABC2.
data:begin of ty_final occurs 0,
vkorg type vbrk-vkorg,
vtweg type vbrk-vtweg,
spart type vbrp-spart,
werks type vbrp-werks,
fkart type vbrk-fkart,
vbeln_invoice type vbrk-vbeln,
matnr type vbrp-matnr,
arktx type vbrp-arktx,
fkimg type vbrp-fkimg,
ntgew type vbrp-ntgew,
mwsbp type vbrp-mwsbp,
posnr type vbrp-posnr,
vbeln type likp-vbeln,
bldat type likp-bldat,
erdat type likp-erdat,
traid type likp-traid,
ernam type likp-ernam,
posnr_do type lips-posnr,
vbeln_so type vbak-vbeln,
audat_so type vbak-audat,
erdat_so type vbak-erdat,
ernam_so type vbak-ernam,
posnr_so type vbap-posnr,
vbeln_contract type vbak-vbeln,
audat_contract type vbak-audat,
erdat_contract type vbak-erdat,
ernam_contract type vbak-ernam,
vbtyp_contract type vbak-vbtyp,
posnr_contract type vbap-posnr,
end of ty_final.
TRY.
break-point.
EXEC SQL .
select
i1.inv_vkorg,
i1.inv_vtweg,
i1.inv_spart,
i1.inv_werks,
i1.inv_fkart,
i1.inv_vbeln,
i1.inv_matnr,
i1.inv_arktx,
i1.inv_fkimg,
i1.inv_ntgew,
i1.inv_mwsbp
i1.inv_posnr,
d.do_vbeln,
d.do_bldat,
d.do_erdat,
d.do_traid,
d.do_ernam,
d.do_posnr,
s.so_vbeln,
s.so_audat,
s.so_erdat,
s.so_ernam,
s.so_posnr,
c.co_vbeln,
c.co_audat,
c.co_erdat,
c.co_ernam,
c.co_vbtyp,
c.co_posnr
into :ty_final
from (SELECT
VBAK.VBELN co_vbeln,
VBAK.AUDAT co_audat,
VBAK.ERDAT co_erdat,
VBAK.ERNAM co_ernam,
VBAK.VBTYP co_vbtyp,
VBAP.POSNR CO_POSNR
FROM VBAK , VBAP
WHERE VBAK.VBELN=vbap.vbeln
and vbak.vbtyp='G') c,
(SELECT
vbak.vbeln so_vbeln,
vbak.audat so_audat,
vbak.erdat so_erdat,
vbak.ernam so_ernam,
vbap.posnr so_posnr
FROM VBAK ,VBAP
WHERE vbak.VBELN=vbap.vbeln
and vbak.vbtyp='C') s,
(SELECT
likp.vbeln do_vbeln,
likp.bldat do_bldat,
likp.erdat do_erdat,
likp.traid do_traid,
likp.ernam do_ernam,
lips.posnr do_posnr
FROM LIKP , LIPS
WHERE likp.VBELN=lips.vbeln
and likp.vbtyp='J'.
) d,
(SELECT
vbrk.vkorg inv_vkorg,
vbrk.vtweg inv_vtweg,
vbrp.spart inv_spart,
vbrp.werks inv_werks,
vbrk.fkart inv_fkart,
vbrk.vbeln inv_vbeln,
vbrp.matnr inv_matnr,
vbrp.arktx inv_arktx,
vbrp.fkimg inv_fkimg,
vbrp.ntgew inv_ntgew,
vbrp.mwsbp inv_mwsbp,
vbrp.posnr inv_posnr
FROM VBRK , VBRP
WHERE vbrk.VBELN=vbrp.vbeln
AND vbrk.VBTYP='M'
AND vbrk.FKART NOT IN ('S1','S2','S3')
AND vbrk.FKSTO<>'X') i1,
(SELECT
vbelv,
POSNV,
vbtyp_v,
vbeln,
POSNN,
vbtyp_n
FROM VBFA
where VBTYP_V='G'
AND VBTYP_N='C'
) f1,
(SELECT
vbelv,
POSNV,
vbtyp_v,
vbeln,
POSNN,
vbtyp_n
FROM VBFA
where VBTYP_V='C'
AND VBTYP_N='J'
) f2,
(SELECT
vbelv,
POSNV,
vbtyp_v,
vbeln,
POSNN,
vbtyp_n
FROM VBFA
where VBTYP_V='J'
AND VBTYP_N='M'
) f3
where c.vbeln=f1.vbelv(+)
and f1.vbeln=f2.vbelv(+)
and s.vbeln=f2.vbelv(+)
and f2.vbeln=f3.vbelv(+)
and d.vbeln=f3.vbelv(+)
and i1.vbeln=f3.vbeln(+)
ENDEXEC.
**and c.vbeln=f3.vbelv(+)
**and i1.vbeln=d.vbeln(+)
*if sy-subrc <> 0.
CATCH CX_SY_NATIVE_SQL_ERROR.
ENDTRY.
*ENDIF.
break-point.Hi,
Try using this ..
data ref1 type ref to CX_SY_NATIVE_SQL_EROR.
try.
exec sql.
endexec.
catch CX_SY_NATIVE_SQL_EROR.
write 'Error ', ref1->SQL_ERROR.
RAISE EXCEPTION myref.
endtry.
Edited by: Vasavi Kotha on Jan 6, 2009 11:26 AM -
When execute native SQL....
I want to create a table using Report with native SQL
the code as blow:
===============================================
REPORT ZDF100001 .
EXEC SQL.
CREATE TABLE ZZDEF50 (
MANDT CHAR(3) NOT NULL,
ZZFDTYPE CHAR(1) NOT NULL,
ZZFLINENO CHAR(4) NOT NULL,
ZZFCOUNTER CHAR(3) NOT NULL,
ZZFSHKZG CHAR(1),
ZZFRACCT_F CHAR(10),
ZZFRACCT_T CHAR(10),
PRIMARY KEY (MANDT, ZZFDTYPE, ZZFLINENO, ZZFCOUNTER)
ENDEXEC.
=========================================
when I execute and create it. but I can't find it in Dictionary (SE11) . So I do it again .the Error shows that the object table has already exist....why I can't find it in SE11?
My requirement is to create a transaction table and insert some data at first time the porject running.
But I don't want to create it with SE11 manually.
Can anybody help me to solve the problem?
thanks a lot.That is the most harmful way you are misusing the native SQL feature. If you are aware of the SAP database concepts, you will know that it is a logical database layer that SAP works with. That is the only way SAP can make its database objects independent of the database platform chosen. When you install SAP and tell that you are going to use Oracle as the database, then the database layer will issue the native commands to create the whole database schema in Oracle. That is the reason why you have to create/change/delete/display data dictionary objects through SAP transactions.
When you create a table through SE11, the table is not only created in the underlying Oracle database, the metadata of the table is stored in other SAP tables (DD02L, DD03L are some examples where this metadata is stored). So when you access the same table, system will read the metadata first.
If you want to create the table programatically, use some function module like DDCREATETAB* -
While running the livecache server test a native sql error occures
We are using scm4.1 livecache 7.5.0 And every time we are running the livecache test program he is dumping
whith the following dump
patch level scm & scm_basis is 8
Runtime Errors DBIF_DSQL2_SQL_ERROR
Except. CX_SY_NATIVE_SQL_ERROR
Date and Time 31.10.2005 16:50:55
ShrtText
An SQL error occurred when executing Native SQL.
What happened?
Error 600 occurred in the current database connection "LCA".
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
How to correct the error
Database error text........: "Work rolled back: DbpError -28814 in
APS_ORDER_CH"
Database error code .......: 600
Triggering SQL statement...: " ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? or'"
Internal call code.........: "[DBDS/NEW DSQL]"
Please check the entries in the system log (Transaction SM21).
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
"DBIF_DSQL2_SQL_ERROR" CX_SY_NATIVE_SQL_ERRORC
"/SAPAPO/SAPLOM_PLANNING" or "/SAPAPO/LOM_PLANNINGU08"
"/SAPAPO/OM_ORDER_CHANGE"
If you cannot solve the problem yourself and you wish to send
an error message to SAP, include the following documents:
1. A printout of the problem description (short dump)
To obtain this, select in the current display "System->List->
Save->Local File (unconverted)".
2. A suitable printout of the system log
To obtain this, call the system log through transaction SM21.
Limit the time interval to 10 minutes before and 5 minutes
after the short dump. In the display, then select the function
"System->List->Save->Local File (unconverted)".
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, select the Editor function "Further Utilities->
Upload/Download->Download".
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
The exception must either be prevented, caught within the procedure
"/SAPAPO/OM_ORDER_CHANGE"
"(FUNCTION)", or declared in the procedure's RAISING clause.
To prevent the exception, note the following:
System environment
SAP Release.............. "640"
Application server....... "bebruap2"
Network address.......... "195.213.49.227"
Operating system......... "Windows NT"
Release.................. "5.2"
Hardware type............ "4x Intel 801586"
Character length......... 16 Bits
Pointer length........... 32 Bits
Work process number...... 1
Short dump setting....... "full"
Database server.......... "BEBRUAP2"
Database type............ "MSSQL"
Database name............ "APD"
Database owner........... "apd"
Character set............ "C"
SAP kernel............... "640"
Created on............... "Aug 23 2005 00:00:49"
Created in............... "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version......... "SQL_Server_8.00 "
Patch level.............. "87"
Patch text............... " "
Supported environment....
Database................. "MSSQL 7.00.699 or higher, MSSQL 8.00.194"
SAP database version..... "640"
Operating system......... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
Memory usage.............
Roll..................... 8176
EM....................... 24040336
Heap..................... 0
Page..................... 1687552
MM Used.................. 1516920
MM Free.................. 572032
SAP Release.............. "640"
User and Transaction
Client.............. 000
User................ "CGRAULS"
Language key........ "E"
Transaction......... "/SAPAPO/OM03 "
Program............. "/SAPAPO/SAPLOM_PLANNING"
Screen.............. "SAPMSSY0 1000"
Screen line......... 6
Information on where terminated
The termination occurred in the ABAP program "/SAPAPO/SAPLOM_PLANNING" in
"/SAPAPO/OM_ORDER_CHANGE".
The main program was "/SAPAPO/OM_TB_FLOW_QUANTITY ".
The termination occurred in line 91 of the source code of the (Include)
program "/SAPAPO/LOM_PLANNINGU08"
of the source code of program "/SAPAPO/LOM_PLANNINGU08" (when calling the
editor 910).
Processing was terminated because the exception "CX_SY_NATIVE_SQL_ERROR"
occurred in the
procedure "/SAPAPO/OM_ORDER_CHANGE" "(FUNCTION)" but was not handled locally,
not declared in the
RAISING clause of the procedure.
The procedure is in the program "/SAPAPO/SAPLOM_PLANNING ". Its source code
starts in line 5
of the (Include) program "/SAPAPO/LOM_PLANNING$08 ".
Source Code Extract
Line
SourceCde
61
is_gen_params-simversion
62
is_gen_params-dont_set_netchg_flag
63
space.
64
65
Kontrollstruktur IS_GET_CHANGED_OPTIONS anpassen.
66
IF NOT et_changed_orders IS REQUESTED.
67
is_get_changed_options-send_chg_top_order = gc_false.
68
ENDIF.
69
IF NOT et_changed_cap_reqs IS REQUESTED.
70
is_get_changed_options-send_chg_cap_req = gc_false.
71
ENDIF.
72
IF NOT et_changed_io_nodes IS REQUESTED.
73
is_get_changed_options-send_chg_ionode = gc_false.
74
ENDIF.
75
IF NOT et_changed_io_pp_nodes IS REQUESTED.
76
is_get_changed_options-send_chg_io_pp = gc_false.
77
ENDIF.
78
IF NOT et_changed_pegids IS REQUESTED.
79
is_get_changed_options-send_chg_pegid = gc_false.
80
ENDIF.
81
IF NOT et_deleted_fix_pegging IS REQUESTED.
82
is_get_changed_options-send_del_fix_peg = gc_false.
83
ENDIF.
84
start_function 'OM_ORDER_CHANGE'. "#EC *
85
Verbindung zum liveCache aufbauen
86
check_server.
87
connect_to_livecache.
88
COM-Routine zum Anlegen bzw. Überschreiben eines Zeitstrahls
89
90
EXEC sql.
>>>>>
execute procedure "APS_ORDER_CHANGE" (
92
in :ls_gen_com_params,
93
out :lv_rc,
94
in :et_rc,
95
in :it_order_method,
96
in :it_ordkeys,
97
in :it_ordmaps,
98
in :it_orders,
99
in :it_activities,
100
in :it_mode,
101
in :it_cap_reqs,
102
in :it_positions,
103
in :it_inputs,
104
in :it_outputs,
105
in :it_prodflow,
106
in :it_intern_constraints,
107
in :it_extern_constraints,
108
in :it_charact_val_acts,
109
in :it_charact_req_inpnode,
110
in :it_charact_val_outnode,
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
0
SY-TABIX
1
SY-DBCNT
1
SY-FDPOS
0
SY-LSIND
0
SY-PAGNO
0
SY-LINNO
1
SY-COLNO
1
SY-PFKEY
SY-UCOMM
SY-TITLE
Flow Quantity Test
SY-MSGTY
S
SY-MSGID
/SAPAPO/OM_TEST
SY-MSGNO
001
SY-MSGV1
Create transSim
SY-MSGV2
SY-MSGV3
SY-MSGV4
Active Calls/Events
No. Ty. Program Include Line
Name
3 FUNCTION /SAPAPO/SAPLOM_PLANNING /SAPAPO/LOM_PLANNINGU08 91
/SAPAPO/OM_ORDER_CHANGE
2 FORM /SAPAPO/OM_TB_FLOW_QUANTITY /SAPAPO/OM_TB_FLOW_QUANTITY 802
CHANGE_DATA
1 EVENT /SAPAPO/OM_TB_FLOW_QUANTITY /SAPAPO/OM_TB_FLOW_QUANTITY 11
START-OF-SELECTION
Chosen variables
Name
Val.
No. 3 Ty. FUNCTION
Name /SAPAPO/OM_ORDER_CHANGE
IS_ATP_INFO
01ATP0000001~CGRAULSXX##
334553333333744545455500
011400000001E37215C38800
000000000000000000000000
000000000000000000000000
IS_CONTROLPARAMETERS
霁က#ం̂⍱㔒鲔#####
2222222222222222222222001007190000022
0000000000000000000000100221240000100
0000000000000000000000910002390000000
0000000000000000000000700C335C000C000
IS_GEN_PARAMS
01PLV0000001~CGRAULS
3354533333337445454522222
010C60000001E37215C300000
0000000000000000000000000
0000000000000000000000000
IS_GET_CHANGED_OPTIONS
2222222
0000000
0000000
0000000
IT_ACTIVITIES
Table IT_274[1x256]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_ACTIVITIES
Table reference: 41
TABH+ 0(20) = 5087FFDF00000000000000002900000012010000
TABH+ 20(20) = 0100000000010000FFFFFFFF0487000000290000
TABH+ 40( 8) = 10000000C1308000
store = 0x5087FFDF
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 41 (0x29000000)
label = 274 (0x12010000)
fill = 1 (0x01000000)
leng = 256 (0x00010000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000205
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x180112E0
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x10000000)
lineAlloc = 16 (0x10000000)
store_id = 126 (0x7E000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_CAP_REQS
Table IT_276[1x112]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_CAP_REQS
Table reference: 39
TABH+ 0(20) = 48BB06E000000000000000002700000014010000
TABH+ 20(20) = 0100000070000000FFFFFFFF04870000C0290000
TABH+ 40( 8) = 10000000C1308000
store = 0x48BB06E0
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 39 (0x27000000)
label = 276 (0x14010000)
fill = 1 (0x01000000)
leng = 112 (0x70000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000209
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x188D04E0
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x10000000)
lineAlloc = 16 (0x10000000)
store_id = 124 (0x7C000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_CHARACT_REQ_INPNODE
Table IT_418[0x140]
FUNCTION=/SAPAPO/OM_ORDER_CHANGEDATA=IT_CHARACT_REQ_INPNODE
Table reference: 32
TABH+ 0(20) = 00000000000000000000000020000000A2010000
TABH+ 20(20) = 000000008C000000FFFFFFFF04870000301D0000
TABH+ 40( 8) = 10000000C1308000
store = 0x00000000
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 32 (0x20000000)
label = 418 (0xA2010000)
fill = 0 (0x00000000)
leng = 140 (0x8C000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000142
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
store_id = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_CHARACT_VAL_ACTS
Table IT_417[0x156]
FUNCTION=/SAPAPO/OM_ORDER_CHANGEDATA=IT_CHARACT_VAL_ACTS
Table reference: 50
TABH+ 0(20) = 00000000000000000000000032000000A1010000
TABH+ 20(20) = 000000009C000000FFFFFFFF04870000901D0000
TABH+ 40( 8) = 10000000C1308000
store = 0x00000000
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 50 (0x32000000)
label = 417 (0xA1010000)
fill = 0 (0x00000000)
leng = 156 (0x9C000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000144
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
store_id = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_CHARACT_VAL_OUTNODE
Table IT_419[0x156]
FUNCTION=/SAPAPO/OM_ORDER_CHANGEDATA=IT_CHARACT_VAL_OUTNODE
Table reference: 60
TABH+ 0(20) = 0000000000000000000000003C000000A3010000
TABH+ 20(20) = 000000009C000000FFFFFFFF04870000901D0000
TABH+ 40( 8) = 10000000C1308000
store = 0x00000000
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 60 (0x3C000000)
label = 419 (0xA3010000)
fill = 0 (0x00000000)
leng = 156 (0x9C000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000144
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
store_id = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_EXTERN_CONSTRAINTS
Table IT_416[0x124]
FUNCTION=/SAPAPO/OM_ORDER_CHANGEDATA=IT_EXTERN_CONSTRAINTS
Table reference: 71
TABH+ 0(20) = 00000000000000000000000047000000A0010000
TABH+ 20(20) = 000000007C000000FFFFFFFF04870000E02A0000
TABH+ 40( 8) = 10000000C1308000
store = 0x00000000
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 71 (0x47000000)
label = 416 (0xA0010000)
fill = 0 (0x00000000)
leng = 124 (0x7C000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000215
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
store_id = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_INPUTS
Table IT_278[1x420]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_INPUTS
Table reference: 63
TABH+ 0(20) = 087400E0C0E303E0000000003F00000016010000
TABH+ 20(20) = 01000000A4010000FFFFFFFF04870000202A0000
TABH+ 40( 8) = 10000000C1308000
store = 0x087400E0
ext1 = 0xC0E303E0
shmId = 0 (0x00000000)
id = 63 (0x3F000000)
label = 278 (0x16010000)
fill = 1 (0x01000000)
leng = 420 (0xA4010000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000211
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x78DC11E0
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x10000000)
lineAlloc = 16 (0x10000000)
store_id = 123 (0x7B000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = 0x2029FFDF
hsdir = 0x00000000
ext2 = 0x00000000
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_INTERN_CONSTRAINTS
Table IT_415[0x124]
FUNCTION=/SAPAPO/OM_ORDER_CHANGEDATA=IT_INTERN_CONSTRAINTS
Table reference: 49
TABH+ 0(20) = 000000000000000000000000310000009F010000
TABH+ 20(20) = 000000007C000000FFFFFFFF04870000E02A0000
TABH+ 40( 8) = 10000000C1308000
store = 0x00000000
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 49 (0x31000000)
label = 415 (0x9F010000)
fill = 0 (0x00000000)
leng = 124 (0x7C000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000215
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = Not allocated
pghook = Not allocated
idxPtr = Not allocated
refCount = Not allocated
tstRefCount = Not allocated
lineAdmin = Not allocated
lineAlloc = Not allocated
store_id = Not allocated
shmIsReadOnly = Not allocated
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_MODE
Table IT_275[1x164]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_MODES
Table reference: 52
TABH+ 0(20) = A03C00E000000000000000003400000013010000
TABH+ 20(20) = 01000000A4000000FFFFFFFF0487000060290000
TABH+ 40( 8) = 10000000C1308000
store = 0xA03C00E0
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 52 (0x34000000)
label = 275 (0x13010000)
fill = 1 (0x01000000)
leng = 164 (0xA4000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000207
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0xC8F611E0
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x10000000)
lineAlloc = 16 (0x10000000)
store_id = 125 (0x7D000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_ORDERS
Table IT_293[1x320]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_ORDERS1
Table reference: 47
TABH+ 0(20) = 20B403E000000000000000002F00000025010000
TABH+ 20(20) = 0100000040010000FFFFFFFF0400000030380000
TABH+ 40( 8) = 01000000C1308000
store = 0x20B403E0
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 47 (0x2F000000)
label = 293 (0x25010000)
fill = 1 (0x01000000)
leng = 320 (0x40010000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000286
occu = 1 (0x01000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x9080FFDF
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 1 (0x01000000)
lineAlloc = 1 (0x01000000)
store_id = 130 (0x82000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_ORDER_METHOD
Table IT_268[2x62]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_ORDER_METHOD
Table reference: 51
TABH+ 0(20) = 8882FFDF0000000000000000330000000C010000
TABH+ 20(20) = 020000003E000000FFFFFFFF04000000B0360000
TABH+ 40( 8) = 10000000C1248000
store = 0x8882FFDF
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 51 (0x33000000)
label = 268 (0x0C010000)
fill = 2 (0x02000000)
leng = 62 (0x3E000000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000278
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 2 (cmpSingleMcmpR)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0
isShmLockId = 0
gcKind = 0
isUsed = 1
>>>>> Shareable Table Header Data <<<<<
tabi = 0x0868FFDF
pghook = 0x00000000
idxPtr = 0x00000000
refCount = 0 (0x00000000)
tstRefCount = 0 (0x00000000)
lineAdmin = 16 (0x10000000)
lineAlloc = 16 (0x10000000)
store_id = 122 (0x7A000000)
shmIsReadOnly = 0 (0x00000000)
>>>>> 1st level extension part <<<<<
regHook = Not allocated
hsdir = Not allocated
ext2 = Not allocated
>>>>> 2nd level extension part <<<<<
tabhBack = Not allocated
delta_head = Not allocated
pb_func = Not allocated
pb_handle = Not allocated
IT_ORDKEYS
Table IT_271[1x332]
PROGRAM=/SAPAPO/OM_TB_FLOW_QUANTITYFORM=CHANGE_DATADATA=LT_ORDKEYS
Table reference: 29
TABH+ 0(20) = 80E303E000000000000000001D0000000F010000
TABH+ 20(20) = 010000004C010000FFFFFFFF04870000E0270000
TABH+ 40( 8) = 10000000C1308000
store = 0x80E303E0
ext1 = 0x00000000
shmId = 0 (0x00000000)
id = 29 (0x1D000000)
label = 271 (0x0F010000)
fill = 1 (0x01000000)
leng = 332 (0x4C010000)
loop = -1 (0xFFFFFFFF)
xtyp = TYPE#000199
occu = 16 (0x10000000)
access = 1 (ItAccessStandard)
idxKind = 0 (ItIndexNone)
uniKind = 2 (ItUniqueNon)
keyKind = 1 (default)
cmpMode = 8 (cmpManyEq)
occu0 = 1
collHash = 0
groupCntl = 0
rfc = 0
unShareable = 0
mightBeShared = 0
sharedWithShmTab = 0Hi,
the error DbpError -28814 denotes that an object cannot be found.
Can you maybe tell me your exact liveCache version (incl. Build level) and LCA Build?
Additionally, please copy the relevant error information from the file (/sapdb/data/wrk/<SID>/)knldiag.err into this thread.
Which exact 'liveCache test program' are your referring to (which of the /SAPAPO/... transactions)?
Kind regards,
Roland -
Error in Native SQL..
Hello,
I am getting the below error while executing Native SQL statements.
Runtime Errors DBIF_DSQL2_SQL_ERROR
Except. CX_SY_NATIVE_SQL_ERROR
Short text
An SQL error occurred when executing Native SQL.
What happened?
The error 903 occurred in the current database connection "XXXXX".
Below is the code which we are working on..
EXEC SQL.
connect to :'XXXXX'----
>>Logical Connection name.
ENDEXEC.
EXEC SQL.
OPEN s_cursor FOR SELECT (S_S_IF-T_FIELDS)
FROM SAP_BW_FP_EXTRACT_VIEW.----
>>Oracle table/view name
ENDEXEC.
EXEC SQL.
FETCH NEXT s_cursor----
>>Getting Error at this line.
INTO :wa_et_data-FACT_TYPE_CODE,
:wa_et_data-FISCAL_YEAR_PERI,
:wa_et_data-PROD_FPC_ID,
:wa_et_data-GEO_ID,
:wa_et_data-LEGAL_ENT_ID,
:wa_et_data-PROFT_CTR_ID,
:wa_et_data-COMP_VOL_STAT_UN
ENDEXEC.
EXEC SQL.
CLOSE S_CURSOR.
ENDEXEC.
Any ideas where I am making a mistake, is it a syntax issue, or is it a Authorization issue, or something else..Please help..
Your Inputs will be appreciated....Ishdeep,
Firstly, you should paste the code straight from your program without modifying it. That way, we can see what exactly the syntax error is. Also, use code tags and help us.
I think the problem is in your code at this line:
FROM SAP_BW_FP_EXTRACT_VIEW.
You should not use period (full stop) after the SQL statement when using native SQL.
Secondly, you should ALWAYS check the return code (using IF SY-SUBRC NE 0); you would have caught the problem yourself.
EXEC SQL.
OPEN s_cursor FOR SELECT (S_S_IF-T_FIELDS)
FROM SAP_BW_FP_EXTRACT_VIEW.
ENDEXEC.
IF sy-subrc NE 0.
WRITE: / 'Something is wrong.'.
EXIT.
ENDIF.
Finally, I don't think you can supply a list of fields dynamically in native SQL. Double check that.
OPEN s_cursor FOR SELECT (S_S_IF-T_FIELDS)
Edited by: Sudhi Karkada on Feb 25, 2011 9:51 PM -
Hi,
I have below three update statements, and need to be in one transaction. How can I accomplish it using UpdateAllQuery? Finance_Management is a child table of Org mapped through org_id; Org_Finance is a child table of Finance_Management linked by finance_management_id.
Update Org
Set Account_Balance = Account_Balance + 25, Update_User = 'Jeff_Org', Update_Date = Systimestamp
Where Org_Id = 10226;
Update Finance_Management
Set Account_Balance = (Select Account_Balance From Org Where Org_Id = 10226),
Transaction_Amount = 25, Transaction_Date = Systimestamp
where finance_management_id = 1701152;
Update Org_Finance
Set Check_Mo_Number = 5432, Payment_Type = 'C'
where Finance_Management_Id = 1701152;
Alternatively, when I tried native SQL with executeNonSelectingCall within unit of work like below, it appears that even through the second SQLCall failed, the first one still committed to the database. How can I ensure the three SQLCalls are in one transaction?
UnitOfWork uow = getSessionFactory().acquireUnitOfWork();
uow.executeNonSelectingCall(new SQLCall(orgSql));
uow.executeNonSelectingCall(new SQLCall(fmSql));
uow.executeNonSelectingCall(new SQLCall(orgFnSql));
uow.commit();
Thanks for your help!
JeffreyI think I have figured it out.
For using UpdateAllQuery, three different UpdateAllQueries need to be constructed. One critical piece is that, use beginEarlyTransaction() before execute the three queries inside UOW. Same is true when using native SQLs.
Few questions though that I need some experts to clear my mind:
- so all database Queries can run inside unit of work, become part of the single transaction within UOW by using beginEarlyTransaction(), is this correct?
- How about insert? InsertObjectQuery and WriteObjectQuery don't seem allow to use expression, which I need for populating a field like "Account_Balance = (Select Account_Balance From Org Where Org_Id = 10226)". Any suggestions on what API call I should use without using native SQL?
Thanks,
Jeffrey -
TIME_OUT in SAP when accessing external Oracle table thru native SQL
Hi,
I have a problem in one of my native SQL statement. It takes a long time accessing the table considering that the number of records to be retrieved is only small.
Something happened on the Oracle system. But, stilll to be confirmed. Before, there wasn't any issue. Looking further, I found that when the value in the where clause equated is a literal (meaning the value is not declared in DATA or CONSTANTS in the ABAP Program)
Example
1.
EXEC.
WHERE FIELD = '1'
ENDEXEC.
instead of
2.
CONSTANTS: c_1 value '1'.
EXEC.
WHERE FIELD = c_1
ENDEXEC.
i found that when the way of coding is same as Example 1, a time-out error occurs. But when in Example 2, no issue.
Can someone explain this? is their something that could affect SAP with respect to Oracle configuration?
Thanks!I wonder if you could share the outline of your code to access an external oracle database. I've just been given the assignment to do just that, but don't know where to start.
thx,
Mike DeGuire -
TIME_OUT when accessing Oracle table from SAP using native SQL
Hi,
I have a problem in one of my native SQL statement. It takes a long time accessing the table considering that the number of records to be retrieved is only small.
Something happened on the Oracle system. But, stilll to be confirmed. Looking further at the issue, it seems that when the value in the where clause equated is a literal (meaning the value is not declared in DATA or CONSTANTS in the ABAP Program)
Example
1.
EXEC.
WHERE FIELD = '1'
ENDEXEC.
instead of
2.
CONSTANTS: c_1 value '1'.
EXEC.
WHERE FIELD = c_1
ENDEXEC.
i found that when the way of coding is same as Example 1, a time-out error occurs. But when in Example 2, no issue.
Can someone explain this?
Thanks!Repetitively asking the same question again and again is against the forum rules.
Please post an explain of the SQL statement on the remote machine.
Markus -
What is native sql when i use native sql
what is native sql & when i use native sql plz give with me example
I imagine you mean Native Dynamic SQL, NDS. An example would be:
EXECUTE IMMEDIATE 'select count(*) from ' || v_tablename INTO v_count;
i.e. you construct the SQL "dynamically" as a string and then execute it.
You would use it in situations where you could not know the precise query when building the code - e.g. as above, if you don't know which table to count the rows from until run time. -
# coming when I select data from oracle table using Native SQL
Hi Gurus,
I am selecting 'First name' from oracle table directly using native sql. I am fetching 65000 records but 10+ records having '#' at the end of firstname. For eg: John#.
But oracle team couldn't find '#' in their table for those records. What could be problem?
or what could be the character in oracle which comes as '#' in abap?
Pls help...
SajThanks for replies.
My DB NLS_PARAMETER is AL32UTF8. I am able to pullout data with older version of ojdbc jar file. So I think there is no issue regarding NLS setting.
So please guide me with proper solution as soon as possible. -
Insertion / Update of field of type "TIME" using Native SQL
Hi ABAP gurus,
We are trying to perform inserts and updates within an ORACLE table where a TIME field exists without suscess. We are trying to code it using Native SQL.
EXEC SQL.
INSERT INTO table (field1[name], field2[age], field3[birthday], field4[hour])
VALUES (:name, :age, TO_DATE(:date_birth), ¿:hour?)
ENDEXEC.
EXEC SQL.
UPDATE table SET field3[birthday] = TO_DATE(:date_birth), field4[hour] = ¿:hour?
WHERE field1[name] = :name AND field2[age] = :age
ENDEXEC.
Which is the right coding sentence in order to achieve our goal?
Many thanks in advance. Best regards,
Imanol>
Imanol Beguiristain wrote:
> Hi all,
>
> I am sorry for being unclear.
>
> I do want to code both INSERT and UPDATE. That is clear.
>
> The problem we are having is that we don't know how to code (using Native SQL) such instructions using in the SQL sentence a field of TIME type.
>
> Any helps?
>
> Thanks in advance.
>
> Imanol
I've not heard of an Oracle TIME datatype; we used to use the timestamp which is stored as part of the date or we set up a separate column to hold the time defined as CHAR. Still, it is possible that they have created such a thing since I last did SQL. In which case, there would have to be a function like TO_DATE which you would use to convert your time to its time format.
If you mean TIMESTAMP you can use something like the following to do the data conversion.
TO_TIMESTAMP(LOCALTIMESTAMP, 'DD-MON-RR HH.MI.SSXFF') -
Can i use all sql statementsa which are used in oracle ? Basically I am more interested in oracle data conversion functions like to_date(),To_Char() with appropriate formats.
I know that to use oracle's native commands i have to use Native SQL and for that i have to write my query between EXEC SQL and ENDEXEC. But i am not able to use query that uses date conversion fuctions like to_date() and to_char().
Also i want to know the list of SQL statements which can be used with Native SQL in Oracle.HI.
please refer this one.
To avoid the standard F4 help to be show, insert the event PROCESS ON-VALUE-REQUEST request in the program and add a field statement for the field that should trigger the F4 help. In the module called from PROCESS ON-VALUE-REQUEST request, call function module F4IF_FIELD_VALUE_REQUEST.
Example Code :
process before output.
process after input.
PROCESS ON VALUE-REQUEST.
FIELD sflight-carrid MODULE f4_help_for_carrid.
MODULE f4_help_for_carrid INPUT.
NOTE:
Tabname/fieldname is the name of the table and field
for which F4 should be shown.
Dynprog/Dynpnr/Dynprofield are the names of the Progran/Dynpro/Field
in which the f4 value should be returned.
Value: The value of the Dynpro field when calling the F4 help.
You can limit the values shown, by inseting a value in this parameter
e.g 'A*' to show only values beginning with A
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'SFLIGHT'
fieldname = 'CARRID'
SEARCHHELP = ' '
SHLPPARAM = ' '
dynpprog = 'ZDANY_F4_OWN_CALL'
dynpnr = '0100'
dynprofield = 'SFLIGHT-CARRID'
STEPL = 0
value = 'A*'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
SUPPRESS_RECORDLIST = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
TABLES
RETURN_TAB =
EXCEPTIONS
FIELD_NOT_FOUND = 1
NO_HELP_FOR_FIELD = 2
INCONSISTENT_HELP = 3
NO_VALUES_FOUND = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " F4_help_for_carrid
To control F4 help in a selection screen use the AT SELECTION-SCREEN ON VALUE-REQUEST FOR event.Note that for ranges both the low and high value of the field must have there own ON VALUE-REQUEST
Example:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_prctr-low.
PERFORM f4_help_carrid.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_prctr-high.
PERFORM f4_help_carrid
Rewards all helpfull answers.
Regards.
Jay -
Not able to get the connection to mssql server thro native sql
Dear Experts,
I have created a database connection to mssql server thro DBCO t.code.Am not able to get the connection when i am executing Native SQl for geting connection of mssql server.
DATA: CON_NAME LIKE DBCON-CON_NAME VALUE 'BIW'.
EXEC SQL.
CONNECT TO :con_name AS 'C1'
ENDEXEC.
Am always getting sy-subrc = 4. The user name and password i have given in dbcon table having full authorization to access mssql database. I am working SAP ecc 5.0. Also both servers are running in windows.
could anyone hlep me on this issue.
Thanks in advance.Hello, the submitted error must be analyzed according to the Syntaxis and characteristics of the MSSQL database. See explanation of error.
http://doc.ddart.net/mssql/sql2000/html/trblsql/tr_reslsyserr_1_1o1i.htm
Error 156
Severity Level 15
Message Text
Incorrect syntax near the keyword '%.*ls'.
Explanation
This error indicates that the syntax of a Transact-SQL statement is incorrect and that the syntax error was detected near the keyword specified in the error message. The most frequent causes for syntax errors are misspellings of Transact-SQL keywords or operators, and specifying the syntax of a Transact-SQL statement in the wrong order.
One of the more complicated causes for this error may be a compatibility level mismatch for the current database. If the current database has a compatibility level other than 70, Microsoft® SQL Serveru2122 will not recognize any of the keywords that a database with a compatibility level of 70 would recognize.
Action
First, check the Transact-SQL statement syntax near the keyword specified in the error message. Because Transact-SQL language syntax can be very complex, SQL Server may incorrectly report the position of the syntax error as later in the Transact-SQL statement than it actually occurred. Second, reexamine the entire Transact-SQL statement that generated the error. Verify the syntax order of the statement.
Ensure that the database does not have a compatibility level of 65 and has a compatibility level of 70. -
I get one or the other error when i install SQL server 2012 SP1 in my Lab server
I get multiple errors when i install SQL server 2012 SP1 In my lab server.
Not sure why i keep getting different errors all the time when i install SQL server 2012 & 2012 SP1.
Below are error codes, screen shots and also a log of the error.
1. Eror code 0X84B40000
Also dint understand any thing from this article related to the above error
http://social.technet.microsoft.com/Forums/sqlserver/en-US/5b6cc928-0db8-4fe4-a5d3-21672225f0ca/i-get-error-code-0x84b40000-when-trying-to-install-sql-server-mgmt-studio-to-an-existing-sql?forum=sqlexpress
2. Eror code 0x851A001A
Can any one plz help as i always get one or the other error.
====================================
Screen shot:
Please note the below screen shot has given the error code 0x851A001A which is same in case of failure of all the other features which have failed during this installation. Hence i have uploaded only one screen shot.
2. Log file content.
=================================
Overall summary:
Final result: Failed: see details below
Exit code (Decimal): -2061893606
Start time: 2014-05-04 21:15:35
End time: 2014-05-04 21:51:45
Requested action: Install
Setup completed with required actions for features.
Troubleshooting information for those features:
Next step for RS: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for SQLEngine: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for FullText: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Next step for Replication: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Machine Properties:
Machine name: SERVER1
Machine processor count: 2
OS version: Windows Server 2008 R2
OS service pack: Service Pack 1
OS region: United States
OS language: English (United States)
OS architecture: x64
Process architecture: 64 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature
Language Edition Version Clustered
SQL Server 2012 MSSQLSERVER MSSQL11.MSSQLSERVER Database Engine Services 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 MSSQLSERVER MSSQL11.MSSQLSERVER SQL Server Replication 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 MSSQLSERVER MSSQL11.MSSQLSERVER Full-Text and Semantic Extractions for Search 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 MSSQLSERVER MSSQL11.MSSQLSERVER Data Quality Services 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 MSSQLSERVER MSAS11.MSSQLSERVER Analysis Services 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 MSSQLSERVER MSRS11.MSSQLSERVER Reporting Services - Native 1033
Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Management Tools - Basic
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Management Tools - Complete
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Client Tools Connectivity
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Client Tools Backwards Compatibility
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Client Tools SDK
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Integration Services
1033 Enterprise Edition 11.0.2100.60 No
SQL Server 2012 Reporting Services - SharePoint
11.0.2100.60 No
Package properties:
Description: Microsoft SQL Server 2012 Service Pack 1
ProductName: SQL Server 2012
Type: RTM
Version: 11
SPLevel: 0
Installation location: F:\x64\setup\
Installation edition: Enterprise
Product Update Status:
None discovered.
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: false
AGTSVCACCOUNT: ms\sql
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Automatic
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSERVERMODE: MULTIDIMENSIONAL
ASSVCACCOUNT: <empty>
ASSVCPASSWORD: <empty>
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: <empty>
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Disabled
CLTCTLRNAME: <empty>
CLTRESULTDIR: <empty>
CLTSTARTUPTYPE: 0
CLTSVCACCOUNT: <empty>
CLTSVCPASSWORD: <empty>
CLTWORKINGDIR: <empty>
COMMFABRICENCRYPTION: 0
COMMFABRICNETWORKLEVEL: 0
COMMFABRICPORT: 0
CONFIGURATIONFILE: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140504_204851\ConfigurationFile.ini
CTLRSTARTUPTYPE: 0
CTLRSVCACCOUNT: <empty>
CTLRSVCPASSWORD: <empty>
CTLRUSERS: <empty>
ENABLERANU: false
ENU: true
ERRORREPORTING: true
FEATURES: SQLENGINE, REPLICATION, FULLTEXT, RS
FILESTREAMLEVEL: 0
FILESTREAMSHARENAME: <empty>
FTSVCACCOUNT: NT Service\MSSQLFDLauncher$SCOM
FTSVCPASSWORD: <empty>
HELP: false
IACCEPTSQLSERVERLICENSETERMS: true
INDICATEPROGRESS: false
INSTALLSHAREDDIR: C:\Program Files\Microsoft SQL Server\
INSTALLSHAREDWOWDIR: C:\Program Files (x86)\Microsoft SQL Server\
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:\Program Files\Microsoft SQL Server\
INSTANCEID: SCOM
INSTANCENAME: SCOM
ISSVCACCOUNT: NT AUTHORITY\Network Service
ISSVCPASSWORD: <empty>
ISSVCSTARTUPTYPE: Automatic
MATRIXCMBRICKCOMMPORT: 0
MATRIXCMSERVERNAME: <empty>
MATRIXNAME: <empty>
NPENABLED: 0
PID: *****
QUIET: false
QUIETSIMPLE: false
ROLE: <empty>
RSINSTALLMODE: DefaultNativeMode
RSSHPINSTALLMODE: DefaultSharePointMode
RSSVCACCOUNT: NT Service\ReportServer$SCOM
RSSVCPASSWORD: <empty>
RSSVCSTARTUPTYPE: Automatic
SAPWD: <empty>
SECURITYMODE: <empty>
SQLBACKUPDIR: <empty>
SQLCOLLATION: SQL_Latin1_General_CP1_CI_AS
SQLSVCACCOUNT: ms\sql
SQLSVCPASSWORD: *****
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: MS\Gautam, MS\SCOM Users
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: false
TCPENABLED: 1
UIMODE: Normal
UpdateEnabled: true
UpdateSource: MU
X86: false
Configuration file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140504_204851\ConfigurationFile.ini
Detailed results:
Feature: Reporting Services - Native
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Database Engine Services
Status: Failed: see logs for details
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: Full-Text and Semantic Extractions for Search
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: SQL Server Replication
Status: Failed: see logs for details
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail.
Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.3128.0&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
Feature: SQL Browser
Status: Passed
Feature: SQL Writer
Status: Passed
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\Log\20140504_204851\SystemConfigurationCheck_Report.htmSorry about the error in the path, but you find the files that's the main thing.
Indeed it is a certificate problem:
2014-05-04 21:47:43.56 spid12s Error: 17190, Severity: 16, State: 1.
2014-05-04 21:47:43.56 spid12s Initializing the FallBack certificate failed with error code: 1, state: 20, error number: 0.
2014-05-04 21:47:43.56 spid12s Unable to initialize SSL encryption because a valid certificate could not be found, and it is not possible to create a self-signed certificate.
2014-05-04 21:47:43.57 spid12s Error: 17182, Severity: 16, State: 1.
2014-05-04 21:47:43.57 spid12s TDSSNIClient initialization failed with error 0x80092004, status code 0x80. Reason: Unable to initialize SSL support. Cannot find object or property.
2014-05-04 21:47:43.57 spid12s Error: 17182, Severity: 16, State: 1.
2014-05-04 21:47:43.57 spid12s TDSSNIClient initialization failed with error 0x80092004, status code 0x1. Reason: Initialization failed with an infrastructure error. Check for previous errors. Cannot find object or property.
2014-05-04 21:47:43.57 spid12s Error: 17826, Severity: 18, State: 3.
2014-05-04 21:47:43.57 spid12s Could not start the network library because of an internal error in the network library. To determine the cause, review the errors immediately preceding this one in the error log.
2014-05-04 21:47:43.57 spid12s Error: 17120, Severity: 16, State: 1.
2014-05-04 21:47:43.57 spid12s SQL Server could not spawn FRunCommunicationsManager thread. Check the SQL Server error log and the Windows event logs for information about possible related problems.
I've recall that I've tried to help people with this error before, but I'm sure they were able to sort it out.
Anyway, this blog post,
http://blogs.msdn.com/b/sqljourney/archive/2012/10/09/sql-2008-service-fails-to-come-online-with-a-valid-certificate-could-not-be-found-and-it-is-not-possible-to-create-a-self-signed-certificate.aspx
suggests the issue is a corrupted user profile, and you should try to use a different service account.
This blog also seems to have a simple solution, but I cannot vouch for that it will work:
http://www.beejblog.com/2012/02/sql-server-solved-unable-to-initialize.html
Erland Sommarskog, SQL Server MVP, [email protected] -
Error handling in Native SQL for ORACLE
Hi,
I have the next code:
DATA instr TYPE char4.
EXEC SQL.
SELECT INSTRUMENTO INTO instr FROM DATOSMAESTROS
END EXEC.
And I want to control if the select has no results. Is it possible with the statement EXCEPTION inside EXEC SQL? Something like that:
DATA instr TYPE char4.
EXEC SQL.
SELECT INSTRUMENTO INTO instr FROM DATOSMAESTROS WHERE id_inst = '01'
EXCEPTION
WHEN NO_DATA_FOUND THEN
:err = SQLCODE
INSERT INTO error( field, code_err) VALUES ( 'instrumento',:err)
END EXEC.
Is this a correct code? If not, how can I do it?
Thank you all,
Cris.Hello,
Take a look on this: http://help.sap.com/saphelp_nw04s/helpdata/en/fc/eb3b8b358411d1829f0000e829fbfe/frameset.htm
Try this:
DATA instr TYPE char4.
EXEC SQL.
SELECT INSTRUMENTO INTO :instr FROM DATOSMAESTROS
ENDEXEC.
Look that I put : inside the native SQL before the intr.
To catch if no data was recovered try this:
DATA instr TYPE char4.
EXEC SQL PERFORMING no_data.
SELECT INSTRUMENTO INTO :instr FROM DATOSMAESTROS
ENDEXEC.
FORM no_data.
IF instr IS INITIAL.
MESSAGE ...
ENDIF.
ENDFORM.
Regards.
Maybe you are looking for
-
Hi, i am having trouble with my mac mail account, i cannot send or receive any emails because of the server connection problems. Message says it could not be connected to SMTP server. Thanks in advance for your help.
-
Relate AP Invoice and Goods Receipt PO
When I right click on a/p invoice(OPCH) and select base document then Goods Receipt PO(OPDN) is opened.How these two tables are related ? I am using the following query to create qld - SELECT * from OPDN,OPCH where OPDN.DocEntry=OPCH.DocEntry Th
-
Can't boot into Windows 8.1 partition after apple store repair
Can't boot into Windows 8.1 partition after apple store repair I went to the apple store about a week ago to get my screen fixed, and when I get it back I don't have an option to boot into my windows partition. The bootcamp partition is still there,
-
My phonetouch pad is not working
can anyone help?
-
MSS PCR form not pulling data for a user
Hi All, On Organizational/Position Change Form(on Portal) one of the user don't see the data in the dropdowns in this form. But for other users it is working just fine. The user not able to see the data in drop down can access other PCR's. I was won