Datasets question
Banging my head against a wall here, need some Datasets help:
<div spry:region="dsSupport">
<select spry:repeatchildren="dsSupport"
spry:choose="choose" name="prodlist"
onChange="dsSupport.setCurrentRow(this.selectedIndex);
dsDownload.setCurrentRow('{dsSupport::row}');">
<option spry:when="{ds_RowNumber} ==
{ds_CurrentRowNumber}"
selected="selected">{listname}</option>
<option
spry:default="default">{listname}</option>
</select>
</div>
Am pretty new to spry data sets and i cannot get this to
work, basically the options list here fills with data drom the
dsSupport dataset, when you change the selected item it changes the
row in that dataset, what i also need it to do is to change the row
in the dsDownload dataset to the row specified in the 'row' colomn
in dsSupport. Does that make sense? Any suggestions anyone?
ok i've now given up on trying to do it within the select box
and i'm going the method of using an observer, i've set the select
box back and that works fine changing the row in dsSupport (page
updates correctly).
I've now put an observer in the heading:
var myObserver = new Object;
myObserver.onCurrentRowChanged = function(dataSet, data)
var line = dsSupport.getCurrentRow();
var data = line["@row"];
dsDownload.setCurrentRow(data);
dsSupport.addObserver(myObserver);
The page continues to change correctly but the other dataset
(dsDownload) still does not change. I changed the code slightly so
i could see what was being passed to it:
var myObserver = new Object;
myObserver.onCurrentRowChanged = function(dataSet, data)
var line = dsSupport.getCurrentRow();
var data = line["@row"];
alert(data);
// dsDownload.setCurrentRow(data);
dsSupport.addObserver(myObserver);
Alert just pops up a message saying 'undefined' leading me to
think its NOT pulling the data from dsSupport.
Can anyone help, i feel i am inches away but just cannot get
there!!
Similar Messages
-
We are beginning to prepare for the Unicode enabling of our custom ABAP programs and I have a question about the new OPEN DATASET statement. We have programs that write sequential files for use by the following:
1) ABAP programs that execute on our own SAP system
2) Non-SAP programs that execute in our data center
3) Programs (which may or may not be SAP) that execute in the data centers of other completely independent companies.
Conversely, we have programs that read files supplied by those systems.
After reading through a lot of information, I am reaching the conclusion that for our files that contain only character data, it would be safe for us to modify our OPEN DATASET statements simply to use u201COPEN DATASET IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORSu201D without attempting to be more explicit with some of the other options that are available.
Can any of you confirm that this is (or is not) a valid assumption?yes you can go ahead with that..for the text files and chardata files
OPEN DATASET IN TEXT MODE ENCODING DEFAULT IGNORING CONVERSION ERRORSu201D -
How to generate XML for following?
Hello Everyone,
I have following snippet of PLSQL code with for loops and record type arrays. Each loop can return separate number of rows and iterate that many times. For e.g. the for loop tab_rec may fetch 50 rows where as the for loop sql_rec may return 80 rows.
I need to acoomodate all of these record arrays into a single xml file. Each for loop will repreesent one data set. Something like this.
<dataset>
<set value = tab_rec(kounter).tvalue >
<set value = ?
</dataset>
Questions:
1) How can I dynamically generate just one single XML file for all for loops metnioend below in this message?
2) How can I dynamically generate tags for e.g. <set> tag above if I put XMLELEMENT() under a for loop kounter. To explain this in a better way consider pseudo code example below.
for i in 1..kounter loop
<dataset>
<set value = tab_rec(i).tvalue >
*<set value = *?* -- How do i generate these <set> tags when tebrec(i).value will return many rows?*_
</dataset>
Thanks for reading this post. Again, the exmple for loops to generate one single XML file is given below.
For loops in the issue are mentioned below
FOR a IN tab_recc
LOOP
tab_rec (tab_kounter).tsegment := a.ebs_table;
tab_rec (tab_kounter).tbytes := a.sizemb;
tab_kounter := tab_kounter + 1;
END LOOP;
FOR b IN sql_recc
LOOP
sql_rec (sql_kounter).thash := b.hash_value;
sql_rec (sql_kounter).texecution_read := b.reads_per_execution;
sql_kounter := sql_kounter + 1;
END LOOP;
FOR c IN sess_recc
LOOP
sess_rec (session_kounter).tsid := c.SID;
sess_rec (session_kounter).tvalue := c.VALUE;
session_kounter := session_kounter + 1;
END LOOP;
FOR d IN user_recc
LOOP
user_rec (dbuser_kounter).tphysical_reads := d.physical_reads;
user_rec (dbuser_kounter).tuser := d.username;
dbuser_kounter := dbuser_kounter + 1;
END LOOP;
FOR e IN ebs_user
LOOP
ebs_rec (ebs_kounter).tuser := e.user_name;
ebs_rec (ebs_kounter).ttime := e.rtime;
ebs_kounter := ebs_kounter + 1;
END LOOP;Sorry for delay in response.
I have pasted the complete code that will show the relation ship between data and XML. What I am trying to do here is to prepare smal packets of XML through XML element and then roll it up to a final grand CLOB variable. and pass that through XML creation. I have used DBMS_JAVA package to append clobs.
The issue now I am running into, it generates JUNK in xml. pure junk and nothing else Thanks R,
FOR a IN tab_recc
LOOP
tab_rec (tab_kounter).tsegment := a.ebs_table;
tab_rec (tab_kounter).tbytes := a.sizemb;
tab_kounter := tab_kounter + 1;
END LOOP;
FOR b IN sql_recc
LOOP
sql_rec (sql_kounter).thash := b.hash_value;
sql_rec (sql_kounter).texecution_read := b.reads_per_execution;
sql_kounter := sql_kounter + 1;
END LOOP;
FOR c IN sess_recc
LOOP
sess_rec (session_kounter).tsid := c.SID;
sess_rec (session_kounter).tvalue := c.VALUE;
session_kounter := session_kounter + 1;
END LOOP;
FOR d IN user_recc
LOOP
user_rec (dbuser_kounter).tphysical_reads := d.physical_reads;
user_rec (dbuser_kounter).tuser := d.username;
dbuser_kounter := dbuser_kounter + 1;
END LOOP;
FOR e IN ebs_user
LOOP
ebs_rec (ebs_kounter).tuser := e.user_name;
ebs_rec (ebs_kounter).ttime := e.rtime;
ebs_kounter := ebs_kounter + 1;
END LOOP;
FOR aa IN 1 .. tab_kounter
LOOP
if aa = 1 then
SELECT XMLELEMENT
("dataset",
xmlattributes (v_top50id1 AS "Id"),
XMLELEMENT ("set",
xmlattributes (aa AS "Id",
tab_rec (aa).tsegment AS "value"
).getclobval ()
INTO tablob --clob type
FROM DUAL;
end if;
END LOOP;
FOR bb IN 1 .. sql_kounter
LOOP
if bb = 1 then
SELECT XMLELEMENT
("dataset",
xmlattributes (v_top50id2 AS "Id"),
XMLELEMENT ("set",
xmlattributes (bb AS "Id",
sql_rec (bb).thash AS "value"
).getclobval ()
INTO sqlob --clob type
FROM DUAL;
end if;
END LOOP;
FOR cc IN 1 .. session_kounter
LOOP
if cc= 1 then
SELECT XMLELEMENT
("dataset",
xmlattributes (v_top50id3 AS "Id"),
XMLELEMENT ("set",
xmlattributes (cc AS "Id",
sess_rec (cc).tsid AS "value"
).getclobval ()
INTO sesslob --clob type
FROM DUAL;
end if;
END LOOP;
FOR dd IN 1 .. dbuser_kounter
LOOP
if dd = 1 then
SELECT XMLELEMENT
("dataset",
xmlattributes (v_top50id4 AS "Id"),
XMLELEMENT ("set",
xmlattributes (dd AS "Id",
user_rec (dd).tuser AS "value"
).getclobval ()
INTO dbulob --clob type
FROM DUAL;
end if;
END LOOP;
FOR ee IN 1 .. ebs_kounter
LOOP
if ee = 1 then
SELECT XMLELEMENT
("dataset",
xmlattributes (v_top50id5 AS "Id"),
XMLELEMENT ("set",
xmlattributes (ee AS "Id",
ebs_rec (ee).tuser AS "value"
).getclobval ()
INTO ebslob --clob type
FROM DUAL;
end if;
END LOOP;
SELECT XMLELEMENT
("Chart",
xmlattributes (v_caption AS "caption",
v_subcaption AS "shownames",
v_xaxisname AS "showvalues",
v_yaxisname AS "decimals"
XMLELEMENT ("categories",
XMLELEMENT ("category",
xmlattributes (v_label1 AS "label")
XMLELEMENT ("category",
xmlattributes (v_label2 AS "label")
XMLELEMENT ("category",
xmlattributes (v_label3 AS "label")
XMLELEMENT ("category",
xmlattributes (v_label4 AS "label")
XMLELEMENT ("category",
xmlattributes (v_label5 AS "label")
XMLELEMENT ("category",
xmlattributes (v_label6 AS "label")
tablob, --clob type
sqlob, --clob type
sesslob, --clob type
dbulob, --clob type
ebslob --clob type
).getclobval ()
INTO v_top50 --clob type
FROM DUAL;
DBMS_LOB.append (v_xmlmessage, v_top50); --both are clob type
v_filename := 'Top50.xml';
writexml (p_dir_path => v_dir_path,
p_filename => v_filename,
p_xml => v_xmlmessage
); -
Newbie question about datasets
Say I wanted to use data from a recordset from an asp page
from an access database for the dynamic table, would the data have
to be made into an xml file first? or what? If so anyone know of
some good articles on turning access database tables/querys or
recordsets into xml? I'll real new to all the xml stuff, it look
great, but I just do not see the benefit unless you can some how
right it on the flyso once you get your specific data base info set up, in it
-db connection info
-sql statement
If you are using the manual mode, set up your required node
names.
If you are using the automatic version, just get up the db
info and go.
then you can use it directly in your Spry page.
var ds1 = new Spry.Data.XMLDataSet("yourXML.asp","root/row");
and then build your page from there.
You don't have to output a static XML file from this. Spry
takes any page that generates XML.
I am not sure how most people build RSS feeds or otherwise.
Some make static files, some build static files from databases.
Just depends.
If the info is going to be mostly unchanging, a static file
would work.
If it is going to change often, a database driven file would
be a better choice. Just depends on your needs. People have XML
files with thousands of records or just a few. It comes in all
types.
So once your ASP page is set up, you should be able to browse
to it and see the valid XML tree.
Let us know if you have more questions.
Don
Then set up your dataset using that page directly and off you
go. -
Best Practices: Question about Passing DataSet to Crystal through C#
I have used the tutorial provided by Business Objects and have successfully passed a dataset from C# code to Crystal Reports.
I have a few questions about "best pratices" though.
It appears that when passing the dataset to crystal then you no longer have the ability to put SQL Expressions in the report anymore otherwise errors will occur.
So, I'm trying to come up with a way to have a custom field in the SELECT statement and have it show up on the report as a field. So, in the below example I created a custom SQL field called TIMES7 in the query.
"Select CLM_ID, CLM, PAID_111X, *(PAID111X * 7) As TIMES7*_ From WIKI.MULCRICKET WHERE CLM_ID < 5"
If I create a formula field in Crystal and set it's value to {MULCRICKET .TIMES7} then it works like a hybrid SQL Expression at run-time.
This does work but has issues because the database field doesn't really exist in the design environment which causes error when the formula is saved. But it does work at run-time.
I was wondering if their was a best practice for this?So why are you using a formula that doesn't work? If it errors in the designer it's telling you it's not supported.
Drop the formula into a filed and hide it if you don't want it displayed, this way it gets into the record selection formula.
"Best Practices" is don't use formulae that won't verify in the Designer. "If it doesn't work in the designer it won't work in code"
If you need to add an "unknown" field at run time then use RAS to insert the field. -
I have a general question to any of the experts using the
Spry dataset. I created a test page that works beautifully, and
want to use it as a portfolio presentation on my website. It
automatically created two pages – the dataset, and it’s
data counterpart. The “data” page is a long scrolling
tabled page with a link/content/description column – the
“content” column cells each contain a fairly large
image that displays on the main dataset page in a
“window” as each item is selected.
My question is this – when the dataset calls/displays a
cell from the data page, is it only loading the image that’s
being called, or does it need to load all of the images on the data
page (even though they aren’t displayed until selected)? I
originally assumed they were being called individually, but when I
set up a similar page to display my flv and swf animations in, the
dataset worked - but when the first animation was displayed I could
hear the audio of all of the other animations that were on the
original data page at the same time. This leads me to believe that
there is a definite download/time issue on a page that has several
fairly weighty images/animations...
This could be a HUGE shot in the foot if a viewer is browsing
on a slower connection. My current site uses flash with externally
linked images and works perfectly:
http://www.jgigandet.com/.
Each image loads only when they are called (but it’s a hassle
to make updates to the portfolio)… is there a way to only
load each image as it’s called using the spry menu?
Thanks to anyone who has any insight or advice,
JesseI'm not feelin the love - is there another place we can ask
Adobe experts questions about their software? -
I just want to know how the spry dataset works, and if it's a
good choice for what I'm trying to do. I'm not looking to critique
or demean the technology - for the most part it works awesome. I
just need some clear paramerters of how it works, and if loading a
long list of large images will crash and burn on a slow
connection...? Does anyone have any other ways of contacting Adobe
support directly with questions such as these?
Thanks - this is my last post of this question to bubble it
back to the top... promise... -
Open dataset - Lines getting truncated-Question cancelled
Question cancelled
Message was edited by:
Arjun PuthuruthyWalter - I ultimately removed the line feed statement Removed the other additions too.
open dataset dset for output in legacy text mode message msg_tab.
'#' is gone. Waiting to hear back from the legacy system team.
Aparna - You are right.. We have been noticing the same issue for other programs as well. But users are used to checking in notepad (very difficult convincing them).. Was there any problem @ the Unix end in your project? I am yet to check with the legacy system team if it's fine at their end..
Hope all goes well
Else I will re-visit this thread.
Thanks to all.
Regards,
DS
Edited by: D S on Jun 12, 2008 4:02 PM -
Noob Question: Flowing Input Dataset Row/Record IDs Through to the Score Model Output
I've got a noob question that I'm having difficulty finding the answer to: if my input dataset contains row/record IDs and I want to flow these through to the Score Model module output but *don't* want to include this column in model training (because
it's just an arbitrary row tag), how do I go about accomplishing this?
I am able to Project Columns and eliminate the IDs entirely early in the process but then can't really determine which input row a prediction is associated with because I've lost the IDs. I'm not quite sure how to accomplish what I'm trying to do via
the Metadata Editor, either.
Surely somebody else has dealt with this same question. If the solution is implemented somewhere in a Gallery experiment that you'd like to point me at, too, that would also be just as good as a written explanation.
Thanks in advance,
KevinHey Kevin!
Sorry for making this process unclear :( Azure ML has a notion of Feature Columns
(by default everything is a Feature), that is columns/variables that are intended to be treated as part of the observation vector. You can use the Metadata Editor
and (after selecting the column(s) you want), mark the column as
Fields -> Clear Feature. This will have the semantics you desire - data attached to the input data while not being used for training.
Regards,
AK -
Question about dataset in demo photo Gallery V.2
So I'm going to try and be as specific as possible.
I'm trying to use the code on the Spry demo page to create a gallery and I'm stuck on how to get it to load my .xml files instead of the china, egypt, and paris files. The only reference I see to a dataset is in the "gallery_xds.js" file. Am I completely missing something? I can get it to access my files, though it just opens them on a blank page.
Any advice?
JimmyNevermind. I need to reset the cache on my browser.
-
Question re ENCODING cp option of OPEN DATASET statement
I'm working on a 6.0 system with 4.6 data that I've downloaded from the 4.6 system and uploaded to the 6.0 system.
The 4.6 data has "umlauts" in it (like when "o's" have two dots above them in Scandinavian names), and when my READ DATASET executes on the 6.0 server, my try block is catching a CX_SY_CONVERSION_CODEPAGE error.
I'm assuming that to solve this, I will need to specify the codepage of the 4.6 server in the ENCODING codepage option of the OPEN DATASET statement that's exceuting on the 6.0 server.
Will this solve the problem? If not, what do I try next ?
Also, how can I determine the system codpage of my current ABAP "text environment"? I know all the possibilities are in table TCP0P, but how do I know which one is "active" ???
Thanks guys.Hi,
Refer this OPEN DATASET in ECC6.0 solves your problem and also check the abap documentation for system codepage and text environment.
For unicode systems,system code page is UTF-16.
Thanks.
Ramya. -
Spry XML Dataset Video Gallery Question
Hi there,
We are trying to create a video gallery using a Spry XML Dataset.
It's currently working in FF and Safari, but not working in IE6-7 or Opera.
Here is a link... http://www.rightsidedesign.com.au/test/tv.html
IE seems to display the content for a second, but it doesn't load the videos or text, but then it disappears.
The elements being fed via the dataset are the video, video description (at bottom right of video) and thumbnails
Can anyone give us a hint as to what we might be doing wrong??
We followed the tutorial at... http://www.coremediadesign.co.uk/web_design_tutorials/dreamweaver_tutorials/spry_image_gal lery_adobe.html
and replaced the image with an FLV player.
Thanks for your help in advance!Hi there,
We are trying to create a video gallery using a Spry XML Dataset.
It's currently working in FF and Safari, but not working in IE6-7 or Opera.
Here is a link... http://www.rightsidedesign.com.au/test/tv.html
IE seems to display the content for a second, but it doesn't load the videos or text, but then it disappears.
The elements being fed via the dataset are the video, video description (at bottom right of video) and thumbnails
Can anyone give us a hint as to what we might be doing wrong??
We followed the tutorial at... http://www.coremediadesign.co.uk/web_design_tutorials/dreamweaver_tutorials/spry_image_gal lery_adobe.html
and replaced the image with an FLV player.
Thanks for your help in advance! -
Importing Datasets Scripting Question
Hi,
I'm new to scripting in Illustrator and I have a pretty simple problem. After one loads a variable library into an Illustrator document, one must first select the newly loaded data set in the Data Set drop down menu before it actually populates the document. How could I code for this latter step (the selection from the drop down menu) in javascript?
First I would import the library via:
docRef.importVariables(new File(xmlFilePath));
And then what?
Thanks for reading.check this post
http://forums.adobe.com/thread/513517?tstart=0
hope it helps;
cheers; -
In order to dynamically display data in the Report Header based in the current record of the Dataset, we started using Shared Variables, we initially used ReportItems!SomeTextbox.Value, but we noticed that when SomeTextbox was not rendered in the body
(usually because a comment section grow to occupy most of the page if not more than one page), then the ReportItem printed a blank/null value.
So, a method was defined in the Code section of the report that would set the value to the shared variable:
public shared Params as String
public shared Function SetValues(Param as String ) as String
Params = Param
Return Params
End Function
Which would be called in the detail section of the tablix, then in the header a textbox would hold the following expression:
=Code.Params
This worked beautifully since, it now didn't mattered that the body section didn't had the SetValues call, the variable persited and the Header displayed the correct value. Our problem now is that when the report is being called in different threads with
different data, the variable being shared/static gets modified by all the reports being run at the same time.
So far I've tried several things:
- The variables need to be shared, otherwise the value set in the Body can't be seen by the header.
- Using Hashtables behaves exactly like the ReportItem option.
- Using a C# DLL with non static variables to take care of this, didn't work because apparently when the DLL is being called by the Body generates a different instance of the DLL than when it's called from the header.
So is there a way to deal with this issue in a multi thread safe way?
Thanks in advance!
Hi Angel,
Per my understanding that you want to dynamic display the group data in the report header, you have set page break based on the group, so when click to the next page, the report hearder will change according to the value in the group, when you are using
the shared variables you got the multiple thread safe problem, right?
I have tested on my local environment and can reproduce the issue, according to the multiple safe problem the better way is to use the harshtable behaves in the custom code, you have mentioned that you have tryied touse the harshtable but finally got
the same result as using the ReportItem!TextBox.Value, the problem can be cuased by the logic of the code that not works fine.
Please reference to the custom code below which works fine and can get all the expect value display on every page:
Shared ht As System.Collections.Hashtable = New System.Collections.Hashtable
Public Function SetGroupHeader( ByVal group As Object _
,ByRef groupName As String _
,ByRef userID As String) As String
Dim key As String = groupName & userID
If Not group Is Nothing Then
Dim g As String = CType(group, String)
If Not (ht.ContainsKey(key)) Then
' must be the first pass so set the current group to group
ht.Add(key, g)
Else
If Not (ht(key).Equals(g)) Then
ht(key) = g
End If
End If
End If
Return ht(key)
End Function
Using this exprssion in the textbox of the reportheader:
=Code.SetGroupHeader(ReportItems!Language.Value,"GroupName", User!UserID)
Links belowe about the hashtable and the mutiple threads safe problem for your reference:
http://stackoverflow.com/questions/2067537/ssrs-code-shared-variables-and-simultaneous-report-execution
http://sqlserverbiblog.wordpress.com/2011/10/10/using-custom-code-functions-in-reporting-services-reports/
If you still have any problem, please feel free to ask.
Regards
Vicky Liu -
Hi all,
trying to figure this out in REPORT BUILDER, but I guess I can go to VS if needed...
I've got a data set that says "sales" and its basically order summarycontaining:
id, dateplaced, and other stuff...
I want to use this dataset to show trendline for annual qty of orders
created line chart with "countDistinct(id)" as the series for X
category groups = groupby "=Month(dateplaced)" and label "=MonthName(Month(dateplaced)"
series groups = group by "=Year(dateplaced)" and label the same.
I think this is working as intended, please correct if not.
The PROBLEM I'm seeing is that since my dataset returns data starting around september so my "axis" starts in september... I really would prefer it starts at Jan and ends in December... I can't see any way to do this...
The only things I could think of are;
put fake data in dataset that returns "empty" values for jan in the first year of data...
change the query completely to make sure tehre are "year" "month" groupings... somehow...
but both of these approaches seem to be "hacky" and not very maintainable or clear...
Help!Hi noJedi,
According to your description, you want to you have the category group in your chart always start from January. Right?
In Reporting Services, when we set category group, the records will sort by the sequence of data in database by default. However, we can apply expression in
Sorting so that those records can sort by the month. We have tested your scenario in our local environment, here are steps and screenshots for your reference:
1. Create a chart and put the corresponding expression into category and series group.
2. Right click on category group. Go to Sorting tab. Put the expression below into sorting expression.
3. Save and preview. The result looks like below:
Reference:
Sort Data in a Data Region (Report Builder and SSRS)
If you have any question, please feel free to ask.
Best Regards,
Simon Hou -
Hi Friends,
I was face some Interview.
Please send answers to the questions?
How many data Fields and key fields we can create in DSO?
You can overwrite key fields or Data Fields?
Which up date we use in Delta queue extraction( v1 or v2 or v3)
Which message we get when transported request is failed?
what is the Structural difference between Infoucbe and DSO
Data Loading is taking huge time when we extract data from source system to BI system/ how to solve?(Before it took 3-4 Hours now data loading takes 4 days)What is the difference between Display Attribute and
Navigational Attribute? How to make display attribute and navigational
attribute?
How to load flat file data?
How to load Hierarchy file data?
What is HACR?
How to maintain HACR?
If any issue in HACR then how to resolve the issue?
What is Baby Cube?
Why we are creating Aggregates?
What is the use of Aggregates?
Is there
any particular field on that we can create Aggregates or we can maintain
Aggregate on any field?
What is
the different DSO available? And what is the difference between those DSO?
What is
replacement path?
What are
the extractor types?
• Application Specific
o BW Content FI, HR, CO, SAP CRM, LO Cockpit
o Customer-Generated Extractors
LIS, FI-SL, CO-PA
• Cross Application (Generic Extractors)
o DB View, InfoSet, Function Module
2. What are the steps involved in LO Extraction?
• The steps are:
o RSA5 Select the DataSources
o LBWE Maintain DataSources and Activate Extract Structures
o LBWG Delete Setup Tables
o 0LI*BW Setup tables
o RSA3 Check extraction and the data in Setup tables
o LBWQ Check the extraction queue
o LBWF Log for LO Extract Structures
o RSA7 BW Delta
Queue Monitor
3. How to create a connection with LIS InfoStructures?
• LBW0 Connecting LIS InfoStructures to BW
4. What is the difference between ODS and InfoCube and MultiProvider?
• ODS: Provides granular data, allows overwrite and data is in transparent
tables, ideal for drilldown and RRI.
• CUBE: Follows the star schema, we can only append data, ideal for primary
reporting.
• MultiProvider: Does not have physical data. It allows to access data from
different InfoProviders (Cube, ODS, InfoObject). It is also preferred for
reporting.
5. What are Start routines, Transfer routines and Update routines?
• Start Routines: The start routine is run for each DataPackage after the data
has been written to the PSA and before the transfer rules have been executed.
It allows complex computations for a key figure or a characteristic. It has no
return value. Its purpose is to execute preliminary calculations and to store
them in global DataStructures. This structure or table can be accessed in the
other routines. The entire DataPackage in the transfer structure format is used
as a parameter for the routine.
• Transfer / Update Routines: They are defined at the InfoObject level. It is
like the Start Routine. It is independent of the DataSource. We can use this to
define Global Data and Global Checks.
6. What is the difference between start routine and update routine, when, how
and why are they called?
• Start routine can be used to access InfoPackage while update routines are
used while updating the Data Targets.
7. What is the table that is used in start routines?
• Always the table structure will be the structure of an ODS or InfoCube. For
example if it is an ODS then active table structure will be the table.
8. Explain how you used Start routines in your project?
• Start routines are used for mass processing of records. In start routine all
the records of DataPackage is available for processing. So we can process all
these records together in start routine. In one of scenario, we wanted to apply
size % to the forecast data. For example if material M1 is forecasted to say
100 in May. Then after applying size %(Small 20%, Medium 40%, Large 20%, Extra
Large 20%), we wanted to have 4 records against one single record that is
coming in the info package. This is achieved in start routine.
9. What are Return Tables?
• When we want to return multiple records, instead of single value, we use the
return table in the Update Routine. Example: If we have total telephone expense
for a Cost Center, using a return table we can get
expense per employee.
10. How do start routine and return table synchronize with each other?
• Return table is used to return the Value following the execution of start
routine
11. What is the difference
between V1, V2 and V3 updates?
• V1 Update: It is a Synchronous update. Here the Statistics update is carried
out at the same time as the document update (in the application
tables).
• V2 Update: It is an Asynchronous update. Statistics update and the Document
update take place as different tasks.
o V1 & V2 don't need scheduling.
• Serialized V3 Update: The V3 collective update must be scheduled as a job
(via LBWE). Here, document data is collected in the order it was created and
transferred into the BW as a batch job. The transfer sequence may not be the
same as the order in which the data was created in all scenarios. V3 update
only processes the update data that is successfully processed with the V2
update.
12. What is compression?
• It is a process used to delete the Request IDs and this saves space.
13. What is Rollup?
• This is used to load new DataPackages (requests) into the InfoCube
aggregates. If we have not performed a rollup then the new InfoCube data will
not be available while reporting on the aggregate.
14. What is table partitioning and what are the benefits of partitioning in an
InfoCube?
• It is the method of dividing a table which would enable a quick reference.
SAP uses fact file partitioning to improve performance. We can partition only
at 0CALMONTH or 0FISCPER. Table partitioning helps to run the report faster as
data is stored in the relevant partitions. Also table maintenance becomes
easier. Oracle,
Informix, IBM DB2/390 supports table partitioning while SAP DB, Microsoft SQL
Server, IBM DB2/400 do not support table portioning.
15. How many extra partitions are created and why?
• Two partitions are created for date before the begin date and after the end
date.
16. What are the options available in transfer rule?
• InfoObject
• Constant
• Routine
• Formula
17. How would you optimize the dimensions?
• We should define as many dimensions as possible and we have to take care that
no single dimension crosses more than 20% of the fact table size.
18. What are Conversion Routines for units and currencies in the update rule?
• Using this option we can write ABAP
code for Units / Currencies conversion. If we enable this flag then unit of Key
Figure appears in the ABAP code as an additional parameter. For example, we can
convert units in Pounds to Kilos.
19. Can an InfoObject be an InfoProvider, how and why?
• Yes, when we want to report on Characteristics or Master Data. We have to
right click on the InfoArea and select "Insert characteristic as data
target". For example, we can make 0CUSTOMER as an InfoProvider and report
on it.
20. What is Open Hub Service?
• The Open Hub Service enables us to distribute data from an SAP BW system into
external Data Marts, analytical applications, and other applications. We can
ensure controlled distribution using several systems. The central object for
exporting data is the InfoSpoke. We can define the source and the target object
for the data. BW becomes a hub of an enterprise data warehouse.
The distribution of data becomes clear through central monitoring from the
distribution status in the BW system.
21. How do you transform Open
Hub Data?
• Using BADI we can transform Open Hub Data according to the destination
requirement.
22. What is ODS?
• Operational DataSource is used for detailed storage of data. We can overwrite
data in the ODS. The data is stored in transparent tables.
23. What are BW Statistics and what is its use?
• They are group of Business Content InfoCubes which are used to measure
performance for Query and Load Monitoring. It also shows the usage of
aggregates, OLAP and Warehouse management
http://www.ittestpapers.com/articles/713/3/SAP-BW-Interview-Questions---Part-A/Page3.html
Communication Structure and Transfer
rules
• Create and InfoPackage
• Load Data
25. What are the delta options available when you load from flat file?
• The 3 options for Delta Management with Flat Files:
o Full Upload
o New Status for Changed records (ODS Object only)
o Additive Delta (ODS Object & InfoCube)
Q) Under which menu path is the Test Workbench to be found, including in
earlier Releases?
The menu path is: Tools - ABAP Workbench - Test - Test Workbench.
Q) I want to delete a BEx query that is in Production system through request. Is
anyone aware about it?
A) Have you tried the RSZDELETE transaction?
Q) Errors while monitoring process chains.
A) During data loading. Apart from them, in process chains you add so many
process types, for example after loading data into Info Cube, you rollup data
into aggregates, now this rolling up of data into aggregates is a process type
which you keep after the process type for loading data into Cube. This rolling
up into aggregates might fail.
Another one is after you load data into ODS, you activate ODS data (another
process type) this might also fail.
Q) In Monitor----- Details (Header/Status/Details) à Under Processing (data
packet): Everything OK à Context menu of Data Package 1 (1 Records): Everything
OK ---- Simulate update. (Here we can debug update rules or transfer rules.)
SM50 à Program/Mode à Program à Debugging & debug this work process.
Q) PSA Cleansing.
A) You know how to edit PSA. I don't think you can delete single records. You
have to delete entire PSA data for a request.
Q) Can we make a datasource to support delta.
A) If this is a custom (user-defined) datasource you can make the datasource
delta enabled. While creating datasource from RSO2, after entering datasource
name and pressing create, in the next screen there is one button at the top,
which says generic delta. If you want more details about this there is a
chapter in Extraction book, it's in last pages u find out.
Generic delta services: -
Supports delta extraction for generic extractors according to:
Time stamp
Calendar day
Numeric pointer, such as document number & counter
Only one of these attributes can be set as a delta attribute.
Delta extraction is supported for all generic extractors, such as tables/views,
SAP Query and function modules
The delta queue (RSA7) allows you to monitor the current status of the delta
attribute
Q) Workbooks, as a general rule, should be transported with the
role.
Here are a couple of scenarios:
1. If both the workbook and its role have been previously transported, then the
role does not need to be part of the transport.
2. If the role exists in both dev and the target system but the workbook has
never been transported, and then you have a choice of transporting the role
(recommended) or just the workbook. If only the workbook is transported, then
an additional step will have to be taken after import: Locate the WorkbookID
via Table RSRWBINDEXT (in Dev and verify the same exists in the target system)
and proceed to manually add it to the role in the target system via Transaction
Code PFCG -- ALWAYS use control c/control v copy/paste for manually adding!
3. If the role does not exist in the target system you should transport both
the role and workbook. Keep in mind that a workbook is an object unto itself
and has no dependencies on other objects. Thus, you do not receive an error
message from the transport of 'just a workbook' -- even though it may not be
visible, it will exist (verified via Table RSRWBINDEXT).
Overall, as a general rule, you should transport roles with workbooks.
Q) How much time does it take to extract 1 million (10 lackhs) of records into
an infocube?
A. This depends, if you have complex coding in update rules it will take longer
time, or else it will take less than 30 minutes.
Q) What are the five ASAP Methodologies?
A: Project plan, Business Blue print, Realization, Final preparation & Go-Live - support.
1. Project Preparation: In this phase, decision makers define clear project
objectives and an efficient decision making process ( i.e. Discussions with the
client, like what are his needs and requirements etc.). Project managers
will be involved in this phase (I guess).
A Project Charter is issued and an implementation strategy is outlined in this
phase.
2. Business Blueprint: It is a detailed documentation of your company's
requirements. (i.e. what are the objects we need to develop are modified
depending on the client's requirements).
3. Realization: In this only, the implementation of the project takes place (development
of objects etc) and we are involved in the project from here only.
4. Final Preparation: Final preparation before going live i.e. testing,
conducting pre-go-live, end user training etc.
End user training is given that is in the client site you train them how to
work with the new environment, as they are new to the technology.
5. Go-Live & support: The project has gone live and it is into production.
The Project team will be supporting the end users.
Q) What is landscape of R/3 & what is landscape of BW. Landscape of R/3 not
sure.
Then Landscape of b/w: u have the development system, testing system, production system
Development system: All the implementation part is done in this sys. (I.e.,
Analysis of objects developing, modification etc) and from here the objects are
transported to the testing system, but before transporting an initial test
known as Unit testing
(testing of objects) is done in the development sys.
Testing/Quality system: quality check is done in this system and integration
testing is done.
Production system: All the extraction part takes place in this sys.
Q) How do you measure the size of infocube?
A: In no of records.
Q). Difference between infocube and ODS?
A: Infocube is structured as star schema (extended) where a fact table is
surrounded by different dim table that are linked with DIM'ids. And the data
wise, you will have aggregated data in the cubes. No overwrite functionality
ODS is a flat structure (flat table) with no star schema concept and which will
have granular data (detailed level). Overwrite functionality.
Flat file
datasources does not support 0recordmode in extraction.
x before, -after, n new, a add, d delete, r reverse
Q) Difference between display attributes and navigational attributes?
A: Display attribute is one, which is used only for display purpose in the
report. Where as navigational attribute is used for drilling down in the
report. We don't need to maintain Navigational attribute in the cube as a
characteristic (that is the advantage) to drill down.
Q. SOME DATA IS UPLOADED TWICE INTO INFOCUBE. HOW TO CORRECT IT?
A: But how is it possible? If you load it manually twice, then you can delete
it by requestID.
Q. CAN U ADD A NEW FIELD AT THE ODS LEVEL?
Sure you can. ODS is nothing but a table.
Q. CAN NUMBER OF DATASOURCES HAVE ONE INFOSOURCE?
A) Yes of course. For example, for loading text and hierarchies we use
different data sources but the same InfoSource.
Q. BRIEF THE DATAFLOW IN BW.
A) Data flows from transactional system to analytical system (BW). DataSources
on the transactional system needs to be replicated on BW side and attached to
infosource and update rules respectively.
Q. CURRENCY CONVERSIONS CAN BE WRITTEN IN UPDATE RULES. WHY NOT IN TRANSFER
RULES?
Q) WHAT IS PROCEDURE TO UPDATE DATA INTO DATA TARGETS?
FULL and DELTA.
Q) AS WE USE Sbwnn, sbiw1, sbiw2 for delta update in LIS THEN
WHAT IS THE PROCEDURE IN LO-COCKPIT?
No LIS in LO cockpit. We will have datasources and can be maintained (append
fields). Refer white paper
on LO-Cockpit extractions.
Q) Why we delete the setup tables (LBWG) & fill them (OLI*BW)?
A) Initially we don't delete the setup tables but when we do change in extract
structure we go for it. We r changing the extract structure right, that means
there are some newly added fields in that which r not before. So to get the
required data ( i.e.; the data which is required is taken and to avoid
redundancy) we delete n then fill the setup tables.
To refresh the statistical data.
The extraction set up reads the dataset that you want to process such as,
customers orders with the tables like VBAK, VBAP) & fills the relevant communication
structure with the data. The data is stored in cluster
tables from where it is read when the initialization is run. It is important
that during initialization phase, no one generates or modifies application
data, at least until the tables can be set up.
Q) SIGNIFICANCE of ODS?
It holds granular data (detailed level).
Q) WHERE THE PSA DATA IS STORED?
In PSA table.
Q) WHAT IS DATA SIZE?
The volume of data one data target holds (in no. of records)
Q) Different types of INFOCUBES.
Basic, Virtual (remote, sap remote and multi)
Virtual Cube is used for example, if you consider railways reservation all the
information has to be updated online. For designing the Virtual cube you have
to write the function module that is linking to table, Virtual cube it is like
a the structure, when ever the table is updated the virtual cube will fetch the
data from table and display report Online... FYI.. you will get the information
: https://www.sdn.sap.com/sdn
/index.sdn and search for Designing Virtual Cube and you will get
a good material designing the Function Module
Q) INFOSET QUERY.
Can be made of ODS's and Characteristic InfoObjects with masterdata.
Q) IF THERE ARE 2 DATASOURCES HOW MANY TRANSFER STRUCTURES ARE THERE.
In R/3 or in BW? 2 in R/3 and 2 in BW
Q) ROUTINES?
Exist in the InfoObject, transfer routines, update routines and start routine
Q) BRIEF SOME STRUCTURES USED IN BEX.
Rows and Columns, you can create structures.
Q) WHAT ARE THE DIFFERENT VARIABLES USED IN BEX?
Different Variable's are Texts, Formulas, Hierarchies, Hierarchy nodes &
Characteristic values.
Variable Types are
Manual entry /default value
Replacement path
SAP exit
Customer exit
Authorization
Q) HOW MANY LEVELS YOU CAN GO IN REPORTING?
You can drill down to any level by using Navigational attributes and jump
targets.
Q) WHAT ARE INDEXES?
Indexes are data base indexes, which help in retrieving data fastly.
Q) DIFFERENCE BETWEEN 2.1 AND 3.X VERSIONS.
Help! Refer documentation
Q) IS IT NESSESARY TO INITIALIZE EACH TIME THE DELTA UPDATE IS USED?
No.
Q) WHAT IS THE SIGNIFICANCE OF KPI'S?
KPI's indicate the performance of a company. These are key figures
Q) AFTER THE DATA EXTRACTION
WHAT IS THE IMAGE POSITION.
After image (correct me if I am wrong)
Q) REPORTING AND RESTRICTIONS.
Help! Refer documentation.
Q) TOOLS USED FOR PERFORMANCE TUNING.
ST22, Number ranges, delete indexes before load. Etc
Q) PROCESS CHAINS: IF U has USED IT THEN HOW WILL U SCHEDULING DATA DAILY.
There should be some tool to run the job daily (SM37 jobs)
Q) AUTHORIZATIONS.
Profile generator
Q) WEB REPORTING.
What are you expecting??
Q) CAN CHARECTERSTIC INFOOBJECT CAN BE INFOPROVIDER.
Of course
Q) PROCEDURES OF REPORTING ON MULTICUBES
Refer help. What are you expecting? MultiCube works on Union condition
Q) EXPLAIN TRANPSORTATION OF OBJECTS?
Dev---àQ and Dev-------àP
Q) What types of partitioning are there for BW?
There are two Partitioning Performance aspects for BW (Cube & PSA)
Query Data Retrieval
Performance Improvement:
Partitioning by (say) Date Range improves data retrieval by making best use of
database [data range] execution plans and indexes (of say Oracle database engine).
B) Transactional Load Partitioning Improvement:
Partitioning based on expected load volumes and data element sizes. Improves
data loading into PSA and Cubes by infopackages (Eg. without timeouts).
Q) How can I compare data in R/3 with data in a BW Cube after the daily delta
loads? Are there any standard procedures for checking them or matching the
number of records?
A) You can go to R/3 TCode RSA3 and run the extractor. It will give you the
number of records extracted. Then go to BW Monitor to check the number of
records in the PSA and check to see if it is the same & also in the monitor
header tab.
A) RSA3 is a simple extractor checker program that allows you to rule out
extracts problems in R/3. It is simple to use, but only really tells you if the
extractor works. Since records that get updated into Cubes/ODS structures are
controlled by Update Rules, you will not be able to determine what is in the
Cube compared to what is in the R/3 environment. You will need to compare
records on a 1:1 basis against records in R/3 transactions for the functional
area in question. I would recommend enlisting the help of the end user community
to assist since they presumably know the data.
To use RSA3, go to it and enter the extractor ex: 2LIS_02_HDR. Click execute
and you will see the record count, you can also go to display that data. You
are not modifying anything so what you do in RSA3 has no effect on data quality
afterwards. However, it will not tell you how many records should be expected
in BW for a given load. You have that information in the monitor RSMO during
and after data loads. From RSMO for a given load you can determine how many
records were passed through the transfer rules from R/3, how many targets were
updated, and how many records passed through the Update Rules. It also gives
you error messages from the PSA.
Q) Types of Transfer Rules?
A) Field to Field mapping, Constant, Variable & routine.
Q) Types of Update Rules?
A) (Check box), Return table
Q) Transfer Routine?
A) Routines, which we write in, transfer rules.
Q) Update Routine?
A) Routines, which we write in Update rules
Q) What is the difference between writing a routine in transfer rules and
writing a routine in update rules?
A) If you are using the same InfoSource to update data in more than one data
target its better u write in transfer rules because u can assign one InfoSource
to more than one data target & and what ever logic u write in update rules
it is specific to particular one data target.
Q) Routine with Return Table.
A) Update rules generally only have one return value. However, you can create a
routine in the tab strip key figure calculation, by choosing checkbox Return
table. The corresponding key figure routine then no longer has a return value,
but a return table. You can then generate as many key figure values, as you
like from one data record.
Q) Start routines?
A) Start routines u can write in both updates rules and transfer rules, suppose
you want to restrict (delete) some records based on conditions before getting
loaded into data targets, then you can specify this in update rules-start
routine.
Ex: - Delete Data_Package ani ante it will delete a record based on the
condition
Q) X & Y Tables?
X-table = A table to link material SIDs with SIDs for time-independent
navigation attributes.
Y-table = A table to link material SIDs with SIDS for time-dependent navigation
attributes.
There are four types of sid tables
X time independent navigational attributes sid tables
Y time dependent navigational attributes sid tables
H hierarchy sid tables
I hierarchy structure sid tables
Q) Filters & Restricted Key figures (real time example)
Restricted KF's u can have for an SD cube: billed quantity, billing value, no:
of billing documents as RKF's.
Q) Line-Item Dimension (give me an real time example)
Line-Item Dimension: Invoice no: or Doc no: is a real time example
Q) What does the number in the 'Total' column in Transaction RSA7 mean?
A) The 'Total' column displays the number of LUWs that were written in the
delta queue and that have not yet been confirmed. The number includes the LUWs
of the last delta request (for repetition of a delta request) and the LUWs for
the next delta request. A LUW only disappears from the RSA7 display when it has
been transferred to the BW System and a new delta request has been received
from the BW System.
Q) How to know in which table (SAP BW) contains Technical Name / Description
and creation data of a particular Reports. Reports that are created using BEx
Analyzer.
A) There is no such table in BW if you want to know such details while you are
opening a particular query press properties button you will come to know all
the details that you wanted.
You will find your information about technical names and description about
queries in the following tables. Directory of all reports (Table RSRREPDIR) and
Directory of the reporting component elements (Table RSZELTDIR) for workbooks
and the connections to queries check Where- used list for reports in workbooks
(Table RSRWORKBOOK) Titles of Excel Workbooks in InfoCatalog (Table
RSRWBINDEXT)
Q) What is a LUW in the delta queue?
A) A LUW from the point of view of the delta queue can be an individual
document, a group of documents from a collective run or a whole data packet of
an application
extractor.
Q) Why does the number in the 'Total' column in the overview screen of
Transaction RSA7 differ from the number of data records that is displayed when
you call the detail view?
A) The number on the overview screen corresponds to the total of LUWs (see also
first question) that were written to the qRFC queue and that have not yet been
confirmed. The detail screen displays the records contained in the LUWs. Both,
the records belonging to the previous delta request and the records that do not
meet the selection conditions of the preceding delta init requests are filtered
out. Thus, only the records that are ready for the next delta request are
displayed on the detail screen. In the detail screen of Transaction RSA7, a
possibly existing customer exit is not taken into account.
Q) Why does Transaction RSA7 still display LUWs on the overview screen after
successful delta loading?
A) Only when a new delta has been requested does the source system learn that
the previous delta was successfully loaded to the BW System. Then, the LUWs of
the previous delta may be confirmed (and also deleted). In the meantime, the
LUWs must be kept for a possible delta request repetition. In particular, the
number on the overview screen does not change when the first delta was loaded
to the BW System.
Q) Why are selections not taken into account when the delta queue is filled?
A) Filtering according to selections takes place when the system reads from the
delta queue. This is necessary for reasons of performance.
Q) Why is there a DataSource with '0' records in RSA7 if delta exists and has
also been loaded successfully?
It is most likely that this is a DataSource that does not send delta data to
the BW System via the delta queue but directly via the extractor (delta for
master data using ALE change pointers). Such a DataSource should not be
displayed in RSA7. This error is corrected with BW 2.0B Support Package 11.
Q) Do the entries in table ROIDOCPRMS have an impact on the performance of the
loading procedure from the delta queue?
A) The impact is limited. If performance problems are related to the loading
process from the delta queue, then refer to the application-specific notes (for
example in the CO-PA area, in the logistics cockpit area and so on).
Caution: As of Plug In 2000.2 patch 3 the entries in table ROIDOCPRMS are as
effective for the delta queue as for a full update. Please note, however, that
LUWs are not split during data loading for consistency reasons. This means that
when very large LUWs are written to the DeltaQueue, the actual package size may
differ considerably from the MAXSIZE and MAXLINES parameters.
Q) Why does it take so long to display the data in the delta queue (for example
approximately 2 hours)?
A) With Plug In 2001.1 the display was changed: the user has the option of
defining the amount of data to be displayed, to restrict it, to selectively
choose the number of a data record, to make a distinction between the 'actual'
delta data and the data intended for repetition and so on.
Q) What is the purpose of function 'Delete data and meta data in a queue' in
RSA7? What exactly is deleted?
A) You should act with extreme caution when you use the deletion function in
the delta queue. It is comparable to deleting an InitDelta in the BW System and
should preferably be executed there. You do not only delete all data of this
DataSource for the affected BW System, but also lose the entire information
concerning the delta initialization. Then you can only request new deltas after
another delta initialization.
When you delete the data, the LUWs kept in the qRFC queue for the corresponding
target system are confirmed. Physical deletion only takes place in the qRFC
outbound queue if there are no more references to the LUWs.
The deletion function is for example intended for a case where the BW System,
from which the delta initialization was originally executed, no longer exists
or can no longer be accessed.
Q) Why does it take so long to delete from the delta queue (for example half a
day)?
A) Import PlugIn 2000.2 patch 3. With this patch the performance during
deletion is considerably improved.
Q) Why is the delta queue not updated when you start the V3 update in the
logistics cockpit area?
A) It is most likely that a delta initialization had not yet run or that the
delta initialization was not successful. A successful delta initialization (the
corresponding request must have QM status 'green' in the BW System) is a
prerequisite for the application data being written in the delta queue.
Q) What is the relationship between RSA7 and the qRFC monitor (Transaction
SMQ1)?
A) The qRFC monitor basically displays the same data as RSA7. The internal
queue name must be used for selection on the initial screen of the qRFC
monitor. This is made up of the prefix 'BW, the client and the short name of
the DataSource. For DataSources whose name are 19 characters long or shorter,
the short name corresponds to the name of the DataSource. For DataSources whose
name is longer than 19 characters (for delta-capable DataSources only possible
as of PlugIn 2001.1) the short name is assigned in table ROOSSHORTN.
In the qRFC monitor you cannot distinguish between repeatable and new LUWs.
Moreover, the data of a LUW is displayed in an unstructured manner there.
Q) Why are the data in the delta queue although the V3 update was not started?
A) Data was posted in background. Then, the records are updated directly in the
delta queue (RSA7). This happens in particular during automatic goods receipt
posting (MRRS). There is no duplicate transfer of records to the BW system. See
Note 417189.
Q) Why does button 'Repeatable' on the RSA7 data details screen not only show
data loaded into BW during the last delta but also data that were newly added,
i.e. 'pure' delta records?
A) Was programmed in a way that the request in repeat mode fetches both
actually repeatable (old) data and new data from the source system.
Q) I loaded several delta inits with various selections. For which one is the
delta loaded?
A) For delta, all selections made via delta inits are summed up. This means, a
delta for the 'total' of all delta initializations is loaded.
Q) How many selections for delta inits are possible in the system?
A) With simple selections (intervals without complicated join conditions or
single values), you can make up to about 100 delta inits. It should not be
more.
With complicated selection conditions, it should be only up to 10-20 delta
inits.
Reason: With many selection conditions that are joined in a complicated way,
too many 'where' lines are generated in the generated ABAP
source code that may exceed the memory limit.
Q) I intend to copy the source system, i.e. make a client copy. What will
happen with may delta? Should I initialize again after that?
A) Before you copy a source client or source system, make sure that your deltas
have been fetched from the DeltaQueue into BW and that no delta is pending.
After the client copy, an inconsistency might occur between BW delta tables and
the OLTP delta tables as described in Note 405943. After the client copy, Table
ROOSPRMSC will probably be empty in the OLTP since this table is
client-independent. After the system copy, the table will contain the entries
with the old logical system name that are no longer useful for further delta
loading from the new logical system. The delta must be initialized in any case
since delta depends on both the BW system and the source system. Even if no
dump 'MESSAGE_TYPE_X' occurs in BW when editing or creating an InfoPackage, you
should expect that the delta have to be initialized after the copy.
Q) Is it allowed in Transaction SMQ1 to use the functions for manual control of
processes?
A) Use SMQ1 as an instrument for diagnosis and control only. Make changes to BW
queues only after informing the BW Support or only if this is explicitly
requested in a note for component 'BC-BW' or 'BW-WHM-SAPI'.
Q) Despite of the delta request being started after completion of the
collective run (V3 update), it does not contain all documents. Only another
delta request loads the missing documents into BW. What is the cause for this
"splitting"?
A) The collective run submits the open V2 documents for processing to the task
handler, which processes them in one or several parallel update processes in an
asynchronous way. For this reason, plan a sufficiently large "safety time
window" between the end of the collective run in the source system and the
start of the delta request in BW. An alternative solution where this problem
does not occur is described in Note 505700.
Q) Despite my deleting the delta init, LUWs are still written into the
DeltaQueue?
A) In general, delta initializations and deletions of delta inits should always
be carried out at a time when no posting takes place. Otherwise, buffer
problems may occur: If a user started the internal mode at a time when the
delta initialization was still active, he/she posts data into the queue even
though the initialization had been deleted in the meantime. This is the case in
your system.
Q) In SMQ1 (qRFC Monitor) I have status 'NOSEND'. In the table TRFCQOUT, some
entries have the status 'READY', others 'RECORDED'. ARFCSSTATE is 'READ'. What
do these statuses mean? Which values in the field 'Status' mean what and which
values are correct and which are alarming? Are the statuses BW-specific or
generally valid in qRFC?
A) Table TRFCQOUT and ARFCSSTATE: Status READ means that the record was read
once either in a delta request or in a repetition of the delta request.
However, this does not mean that the record has successfully reached the BW
yet. The status READY in the TRFCQOUT and RECORDED in the ARFCSSTATE means that
the record has been written into the DeltaQueue and will be loaded into the BW
with the next delta request or a repetition of a delta. In any case only the
statuses READ, READY and RECORDED in both tables are considered to be valid.
The status EXECUTED in TRFCQOUT can occur temporarily. It is set before
starting a DeltaExtraction for all records with status READ present at that
time. The records with status EXECUTED are usually deleted from the queue in
packages within a delta request directly after setting the status before
extracting a new delta. If you see such records, it means that either a process
which is confirming and deleting records which have been loaded into the BW is
successfully running at the moment, or, if the records remain in the table for
a longer period of time with status EXECUTED, it is likely that there are
problems with deleting the records which have already been successfully been
loaded into the BW. In this state, no more deltas are loaded into the BW. Every
other status is an indicator for an error or an inconsistency. NOSEND in SMQ1
means nothing (see note 378903).
The value 'U' in field 'NOSEND' of table TRFCQOUT is discomforting.
Q) The extract structure was changed when the DeltaQueue was empty. Afterwards
new delta records were written to the DeltaQueue. When loading the delta into
the PSA, it shows that some fields were moved. The same result occurs when the
contents of the DeltaQueue are listed via the detail display. Why are the data
displayed differently? What can be done?
Make sure that the change of the extract structure is also reflected in the
database and that all servers are synchronized. We recommend to reset the
buffers using Transaction $SYNC. If the extract structure change is not
communicated synchronously to the server where delta records are being created,
the records are written with the old structure until the new structure has been
generated. This may have disastrous consequences for the delta.
When the problem occurs, the delta needs to be re-initialized.
Q) How and where can I control whether a repeat delta is requested?
A) Via the status of the last delta in the BW Request Monitor. If the request
is RED, the next load will be of type 'Repeat'. If you need to repeat the last
load for certain reasons, set the request in the monitor to red manually. For
the contents of the repeat see Question 14. Delta requests set to red despite
of data being already updated lead to duplicate records in a subsequent repeat,
if they have not been deleted from the data targets concerned before.
Q) As of PI 2003.1, the Logistic Cockpit offers various types of update
methods. Which update method is recommended in logistics? According to which
criteria should the decision be made? How can I choose an update method in
logistics?
See the recommendation in Note 505700.
Q) Are there particular recommendations regarding the data volume the
DeltaQueue may grow to without facing the danger of a read failure due to
memory problems?
A) There is no strict limit (except for the restricted number range of the
24-digit QCOUNT counter in the LUW management table - which is of no practical
importance, however - or the restrictions regarding the volume and number of
records in a database table).
When estimating "smooth" limits, both the number of LUWs is important
and the average data volume per LUW. As a rule, we recommend to bundle data
(usually documents) already when writing to the DeltaQueue to keep number of
LUWs small (partly this can be set in the applications, e.g. in the Logistics
Cockpit). The data volume of a single LUW should not be considerably larger
than 10% of the memory available to the work process for data extraction
(in a 32-bit architecture with a memory volume of about 1GByte per work
process, 100 Mbytes per LUW should not be exceeded). That limit is of rather
small practical importance as well since a comparable limit already applies
when writing to the DeltaQueue. If the limit is observed, correct reading is
guaranteed in most cases.
If the number of LUWs cannot be reduced by bundling application transactions,
you should at least make sure that the data are fetched from all connected BWs
as quickly as possible. But for other, BW-specific, reasons, the frequency
should not be higher than one DeltaRequest per hour.
To avoid memory problems, a program-internal limit ensures that never more than
1 million LUWs are read and fetched from the database per DeltaRequest. If this
limit is reached within a request, the DeltaQueue must be emptied by several
successive DeltaRequests. We recommend, however, to try not to reach that limit
but trigger the fetching of data from the connected BWs already when the number
of LUWs reaches a 5-digit value.
Q) I would like to display the date the data was uploaded on the
report. Usually, we load the transactional data nightly. Is there any easy way
to include this information on the report for users? So that they know the
validity of the report.
A) If I understand your requirement correctly, you want to display the date on
which data was loaded into the data target from which the report is being
executed. If it is so, configure your workbook to display the text elements in
the report. This displays the relevance of data field, which is the date on which
the data load has taken place.
Q) Can we filter the fields at Transfer Structure?
Q) Can we load data directly into infoobject with out extraction is it
possible.
Yes. We can copy from other infoobject if it is same. We load data from PSA if
it is already in PSA.
Q) HOW MANY DAYS CAN WE KEEP THE DATA IN PSA, IF WE R SHEDULED DAILY, WEEKLY
AND MONTHLY.
a) We can set the time.
Q) HOW CAN U GET THE DATA FROM CLIENT IF U R WORKING ON OFFSHORE PROJECTS.
THROUGH WHICH NETWORK.
a) VPN…………….Virtual
Private Network, VPN is nothing but one sort of network
where we can connect to the client systems sitting in offshore through RAS
(Remote access server).
Q) HOW CAN U ANALIZE THE PROJECT AT FIRST?
Prepare Project Plan and Environment
Define Project Management
Standards and
Procedures
Define Implementation Standards and Procedures
Testing & Go-live + supporting.
Q) THERE is one ODS AND 4 INFOCUBES. WE SEND DATA AT TIME TO ALL CUBES IF ONE
CUBE GOT LOCK ERROR. HOW CAN U RECTIFY THE ERROR?
Go to TCode sm66 then see which one is locked select that pid from there and
goto sm12
TCode then unlock it this is happened when lock errors are occurred when u
scheduled.
Q) Can anybody tell me how to add a navigational attribute in the BEx report in
the rows?
A) Expand dimension under left side panel (that is infocube panel) select than
navigational attributes drag and drop under rows panel.
Q) IF ANY TRASACTION CODE LIKE SMPT OR STMT.
In current systems (BW 3.0B and R/3 4.6B) these Tcodes don't exist!
Q) WHAT IS TRANSACTIONAL CUBE?
A) Transactional InfoCubes differ from standard InfoCubes in that the former
have an improved write access performance level. Standard InfoCubes are
technically optimized for read-only access and for a comparatively small number
of simultaneous accesses. Instead, the transactional InfoCube was developed to
meet the demands of SAP Strategic Enterprise Management (SEM), meaning that,
data is written to the InfoCube (possibly by several users at the same time)
and re-read as soon as possible. Standard Basic cubes are not suitable for
this.
Q) Is there any way to delete cube contents within update rules from an ODS
data source? The reason for this would be to delete (or zero out) a cube record
in an "Open Order" cube if the open order quantity was 0.
I've tried using the 0recordmode but that doesn't work. Also, would it
be easier to write a program that would be run after the load and delete
the records with a zero open qty?
A) START routine for update rules u can write ABAP code.
A) Yap, you can do it. Create a start routine in Update rule.
It is not "Deleting cube contents with update rules" It is only
possible to avoid that some content is updated into the InfoCube using the
start routine. Loop at all the records and delete the record that has the
condition. "If the open order quantity was 0" You have to think also
in before and after images in case of a delta upload. In that case you may
delete the change record and keep the old and after the change the wrong
information.
Q) I am not able to access a node in hierarchy directly using variables for
reports. When I am using Tcode RSZV it is giving a message that it doesn't
exist in BW 3.0 and it is embedded in BEx. Can any one tell me the other
options to get the same functionality in BEx?
A) Tcode RSZV is used in the earlier version of 3.0B only. From 3.0B onwards,
it's possible in the Query Designer (BEx) itself. Just right click on the
InfoObject for which you want to use as variables and precede further selecting
variable type and proce
Maybe you are looking for
-
Hi, I have barely any space left on my phone. ios7 messaging app takes so much space. How can I stop this?
-
Video chat with different versions of iChat?
Hi, I was hoping to set up iChat to work with two different computers, one using iChat version 3.1.9 (v446) (OS = OSX 10.4.11) and the other using iChat version 5.0.1 (743) (OS = OSX 10.6.2) . Both users have Gmail email addresses, and we were hoping
-
Will iCloud work without OSX Lion?
Will iCloud work only with OSX Lion? I cannot use Lion on my G4 Powerbook, and Mobile Me is going away in a few months, so does this mean that only my newer devices will work with iCloud?
-
Built-in functions to check for numeric or string
Hi, Is there any built-in functions in java for checking if the value is numeric or is a string ? tks & rdgs
-
Need urgent help on Special function 8..not working custom program to NACE
Hi gurus, We wrote one custom program for billing automation(VF01)...scenario is like this.... once PGI is issued system has to create billing document automatically in background using the delivery number..... we wrote program like this.... DATA: