Test program running taking much more time on high end server T5440 than low end server T5220
Hi all,
I have written the following program and run on both T5440 [1.4 GHz, 95 GB RAM, 32 cores(s), 256 logical (virtual) processor(s),] and T5220 [(UltraSPARC-T2 (chipid 0, clock 1165 MH) , 8GB RAM, 1 core, 8 virtual processors )] on same OS version. I found that T5540 server takes more time than T5220. Please find below the details.
test1.cpp
#include <iostream>
#include <pthread.h>
using namespace std;
#define NUM_OF_THREADS 20
struct ABCDEF {
char A[1024];
char B[1024];
void *start_func(void *)
long long i = 6000;
while(i--)
ABCDEF* sdf = new ABCDEF;
delete sdf;
sdf = NULL;
return NULL;
int main(int argc, char* argv[])
pthread_t tid[50];
for(int i=0; i<NUM_OF_THREADS; i++)
pthread_create(&tid[i], NULL, start_func, NULL);
cout<<"Creating thread " << i <<endl;
for(int i=0; i<NUM_OF_THREADS; i++)
pthread_join(tid[i], NULL);
cout<<"Waiting for thread " << i <<endl;
After executing the above program on T5440 takes :
real 0.78
user 3.94s
sys 0.05
After executing the above program on T5220 takes :
real 0.23
user 1.43s
sys 0.03
It seems that T5440 which is high end server takes almost 3 times more time than T5220 which is low end server.
However, I have one more observation. I tried the following program :
test2.cpp
#include <iostream>
#include <pthread.h>
using namespace std;
#define NUM_OF_THREADS 20
struct ABCDEF {
char A[1024];
char B[1024];
int main(int argc, char* argv[])
long long i = 6000000;
while(i--)
ABCDEF* sdf = new ABCDEF;
delete sdf;
sdf = NULL;
return 0;
It seems that T5440 server is fast in this case as compaired to T5220 server.
Could anyone please help me out the exact reason for this behaviour as my application is slow as well on this T5440 server. I have posted earlier as well for the same issue.
Thanks in advance !!!
regards,
Sanjay
You already asked this question...
48 hours earlier, and in the same Solaris forum space
Repeating the post isn't going to get you a response any faster, and actually now have people NOT respond because you are not showing any patience.
These are end-user community forums, not a place to expect Oracle Technical Support. There is no obligation that there be a response.
If you have a business-critical issue and hope to get accurate and timely response, then use your service contract credentials to open a Support request.
This new redundant post is locked.
Edit:
It appears that at the same time the O.P. posted this redundant thread, they also posted the same question to at least one other forum web site:
http://www.unix.com/solaris/229269-test-program-running-taking-much-more-time-high-end-server-t5440-than-low-end-server-t5220.html
Similar Messages
-
After upgrading to lion starting up is taking much more time ??
After upgrading to lion starting up is taking much more time is there any solution to this ?
i do all things about cleaning disk permission or editing .Have you check what is being started at the same time?
Lion will start more applications then were being started in the past.
Allan -
T-code SUIM taking much more time for generating output for profie change.
Hi All
We want to extract report for profile addition and deletion for Users in ECC 6. While executing the the t-code SUIM it is taking much more time (taking more than 20 hrs). This problem is coming after patch application
Please give the solution/Suggest to minimize the time taken in report generation.
Thanks-
Guru Prasad DwivediHello Prasad,
The reason for the performance trouble is a new feature regarding the user change documents. Since note 874850 and 1015043 you will get a more complete overview about the changes regarding a user.
The disadvantage of that new feature is, that in some customer system usage scenario, the performance is very poor. That's the case, if the central change documents are intensivly used also by other applications and the tables CDPOS, CDHDR, ... contains a very big count of rows. Unfortunatly the user change documents can not be searched by the key columns of the central change docs. - so the bad response time can explained.
What now ... ?
There are some work arounds to get the change documents on faster way.
1st. - You can get the former report output and performance if you
would use the report RSUSR100 instead of the new RSUSR100N in
separate mode.
2nd. - If you want to use the new report RSUSR100N directly and only
want to get the information about the traditional topics
(content of USH* tables) you should only mark the search areas
on the tabstrip 'user attributes') to get a better performance.
- furthermore limit the date range, if possible
3rd. - You should regulary (monthly) archive the user relevant documents
for PFCG and IDENTITY from the central change documents.
As per our note 1079207 chapter 3 you can reload that archives
into more selective tables.
The selection for change documents will be rather faster over
reloaded archived documents than the documents in the
central change documents tables.
Best Regards,
Guilherme de Oliveira. -
OR is taking much more time than UNION
hi gems..
i have written a query using UNION clause and it took 12 seconds to give result.
then i wrote the same query using OR operator and then it took 78 seconds to give the resultset.
The tables which are referred by this qurey have no indexes.
the cost plans for the query with OR is also much more lesser than that with UNION.
please suggest why OR is taking more time.
thanks in advanceHere's a ridiculously simple example. (these tables don't even have any rows in them)
If you had separate indexes on col1 and col2, the optimizer might use indexes in the union but not in the or statement:
Which is faster will depend on the usual list of things.
Of course, the union also requires a sort operation.
SQL> create table table1
2 (col1 number, col2 number, col3 number, col4 number);
Table created.
SQL> create index t1_idx1 on table1(col1);
Index created.
SQL> create index t1_idx2 on table1(col2);
Index created.
SQL> explain plan for
2 select col1, col2, col3, col4
3 from table1
4 where col1> = 123
5 or col2 <= 456;
Explained.
SQL> @xp
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 52 | 2 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| TABLE1 | 1 | 52 | 2 (0)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("COL1">=123 OR "COL2"<=456)
SQL> explain plan for
2 select col1, col2, col3, col4
3 from table1
4 where col1 >= 123
5 union
6 select col1, col2, col3, col4
7 from table1
8 where col2 <= 456;
Explained.
SQL> @xp
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 2 | 104 | 4 (75)| 00:00:01 |
| 1 | SORT UNIQUE | | 2 | 104 | 4 (75)| 00:00:01 |
| 2 | UNION-ALL | | | | | |
| 3 | TABLE ACCESS BY INDEX ROWID| TABLE1 | 1 | 52 | 1 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | T1_IDX1 | 1 | | 1 (0)| 00:00:01 |
| 5 | TABLE ACCESS BY INDEX ROWID| TABLE1 | 1 | 52 | 1 (0)| 00:00:01 |
|* 6 | INDEX RANGE SCAN | T1_IDX2 | 1 | | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
4 - access("COL1">=123)
6 - access("COL2"<=456) -
Hi,
we are using SQL SERVER 2008R2 X64 RTM version.
One of the SSRS report designed by developer is consuming much more time( 5 to 6 minutes ) to fetch data from DB. Even direct run of Stored Procedure (Called in report )takes less than a second to display the result set.
Please help.
Regards Naveen MSSQL DBAHi Naveen,
Based on my understanding, you spend a little time retrieving data with a stored procedure from database in dataset designer. However, it takes long time to run the report to display the data, right?
In Reporting Services, the total time to generate a report include TimeDataRetreval, TimeProcessing and TimeRendering. In your scenario, since you mentioned retrieving data costs a little time, you should check the table
Executionlog3 in the ReportServer database to find which section costs most of time, TimeProcessing or TimeRendering. Then you can refer to this article to optimize your report:
Troubleshooting Reports: Report Performance.
Besides, if parameters exist in the report, you should declare variables inside of the stored procedure and assign the incoming parameters to the variables. For more information, please refer to the similar thread:
Fast query runs slow in SSRS.
If you have any question, please feel free to ask.
Best regards,
Qiuyun Yu
Qiuyun Yu
TechNet Community Support -
My iphone4 is taking more than 5 hours to erase all the data still it is under process , still how much more time i have to wait for my mobile to ON ?
I'm having this EXACT same problem with my iPhone 4, and I have the same computer stats (I have a Samsung Series 7)
-
Why this Query is taking much longer time than expected?
Hi,
I need experts support on the below mentioned issue:
Why this Query is taking much longer time than expected? Sometimes I am getting connection timeout error. Is there any better way to achieve result in shortest time. Below, please find the DDL & DML:
DDL
BHDCollections
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BHDCollections](
[BHDCollectionid] [bigint] IDENTITY(1,1) NOT NULL,
[GroupMemberid] [int] NOT NULL,
[BHDDate] [datetime] NOT NULL,
[BHDShift] [varchar](10) NULL,
[SlipValue] [decimal](18, 3) NOT NULL,
[ProcessedValue] [decimal](18, 3) NOT NULL,
[BHDRemarks] [varchar](500) NULL,
[Createdby] [varchar](50) NULL,
[Createdon] [datetime] NULL,
CONSTRAINT [PK_BHDCollections] PRIMARY KEY CLUSTERED
[BHDCollectionid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
BHDCollectionsDet
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BHDCollectionsDet](
[CollectionDetailid] [bigint] IDENTITY(1,1) NOT NULL,
[BHDCollectionid] [bigint] NOT NULL,
[Currencyid] [int] NOT NULL,
[Denomination] [decimal](18, 3) NOT NULL,
[Quantity] [int] NOT NULL,
CONSTRAINT [PK_BHDCollectionsDet] PRIMARY KEY CLUSTERED
[CollectionDetailid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Banks
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Banks](
[Bankid] [int] IDENTITY(1,1) NOT NULL,
[Bankname] [varchar](50) NOT NULL,
[Bankabbr] [varchar](50) NULL,
[BankContact] [varchar](50) NULL,
[BankTel] [varchar](25) NULL,
[BankFax] [varchar](25) NULL,
[BankEmail] [varchar](50) NULL,
[BankActive] [bit] NULL,
[Createdby] [varchar](50) NULL,
[Createdon] [datetime] NULL,
CONSTRAINT [PK_Banks] PRIMARY KEY CLUSTERED
[Bankid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
Groupmembers
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[GroupMembers](
[GroupMemberid] [int] IDENTITY(1,1) NOT NULL,
[Groupid] [int] NOT NULL,
[BAID] [int] NOT NULL,
[Createdby] [varchar](50) NULL,
[Createdon] [datetime] NULL,
CONSTRAINT [PK_GroupMembers] PRIMARY KEY CLUSTERED
[GroupMemberid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[GroupMembers] WITH CHECK ADD CONSTRAINT [FK_GroupMembers_BankAccounts] FOREIGN KEY([BAID])
REFERENCES [dbo].[BankAccounts] ([BAID])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_BankAccounts]
GO
ALTER TABLE [dbo].[GroupMembers] WITH CHECK ADD CONSTRAINT [FK_GroupMembers_Groups] FOREIGN KEY([Groupid])
REFERENCES [dbo].[Groups] ([Groupid])
GO
ALTER TABLE [dbo].[GroupMembers] CHECK CONSTRAINT [FK_GroupMembers_Groups]
BankAccounts
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BankAccounts](
[BAID] [int] IDENTITY(1,1) NOT NULL,
[CustomerID] [int] NOT NULL,
[Locationid] [varchar](25) NOT NULL,
[Bankid] [int] NOT NULL,
[BankAccountNo] [varchar](50) NOT NULL,
CONSTRAINT [PK_BankAccounts] PRIMARY KEY CLUSTERED
[BAID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[BankAccounts] WITH CHECK ADD CONSTRAINT [FK_BankAccounts_Banks] FOREIGN KEY([Bankid])
REFERENCES [dbo].[Banks] ([Bankid])
GO
ALTER TABLE [dbo].[BankAccounts] CHECK CONSTRAINT [FK_BankAccounts_Banks]
GO
ALTER TABLE [dbo].[BankAccounts] WITH CHECK ADD CONSTRAINT [FK_BankAccounts_Locations1] FOREIGN KEY([Locationid])
REFERENCES [dbo].[Locations] ([Locationid])
GO
ALTER TABLE [dbo].[BankAccounts] CHECK CONSTRAINT [FK_BankAccounts_Locations1]
Currency
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Currency](
[Currencyid] [int] IDENTITY(1,1) NOT NULL,
[CurrencyISOCode] [varchar](20) NOT NULL,
[CurrencyCountry] [varchar](50) NULL,
[Currency] [varchar](50) NULL,
CONSTRAINT [PK_Currency] PRIMARY KEY CLUSTERED
[Currencyid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
CurrencyDetails
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CurrencyDetails](
[CurDenid] [int] IDENTITY(1,1) NOT NULL,
[Currencyid] [int] NOT NULL,
[Denomination] [decimal](15, 3) NOT NULL,
[DenominationType] [varchar](25) NOT NULL,
CONSTRAINT [PK_CurrencyDetails] PRIMARY KEY CLUSTERED
[CurDenid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
QUERY
WITH TEMP_TABLE AS
SELECT 0 AS COINS, BHDCollectionsDet.Quantity AS BN, BHDCollections.BHDDate AS CollectionDate, BHDCollectionsDet.Currencyid,
(BHDCollections.BHDCollectionid) AS DSLIPS, Banks.Bankname
FROM BHDCollections INNER JOIN
BHDCollectionsDet ON BHDCollections.BHDCollectionid = BHDCollectionsDet.BHDCollectionid INNER JOIN
GroupMembers ON BHDCollections.GroupMemberid = GroupMembers.GroupMemberid INNER JOIN
BankAccounts ON GroupMembers.BAID = BankAccounts.BAID INNER JOIN
Currency ON BHDCollectionsDet.Currencyid = Currency.Currencyid INNER JOIN
CurrencyDetails ON Currency.Currencyid = CurrencyDetails.Currencyid INNER JOIN
Banks ON BankAccounts.Bankid = Banks.Bankid
GROUP BY BHDCollectionsDet.Quantity, BHDCollections.BHDDate, BankAccounts.Bankid, BHDCollectionsDet.Currencyid, CurrencyDetails.DenominationType,
CurrencyDetails.Denomination, BHDCollectionsDet.Denomination, Banks.Bankname,BHDCollections.BHDCollectionid
HAVING (BHDCollections.BHDDate BETWEEN @FromDate AND @ToDate) AND (BankAccounts.Bankid = @Bankid) AND (CurrencyDetails.DenominationType = 'Currency') AND
(CurrencyDetails.Denomination = BHDCollectionsDet.Denomination)
UNION ALL
SELECT BHDCollectionsDet.Quantity AS COINS, 0 AS BN, BHDCollections.BHDDate AS CollectionDate, BHDCollectionsDet.Currencyid,
(BHDCollections.BHDCollectionid) AS DSLIPS, Banks.Bankname
FROM BHDCollections INNER JOIN
BHDCollectionsDet ON BHDCollections.BHDCollectionid = BHDCollectionsDet.BHDCollectionid INNER JOIN
GroupMembers ON BHDCollections.GroupMemberid = GroupMembers.GroupMemberid INNER JOIN
BankAccounts ON GroupMembers.BAID = BankAccounts.BAID INNER JOIN
Currency ON BHDCollectionsDet.Currencyid = Currency.Currencyid INNER JOIN
CurrencyDetails ON Currency.Currencyid = CurrencyDetails.Currencyid INNER JOIN
Banks ON BankAccounts.Bankid = Banks.Bankid
GROUP BY BHDCollectionsDet.Quantity, BHDCollections.BHDDate, BankAccounts.Bankid, BHDCollectionsDet.Currencyid, CurrencyDetails.DenominationType,
CurrencyDetails.Denomination, BHDCollectionsDet.Denomination, Banks.Bankname,BHDCollections.BHDCollectionid
HAVING (BHDCollections.BHDDate BETWEEN @FromDate AND @ToDate) AND (BankAccounts.Bankid = @Bankid) AND (CurrencyDetails.DenominationType = 'COIN') AND
(CurrencyDetails.Denomination = BHDCollectionsDet.Denomination)),
TEMP_TABLE2 AS
SELECT CollectionDate,Bankname,DSLIPS AS DSLIPS,SUM(BN) AS BN,SUM(COINS)AS COINS FROM TEMP_TABLE Group By CollectionDate,DSLIPS,Bankname
SELECT CollectionDate,Bankname,count(DSLIPS) AS DSLIPS,sum(BN) AS BN,sum(COINS) AS coins FROM TEMP_TABLE2 Group By CollectionDate,Bankname
HAVING COUNT(DSLIPS)<>0;Without seeing an execution plan of the query it is hard to suggest something useful. Try insert the result of UNION ALL to the temporary table and then perform an aggregation on that table, not a CTE.
Just
SELECT CollectionDate,Bankname,DSLIPS AS DSLIPS,SUM(BN) AS BN,SUM(COINS)AS COINS FROM
#tmp Group By CollectionDate,DSLIPS,Bankname
HAVING COUNT(DSLIPS)<>0;
Best Regards,Uri Dimant SQL Server MVP,
http://sqlblog.com/blogs/uri_dimant/
MS SQL optimization: MS SQL Development and Optimization
MS SQL Consulting:
Large scale of database and data cleansing
Remote DBA Services:
Improves MS SQL Database Performance
SQL Server Integration Services:
Business Intelligence -
Why are TV shows (like Supernatural) so much more expensive to download (SD or HD) than sites like Amazon?
They aren't really that much cheaper on Amazon. For Supernatural season 7, each single episode in HD is $2.99, same as iTunes. If you buy the whole season on Amazon, it's $2.84 per episode. Maybe $2 cheaper to buy on Amazon.
Remember though, on Amazon, you can't sync the videos onto an iPad/iPod/iPhone or Apple TV. In iTunes you can.
I prefer to buy on iTunes simply for the convenience, iTunes makes all the differance. -
Attribute Change run taking too long time to complete.
Hi all,
Attribute change run has been taking too long time to complete.It has to realign 50 odd aggreagates, some by delta , some by reconstruction. But inspite of all the aggregates it used to finish in quick time earlier. But since last 4-5 days it is taking indefinite time to finish.
Can anyone please suggest what all reasons may be causing this? and what possibly can be the solution to the problem? It is becoming a big issue. So kindly help with ur advises.
Promise to reward your answer liberally.
Regards,
Pradyut.Hi,
Check with your functional owners in R/3 if there are mass changes/realignments or classification changes are going on regarding master data. e.g. reasigning materials to other material groups. This causes a major realignment in BW for all the aggregates. Otherwise check for parameterchanges / patches or missing db stats with your sap basis team.
Kind regards, Patrick Rieken. -
Program is taking lot of time for execution
Hi all,
TYPES: BEGIN OF TY_MARA,
MATNR TYPE MATNR, " Material Number
ZZBASE_CODE TYPE ZBASE_CODE, " Base Code
END OF TY_MARA,
BEGIN OF TY_MAKT,
MATNR TYPE MATNR, " Material
MAKTX TYPE MAKTX, " Material Description
END OF TY_MAKT,
BEGIN OF TY_MARC,
MATNR TYPE MATNR , " Material Number
WERKS TYPE WERKS_D, " Plant
END OF TY_MARC,
BEGIN OF TY_QMAT,
MATNR TYPE MATNR, " Material Number
ART TYPE QPART, " Inspection Type
END OF TY_QMAT,
BEGIN OF TY_MAPL,
MATNR TYPE MATNR, " Material
PLNTY TYPE PLNTY, " Task List Type
END OF TY_MAPL,
BEGIN OF TY_PLKO,
PLNTY TYPE PLNTY, " Task List Type
VERWE TYPE PLN_VERWE, " Task list usage
END OF TY_PLKO,
BEGIN OF TY_KLAH,
CLASS TYPE KLASSE_D, " Class Number
END OF TY_KLAH,
BEGIN OF TY_FINAL,
MATNR TYPE MATNR, " Material Number
MAKTX TYPE MAKTX, " Material Description
ZZBASE_CODE TYPE ZBASE_CODE, " Base Code
WERKS TYPE WERKS_D, " Plant
CLASS TYPE KLASSE_D, " Class Number
ART TYPE QPART, " Inspection Type
VERWE TYPE PLN_VERWE, " Task list usage
MESSAGE TYPE STRING, " Message
END OF TY_FINAL.
DATA: I_MARA TYPE STANDARD TABLE OF TY_MARA ,
I_MAKT TYPE STANDARD TABLE OF TY_MAKT ,
I_MARC TYPE STANDARD TABLE OF TY_MARC ,
I_QMAT TYPE STANDARD TABLE OF TY_QMAT ,
I_MAPL TYPE STANDARD TABLE OF TY_MAPL ,
I_PLKO TYPE STANDARD TABLE OF TY_PLKO ,
I_KLAH TYPE STANDARD TABLE OF TY_KLAH ,
I_FINAL TYPE STANDARD TABLE OF TY_FINAL ,
WA_MARA TYPE TY_MARA,
WA_MAKT TYPE TY_MAKT,
WA_MARC TYPE TY_MARC,
WA_QMAT TYPE TY_QMAT,
WA_MAPL TYPE TY_MAPL,
WA_PLKO TYPE TY_PLKO,
WA_KLAH TYPE TY_KLAH,
WA_FINAL TYPE TY_FINAL.
DATA: V_MTART TYPE MARA-MTART,
V_MATNR TYPE MARA-MATNR,
V_ZZBASE_CODE TYPE MARA-ZZBASE_CODE,
V_WERKS TYPE T001W-WERKS,
V_BESKZ TYPE MARC-BESKZ.
*selection-screen
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_MTART FOR V_MTART DEFAULT 'halb' TO 'zraw',
S_MATNR FOR V_MATNR,
S_ZZBASE FOR V_ZZBASE_CODE,
S_WERKS FOR V_WERKS OBLIGATORY,
S_BESKZ FOR V_BESKZ.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
SELECT MATNR
ZZBASE_CODE
FROM MARA INTO TABLE I_MARA
WHERE MTART IN S_MTART "Material Type
AND MATNR IN S_MATNR "Material
AND ZZBASE_CODE IN S_ZZBASE."Base Code
IF NOT I_MARA IS INITIAL.
SELECT MATNR
MAKTX
FROM MAKT INTO TABLE I_MAKT FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
ENDIF.
IF NOT I_MARA IS INITIAL.
SELECT MATNR
WERKS
FROM MARC INTO TABLE I_MARC FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND WERKS IN S_WERKS "plant
AND BESKZ IN S_BESKZ."Procurement Type
ENDIF.
IF NOT I_MARA IS INITIAL.
SELECT MATNR
ART
FROM QMAT INTO TABLE I_QMAT FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR
AND WERKS IN S_WERKS.
ENDIF.
IF NOT I_MARA IS INITIAL.
SELECT MATNR
PLNTY FROM MAPL INTO TABLE I_MAPL FOR ALL ENTRIES IN I_MARA
WHERE MATNR = I_MARA-MATNR.
ENDIF.
IF NOT I_MAPL IS INITIAL.
SELECT PLNTY
VERWE
FROM PLKO INTO TABLE I_PLKO FOR ALL ENTRIES IN I_MAPL
WHERE PLNTY = I_MAPL-PLNTY.
ENDIF.
LOOP AT I_MARA INTO WA_MARA.
CALL FUNCTION 'CLFC_BATCH_ALLOCATION_TO_CLASS'
EXPORTING
MATERIAL = WA_MARA-MATNR
PLANT = WA_MARC-WERKS
CLASSTYPE = '023'
I_IGNORE_MATMASTER = ' '
I_BATCHES_ONLY =
I_IGNORE_BUFFER = ' '
IMPORTING
CLASSTYPE =
CLASS = WA_KLAH-CLASS
EXCEPTIONS
WRONG_FUNCTION_CALL = 1
NO_CLASS_FOUND = 2
NO_CLASSTYPE_FOUND = 3
OTHERS = 4 .
*IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
APPEND WA_KLAH TO I_KLAH.
ENDLOOP.
LOOP AT I_MARA INTO WA_MARA.
WA_FINAL-MATNR = WA_MARA-MATNR.
WA_FINAL-ZZBASE_CODE = WA_MARA-ZZBASE_CODE.
APPEND WA_FINAL TO I_FINAL.
SORT I_MAKT BY MATNR.
READ TABLE I_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MARA-MATNR BINARY
SEARCH.
IF SY-SUBRC EQ 0.
WA_FINAL-MAKTX = WA_MAKT-MAKTX.
ENDIF.
APPEND WA_FINAL TO I_FINAL.
SORT I_MARC BY MATNR.
READ TABLE I_MARC INTO WA_MARC WITH KEY MATNR = WA_MARA-MATNR BINARY
SEARCH.
IF SY-SUBRC EQ 0.
WA_FINAL-WERKS = WA_MARC-WERKS.
ENDIF.
APPEND WA_FINAL TO I_FINAL.
SORT I_QMAT BY MATNR.
READ TABLE I_QMAT INTO WA_MARC WITH KEY MATNR = WA_MARA-MATNR BINARY
SEARCH.
IF SY-SUBRC EQ 0.
WA_FINAL-ART = WA_QMAT-ART.
ENDIF.
APPEND WA_FINAL TO I_FINAL.
SORT I_MAPL BY MATNR.
READ TABLE I_MAPL INTO WA_MAPL WITH KEY MATNR = WA_MARA-MATNR BINARY
SEARCH.
IF SY-SUBRC EQ 0.
SORT I_PLKO BY PLNTY.
READ TABLE I_PLKO INTO WA_PLKO WITH KEY PLNTY = WA_MAPL-PLNTY BINARY
SEARCH.
ENDIF.
WA_FINAL-VERWE = WA_PLKO-VERWE.
APPEND WA_FINAL TO I_FINAL.
ENDLOOP.
LOOP AT I_KLAH INTO WA_KLAH.
WA_FINAL-CLASS = WA_KLAH-CLASS.
APPEND WA_FINAL TO I_FINAL.
ENDLOOP.
LOOP AT I_FINAL INTO WA_FINAL.
WRITE:/ WA_FINAL-MATNR,
WA_FINAL-MAKTX,
WA_FINAL-ZZBASE_CODE,
WA_FINAL-WERKS,
WA_FINAL-CLASS,
WA_FINAL-ART,
WA_FINAL-VERWE.
ENDLOOP.
This is my program. it is giving out put.but it is taking lot of time for execution. what might be the porblem.pls let me know.
Thanks,Hi Mythily,
Try the following code.
TYPES: BEGIN OF ty_mara,
matnr TYPE matnr, " Material Number
zzbase_code TYPE zbase_code, " Base Code
END OF ty_mara,
BEGIN OF ty_makt,
matnr TYPE matnr, " Material
maktx TYPE maktx, " Material Description
END OF ty_makt,
BEGIN OF ty_marc,
matnr TYPE matnr , " Material Number
werks TYPE werks_d, " Plant
END OF ty_marc,
BEGIN OF ty_qmat,
art TYPE qpart , " Inspection Type
matnr TYPE matnr , " Material Number
werks TYPE werks_d, "Plant
END OF ty_qmat,
BEGIN OF ty_mapl,
matnr TYPE matnr , " Material
werks TYPE werks_d , "Plant
plnty TYPE plnty , " Task List Type
plnnr TYPE plnnr , " Key for Task List Group
plnal TYPE plnal , " Group Counter
zkriz TYPE dzkriz , " Counter for additional criteria
zaehl TYPE cim_count, " Internal counter
END OF ty_mapl,
BEGIN OF ty_plko,
plnty TYPE plnty , " Task List Type
plnnr TYPE plnnr , " Key for Task List Group
plnal TYPE plnal , " Group Counter
zaehl TYPE cim_count, " Internal counter
verwe TYPE pln_verwe, " Task list usage
END OF ty_plko,
BEGIN OF ty_klah,
class TYPE klasse_d, " Class Number
END OF ty_klah,
BEGIN OF ty_final,
matnr TYPE matnr, " Material Number
maktx TYPE maktx, " Material Description
zzbase_code TYPE zbase_code, " Base Code
werks TYPE werks_d, " Plant
class TYPE klasse_d, " Class Number
art TYPE qpart, " Inspection Type
verwe TYPE pln_verwe, " Task list usage
message TYPE string, " Message
END OF ty_final.
DATA: i_mara TYPE STANDARD TABLE OF ty_mara ,
i_makt TYPE HASHED TABLE OF ty_makt
WITH UNIQUE KEY matnr,
i_marc TYPE SORTED TABLE OF ty_marc
WITH NON-UNIQUE KEY matnr,
i_qmat TYPE SORTED TABLE OF ty_qmat
WITH NON-UNIQUE KEY matnr werks,
i_mapl TYPE SORTED TABLE OF ty_mapl
WITH NON-UNIQUE KEY matnr werks,
i_mapl_tmp TYPE STANDARD TABLE OF ty_mapl ,
i_plko TYPE SORTED TABLE OF ty_plko
WITH NON-UNIQUE KEY plnty
plnnr
plnal,
i_final TYPE STANDARD TABLE OF ty_final,
wa_mara TYPE ty_mara,
wa_makt TYPE ty_makt,
wa_marc TYPE ty_marc,
wa_qmat TYPE ty_qmat,
wa_mapl TYPE ty_mapl,
wa_plko TYPE ty_plko,
wa_klah TYPE ty_klah,
wa_final TYPE ty_final.
DATA: v_mtart TYPE mara-mtart,
v_matnr TYPE mara-matnr,
v_zzbase_code TYPE mara-zzbase_code,
v_werks TYPE t001w-werks,
v_beskz TYPE marc-beskz.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_mtart FOR v_mtart DEFAULT 'halb' TO 'zraw',
s_matnr FOR v_matnr,
s_zzbase FOR v_zzbase_code,
s_werks FOR v_werks OBLIGATORY,
s_beskz FOR v_beskz.
SELECTION-SCREEN END OF BLOCK b1.
START-OF-SELECTION.
SELECT matnr
zzbase_code
FROM mara
INTO TABLE i_mara
WHERE mtart IN s_mtart "Material Type
AND matnr IN s_matnr. "Material
AND zzbase_code IN s_zzbase."Base Code
IF NOT i_mara[] IS INITIAL.
SELECT matnr
maktx
FROM makt
INTO TABLE i_makt
FOR ALL ENTRIES IN i_mara
WHERE matnr EQ i_mara-matnr
AND spras EQ sy-langu.
SELECT matnr
werks
FROM marc
INTO TABLE i_marc
FOR ALL ENTRIES IN i_mara
WHERE matnr EQ i_mara-matnr
AND werks IN s_werks "plant
AND beskz IN s_beskz."Procurement Type
IF sy-subrc EQ 0.
SELECT art
matnr
werks
FROM qmat
INTO TABLE i_qmat
FOR ALL ENTRIES IN i_marc
WHERE matnr EQ i_marc-matnr
AND werks EQ i_marc-werks.
SELECT matnr
werks
plnty
plnnr
plnal
zkriz
zaehl
FROM mapl
INTO TABLE i_mapl
FOR ALL ENTRIES IN i_marc
WHERE matnr EQ i_marc-matnr
AND werks EQ i_marc-werks.
IF NOT i_mapl[] IS INITIAL.
i_mapl_tmp[] = i_mapl[].
SORT i_mapl_tmp BY plnty
plnnr
plnal.
DELETE ADJACENT DUPLICATES FROM i_mapl_tmp
COMPARING
plnty
plnnr
plnal.
SELECT plnty
plnnr
plnal
zaehl
verwe
FROM plko
INTO TABLE i_plko
FOR ALL ENTRIES IN i_mapl_tmp
WHERE plnty EQ i_mapl_tmp-plnty
AND plnnr EQ i_mapl_tmp-plnnr
AND plnal EQ i_mapl_tmp-plnal.
ENDIF.
ENDIF.
ENDIF.
LOOP AT i_mara INTO wa_mara.
wa_final-matnr = wa_mara-matnr.
wa_final-zzbase_code = wa_mara-zzbase_code.
READ TABLE i_makt INTO wa_makt
WITH KEY matnr = wa_mara-matnr
TRANSPORTING
maktx.
IF sy-subrc EQ 0.
wa_final-maktx = wa_makt-maktx.
ENDIF.
REFRESH i_final.
LOOP AT i_marc INTO wa_marc
WHERE matnr EQ wa_mara-matnr.
CLEAR wa_klah-class.
CALL FUNCTION 'CLFC_BATCH_ALLOCATION_TO_CLASS'
EXPORTING
material = wa_mara-matnr
plant = wa_marc-werks
classtype = '023'
IMPORTING
class = wa_klah-class
EXCEPTIONS
wrong_function_call = 1
no_class_found = 2
no_classtype_found = 3
OTHERS = 4.
IF sy-subrc EQ 0.
wa_final-class = wa_klah-class.
ENDIF.
READ TABLE i_qmat
WITH KEY matnr = wa_mara-matnr
werks = wa_marc-werks
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
LOOP AT i_qmat INTO wa_qmat
WHERE matnr EQ wa_mara-matnr
AND werks EQ wa_marc-werks.
wa_final-art = wa_qmat-art.
READ TABLE i_mapl
WITH KEY matnr = wa_marc-matnr
werks = wa_marc-werks
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
LOOP AT i_mapl INTO wa_mapl
WHERE matnr EQ wa_marc-matnr
AND werks EQ wa_marc-werks.
LOOP AT i_plko INTO wa_plko
WHERE plnty EQ wa_mapl-plnty
AND plnnr EQ wa_mapl-plnnr
AND plnal EQ wa_mapl-plnal.
wa_final-verwe = wa_plko-verwe.
APPEND wa_final TO i_final.
ENDLOOP.
ENDLOOP.
ELSE.
APPEND wa_final TO i_final.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT i_mapl INTO wa_mapl
WHERE matnr EQ wa_marc-matnr
AND werks EQ wa_marc-werks.
LOOP AT i_plko INTO wa_plko
WHERE plnty EQ wa_mapl-plnty
AND plnnr EQ wa_mapl-plnnr
AND plnal EQ wa_mapl-plnal.
wa_final-verwe = wa_plko-verwe.
APPEND wa_final TO i_final.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDLOOP.
CLEAR wa_final.
ENDLOOP.
LOOP AT i_final INTO wa_final.
WRITE:/ wa_final-matnr ,
wa_final-maktx ,
wa_final-zzbase_code,
wa_final-werks ,
wa_final-class ,
wa_final-art ,
wa_final-verwe .
ENDLOOP. -
Sometimes RSCRM ABAP program is taking much time
Hi,
I am working in SAP BW 3.1 system. We have one RSCRM Abap program to send the data to Data stage team.
We kept this process in process chain. Some times it takes much time. If i cancel that job and repeat this process it will complete in few minutes.
Please suggest me what would be the reason.
ThanksYou may want to take a look at the following OSS Notes:
[OSS Note 605213 - RSCRM: Performance|https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=605213]
[OSS Note 989461 - RSCRM:code for improving performance in VALUES_READ|https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=989461]
[OSS Note 1137302 - RSCRM: Memory usage optimization|https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1137302] -
Concurrent Programs taking unusually more time..
Hi,
One of our concurrent Requst sets which used to complete within 3 hrs like that is taking unusually large amount of time..We checked for locks but couldnt find any...
Can anyone advise what could be wrong here..
Thanks,
PraveenOne of our concurrent Requst sets which used to complete within 3 hrs like that is taking unusually large amount of timeI understand that this happen to one concurrent request set only. Enable trace on this request to find out why it takes that long to run.
-
Why SQL2 took much more time than SQL1?
I run these 2 SQLs sequencely.
--- SQL1: It took 245 seconds.
create table PORTAL_DAYLOG_100118_bak
as
select * from PORTAL_DAYLOG_100118;
--- SQL2: It took 3105 seconds.
create table PORTAL_DAYLOG_100121_bak
as
select * from PORTAL_DAYLOG_100121;
It is really strange that SQL2 took almost 13 times than SQL1, with nearly same data amount and same data structure in the same tablespace.
Could anyone tell me the reason? or How could I find out why?
Here is more detail info. for my case,
--- Server:
[@wapbi.no.sohu.com ~]$ uname -a
Linux test 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
--- DB
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
--- Tablespace:
CREATE TABLESPACE PORTAL DATAFILE
'/data/oradata/wapbi/portal01.dbf' SIZE 19456M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED,
'/data/oradata/wapbi/portal02.dbf' SIZE 17408M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
--- Tables:
SQL> select table_name,num_rows,blocks,avg_row_len from dba_tables
2 where table_name in ('PORTAL_DAYLOG_100118','PORTAL_DAYLOG_100121');
TABLE_NAME NUM_ROWS BLOCKS AVG_ROW_LEN
PORTAL_DAYLOG_100118 20808536 269760 85
PORTAL_DAYLOG_100121 33747911 440512 86
CREATE TABLE PORTAL_DAYLOG_100118
IP VARCHAR2(20 BYTE),
NODEPATH VARCHAR2(50 BYTE),
PG VARCHAR2(20 BYTE),
PAGETYPE INTEGER,
CLK VARCHAR2(20 BYTE),
FR VARCHAR2(20 BYTE),
PHID INTEGER,
ANONYMOUSID VARCHAR2(50 BYTE),
USID VARCHAR2(50 BYTE),
PASSPORT VARCHAR2(200 BYTE),
M_TIME CHAR(4 BYTE) NOT NULL,
M_DATE CHAR(6 BYTE) NOT NULL,
LOGDATE DATE
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE TABLE PORTAL_DAYLOG_100121
IP VARCHAR2(20 BYTE),
NODEPATH VARCHAR2(50 BYTE),
PG VARCHAR2(20 BYTE),
PAGETYPE INTEGER,
CLK VARCHAR2(20 BYTE),
FR VARCHAR2(20 BYTE),
PHID INTEGER,
ANONYMOUSID VARCHAR2(50 BYTE),
USID VARCHAR2(50 BYTE),
PASSPORT VARCHAR2(200 BYTE),
M_TIME CHAR(4 BYTE) NOT NULL,
M_DATE CHAR(6 BYTE) NOT NULL,
LOGDATE DATE
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;Any comment will be really appeciated!!!
SatineHey Anurag,
Thank you for your help!
Here it is.
SQL1:
create table portal.PORTAL_DAYLOG_100118_TEST
as
select * from portal.PORTAL_DAYLOG_100118
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 374.69 519.05 264982 265815 274858 20808536
Fetch 0 0.00 0.00 0 0 0 0
total 2 374.69 519.05 264982 265815 274858 20808536
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
0 LOAD AS SELECT (cr=268138 pr=264982 pw=264413 time=0 us)
20808536 TABLE ACCESS FULL PORTAL_DAYLOG_100118 (cr=265175 pr=264981 pw=0 time=45792172 us cost=73478 size=1768725560 card=20808536)SQL2:
create table portal.PORTAL_DAYLOG_100121_TEST
as
select * from portal.PORTAL_DAYLOG_100121
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 1465.72 1753.35 290959 291904 300738 22753695
Fetch 0 0.00 0.00 0 0 0 0
total 2 1465.72 1753.35 290959 291904 300738 22753695
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: SYS
Rows Row Source Operation
0 LOAD AS SELECT (cr=295377 pr=290960 pw=289966 time=0 us)
22753695 TABLE ACCESS FULL PORTAL_DAYLOG_100121 (cr=291255 pr=290958 pw=0 time=56167952 us cost=80752 size=1956817770 card=22753695)Best wishes,
Satine -
How to make my Labview vi program run at the same time everyday?
I have Labview vi that uses "Time Stamp Control & Indicator" on front panel to set time & date for program operation.
But, I cannot separate the Date from the Time for Start & Stop control.
I want pgm to run everyday (7days/week) at the same time (e.g. 8am to 630pm) - I don't care about the start & stop Date feature.
So, everyday I have to manually open the Control & change the date to today.
How can I make program only respond to Time start & stop?
Thanks,
jacebOf course rather than create yet something else that is running all the time, setup your VI to only execute for the desired amount of time, If you running windows you can use the task scheduler to launch it.
http://support.microsoft.com/kb/308569
Puts the burden on the OS and is not dependant on you starting it everytime you reboot, or having to put it in the start menu. there are options for it to run even if you are not logged onto the system.
Although not absolutely certain, I am reasonably sure that mac and linux also have something similar.
Paul <--Always Learning!!!
sense and simplicity.
Browse my sample VIs? -
Attribute Change Run taking very Long time.
Hi Experts:
We are daily loading Master data from one common process chain. There are 33 Infoobjects which are getting activated in Attribute Change Run Process. This process is taking almost 3 hours to run daily; due to this it is impacting our other data load process chains.
Many times it happens that there is lock on cubes due to attribute change as attributes are getting aligned to same cube on which the roll up is running.
There are local chains below the attribute change run, which are also important to run.
Please help and suggest the workaround for the same.
Cheers,
Omkar33 info objects in one ACR(attribute change run) is not a good idea.
Better to split the info objects and use multiple ACR.
During your ACR if transaction data load was on then lock issues always occurs.
Thats why we need to run master data loads first and later transaction data loads.
Which info object change run was troubling, better to note the info objects which are causing and try to put them in separate ACR and trigger it before start of your transaction data loads. so that it won't raise the same issue again.
Maybe you are looking for
-
My brand new MBP 17" and hooking up my external monitor
My old MBP...easy to plug cable from the monitor (BENQ) into the computer. I now have a new MBP with a Thunderbolt connector. What is the adapter called that I need? Thanks, --bill
-
Ipod touce 4g wifi slow streaming and internet
Hello, I have slow problem with my ipod when streaming video from youtube and surfing in safari. i have ADSL 15MB internet with d-link 2760U router and do some test with speedtest.net with 47KM server and here are the results 1. from my computer i am
-
How do you install desktop 2 and desktop 3 using Mavericks
There is no plus sign to install desktop 2 and 3. Does anyone know how to do this?
-
I am trying to open a photo and cut out certain parts of it and then paste them together...this may be a silly question but new to mac and need to know what app works best. I am not trying to make greeting cards or anything crazy just simple images o
-
How to change the locale in Safari?
My iMac has a US version of OS X Tiger and I need to change the locale that Safari uses to the UK. I've tried changing the international settings but it has no effect on Safari. I've changed Firefox but I can't change Safari. Has anyone else faced th