ETL Master SQL job got a "Login Time Out " error again
Below error coming randomly Sometimes it works perfectly fine and sometimes it goes down with following error message. The connectivity between two servers are seamless there
is not a single drop of packet.
Please suggest what is wrong happening here. One server is on Windows 2003 x64 and another is on Windows 2008 R 2.
Executed as user: xyz\user1. Microsoft (R) SQL Server Execute Package Utility Version 11.0.3393.0 for 64-bit Copyright (C) Microsoft Corporation. All rights reserved.
Started: 12:00:07 AM Error: 2013-12-27 01:01:57.58 Code: 0xC0202009 Source:
DailySync_I Connection manager "OLE_SRC2_" Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description:
"Login timeout expired".
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "Unable to complete login process due to delay in login response". An OLE DB record is available.
Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Description: "TCP Provider: Timeout error [258]. ". End Error Error: 2013-12-27 01:01:58.58 Code: 0xC020801C
Source: Load Lookup Tables OLE DB Source [699] Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "OLE_SRC2_" failed with error
code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed. End Error Error: 2013-12-27 01:01:59.67 Code: 0xC0047017
Source: Load Lookup Tables SSIS.Pipeline Description: OLE DB Source failed validation and returned error code 0xC020801C. End Error Error: 2013-12-27 01:02:00.81 Code: 0xC004700C
Source: Load Lookup Tables SSIS.Pipeline Description: One or more component failed validation. End Error Error: 2013-12-27 01:02:01.95 Code: 0xC0024107 Source: Load Lookup
Tables Description: There were errors during task validation. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 12:00:07 AM Finished: 1:20:13 AM Elapsed: 4805.61
seconds. The package execution failed.
Hi Inder Johar,
The issue may occur due to the various reasons. You can check the “Connect Time” setting of the Connection Manager "OLE_SRC2_", and increase its timeout value.
If the issue persists, maybe it occurs because the Windows Firewall or certain anti-virus software blocks the RPC dynamic range of TCP Ports between SQL Server and Domain Controllers. In this case, temporarily disable third party anti-virus software, or
configure RPC dynamic port allocation to work with firewalls referring to the following KB article:
http://support.microsoft.com/kb/154596.
Regards,
Mike Yin
TechNet Community Support
Similar Messages
-
Hi,
I have been facing following issue since few days of "A login timeout occured while connecting to the database".
Although this is not occuring daily in scheduled executions but its been there say 2-3 days apart.
Error given is as :
ODI-1228: Task SrcSet0 (Loading) fails on the target ORACLE connection OMPTBR.
Caused By: oracle.odi.jdbc.datasource.ConnectionTimeoutException: A login timeout occured while connecting to the database
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:117)
at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:62)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at com.sunopsis.sql.SnpsConnection.createConnection(SnpsConnection.java:380)
After doing research on this, i found in some forums to modify the timeout value in userpref.xml file. But, i am unable to locate the file userpref.xml.
Any inputs/pointers would be of great help.
Thanks,
ShilpaHi,
Can this be resolved by upgrading ODI?
My ODI version details are:
About
Oracle Data Integrator 11g 11.1.1
Standalone Edition Version 11.1.1
Build ODI_11.1.1.3.0_GENERIC_100623.1635 Copyright © 1997, 2010
Oracle. All Rights Reserved.
IDE Version: 11.1.1.3.37.56.60
Product ID: oracle.odi
Product Version: 11.1.1.0.0.0.0
Version
Component Version
========= =======
Java(TM) Platform 1.6.0_23
Oracle IDE 11.1.1.3.0
Do i have to update all the 11g patches to get rid of this issue?
Thanks,
Shilpa -
Foreground job - Standard report - Time out error
Hi,
I have a standard SAP report which is executed from portal and the report is failing in the foreground with a time out error. As there is time set for foreground process and probably the volume of the report is big which is not good enough to execute in the foreground time frame.
The customer wants to run it only in the foreground and does not want to schedule in the background and the reason being he wants to do some customization on the columns when the report is displayed back on the portal screen.
Now my question is there any other option to get the requirement and increasing the foreground time is ruled out by Basis team.
I was thinking if I can use a wrapper report on the standard report and include SAPGUI_PROGRESS_INDICATOR to keep the connection between the dialog and the presentation server going without dis-connecting. Is this a better option and I am not sure if it will work ?
Please let me know if any one else has resolved such issues earlier.
Regards
Praneeth Kumar
Edited by: gansprasan on Sep 20, 2011 2:07 PMHi,
Though it is not advisable to change max run time... if need you you consult with your basis and you can change run time dynamically in your program and reset to original. I agree even CL_gui_timer class wont help.
you can check below link.. handle it carefully..
[http://help.sap.com/bp_bw370/documentation/How_To_Change_the_Maximum_Dialog_Runtime_of_a_Process_in_NW2004s.pdf]
data: old_value(100).
CONSTANTS: parameter LIKE tpfet-parname
VALUE 'rdisp/max_wprun_time'.
CALL 'C_SAPGPARAM' ID 'NAME' FIELD parameter
ID 'VALUE' FIELD old_value. " old_value will have value set by basis.
IF sy-subrc <> 0.
RAISE not_found.
ENDIF.
use FM TH_CHANGE_PARAMETER to change value. Again reset the value with old value..
Regards,
Ravi. -
Dear All,
One of our production system and one of HR user got time out error while executing T-code PA30 , PA40 .
Note : we tried the transaction ( PA30 and PA40 ) in our user id ,it work smooth ,there is no issue with in my user id as well other HR user also .
Only the specific user facing time out error in Production server.
Note : while executing PA30 ,PA40 t-codes ,it takes long time to get initial screen itself finally got time out error (No issue with other SAP HR users) .
Pls check the below logs:
Runtime Error TIME_OUT
Occurred on 17.08.2011 at 08:59:00
Time limit exceeded.
What happened?
The program "SAPLRHAC" has exceeded the maximum permitted runtime without
interruption, and has therefore been terminated.
What can you do?
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
Error analysis
After a certain length of time, the program is terminated. In the case
of a work area, this means that
- endless loops (DO, WHILE, ...),
- database accesses producing an excessively large result set,
Kindly advise ,is this related to any Authorization issue ???Hi,
Please share SAP_BASIS/ SAP_HR release/patch level information of the affected SAP system.
I would suggest you to create New Temp SAP User id with exact copy of that affected SAP User ID and then try to access PA30/PA40 with that New SAP User id login into affected system. Check that, u are facing the same behavior/issue with that New Temp SAP User id ?
Regards,
Bhavik G. Shroff -
Xmlviewservice.executeSQLQuery TIME OUT ERROR
Hello OBIEE Experts,
I got stucked with the command line xmlviewservice.executeSQLQuery(...) method of OBIEE as operation time out. Actuall i am writing dot net source code to retrive the xml result by passing the query created in Oracle BI Answer page. This method runs fine when running a very simple query returning only two rows. However when i set to use a query that takes around 10 min running in OBIEE answer section, the above method fails. It returns an error Operation Time out. I have even try setting sawservice & xmlviewservice timeout but no use.
Is there any way to handle sql execution time using OBIEE SAW web service functionality ? Please find below code that i have used.
Imports saw = Obiee_Services.web_Reference
Dim sawservice As New saw.SAWSessionService
Dim sessionid = sawservice.logon("xxx", "xxx")
sawservice.Timeout = 60000
'Dim curUser As String = sawservice.getCurUser(sessionid)
'Dim repref As New saw.ReportRef()
Dim xmlviewservice As New saw.XmlViewService
Dim xmlQueryExecutionOption As New saw.XMLQueryExecutionOptions
xmlQueryExecutionOption.maxRowsPerPage = 10
xmlQueryExecutionOption.refresh = True
Dim repid As String = "Report1"
Dim repParams As New saw.ReportParams
Dim repHtmlOP As New saw.ReportHTMLOptions
Dim QueryResult As New saw.QueryResults
xmlviewservice.Timeout = 60000
QueryResult = xmlviewservice.executeSQLQuery(qry, Obiee_Services.web_Reference.XMLQueryOutputFormat.SAWRowsetData, xmlQueryExecutionOption, sessionid)
Dim rstring As String = QueryResult.rowset
Dim i = WriteToFile("text.xml", rstring)
Regards,
Rajen SinghThank you for the reply.
I do agree that i have omitted logging out command line and WriteToFile() definition. The below executesqlquery command is a syncronous call. I do not think it will be a problem with the next two or three lines. Below mentioned command line will not be released by the compiler until and unless it is completed. MOreover i am sure that the two mentioned command line does not have to do much on the issue becouse the error message is associated with below line and also works fine on simple query.
QueryResult = xmlviewservice.executeSQLQuery(qry, Obiee_Services.web_Reference.XMLQueryOutputFormat.SAWRowsetData, xmlQueryExecutionOption, sessionid)
I have tested other work around to resolve the current error i.e "Operation Time Out" error atleast(applying other configuration setup and increasing timeout properties). Having resolved sucessfully the next issue is on the below line. Blank rowset is returned each time. I can get an ID on QueryResult.QueryId and QueryResult.Finished=false.
Dim rstring As String = QueryResult.rowset
Finally, in OBI Presentation Services, the query runs fine in a specific time. -
Parallel processing time out error
Hi All,
I am working on a scenario where in I am spawning two different parallel processe in a background job to calculate some entitlements.
My problem is even when running the main program in background mode the parallel processes are always spawned in a new dialog work process as a result of which if the dialog processes run for more than 15 minutes I get a time out error for the parallel jobs.
I understand that we cannot use the addition IN BACKGROUND TASK while doing the function call as we need the result from the function calls in the main program.
Is there any way where I can call parallel jobs in a background workprocess or override the time out issue without changing the system parameter value.
Any suggestions would be greatly appreciated.
Regards,
Narsingh.Hi Narsingh,
By any chance did you got the solution, it would be great if you could share the solution for the issue you faced.
Regards,
Neerup -
Getting time out error when running the assigned verification in DRM 9.3.2.
Hi,
I have installed DRM 9.3.2.0.0 in my system (windows 7), when i am trying to run assigned verifications i am getting the time out error within a minute.
As suggested by oracle,I have added DWORD with value 480000 under Master Data Management in Registry editor. But still getting the error.
Please suggest a solution for this issue.
regards,
sathiyaPlease suggest me the solution.
regards,
sathiya -
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. -
Time out error on deploying to SAP-J2EE engine.
I got a problem while deploying to SAP-J2EE engine using ant. It takes a lot of time and then throws a time out error.
The problem is with the web.xml file pointing to a DTD in the internet, I have pasted some part of the web.xml below,
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>MyPay</display-name>
<description>MyPay</description>
Once I write down the DTD description in the web.xml itself, it works fine.
I have pasted the error trace below,
j2eedeploy:
[echo] Deploying to Local environment...
[echo] C:\Java\Projects/MyPay/dist/MyPay.ear
BUILD FAILED
C:\Java\Projects\MyPay\build.xml:445: java.lang.RuntimeException: ERROR: ID90507: Error occured during getting EARDescriptor : Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out: connect
Exception is :
java.io.IOException: Failed to load resource from the context classloader of the current thread! Loading from classloader was caused by: java.net.ConnectException: Connection timed out: connect
at com.sap.engine.lib.xml.parser.URLLoaderBase.resolveEntity(URLLoaderBase.java:148)
at com.sap.engine.lib.xml.parser.XMLParser.scanDTD(XMLParser.java:1271)
at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2795)
at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2830)
at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:229)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160)
at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261)
at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280)
at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342)
at com.sap.engine.lib.xml.parser.DOMParser.parse(DOMParser.java:101)
at com.sap.engine.lib.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:127)
at com.inqmy.lib.xml.StandardDOMParser.parse(StandardDOMParser.java:127)
at com.inqmy.lib.xml.StandardDOMParser.parse(StandardDOMParser.java:120)
at com.inqmy.services.servlets_jsp.descriptor.jar.WebWar.getWebDescriptor(WebWar.java:98)
at com.inqmy.deploy.tool.deployer.ExtendedEarReader.loadDescriptorFromFile(ExtendedEarReader.java:175)
at com.inqmy.deploy.tool.deployer.ExtendedEarReader.getFullEarDescriptor(ExtendedEarReader.java:104)
at com.inqmy.deploy.manager.DeployManagerImpl.setEar(DeployManagerImpl.java:355)
at com.inqmy.deploy.manager.DeployManagerImpl.setEar(DeployManagerImpl.java:325)
at com.pg.sap.deploy620.SAPDeploy620Manager.process(SAPDeploy620Manager.java:84)
at com.pg.ant.tasks.j2ee620.J2ee620EngineDeployTask.execute(J2ee620EngineDeployTask.java:40)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)Thanks for your reply Kalyan,
The problem seems to be with my system, because I had run the same ant script in another system and it deployed successfully.
The problem does not seem to be with the dtd, whereas it seems that the SAP-J2EE engine is not able to open the link to the dtd giving a time out error.
Is it possible to switch off the validation process of the SAP-J2EE engine of an xml with the dtd? -
Time out error in report - Urgent
Hi Gurus,
Am developing the report for GL Account summary from tables bkpf, bseg. Due to lot of records in production server it is coming time out error. Please help me regarding this here am attaching my code.
REPORT ZFBLREPORT.
*TABLES : zgltax.
TYPE-POOLS : SLIS.
TYPES : BEGIN OF TY_ZGLTAX,
ZGL TYPE BSEG-HKONT,
ZTAX1 TYPE P DECIMALS 2,
ZTAX2 TYPE P DECIMALS 2,
CAMOUNT TYPE RF42B-SALDO,
PAMOUNT TYPE RF42B-SALDO,
TCAMOUNT TYPE RF42B-SALDO,
TPAMOUNT TYPE RF42B-SALDO,
END OF TY_ZGLTAX.
TYPES : BEGIN OF TY_BKPF,
BELNR TYPE BKPF-BELNR,
BUDAT TYPE BKPF-BUDAT,
END OF TY_BKPF.
TYPES : BEGIN OF TY_BSEG,
BELNR TYPE BSIS-BELNR,
DMBTR TYPE BSIS-DMBTR,
SHKZG TYPE BSIS-SHKZG,
HKONT TYPE BSIS-HKONT,
BUDAT TYPE BSIS-BUDAT,
BUZEI TYPE BSIS-BUZEI,
END OF TY_BSEG.
DATA : IT_FINAL TYPE STANDARD TABLE OF TY_ZGLTAX,
WA_FINAL TYPE TY_ZGLTAX.
DATA : IT_BKPF TYPE STANDARD TABLE OF TY_BKPF,
WA_BKPF TYPE TY_BKPF.
DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG,
WA_BSEG TYPE TY_BSEG.
DATA: CAMOUNT TYPE RF42B-SALDO,
PAMOUNT TYPE RF42B-SALDO.
DATA : INDEX TYPE SY-INDEX.
DATA : ID TYPE SY-TABIX.
DATA : START_DATE TYPE SY-DATUM.
DATA : END_DATE TYPE SY-DATUM.
DATA : START_QUATER TYPE SY-DATUM.
DATA : YEAR1(4) TYPE C.
DATA : T_FIELDALV TYPE SLIS_T_FIELDCAT_ALV.
DATA : IMPORT_VARIANT LIKE DISVARIANT.
DATA : XREPID LIKE SY-REPID.
DATA : LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECTION-SCREEN BEGIN OF BLOCK BK1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_PERIOD(1) TYPE C OBLIGATORY,
P_YEAR(4) TYPE C OBLIGATORY.
SELECTION-SCREEN END OF BLOCK BK1.
AT SELECTION-SCREEN ON P_PERIOD.
IF P_PERIOD > '4' OR P_PERIOD < '1'.
P_PERIOD = ''.
MESSAGE 'Enter Correct Quater Period' TYPE 'E'.
ENDIF.
START-OF-SELECTION.
PERFORM CALC_DATE.
PERFORM BUILD_LOGIC.
PERFORM INITIAL_ALV_FIELDCAT CHANGING T_FIELDALV[].
PERFORM LAYOUT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_GRID_TITLE = 'FBT Report'
i_callback_top_of_page = 'FORM_TOP_PAGE'
it_sort = p_sort
IS_LAYOUT = LAYOUT
IT_FIELDCAT = T_FIELDALV[]
I_SAVE = 'A'
TABLES
T_OUTTAB = IT_FINAL.
*& Form calc_date
text
--> p1 text
<-- p2 text
FORM CALC_DATE .
IF P_PERIOD = '1'.
CONCATENATE P_YEAR '04' '01' INTO START_DATE.
CONCATENATE P_YEAR '04' '01' INTO START_QUATER.
CONCATENATE P_YEAR '06' '30' INTO END_DATE.
ELSEIF P_PERIOD = '2'.
CONCATENATE P_YEAR '04' '01' INTO START_DATE.
CONCATENATE P_YEAR '07' '01' INTO START_QUATER.
CONCATENATE P_YEAR '09' '30' INTO END_DATE.
ELSEIF P_PERIOD = '3'.
CONCATENATE P_YEAR '04' '01' INTO START_DATE.
CONCATENATE P_YEAR '10' '01' INTO START_QUATER.
CONCATENATE P_YEAR '12' '31' INTO END_DATE.
ELSEIF P_PERIOD = '4'.
CONCATENATE P_YEAR '04' '01' INTO START_DATE.
YEAR1 = P_YEAR + 1.
CONCATENATE YEAR1 '01' '01' INTO START_QUATER.
CONCATENATE YEAR1 '03' '31' INTO END_DATE.
ENDIF.
ENDFORM. " calc_date
*& Form build_logic
text
--> p1 text
<-- p2 text
FORM BUILD_LOGIC .
SELECT * FROM ZGLTAX INTO CORRESPONDING FIELDS OF TABLE IT_FINAL.
IF IT_FINAL[] IS NOT INITIAL.
LOOP AT IT_FINAL INTO WA_FINAL.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_FINAL-ZGL
IMPORTING
OUTPUT = WA_FINAL-ZGL.
INDEX = SY-TABIX.
SELECT belnr dmbtr shkzg hkont budat buzei
SELECT *
FROM BSIS
INTO CORRESPONDING FIELDS OF TABLE IT_BSEG
WHERE
BUKRS = '3599' AND
HKONT = WA_FINAL-ZGL
AND GJAHR = P_YEAR.
Uses primary index (4.7)
SELECT *
FROM BSAS
APPENDING CORRESPONDING FIELDS OF TABLE IT_BSEG
WHERE
BUKRS = '3599' AND
HKONT = WA_FINAL-ZGL
AND GJAHR = P_YEAR.
LOOP AT IT_BSEG INTO WA_BSEG .
IF WA_BSEG-BUDAT >= START_DATE AND WA_BSEG-BUDAT <= END_DATE.
IF WA_BSEG-SHKZG = 'S'.
CAMOUNT = CAMOUNT - WA_BSEG-DMBTR.
ELSEIF WA_BSEG-SHKZG = 'H'.
CAMOUNT = CAMOUNT + WA_BSEG-DMBTR.
ENDIF.
ENDIF.
IF WA_BSEG-BUDAT >= START_QUATER AND WA_BSEG-BUDAT <= END_DATE.
IF WA_BSEG-SHKZG = 'S'.
PAMOUNT = PAMOUNT - WA_BSEG-DMBTR.
ELSEIF WA_BSEG-SHKZG = 'H'.
PAMOUNT = PAMOUNT + WA_BSEG-DMBTR.
ENDIF.
ENDIF.
ENDLOOP.
WA_FINAL-CAMOUNT = CAMOUNT.
WA_FINAL-PAMOUNT = PAMOUNT.
WA_FINAL-TCAMOUNT = CAMOUNT * WA_FINAL-ZTAX1 * WA_FINAL-ZTAX2 / (
100 * 100 ).
WA_FINAL-TPAMOUNT = PAMOUNT * WA_FINAL-ZTAX1 * WA_FINAL-ZTAX2 / (
100 * 100 ).
MODIFY IT_FINAL FROM WA_FINAL INDEX INDEX.
REFRESH IT_BSEG.
ENDLOOP.
ENDIF.
ENDFORM. " build_logic
*& Form layout
text
FORM LAYOUT .
LAYOUT-NO_SUBTOTALS = ' '.
ENDFORM. " LAYOUT
*& Form initial_alv_fieldcat
text
-->FIELDCAT text
FORM INITIAL_ALV_FIELDCAT CHANGING FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA : CNTR TYPE I VALUE 1.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'ZGL'.
LS_FIELDCAT-SELTEXT_L = 'GL A/C NO'.
LS_FIELDCAT-OUTPUTLEN = 15.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'ZTAX1'.
LS_FIELDCAT-SELTEXT_L = 'BASE TAX PERCENTAGE'.
LS_FIELDCAT-OUTPUTLEN = 15.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'ZTAX2'.
LS_FIELDCAT-SELTEXT_L = 'TAX PERCENTAGE'.
LS_FIELDCAT-OUTPUTLEN = 15.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'CAMOUNT'.
LS_FIELDCAT-SELTEXT_L = 'CUMULATIVE AMOUNT'.
LS_FIELDCAT-OUTPUTLEN = 20.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'TCAMOUNT'.
LS_FIELDCAT-SELTEXT_L = 'Cumulative Tax % Amount'.
LS_FIELDCAT-OUTPUTLEN = 20.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'PAMOUNT'.
LS_FIELDCAT-SELTEXT_L = 'AMOUNT FOR PERIOD'.
LS_FIELDCAT-OUTPUTLEN = 20.
APPEND LS_FIELDCAT TO FIELDCAT.
CLEAR LS_FIELDCAT.
CNTR = CNTR + 1.
LS_FIELDCAT-COL_POS = CNTR.
LS_FIELDCAT-FIELDNAME = 'TPAMOUNT'.
LS_FIELDCAT-SELTEXT_L = 'Tax AMOUNT FOR PERIOD'.
LS_FIELDCAT-OUTPUTLEN = 20.
APPEND LS_FIELDCAT TO FIELDCAT.
ENDFORM. "initial_alv_fieldcat
Points will be awarded
Regards
RaviHi Ravi kanth,
You are using select * statement which is very time consuming and low performance. Dont use select * instead use select field1 field2.... into table itab where field1 = s_field. Use corresponding field names in the select statement.
Follow the below rules.
1) Dont use nested select statements
2) If possible use for all entries in addition
3) In the where addition make sure you give all the primary key
4) Use Index for the selection criteria.
5) You can also use inner joins
6) You can try to put the data from the first select statement into an Itab and then in order to select the data from the second table use for all entries in.
7) Use the runtime analysis SE30 and SQL Trace (ST05) to identify the performance and also to identify where the load is heavy, so that you can change the code accordingly
<b>reward if useful</b>.
Regards,
sunil kairam. -
Workflow install time-out error
hi,
i get a time-out error during wf configuration assistant. i believe that is has something to do with a database/workflow language conflict. the ca aborts just after setting and resetting env var 4(?) nls_lang/wf_nls_lang. any thoughts?
thanks,
kpYour question is overly terse. As this ain't Twitter, maybe you can use a few more characters to describe what you are asking for?
Timeouts can occur in a couple of situations:
1) On connections. By default, most client APIs give up if the connection has not completed within 15 seconds. This value is usually adjustable.
2) When running commands. Many client APIs has a default timeout of 30 seconds, meaning that if SQL Server has not returned any data in this time frame, they give up and tell SQL Server to stop executing. If you experience this, you need to determine whether
the timeout is the problem or the fact that it takes 30 seconds is the problem. The timeout is adjustable on the Command object. The default is a hole in the head in my opinion.
3) Lock timeouts. This is a timeout that occurs inside SQL Server (in opposition to the other two) when a process has been waiting for a lock long enough. The default here is -1 which means "wait forever". But you can use the command SET LOCK_TIMEOUT
to set an explicit lock timeout.
4) When talking to linked servers. These timeouts are really the same as the first two, but they occur inside SQL Server, as here SQL Server is the client with regards to the remote data source. The default for queries is 10 minutes, a little more generous
than the default in the client API.
Erland Sommarskog, SQL Server MVP, [email protected] -
ORA-10173: Dynamic Sampling time-out error
Hi ,
I got the following error in Alert Log.
ORA-10173: Dynamic Sampling time-out error
can any one tell me on which situation this error occurs.
ThanksI would suggest you get in touch with Oracle support and get an answer for this.
There is no documentation or any sort of information in Metalink either for this error number. -
SoA Couldnt start- Time Out Error
Hi,
My oracle SOA version is 10.1.3.1. I have created a application ( say sampleApplication) in jdeveloper (webservice from wsdl). When deploying the application to the application server it takes a long time to complete (approx 30 mins) but it gets deployed without error. I got a perm gen error and I stopped the SOA. When started it again after incresing the perm gen size, the SOA couldnt start. Got the following error
<ERROR> <collaxa> <ProcessJob::execute> Attempt (1/15) ... failed to connect ... retrying in 5 seconds ...
<2009-09-11 17:55:13,130> <ERROR> <collaxa> <ProcessJob::execute> Timed out reading http://myURl....
Maximum attempt of 15 was reached and the SOA failed to restart.
After playing around with the server.xml (trying to remove all application entries and adding it one by one) found that when i removed the sampleApplication's entry from server.xml and tried starting SOA , it worked and it Started fine.
Can any one point what might be the problem in my case.?
Thanks in advance..
(P.S: The other application deployed are developed in the same way as that of sampleApplication. So couldnt see any thing wrong with the sampleApplication. Other application entries in server.xml do not create this problem.)
Edited by: user8655700 on Sep 11, 2009 7:03 AMHi James,
Thank You for your suggestion. I have some doubts.
1) You suggested to revert back to old parameter and restart jDEV. What is the parameter i need to revert? I have only changed the max,min and perm size in opmn.xml because I keep getting perm gen error quite often. Did you mean those parameters ?
2)Restarting jDev will solve the issue of longer deployment time for applications. But when I restart the SOA itself, it fails to start.I get the Time out error. On removing the application which took longer time to deploy from server.xml, SOA starts without error. No other changes have been made. So the question is why is the application which is successfully deployed from jdeveloper like many other applications stopping the SOA to start.?
3)Or is the load during SOA startup is high, which results in it failing to start? If so how can I overcome this issue.
Thanks,
Ananth
Edited by: user8655700 on Sep 14, 2009 10:25 PM -
Select count(*) cause time out error
I invoke the following statement:
select count(*) as total from table1
where table1 is large(30000 rows), total size of the database is more than 20GB.
The above statement will cause time out error. How to solve the problem?Hallo chcw,
a timeout in a table with 30.000 records is very unusual (for a simple SELECT COUNT). From my point of view Dan is on the right way and you will have a typical blocking scenario.
1. if you have LOBs they won't be part of a SELECT COUNT (either its a heap of a clustered index)
2. Microosft SQL Server will ALWAYS use the smallest index for such a simple SELECT
3. if it is a heap you will run into a blocking scenario if someone is updating records and transaction has not committed.
4. Check the isolation level of the transactions - but I expect the standard which is "read committed".
Just a demonstration of "SELECT COUNT" will work whether it is a clustered index or a heap. The next script will create a heap with a LOB and additional attributes:
CREATE TABLE dbo.foo
Id INT NOT NULL IDENTITY(1,1),
n1 INT NOT NULL,
n2 SMALLINT NULL,
c1 CHAR(250) NOT NULL,
c2 CHAR(250) NULL,
c3 VARCHAR(MAX) NOT NULL DEFAULT (REPLICATE('A', 15000))
GO
Now we enter 30,000 records into the table
SET NOCOUNT ON;
DECLARE @i INT = 1;
WHILE @i <= 30000
BEGIN
INSERT INTO dbo.foo (n1, c1) VALUES (@i, 'Just a filler');
SET @i += 1;
END
GO
Keep in mind that we have a HEAP and NO indexes! To check the IO i use the following command befor any of the following examples:
SET STATISTICS IO ON;
GO
Let's start with a first try and you will check as a result the produced IO depending on the affected table partitions:
-- USE SELECT in a HEAP
SELECT COUNT(*) FROM dbo.foo;
GO
Output:
Table 'foo'. Scan count 1, logical reads 2508, ..., lob logical reads 0,
As you can see from the result the LOB-data won't be attached only the "in-row-data" are affected (which are stored in 2508 pages. The reason is a quite simple one: Microsoft SQL Server uses different allocation units for in-row-data and LOB
SELECT p.object_id, p.index_id, p.rows, au.total_pages
FROM sys.partitions AS P INNER JOIN sys.allocation_units AS AU
ON(p.partition_id = au.container_id)
WHERE object_id = OBJECT_ID('dbo.foo');
Now I create a simple index on the column n1 which is an INT-datatype
SELECT p.object_id, p.index_id, p.rows, au.total_pages
FROM sys.partitions AS P INNER JOIN sys.allocation_units AS AU
ON(p.partition_id = au.container_id)
WHERE object_id = OBJECT_ID('dbo.foo');
and run the SELECT COUNT again with the following IO-output:
Table 'foo'. Scan count 1, logical reads 69, ...
WOW - only 69 pages have to be read. The explanation is a quite simple one - now we have an index which is quite small. Microsoft SQL Server WILL use the smallest index of a table to scan the number of records. Let's try it again with n2 which is a smallint
(2 bytes)
CREATE NONCLUSTERED INDEX ix_foo_n2 ON dbo.foo (n2);
GO
The IO will be 62 (or less) because MORE index records a fitting to one data page!
Conclusion is that either you have small record size or long record size - The query optimizer will always use the smallest index for the execution (that's maybe why Visahk has asked for the execution plan).
I don't believe it is because of the "huge amount of data" but - as Dan has pointed out - it HAS TO BE a blocking scenario which can have multiple reasons. For demonstration of a blocking scenario open SSMS and start in the query windows with the following
command(s):
BEGIN TRANSACTION
UPDATE dbo.foo
SET c1 = 'This is my name'
WHERE Id = 10000;
-- What locks do we have now in the database
SELECT resource_description,
resource_associated_entity_id,
request_mode,
request_type
FROM sys.dm_tran_locks AS DTL
WHERE resource_database_id = DB_ID() AND
resource_type != 'DATABASE';
Your result should look like that (with differences in the entity_id and resource descriptions :)
The above pic demonstrates the "locking chain". As you can see the slot 7 on PAGE 82400 has an exclusive lock. This means that NO OTHER request can currently obtain another lock to it!
Now open a second query window and run a SELECT COUNT... - it will not finish!
The reason is that the second requests has to wait for the release of the locked resources by the first transaction! Leave the statement and change back to the first transaction and finish the transaction by cancellation of the query. In the moment the locks
have been released the second query will finish immediate.
So - from my point of view - Dan has given the correct answer. Against wide spreaded statements a heap won't block the whole table exclusivly but - as in a cluster, too - only the row itself (see the 7 which is the slot where the record exists).
MCM - SQL Server 2008
MCSE - SQL Server 2012
db Berater GmbH
SQL Server Blog (german only) -
Time Out error : Its urgent
Hi ,
The scenario is that I am running a Process chain in which there is a loading process . In that process if data loading takes more than 1 hour it gives time out error . in ST22 , but in Sm37 it is active. Moreover in scheduler , the time is set to 2 hrs.
What is happening ? can any one please explain . what should I do to get rid of time out error ? can we set time in update rule as in scheduler ?
Please help me ...Hi Rajib,
In your case even if you set the time out time in scheduler it takes the default work process settings. Which you can see in the Parameter rdisp/max_wprun_time
at RZ10 transaction and select Instance profile. Even if the job is in active in sm37 it doesn't progress further when there is a timeout recorded. Try to get intouch with you BASIS guys and get the parameter settings to 2 hours. which may require server reboot.
Hope it helps.
Regards,
Srikanth.
Maybe you are looking for
-
Damaged checks table in B1 8.8
We have written our own check register report in Crystal Reports and damaged checks do no show up. Can you tell me which table damaged checks are kept in so I can link to it? Thanks, Rob
-
I reinstalled everything recently. When I try to run Fusion-Icon as anything other than root I get this: [grod@ficulnean ~]$ fusion-icon * Detected Session: unknown * Searching for installed applications... Traceback (most recent call last): File "/u
-
I need help with finding right stylus pen for lenovo yoga 2 pro!
I did read other person's post, but I did not find my answer. I am currently using my fingers to write my notes and it drives me nuts! I do have a stylus pen that have huge round fabric tip. It does not write well. I want a stylus pen with pointy end
-
i want to understand SAP terminology regardsing 'test workbench' terminology - its functions and its sequence. we creat test plan first , than test pacakge than assign it to tester. can u give sequence of this tcode and its function if u can provide
-
hi, I am using "request.getSession(true)" statement .So i think i shud get a new session each time i'll start the browser. But each time when i am starting browser it is showing me the previous values, stored in text boxes. And when i'll shutdown tom