Data Base size
Hi Experts,
The size of the oracle data base for SAP-XI is increased by 9% strangly in 1 day, where as 1% increase in the oracle data base size normally takes 1 to 2 weeks.
What could be the problem? Please give me some links or some idea how to check to know what causes this problem.
Thnx
Subbu
Hi,
However it is very difficult to comment why your database size suddenly grow by 9% but you can check following:
- Reduce trace level for messages (SXMB_ADM->IE configuration->tuning)
- Heavy transactions (however it is unlikely until some jobs are running accidently and sending huge chunk of data to XI)
- Check with user of interfaces whether they received lot of un-necessary data or not.
Give some more information to help you in this case. There are trasactions to monitor disk growth but since you are authorized then you can ask for SAP BASIS help.
Regards,
Gourav
Similar Messages
-
ASO Data base Size....
When we normally right click on the ASO app folder in Windows and check properties of that folder then i am able to estimate what is the size of the database.That is how i used to know about my ASO databases.Although i am fine with what i am doing right now.Definitely i will go through dbag to understand ASO in detail.
Need insight or methiods how to calculate ASO data base size ?What you are doing is correct and best practice in collecting the ASO cube size.
To explain in detail.
We can define the ASO cube size as the sum of otl file size and .dat file (resides in app/<appname>/default directory).
.dat file stats, you can collect using below MaxL command.
query database testaso.testdb list all file information;
But if you are managing dim and balance files archives in the same database folder by this way we cannot estimate the incremental growth of the archives.
I am good to define the ASO cube size as the .otl + .dat + .otl backups + archives (interface and lev0 files).
If you track the incremental growth of all these files only, you can estimate the future disk space requirements.
For this tracking the size of entire application folder is correct.
You can write batch script to collect all this information
In unix you can collect as
+cs=du -g $appname | tail -1 | awk '{ print $1 }'+
echo "size of $appname is: $cs. " -
Hi gurus
when i had a look in db02 for data base sizes i can see 4 g of data for a table.starts with /BIO
how can i find datatarget related to that table.
ThanksAny suggestions gurus
-
Function module to find out DATA BASE size, free space, used size
Is there any function module to find out DATA BASE , free space, used size
FM that gives all the details of the Date base
what data base, what is the size, free space, used space etc...
instead of writing case by case for each data base. based on CASE SY-DBSYS.Hi,
Check this FM:
DB02_ORA_SELECT_DBA_SEGMENT
alternatively u can check the tcode: DB02
thanks|
Mahesh -
Get Sitecollection and Sub Sites Data Base Size Using PowerShell
Hi All,
Currently i am getting the Site collection database size using this powershell
$SiteCollurl = @{Expression={$_.url};Label="Site Collection URL"}
$size = @{Expression={[math]::round($_.diskused/1MB, 2)};label="DB Size in MB"}
$HTML = Get-SPSiteAdministration -Limit All | select $SiteCollurl, $size
So in this $HTML i am getting all the Site Collection Url's and DB size for each site collection.
Now i want to get the Sub Sites url and Sub Sites Database size also.
I tried like this "$HTML = Get-SPSiteAdministration -Limit All | | Get-SPSite -Limit All | Get-SPWeb -Limit All | select $SiteCollurl, $size"
I am getting all the sub site url's but Database size i am getting 0 for all sites and sub sites.
Can any one help on this.how to get the database size for all site collection's and sub sites.
Regards,
Phani.
Rhys W Edwards Where are you :)Hi
Please try the script below:
Get-SPSite -Limit ALL | ForEach {
$_ | Get-SPSiteAdministration | Select $SiteCollurl, $size}
I hope this helps. -
Abnormal increase in the oracle data base of XI dev
Hi Experts,
The size of the oracle data base for SAP-XI is increased by 9% abnormally in 1 day, where as 1% increase in the oracle data base size normally takes 1 to 2 weeks.
What could be the problem? Please give me some links or some idea how to check to know what causes this problem.
Thnx
SubbuHi Rama
You should look out for big tables. You can do this in transaction DB02 -> Detailed Analysis -> Size / Kbyte > 100000
This will give you all segments larger than 100mb. In an XI system the messages are stored in table XI_AF_MSG. It is also possible that your largest segment is a lob segment. You will then see something like SYS_LOB0000039303C00020$$.
To see which table it is just use this SQL:
[code]SQL> select table_name from dba_lobs where SEGMENT_NAME = 'SYS_LOB0000039303C00020$$';
TABLE_NAME
XI_AF_MSG[/code]
In DB02 you can also select the segment and view its history to make sure it is responsible for the database growth.
Best regards, Michael -
How to determine the proper size for Oracle 8i Data Base Objects
Hi,
I'm working on an Oracle 8i Data base. I'd like to know how to determine the proper size for the Data Base objects such as tables, datafiles, tablespaces...
Thanks.Start with the docs.
http://download-west.oracle.com/docs/cd/A87860_01/doc/server.817/a76956/schema.htm#949
Best Regards
Krystian Zieja / mob -
Performance problem in select data from data base
hello all,
could you please suggest me which select statement is good for fetch data form data base if data base contain more than 10 lac records.
i am using SELECT PACKAGE SIZE n statement, but it's taking lot of time .
with best regards
srinivas rathodHi Srinivas,
if you have huge data and selecting ,you could decrease little bit time if you use better techniques.
I do not think SELECT PACKAGE SIZE will give good performance
see the below examples :
ABAP Code Samples for Simple Performance Tuning Techniques
1. Query including select and sorting functionality
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
werks like mast-werks,
aenam like mast-aenam,
stlal like mast-stlal,
end of itab_new.
select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as f inner join mast as g on
fmatnr = gmatnr where gstlal = '01' order by fernam.
Code B
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
werks like mast-werks,
aenam like mast-aenam,
stlal like mast-stlal,
end of itab_new.
select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as f inner join mast as g on f~matnr =
gmatnr where gstlal = '01'.
sort itab_new by ernam.
Both the above codes essentially do the same function, but the execution time for code B is considerably lesser than that of Code A. Reason: The Order by clause associated with a select statement increases the execution time of the statement, so it is profitable to sort the internal table once after selecting the data.
2. Performance Improvement Due to Identical Statements Execution Plan
Consider the below queries and their levels of efficiencies is saving the execution
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
werks like mast-werks,
aenam like mast-aenam,
stlal like mast-stlal,
end of itab_new.
select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as f inner join mast as g on f~matnr =
gmatnr where gstlal = '01' .
sort itab_new.
select fmatnr fernam
fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as
f inner join mast as g on f~matnr =
gmatnr where gstlal
= '01' .
Code D (Identical Select Statements)
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
werks like mast-werks,
aenam like mast-aenam,
stlal like mast-stlal,
end of itab_new.
select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as f inner join mast as g on f~matnr =
gmatnr where gstlal = '01' .
sort itab_new.
select fmatnr fernam fmtart fmatkl gwerks gaenam g~stlal
into table itab_new from mara as f inner join mast as g on f~matnr =
gmatnr where gstlal = '01' .
Both the above codes essentially do the same function, but the execution time for code B is considerably lesser than that of Code A. Reason: Each SQL statement during the process of execution is converted into a series of database operation phases. In the second phase of conversion (Prepare phase) an execution plan is determined for the current SQL statement and it is stored, if in the program any identical select statement is used, then the same execution plan is reused to save time. So retain the structure of the select statement as the same when it is used more than once in the program.
3. Reducing Parse Time Using Aliasing
A statement which does not have a cached execution plan should be parsed before execution; this parsing phase is a highly time and resource consuming, so parsing time for any sql query must include an alias name in it for the following reason.
1. Providing the alias name will enable the query engine to resolve the tables to which the specified fields belong to.
2. Providing a short alias name, (a single character alias name) is more efficient that providing a big alias name.
Code E
select jmatnr jernam jmtart jmatkl
gwerks gaenam g~stlal into table itab_new from mara as
j inner join mast as g on jmatnr = gmatnr where
g~stlal = '01' .
In the above code the alias name used is j .
4. Performance Tuning Using Order by Clause
If in a SQL query you are going to read a particular database record based on some key values mentioned in the select statement, then the read query can be very well optimized by ordering the fields in the same order in which we are going to read them in the read query.
Code F
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
end of itab_new.
select MATNR ERNAM MTART MATKL from mara into table itab_new where
MTART = 'HAWA' ORDER BY MATNR ERNAM MTART MATKL.
read table itab_new with key MATNR = 'PAINT1' ERNAM = 'RAMANUM'
MTART = 'HAWA' MATKL = 'OFFICE'.
Code G
tables: mara, mast.
data: begin of itab_new occurs 0,
matnr like mara-matnr,
ernam like mara-ernam,
mtart like mara-mtart,
matkl like mara-matkl,
end of itab_new.
select MATNR ERNAM MTART MATKL from mara into table itab_new where
MTART = 'HAWA' ORDER BY ERNAM MATKL MATNR MTART.
read table itab_new with key MATNR = 'PAINT1' ERNAM = 'RAMANUM'
MTART = 'HAWA' MATKL = 'OFFICE'.
In the above code F, the read statement following the select statement is having the order of the keys as MATNR, ERNAM, MTART, MATKL. So it is less time intensive if the internal table is ordered in the same order as that of the keys in the read statement.
5. Performance Tuning Using Binary Search
A very simple but useful method of fine tuning performance of a read statement is using Binary search addition to it. If the internal table consists of more than 20 entries then the traditional linear search method proves to be more time intensive.
Code H
select * from mara into corresponding fields of table intab.
sort intab.
read table intab with key matnr = '11530' binary search.
Code I
select * from mara into corresponding fields of table intab.
sort intab.
read table intab with key matnr = '11530'.
Thanks
Seshu -
Data type size for the view column
I am creating a view from base table using substr() for some fields. The data type size of the column in the view becomes twice the size of the corresponding column in the base table. Example
SQL> create table temp_sat(name varchar2(20));
Table created.
SQL> create view temp_view as select substr(name,1,10) name from temp_sat;
View created.
SQL> desc temp_view
Name Null? Type
NAME VARCHAR2(40)
Can i specify the size of the column while creating viewsatish asnani wrote:
I am creating a view from base table using substr() for some fields. The data type size of the column in the view becomes twice the size of the corresponding column in the base table. Example
SQL> create table temp_sat(name varchar2(20));
Table created.
SQL> create view temp_view as select substr(name,1,10) name from temp_sat;
View created.
SQL> desc temp_view
Name Null? Type
NAME VARCHAR2(40)Can i specify the size of the column while creating viewHi,
Which platform and Oracel DB version?
I had try to replicate, but I can't:
SQL> create table t_v
2 (id varchar2(20));
Tabla creada.
SQL> desc t_v
Nombre ┐Nulo? Tipo
ID VARCHAR2(20)
SQL> r
1 create view v_t_v
2 as
3 select substr(id,1,10) id
4* from t_v
Vista creada.
SQL> desc v_t_v
Nombre ┐Nulo? Tipo
ID VARCHAR2(10)John -
SAP Data File size considerably reduced after Unicode Conversion
Hello Experts
I have just performed a CUUC (Upgrade along with unicode conversion) from R/3 4.7 to ECC 6.0 EHP5. The data size that i earlier had was close to 463 GB (MSSQL MDF, LDF Files), after the data export to be converted to unicode the size was 45 GB (10% of actual data size, i feel this is normal after heterogeneous system copy), but after the import again the DATA file size is only 247 GB, is this normal ? or have i lost some data ? For ex, I tried checking tables like MSEG and the number of entries have reduced from 15,678,790 to 15,290,545.
Could you kindly let me know if there is a way to check from Basis perspective if i have not lost any data ? I have followed all the procedures as per SAP Standards.
Waiting for your quick reply.
Best Regards
PritishHi Nicholas
Data is compressed during the new R3load procedure is understood, but why number of table entries have reduced is something which is still a question to me (in some cases increased as well) ? For example
Source Target
STPO 415,725 412,150
STKO 126,710 126,141
PLAF 74,671 78,336
MDKP 193,487 192,747
MDPB 55,329 63,557
Any suggestions or ideas ?
Best Regards
Pritish -
Need a information about data base stastics
hi all
i need information about data base stastics how to implement the data base stastics what are steps involved in implementation and data base stastics and bw stastics bothare same or diffrent.
any pointers helpfulHi,
While you can collect/refresh the DB statistics thru the Performance tab or a Process Chain step, it's probably better to have the DBA schedule the run of BRCONNECT to collect statistics. This provides two key benefits, the statistics collection can be moved to off hours rather than during a load window, which is usually tight in most shops, and the other benefit is that it can collect statistics only on tables that have had significant changes in size. There is really no need to collect stats every day on every table - that is just wasted system effort.
There have been several OS Notes to provide some settings in the recent couple of support packages to control options on statistics collection on ODSs that you might want to review too.
Pls chk this links;
Re: Question regarding the statistics.
Re: DB statistics / Cube statistics
Re: About DB statistics
Hope this helps,
Regards
CSM Reddy -
Data base fields in browse mode
Appleworks v 6.2.9
Have data base with 54 fields. List mode fine, but in browse mode
only first 34 are viewable and therefore available for data entry.
When tab key is punched after data entered in 34th field cursor goes
back to 1st field rather than 35th field. Command and down arrow keys
brings up next record. Is there a keyboard shortcut or any other way
to enter data in fields 34-54 in browse mode? Using list mode for
that is too confusing because 1st field identifies record name and
once past 34th field it is no longer viewable.Hi Frank,
I'm assuming the Layout you are referring to is the default "Layout 1" that AppleWorks creates as you define the fields. This layout, or a "Standard" layout created through the New layout menu item in the Layout menu is a simple list of fields (with labels containing the field name) one above the other in a single column.
AppleWorks Database Layouts are restricted to a single page in the page size defined in Page Setup (File menu). With the default US Letter size page, at around 34 fields, the list runs into the bottom of the page, and no fields created after that are automatically inserted into the layout.
You can place more than 34 fields on a page, but you must contribute to the process.
With Layout 1 (or any other layout you wish to modify) showing, go Layout > Layout to put the document into Layout mode. (You can also do this by pressing shift-command-L.)
In Layout mode, select one or more of the fields (and labels) at the bottom of the page and drag them up and to the right into some empty space on the layout. New fields inserted onto the layout will be inserted in the space between the bottom-most field and the bottom of the layout/page, so the object of this exercise is to open up enough space at the bottom of your layout to insert the remaining 20 fields. It may take more tthan a single step to do this.
When you have all 54 fields on the page, rearrange them in the order and in the locations you want.
Note that the default tab order for a latout is from left to right then top to bottom, starting at the top left. If this order is not suitable, you can override it using the Tab Order... menu item in the Layout menu.
Regards,
Barry -
Featching Data From The Data Base Using DI API in Matrix
Hi
All of u i am shahid i faced a problem when i retrive
the selected data from the data base using matrix plz.
Healp me!.
Thanks
Mohd Shahid.
SAP Techinical Consultent
Option Strict Off
Option Explicit On
Friend Class UseMatrix
'// This parameter will use us to manipulate the
'// SAP Business One Application
Private WithEvents SBO_Application As SAPbouiCOM.Application
Private oForm As SAPbouiCOM.Form
Private oMatrix As SAPbouiCOM.Matrix
Private oColumns As SAPbouiCOM.Columns
Private oColumn As SAPbouiCOM.Column
'// declareing a DB data source for all the Data binded columns
Private oDBDataSource As SAPbouiCOM.DBDataSource
'// declaring a User data source for the "Remarks" Column
Private oUserDataSource As SAPbouiCOM.UserDataSource
' This Function is called automatically when an instance
' of the class is created.
' Indise this function
Public Sub New()
MyBase.New()
'// set SBO_Application with an initialized application object
SetApplication()
'// Create the UI
CreateFormWithMatrix()
'// Add Data Sources to the Form
AddDataSourceToForm()
'// Bind the Form's items with the desired data source
BindDataToForm()
'// Load date to matrix
GetDataFromDataSource()
'// Make the form visible
oForm.Visible = True
End Sub
Private Sub SetApplication()
'// Use an SboGuiApi object to establish connection
'// with the SAP Business One application and return an
'// initialized appliction object
Dim SboGuiApi As SAPbouiCOM.SboGuiApi
Dim sConnectionString As String
SboGuiApi = New SAPbouiCOM.SboGuiApi
'// by following the steps specified above, the following
'// statment should be suficient for either development or run mode
sConnectionString = Environment.GetCommandLineArgs.GetValue(1)
'// connect to a running SBO Application
Try ' If there's no active application the connection will fail
SboGuiApi.Connect(sConnectionString)
Catch ' Connection failed
System.Windows.Forms.MessageBox.Show("No SAP Business One Application was found")
End
End Try
'// get an initialized application object
SBO_Application = SboGuiApi.GetApplication()
'SBO_Application.MessageBox("Hello World")
End Sub
Private Sub SBO_Application_AppEvent(ByVal EventType As SAPbouiCOM.BoAppEventTypes) Handles SBO_Application.AppEvent
Select Case EventType
Case SAPbouiCOM.BoAppEventTypes.aet_ShutDown
SBO_Application.MessageBox("A Shut Down Event has been caught" & _
Environment.NewLine() & "Terminating 'Add Menu Item' Add On...")
'// terminating the Add On
System.Windows.Forms.Application.Exit()
End Select
End Sub
Private Sub CreateFormWithMatrix()
'// Don't Forget:
'// it is much more efficient to load a form from xml.
'// use code only to create your form.
'// once you have created it save it as XML.
'// see "WorkingWithXML" sample project
'// we will use the following object to add items to our form
Dim oItem As SAPbouiCOM.Item
'// we will use the following objects to set
'// the specific values of every item
'// we add.
'// this is the best way to do so
Dim oButton As SAPbouiCOM.Button
Dim oStaticText As SAPbouiCOM.StaticText
Dim oEditText As SAPbouiCOM.EditText
'// The following object is needed to create our form
Dim creationPackage
creationPackage = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)
creationPackage.UniqueID = "UidFrmMatrix14"
creationPackage.FormType = "TypeFrmMatrix14"
'// Add our form to the SBO application
oForm = SBO_Application.Forms.AddEx(creationPackage)
'// Set the form properties
oForm.Title = "Quality Check"
oForm.Left = 336
oForm.ClientWidth = 620
oForm.Top = 44
oForm.ClientHeight = 200
'// Adding Items to the form
'// and setting their properties
'// Adding an Ok button
'// We get automatic event handling for
'// the Ok and Cancel Buttons by setting
'// their UIDs to 1 and 2 respectively
oItem = oForm.Items.Add("1", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
oItem.Left = 5
oItem.Width = 65
oItem.Top = 170
oItem.Height = 19
oButton = oItem.Specific
oButton.Caption = "Ok"
'// Adding a Cancel button
oItem = oForm.Items.Add("2", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
oItem.Left = 75
oItem.Width = 65
oItem.Top = 170
oItem.Height = 19
oButton = oItem.Specific
oButton.Caption = "Cancel"
'// Adding a Text Edit item
'oItem = oForm.Items.Add("txtPhone", SAPbouiCOM.BoFormItemTypes.it_EDIT)
' oItem.Left = 265
'oItem.Width = 163
'oItem.Top = 172
'oItem.Height = 14
'// Adding an Add Phone prefix column button
' oItem = oForm.Items.Add("BtnPhone", SAPbouiCOM.BoFormItemTypes.it_BUTTON)
' oItem.Left = 160
' oItem.Width = 100
' oItem.Top = 170
' oItem.Height = 19
' oButton = oItem.Specific
' oButton.Caption = "Add Phone prefix"
'// Add the matrix to the form
AddMatrixToForm()
End Sub
Private Sub AddMatrixToForm()
'// we will use the following object to add items to our form
Dim oItem As SAPbouiCOM.Item
'// we will use the following object to set a linked button
Dim oLink As SAPbouiCOM.LinkedButton
'// Adding a Matrix item
oItem = oForm.Items.Add("Matrix1", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
oItem.Left = 5
oItem.Width = 500
oItem.Top = 5
oItem.Height = 150
oMatrix = oItem.Specific
oColumns = oMatrix.Columns
'// Adding Culomn items to the matrix
oColumn = oColumns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "#"
oColumn.Width = 30
oColumn.Editable = False
'// Add a column for Item Code
oColumn = oColumns.Add("DSItemCode", SAPbouiCOM.BoFormItemTypes.it_LINKED_BUTTON)
oColumn.TitleObject.Caption = "Item Code"
oColumn.Width = 40
oColumn.Editable = True
'// Link the column to the ITEM master data system form
oLink = oColumn.ExtendedObject
oLink.LinkedObject = SAPbouiCOM.BoLinkedObject.lf_Items
oColumn = oColumns.Add("DSItemName", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "Item Name"
oColumn.Width = 80
oColumn.Editable = True
'// Add a column for BP Card Phone
oColumn = oColumns.Add("DSWhs", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "Ware House"
oColumn.Width = 40
oColumn.Editable = True
'// Add a column for BP Card Phone
oColumn = oColumns.Add("DSQuantity", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "Quantity"
oColumn.Width = 40
oColumn.Editable = True
'// Add a column for Combo Box
oColumn = oColumns.Add("DSQuality", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX)
oColumn.TitleObject.Caption = "Quality"
' oColumn.ValidValues.Add("OK", "")
'oColumn.ValidValues.Add("NOT OK", "")
oColumn.Width = 40
oColumn.Editable = True
oColumn = oColumns.Add("DSReport", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "Remarks"
' oColumn.ValidValues.Add("OK", "")
'oColumn.ValidValues.Add("NOT OK", "")
oColumn.Width = 40
oColumn.Editable = True
'// Add a column for BP Card Phone
' oColumn = oColumns.Add("DSPhoneInt", SAPbouiCOM.BoFormItemTypes.it_EDIT)
' oColumn.TitleObject.Caption = "Int. Phone"
'oColumn.Width = 40
'oColumn.Editable = True
End Sub
Public Sub AddDataSourceToForm()
'// every item must be binded to a Data Source
'// prior of binding the data we must add Data sources to the form
'// Add user data sources to the "International Phone" column in the matrix
' oUserDataSource = oForm.DataSources.UserDataSources.Add("IntPhone", SAPbouiCOM.BoDataType.dt_SHORT_TEXT, 20)
'// Add DB data sources for the DB bound columns in the matrix
oDBDataSource = oForm.DataSources.DBDataSources.Add("OITW")
End Sub
Public Sub BindDataToForm()
'// getting the matrix column by the UID
oColumn = oColumns.Item("DSItemCode")
'oColumn.DataBind.SetBound(True, "", "DSCardCode")
oColumn.DataBind.SetBound(True, "OITW", "ItemCode")
'oColumn = oColumns.Item("DSItemName")
'oColumn.DataBind.SetBound(True, "OITW", "ItemName")
oColumn = oColumns.Item("DSWhs")
oColumn.DataBind.SetBound(True, "OITW", "WhsCode")
oColumn = oColumns.Item("DSQuantity")
oColumn.DataBind.SetBound(True, "OITW", "U_QCStock")
'// to Data Bind an item with a user Data source
'// the table name value should be an empty string
' oColumn = oColumns.Item("DSPhoneInt")
'oColumn.DataBind.SetBound(True, "", "IntPhone")
End Sub
Public Sub GetDataFromDataSource()
'// Ready Matrix to populate data
oMatrix.Clear()
oMatrix.AutoResizeColumns()
'// Querying the DB Data source
oDBDataSource.Query()
'// setting the user data source data
'oUserDataSource.Value = "Phone with prefix"
oMatrix.LoadFromDataSource()
End Sub
Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles SBO_Application.ItemEvent
If (pVal.FormUid = "UidFrmMatrix") Then
If ((pVal.itemUID = "BtnPhone") And _
(pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED) And _
(pVal.Before_Action = False)) Then
AddPrefix()
End If
If ((pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD) And _
(pVal.Before_Action = False)) Then
SBO_Application.MessageBox("Form Unloaded, Addon will terminate")
System.Windows.Forms.Application.Exit()
End If
End If
End Sub
Public Sub AddPrefix()
Dim i As Integer
Dim PhoneExtCol As SAPbouiCOM.Column
Dim newPhone As String
Dim oItem As SAPbouiCOM.Item
Dim oEditTxt As SAPbouiCOM.EditText
'// Get the prefix edit text item
oItem = oForm.Items.Item("txtPhone")
oEditTxt = oItem.Specific
'// Flush user input into datasources
oMatrix.FlushToDataSource()
'// Get the DBdatasource we base the matrix on
oDBDataSource = oForm.DataSources.DBDataSources.Item("OCRD")
'// Iterate all the records and add a prefix to the phone
For i = 0 To oDBDataSource.Size - 1
newPhone = oDBDataSource.GetValue("phone1", i)
newPhone = newPhone.Trim(" ")
oDBDataSource.SetValue("phone1", i, oEditTxt.String + newPhone)
Next
'// Load data back to
oMatrix.LoadFromDataSource()
End Sub
End ClassHi Shahid,
I am not sure what your question is. The code you pasted looks like the MatrixAndDataSources example that comes with the SDK. What are you trying to do?
Thanks,
Adele -
Call function from data base with clob input parameter.
Hello,
In this project I use Jdev 11g.
I call function from database.
create or replace function get_fa_list (
p_fa_id_list in clob
return sys_refcursor
is
vCursor sys_refcursor;
begin
put_msg ('begin');
if p_fa_id_list is null then
put_msg ('CLOB is null!');
else
put_msg ('size CLOB: ' || dbms_lob.getlength (p_fa_id_list));
end if;
put_msg ('Save');
open vCursor for
select rownum as id, s.*
from (
select f.latitude, f.longitude, count (distinct f.res_id) as res_count, count (*) as fa_count, 16711680 as color, res_concat_distinct (f.res_id) as station_list
from mv_frequency_assignment f, table (SplitClob (p_fa_id_list, ',')) l
where f.ext_system = 'BI' and
f.ext_sys_id = l.column_value
group by f.latitude, f.longitude
) s;
put_msg ('Open and End');
return vCursor;
end get_fa_list;
I use TopLink in ejb.
i use follow code for call function and get result.
public List<TmpResPoints> findAllPointsBI(String p_id){
UnitOfWork uow = getSessionFactory().acquireUnitOfWork();
uow.beginEarlyTransaction();
StoredFunctionCall call = new StoredFunctionCall();
call.setProcedureName("get_fa_list");
call.useUnnamedCursorOutputAsResultSet();
ClobDomain c = new ClobDomain(p_id);
//System.out.println(c.toString());
call.addNamedArgumentValue("p_fa_id_list", c);
ReadAllQuery query = new ReadAllQuery();
query.setReferenceClass(TmpResPoints.class);
query.setCall(call);
List<TmpResPoints> result = (List<TmpResPoints>)uow.executeQuery(query);
uow.commit();
uow.release();
return result;
But size parameter "p_fa_id_list" is 0. (geting from temp table in Data base). this code in function >>
if p_fa_id_list is null then
put_msg ('CLOB is null!');
else
put_msg ('size CLOB: ' || dbms_lob.getlength (p_fa_id_list));
end if;)
How I can call this function from dataBase and get result?
thx,
Demka.What is the SQL generated?
The argument should just be the Clob value (a String) not the domain object.
Also try addNamedArgument, and then pass the named argument to the query.
James : http://www.eclipselink.org -
Ideas on Percentage share of DB (data base) by different BW objects
Dear experts,
In our system, Different BW objects have the following share of DB (source ST14). What are your ideas on these numbers? Do these numbers seem Ok? Are they comparable to the numbers you have in your productive systems? Is there any thing that you think needs our immediate attention? Is there any benchmark from SAP about these % numbers?
Type Size of BW Objects (% Share of DB)
OTHER 35,04%
PSA 34,00%
ODS 0,01%
F-Fact 0,04%
E-Fact 0,17%
Aggregate 30,42%
Master Data/Other BW Table 0,29%
CHANGELOG 0,03%
Thanks in advance for your ideas.These numbers seem very strange to me.
Your actual information in the BW system, i.e.
ODS 0,01%
F-Fact 0,04%
E-Fact 0,17%
Master Data 0,29%
is only 0,5% of your database. Hence 99,5% of your data base is redundant information!
Allthough redundant information is important in a BW system, this is too much. Are you sure these numbers are correct?
'PSA' and 'CHANGELOG' can be used for data validation and easier reload, but should be deleted, when they are no longer used.
'Aggregate's improve reporting performance.
'OTHER' tables are usually standard table, you cannot affect.
Maybe you are looking for
-
Music streams but no internet connectivity and a question about a poss. fix
Forgive me if this question has been answered already (searched the forums for two hours and found none that were answered). Where I work there are two wireless networks, set up completely separate from one another using Linksys WRT54G routers. I've
-
Some of my keys are not working!
My delete key is all the sudden not working.. so everytime I spell somthing wrong i have to highlight it and change it... is there something at home i can do to fix it?? and also my fan is running about 90% of the time when i have my macbook on... an
-
Calculator: removing scientific notation in results?
This seems like it must be a bug or a corrupted app, but I'd just like to confirm: with the calculator in "basic" mode, dividing two numbers which only have one significant digit returns a result like so: 1/3000 = 0.000333 (the setting for decimal pl
-
How to change language in login screen mode?
Hi I cannot input my password if any other language except US was selected the moment it get locked. Thanks in advance
-
Which functions are not able with yesss supersmart? Thank you very much
Thank you Günther