Query subtracting
Hi Friends,
I am using oracle 10g and forms 6i and 10g and reports 10g and 6i with windows 2008 server
I have a query item_a,item_b,item_c and other_item. Each query having different where conditons.
So I am adding all the queries using union.
ie
For Import
Add all import amount of (item_a + item_b + item_c ) and subtract from the total amount based on import
Sum(Decode(..amount..)) -
(SUM(ITEM_A IMPORT)+SUM(ITEM_B IMPORT)+SUM(ITEM_C IMPORT)) Import
For Export
Add all export amount of (item_a + item_b + item_c ) and subtract from the total amount based on export code
Sum(Decode(..amount..)) -
(SUM(ITEM_A Export )+SUM(ITEM_B Export)+SUM(ITEM_C Expot)) Export
Query start from here
Select 'ITEM_A' item_name, sales_date,
Sum(Decode(....amount..)) Import,
Sum(Decode(....amount )) Export
from sales_dtls t
group by sales_date
UNION
Select 'ITEM_B' item_name ,sales_date,
Sum(Decode(...amount..)) Import,
Sum(Decode(...amount..)) Export
from sales_dtls t
group by sales_date
UNION
Select 'ITEM_C' item_name , sales_date,
Sum(Decode(...amount..)) Import,
Sum(Decode(...amount..)) Export
from sales_dtls t
where <CONDITION>
group by sales_date
UNION
Select 'ALL_OTHER_ITEM' item_name, sales_date,
Sum(Decode(..amount..)) -
(SUM(ITEM_A IMPORT)+SUM(ITEM_B IMPORT)+SUM(ITEM_C IMPORT)) Import
Sum(Decode(..amount..)) -
(SUM(ITEM_A Export )+SUM(ITEM_B Export)+SUM(ITEM_C Expot)) Export
Rgds
Rdk
My out put look like this
IMPORT AMOUNT EXPORT AMOUNT
ITEM_A 300 500
ITEM_B 400 900
ITEM_C 500 200
OTHER 600 500 ----- How to find this value
1800 2100
TOTAL IMPORT - 1800
TOTAL EXPORT - 2100
OTHER IMPORT=TOTAL-(ITEM_A+ITEM_B+ITEM_C)
OTHER EXPORT=TOTAL-(ITEM_A+ITEM_B+ITEM_C)
How to make query to find amount for other_item
ie import = 1800-(300+400+500) = 600
ie export = 2100-(500+900+200) = 500
Similar Messages
-
Query help, subtract two query parts
Hi,
I am beginner of PL/SQL and have a problem I couldn’t solve:
Table (op_list):
Item - Amount - Status
Item1 - 10 - in
Item2 - 12 - in
Item3 - 7 - in
Item1 - 2 - out
Item2 - 3 - out
Item1 - 1 - dmg
Item3 - 3 - out
Item1 - 2 - out
Item2 - 5 - out
Item2 - 2 - in
Item3 - 1 - exp
Would like to get result of query (subtract amount of 'out/dmg/exp' from 'in' ):
Item - Amount left
Item1 - 5
Item2 - 6
Item3 - 3
I wrote code that returns sum of all incoming items and sum all out/dmg/exp items, but couldn’t solve how to subtract one part of querry from another. Or maybe there is a better way. Also worried what happens if there is no 'out/dmg/exp' only 'in'
select item.name, sum(op_list.item_amount)
from op_list
inner join item
on op_list.item = item.item_id
where op_list.status = 'in'
group by item.name
union
select item.name, sum(op_list.item_amount)
from op_list
inner join item
on op_list.item = item.item_id
where op_list.status = 'out'
or op_list.status = 'dmg'
or op_list.status = 'exp'
group by item.name
Return:
Item1 - 10 [10 in]
Item1 - 5 [2+1+2]
Item2 - 14 [12+2]
Item3 - 7
Item3 - 4 [3+1]
Thanks in advanceHi,
We can also use simple inline views to get what we need.
select a.item,a.amount-b.amount Balance from
(select item,sum(amount) Amount from op_list
where status = 'in'
group by item) a,
(select item,sum(amount) Amount from op_list
where status in ('out','dmg','exp')
group by item) b
where
a.item=b.item
order by item;
ITEM BALANCE
Item1 5
Item2 6
Item3 3Regards,
Prazy -
Hi
i have a table ABC in which i declared two date columns START_DATE AND END_DATE . I want to extract all the dates between these two dates which is not specified into table.
eg
START_DATE=12-JUN-2009
END_DATE=15-JUN-2009
SELECT TO_DATE(START_DATE, 'DD-MON-YYYY') - 1 + rownum AS d
FROM ABC
WHERE TO_DATE(START_DATE, 'DD-MON-YYYY') - 1 + rownum <= TO_DATE(END_DATE, 'DD-MON-YYYY')
I try to do with this query its returning only one value.Please help me.
thanks
NishaWhat is the purpose of having the 'rownum' value in this context. The way your query is written, the results seem bizarre.
SELECT TO_DATE(START_DATE, 'DD-MON-YYYY') - 1 + rownum AS d
FROM ABC
WHERE TO_DATE(START_DATE, 'DD-MON-YYYY') - 1 + rownum <= TO_DATE(END_DATE, 'DD-MON-YYYY')
Let's say you had five rows of data with start dates and end dates as follows:
START_DATE END_DATE
12-JUN-2009 15-JUN-2009
14-JUN-2009 14-JUN-2009
11-JUN-2009 12-JUN-2009
15-JUN-2009 17-JUN-2009
16-JUN-2009 19-JUN-2009
The WHERE clause of your query subtracts one from the start date and then adds the rownum. Assuming the rows are processed in the order I've shown them*, the values being compared would be:
Change START_DATE END_DATE
(-1+1) 12-JUN-2009 15-JUN-2009
(-1+2) 15-JUN-2009 14-JUN-2009
(-1+3) 13-JUN-2009 12-JUN-2009
(-1+4) 18-JUN-2009 17-JUN-2009
(-1+5) 20-JUN-2009 19-JUN-2009
The result would be only one row returned. The more rows in the table, the higher the rownum values get and the less likely that any given row will be returned.
* Note that Oracle does not guarantee what order rows will be processed in when using rownum even when using an ORDER BY as the rownum gets determined prior to the sort. -
Subtract two characters in a query
Hi Experts,
I want to know how to subtract two characters in a query could you please give me the solution regarding this.
Ex: posting date - Document date
Regards,
KrishHi,
this can be achieved by creating two formula variables for 2 chars with replacement path and do a subtraction.
http://www.sd-solutions.com/documents/SDS_BW_Replacement%20Path%20Variables.html
Assign points if this is helpful...........
Rgs,
I.R.K -
Subtraction of 0Base_line date from 0Clearing date in the Query designer
Hi
How to subtract 0Base_line date from 0Clearing date in query designer??
I tried using 'Selection' by taking both 0Base_line and 0Clearing date separately in different selection and then subtracting them using formulas. But when i run the query,it is giving error "Use keyfigures in the selection".
Pls suggest. Itz very urgent.
Regards
Deepak.Hi
Thanks for your prompt reply.
But if any of the date is 'blank' then while subtracting 0Base_line date from 0Clearing date it is giving some value (like 78,90345).Actually i want *'No of days'* to be displayed.
Date format is dd/mm/yyyy (12/6/2007)
Pls help.
Also i want Grading to be assigned in alphabets(as A, B and C) instead of numbers (1 ,2 and 3). Is there any way in Query designer to achieve such type of grading?
Pls suggest
regards
Deepak -
Subtraction of dates in the query.
Hi Experts, I am new here and need some help please.
I want to subtract 2 different dates in the query. They are defined as characteristics. Can somebody help me with this please?
ThanksHi,
As said in the previous post, Create 2 formula variables on these 2 dates. and use them in the calculation.
Go to rows right click on structure Select New formula. Popup will come, select the formula varibles onleft below. Right click New variable slect the processing type as Replacement path. and reference char as these 2 characteristics.
Khaja -
My Query doesn't subtract credits
Hi,
I need a query wich shows all Customers + List price + Special price + turnover (credits considered) in quantity and money amount.
My query doesn't subtract the credits. Why? Who can help? Tankshttp://www.dict.cc/englisch-deutsch/subtract.html
SELECT
T0.[Fax], T0.[CardName], T5.[StreetNo], T5.[ZipCode], T5.[City], T0.[CardCode], T2.[ItemCode], T2.[ItemName], T1.[Price], T3.[Price] as Sonderpreis, T3.[Discount],
Sum(T4.[Price])
FROM OCRD T0 cross join OITM T2 Inner join ITM1 T1 ON T1.[PriceList] = 1 and T1.ItemCode = T2.ItemCode Left outer JOIN OSPP t3 ON T2.ItemCode = T3.ItemCode and t0.cardcode = t3.cardcode
Left outer JOIN INV1 T4 ON T0.CardCode = T4.BaseCard INNER JOIN OCRD T5 ON T0.CardCode = T5.CardCode INNER JOIN OINV T6 ON T4.DocEntry = T6.DocEntry
INNER JOIN RIN1 T8 ON T4.DocEntry = T8.DocEntry INNER JOIN ORIN T9 ON T8.DocEntry = T9.DocEntry
Where T2.Itemcode = [%0]
and DATEDIFF(day, T6.[DocDate], CURRENT_TIMESTAMP) <= 1
and T4.Itemcode = [%0]
Group by T0.[Fax], T0.[CardName], T5.[StreetNo], T5.[ZipCode], T5.[City], T0.[CardCode], T2.[ItemCode], T2.[ItemName], T1.[Price], T3.[Price], T3.[Discount]
UNION
SELECT
T0.[Fax], T0.[CardName], T5.[StreetNo], T5.[ZipCode], T5.[City], T0.[CardCode], T2.[ItemCode], T2.[ItemName], T1.[Price], T3.[Price] as Sonderpreis, T3.[Discount],
Sum(T4.[Price] * -1) as '1'
FROM OCRD T0 cross join OITM T2 Inner join ITM1 T1 ON T1.[PriceList] = 1 and T1.ItemCode = T2.ItemCode Left outer JOIN OSPP t3 ON T2.ItemCode = T3.ItemCode and t0.cardcode = t3.cardcode
Left outer JOIN RIN1 T4 ON T0.CardCode = T4.BaseCard INNER JOIN OCRD T5 ON T0.CardCode = T5.CardCode INNER JOIN ORIN T6 ON T4.DocEntry = T6.DocEntry
Where T2.Itemcode = [%0]
and DATEDIFF(day, T6.[DocDate], CURRENT_TIMESTAMP) <= 1
and T4.Itemcode = [%0]
Group by T0.[Fax], T0.[CardName], T5.[StreetNo], T5.[ZipCode], T5.[City], T0.[CardCode], T2.[ItemCode], T2.[ItemName], T1.[Price], T3.[Price], T3.[Discount]Hi,
Here is document Working with Multiple Select List Item. It apply also to shuttle.
http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/bldapp_item.htm#CEGDBEHF
Regards,
Jari
My Blog: http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0
Twitter: http://www.twitter.com/jariolai -
ABAP Query: creation of local field (Subtraction between 2 dates)
Hi,
I want to create a local field which will calculate the number of days between 2 dates (for example, document date - posting date).
What I did:
1) Created the user group in SQ03
2) Created the infoset in SQ02
3) I'm stucked at the creation of the Query in SQ01. I'm at the «Create Query: Select field screen». I clicked on Edit --> Local Field --> Create. I selected the «calculation field» attribute. I clicked on the «Complex calculation button», but I don't know how to write my formulate DOCUMENT DATE - POSTING DATE.
Thanks a lot for your help.
JulienTry these FM's to calculate difference between two dates..
DAYS_BETWEEN_TWO_DATES
LEAP_DAYS_BETWEEN_TWO_DATES
HR_SEN_CALE_DAYS_DATE
ISB_DAYS_BETWEEN_TWO_DATES
FIMA_DAYS_BETWEEN_TWO_DATES
FIMA_DAYS_BETWEEN_TWO_DATES_2
FIMA_LEAP_DAYS_BETWEEN_2_DATES
SD_DATETIME_DIFFERENCE -
Trying to create a FMS query that shows available stock quantity on each Sales Order line
Using SAP B1 v 8.82
I realize that I may be going about this in completely the wrong way. Here's my code:
SELECT (T0.OnHand - T0.IsCommited + (SELECT SUM(ISNULL(T3.U_BO, 0)) FROM RDR1 T3 INNER JOIN OITM T4 ON T4.ItemCode = T3.ItemCode WHERE T3.U_BO > 0 AND T3.ItemCode = $[RDR1.ItemCode])) [available]
FROM OITW T0
INNER JOIN RDR1 T1 ON T1.ItemCode = T0.ItemCode
INNER JOIN ORDR T2 ON T2.DocEntry = T1.DocEntry
WHERE T0.WhsCode = 'ATL' AND T1.WhsCode = 'ATL' AND T2.DocNum = $[ORDR.DocNum] AND T1.LineNum = $[RDR1.LineNum]
GROUP BY T0.OnHand, T0.IsCommited
There is a UDF that I call upon in the RDR1 table called BO. I created this field so that if a person wants to wait for a new batch they can "backorder" it. In another UDF called "Available" I set up a user-defined value based on the above query. The end result should be that whenever someone enters an item, the query finds the level of stock in the warehouse, subtracts the amount already committed, and adds back in any backorder quantities on other orders for the same item. For example, say there's 1000 units of ITEM1 in stock, 2000 are ordered on SO # 1 and 500 are ordered on SO # 2. The salesperson who created SO # 1 wants to wait for a new batch and types "2000" in the BO field. I try to enter a new SO # 3 for 300 pieces. When I key in ITEM1 on the first line, the field "Available" should update to say "500" (1000 - 2500 + 2000 = 500).
It seems to be working, but only after the document is added. In the example above I enter SO # 3 with a qty of 300 and when I go back to that SO I see that "Available" shows 200. Ideally I'd like to see it say 500 while I'm working in the SO before I add it.Edit2: Okay it so it works fine for any items that have a history, but it seems that if the item hasn't ever been on a Sales Order (i.e. it's not found in the RDR1 table) I get "no data found". How can I make it simply return OnHand - IsCommited if it doesn't exist in the RDR1 table, but do the below query if it does?
Actually that's not true. I've got it working now. I changed the query a bit and the update trigger, and it feels like it's working exactly like I wanted. Query below if you're interested.
/*Available FMS Sales Orders*/
SELECT (T0.OnHand-T0.IsCommited+(SELECT SUM(ISNULL(T3.U_BO, 0)) FROM RDR1 T3 WHERE T3.ItemCode = $[RDR1.ItemCode]))
FROM OITW T0
INNER JOIN RDR1 T1 ON T0.ItemCode = T1.ItemCode
WHERE T1.ItemCode = $[RDR1.ItemCode] AND T1.WhsCode = 'ATL' AND T0.WhsCode = 'ATL'
I have it on Auto Refresh - When Field Changes "Document Total" - Refresh Regularly.
Edit1: fixed grammatical error. -
Problem when i try to modifi and save a query
Dear SDN Members
I have the follow error when I try to save a query (after to modified a Variable)
- The system tried to insert a data record, even though a data record with the same primary key already exists
- An exception with the type CX_SY_OPEN_SQL_DB occurred, but was neither handled locally, nor declared in a RAISING clause
- Program error in class SAPMSSY1 method: UNCAUGHT_EXCEPTION
My BW version is BI 7.0
I went to TCODE ST22, and the dumps is the follow
Runtime Errors UNCAUGHT_EXCEPTION
Exception CX_SY_NO_HANDLER
Date and Time 23.05.2007 12:03:10
Short text
An exception occurred that was not caught.
What happened?
The exception 'CX_SY_NO_HANDLER' was raised, but it was not caught anywhere
along
the call hierarchy.
Since exceptions represent error situations and this error was not
adequately responded to, the running ABAP program
'CL_RSBOLAP_BICS_SERVICES======CP' has to be
terminated.
What can you do?
Note down which actions and inputs caused the error.
To process the problem further, contact you SAP system
administrator.
Using Transaction ST22 for ABAP Dump Analysis, you can look
at and manage termination messages, and you can also
keep them for a long time.
Error analysis
An exception occurred which is explained in detail below.
The exception, which is assigned to class 'CX_SY_NO_HANDLER', was not caught
and
therefore caused a runtime error.
The reason for the exception is:
An exception with the type CX_SY_OPEN_SQL_DB occurred, but was neither handled
locally, nor declared in a RAISING clause
The occurrence of the exception is closely related to the occurrence of
a previous exception "CX_SY_OPEN_SQL_DB", which was raised in the program
"SAPLRZD1",
specifically in line 148 of the (include) program "LRZD1U40".
The cause of the exception was:
The system tried to insert a data record, even though a data record with the
same primary key already exists
How to correct the error
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"UNCAUGHT_EXCEPTION" "CX_SY_NO_HANDLER"
"CL_RSBOLAP_BICS_SERVICES======CP" or "CL_RSBOLAP_BICS_SERVICES======CM003"
"HANDLE_UNCAUGHT_EXCEPTION"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
System environment
SAP-Release 700
Application server... "ecedc05bwh02"
Network address...... "192.168.186.10"
Operating system..... "Windows NT"
Release.............. "5.2"
Hardware type........ "8x Intel 801586"
Character length.... 8 Bits
Pointer length....... 32 Bits
Work process number.. 0
Shortdump setting.... "full"
Database server... "ECEDC05BWH02"
Database type..... "ORACLE"
Database name..... "BWD"
Database user ID.. "SAPBWP"
Char.set.... "Spanish_Spain.1252"
SAP kernel....... 700
created (date)... "Apr 2 2006 23:01:26"
create on........ "NT 5.0 2195 Service Pack 4 x86 MS VC++ 13.10"
Database version. "OCI_10103_SHARE "
Patch level. 52
Patch text.. " "
Database............. "ORACLE 9.2.0.., ORACLE 10.1.0.., ORACLE 10.2.0.."
SAP database version. 700
Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2"
Memory consumption
Roll.... 8112
EM...... 8382048
Heap.... 0
Page.... 16384
MM Used. 5467512
MM Free. 2913088
User and Transaction
Client.............. 100
User................ "ATOS"
Language Key........ "S"
Transaction......... " "
Program............. "CL_RSBOLAP_BICS_SERVICES======CP"
Screen.............. "SAPMSSY1 3004"
Screen Line......... 2
Information on caller of Remote Function Call (RFC):
System.............. "########"
Database Release.... 710
Kernel Release...... 710
Connection Type..... "E" (2=R/2, 3=ABAP System, E=Ext., R=Reg. Ext.)
Call Type........... "synchron and non-transactional (emode 0, imode 0)"
Inbound TID.........." "
Inbound Queue Name..." "
Outbound TID........." "
Outbound Queue Name.." "
Client.............. "###"
User................ "############"
Transaction......... " "
Call Program........."BExQueryDesignerStarter"
Function Module..... "RSZ_X_COMPONENT_SET_NEW"
Call Destination.... "<unknown>"
Source Server....... "clalinetzky2"
Source IP Address... "10.139.56.93"
Additional information on RFC logon:
Trusted Relationship " "
Logon Return Code... 0
Trusted Return Code. 0
Note: For releases < 4.0, information on the RFC caller are often
only partially available.
Information on where terminated
Termination occurred in the ABAP program "CL_RSBOLAP_BICS_SERVICES======CP" -
in "HANDLE_UNCAUGHT_EXCEPTION".
The main program was "SAPMSSY1 ".
In the source code you have the termination point in line 28
of the (Include) program "CL_RSBOLAP_BICS_SERVICES======CM003".
Source Code Extract
Line
SourceCde
1
METHOD handle_uncaught_exception.
2
3
data:
4
l_r_program_error TYPE REF TO cx_rsbolap_program_error.
5
data: lBExDebug type rs_bool.
6
GET PARAMETER ID 'BEXDEBUG' FIELD lBExDebug.
7
8
if lBExDebug = rs_c_true or CL_RSTT_TRACE=>GET_TRACEMODE_CURRENT_TRACE( ) = rstt0_c_tracem
9
Break-point for debugging, e.g. during running a trace
10
break-point. "#EC NOBREAK
11
endif.
12
Subcall?
13
if P_RFC_CALL_DEPTH > 1.
14
Forward the exception
15
subtract 1 from P_RFC_CALL_DEPTH.
16
DATA: l_r_x TYPE REF TO cx_no_check.
17
TRY.
18
l_r_x ?= i_r_exception.
19
CATCH cx_root.
20
CLEAR l_r_x.
21
ENDTRY.
22
23
IF l_r_x IS INITIAL.
24
RAISE EXCEPTION TYPE cx_rsr_propagate_x
25
EXPORTING
26
previous = i_r_exception.
27
ELSE.
>>>>>
RAISE EXCEPTION l_r_x.
29
ENDIF.
30
endif.
31
32
All exceptions should have been caugth -> X-Message
33
r_max_message_type = 'A'.
34
35
Wrap the exception in a bolap program error exception
36
CREATE OBJECT l_r_program_error
37
EXPORTING
38
context = 'UNCAUGHT_EXCEPTION'
39
previous = i_r_exception.
40
41
Notify the message handler
42
CALL FUNCTION 'RRMS_EXCEPTION_HANDLING'
43
EXPORTING
44
I_MSGTY = 'A'
45
i_r_exception = l_r_program_error.
46
47
ENDMETHOD.
Contents of system fields
Name
Val.
SY-SUBRC
0
SY-INDEX
52
SY-TABIX
0
SY-DBCNT
0
SY-FDPOS
1
SY-LSIND
0
SY-PAGNO
0
SY-LINNO
1
SY-COLNO
1
SY-PFKEY
SY-UCOMM
SY-TITLE
Control CPI-C y RFC
SY-MSGTY
SY-MSGID
SY-MSGNO
000
SY-MSGV1
SY-MSGV2
SY-MSGV3
SY-MSGV4
SY-MODNO
0
SY-DATUM
20070523
SY-UZEIT
120310
SY-XPROG
SAPCNVE
SY-XFORM
CONVERSION_EXIT
Active Calls/Events
No. Ty. Program Include Line
Name
5 METHOD CL_RSBOLAP_BICS_SERVICES======CP CL_RSBOLAP_BICS_SERVICES======CM003 28
CL_RSBOLAP_BICS_SERVICES=>HANDLE_UNCAUGHT_EXCEPTION
4 FUNCTION SAPLRZX0 LRZX0U52 908
RSZ_X_COMPONENT_SET_NEW
3 FORM SAPLRZX0 LRZX0U52 1
RSZ_X_COMPONENT_SET_NEW
2 FORM SAPMSSY1 SAPMSSY1 85
REMOTE_FUNCTION_CALL
1 MODULE (PBO) SAPMSSY1 SAPMSSY1 30
%_RFC_START
Chosen variables
Name
Val.
No. 5 Ty. METHOD
Name CL_RSBOLAP_BICS_SERVICES=>HANDLE_UNCAUGHT_EXCEPTION
I_R_EXCEPTION
|
| 1000E000 |
| A0005000 |
| R_MAX_MESSAGE_TYPE |
| |
| 2 |
| 0 |
| L_R_X |
|
1000E000
A0005000
SYST-REPID
CL_RSBOLAP_BICS_SERVICES======CP
4455544445544455545544453333334522222222
3CF232FC10F2933F35269353DDDDDD3000000000
%_SPACE
2
0
%_DUMMY$$
2222
0000
%_ARCHIVE
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
RSJOBINFO
00000000000000 ####
222222222222222222222222222222223333333333333322222222222222222222222222222222220000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000
SY
4###########################################################################y#################
3000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000
400000000000800000000000A000000000000000000010001000000010000000000000000000900000000000000000
%_EXCP
F0000000
F0000000
SY-REPID
CL_RSBOLAP_BICS_SERVICES======CP
4455544445544455545544453333334522222222
3CF232FC10F2933F35269353DDDDDD3000000000
SPACE
2
0
L_R_PROGRAM_ERROR
|
| F0000000 |
| F0000000 |
| No. 4 Ty. FUNCTION |
| Name RSZ_X_COMPONENT_SET_NEW |
| I_COMPUID |
| F3IH9GRA1X9X7DRPIYFPE1QP7 |
| 4344345435353455454543553 |
| 6398972118987420996051107 |
| I_COPY_MODE |
| |
| 2 |
| 0 |
| I_LANGUAGE |
| S |
| 5 |
| 3 |
| I_NODE |
| 0000000000 |
| 3333333333 |
| 0000000000 |
| I_NO_TRANSPORT |
| |
| 2 |
| 0 |
| I_OBJVERS |
| A |
| 4 |
| 1 |
| I_QD_VERSION |
| 700 |
| 33322 |
| 70000 |
| I_ROLE |
| |
| 222222222222222222222222222222 |
| 000000000000000000000000000000 |
| E_GENUNIID |
| |
| 2222222222222222222222222 |
| 0000000000000000000000000 |
| E_SUBRC |
| 0 |
| 0000 |
| 0000 |
| C_T_CALC[] |
| Table IT_3889[5x158] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_CALC |
| Table reference: 56 |
| TABH+ 0(20) = 28DD0EA0E81518A00000000038000000310F0000 |
| TABH+ 20(20) = 050000009E000000FFFFFFFF04CB000058150000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x28DD0EA0 |
| ext1 = 0xE81518A0 |
| shmId = 0 (0x00000000) |
| id = 56 (0x38000000) |
| label = 3889 (0x310F0000) |
| fill = 5 (0x05000000) |
| leng = 158 (0x9E000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000087 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x481839A0 |
| pgHook = 0x00000000 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2911 (0x5F0B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 16 (0x10000000) |
| lineAlloc = 16 (0x10000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xF0B70EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x40F60EA0 |
| delta_head = 0100000065000000E40000002B00000004CB0000901500009E0000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_CELL[] |
| Table IT_3890[0x76] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_CELL |
| Table reference: 52 |
| TABH+ 0(20) = 0000000028A51EA00000000034000000320F0000 |
| TABH+ 20(20) = 000000004C000000FFFFFFFF04CB0000C8150000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x00000000 |
| ext1 = 0x28A51EA0 |
| shmId = 0 (0x00000000) |
| id = 52 (0x34000000) |
| label = 3890 (0x320F0000) |
| fill = 0 (0x00000000) |
| leng = 76 (0x4C000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000089 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = Not allocated |
| pghook = Not allocated |
| idxPtr = Not allocated |
| shmTabhSet = Not allocated |
| id = Not allocated |
| refCount = Not allocated |
| tstRefCount = Not allocated |
| lineAdmin = Not allocated |
| lineAlloc = Not allocated |
| shmVersId = Not allocated |
| shmRefCount = Not allocated |
| shmIsReadOnly = Not allocated |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x68DA0EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x38EA1DA0 |
| delta_head = 0100000066000000E60000002900000004CB0000001600004C0000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_COMPDIR[] |
| Table IT_3891[7x169] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_COMPDIR |
| Table reference: 54 |
| TABH+ 0(20) = D8D80EA048A51EA00000000036000000330F0000 |
| TABH+ 20(20) = 07000000A9000000FFFFFFFF04CB000098130000 |
| TABH+ 40( 8) = 10000000C1248501 |
| store = 0xD8D80EA0 |
| ext1 = 0x48A51EA0 |
| shmId = 0 (0x00000000) |
| id = 54 (0x36000000) |
| label = 3891 (0x330F0000) |
| fill = 7 (0x07000000) |
| leng = 169 (0xA9000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000079 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 1 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x382239A0 |
| pgHook = 0x00000000 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2912 (0x600B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 16 (0x10000000) |
| lineAlloc = 16 (0x10000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 2 (0x02000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xB8C223A0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x30B50EA0 |
| delta_head = 0100000067000000E70000002800000004CB0000D0130000A90000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_COMPIC[] |
| Table IT_3892[5x81] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_COMPIC |
| Table reference: 49 |
| TABH+ 0(20) = 80D90EA060D90EA00000000031000000340F0000 |
| TABH+ 20(20) = 0500000051000000FFFFFFFF04CB000008140000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x80D90EA0 |
| ext1 = 0x60D90EA0 |
| shmId = 0 (0x00000000) |
| id = 49 (0x31000000) |
| label = 3892 (0x340F0000) |
| fill = 5 (0x05000000) |
| leng = 81 (0x51000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000081 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x409A1EA0 |
| pgHook = 0x00000000 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2913 (0x610B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 16 (0x10000000) |
| lineAlloc = 16 (0x10000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x18D90EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xD8B21EA0 |
| delta_head = 0100000068000000E50000002A00000004CB000040140000510000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTATTR[] |
| Table IT_3893[0x124] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTATTR |
| Table reference: 332 |
| TABH+ 0(20) = 0000000008DA0EA0000000004C010000350F0000 |
| TABH+ 20(20) = 000000007C000000FFFFFFFF04CB0000B8120000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x00000000 |
| ext1 = 0x08DA0EA0 |
| shmId = 0 (0x00000000) |
| id = 332 (0x4C010000) |
| label = 3893 (0x350F0000) |
| fill = 0 (0x00000000) |
| leng = 124 (0x7C000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000075 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = Not allocated |
| pghook = Not allocated |
| idxPtr = Not allocated |
| shmTabhSet = Not allocated |
| id = Not allocated |
| refCount = Not allocated |
| tstRefCount = Not allocated |
| lineAdmin = Not allocated |
| lineAlloc = Not allocated |
| shmVersId = Not allocated |
| shmRefCount = Not allocated |
| shmIsReadOnly = Not allocated |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xC0D90EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x101520A0 |
| delta_head = 0100000069000000E30000002C00000004CB0000F01200007C0000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTDIR[] |
| Table IT_3894[98x203] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTDIR |
| Table reference: 339 |
| TABH+ 0(20) = 48A01EA0A89F1EA00000000053010000360F0000 |
| TABH+ 20(20) = 62000000CB000000FFFFFFFF04CB0000F8100000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x48A01EA0 |
| ext1 = 0xA89F1EA0 |
| shmId = 0 (0x00000000) |
| id = 339 (0x53010000) |
| label = 3894 (0x360F0000) |
| fill = 98 (0x62000000) |
| leng = 203 (0xCB000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000067 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x883C39A0 |
| pgHook = 0x88A01EA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2915 (0x630B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 112 (0x70000000) |
| lineAlloc = 112 (0x70000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x609F1EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xC01620A0 |
| delta_head = 010000006A000000E80000002700000004CB000030110000CB0000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTPRIO[] |
| Table IT_3895[77x150] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTPRIO |
| Table reference: 341 |
| TABH+ 0(20) = 30A11EA010A01EA00000000055010000370F0000 |
| TABH+ 20(20) = 4D00000096000000FFFFFFFF04CB000048120000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x30A11EA0 |
| ext1 = 0x10A01EA0 |
| shmId = 0 (0x00000000) |
| id = 341 (0x55010000) |
| label = 3895 (0x370F0000) |
| fill = 77 (0x4D000000) |
| leng = 150 (0x96000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000073 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x889539A0 |
| pgHook = 0x70A11EA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2917 (0x650B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 112 (0x70000000) |
| lineAlloc = 112 (0x70000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xC89F1EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xC01720A0 |
| delta_head = 010000006B000000E20000002D00000004CB000080120000960000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTPROP[] |
| Table IT_3896[98x695] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTPROP |
| Table reference: 344 |
| TABH+ 0(20) = 18A21EA0C8B139A00000000058010000380F0000 |
| TABH+ 20(20) = 62000000B7020000FFFFFFFF04CB0000D8110000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x18A21EA0 |
| ext1 = 0xC8B139A0 |
| shmId = 0 (0x00000000) |
| id = 344 (0x58010000) |
| label = 3896 (0x380F0000) |
| fill = 98 (0x62000000) |
| leng = 695 (0xB7020000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000071 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x48FC39A0 |
| pgHook = 0x58A21EA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2919 (0x670B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 128 (0x80000000) |
| lineAlloc = 112 (0x70000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xB0A01EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x28DA0EA0 |
| delta_head = 010000006C000000E10000002E00000004CB000010120000B70200000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTTXT[] |
| Table IT_3902[0x111] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTTXT |
| Table reference: 349 |
| TABH+ 0(20) = 0000000068F73AA0000000005D0100003E0F0000 |
| TABH+ 20(20) = 000000006F000000FFFFFFFF04CB000018170000 |
| TABH+ 40( 8) = 10000000C1248001 |
| store = 0x00000000 |
| ext1 = 0x68F73AA0 |
| shmId = 0 (0x00000000) |
| id = 349 (0x5D010000) |
| label = 3902 (0x3E0F0000) |
| fill = 0 (0x00000000) |
| leng = 111 (0x6F000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000095 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 0 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = Not allocated |
| pghook = Not allocated |
| idxPtr = Not allocated |
| shmTabhSet = Not allocated |
| id = Not allocated |
| refCount = Not allocated |
| tstRefCount = Not allocated |
| lineAdmin = Not allocated |
| lineAlloc = Not allocated |
| shmVersId = Not allocated |
| shmRefCount = Not allocated |
| shmIsReadOnly = Not allocated |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x20F73AA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xE0F63AA0 |
| delta_head = 000000000000000000000000000000000000000000000000000000000000000000000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_ELTXREF[] |
| Table IT_3897[188x74] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_ELTXREF |
| Table reference: 340 |
| TABH+ 0(20) = 18A31EA0F8A01EA00000000054010000390F0000 |
| TABH+ 20(20) = BC0000004A000000FFFFFFFF04CB000028130000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x18A31EA0 |
| ext1 = 0xF8A01EA0 |
| shmId = 0 (0x00000000) |
| id = 340 (0x54010000) |
| label = 3897 (0x390F0000) |
| fill = 188 (0xBC000000) |
| leng = 74 (0x4A000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000077 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0xC8D53AA0 |
| pgHook = 0x58A31EA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2921 (0x690B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 432 (0xB0010000) |
| lineAlloc = 304 (0x30010000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x98A11EA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x801720A0 |
| delta_head = 010000006D000000EA0000002500000004CB0000601300004A0000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_RANGE[] |
| Table IT_3898[258x579] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_RANGE |
| Table reference: 345 |
| TABH+ 0(20) = B8F33AA088A31EA000000000590100003A0F0000 |
| TABH+ 20(20) = 0201000043020000FFFFFFFF04CB0000E8140000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0xB8F33AA0 |
| ext1 = 0x88A31EA0 |
| shmId = 0 (0x00000000) |
| id = 345 (0x59010000) |
| label = 3898 (0x3A0F0000) |
| fill = 258 (0x02010000) |
| leng = 579 (0x43020000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000085 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x580140A0 |
| pgHook = 0xF8F33AA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2923 (0x6B0B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 512 (0x00020000) |
| lineAlloc = 272 (0x10010000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0xD82C39A0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0x98A21EA0 |
| delta_head = 010000006E000000E90000002600000004CB000020150000430200000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_SELECT[] |
| Table IT_3899[239x116] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_SELECT |
| Table reference: 346 |
| TABH+ 0(20) = 20F53AA0E0A11EA0000000005A0100003B0F0000 |
| TABH+ 20(20) = EF00000074000000FFFFFFFF04CB000078140000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0x20F53AA0 |
| ext1 = 0xE0A11EA0 |
| shmId = 0 (0x00000000) |
| id = 346 (0x5A010000) |
| label = 3899 (0x3B0F0000) |
| fill = 239 (0xEF000000) |
| leng = 116 (0x74000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000083 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0x202D39A0 |
| pgHook = 0x60F53AA0 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2925 (0x6D0B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 432 (0xB0010000) |
| lineAlloc = 304 (0x30010000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x98F43AA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xD8A21EA0 |
| delta_head = 010000006F000000CD0000000200000004CB0000B0140000740000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_UID_SERVER[] |
| Table IT_3900[2x50] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_UID_SERVER |
| Table reference: 347 |
| TABH+ 0(20) = 60F33AA0D8F53AA0000000005B0100003C0F0000 |
| TABH+ 20(20) = 0200000032000000FFFFFFFF04CB0000A8160000 |
| TABH+ 40( 8) = 02000000C1248101 |
| store = 0x60F33AA0 |
| ext1 = 0xD8F53AA0 |
| shmId = 0 (0x00000000) |
| id = 347 (0x5B010000) |
| label = 3900 (0x3C0F0000) |
| fill = 2 (0x02000000) |
| leng = 50 (0x32000000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000093 |
| occu = 2 (0x02000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0xE8F23AA0 |
| pgHook = 0x00000000 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2930 (0x720B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 2 (0x02000000) |
| lineAlloc = 2 (0x02000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x90F53AA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xE0F43AA0 |
| delta_head = 0100000070000000C50000000A00000004CB0000E0160000320000000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| C_T_VAR[] |
| Table IT_3901[2x644] |
| FUNCTION-POOL=RZX0FORM=RSZ_X_COMPONENT_SET_NEWDATA=%_%_C_T_VAR |
| Table reference: 348 |
| TABH+ 0(20) = A0F63AA080F63AA0000000005C0100003D0F0000 |
| TABH+ 20(20) = 0200000084020000FFFFFFFF04CB000038160000 |
| TABH+ 40( 8) = 10000000C1248101 |
| store = 0xA0F63AA0 |
| ext1 = 0x80F63AA0 |
| shmId = 0 (0x00000000) |
| id = 348 (0x5C010000) |
| label = 3901 (0x3D0F0000) |
| fill = 2 (0x02000000) |
| leng = 644 (0x84020000) |
| loop = -1 (0xFFFFFFFF) |
| xtyp = TYPE#000091 |
| occu = 16 (0x10000000) |
| access = 1 (ItAccessStandard) |
| idxKind = 0 (ItIndexNone) |
| uniKind = 2 (ItUniqueNon) |
| keyKind = 1 (default) |
| cmpMode = 2 (cmpSingleMcmpR) |
| occu0 = 1 |
| groupCntl = 0 |
| rfc = 1 |
| unShareable = 0 |
| mightBeShared = 0 |
| sharedWithShmTab = 0 |
| isShmLockId = 0 |
| gcKind = 0 |
| isUsed = 1 |
| isCtfyAble = 1 |
| >>>>> Shareable Table Header Data <<<<< |
| tabi = 0xB8DD42A0 |
| pgHook = 0x00000000 |
| idxPtr = 0x00000000 |
| shmTabhSet = 0x00000000 |
| id = 2926 (0x6E0B0000) |
| refCount = 0 (0x00000000) |
| tstRefCount = 0 (0x00000000) |
| lineAdmin = 16 (0x10000000) |
| lineAlloc = 16 (0x10000000) |
| shmVersId = 0 (0x00000000) |
| shmRefCount = 1 (0x01000000) |
| >>>>> 1st level extension part <<<<< |
| regHook = 0x00000000 |
| collHook = 0x00000000 |
| ext2 = 0x38F63AA0 |
| >>>>> 2nd level extension part <<<<< |
| tabhBack = 0xF8F53AA0 |
| delta_head = 0100000071000000EC0000002300000004CB000070160000840200000100000005000000 |
| pb_func = 0x00000000 |
| pb_handle = 0x00000000 |
| %_DUMMY$$ |
| |
| 2222 |
| 0000 |
| SY-REPID |
| SAPLRZX0 |
| 5454555322222222222222222222222222222222 |
| 310C2A8000000000000000000000000000000000 |
| <L_TRACE_MAX_MESSAGE_TYPE> |
| ??? |
| ?????? |
| ?????? |
| SYST |
| 4###########################################################################y################# |
| 3000000000000000000000000000000000000000000000000000000000000000000000000000700000000000000000 |
| 400000000000800000000000A000000000000000000010001000000010000000000000000000900000000000000000 |
| G_CS_UID_LOOKUP_WRONG_DEFTP |
| ####ER9 171 |
| 1000453222222222222222222333 |
| C000529000000000000000000171 |
| G_CS_ELEMENT_LOCKED |
| ####ER9 113 |
| 0000453222222222222222222333 |
| D000529000000000000000000113 |
| L_R_FUNCTION_MODULE_EXCEPTION |
|
1000E000
A0005000
SPACE
2
0
L_TRACE_MAX_MESSAGE_TYPE
2
0
SY-ONCOM
X
5
8
%_SPACE
2
0
No. 3 Ty. FORM
Name RSZ_X_COMPONENT_SET_NEW
CL_RSTT_TRACE=>N_R_TRACEREF
F0000000
F0000000
RSBBS_C_TYPE-ABAP_QUERY
A
4
1
%_%_I_QD_VERSION
700
33322
70000
%_%_I_COMPUID
F3IH9GRA1X9X7DRPIYFPE1QP7
4344345435353455454543553
6398972118987420996051107
%_%_I_COPY_MODE
2
0
CL_GUI_TEXTEDIT=>ABAP_COMMENTLINE_IDENTIFIER
%_%_I_LANGUAGE
S
5
3
%_%_I_NODE
0000000000
3333333333
0000000000
%_%_I_NO_TRANSPORT
2
0
%_%_I_OBJVERS
A
4
1
%_%_I_ROLE
222222222222222222222222222222
000000000000000000000000000000
G_CS_NO_IOBJ_F4_AVAILABLE
####SR9 103
0000553222222222222222222333
8000329000000000000000000103
%_%_E_GENUNIID
2222222222222222222222222
0000000000000000000000000
CL_GUI_TEXTEDIT=>BOOL_INITIAL
%_%_E_SUBRC
0
0000
0000
%_%_C_T_CALC
Table IT_3889[5x158]
%_%_C_T_CELL
Table IT_3890[0x76]
%_%_C_T_COMPDIR
Table IT_3891[7x169]
%_%_C_T_COMPIC
Table IT_3892[5x81]
%_%_C_T_ELTATTR
Table IT_3893[0x124]
CL_BSP_MESSAGES=>CO_SEVERITY_ERROR
%_%_C_T_ELTDIR
Table IT_3894[98x203]
%_%_C_T_ELTPRIO
Table IT_3895[77x150]Hi Gaurav
I already locked for a OSS note, but i could not find the answer
Please, Could you tell me how you solve the problem?
Thanks
Ariel -
Hello Experts,
I'm tryng to develop my first application for EP (v7 SP12) with NWDS (without NWDI).
This application has to read and write data in the EP DB (oracle v10).
I'm using:
<u>a Dictionary Project</u> (define the DB Tables)
<u>a Java Project</u> (define class as DAO, DBManager etc)
<u>a Library Project</u>
<u>an EJB Project</u>
<u>an EAR Project</u>
With these projects I can deploy a <u>webService</u> in my EP server.
BUT I have some problem with a query that I'm tryng to sent to my DB through a DAO Class called by my WebService.
The query is simple and correct but it does not work...
This is the error message returned (the query id in bold)
(column names: GIORNO, NOMEDITTA, NOMEAREA, NOMESETTORE)
<i>HTTP/1.1 500 Internal Server Error
Connection: close
Server: SAP J2EE Engine/7.00
Content-Type: text/xml; charset=UTF-8
Date: Fri, 21 Sep 2007 14:29:57 GMT
Set-Cookie: <value is hidden>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode><faultstring>java.sql.SQLException: com.sap.sql.log.OpenSQLException: The SQL statement <b>"SELECT NOMESETTORE, MIN(? - "GIORNO") AS GIORNI FROM SRS_DATEINFORTUNI WHERE NOMEDITTA = ? AND NOMEAREA= ? GROUP BY NOMESETTORE ORDER BY NOMESETTORE"</b> <u>contains the syntax error[s]: - 1:25 - the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</u></faultstring><detail><ns1:getGiorniSettori_com.akhela.giorniSenzaInfortuni.ejb.exception.GiorniSenzaInfortuniException xmlns:ns1='urn:GiorniSenzaInfortuniWSWsd/GiorniSenzaInfortuniWSVi'></ns1:getGiorniSettori_com.akhela.giorniSenzaInfortuni.ejb.exception.GiorniSenzaInfortuniException></detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope></i>
The variable '?' is the today date, the difference <b>"(?-GIORNO)"</b> is an int..
Moreover in my DAO class the query is <b>"SELECT NOMESETTORE, MIN(? - GIORNO) AS GIORNI FROM SRS_DATEINFORTUNI WHERE NOMEDITTA = ? AND NOMEAREA= ? GROUP BY NOMESETTORE ORDER BY NOMESETTORE</b>", instead in the error message is reported <b>MIN(? - "GIORNO")</b>...
We have tryed also with alternative query, for example we used <b>"MIN(SYSDATA - GIORNO)"</b> but <b>SYSDATA</b> was interpreted as column name and not found....
Any help???
Best RegardsHi, I found something about the Host Variable (http://help.sap.com/saphelp_nw70/helpdata/en/ed/dbf8b7823b084f80a6eb7ad43bdbb9/content.htm), there explain that if you want to use an host variable you have to put ':' as prefix..
My problem is that <u>I need to extract the minimum of the subtraction between two dates:</u>
Query <b>MIN(? - GIORNO)</b> --> <i>Error: the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</i>
So I tried to use the ':' as indicated in the manual..
<b>MIN:(? - GIORNO)</b> --> - <i>SQL syntax error: the token ":" was not expected here
- expecting LPAREN, found ':'</i>
<b>MIN(:(? - GIORNO))</b> --> <i>- 1:25 - Open SQL syntax error: :PARAMETER not allowed
- 1:26 - SQL syntax error: the token "(" was not expected here
- 1:26 - expecting ID, found '('</i>
Then I tried to avoid the MIN() function and I tried to do just the subtraction:
<b>? - GIORNO</b> --><i> - 1:21 - the arithmetic expression >>? - "GIORNO"<< contains a host variable (parameter marker)</i>
<b>:(? - GIORNO)</b> --> <i>- 1:21 - Open SQL syntax error: :PARAMETER not allowed
- 1:22 - SQL syntax error: the token "(" was not expected here
- 1:22 - expecting ID, found '('</i>
<b>'2007-09-24' - GIORNO</b> --> <i>- 1:34 - SQL syntax error: first argument of operator "-" must be a number, date/time or interval
- 1:43 - SQL syntax error: arguments of operator "-" do not have correct types
- 1:43 - SQL syntax error: derived columns in SELECT list with AS must be values</i>
<b>GIORNO - GIORNO</b> --> <i>- 1:21 - the group by list and the select list are inconsistent: the column >>"GIORNO"<< is neither grouped nor aggregated
- 1:30 - the group by list and the select list are inconsistent: the column >>"GIORNO"<< is neither grouped nor aggregated</i>
Why these parts of query are not accepted???
I don't understand why... I hope you can help me.
Best Regards
Alessandro -
Need help with conditional query
guys this is just an extension of this post that Frank was helping me with. im reposting because my requirements have changes slightly and im having a hell of a time trying to modify the query.
here is the previous post.
need help with query that can look data back please help.
CREATE TABLE "FGL"
"FGL_GRNT_CODE" VARCHAR2(60),
"FGL_FUND_CODE" VARCHAR2(60),
"FGL_ACCT_CODE" VARCHAR2(60),
"FGL_ORGN_CODE" VARCHAR2(60),
"FGL_PROG_CODE" VARCHAR2(60),
"FGL_GRNT_YEAR" VARCHAR2(60),
"FGL_PERIOD" VARCHAR2(60),
"FGL_BUDGET" VARCHAR2(60)
)data
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7600','4730','02','11','00','400');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','10','1','100');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','10','1','0');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7600','4730','02','11','1','400');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('360055','360055','7200','4730','02','10','1','400');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('360055','360055','7600','4730','02','10','1','400');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','10','14','200');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7600','4730','02','10','14','100');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','10','14','200');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','10','2','100');
Insert into FGL (FGL_GRNT_CODE,FGL_FUND_CODE,FGL_ACCT_CODE,FGL_ORGN_CODE,FGL_PROG_CODE,FGL_GRNT_YEAR,FGL_PERIOD,FGL_BUDGET) values ('240055','240055','7240','4730','02','11','2','600');
I need to find the greatest grant year for the grant by a period parameter.
once i find the greatest year i need to check the value of period 14 for that grant for the previous year and add it to the budget amount for that grant. however if their is an entry in the greatest year for period 00 then i need to ignore the period 14 of previous year and do this calculation current period +(current period - greatest year 00)
hope that makes sense so in other words with the new data above. if i was querying period two of grant year 11. i would end up with $800
because the greatest year is 11 it contains a period 0 with amount of $400 so my total should be
period 2 amount $ 600
period 0 amount $ 400 - period 2 amount of $600 = 200
600+200 = $800
if i query period 1 of grant 360055 i would just end up with 800 of grnt year 10.
i have tried to modify that query you supplied to me with no luck. I have tried for several day but im embarrased to say i just can get it to do what im trying to do .
can you please help me out.
here is the query supplied by frank kulash who gracefully put this together for me.
WITH got_greatest_year AS
SELECT fgl.* -- or whatever columns are needed
, MAX ( CASE
WHEN fgl_period = :given_period
THEN fgl_grnt_year
END
) OVER () AS greatest_year
FROM fgl
SELECT SUM (fgl_budget) AS total_budget -- or SELECT *
FROM got_greatest_year
WHERE ( fgl_grnt_year = greatest_year
AND fgl_period = :given_period
OR ( fgl_grnt_year = greatest_year - 1
AND fgl_period = 14
;MiguelHi, Miguel,
Are you waying that, when the greatest year that has :given_period also has period='00' (or '0', or whatever you want to use), then you want to double the budget from the given_period (as well as subtract the budget from the '00', and not count the pevious year's '14')? If so, add another condition to the CASE statement which decides what you're SUMming:
WITH got_greatest_year AS
SELECT TO_NUMBER (fgl_grnt_year) AS grnt_year
, fgl_period
, TO_NUMBER (fgl_budget) AS budget
, MAX ( CASE
WHEN fgl_period = :given_period
THEN TO_NUMBER (fgl_grnt_year)
END
) OVER () AS greatest_year
FROM fgl
, got_cnt_00 AS
SELECT grnt_year
, fgl_period
, budget
, greatest_year
, COUNT ( CASE
WHEN grnt_year = greatest_year
AND fgl_period = '00'
THEN 1
END
) OVER () AS cnt_00
FROM got_greatest_year
SELECT SUM ( CASE
WHEN grnt_year = greatest_year -- New
AND fgl_period = :given_period -- New
AND cnt_00 > 0 THEN budget * 2 -- New
WHEN grnt_year = greatest_year
AND fgl_period = :given_period THEN budget
WHEN grnt_year = greatest_year
AND fgl_period = '00' THEN -budget
WHEN grnt_year = greatest_year - 1
AND fgl_period = '14'
AND cnt_00 = 0 THEN budget
END
) AS total_budget
FROM got_cnt_00
;You'll notice this is the same as the previous query I posted, except for 3 lines maked "New". -
How to improve query performance built on a ODS
Hi,
I've built a report on FI_GL ODS (BW3.5). The report execution time takes almost 1hr.
Is there any method to improve or optimize th query performance that build on ODS.
The ODS got huge volume of data ~ 300 Million records for 2 years.
Thanx in advance,
Guru.Hi Raj,
Here are some few tips which helps you in improving ur query performance
Checklist for Query Performance
1. If exclusions exist, make sure they exist in the global filter area. Try to remove exclusions by subtracting out inclusions.
2. Use Constant Selection to ignore filters in order to move more filters to the global filter area. (Use ABAPer to test and validate that this ensures better code)
3. Within structures, make sure the filter order exists with the highest level filter first.
4. Check code for all exit variables used in a report.
5. Move Time restrictions to a global filter whenever possible.
6. Within structures, use user exit variables to calculate things like QTD, YTD. This should generate better code than using overlapping restrictions to achieve the same thing. (Use ABAPer to test and validate that this ensures better code).
7. When queries are written on multiproviders, restrict to InfoProvider in global filter whenever possible. MultiProvider (MultiCube) queries require additional database table joins to read data compared to those queries against standard InfoCubes (InfoProviders), and you should therefore hardcode the infoprovider in the global filter whenever possible to eliminate this problem.
8. Move all global calculated and restricted key figures to local as to analyze any filters that can be removed and moved to the global definition in a query. Then you can change the calculated key figure and go back to utilizing the global calculated key figure if desired
9. If Alternative UOM solution is used, turn off query cache.
10. Set read mode of query based on static or dynamic. Reading data during navigation minimizes the impact on the R/3 database and application server resources because only data that the user requires will be retrieved. For queries involving large hierarchies with many nodes, it would be wise to select Read data during navigation and when expanding the hierarchy option to avoid reading data for the hierarchy nodes that are not expanded. Reserve the Read all data mode for special queriesu2014for instance, when a majority of the users need a given query to slice and dice against all dimensions, or when the data is needed for data mining. This mode places heavy demand on database and memory resources and might impact other SAP BW processes and tasks.
11. Turn off formatting and results rows to minimize Frontend time whenever possible.
12. Check for nested hierarchies. Always a bad idea.
13. If "Display as hierarchy" is being used, look for other options to remove it to increase performance.
14. Use Constant Selection instead of SUMCT and SUMGT within formulas.
15. Do review of order of restrictions in formulas. Do as many restrictions as you can before
calculations. Try to avoid calculations before restrictions.
17. Turn off warning messages on queries.
18. Check to see if performance improves by removing text display (Use ABAPer to test and validate that this ensures better code).
19. Check to see where currency conversions are happening if they are used.
20. Check aggregation and exception aggregation on calculated key figures. Before aggregation is generally slower and should not be used unless explicitly needed.
21. Avoid Cell Editor use if at all possible.
22. Make sure queries are regenerated in production using RSRT after changes to statistics, consistency changes, or aggregates.
23. Within the free characteristics, filter on the least granular objects first and make sure those come first in the order. -
Query takes long time on multiprovider
Hi,
When i execute a query on the multiprovider, it takes very long time. it doesnt show up the results also. It just keep processing. I have executed the report only for one day but still it doesnt show any result. But when i execute on the cube, it executes quickly and shows the result.
Actually i added one more cube to the multiprovider and ten transported that multiprovider to QA and PRD. Transportation went on successfully. After this i am unalbe to execute the reports on that multiprovider. What might be the cause? your help is appreciated.
Thanks
AnnieHi Annie.......
Checklist for the performance of a Query........from a DOc........
1. If exclusions exist, make sure they exist in the global filter area. Try to remove exclusions by subtracting out inclusions.
2. Use Constant Selection to ignore filters in order to move more filters to the global filter area. (Use ABAPer to test and validate that this ensures better code)
3. Within structures, make sure the filter order exists with the highest level filter first.
4. Check code for all exit variables used in a report.
5. Move Time restrictions to a global filter whenever possible.
6. Within structures, use user exit variables to calculate things like QTD, YTD. This should generate better code than using overlapping restrictions to achieve the same thing. (Use ABAPer to test and validate that this ensures better code).
7. When queries are written on multiproviders, restrict to InfoProvider in global filter whenever possible. MultiProvider (MultiCube) queries require additional database table joins to read data compared to those queries against standard InfoCubes (InfoProviders), and you should therefore hardcode the infoprovider in the global filter whenever possible to eliminate this problem.
8. Move all global calculated and restricted key figures to local as to analyze any filters that can be removed and moved to the global definition in a query. Then you can change the calculated key figure and go back to utilizing the global calculated key figure if desired
9. If Alternative UOM solution is used, turn off query cache.
10. Set read mode of query based on static or dynamic. Reading data during navigation minimizes the impact on the R/3 database and application server resources because only data that the user requires will be retrieved. For queries involving large hierarchies with many nodes, it would be wise to select Read data during navigation and when expanding the hierarchy option to avoid reading data for the hierarchy nodes that are not expanded. Reserve the Read all data mode for special queriesu2014for instance, when a majority of the users need a given query to slice and dice against all dimensions, or when the data is needed for data mining. This mode places heavy demand on database and memory resources and might impact other SAP BW processes and tasks.
11. Turn off formatting and results rows to minimize Frontend time whenever possible.
12. Check for nested hierarchies. Always a bad idea.
13. If u201CDisplay as hierarchyu201D is being used, look for other options to remove it to increase performance.
14. Use Constant Selection instead of SUMCT and SUMGT within formulas.
15. Do review of order of restrictions in formulas. Do as many restrictions as you can before calculations. Try to avoid calculations before restrictions.
16. Check Sequential vs Parallel read on Multiproviders.
17. Turn off warning messages on queries.
18. Check to see if performance improves by removing text display (Use ABAPer to test and validate that this ensures better code).
19. Check to see where currency conversions are happening if they are used.
20. Check aggregation and exception aggregation on calculated key figures. Before aggregation is generally slower and should not be used unless explicitly needed.
21. Avoid Cell Editor use if at all possible.
22. Make sure queries are regenerated in production using RSRT after changes to statistics, consistency changes, or aggregates.
23. Within the free characteristics, filter on the least granular objects first and make sure those come first in the order.
24. Leverage characteristics or navigational attributes rather than hierarchies. Using a hierarchy requires reading temporary hierarchy tables and creates additional overhead compared to characteristics and navigational attributes. Therefore, characteristics or navigational attributes result in significantly better query performance than hierarchies, especially as the size of the hierarchy (e.g., the number of nodes and levels) and the complexity of the selection criteria increase.
25. If hierarchies are used, minimize the number of nodes to include in the query results. Including all nodes in the query results (even the ones that are not needed or blank) slows down the query processing. The u201Cnot assignedu201D nodes in the hierarchy should be filtered out, and you should use a variable to reduce the number of hierarchy nodes selected.
Also check this.........Recommendations for Modeling MultiProviders
http://help.sap.com/saphelp_nw70/helpdata/EN/43/5617d903f03e2be10000000a1553f6/frameset.htm
Hope this helps......
Regards,
Debjani...... -
Delay when querying from CUBE_TABLE object, what is it?
Hi Guys,
We are using Oracle OLAP 11.2.0.2.0 with an 11g Cube, 7 Dimensions, Compressed and partitioned by Month.
We have run into a performance issue when implementing OBIEE.
The main issue we have is a delay while drilling on a hierarchy. Users have been waiting 7-12 seconds per drill on a hierarchy, and the query is only returning a few cells of data. We have managed to isolate this to slow performing queries on CUBE_TABLE.
For example, the following query returns one cell of data:
SELECT FINSTMNT_VIEW.BASE, FINSTMNT_VIEW.REPORT_TYPE, FINSTMNT_VIEW.COMPANY, FINSTMNT_VIEW.SCENARIO, FINSTMNT_VIEW.PRODUCT, FINSTMNT_VIEW.ACCOUNT, FINSTMNT_VIEW.SITE, FINSTMNT_VIEW.TIME
FROM "SCHEMA1".FINSTMNT_VIEW FINSTMNT_VIEW
WHERE
FINSTMNT_VIEW.REPORT_TYPE IN ('MTD' )
AND FINSTMNT_VIEW.COMPANY IN ('E01' )
AND FINSTMNT_VIEW.SCENARIO IN ('ACTUAL' )
AND FINSTMNT_VIEW.PRODUCT IN ('PT' )
AND FINSTMNT_VIEW.ACCOUNT IN ('APBIT' )
AND FINSTMNT_VIEW.SITE IN ('C010885' )
AND FINSTMNT_VIEW.TIME IN ('JUN11' ) ;
1 Row selected in 4.524 Seconds
Note: FINSTMNT_VIEW is the automatically generated cube view.
CREATE OR REPLACE FORCE VIEW "SCHEMA1"."FINSTMNT_VIEW" ("BASE","REPORT_TYPE", "COMPANY", "SCENARIO", "PRODUCT", "ACCOUNT", "SITE", "TIME")
AS
SELECT "BASE", "REPORT_TYPE", "COMPANY", "SCENARIO", "PRODUCT", "ACCOUNT", "SITE", "TIME"
FROM TABLE(CUBE_TABLE('"SCHEMA1"."FINSTMNT"') ) ;
If we increase the amount of data returned by adding to the query, it only increased the query time by .4 seconds
SELECT FINSTMNT_VIEW.BASE, FINSTMNT_VIEW.REPORT_TYPE, FINSTMNT_VIEW.COMPANY, FINSTMNT_VIEW.SCENARIO, FINSTMNT_VIEW.PRODUCT, FINSTMNT_VIEW.ACCOUNT, FINSTMNT_VIEW.SITE, FINSTMNT_VIEW.TIME
FROM "SCHEMA1".FINSTMNT_VIEW FINSTMNT_VIEW
WHERE
FINSTMNT_VIEW.REPORT_TYPE IN ('MTD' )
AND FINSTMNT_VIEW.COMPANY IN ('E01' )
AND FINSTMNT_VIEW.SCENARIO IN ('ACTUAL' )
AND FINSTMNT_VIEW.PRODUCT IN ('PT' )
AND FINSTMNT_VIEW.ACCOUNT IN ('APBIT' )
AND FINSTMNT_VIEW.SITE IN ('C010885', 'C010886', 'C010891', 'C010892', 'C010887', 'C010888', 'C010897', 'C010893', 'C010890', 'C010894', 'C010896', 'C010899' )
AND FINSTMNT_VIEW.TIME IN ('JUN11' ) ;
12 rows selected - In 4.977 Seconds
If we increase the data returned even more:
SELECT FINSTMNT_VIEW.BASE, FINSTMNT_VIEW.REPORT_TYPE, FINSTMNT_VIEW.COMPANY, FINSTMNT_VIEW.SCENARIO, FINSTMNT_VIEW.PRODUCT, FINSTMNT_VIEW.ACCOUNT, FINSTMNT_VIEW.SITE, FINSTMNT_VIEW.TIME
FROM "SCHEMA1".FINSTMNT_VIEW FINSTMNT_VIEW
WHERE
FINSTMNT_VIEW.REPORT_TYPE IN ('MTD' )
AND FINSTMNT_VIEW.COMPANY IN ('ET', 'E01', 'E02', 'E03', 'E04' )
AND FINSTMNT_VIEW.SCENARIO IN ('ACTUAL' )
AND FINSTMNT_VIEW.PRODUCT IN ('PT', 'P00' )
AND FINSTMNT_VIEW.ACCOUNT IN ('APBIT' )
AND FINSTMNT_VIEW.SITE IN ('C010885', 'C010886', 'C010891', 'C010892', 'C010887', 'C010888', 'C010897', 'C010893', 'C010890', 'C010894', 'C010896', 'C010899' )
AND FINSTMNT_VIEW.TIME IN ('JUN11', 'JUL11', 'AUG11', 'SEP11', 'OCT11', 'NOV11', 'DEC11', 'JAN12') ;
118 rows selected - In 14.213 Seconds
If we take the time for each query and divide by the number of rows, we can see that querying more data results in a much more efficient query:
Time/Rows returned:
1 Row - 4.524
12 Rows - 0.4147
118 Rows - 0.120449153
It seems like there is an initial delay of approx 4 seconds when querying the CUBE_TABLE object. Using AWM to query the same data using LIMIT and RPR is almost instantaneous...
Can anyone explain what this delay is, and if there is any way to optimise the query?
Could it be the AW getting attached before each query?
Big thanks to anyone that can help!Thanks Nasar,
I have run a number of queries with logging enabled, the things you mentioned all look good:
Loop Optimization: GDILoopOpt COMPLETED
Selection filter: FILTER_LIMITS_FAST 7
ROWS_FAILED_FILTER 0
ROWS_RETURNED 1
Predicates: 7 pruned out of 7 predicates
The longest action I have seen in the log is the PAGING operation... but I do not see this on all queries.
Time Total Time OPERATION
2.263 27.864 PAGING DYN_PAGEPOOL TRACE GREW 9926KB to 59577KB
1.825 25.601 PAGING DYN_PAGEPOOL TRACE GREW 8274KB to 49651KB
1.498 23.776 PAGING DYN_PAGEPOOL TRACE GREW 6895KB to 41377KB
1.232 22.278 PAGING DYN_PAGEPOOL TRACE GREW 5747KB to 34482KB
1.17 21.046 PAGING DYN_PAGEPOOL TRACE GREW 4788KB to 28735KB
1.03 19.876 PAGING DYN_PAGEPOOL TRACE GREW 3990KB to 23947KB
2.808 18.846 PAGING DYN_PAGEPOOL TRACE GREW 3325KB to 19957KB
What is strange is that the cube operation log does not account for all of the query time. For example:
SELECT "BASE_LVL" FROM TABLE(CUBE_TABLE('"EXAMPLE"."FINSTMNT"'))
WHERE
"RPT_TYPE" = 'MTD' AND
"ENTITY" = 'ET' AND
"SCENARIO" = 'ACTUAL' AND
"PRODUCT" = 'PT' AND
"GL_ACCOUNT" = 'APBIT' AND
"CENTRE" = 'TOTAL' AND
"TIME" = 'YR09';
This query returns in 6.006 seconds using SQL Developer, if I then take the CUBE_OPERATION_LOG for this query and subtract the start time from the end time, I only get 1.67 seconds. This leaves 4.3 seconds unaccounted for... This is the same with the my other queries, see actual time and logged time below:
Query Actual Logged Variance
S3 6.006 1.67 4.336
L1 18.128 13.776 4.352
S1 4.461 0.203 4.258
L2 4.696 0.39 4.306
S2 5.882 1.575 4.307
Any ideas on what this could be or how I can capture this 4.3 second overhead?
Your help has been greatly appreciated.
Maybe you are looking for
-
Unable to install Essentials Role on Windows Server Technical Preview (VHD)?
Hi Having a problem trying to install Essentials Role on Windows Server Technical Preview (VHD) After reboots, AD installs, I get Configuration encountered some issues in Results wizard. Updating an preparing your server... 68% completed then it fail
-
Handling Events in CMSDK webapplication
Hi frns, I am handling events(create Directory,delete directory, move Folder,upload document etc.)and forward it(that a folder had been created,a file had been deleted etc.)to all the users who are currently logged on webapplication. To do that I hav
-
Hi friends , I want upgrade my skills in abap ,currently i am working on reports i want to develope an idoc program actually every one saying cofiguration settings and distribution model and so on..........but in general what is the actual work of a
-
How to create a matrix with choosefromlist? the value of my choosefromlist is a UDO. I have already registered my UDO. Under collection tab, i added choosefromlist where my objectType is the name of my UDO. In columns tab, i set the following:
-
Installing lightroom on new computer
I have recently upgraded my computer and want to use my lightroom 4 on my new computer. I found my serial number to use, but it asked for the serial to my previous version. I am unable to locate this...what can I do?