Mb51 ; time-outs, important cpu costs
Hello,
Every day, users running transaction MB51 on the production system (ecc6, Oracle 10.2.0.4) are facing time-out issues (1200 sec).
I had a look at the execution plan, there are important CPU costs, since this a sap standard transaction, I wanted some advice ;
The statisctics are up to date both for the tables and the indexes
SELECT STATEMENT ( Estimated Costs = 916 , Estimated #Rows = 0
5 NESTED LOOPS
( Estim. Costs = 915 , Estim. #Rows = 2.383 )
Estim. CPU-Costs = 9.314.135 Estim. IO-Costs = 914
2 TABLE ACCESS BY INDEX ROWID MSEG
( Estim. Costs = 438 , Estim. #Rows = 2.383 )
Estim. CPU-Costs = 5.052.644 Estim. IO-Costs = 438
1 INDEX RANGE SCAN MSEG~M
( Estim. Costs = 5 , Estim. #Rows = 2.383 )
Search Columns: 5
Estim. CPU-Costs = 132.111 Estim. IO-Costs = 5
Access Predicates
4 TABLE ACCESS BY INDEX ROWID MKPF
Estim. CPU-Costs = 1.788 Estim. IO-Costs = 0
Table MSEG
Last statistics date 05.03.2012
Analyze Method Sample 395.660 Rows
Number of rows 39.566.000
Number of blocks allocated 4.205.760
Number of empty blocks 0
Average space 0
Chain count 0
Average row length 680
Partitioned NO
UNIQUE Index MSEG~0
Column Name #Distinct
MANDT 1
MBLNR 483.630
MJAHR 3
ZEILE 476
Last statistics date 05.03.2012
Analyze Method Sample 386.574 Rows
Levels of B-Tree 3
Number of leaf blocks 195.500
Number of distinct keys 38.657.400
Average leaf blocks per key 1
Average data blocks per key 1
Clustering factor 5.744.200
3 INDEX UNIQUE SCAN MKPF~0
Search Columns: 3
Estim. CPU-Costs = 210 Estim. IO-Costs = 0
Access Predicates
NONUNIQUE Index MSEG~M
Column Name #Distinct
MANDT 1
MATNR 16.601
WERKS 29
LGORT 38
BWART 52
SOBKZ 5
Last statistics date 05.03.2012
Analyze Method Sample 394.562 Rows
Levels of B-Tree 3
Number of leaf blocks 379.900
Number of distinct keys 16.601
Average leaf blocks per key 70
Average data blocks per key 6.681
Clustering factor 35.901.000
NONUNIQUE Index MSEG~R
Column Name #Distinct
MANDT 1
RSNUM 192.208
Last statistics date 05.03.2012
Analyze Method Sample 369.922 Rows
Levels of B-Tree 3
Number of leaf blocks 139.100
Number of distinct keys 404.600
Average leaf blocks per key 1
Average data blocks per key 15
Clustering factor 6.151.600
NONUNIQUE Index MSEG~S
Column Name #Distinct
SMBLN 528
SJAHR 4
SMBLP 150
Last statistics date 05.03.2012
Analyze Method Sample 396.865 Rows
Levels of B-Tree 3
Number of leaf blocks 182.300
Number of distinct keys 582
Average leaf blocks per key 313
Average data blocks per key 7.110
Clustering factor 4.138.300
Table MKPF
Last statistics date 05.03.2012
Analyze Method Sample 73.955 Rows
Number of rows 2.465.167
Number of blocks allocated 70.524
Number of empty blocks 0
Average space 0
Chain count 0
Average row length 142
Partitioned NO
NONUNIQUE Index MKPF~BUD
Column Name #Distinct
MANDT 1
BUDAT 539
MBLNR 2.465.167
Last statistics date 05.03.2012
Analyze Method Sample 219.184 Rows
Levels of B-Tree 2
Number of leaf blocks 12.750
Number of distinct keys 2.499.699
Average leaf blocks per key 1
Average data blocks per key 1
Clustering factor 1.306.222
NONUNIQUE Index MKPF~Z01
Column Name #Distinct
MANDT 1
XBLNR 43.025
Last statistics date 05.03.2012
Analyze Method Sample 169.933 Rows
Levels of B-Tree 2
Number of leaf blocks 15.780
Number of distinct keys 462.223
Average leaf blocks per key 1
Average data blocks per key 1
Clustering factor 587.177
UNIQUE Index MKPF~0
Column Name #Distinct
MANDT 1
MBLNR 2.465.167
MJAHR 3
Last statistics date 05.03.2012
Analyze Method Sample 225.313 Rows
Levels of B-Tree 2
Number of leaf blocks 10.044
Number of distinct keys 2.274.411
Average leaf blocks per key 1
Average data blocks per key 1
Clustering factor 1.149.849
*And here is the standard abap coding responsible
*SAP include
*RM07DOCS_GENERATED
*FORM DATA_SELECTION . "#EC CALLED
* Data selection routine for standard access
* process SELECT command depending on the
* required material selection
if g_cnt_matnr_total > 0 and
g_cnt_matnr_total = g_cnt_matnr_i_eq.
* work with .. for all entries ...
select (g_t_fields)
into corresponding fields of table itab
from mkpf inner join mseg
on mkpf~mandt = mseg~mandt
and mkpf~mblnr = mseg~mblnr
and mkpf~mjahr = mseg~mjahr
for all entries in matnr
where matnr = matnr-low
and MKPF~BUDAT in BUDAT
and MSEG~BWART in BWART
and MSEG~CHARG in CHARG
and MSEG~KUNNR in KUNNR
and MSEG~LFBNR in LFBNR
and MSEG~LGORT in LGORT
and MSEG~LIFNR in LIFNR
and MSEG~SOBKZ in SOBKZ
and MKPF~USNAM in USNAM
and MKPF~VGART in VGART
and MSEG~WERKS in WERKS
and MKPF~XBLNR in XBLNR
%_HINTS
ORACLE '&SUBSTITUTE VALUES&'
else.
* wor
Similar Messages
-
Import javax.microedition.io.HttpConnection times out
Hello,
This is in a BlackBerry JDE application.
The call to 'openInputStream' always times out, as does,
connection.getResponseCode(); or
connection.getType();
try {
String URL = "http://www.google.com/index.html";
HttpConnection connection = (HttpConnection)Connector.open(URL);
connection.setRequestMethod(HttpConnection.GET);
InputStream is = connection.openInputStream(); // this times out
catch (Exception exc) {
String s = exc.getMessage();
Any ideas? Thanks.not so much the import part, I copied the package include declaration to get the full name.
-
Finding out time for importing a transport
Hello,
I want to find the time taken by a transport to be imported to a system.
It can be done through the logs, but in this case, I have a huge list of TRs.
Is there an option in SAP where I can find out the time for importing each TR?
Thanks,
PrateekHi,
U can see this in STMS
Go to STMS->Overview->Import overview->Select the queue where u want to see->Double click on it u can see the requests->
Double click on the request u want->there select the request and click on transport logs icon on top -
Time out error 1.6 million internal table fields are computed using FMs
Hi , All ...
The Report running fine in server with less 300 record but ...production server which has 1.6 million record it gives error as time-out error and takes hell amount of time.
Please suggest ugently ..
I have tried few things
Internal table having 1.6 lacs ... fields to compute .. i have token in a batch
loop at i_cinfo into s_cinfo from 1 to 100000.
and so on ...also applied all the performace related .. like indexs, work areas , deleting adjacent duplicates , for all entries ..wherever applicable.
Please Suggest .
Report is as below
REPORT ZUSOTCBD_CREDIT_REPORT .
TABLES : KNA1, " General Data Customer Master
KNB1, " Customer Master (Company Code)
KNC1, " Customer master (transaction figures)
KNKK, " Customer master credit management: Control area data
T009, " Fiscal Year Variants P
T009Y, " Shortened fiscal years in Asset Accounting P
T001, " Co. Codes
T001CM, " Permitted Credit Control Areas per Company Code
RF42B, " Structure to hold credit data.
RF035, " Structure to hold credit managment fields
RF02L, " Structure to hold credit data.
TRAS, " Interval for Days in Arrears P
T000CM. " Data for DSO calculation.
Types
TYPES:
BEGIN OF type_final,
string(50) TYPE c, " String Value for Title
END OF type_final.
data:wa_final TYPE type_final. " Work Area to hold Title Data
DATA: RASID TYPE RF035-RASID value 'R03N'. " For Days in interval
DATA: MONAT(2) TYPE N.
DATA: GJAHR TYPE KNC1-GJAHR.
DATA: LD_PERIODS(32) TYPE N
VALUE '01020304050607080910111213141516'.
DATA sytabix type sy-tabix.
DATA LAND TYPE KNA1-LAND1 VALUE 'US'. " Country Key
DATA: LD_PERIOD TYPE BSID-MONAT, " Fiscal Year Variant
LD_GJAHR TYPE KNC1-GJAHR,
LD_COUNTER TYPE SY-TABIX.
Internal Tables
Internal table to hold Title Data *
DATA:
i_final TYPE STANDARD TABLE OF type_final.
**Internal Table Permitted Credit Control Areas per Company Code
DATA: BEGIN OF TCMTAB OCCURS 10.
INCLUDE STRUCTURE T001CM.
DATA: END OF TCMTAB.
*Internal table to store Customer no.
DATA : BEGIN OF ICUST OCCURS 0,
KUNNR TYPE KNA1-KUNNR, " Customer No.
END OF ICUST.
DATA: BEGIN OF BUKTAB OCCURS 20,
KKBER LIKE T001-KKBER, " Credit Control Area
BUKRS LIKE T001-BUKRS, " Co. Code
WAERS LIKE T001-WAERS, " Currency
PERIV LIKE T001-PERIV, " Fiscal Year Variant
BUTXT LIKE T001-BUTXT,
END OF BUKTAB.
Internal Table to store Fiscal year Data .
DATA: BEGIN OF GJATAB OCCURS 5,
PERIV LIKE T001-PERIV, " Fiscal Year Variant
GJAHR LIKE KNC1-GJAHR, " Fiscal Year
MONAT LIKE T009-ANZBP, "
ANZBP LIKE T009-ANZBP, " Number of posting periods
END OF GJATAB.
*Main Output internal table to be used to store credit history Information
DATA : BEGIN OF I_CINFO occurs 0,
KUNNR TYPE KNB1-KUNNR, " Customer
KNKLI TYPE KNKK-KNKLI, " Customer's account number with credit limit reference
KKBER TYPE KNKK-KKBER, " Credit Control Area
CTLPC TYPE KNKK-CTLPC, " Risk Category
KLIMK TYPE KNKK-KLIMK, " Credit Limit
SBGRP TYPE KNKK-SBGRP, " Credit representative group for credit management
ERDAT TYPE KNKK-ERDAT, " Created On
DTREV TYPE KNKK-DTREV, " Last Internal Review
REVDB TYPE KNKK-REVDB, " Last External Review
SALDO TYPE RF42B-SALDO, " Balance
DSOIN TYPE RF02L-DSOIN, " DSO
H06SA TYPE RF035-H06SA, " Highest Balance at the end of 6 Months
H06JA TYPE RF035-H06JA, " Year highest Balance 6 Months
H06MO TYPE RF035-H06MO, " Month OF hihest Balance 6 Months
H12SA TYPE RF035-H12SA, " Highest Balance at the end of 12 Months
H12JA TYPE RF035-H12JA, " Year highest Balance 12 Months
H12MO TYPE RF035-H12MO, " Month OF hihest Balance 12 Months
UMP2U TYPE RF42B-UMP2U, " Sales from the current Year
UMP1U TYPE RF42B-UMP1U, " Sales from the Previous Year
SFAEL TYPE RF035-SFAEL, " Total Past Due Open Item
SFAE1 TYPE RF035-SFAE1, " Aging buckets 0-15
SFAE2 TYPE RF035-SFAE2, " Aging buckets 16-30
SFAE3 TYPE RF035-SFAE3, " Aging buckets 31-60
SFAE4 TYPE RF035-SFAE4, " Aging buckets 60-90
SFAE5 TYPE RF035-SFAE5, " Aging buckets Over 90
END Of I_CINFO.
DATA : BEGIN OF S_CINFO ,
KUNNR TYPE KNB1-KUNNR, " Customer
KNKLI TYPE KNKK-KNKLI, " Customer's account number with credit limit reference
KKBER TYPE KNKK-KKBER, " Credit Control Area
CTLPC TYPE KNKK-CTLPC, " Risk Category
KLIMK TYPE KNKK-KLIMK, " Credit Limit
SBGRP TYPE KNKK-SBGRP, " Credit representative group for credit management
ERDAT TYPE KNKK-ERDAT, " Created On
DTREV TYPE KNKK-DTREV, " Last Internal Review
REVDB TYPE KNKK-REVDB, " Last External Review
SALDO TYPE RF42B-SALDO, " Balance
DSOIN TYPE RF02L-DSOIN, " DSO
H06SA TYPE RF035-H06SA, " Highest Balance at the end of 6 Months
H06JA TYPE RF035-H06JA, " Year highest Balance 6 Months
H06MO TYPE RF035-H06MO, " Month OF hihest Balance 6 Months
H12SA TYPE RF035-H12SA, " Highest Balance at the end of 12 Months
H12JA TYPE RF035-H12JA, " Year highest Balance 12 Months
H12MO TYPE RF035-H12MO, " Month OF hihest Balance 12 Months
UMP2U TYPE RF42B-UMP2U, " Sales from the current Year
UMP1U TYPE RF42B-UMP1U, " Sales from the Previous Year
SFAEL TYPE RF035-SFAEL, " Total Past Due Open Item
SFAE1 TYPE RF035-SFAE1, " Aging buckets 0-15
SFAE2 TYPE RF035-SFAE2, " Aging buckets 16-30
SFAE3 TYPE RF035-SFAE3, " Aging buckets 31-60
SFAE4 TYPE RF035-SFAE4, " Aging buckets 60-90
SFAE5 TYPE RF035-SFAE5, " Aging buckets Over 90
END Of s_cinfo.
*Internal table to hold month-wise balance.
DATA: BEGIN OF SALTAB OCCURS 12,
LNUMM(2) TYPE N, " Month
SALDO LIKE RF42B-SALDO, " Balance
END OF SALTAB.
*Internal table used for computing the Balance fields
DATA: BEGIN OF SALDO,
UML01 LIKE KNC1-UM01S,
UML02 LIKE KNC1-UM01S,
UML03 LIKE KNC1-UM01S,
UML04 LIKE KNC1-UM01S,
UML05 LIKE KNC1-UM01S,
UML06 LIKE KNC1-UM01S,
UML07 LIKE KNC1-UM01S,
UML08 LIKE KNC1-UM01S,
UML09 LIKE KNC1-UM01S,
UML10 LIKE KNC1-UM01S,
UML11 LIKE KNC1-UM01S,
UML12 LIKE KNC1-UM01S,
END OF SALDO.
Structure to hold Bal fields ------ -------
DATA: BEGIN OF SKNKK,
KUNNR LIKE KNA1-KUNNR, " Customer Number 1: Debitor
KONTO LIKE KNKK-KUNNR,
SFAE1 LIKE RF035-SFAE1, " Aging buckets 0-15
SFAE2 LIKE RF035-SFAE2, " Aging buckets 16-30
SFAE3 LIKE RF035-SFAE3, " Aging buckets 30-60
SFAE4 LIKE RF035-SFAE4, " Aging buckets 60-90
SFAE5 LIKE RF035-SFAE5, " Aging buckets Over 90
SFAEL LIKE RF035-SFAEL, " Total Due of Items
UML01 LIKE KNC1-UM01S,
UML02 LIKE KNC1-UM01S,
UML03 LIKE KNC1-UM01S,
UML04 LIKE KNC1-UM01S,
UML05 LIKE KNC1-UM01S,
UML06 LIKE KNC1-UM01S,
UML07 LIKE KNC1-UM01S,
UML08 LIKE KNC1-UM01S,
UML09 LIKE KNC1-UM01S,
UML10 LIKE KNC1-UM01S,
UML11 LIKE KNC1-UM01S,
UML12 LIKE KNC1-UM01S,
UMP1U LIKE RF42B-UMP1U, " Sales from the Previous Year
UMP2U LIKE RF42B-UMP2U, " Sales from the current Year
SALDO LIKE RF42B-SALDO, " Balance
END OF SKNKK.
DATA : BEGIN OF ICUST1 OCCURS 0,
KUNNR TYPE KNA1-KUNNR, "For Customer Filter.
END OF ICUST1.
**Internal table to hold fiscal varriants
DATA: BEGIN OF LT_PERIODS OCCURS 12,
PERIOD LIKE BSID-MONAT,
GJAHR LIKE KNC1-GJAHR,
END OF LT_PERIODS.
**Constants
constants : BUKRS1 TYPE KNB1-BUKRS VALUE '1000',
BUKRS2 TYPE KNB1-BUKRS VALUE '1031',
Recs Type i value '200',
B_count type i value '2'.
INITIALIZATION
INITIALIZATION.
IF RASID IS INITIAL.
SELECT * FROM TRAS.
EXIT.
ENDSELECT.
IF SY-SUBRC = 0.
RASID = TRAS-RASID.
ENDIF.
ENDIF.
SELECTION-SCREEN
parameters : p_path type rlgrap-filename default 'C:\Documents and Settings\C890971\Desktop\Credit_history.XLS'.
Start of selection processing
START-OF-SELECTION.
**Get Customers for Co. Code 1000 & 1031.
PERFORM GET_CUST.
Get / Compute Credit Information data for Company Codes 1000 & 1031.
PERFORM GET_CREDIT_DATA.
End of selection processing
*END-OF-SELECTION.
Listing Credit History Data
PERFORM DOWNLOAD_CREDIT_DATA.
S U B R O U T I N E S
*& Form GET_CUST
text
--> p1 text
<-- p2 text
FORM GET_CUST .
Get US only Customers.
Refresh icust.
Select kunnr from kna1 appending table icust
where Land1 = land.
**Delete duplicate records
Delete Adjacent duplicates from icust comparing kunnr.
if icust[] is not initial.
Limit the selection some more to Co. Code 1000 & 1031
As join will cost overhead as compared.
Select kunnr from knb1 into table icust1
for all entries in icust
where kunnr = icust-kunnr
and bukrs = bukrs1
OR bukrs = bukrs2.
**Delete duplicate records
Delete Adjacent duplicates from icust1 comparing kunnr.
endif.
**Free memory.
Free icust.
Credit Control Area
select * from T001CM into table TCMTAB
where bukrs = bukrs1 OR
bukrs = bukrs2.
ENDFORM. " GET_CUST
*& Form GET_CREDIT_DATA
text
--> p1 text
<-- p2 text
FORM GET_CREDIT_DATA .
DATA : L_TEXT(60) TYPE C ,
Ltext1(50) type C value 'Computing Credit-History Data For',
Ltext2(10) type C value 'Customers',
L_PCT type i value '10',
L_recs type i,
l_batch_recs type i,
l_s_rec type i value 1,
l_recs1(7) type N.
***Fetch data from KNKK table
PERFORM GET_KNKK_DATA .
***Computing Crredit Fields
**Number of Customers For whom Deatils needed.
Describe table I_CINFO lines l_recs.
l_recs1 = l_recs.
Concatenate Ltext1 l_recs1 Ltext2 into l_text separated by ' '.
PERFORM GET_PGRESS_INDICATOR USING l_text l_pct.
***If records are more than 200000, should be processed batch-wise
If l_recs > recs.
l_batch_recs = abs( l_recs / b_count ).
Do b_count times.
loop at i_cinfo INTO S_CINFO from l_S_REC to l_batch_recs.
**Remember the row
sytabix = sy-tabix.
**Compute DSO
PERFORM GET_DSO_FIELD .
Compute rest credit history data.
PERFORM COMPUTE_SFIELDS.
endloop.
l_S_REC = l_S_REC + l_batch_recs.
l_batch_recs = l_batch_recs + l_batch_recs.
IF l_batch_recs ge l_recs.
l_batch_recs = l_recs.
eNDIF.
Commit up to here to release the DB locks.
Commit work.
enddo.
else.
loop at i_cinfo INTO S_CINFO.
**Remember the row
sytabix = sy-tabix.
**Compute DSO
PERFORM GET_DSO_FIELD .
Compute rest credit history data.
PERFORM COMPUTE_SFIELDS.
endloop.
Endif.
ENDFORM. " GET_CREDIT_DATA
*& Form GET_KNKK_DATA
text
-->P_ICUST_KUNNR text
FORM GET_KNKK_DATA .
if icust1[] is not initial.
SELECT KUNNR KNKLI KKBER CTLPC KLIMK
SBGRP ERDAT DTREV REVDB
from KNKK into corresponding fields of table I_Cinfo
for all entries in icust1
where kunnr = icust1-kunnr.
Delete Adjacent duplicates from i_cinfo comparing kunnr.
endif.
**Free Memory for internal table icust1.
Free icust1.
ENDFORM. " GET_KNKK_DATA
**& Form GET_DSO_FIELD
text
--> p1 text
<-- p2 text
FORM GET_DSO_FIELD .
***Determine DSO Parameter
PERFORM DSO_PARAMETER.
***Compute DSO
CALL FUNCTION 'CUSTOMER_DSO_CALCULATION'
EXPORTING
I_KKBER = s_cinfo-kkber
I_KUNNR = s_cinfo-kunnr
I_ANZBUPER = T000CM-DSOPP
I_XCHILDS = T000CM-DSOCH
I_ACTBALANCE = T000CM-DSOAB
IMPORTING
E_DSOIN = RF02L-DSOIN
EXCEPTIONS
ERROR_MESSAGE = 1.
ENDFORM. " GET_DSO_FIELD
*& Form DSO_PARAMETER
text
--> p1 text
<-- p2 text
FORM DSO_PARAMETER.
IF T000CM-DSOPP IS INITIAL.
SELECT SINGLE * FROM T000CM.
IF SY-SUBRC EQ 0.
IF T000CM-DSOPP IS INITIAL.
T000CM-DSOPP = '003'.
ENDIF.
ELSE.
T000CM-DSOPP = '003'.
T000CM-DSOCH = ' '.
T000CM-DSOAB = 'X'.
ENDIF.
ENDIF.
ENDFORM. " DSO_PARAMETER
--> p1 text
<-- p2 text
FORM PERIODE_ERMITTELN_EXC USING
P03_BUDAT LIKE SYST-DATUM
P03_GJAHR LIKE KNC1-GJAHR
P03_MONAT LIKE MONAT.
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
I_BUDAT = P03_BUDAT
I_PERIV = T001-PERIV
I_BUKRS = T001-BUKRS
I_GJAHR = P03_GJAHR
I_MONAT = P03_MONAT
IMPORTING
E_GJAHR = P03_GJAHR
E_MONAT = P03_MONAT
EXCEPTIONS
ERROR_MESSAGE = 1.
ENDFORM. "PERIODE_ERMITTELN_EXC
*& Form COMPUTE_SFIELDS
text
--> p1 text
<-- p2 text
FORM COMPUTE_SFIELDS .
**Compute Balance
PERFORM GET_SFIELDS .
S_CINFO-DSOIN = RF02L-DSOIN.
S_CINFO-SALDO = RF035-SALDO.
S_CINFO-H06SA = RF035-H06SA.
S_CINFO-H06JA = RF035-H06JA.
S_CINFO-H06MO = RF035-H06MO.
S_CINFO-H12SA = RF035-H12SA.
S_CINFO-H12JA = RF035-H12JA.
S_CINFO-H12MO = RF035-H12MO.
S_CINFO-UMP2U = RF42B-UMP2U.
S_CINFO-UMP1U = RF42B-UMP1U.
S_CINFO-SFAEL = RF035-SFAEL.
S_CINFO-SFAE1 = RF035-SFAE1.
S_CINFO-SFAE2 = RF035-SFAE2.
S_CINFO-SFAE3 = RF035-SFAE3.
S_CINFO-SFAE4 = RF035-SFAE4.
S_CINFO-SFAE5 = RF035-SFAE5.
modify..
MODIFY I_CINFO FROM S_CINFO INDEX sytabix.
CLEAR: S_CINFO,RF035,RF02L, RF42B.
ENDFORM. " COMPUTE_SFIELDS
text
-->P_C_INFO_KUNNR text
FORM GET_CUST_BAL_INFO.
LOOP AT TCMTAB.
CALL FUNCTION 'FI_COMPANY_CODE_DATA'
EXPORTING
I_BUKRS = TCMTAB-BUKRS
IMPORTING
E_T001 = T001
EXCEPTIONS
ERROR_MESSAGE = 1.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T001 TO BUKTAB.
BUKTAB-KKBER = TCMTAB-KKBER.
COLLECT BUKTAB.
ENDIF.
ENDLOOP.
LOOP AT BUKTAB WHERE PERIV NE SPACE.
GJATAB-PERIV = BUKTAB-PERIV.
COLLECT GJATAB.
ENDLOOP.
CLEAR: MONAT.
LOOP AT GJATAB.
T001-PERIV = GJATAB-PERIV.
CLEAR: GJAHR, MONAT.
PERFORM PERIODE_ERMITTELN_EXC USING SY-DATLO GJAHR MONAT.
CHECK SY-SUBRC = 0.
GJATAB-GJAHR = GJAHR.
GJATAB-MONAT = MONAT.
SELECT SINGLE * FROM T009 WHERE PERIV = GJATAB-PERIV.
IF SY-SUBRC = 0.
GJATAB-ANZBP = T009-ANZBP.
ENDIF.
MODIFY GJATAB.
ENDLOOP.
LOOP AT BUKTAB.
CHECK NOT ( BUKTAB-PERIV IS INITIAL ).
READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
CHECK SY-SUBRC = 0
AND NOT ( GJATAB-GJAHR IS INITIAL ).
CALL FUNCTION 'CUSTOMER_BALANCE'
EXPORTING
KUNNR = S_cinfo-kunnr
BUKRS = BUKTAB-BUKRS
GJAHR = GJATAB-GJAHR
MONAT = GJATAB-MONAT
PERIV = GJATAB-PERIV
ANZBP = GJATAB-ANZBP
XH6MON = 'X'
XH12MON = 'X'
IMPORTING
UMP2U = RF42B-UMP2U
VMP2U = RF42B-UMP1U
SALDO = RF035-SALDO
UML01 = SALDO-UML01
UML02 = SALDO-UML02
UML03 = SALDO-UML03
UML04 = SALDO-UML04
UML05 = SALDO-UML05
UML06 = SALDO-UML06
UML07 = SALDO-UML07
UML08 = SALDO-UML08
UML09 = SALDO-UML09
UML10 = SALDO-UML10
UML11 = SALDO-UML11
UML12 = SALDO-UML12
EXCEPTIONS
NO_BALANCE = 4.
IF SY-SUBRC = 0.
SKNKK-UMP1U = SKNKK-UMP1U + RF42B-UMP1U.
SKNKK-UMP2U = SKNKK-UMP2U + RF42B-UMP2U.
SKNKK-SALDO = SKNKK-SALDO + RF035-SALDO.
SKNKK-UML01 = SKNKK-UML01 + SALDO-UML01.
SKNKK-UML02 = SKNKK-UML02 + SALDO-UML02.
SKNKK-UML03 = SKNKK-UML03 + SALDO-UML03.
SKNKK-UML04 = SKNKK-UML04 + SALDO-UML04.
SKNKK-UML05 = SKNKK-UML05 + SALDO-UML05.
SKNKK-UML06 = SKNKK-UML06 + SALDO-UML06.
SKNKK-UML07 = SKNKK-UML07 + SALDO-UML07.
SKNKK-UML08 = SKNKK-UML08 + SALDO-UML08.
SKNKK-UML09 = SKNKK-UML09 + SALDO-UML09.
SKNKK-UML10 = SKNKK-UML10 + SALDO-UML10.
SKNKK-UML11 = SKNKK-UML11 + SALDO-UML11.
SKNKK-UML12 = SKNKK-UML12 + SALDO-UML12.
ENDIF.
ENDLOOP.
ENDFORM. "
*& Form GET_SFIELDS
text
--> p1 text
<-- p2 text
FORM GET_SFIELDS .
sknkk-kunnr = S_CINFO-KUNNR.
**Clear target to store computed values
CLEAR: RF035.
**Compute Balance fields
PERFORM GET_CUST_BAL_INFO.
REFRESH: SALTAB.
SALTAB-LNUMM = '01'. SALTAB-SALDO = SKNKK-UML01. APPEND SALTAB.
SALTAB-LNUMM = '02'. SALTAB-SALDO = SKNKK-UML02. APPEND SALTAB.
SALTAB-LNUMM = '03'. SALTAB-SALDO = SKNKK-UML03. APPEND SALTAB.
SALTAB-LNUMM = '04'. SALTAB-SALDO = SKNKK-UML04. APPEND SALTAB.
SALTAB-LNUMM = '05'. SALTAB-SALDO = SKNKK-UML05. APPEND SALTAB.
SALTAB-LNUMM = '06'. SALTAB-SALDO = SKNKK-UML06. APPEND SALTAB.
SALTAB-LNUMM = '07'. SALTAB-SALDO = SKNKK-UML07. APPEND SALTAB.
SALTAB-LNUMM = '08'. SALTAB-SALDO = SKNKK-UML08. APPEND SALTAB.
SALTAB-LNUMM = '09'. SALTAB-SALDO = SKNKK-UML09. APPEND SALTAB.
SALTAB-LNUMM = '10'. SALTAB-SALDO = SKNKK-UML10. APPEND SALTAB.
SALTAB-LNUMM = '11'. SALTAB-SALDO = SKNKK-UML11. APPEND SALTAB.
SALTAB-LNUMM = '12'. SALTAB-SALDO = SKNKK-UML12. APPEND SALTAB.
READ TABLE SALTAB INDEX 1.
RF035-H06SA = SALTAB-SALDO.
RF035-H06MO = SALTAB-LNUMM.
RF035-H12SA = SALTAB-SALDO.
RF035-H12MO = SALTAB-LNUMM.
------ SALTAB ---------------------------------------------
LOOP AT SALTAB.
IF SALTAB-SALDO > RF035-H06SA
AND SY-TABIX < 7.
RF035-H06SA = SALTAB-SALDO.
RF035-H06MO = SALTAB-LNUMM.
ENDIF.
IF SALTAB-SALDO > RF035-H12SA
AND SY-TABIX < 13.
RF035-H12SA = SALTAB-SALDO.
RF035-H12MO = SALTAB-LNUMM.
ENDIF.
ENDLOOP.
------ Period--------------------
REFRESH LT_PERIODS.
CLEAR LD_COUNTER.
READ TABLE BUKTAB INDEX 1.
IF SY-SUBRC = 0.
READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
DO GJATAB-MONAT TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
LT_PERIODS-GJAHR = GJATAB-GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
LD_COUNTER = LD_COUNTER + 1.
APPEND LT_PERIODS.
ENDDO.
IF LD_COUNTER LT 12.
LD_GJAHR = GJATAB-GJAHR - 1.
CLEAR T009Y.
SELECT SINGLE * FROM T009Y WHERE PERIV = GJATAB-PERIV
AND GJAHR = LD_GJAHR.
DO GJATAB-ANZBP TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
IF T009Y-ANZBP > 0.
CHECK SY-INDEX <= T009Y-ANZBP.
ENDIF.
LD_COUNTER = LD_COUNTER + 1.
LT_PERIODS-GJAHR = LD_GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
APPEND LT_PERIODS.
ENDDO.
ENDIF.
IF LD_COUNTER LT 12.
LD_GJAHR = LD_GJAHR - 1.
DO GJATAB-ANZBP TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
LD_COUNTER = LD_COUNTER + 1.
LT_PERIODS-GJAHR = LD_GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
APPEND LT_PERIODS.
ENDDO.
ENDIF.
SORT LT_PERIODS BY GJAHR ASCENDING PERIOD ASCENDING.
LD_COUNTER = LD_COUNTER - 12.
DO LD_COUNTER TIMES.
DELETE LT_PERIODS INDEX 1.
ENDDO.
SORT LT_PERIODS BY GJAHR DESCENDING PERIOD DESCENDING.
READ TABLE LT_PERIODS INDEX RF035-H06MO.
RF035-H06MO = LT_PERIODS-PERIOD.
RF035-H06JA = LT_PERIODS-GJAHR.
READ TABLE LT_PERIODS INDEX RF035-H12MO.
RF035-H12MO = LT_PERIODS-PERIOD.
RF035-H12JA = LT_PERIODS-GJAHR.
ENDIF.
**Compute Due Dates fields
PERFORM GET_AGING_BUCKETS .
RF035-SFAE1 = SKNKK-SFAE1.
RF035-SFAE2 = SKNKK-SFAE2.
RF035-SFAE3 = SKNKK-SFAE3.
RF035-SFAE4 = SKNKK-SFAE4 .
RF035-SFAE5 = SKNKK-SFAE5.
ENDLOOP.
ENDFORM. " GET_BALANCE_SFIELDS
*& Form GET_AGING_BUCKETS
text
--> p1 text
<-- p2 text
FORM GET_AGING_BUCKETS .
DATA: BEGIN OF LT_BUKRS OCCURS 0,
BUKRS LIKE T001-BUKRS,
END OF LT_BUKRS.
DATA: BEGIN OF LT_BUKTAB OCCURS 0,
BUKRS LIKE T001-BUKRS,
WAERS LIKE T001-WAERS,
KKBER LIKE T014-KKBER,
END OF LT_BUKTAB.
DATA: LD_LINES LIKE SY-TABIX.
*...performance optimization: for more than one company codes check....*
*...if balances exist and avoid selection of open items, if they don't.*
*...exist..............................................................*
REFRESH LT_BUKRS.
REFRESH LT_BUKTAB.
DESCRIBE TABLE BUKTAB LINES LD_LINES.
IF LD_LINES GT 1.
SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
OF TABLE LT_BUKRS
FROM KNC1 FOR ALL ENTRIES IN BUKTAB
WHERE BUKRS = BUKTAB-BUKRS AND
KUNNR = Sknkk-KUNNR.
SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
OF TABLE LT_BUKRS
FROM KNC3 FOR ALL ENTRIES IN BUKTAB
WHERE BUKRS = BUKTAB-BUKRS AND
KUNNR = Sknkk-KUNNR.
SORT LT_BUKRS.
DELETE ADJACENT DUPLICATES FROM LT_BUKRS.
LOOP AT LT_BUKRS.
LOOP AT BUKTAB WHERE BUKRS = LT_BUKRS-BUKRS.
MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
APPEND LT_BUKTAB.
ENDLOOP.
ENDLOOP.
ELSE.
READ TABLE BUKTAB INDEX 1.
MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
APPEND LT_BUKTAB.
ENDIF.
*...process company codes for customer given by interface..........*
LOOP AT LT_BUKTAB WHERE KKBER = s_cinfo-KKBER.
CALL FUNCTION 'CUSTOMER_DUE_DATE_ANALYSIS'
EXPORTING BUKRS = LT_BUKTAB-BUKRS
KKBER = ' '
KKBER = s_cinfo-KKBER
KUNNR = Sknkk-KUNNR
RASID = RASID
IMPORTING SFAE1 = RF035-SFAE1
SFAE2 = RF035-SFAE2
SFAE3 = RF035-SFAE3
SFAE4 = RF035-SFAE4
SFAE5 = RF035-SFAE5
SFAEL = RF035-SFAEL
EXCEPTIONS NO_OPEN_ITEMS = 4.
IF SY-SUBRC = 0.
*-- RF035 -
SKNKK-SFAE1 = SKNKK-SFAE1 + RF035-SFAE1.
SKNKK-SFAE2 = SKNKK-SFAE2 + RF035-SFAE2.
SKNKK-SFAE3 = SKNKK-SFAE3 + RF035-SFAE3.
SKNKK-SFAE4 = SKNKK-SFAE4 + RF035-SFAE4.
SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
SKNKK-SFAEL = SKNKK-SFAEL + RF035-SFAEL.
ENDIF.
ENDLOOP.
ENDFORM. " GET_AGING_BUCKETS
*& Form header
This Subroutine gets data for displaying title *
There are no interface parameters to be passed to this subroutine. *
FORM header .
wa_final-string = text-000. APPEND wa_final TO i_final.
wa_final-string = text-001. APPEND wa_final TO i_final.
wa_final-string = text-002. APPEND wa_final TO i_final.
wa_final-string = text-003. APPEND wa_final TO i_final.
wa_final-string = text-004. APPEND wa_final TO i_final.
wa_final-string = text-005. APPEND wa_final TO i_final.
wa_final-string = text-006. APPEND wa_final TO i_final.
wa_final-string = text-007. APPEND wa_final TO i_final.
wa_final-string = text-008. APPEND wa_final TO i_final.
wa_final-string = text-009. APPEND wa_final TO i_final.
wa_final-string = text-010. APPEND wa_final TO i_final.
wa_final-string = text-011. APPEND wa_final TO i_final.
wa_final-string = text-012. APPEND wa_final TO i_final.
wa_final-string = text-013. APPEND wa_final TO i_final.
wa_final-string = text-014. APPEND wa_final TO i_final.
wa_final-string = text-015. APPEND wa_final TO i_final.
wa_final-string = text-016. APPEND wa_final TO i_final.
wa_final-string = text-017. APPEND wa_final TO i_final.
wa_final-string = text-018. APPEND wa_final TO i_final.
wa_final-string = text-019. APPEND wa_final TO i_final.
wa_final-string = text-020. APPEND wa_final TO i_final.
wa_final-string = text-021. APPEND wa_final TO i_final.
wa_final-string = text-022. APPEND wa_final TO i_final.
wa_final-string = text-023. APPEND wa_final TO i_final.
wa_final-string = text-024. APPEND wa_final TO i_final.
ENDFORM. " header
*& Form DOWNLOADCREDITDATA
text
-->P_P_PATH text
FORM DOWNLOADCREDITDATA USING P_PATH.
DATA:
lw_file2 TYPE string . " File Path
lw_file2 = p_PATH.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = BIN_FILESIZE
filename = lw_file2
filetype = 'DBF'
APPEND = ' '
write_field_separator = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = 'X'
WRITE_LF = 'X'
COL_SELECT = 'X'
COL_SELECT_MASK = ' '
DAT_MODE = 'X'
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = '0'
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH = FILELENGTH
TABLES
data_tab = I_CINFO
fieldnames = i_final
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
IF sy-subrc <> 0.
Messege
ENDIF. " IF sy-subrc EQ 0
ENDFORM. " DOWNLOADCREDITDATA
*& Form DOWNLOAD_CREDIT_DATA
text
--> p1 text
<-- p2 text
FORM DOWNLOAD_CREDIT_DATA .
PERFORM HEADER.
PERFORM DOWNLOADCREDITDATA USING P_PATH.
ENDFORM. " DOWNLOAD_CREDIT_DATA
*& Form GET_PGRESS_INDICATOR
text
-->P_L_TEXT text
-->P_L_PCT text
FORM GET_PGRESS_INDICATOR USING L_TEXT
L_PCT.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = l_pct
TEXT = l_TEXT.
ENDFORM. " GET_PGRESS_INDICATORIf you are just Downloading to a Flat file then why dont you have logic in place for the program to dump the data read into the file to that point depending on any criteria like accounts or customer then clear the internal table and run it in the back ground.
try to use cursor to read the records from the table which will make it a bit more efficient than plain select stement. -
Flash Player update stops installing [times out] at 12% FF8 & FF9.
Can anyone throw some light on this please? It downloads OK, Initialises OK, but always times out at 12% install. Adobe site no help at all. Am trying to update as Plugin says I need to. Have tried about 10 times at least and then updated to FF9 in the hopes this would solve the problem. Running W7 [64 bit] Only one thing I've noticed, I have 2.20GHz whereas Adobe minimum is 2.50GHz. There appears no answer from Adobe if you are below their specs.?
My desktop has upgraded OK with 2.50GHz. But if you can't upgrade what do you do?
Hope someone somewhere can help please!!Thanks for the feedback. Providing Flash Player free of charge is a tremendously expensive undertaking, and the bundled offers are an important cost-recovery mechanism. That said, under normal circumstances, you should have seen an option to opt out of the bundled offer.
I've included a screenshot of the expected UI below. We've heard from some users that running third-party plug-ins like Ghostery interfere with the correct execution of the software on the page, which results in the UI for this middle column not being displayed.
If you're not using something like Ghostery or AdBlock Pro, and you were not presented with this dialog, I'd be more than happy to investigate the issue further and try to get it resolved. If you could give me some basic details as described in the following article, that would be very helpful in attempting to recreate the problem: Read Before Posting: How To Get A Useful Answer To Your Question -
What is the difference between est. cost, CPU cost, and IO cost
When looking at and execution plan there is est. cost, CPU cost, and IO cost.
Can someone explain these and more importantly explain which one is the most
important to tune and the step to take to reduce these cost to a respect level.
I have seen many program hit 10,000 cost and 1 Mio CPU cost and I need to get that down to improve performance.
I am running on 10.2.
Thanks
MikieHi Olivier,
sorry to disagree but:
> They're both important and you'll have to balance
> both. For instance a program accessing the database
> too much (lots of I/O) may run for ages. You can tune
> this program and lower your I/Os, therefore
> increasing your CPU time; the quantity of work is
> still the same!
is just not right.
The amount of work to do for the database to get the job done (that is to deliver the requested results) may vary A LOT!
That is why there is a optimizer at all.
It's true: I/O cost model the time required to perform necessary read/write operations and CPU cost do the same for handling the data in memory.
With indexes, database features active and database versions the optimizer can choose from selecting different access, filter and sorting mechanisms to answer the db requests.
Usually there's not much you can do to the CPU costs - the database has it's internal rating concerning how "expensive" a sort-merge-join will be or a hash-distinct function.
What you can (and usually should) do, is to lower the main contributor to processing and I/O costs: the volume of data.
Therefore one will try to reduce the number of rows to be processed early in the query process. That can either be done by changing the selection itself or via the indexing scheme. Furthermore physical I/O might be reduced by using specific db features (compression, datablock sizing, bitmap indexes, partitioning etc.).
Anyhow, to come back to the original post: it's important to think of costs as time-to-execute modelled in CPU-activity and I/O-operations.
The goal is to deliver the result at the fastest - so, nobody should bother about the absolute numbers when it comes to costs. The question has to be: what execution time is meant with this?
KR Lars -
Hi,
Is there any way to set ovm manager gui session time out.
as of now, if there is no action in gui for 2 mins,
session gets timed out.
Importing a template takes lot of time and session is
getting timed out just after 2 mins.
I have another question. Even if session times out,
does importing template continue?
Thanks
Ram887506 wrote:
Is there any way to set ovm manager gui session time out.There is a way to increase the WebLogic timeout, but I'm not 100% sure on the process. Best thing to do is open an SR with Oracle Support so they can provide the exact steps.
I have another question. Even if session times out,
does importing template continue?Yes, this all happens on the Server/Manager side and doesn't require you to remain logged into the UI while the job runs. -
Session Time Out For UNLOGGED IN USER During Search -pls help SIR!
Hi,
The problem lies in searchresultscontroller.java/searchcontroller.java file under search/web/handler of an application that supports educational note sharing.
The problem is that -
When I search with query strings in different fields(as you will find in the above mentioned java files)..the keywords in resourcedto and get some files as search results.
Then I click on one of the file from within the search result and visit the file.
Here if I m logged in as an user, and the session time out is set to 1 minute in the web.xml file of the web folder not the admin folder then when I hit the BACK TO SEARCH button it easily goes back to the previous search result page along with the queries string that I had input previously.
The problem is that when I m NOT LOGGED in as an user, and I've performed a search with queries and other dropdowns in the search panel, I get the search result page, I visit the file by clicking on one of them but when I hit the BACK TO SEARCH button I don't see the previous search result page from where I had navigated to view the file.
Please suggest on what changes shall I make in the code so that even if I m not logged in as an user, I get back to the search result page on hitting the BACK TO SEARCH button from the file view page.Sir I m herein pasting the code of the searchresultscontroller.java file, but please feel free to ask for anyother file whose code you might want to see.SEARCHRESULTSCONTROLLER.JAVA FILE CONTENT-
package com.mgh.sps.search.web.handler;
import java.util.Map;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.mgh.sps.search.business.facade.Search;
import com.mgh.sps.common.dto.ResourceDTO;
import com.mgh.sps.common.util.SessionAttributeKey;
import com.mgh.sps.common.util.SessionManager;
import com.mgh.sps.fileusage.web.constants.FileUsageWebConstants;
public class SearchResultsController extends SimpleFormController {
* SearchResults Controller
* @author Muralikrishna.s
* @Codedondate DD-MM-YY=26-07-07
* @Usecase/s associated =UC504
private static final Logger logger = Logger
.getLogger(SearchResultsController.class.getName());
private final static String REG_EXP = "^[A-Za-z0-9]*$";
private final static Pattern EMAIL_PATTERN_REG = Pattern.compile(REG_EXP);
* Spring framework method used to hold reference data
* @param request
* HttpServletRequest
* @param command
* Object
* @param arg2
* Errors
* @return Map
* @throws Exception
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors) throws Exception {
logger.debug("SearchResultsController.referenceData() method entered:"
+ request + "," + command + "," + errors);
SessionManager.setSessionAttribute(SessionAttributeKey.tabIndex,
FileUsageWebConstants.TAB_SEARCH, request);
Search search = (Search) super.getWebApplicationContext().getBean(
"searchfacade");
ResourceDTO resourceDto = (ResourceDTO) command;
String[] allValues = new String[7];
if (null != (String[]) SessionManager.getSessionAttribute(
SessionAttributeKey.allValues, request)) {
allValues = (String[]) SessionManager.getSessionAttribute(
SessionAttributeKey.allValues, request);
resourceDto.setKeywords(allValues[0]);
resourceDto.setCountry(allValues[1]);
resourceDto.setUniversityName(allValues[2]);
resourceDto.setSubjectArea(allValues[3]);
resourceDto.setQualification(allValues[4]);
resourceDto.setYearLevel(allValues[5]);
resourceDto.setSpecificType(allValues[6]);
logger.debug("%%%%%%%%%%%%%%%%%qualification%%%%%%%%%%%%%%%"
+ resourceDto.getQualification());
String flag = (String) request.getParameter("id");
resourceDto.setFlag(flag);
logger.debug("SearchResultsController.referenceData() method exited:");
return search.retrieveReferenceData(resourceDto);
* Spring framework method used to hold OnSubmit
* @param request
* HttpServletRequest
* @param response
* HttpServletResponse
* @param command
* Object
* @param arg3
* BindException
* @return ModelAndView
* @throws Exception
@Override
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
SessionManager.cleanup(request);
logger.debug("SearchResultsController.onSubmit() method entered:"
+ request + "," + command + "," + response + "," + errors);
Search search = (Search) super.getWebApplicationContext().getBean(
"searchfacade");
Map dynamic = (Map) getServletContext().getAttribute("config");
ResourceDTO resourceDto = (ResourceDTO) command;
SessionManager.removeSessionAttribute(SessionAttributeKey.allValues,
request);
//changed by sreelatha on sep21
//resourceDto.setKeywords(request.getParameter("keywords"));
//String key = request.getParameter("keywords");
//logger.debug("&&&&&&&&&&&&& key &&&&&&&&&&&&" + key);
String keywords = (request.getParameter("keywords"));
if(null!=keywords) {
keywords = keywords.trim();
resourceDto.setKeywords(keywords);
// changes end
resourceDto.setUniversityName(request.getParameter("universityName"));
resourceDto.setSubjectArea(request.getParameter("subjectArea"));
resourceDto.setCountry(request.getParameter("country"));
resourceDto.setQualification(request.getParameter("qualification"));
resourceDto.setYearLevel(request.getParameter("yearLevel"));
resourceDto.setSpecificType(request.getParameter("specificType"));
String[] allValues = new String[7];
//changed by sreelatha on sep21
//allValues[0] = request.getParameter("keywords");
allValues[0] = resourceDto.getKeywords();
//changes end
allValues[1] = request.getParameter("country");
allValues[2] = request.getParameter("universityName");
allValues[3] = request.getParameter("subjectArea");
allValues[4] = request.getParameter("qualification");
allValues[5] = request.getParameter("yearLevel");
allValues[6] = request.getParameter("specificType");
SessionManager.setSessionAttribute(SessionAttributeKey.allValues,
allValues, request);
if(null!=keywords) {
keywords = keywords.trim();
String words="";
for(int i=0;i<keywords.length();i++) {
String key=String.valueOf(keywords.charAt(i));
if(key.contains("*")) {
key = key.replace("*"," ");
} else if(key.contains("?")) {
key = key.replace("?"," ");
} else if(key.contains("[")) {
key = key.replace("["," ");
} else if(key.contains("{")) {
key = key.replace("{"," ");
} else if(key.contains("(")) {
key = key.replace("("," ");
} else if(key.contains(")")) {
key = key.replace(")"," ");
} else if(key.contains("+")) {
key = key.replace("+"," ");
} else if(key.contains("
key = key.replace("
} else if(key.contains(" ")) {
key = key.replace(" "," ");
} else if(key.contains("_")) {
key = key.replace("","");
} else if(!EMAIL_PATTERN_REG.matcher(key).matches()) {
key = key.replaceAll(key," ");
words = words + key;
keywords = words;
resourceDto.setKeywords(keywords);
SessionManager.setSessionAttribute(SessionAttributeKey.test, search.setInputValues(resourceDto, dynamic), request);
String name = (String) SessionManager.getSessionAttribute(SessionAttributeKey.tempName, request);
String flag1 = request.getParameter("id");
String status="";
if (flag1 !=null && flag1.equals("loggedInUser"))
if(name==null)
return new ModelAndView();
if (flag1 !=null && flag1.equals("loggedInUser")){
status = "redirect:SearchResults.htm?id=loggedInUser";
}else if(flag1 !=null && flag1.equals("nonLoggedInUser"))
status = "redirect:SearchResultsnlu.htm?id=nonLoggedInUser";
super.setSuccessView(status);
ModelAndView mav = new ModelAndView(super.getSuccessView());
logger.debug("SearchResultsController.onSubmit() method exited:");
return mav;
}Cross-posted in many forums. Don't answer this one.
-
Session Time Out For UNLOGGED USER During Search -pls help
Hi,
The problem lies in searchresultscontroller.java/searchcontroller.java file under search/web/handler of an application that supports educational note sharing.
The problem is that -
When I search with query strings in different fields(as you will find in the above mentioned java files)..the keywords in resourcedto and get some files as search results.
Then I click on one of the file from within the search result and visit the file.
Here if I m logged in as an user, and the session time out is set to 1 minute in the web.xml file of the web folder not the admin folder then when I hit the BACK TO SEARCH button it easily goes back to the previous search result page along with the queries string that I had input previously.
The problem is that when I m NOT LOGGED in as an user, and I've performed a search with queries and other dropdowns in the search panel, I get the search result page, I visit the file by clicking on one of them but when I hit the BACK TO SEARCH button I don't see the previous search result page from where I had navigated to view the file.
Please suggest on what changes shall I make in the code so that even if I m not logged in as an user, I get back to the search result page on hitting the BACK TO SEARCH button from the file view page.Sir I m herein pasting the code of the searchresultscontroller.java file, but please feel free to ask for anyother file whose code you might want to see.
SEARCHRESULTSCONTROLLER.JAVA FILE CONTENT-
package com.mgh.sps.search.web.handler;
import java.util.Map;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.mgh.sps.search.business.facade.Search;
import com.mgh.sps.common.dto.ResourceDTO;
import com.mgh.sps.common.util.SessionAttributeKey;
import com.mgh.sps.common.util.SessionManager;
import com.mgh.sps.fileusage.web.constants.FileUsageWebConstants;
public class SearchResultsController extends SimpleFormController {
* SearchResults Controller
* @author Muralikrishna.s
* @Codedondate DD-MM-YY=26-07-07
* @Usecase/s associated =UC504
private static final Logger logger = Logger
.getLogger(SearchResultsController.class.getName());
private final static String REG_EXP = "^[A-Za-z0-9]*$";
private final static Pattern EMAIL_PATTERN_REG = Pattern.compile(REG_EXP);
* Spring framework method used to hold reference data
* @param request
* HttpServletRequest
* @param command
* Object
* @param arg2
* Errors
* @return Map
* @throws Exception
@Override
protected Map referenceData(HttpServletRequest request, Object command,
Errors errors) throws Exception {
logger.debug("SearchResultsController.referenceData() method entered:"
+ request + "," + command + "," + errors);
SessionManager.setSessionAttribute(SessionAttributeKey.tabIndex,
FileUsageWebConstants.TAB_SEARCH, request);
Search search = (Search) super.getWebApplicationContext().getBean(
"searchfacade");
ResourceDTO resourceDto = (ResourceDTO) command;
String[] allValues = new String[7];
if (null != (String[]) SessionManager.getSessionAttribute(
SessionAttributeKey.allValues, request)) {
allValues = (String[]) SessionManager.getSessionAttribute(
SessionAttributeKey.allValues, request);
resourceDto.setKeywords(allValues[0]);
resourceDto.setCountry(allValues[1]);
resourceDto.setUniversityName(allValues[2]);
resourceDto.setSubjectArea(allValues[3]);
resourceDto.setQualification(allValues[4]);
resourceDto.setYearLevel(allValues[5]);
resourceDto.setSpecificType(allValues[6]);
logger.debug("%%%%%%%%%%%%%%%%%qualification%%%%%%%%%%%%%%%"
+ resourceDto.getQualification());
String flag = (String) request.getParameter("id");
resourceDto.setFlag(flag);
logger.debug("SearchResultsController.referenceData() method exited:");
return search.retrieveReferenceData(resourceDto);
* Spring framework method used to hold OnSubmit
* @param request
* HttpServletRequest
* @param response
* HttpServletResponse
* @param command
* Object
* @param arg3
* BindException
* @return ModelAndView
* @throws Exception
@Override
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {
SessionManager.cleanup(request);
logger.debug("SearchResultsController.onSubmit() method entered:"
+ request + "," + command + "," + response + "," + errors);
Search search = (Search) super.getWebApplicationContext().getBean(
"searchfacade");
Map dynamic = (Map) getServletContext().getAttribute("config");
ResourceDTO resourceDto = (ResourceDTO) command;
SessionManager.removeSessionAttribute(SessionAttributeKey.allValues,
request);
//changed by sreelatha on sep21
//resourceDto.setKeywords(request.getParameter("keywords"));
//String key = request.getParameter("keywords");
//logger.debug("&&&&&&&&&&&&& key &&&&&&&&&&&&" + key);
String keywords = (request.getParameter("keywords"));
if(null!=keywords) {
keywords = keywords.trim();
resourceDto.setKeywords(keywords);
// changes end
resourceDto.setUniversityName(request.getParameter("universityName"));
resourceDto.setSubjectArea(request.getParameter("subjectArea"));
resourceDto.setCountry(request.getParameter("country"));
resourceDto.setQualification(request.getParameter("qualification"));
resourceDto.setYearLevel(request.getParameter("yearLevel"));
resourceDto.setSpecificType(request.getParameter("specificType"));
String[] allValues = new String[7];
//changed by sreelatha on sep21
//allValues[0] = request.getParameter("keywords");
allValues[0] = resourceDto.getKeywords();
//changes end
allValues[1] = request.getParameter("country");
allValues[2] = request.getParameter("universityName");
allValues[3] = request.getParameter("subjectArea");
allValues[4] = request.getParameter("qualification");
allValues[5] = request.getParameter("yearLevel");
allValues[6] = request.getParameter("specificType");
SessionManager.setSessionAttribute(SessionAttributeKey.allValues,
allValues, request);
if(null!=keywords) {
keywords = keywords.trim();
String words="";
for(int i=0;i<keywords.length();i++) {
String key=String.valueOf(keywords.charAt(i));
if(key.contains("*")) {
key = key.replace("*"," ");
} else if(key.contains("?")) {
key = key.replace("?"," ");
} else if(key.contains("[")) {
key = key.replace("["," ");
} else if(key.contains("{")) {
key = key.replace("{"," ");
} else if(key.contains("(")) {
key = key.replace("("," ");
} else if(key.contains(")")) {
key = key.replace(")"," ");
} else if(key.contains("+")) {
key = key.replace("+"," ");
} else if(key.contains("\\")) {
key = key.replace("\\"," ");
} else if(key.contains(" ")) {
key = key.replace(" "," ");
} else if(key.contains("_")) {
key = key.replace("_","_");
} else if(!EMAIL_PATTERN_REG.matcher(key).matches()) {
key = key.replaceAll(key," ");
words = words + key;
keywords = words;
resourceDto.setKeywords(keywords);
SessionManager.setSessionAttribute(SessionAttributeKey.test, search.setInputValues(resourceDto, dynamic), request);
String name = (String) SessionManager.getSessionAttribute(SessionAttributeKey.tempName, request);
String flag1 = request.getParameter("id");
String status="";
if (flag1 !=null && flag1.equals("loggedInUser"))
if(name==null)
return new ModelAndView();
if (flag1 !=null && flag1.equals("loggedInUser")){
status = "redirect:SearchResults.htm?id=loggedInUser";
}else if(flag1 !=null && flag1.equals("nonLoggedInUser"))
status = "redirect:SearchResultsnlu.htm?id=nonLoggedInUser";
super.setSuccessView(status);
ModelAndView mav = new ModelAndView(super.getSuccessView());
logger.debug("SearchResultsController.onSubmit() method exited:");
return mav;
}Cross-posted in many forums. Don't answer this one.
-
After taking days to upload elements 13 I am now having trouble even trying to import my images and videos into the program for editing. Each time I IMPORT files an error message comes up that says " ....has stopped working, we are looking for a solution to the problem and will notify you if a solution is found" I have not been able to edit ANYTHING or even drag files/images to the time line.... is it me? is my computer too slow? surely if it was, then Adobe elements 13 would not have installed in the first place? please someone help me sort this out as I have a deadline to make for a docco! thanks in advance Lyddy
From the Premiere Elements Information FAQ http://forums.adobe.com/thread/1042180
•You MUST use an account with Administrator Privileges to run Premiere Elements
•(Doing Run as Administrator http://forums.adobe.com/thread/969395 [says Encore and also for "All" versions of Premiere] will sometimes fix "odd" errors)
•What version of Premiere Elements? Include the minor version number (e.g., Premiere Elements 12 with the 12.1 update)
•What operating system? This should include specific minor version numbers, like "Mac OSX v10.9.4"---not just "Mac"
•Has this ever worked before? If so, do you recall any changes you made to Premiere Elements, such as adding Plug-ins, brushes, etc.? Did you make any changes to your system, such as updating hardware, printers or drivers; or installing/uninstalling any programs?
•Have you installed any recent program or OS updates? (If not, you should. They fix a lot of problems.)
•What kind(s) of image file(s)? When talking about camera raw files, include the model of camera.
•If you are getting error message(s), what is the full text of the error message(s)?
•What were you doing when the problem occurred?
•What other software are you running?
•Tell us about your computer hardware. How much RAM is installed? How much free space is on your system (C:) drive?
•How many and what speed are your hard drive(s)... ie 5400rpm or 7200rpm or?
And some other questions...
•What are you editing, and does your video have an orange line over it BEFORE you do any work?
•Which version of Quicktime do you have installed?
•What is your exact brand/model graphics adapter (ATI or nVidia or ???)
•What is your exact graphics adapter driver version?
•Have you gone to the vendor web site to check for a newer driver?
•For Windows, do NOT rely on Windows Update to have current driver information
•-you need to go direct to the vendor web site and check updates for yourself
•nVidia Driver Downloads http://www.nvidia.com/Download/index.aspx?lang=en-us
•ATI Driver Autodetect http://support.amd.com/en-us/download/auto-detect-tool -
Time out not working in program
Hello all,
I have a program that is not timing out after 2 or 3 hours of on-line execution. I have checked that the parameter abap.timeout and it is set to 5200 secs. I have been told that a commit work or a message statement will reset the timmer that controls this time out. However, the part of the code that is eating basiclly all the time does not contain either of these statements. Does any one know of where I could get a complete list of statements that reset the time out timmer?
On another related issue, when I executed the program in run time analysis it took the normal 2 and a half hours. And on return to the run time analyses main screen I recieved the error 'Unable to end the measurement (error number 5, Time limit reached)' Message no. S7 068. Without any extra information. It's obviously not suprising that the runtime analysis program refuse to analysis code that takes more than two hours to execute but could anyone tell me which parameter controls this time limit?
Thanks in advance for your help as I am in real need of it.
JamieHi Jamie,
In runtime analysis, these problems are there what you can do the best options in ECC6.0 is ST12 for doing both Run Time Analysis and SQL Trace. In ST12 you have the option to increase the timlimit so that your programs whole measurement will come in file which is generated by SAP.
Following are the steps for using ST12:
1. Open ST12. Click on Current Mode.
2. Enter the program name or transaction code for which you want to do the measurement.
3.There is button in the middle of the screen which has given the heading as 'Further opt.' there you can increase the file size to 99MB and at the bottom Max Trace Runtime which you can increase upto 2147483647 and enter.
4. Then Click on Execute.
5. Enter the inputs of the Selection screen.
6. After the program run is completed in the TRACE ANALYSIS section select your program and after that it appears in the Selected trace analysis box.
7. After that click on ABAP Trace that will give an exact analysis and for SQL Trace Click on Performance Trace.
8. and for Checking how much CPU Utilization and how much Data base utilization is required click on SUMMARY.
Thanks
Harsh -
Resource busy time out oracle message - Concurrency and Locks
I have a requirement to generate gapless invoice and receipt number in our application. so i have currently used the below approach.
a. created table with a column to hold the invoice and receipt number sequence value.
b. whenever transaction gets succeed. i will lock the table which holds the invoice number and receipt number inorder to avoid the sequential number slipages.
Issue
1. since the application belongs to online payment through portal by customers, when concurrent users trying to pay and while generating receipt number's, i am facing with "resource busy time out" message frequently. Here i noticed when user1 locks the table to access the receipt number value and session is not committed or rollback and another session user2 trying to access the same resource, in this scenario i am facing this error.
Frequency of encountering this error is low, but customer was telling us this error is show stopper and affects normal business.
Is there any alternative solution or method can be applied to overcome this problem?
Current SQL used in application
cursor <cursor name> is.
select <column_name>
into <variable>
from <table name>
for update of wait 5
update <table name> set <column name> = value + 1
where current of <cursor name>1e0ea4a1-1610-4dec-a44c-4ee1f46ba1a4 wrote:
I have a requirement to generate gapless invoice and receipt number in our application. so i have currently used the below approach.
Engage the business and inquire WHY this "requirement" exists. I have personally never seen an audit requirement wherein invoices MUST be devoid of gaps (that's not to say they do not exist, just that I've never seen one
They certainly must be unique, but that's what a sequence will do for you. If the business absolutely needs gapless information, then they will have to be willing to pay the price which is going to be longer transaction times (as requests queue in a busy system to get this sought after gapless resource). Your job is to explain this to them ... nothing comes without a cost.
The only thing you can really do (assuming you engage the business and the requirement doesn't change) is ensure the transactions are designed in such a manner that
1) they complete as fast as possible AND that the locking is done at the latest possible stage of the transaction
2) there is no user interaction (you cannot allow the users a "review" screen of any sort ... because users get silly sometimes and go for a coffee while reviewing things)
Cheers, -
Time-Out Problem mit OpenGL in AE und E3D lösen.
Hallo.
Ich habe folgendes Problem:
Ich habe mit AE cs6 und E3D einen Schriftzug erstellt welchen ich im Laufe eines Videos in die Kamera einfliegen lassen möchte. Soweit nichts aufwändiges. Doch jedesmal wenn ich es render oder den Zeiger der Timeline an die besagte Stelle verschiebe wo das Objekt am größten für die Kamera erscheint, kommt folgende Fehlermeldung:
"The NVIDIA OpenGL driver lost connection with the display driver due to exceeding the Windows Time-Out limit and is unable to continue"
Bei CS5 konnte man ja OpenGL an - und abschalten. Ghet das bei CS6 auch irgendwie oder kann man die Zeit bis zum Timeout manuell verlängern?
Bereits getroffene Maßnahmen:
GraKa-Treiber - Update
GraKa - Treiber deinstalliert und komplett neu installiert
NVIDIA - Systemsteuerung Energiverwaltung auf maximale Leistung gestellt
Element 3D deinstalliert und installiert
Element 3D neue Version installiert
AE Voreinstellung geändert wie folgt:
Heruntersetzen der Grenze für adaptive Auflösung auf 1/2
Maximale Disk-Cache-Grösse 20 GB
RAM verfügbar für AE 12,9 GB
RAM pro Hintergrund-CPU 3GB
Computer:
Intel i5-3470
RAM 16GB
GForce GT 610
Windows 7
After Effects cs6
Alle Programme laufen auf einer 128 GB SSD
Ich hoffe mir kann einer hier weiter helfen ich kann schon nicht mehr schlafen deswegen.Das hat mit AE und E3D nix zu tun. Das ist der Grafiktreiber selbst. Treiber aktualisieren, sinnvoll konfigurieren oder neue GraKa kaufen... Die 610 ist eh nur ein übeteuerter Heizriegel...
Mylenium -
Hi, My network went down earlier in the week. Now the network is fine, I can connect through the ethernet cable, but my macbook airport no longer detects it, when prompted, macbook will find it, but I get asked for the WAP. When I put the password in, it 'times out'. Prior to the network problem my macbook worked fine everytime. Anyone know the answer?
My guess is all the issues are probably related and fall back to malware.
AVG is probably correct in identifying malware. So I suggest you try some cleaning tools other than Emsisoft .
ones I use (all of them one after the other until I find one that can cope) are;
Roguekiller http://www.adlice.com/softwares/roguekiller/
Malwarebytes anti malware Free http://www.malwarebytes.org/mwb-download/var2/confirm/
ESET online scanner http://www.eset.com/int/home/products/online-scanner/
So first create a clean boot in Windows using Microsoft's instructions https://support.microsoft.com/kb/929135?wa=wsignin1.0 and then run the anti malware applications.
My outside looking in guess is that malware has set itself up as an internet proxy and is is downloading copies of itself and other malware, blocking some mail port as times as downloading more malware is more important, and probably breaking your tivo as well..
Try the malware programs first. If that does not work I will try and talk you through some logging to see what is happening. -
How to find out the total cost of a specific VM
I've downloaded the usage statistics file from billing section and I could see the data categorized by different type of resources consumed by a virtual machine. Eg.
Name ResourceGuid
Unit Consumed
"Virtual Machines" "1b4d8861-8cbc-40c8-88f9-e1b78509c3be"
"GB" 0.000158
"Networking" "9995d93a-7d35-4d3f-9c69-7a7fea447ef4"
"Hours" 11.100002
"Data Management" "964c283a-83a3-4dd4-8baf-59511998fe8b"
"10,000s" 6.8899
"Storage" "0e9d0c9b-ab6d-4312-9c7e-3794e22af9c4"
"GB" 0.436496
I'm looking for a way to retrieve the ResourceGuid of all the resources linked to a particular VM, to find out the total cost of it (VM + Networking + Data Management + Storage)
Is it possible through Service Management API? Or any other means?Hi,
This issue is related with billing, I would suggest you contact with azure support:
http://www.windowsazure.com/en-us/support/contact/, it is the best choice for you. I find a releated voice, it discusses to display the total fee before created service, here is the link: http://feedback.azure.com/forums/170030-billing/suggestions/6478992-display-total-fee,
please vote it.
Best Regards,
Jambor
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Maybe you are looking for
-
Ghost recon, came with card, doesn't work for v1.3/1.4
I think it is sort of bad news when even the games they package with the retail box don't quite work. Card: MSI geforce fx 5200 8x 128MB (running at 2x at the moment) memory: crucial 512MB 2700 MB: ECS K7VTA3 v3.x What else do you want to know? This
-
Error in compiling the BPEL process
Hi, I am getting the following error while compiling the BPEL process. Its a simple process with a Pick activity and have two onMessage activities. One of the activity is having the correlation set and another one is not. Is that the problem ? If yes
-
TRYING AGAIN - Printing to PDF from AutoCAD
When we print to PDF from AutoCAD, the text in the PDF looks wrong/bad. It takes on a jagged appearance and doesn't look anything like what the font is supposed to look like. Any suggestions?
-
Invalid Number in PL/SQL block
Hi, Following script is giving INVALID NUMBER error. 'col1' column is of NUMBER datatype. But similar script is working for some other table with the same NUMBER datatype. declare x varchar2 (100) := '1,2,3,4,5'; y number; begin SELECT count (*) into
-
How can I route flatfiles from one directory to n receivers?
Hello, I tried to route the flat file by content conversation. I built the structure with the following parameter in the sender ftp: recordset structure: Header,1,Content,100 Header.fieldNames MessageType,Sender,Receiver,Variant Hea