Query Role Problem
Hi
I have built a role that should allow users to execute all queries but to to only change/delete there own query and i have done this using the ' enhancemets to the owner' by using the $USER option.
The problem is that whilst the role works fine it only allows the users to see the queries that they have created and doesn't display any others. This is a problem as when a user logs on they have no queries to actually look at unless they have created them
Users should be able to execute all queries but only change or delete their own.
Anyone have a good template for this or know how to solve it
Message was edited by:
Andrew Watson
Can someone tell me what is missing
In RS_COMP
ActivityCreate or generate, Change, Display, Delete, Execute Include Assign
InfoArea *
InfoCube 0CCA_C11, 0COPC_C04, 0FIAP_C02, 0IC_C03,
Name (ID) of a reporting comp *
Type of a reporting componentQuery
in RSCOMP 1
Activity: Change, Display, Delete, Execute, Enter, Include, Assign
Name (ID) of a reporting compo *
Type of a reporting component Query
Owner (Person Responsible) for $USER
What happens is that as soon as I apply $user then only the reports that the user has created become visble infoareas. IS $user correct. if there are any reports in history then it says i cannot display this.I Presume because it wasn't created by the user.
Once again i need the user to display and execute everything but only change/delete their own queries.
At the moment i have just a blank box as the user hasnt created any yet??
Similar Messages
-
Hello All,
We are using a two tier architecture.
Our Corp server calls the refinery server.
Our CORP MII server uses user id abc_user to connect to the refinery data server.
The user id abc_user has the SAP_xMII_Dynamic_Query role.
The data server also has the checkbox for allow dynamic query enabled.
But we are still getting the following error
Error has occurred while processing data stream
Dynamic Query role is not assigned to the Data Server; Use query template
Once we add the SAP_xMII_Dynamic_Query role to the data server everything works fine. Is this feature by design ?
Thanks,
KiranThanks Anushree !!
I thought that just adding the role to the user and enabling the dynamic query checkbox on the data server should work.
But we even needed to add the role to the data server.
Thanks,
Kiran -
hi ,
we are generate query in 2005b,and procced for execuite query.following problem occure'<b>odbc sql server driver'[sql server] syntax error the converting the nvarchar value' 70302/20307' to column of data type int received alert OAIB</b>
QUERY SHOWN BE AS FOLLOW.
SELECT T5.DocNum as'Po. No. ', T5.DocDate as 'Po Date',T0.CreateDate,T5.NumAtCard as 'Man.PO. No/ Dt.', T0.DocNum as'AP No. ', T0.DocDate as 'AP Date',T0.NumAtCard as 'Vendor Ref. No.', T0.U_vbdt as 'Vendor Ref. Date', T0.CardName as 'Vendor', T1.Dscription as 'Item', T1.Quantity AS 'QTY' , T1.Price as 'Basic Rate', (T1.Price *T1.Quantity) as 'Value',T0.Comments as 'Po No. & Po.Dt.' FROM OPCH T0 INNER JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode INNER JOIN OPDN T3 ON T2.CardCode = T3.CardCode INNER JOIN PDN1 T4 ON T3.DocEntry = T4.DocEntry INNER JOIN OPOR T5 ON T2.CardCode = T5.CardCode INNER JOIN POR1 T6 ON T5.DocEntry = T6.DocEntry INNER JOIN OITM T7 ON T1.ItemCode = T7.ItemCode INNER JOIN OITB T8 ON T7.ItmsGrpCod = T8.ItmsGrpCod WHERE ( T1.BaseRef = T3.DocNum ) AND ( T4.BaseRef = T5.DocNum ) AND ( T0.U_vbdt >=[%25]AND T0.U_vbdt <=[%26]) AND ( T4.Dscription =T1.Dscription ) AND ( T4.Dscription = T6.Dscription ) AND (( T1.Dscription=[%0] OR T1.Dscription=[%1] OR T1.Dscription=[%2] OR T1.Dscription=[%3] OR T1.Dscription=[%4] OR T1.Dscription=[%5] OR T1.Dscription=[%6] OR T1.Dscription=[%7] OR T1.Dscription=[%8] ) OR ( T0.CardName=[%10] OR T0.CardName=[%09] OR T0.CardName=[%27] OR T0.CardName=[%28] ) OR (( T8.ItmsGrpNam =[%11] oR T8.ItmsGrpNam =[%12] OR T8.ItmsGrpNam =[%13] OR T8.ItmsGrpNam =[%14] OR T8.ItmsGrpNam =[%15] OR T8.ItmsGrpNam =[%16] OR T8.ItmsGrpNam =[%17] OR T8.ItmsGrpNam =[%18] OR T8.ItmsGrpNam =[%19] ) and ( T7.U_FirmName =[%20] OR T7.U_FirmName =[%21] OR T7.U_FirmName =[%22]
oR T7.U_FirmName =[%23] OR T7.U_FirmName =[%24] )) )Hi Vishal,
the value '70302/20307' is not an whole number so converting it to an int is not possible.
You should check your data for this value an change your query or data.
Regards
Ad -
Query designing problem while applying cell properties
Hello Experts,
I have a problem while designing query. Problem is as follow:
I have a calculated field on key figure column. This key figure calculates variance between 2 columns.
for E.g I have 2 columns Budget and Actual and third column is %Variance which should be
1. ((Actual - Budget)/Budget) *100 or
2. ((Budget -Actual)/Budget)*100, depening on some values on the row i should use any of these 2 formulas but the result should be dispalyed in single column % Variance.
how can i change the formula in key figures depending on these conditions. I can achieve this by applying cells but i dont want to do so as it is very complex way to desing these queries.
also let me know applying cells on query affects its performance or not?
Regards,
NiravHi Nitin,
Your reply may help me.
But my exact requirement is not that. Requirement is as follow:
I have created Char. Structure in row which contains few rows as revenue and few rows as expense.
I created them by creating selections. Now in case of expense the variance should be (Budget-Actual)/Budget *100.
In case of revenue variance should be (Actual-Budget)/Budget *100.
So, here i have to find out revenue & expense char. iresspective of which one is greater.
Regards,
Nirav -
Below query has problem .
Pls see the queries for Usage Summary with Partition and Without Partition
. I have executed this now so it may be in Buffer …****
DB Query ... SUM from event objects, bin variables
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
-- and event.Poid_id0 >= 266838277921701888****
-- and event.Poid_id0 < 267928993456455680****
-- and ebal.obj_id0 >= 266838277921701888****
-- and ebal.obj_id0 < 267928993456455680****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.
resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
and event.Poid_id0 >= 264199450015039488****
and event.Poid_id0 < 265237388991660032****
and ebal.obj_id0 >= 264199450015039488****
and ebal.obj_id0 < 265237388991660032****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
--848478 wrote:
Below query has problem .
Pls see the queries for Usage Summary with Partition and Without Partition
. I have executed this now so it may be in Buffer …****
DB Query ... SUM from event objects, bin variables
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
-- and event.Poid_id0 >= 266838277921701888****
-- and event.Poid_id0 < 267928993456455680****
-- and ebal.obj_id0 >= 266838277921701888****
-- and ebal.obj_id0 < 267928993456455680****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
SELECT sum(amount) , sum(quantity), event.poid_type,ebal.
resource_id,****
event.service_obj_type, event.service_obj_id0,ebal.
rate_obj_id0, ebal.OFFERING_OBJ_ID0, ebal.IMPACT_CATEGORY ****
FROM event_bal_impacts_t ebal, item_t item, event_tevent*
WHERE event.item_obj_id0 = item.poid_id0****
AND ebal.obj_id0 = event.poid_id0****
and event.Poid_id0 >= 264199450015039488****
and event.Poid_id0 < 265237388991660032****
and ebal.obj_id0 >= 264199450015039488****
and ebal.obj_id0 < 265237388991660032****
AND item.bill_obj_id0 = 148715294****
AND ebal.product_obj_id0 = 27433706****
AND ebal.account_obj_id0 = 146876519****
AND item.account_obj_id0 = 146876519****
AND event.poid_type like '%session/telco/gsm%'****
AND ebal.impact_category <> 'Free'****
AND resource_id not in (select resource_id from
resource_id_t)****
group by****
event.poid_type, ebal.resource_id,****
event.service_obj_type, event.service_obj_id0,****
ebal.rate_obj_id0, ebal.OFFERING_OBJ_ID0,ebal.
IMPACT_CATEGORY****
order by****
ebal.resource_id desc;****
--Consider getting the asterisk key fixed, since it results in invalid SQL syntax -
Failure to search - query window problem
Hello again,
Have anyone of you came across a problem with SAP search mechanism in query window attached to document field? I've created a simple query of "Select acctcode,acctname from OACT where acctcode like '2%' and postable='Y' order by acctcode" and attached it to one of document fields (doesn't matter which one). When I run this query a usual window poped up with a search field on the top, but when I typed "2" in it, selection bar moved right into first 231 account ignoring any of the lesser numbers. There is more - when I changed query to search for '5%' like accounts, I gained the same result - accounts less than 530 were ignored even if I typed "50" or "51". BUT - when I changed query sort order to "desc", all account became "findable".
I got this problem in one database only which is SAP 8.8 PL10 version upgraded recently from 2007A one. I've checked with a newly created 8.8 and such problem hasn't occured.Hello Thomasz,
I might be off base here, what happens when you use this???
Do you get the same types of query window problem???
Select
acctcode,
acctname,
segment_0
from OACT
where Segment_0 like '2%'
order by acctcode
for browse
Regards,
Zal -
Query rewrite problem related to FGAC/RLS/VPD
My problem in related to Fine Grained Access Control / DBMS_RLS.
Let's start with a simple example and elaborate further.
Basic problem:
Let's say we have two tables:
create table LEVEL1( L1NR NUMBER not null, TAG NUMBER);
alter table LEVEL1 add constraint LEVEL1_PK primary key (L1NR);
create table LEVEL2( L1NR NUMBER, L2NR NUMBER not null);
alter table LEVEL2 add constraint LEVEL2_PK primary key (L2NR);
alter table LEVEL2 add constraint LEVEL2_FK foreign key (L1NR) references LEVEL1 (L1NR);
I want to convince the database to rewrite a query that looks like this:
A)
SELECT L1.TAG, L2.L2NR
FROM
LEVEL2 L2
INNER JOIN LEVEL1 L1
ON L2.L1NR = L1.L1NR
WHERE
EXISTS( SELECT 1 FROM LEVEL1 L1B WHERE L1B.L1NR = L2.L1NR)
As L2 will be joined to L1 for my human eye and mind
it is obvious that the where clause is redundant,
and the query is equivalent to:
B)
SELECT L1.TAG, L2.L2NR
FROM
LEVEL2 L2
INNER JOIN LEVEL1 L1
ON L2.L1NR = L1.L1NR
Is there any way to convince the parser/optimizer to remove the redundant join?
Why do I have a query like A) and why I cannot rewrite it myself I will explain below.
For those to ask themselves why do I need such a thing let me elaborate.
We develop an application and we want to enforce security on the data at the row level.
The problem is more complicate than my following example, but the example is good enough.
Let's say that we have an application that makes invoices.
We want to give a user the privilege to make reports on the invoices issued for a category of customers.
I see three main ways to enforce row level security on data:
1) At the application level
2) Using views
3) Using Fine Grained Access Control / DBMS_RLS
Choice 1) is more flexible, but it has a major drawback:
You cannot make the database available for reporting with BI/ad-hoc reporting tools.
And also you have to be careful with every query you write. Or create something that takes care of the security, which can be really tricky.
And it also makes report creation for the application difficult since you need to embed the security system into the reporting module.
If you use Crystal Reports or some other reporting tool to build your application report you've got a problem.
Choices 2) and 3) are somewhat similar, but 3) is more flexible
For those who don't know how FGAC/DBMS_RLS works and don't want to dig deeper here is a short explanation:
DBMS_RLS allows the database developer to attach dynamic where clauses to queries.
It does this by rewriting queries like:
"select blabla from employees"
to "select blabla from (select * from employees where <some expression that filters the data according to the user's policy>)"
The filters are attached on a table by table basis, so queries like:
SELECT dept.NAME, empl.NAME
FROM
DEPARTMENT dept
INNER JOIN employees empl
are rewritten to
SELECT dept.NAME, empl.NAME
FROM
(SELECT * FROM DEPARTMENT WHERE <FILTER_DEPT>) dept
INNER JOIN (SELECT * FROM employees WHERE <FILTER_EMP>) empl
So far so good, nothing looks bad, but the devil is in the detail
Back to our reporting problem.
Let's say we have a scenario simpler than life, and I associate the user directly to a customer category by adding a CUST_CAT_ID column to the APP_USER table.
I want restrict the user to see only the data associated to its category (category, customers, invoices, invoice item)
So when he writes "select NAME, ADDRESS from customer" the query is rewritten to
"select NAME, ADDRESS from (SELECT * FROM CUSTOMER WHERE (EXISTS SELECT 1 FROM category join app_user on ... where customer.CUST_CAT_ID = app_user.CUST_CAT_ID and app_user.login = get_current_user()))"
where get_current_user is some framework function that gives me the current user.
A little complicated, but nothing too scary.
But when I write something like:
SELECT <relevant columns> FROM category cat JOIN customer cust JOIN invoice inv JOIN invoice_item item WHERE <some filters>
...(query totally legitimate for a sales report), this gets expanded to a scary query that looks like this:
SELECT <relevant columns>
FROM
(SELECT * FROM category WHERE (EXISTS SELECT 1 FROM app_user u WHERE u.CUST_CAT_ID = CAT_ID AND u.login = get_current_user())) cat
JOIN (SELECT * FROM customer WHERE(EXITS SELECT 1 FROM category JOIN app_user WHERE ...)) cust
JOIN (SELECT * FROM invoice WHERE(EXITS SELECT 1 FROM customer JOIN category JOIN app_user WHERE ...)) inv
JOIN (SELECT * FROM invoice_item WHERE(EXITS SELECT 1 FROM invoice JOIN customer JOIN category JOIN app_user WHERE ...)) item
WHERE
<some filters>
Oops! A query with 4 tables is expanded to a 14 tables query, when all I really need is:
SELECT <relevant columns>
FROM category cat JOIN customer cust JOIN invoice inv JOIN invoice_item item
WHERE <some filters> AND (EXISTS SELECT 1 FROM app_user u WHERE u.CUST_CAT_ID = CAT_ID AND u.login = get_current_user())
Let me tell you that we don't use here roles and privileges tables that we must use in a real life scenario.
In a real life scenario we will easily transform the original query in a 20-30 table join (grrrrrrr).
Well, I cannot change the way DBMS_RLS/FGAC works, and also if I choose to use views I cannot write a filtered view for every possible join that a user might create.
All I want is to find out if there is any way to instruct the parser/optimizer, using primary and foreign keys, optimizer parameters hints and other methods, to rewrite the query and eliminate redundant joins.
Of course I can create some materialized views or bitmap join indexes to help me in the process and speed up the query, but using this method in a database that has hundreds of tables can be a little problem in terms of management and performance.Hello again,
It appeared that, the problem is present only when I try the query in pl/sql developer.
For some reason, even though I set QUERY_REWRITE_INTEGRITY to STALE_TOLERATED, it behaved as this parameter was set to ENFORCED.
So the case was that:
for session - STALE_TOLERATED
for system - ENFORCED
In v$parameter2 against "QUERY_REWRITE_INTEGRITY" was shown "stale_tolerated", but the query was not rewritten.
When I do the same (altering the session and perform the select query) in SQLPlus, everything works as expected - the query is rewritten.
And I conclude the problem is in PL/SQL Developer (my version is 8.0.1.1498) or something related to this.
Edited by: Verdi on 2010-2-12 14:00 -
Modifying the Ad-hoc Query Infoset : problem with P9105 fields.
Hi all,
Am having problem with Infoset of Ad-hoc Query .
i need to add the Critical role Field Group to ZHR_PA_01 Infoset of Satandard Area.
for this i have imported that Infotype 9105 and included the following standard fields by drag and drop.
1. Role Category
2. Role SubCategory
3. Global Identifier
4. Personnel Number
and then Saved and Generated the infoset succesfully.(No syntax errors)
But
While testing, using the T-Code: S_PH0_48000510
if i select one of these above fields for the report,
Am getting the message that "Error when generating the report".
Error Description:The report cannot be generated because the internal description is invalid or incomplete.
means what may be the problem.?
if i select other fields its working fine.
can any body explain me clearly..??
Regars,
Kalam A.Hi Manoj,
yes, i have saved the T-code.and generated the Infoset Succesfully.
and its showing the those additional fields while testing.
for remaining fields its working fine.
but am not getting wats problem with the four fields of P9105 infotype.
could you please suggest me.?
Regards,
Kalam A. -
Query help - problems with ROLLUP
I'm trying to make a query i can use for an alert, it generates sales for the past 7 days.
This query works fine:
SELECT
CASE WHEN GROUPING(T0.[CardCode]) = 0
THEN CAST (T0.[CardCode] AS CHAR(8))
ELSE 'ALL'
END AS Customer#,
SUM(T0.[Max1099]) AS "Total Sales",
SUM(T0.[GrosProfit]) AS "Gross Profit"
FROM OINV T0
WHERE T0.[DocDate] >= DATEADD(dd,DATEDIFF(dd,0,GETDATE())-7,0) AND T0.[Max1099] > 0
GROUP BY T0.[CardCode] WITH ROLLUP
And it gives me this:
# Customer#* Total Sales* Gross Profit*
1 C2235 8,285.87 4,165.77
2 C2236 10,191.39 4,197.95
3 C2253 570.56 311.17
4 C3008 18,756.76 5,720.21
5 ALL 37,804.58 14,395.10
Which is great. Gives me a total at the end, and substitutes "ALL" for the customer number. Lovely.
Problem #1: I REALLY want it to give the Customer Name NEXT TO the Customer Number. But when I try to add it, i have to add it to the GROUP BY as well. Which changes the query to this:
SELECT
CASE WHEN GROUPING(T0.[CardCode]) = 0
THEN CAST (T0.[CardCode] AS CHAR(8))
ELSE 'ALL'
END AS Customer#,
CardName as "Cust Name",
SUM(T0.[Max1099]) AS "Total Sales",
SUM(T0.[GrosProfit]) AS "Gross Profit"
FROM OINV T0
WHERE T0.[DocDate] >= DATEADD(dd,DATEDIFF(dd,0,GETDATE())-7,0) AND T0.[Max1099] > 0
GROUP BY T0.[CardCode], T0.[CardName] WITH ROLLUP
And changes my output to THIS:
# Customer# Cust Name Total Sales Gross Profit
1 C2235 Acme Products 8,285.87 4,165.77
2 C2235 (blanks blanks) 8,285.87 4,165.77
3 C2236 Some Other Products 10,191.39 4,197.95
4 C2236 (blanks blanks blanks) 10,191.39 4,197.95
5 C2253 Third Customer Name 570.56 311.17
6 C2253 (blanks blanks blanks) 570.56 311.17
7 C3008 Fourth Customer Name 18,756.76 5,720.21
8 C3008 (blanks blanks blanks) 18,756.76 5,720.21
9 ALL 37,804.58 14,395.10
( I have replaced actual customer names, of course, and replaces actual blanks with the word 'blanks' so it would be more legible.)
I can't figure out a way to simply list the customer name next to the number. Instead , it gives me a summary for the CardCode and a summary for the CardName.
I've tried combining the two into one field, on the fly, but haven't been successful.
Problem #2 - extra credit!
If i really want this done right, i should also have a query that pulls the same data from ORIN (Credit Memos) and do a UNION ALL, but when i do this, is simply rejects me at the word "UNION"
any and all help appreciated, and to test this, you can just cut and past the query into SAP, it will run right there, no mods needed.
oops. I had to change the "Not Equal" symbol to just "greater than" for "Max1099" because it was just dropping the symbol...
Edited by: Dante Amodeo on Jan 18, 2012 6:30 PMTry:
SELECT CAST (T0.CardCode AS CHAR(8)) AS Customer#,
MAX(T0.CardName) 'Customer Name',
SUM(T0.Max1099) AS 'Total Sales',
SUM(T0.GrosProfit) AS 'Gross Profit'
FROM OINV T0
WHERE DATEDIFF(dd,T0.DocDate,GETDATE())<=7 AND T0.Max1099 > 0
GROUP BY T0.CardCode
UNION ALL
SELECT 'ALL','',SUM(T0.Max1099),
SUM(T0.GrosProfit)
FROM OINV T0
WHERE DATEDIFF(dd,T0.DocDate,GETDATE())<=7 AND T0.Max1099 > 0 -
Our BASIS transport our BW 3.5 queries to BI 7.0 system. We can open all queries on the BI 7.0 box without problem except Infoset queries. The Infoset is composed of two ODSs and when openning it BI 7.0 query designer, can not see any design element in the panes of Rows, Columns, Free Char. and etc., instead the error msg shows (in between two dashed lines below):
Terminate: query_technical_name_Fxx is not a valid characteristic for InfoProvider [A122(BRAIN)]
Diagnosis
Customer enhancement RSR00002 or the implementation of BAdI RSR_OLAB_BADI delivers query_technical_name_Fxx as the characteristic to be calculated. 1. is, however, not a valid key figure for InfoProvider .
System Response
The information from query_technical_name_Fxx is ignored.
Procedure
Check the exit.
Procedure for System Administration
We've checked the enhancement RSR00002 and it's components and find they are all the same as our BW 3.5 system. query_technical_name_Fxx is Company Code InfoObj. in one ODS and it's one of the key to join these two InfoSets.
Any idea?
Thankshi Kevin,
check if helps following oss note
Note 983449 - Termin A122 1COLUMN no valid characteristic of infoprovider
Symptom
Termination A 122 Brain occurs when you test and generate a query. The system does not recognise the characteristic 1COLUMN.
Other terms
Query, condition, COB_PRO
Reason and Prerequisites
This problem is caused by a program error.
Solution
SAP NetWeaver 2004s BI
Import Support Package 10 for SAP NetWeaver 2004s BI (BI Patch 10 or SAPKW70010) into your BI system. The Support Package is available once Note 914304 "SAPBINews BI 7.0 Support Package 10", which describes this Support Package in more detail, has been released for customers.
In urgent cases, you can implement the correction instructions.
You must first implement Notes 932065, 935140, 948389, 964580 and 969846, which provide information about transaction SNOTE. Otherwise, problems and syntax errors may occur when you deimplement some notes. -
The problem about integrate Portal and R/3 : vendor query report problem
Hi everyone :
We want to achieve that our vendor can query R/3 report via our Portal. I had done SSO configuration.
But we had about 500 vendors, it is impossible that we create 500 R/3 users for our vendors, because the cost is too much .
And there is another problem, vendor who had the authorization to query report can query the other vendor's data at same time. But we expect that certain vendor can query his data only.
I think this is a general problem when integrate Portal and R/3, BW .
Is there somebody had solved this problem or give any advice?
Any discuss is welcome.
Best Regards,
Jianguo ChenHi,
I would say: get in contact with your SAP account manager anc check which options SAP can offer you...
Normally every user using a R/3 system has to have a valid user license in that system. Expecially when you want to access control to data on user (vendor) level you nedd to identifiy the user clearly and uniquely which by standard means you need a user for every vendor.
Hth,
Michael -
I am trying to write a query to return data from 4 different tables and it is doubling my summed values. I can get the separate queries to work, but not combined and I need them combined so that I can get a balance due and limit the records to only those that had a total billed (fees) less than $200.
Query #1 Gets the total of the fees due for each appeal type and invoice:
Note: There is always at least one fee attached to an invoice.
SELECT APT.APTY_DESCR "APPEAL TYPE",
INV.INVC_ID_SEQ INVOICE,
SUM( ALL FEE.AMT_DUE) "TOTAL BILLED AMOUNT"
FROM WRD_APPEALS AP,
WRD_INVOICES INV,
WRD_FEES_DUE FEE,
WRD_APPEAL_TYPES APT
WHERE AP.APST_CD = 'PEND'
AND AP.INVC_ID_SEQ = INV.INVC_ID_SEQ
AND AP.INVC_ID_SEQ = FEE.INVC_ID_SEQ
AND AP.APTY_CD = APT.APTY_CD
GROUP BY APT.APTY_DESCR, INV.INVC_ID_SEQ
ORDER BY APT.APTY_DESCR, INV.INVC_ID_SEQ
4 BILLING CATEGORY INCORRECT 4147 1200
5 BILLING CATEGORY INCORRECT 4203 1100
6 BILLING CATEGORY INCORRECT 4216 72600
7 BILLING CATEGORY INCORRECT 4826 1000
8 BILLING CATEGORY INCORRECT 4951 2060
Query #2 Gets the total amount paid for each appeal type and invoice:
Note: An invoice may or may not have a payment, thus the outer join.
SELECT APT.APTY_DESCR "APPEAL TYPE",
INV.INVC_ID_SEQ INVOICE,
SUM(ALL PMT.PAID_AMT) "AMOUNT PAID"
FROM WRD_APPEALS AP,
WRD_INVOICES INV,
WRD_APPEAL_TYPES APT,
WRD_PAYMENTS PMT
WHERE AP.APST_CD = 'PEND'
AND AP.INVC_ID_SEQ = INV.INVC_ID_SEQ
AND AP.APTY_CD = APT.APTY_CD
AND INV.INVC_ID_SEQ = PMT.INVC_ID_SEQ(+)
GROUP BY APT.APTY_DESCR, INV.INVC_ID_SEQ
ORDER BY APT.APTY_DESCR, INV.INVC_ID_SEQ
4 BILLING CATEGORY INCORRECT 4147 200
5 BILLING CATEGORY INCORRECT 4203 0
6 BILLING CATEGORY INCORRECT 4216 72600
7 BILLING CATEGORY INCORRECT 4826
8 BILLING CATEGORY INCORRECT 4951
Combined Query - Gets all of the above as well as the balance due. Note the doubled values for some records.
SELECT APT.APTY_DESCR "APPEAL TYPE",
INV.INVC_ID_SEQ INVOICE,
SUM( ALL FEE.AMT_DUE) "TOTAL BILLED AMOUNT",
SUM(ALL PMT.PAID_AMT) "AMOUNT PAID",
(SUM(ALL FEE.AMT_DUE) -
NVL2(SUM(ALL PMT.PAID_AMT), SUM(ALL PMT.PAID_AMT), 0)) "BALANCE DUE"
FROM WRD_APPEALS AP,
WRD_INVOICES INV,
WRD_FEES_DUE FEE,
WRD_APPEAL_TYPES APT,
WRD_PAYMENTS PMT
WHERE AP.APST_CD = 'PEND'
AND AP.INVC_ID_SEQ = INV.INVC_ID_SEQ
AND INV.INVC_ID_SEQ = PMT.INVC_ID_SEQ(+)
AND INV.INVC_ID_SEQ = FEE.INVC_ID_SEQ
AND AP.APTY_CD = APT.APTY_CD
GROUP BY APT.APTY_DESCR, INV.INVC_ID_SEQ
ORDER BY APT.APTY_DESCR, INV.INVC_ID_SEQ,
4 BILLING CATEGORY INCORRECT 4147 1200 400 800
5 BILLING CATEGORY INCORRECT 4203 2200 0 2200
6 BILLING CATEGORY INCORRECT 4216 72600 435600 -363000
7 BILLING CATEGORY INCORRECT 4826 1000 1000
8 BILLING CATEGORY INCORRECT 4951 2060 2060
HELP PLEASE!
Thank you.When you have multiple child rows, the parent row gets returned once for each child row found. Therefore, if you have summed the invoice, it gets summed again for each payment. Perhaps this little example will help you understand the problem.
Note that I used a sub query here to obtain the desired results. Analytic functions can do the same I believe, but I am still learning them :-)
D> DROP TABLE DMILL.invoice;
Table dropped.
D>
D> DROP TABLE DMILL.payments;
Table dropped.
D>
D> CREATE TABLE invoice AS
SELECT 1 id, 10 amount FROM DUAL UNION ALL
SELECT 2 id, 10 FROM DUAL UNION ALL
SELECT 2 id, 10 FROM DUAL UNION ALL
SELECT 3 id, 10 FROM DUAL;
Table created.
D>
D> CREATE TABLE payments AS
SELECT 1 inv_id, 5 amount FROM DUAL UNION ALL
SELECT 1 inv_id, 5 amount FROM DUAL UNION ALL
SELECT 2 inv_id, 5 amount FROM DUAL UNION ALL
SELECT 2 inv_id, 5 amount FROM DUAL UNION ALL
SELECT 2 inv_id, 5 amount FROM DUAL;
Table created.
D>
D> select * from invoice;
ID AMOUNT
1 10
2 10
2 10
3 10
D>
D> select * from payments;
INV_ID AMOUNT
1 5
1 5
2 5
2 5
2 5
D>
D> select id
,sum (amount)
from invoice
group by id;
ID SUM(AMOUNT)
1 10
2 20
3 10
D>
D> select inv_id
,sum(amount)
from payments
group by inv_id;
INV_ID SUM(AMOUNT)
1 10
2 15
D>
D> select inv.id
,inv.amount
,pay.amount
from invoice inv
,payments pay
where pay.inv_id = inv.id;
ID AMOUNT AMOUNT
1 10 5
1 10 5
2 10 5
2 10 5
2 10 5
2 10 5
2 10 5
2 10 5
8 rows selected.
D>
D> select inv.id
,sum(inv.amount)
,sum(pay.amount)
from invoice inv
,payments pay
where pay.inv_id = inv.id
group by inv.id;
ID SUM(INV.AMOUNT) SUM(PAY.AMOUNT)
1 20 10
2 60 30
D>
D> select inv.id
,sum(inv.amount)
,(SELECT sum(pay.amount)
FROM payments pay
WHERE pay.inv_id = inv.id)
from invoice inv
group by inv.id;
ID SUM(INV.AMOUNT) (SELECTSUM(PAY.AMOUNT)FROMPAYMENTSPAYWHEREPAY.INV_ID=INV.ID)
1 10 10
2 20 15
3 10Let me know if you need further explanation. -
I didn't find any report of this problem...
Using APEX 3.0.1.00.07, I have a report of type "SQL Query (PL/SQL function body returning SQL query)" with the "Use Generic Column Names (parse query at runtime only)" radio button selected.
When the region source contains the string "ORDER BY" in any form that I've tried (even in a comment), attempting to save the region fails with "Your query can't include an "ORDER BY" clause when having column heading sorting enabled."
I do indeed have column sorting enabled on certain columns, but I don't see how that is relevant under these circumstances since the query produced at runtime does not have an ORDER BY clause.
Am I overlooking something or is this a parsing problem?
RodneyRodney,
It's just checking for order by being included in your query, and if so and you have column heading sorting enabled, it's raising this error because you can't have both (even if it's commented out).
Regards,
Marc -
Hi there,
In QA, when I try to open the local view or global view of a query in BEx, I am getting the following error/message
"The following objects were not found when accessing the server.."
-Press Repair to correct the problem(incorrect parts of the query are automatically deleted)
If anyone has faced the issue kindly let me know.
Thank You
AceHi Ace,
Welcome to SDN!
It seems the objects mentioned in the message were not available in the dataprovider on which the query is based, hence the query designer is trying to correct this (which is a default behavior of the query designer).
This can happen if you had those objects in the datatarget initially and both the datatarget/query were transported into QA initially, and subsequently any of those objects may have been removed from the datatarget definition, and when the latest objects are moved to QA, by default query designer detects it and prompts you for the correction.
So, after validating the fact that those missing objects were removed for valid reasons from the corresponding datatarget definition, click on repair and you should be able to continue further.
Hope it helps,
Sree -
hey guys,
i've used a select query to get details from KNA1, KNVV, ADRC, KNVP, pa0002. tables by joining. but i'm getting only about 170 records. there are more than 3000 records in the database. for each tables. here is my select query
SELECT KNA1KUNNR KNA1NAME1 KNA1NAME2 ADRCSTR_SUPPL1 ADRCSTR_SUPPL2 ADRCSTR_SUPPL3 ADRCCITY1 KNVVVWERK KNVPPERNR PA0002VORNA PA0002NACHN KNVVVKBUR KNVVKDGRP KNA1STCD1 KNA1~STCEG
INTO CORRESPONDING FIELDS OF TABLE IT_FINAL FROM KNA1
INNER JOIN KNVV ON KNA1KUNNR = KNVVKUNNR
INNER JOIN ADRC ON KNA1ADRNR = ADRCADDRNUMBER
INNER JOIN KNVP ON KNA1KUNNR = KNVPKUNNR
INNER JOIN PA0002 ON KNVPPERNR = PA0002PERNR
WHERE KNA1KUNNR IN S_KUNNR AND KNVVVWERK in P_VWERK AND PA0002PERNR IN S_PERNR AND KNVVVKBUR IN S_VKBUR AND KNVV~KDGRP IN S_KDGRP.
can anyone tell me the problem in the above query.
thanks.Hi
you are using tables KNA1, KNVV, ADRC, KNVP, pa0002.
Create internal table for each table mentioned above with all the primary keys and find the links between them
then select data in one table and select data from another table into your internal table for all the entries exists in firs internal table.
go for below links.
http://www.sapdev.co.uk/abap/commands/select_forallentries.htm
http://wiki.sdn.sap.com/wiki/display/ABAP/FORALLENTRIES-Home+page
http://help.sap.com/abapdocu_70/en/ABENWHERE_LOGEXP_ITAB.htm
Thanks
lalit
Maybe you are looking for
-
No sound after recording MIDI using cycle mode take folder
I'm going through the Apple Certified training book "Logic Pro 9 and Logic Express 9". My project and global settings are pretty close to what comes with Logic when you install them. I.e. I haven't been messing with any settings not explicitly descri
-
How can I tell what app makes up the "usage"?
Under General Settings, you have the option to view usage. How can I tell what app is using that "usage"? It is not data, just time active.
-
MacBook, Snow Leopard & iPhoto'09
There have been several posts regarding Snow Leopard and graphics corruption, yet none seem to relate to the problems I'm having (or I haven't found one yet). I have recently upgraded my mid-2007 MacBook (2.16GHz C2D, 4GB RAM) to Snow Leopard and upd
-
Process: iPhoto [1565] Path: /Applications/iPhoto.app/Contents/MacOS/iPhoto Identifier: com.apple.iPhoto Version: 9.4.3 (9.4.3) Build Info: iPhotoProject-720091000000000~2 Code Type: X86 (Native) Parent Proc
-
I want to change the update colour of any hyperlink URL after I have visited it
I would like to change the highlight colour that my system applies after I have used any URL address link in the main display text. Currently it is a similar shade of blue to that of the original URL and I would like to change this to, say, red. Goog