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
Similar Messages
-
How to Recall same activity (Sub process) if time out error occurs ??
Hi ,
how to recall activity/subprocess if error occurs for activiy ???
My use case is : I need to make vCO call from cpo (either using Webtarget or using Windows Powershell Script Activity) . if time out error occurs i need to make same call again . Can any one please help on this .
Thanks
SivaRam.There is no inherently built in "recall" however this is not hard to do through content authoring.
If you believe this activity to fail a lot then I would do this...
*Setup a local boolean variable, default to false
*Set a while-loop to run while that local boolean is false
*When the activity runs if it's state is Succeeded or Not failed then set the boolean to true
That should accomplish what you want, however following a best practice I would be a max retry on there to limit the number of times it would attempt before you need to alert yourself that there could be an actual issue.
-shaun -
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. -
Hi,
We are trying to invoke a Web Service from BPEL Process (10.1.3.3.0) and we received below time out error message in em console.
</part></Invoke_1_setJobPostingXML_InputVariable></input><fault><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Read timed out</summary>
Problem here is this error is not coming for all the invocation. For ex. We have posted the input payload at 3:15:34PM today and it thrown an error at 3:45:12 PM with above message. Also its not huge load hitting their server as we are calling the webservice once in 4-5 mins and if we repost the same message, its posting without any issue. This time out error comes 4-5 times daily and want to understand why it occurs everyday.
1. Will BPEL receive an error if we post huge payload to web service?
2. Do we need to set some waiting time to receive the response after posting the data to Web service?
3. Other possible scneario's for timeout error?
Thanks,
SaravanaHi Saravana,
It's likely to be a problem at the remote side or a network latency/communication problem...
How can you affirm "its not huge load hitting their server"? Your service may not be the only source of load...
Cheers,
Vlad -
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? -
HTTP time out Error in BPM.....
Hi
Error Description:
We have created a Sync-Async Bridge BPM scenario in XI.
In the BPM scenario we are calling the web service, and if the response from the web service is an error message then we have retry in a loop up to 24 times after wait for every 1 min.
We are sending the data to the web service using a proxy created in the R/3 system.
We are getting the time out error in the R/3 system.
We have changed the following parameters in XI.
In SXMB_ADM of XI we have set the value for the following parameter.
Category parameter current value
SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT 120
In SXMB_ADM of R/3 we have set the value for the following parameter.
Category parameter current value
RUNTIME HTTP_TIMEOUT 120
When we put the value as 120 for the above parameters and we try for 2 times in the BPM process, then it is sending the response back to the R/3 system after completing the whole BPM process.
But when we increase the no of retries in the BPM process then it is not sending the response back to the R/3 system in the same way, at that time we are getting the error in SXMB_MONI of R/3 system as given below.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!--
Inbound Message
-->
- <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
<SAP:Context />
<SAP:Code p1="500" p2="Timeout" p3="" p4="">HTTP.HTTP_STATUS_CODE_NEQ_OK</SAP:Code>
<SAP:Text language="EN">HTTP status code 500 : Timeout</SAP:Text>
</SAP:ErrorHeader>
Please provide the solution for the same.
Many Thanks
Rinku GangwaniHi Prateek,
Thanks for your replay. I am able to open the URL from XI/PI.
I tried by testing the same URL by using XI 3.0, its working fine and i am getting required data, but in PI 7.1 i am getting an error.
Error is:
In MONI:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect
In RWB:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect
What could be the reason?
Regards,
Venu -
Getting Time-Out Error in Sync-Async Bridge
Hi All,
My IP has a Sync-Async Bridge. I have a fork, two senders, two switchs and a transformation step inside the bridge.
If XI takes much time to process the IP, the send step that closes sync-async bridge is not waiting for the message after a particular period and throws time out error to the sender.
Is it possible to increase the waiting time for sync-async bridge?
This IP works correctly 8 out of 10 times. Sometimes the message is sitting permenantly in the queue(smq2) and gives me system failure error.
Can u tell me why this problem happening?
Thanks & Regards,
Senthil.Dear Michal/Senthil,
Can you pl clear a confusion that i have had for ages...
suppose there is a sync/async bridge ( i understand that it is used for sync business system too async BS communcation )
where we have 4 steps
sync receive - > async send -> async receive -> sync send..
i do understand that async send and async receive are combined through correlation
but i do not understand how do they work..
i mean when async send say send a file to a target system...does async receive reads a file from the same folder based on the corelation or wat...
basically can you pls explain me how do the steps 2 and 3 above work
Edited by: Tarang Shah on Mar 3, 2009 12:51 PM -
How do I trap a time out error on DataFinder
Greetings
I need to trap a time out error coming from datafinder.
I tried vbs "On Error" but the Err.Description I get is "The operation Search was timed out".
If I manually set the same query on the GUI I get results back, but when using code on a long list of queries, sometimes I get a time out error and it stops the process.
I want to capture this error and proceed to the next query but I would also like to have some more details.
I am aware that I can tweak the timeout settings on the datafinder to increase the time, but the real problem I am chasing is a linear time increase I am observing on a list of thousands of queries.
They start fast but I am observing a small increment of time added on each subsequent query and eventually it adds up to the point it returns the timeout error.
The process takes many hours before I get an error, if any, so I would like to get as many details as possible.
Is there any other way than using "On Error Resume Next" that would give me more details?
Also, has this linear time increase been observed before?
Thank you
Jose A Rafols
ETS - Software Engineer
Honeywell Aerospace of Puerto Rico Inc.
San Antonio Industrial Park
Road #110 North Km. 5.9
Aguadilla, PR 00604Hi Jose,
This isn't an answer to the question you're asking, but it might still help. DIAdem 2015, which is in Beta right now, has a new query mode that returns only the desired property columns from a query-- not all properties (and parent properties) regardless of what's displayed. This new query mechanism enables you to greatly exceed the old 32000 search result limit, and it generally runs something like 5x to 10x faster than the regular query method. It's possible that with this new approach you could avoid altogether the timeouts you're currently struggling to trap.
Brad Turpin
DIAdem Product Support Engineer
National Instruments -
Time Out error problem when i run the report for the whole plant
Dear all,
pls find the below coding, when i execute this report for the whole plant , it gives me time out error since it has to process huge database. pls suggest me in which part of my below coding i can improvise or any other better way to fetch the same result.
pls note that
i m using Views for querying.pls also note the comments given in Bold to understand the reason behind the coding.
Views used in are - ZVPOD and ZVPRDCONF.
START-OF-SELECTION.
Data: zstat type jest-stat.
data: stklocaf type mska-lgort.
data: stklocas type mska-lgort.
<u><b>To collect the status of the production order by joining the ZVPOD and JEST table.</b></u>
CLEAR it_ZVPRODDET.
SELECT DISTINCT ZVPOD~bukrs ZVPOD~aufnr ZVPOD~objnr
jest~stat ZVPOD~werks ZVPOD~arbpl ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN jest ON ZVPOD~objnr = jest~objnr
INTO CORRESPONDING FIELDS OF wa_ZVPRODDET where
plnbez in FGM and arbpl in wc and werks in plant
and SSAVD in eldate
and J_3AKORD2 in cups and jest~inact ne 'X'.
APPEND wa_ZVPRODDET TO it_ZVPRODDET.
ENDSELECT.
SORT it_ZVPRODDET BY aufnr stat.
<u><b>Loop thru Itab to check and delete the records from itab for the specified status.</b></u>
LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
IF wa_ZVPRODDET-stat = 'I0045' . " TECO - compl
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0009' . " CNF - Confirmed
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0012' . " DLV - Delivered
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0046' . " CLSD - Closed
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'I0076' . " DLFL - Del Flag
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ELSEIF wa_ZVPRODDET-stat = 'E0003' . " SCLS - Short Close
CLEAR tj30t.
SELECT SINGLE txt04
FROM tj30t INTO tj30t-txt04
WHERE stsma = 'PRDHOLD' AND
estat = 'E0003' AND
txt04 = 'SCLS' AND
spras = 'EN'.
IF sy-subrc = 0.
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr.
ENDIF.
ENDIF.
* Condition for Prod Order released - REL
IF wa_ZVPRODDET-stat = 'I0002'.
mreleased = 'Y'.
else.
mreleased = 'N'.
endif.
zstat = wa_ZVPRODDET-stat.
IF mreleased = 'N'.
DELETE it_ZVPRODDET WHERE aufnr = wa_ZVPRODDET-aufnr
and stat = zstat.
ENDIF.
ENDLOOP.
<u><b>Loop thru the filtered ITAB to get all the production order details for the production order number specified in the where clause( zaufnr ) and populate another internal table.</b></u>
LOOP AT it_ZVPRODDET INTO wa_ZVPRODDET.
zaufnr = wa_zvproddet-aufnr.
zarbid = wa_zvproddet-arbid.
at new aufnr.
SELECT DISTINCT * INTO CORRESPONDING FIELDS OF walnpln
FROM zvpod where plnbez in FGM and arbpl in wc and SSAVD in
eldate and werks in plant and J_3AKORD2 in cups and aufnr = zaufnr.
APPEND walnpln TO itablnpln.
endselect.
endat.
endloop.
clear walnpln.
<u><b>
Looping thru Internal table and performs all the following calculations and inner loop
and also relevant querying.</b></u>
<u><b>Assume that ITABLNPLN holds appox. 8000 records.</b></u>
LOOP AT itablnpln INTO walnpln.
contot = 0.
SELECT distinct * INTO CORRESPONDING FIELDS OF TABLE itablnp
FROM zvprdconf where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
clear zvprdconf.
SELECT single isdd
FROM zvprdconf into zvprdconf-isdd
where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
SELECT single isdz
FROM zvprdconf into zvprdconf-isdz
where aufnr = walnpln-aufnr and
j_3asize = walnpln-j_3akordx and stzhl ne '2' and stokz ne 'X'.
IF sy-subrc EQ 0.
<u><b>Assume that ITABLNP holds appox. 30 records.</b></u>
loop at itablnp into walnp.
contot = contot + walnp-J_3ALMNGA.
move walnp-J_3ASIZE to walnpln-J_3ASIZE.
move zvprdconf-isdd to walnpln-zdate.
move zvprdconf-isdz to walnpln-ztime.
endloop.
walnpln-output = contot.
endif.
walnpln-wip = walnpln-menge - contot.
if walnpln-werks = '1000'.
stklocaf = '1050'.
stklocas = '1060'.
elseif walnpln-werks = '2000'.
stklocaf = '2150'.
stklocas = '2160'.
endif.
select single kunnr into walnpln-ship from vbpa where
vbeln = walnpln-KDAUF and PARVW = 'WE'.
zship = walnpln-ship.
move zship to walnpln-ship.
select single kalab into walnpln-zactqty from mska
where matnr = walnpln-plnbez
and j_3asize = walnpln-J_3AKORDX and LGORT = stklocaf.
condense walnpln-kdauf.
zsales = walnpln-kdauf.
concatenate zsales 'S' into zso.
select single kalab into walnpln-zsndqty from mska
where matnr = walnpln-plnbez
and j_3asize = walnpln-J_3AKORDX and LGORT = stklocas
and J_4KSCAT = zso.
zmatn = walnpln-plnbez.
zsale = walnpln-KDAUF.
walnpln-kdauf = zsale.
walnpln-plnbez = zmatn.
zcust = walnpln-kunnr.
walnpln-kunnr = zcust.
select single bezei into walnpln-season from TVV2T where
kvgr2 = walnpln-kvgr2 and SPRAS = 'E'.
select single bezei into walnpln-shipmode from T173T where
vsart = walnpln-vsart and SPRAS = 'E'.
STRL = strlen( walnpln-j_3akord2 ).
if strl = 4.
move walnpln-j_3akord2 to walnpln-j_3akord3.
clear walnpln-j_3akord2.
endif.
move zremk to walnpln-remk.
MODIFY itablnpln FROM walnpln.
contot = 0.
clear itablnp.
ENDLOOP.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.Hi raja,
Plese go through the suggessitions.
1.avoide the select ...endselect. write the below select
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X'.
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
2..first of all dont delete a record inside the loop. instead use the Field symobols.
have u obsereved you code in the loop!!!!. wht u r doing..
u r removing the same record which u in the loop..
If u wanto delete the entires with check to<b> stat</b>... <b>then.. why dont u put the STAT field in Wher e condition..?</b> by this you reduce the data base select time..
Now the select query is like the below....
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X' AND
( STAT <> 'I0045' AND
STAT <> 'I0045' AND
STAT <> 'I0009' AND
STAT <> 'I0012' AND
STAT <> 'I0046' AND
STAT <> 'I0076' AND
STAT <> 'E0003' ).
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
<b>3.</b> WHT IS MEANING OF THE SELECT
<b> CLEAR TJ30T.
SELECT SINGLE TXT04
FROM TJ30T INTO TJ30T-TXT04
WHERE STSMA = 'PRDHOLD' AND
ESTAT = 'E0003' AND
TXT04 = 'SCLS' AND
SPRAS = 'EN'.
IF SY-SUBRC = 0.
DELETE IT_ZVPRODDET WHERE AUFNR = WA_ZVPRODDET-AUFNR.
ENDIF.</b>....... IN WHERE CONDION U R GIven all are constant values right?..
why u need select it inside the loop.. u can write before the SELECT from ZVPOD..
that why first checke this field then go for fur thure selects..
<b>now u r code looks like this....</b>
CLEAR TJ30T.
SELECT SINGLE TXT04
FROM TJ30T INTO TJ30T-TXT04
WHERE STSMA = 'PRDHOLD' AND
ESTAT = 'E0003' AND
TXT04 = 'SCLS' AND
SPRAS = 'EN'.
IF SY-SUBRC = 0.
CLEAR IT_ZVPRODDET.
SELECT DISTINCT
ZVPOD~BUKRS
ZVPOD~AUFNR
ZVPOD~OBJNR
JEST~STAT
ZVPOD~WERKS
ZVPOD~ARBPL
ZVPOD~J_3AKORD2
FROM ZVPOD
INNER JOIN JEST ON ZVPOD~OBJNR = JEST~OBJNR
INTO CORRESPONDING FIELDS TABLE IT_ZVPRODDET
WHERE PLNBEZ IN FGM AND
ARBPL IN WC AND
WERKS IN PLANT AND
SSAVD IN ELDATE AND
J_3AKORD2 IN CUPS AND
JEST~INACT NE 'X' AND
JEST~STAT <> 'I0045' AND
JEST~STAT <> 'I0045' AND
JEST~STAT <> 'I0009' AND
JEST~STAT <> 'I0012' AND
JEST~STAT <> 'I0046' AND
JEST~STAT <> 'I0076' AND
JEST~STAT <> 'E0003' ).
IF SY-SUBRC = 0.
SORT TABLE IT_ZVPRODDET.
ENDIF.
ENDIF.
there are so many select inside the loop...... please Delete all of them.... write them be for the loop.......using the FOR ALL ENTRIES.....
THEN LOOP THE TABLE USING THE WHERE CONDITIONS.
<b>Plese write u updated code here again</b>.. -
Time out error in receiver soap adapter
Hi,
My scenario is file to soap file with out BPM.I am using a currency converter wsdl.
I am getting a time out error in soap receiver channel.
Do i need to change the time out parameter?Where do i change that?Please help me to solve it out.
Following are the errors in the soap communication channel.
SOAP: call failed: java.net.ConnectException: Connection timed out
SOAP: error occured: com.sap.aii.af.ra.ms.api.RecoverableException: Connection timed out: java.net.ConnectException: Connection timed out
MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Connection timed out: java.net.ConnectException: Connection timed out
Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Connection timed out: java.net.ConnectException: Connection timed out. Setting message to status failed.
Regards
DiviaHi Prateek,
Thanks for your replay. I am able to open the URL from XI/PI.
I tried by testing the same URL by using XI 3.0, its working fine and i am getting required data, but in PI 7.1 i am getting an error.
Error is:
In MONI:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect
In RWB:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect
What could be the reason?
Regards,
Venu -
Connection time out error in server proxy
Hi
My scenario is file to proxy. . It is synchronous scenario.
I am giving wait time as input and in the proxy i wrote a code to wait till the inputed value and after that send a response. it is working fine only if i give less than 60 sec.
If i specify above 60 sec i am getting the connection time out error in SXMB_MONI.
Please help me to solve this.
Regards
DiviaTo increase Timeout use
Go to transaction SMICM........ Goto->services......choose HTTP.....edit this service.........increase maximum processing time and activate this service
look blog for timeouts:
The specified item was not found. -
Hi Guys,
My FICO is running MIRO but is getting time out error.
The total no of line items in the PO are 2900.
He runs MIRO with set of 400 Line items everytime.I have increased the runtime for the WP but sometimes still it gives timeout.
I have checked the note no 1333601 but its for india specfic version & i m in UAE.
Is there a way to schedule this background.
thanksHi,
Thanks for the reply.
I have already asked them to reduce the line items to 200.
In SM50 there is no such information available. only the report name is available doesnt provide any information on the table that is being accessed.. I checked in SM66 also.
Since the data is availalble in PRD only so this occurs in this env only.
Could we schedule this MIRO process in background..? -
Time out error in J1INQEFILE while generation ETDS file
hi,
when ever i am executing transaction J1INQEFILE. it giving Time out error. in dump folloeing message is coming.
Termination occurred in the ABAP program "J_1I_QER_EFILE" - in "MOVE_VENDOR".
The main program was "J_1I_QER_EFILE ".
In the source code you have the termination point in line 1410
of the (Include) program "J_1I_QER_EFILE_FETCH_DATA".
i checked in program. can you people tell me how to optimize this query after making this program as a Y program.so that this error can be avoided.
Thanks
SPHi Prateek,
Thanks for your replay. I am able to open the URL from XI/PI.
I tried by testing the same URL by using XI 3.0, its working fine and i am getting required data, but in PI 7.1 i am getting an error.
Error is:
In MONI:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect
In RWB:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect
What could be the reason?
Regards,
Venu -
Time Out error in deploying EJB in Sun's application server
I am facing the problem of time out error in sun's application server when deploy tool and application server is running in the same system. can any one solve my problem
Hi,
How big is your EJB application? i.e. how many EJBs do you have?
Would you please try to deploy your application using the command line tool "asadmin" and see if it is also hanging? This will help us to tell if the deployment process that is hanging or the deploytool itself that is hanging. The "asadmin" tool is located under $INSTALL_HOME/bin.
Thanks,
Q^2 -
Time Out ERROR CC Risk Analysis RFC
Hi Friends,
I am getting time out error when I am testing the CC risk analysis RFC. One thiing I monitor here is that when I am changing the parameters to 'YES' in tcode '/virsa/zrtcnfg',this RFC time out is occuring,when I am changing it back to 'NO' it is working fine.
I beleive there is some system perfomance issue or any bottleneck is happenning.
Please check error details of the Rfc below
Logon Connection Error
Error Details Error when opening an RFC connection
Error Details ERROR: program GRCRTTOCC5X not registered
Error Details LOCATION: SAP-Gateway on host hostname / sapgw00
Error Details DETAIL: TP GRCRTTOCC5X not registered
Error Details COMPONENT: SAP-Gateway
Error Details COUNTER: 65055
Error Details MODULE: gwr3cpic.c
Error Details LINE: 1960
Error Details RETURN CODE: 679
Error Details SUBRC: 0
Error Details RELEASE: 700
Error Details TIME: Thu Mar 11 09:21:35 2010
Error Details VERSION: 2
and also some time I am getting below error
Logon Connection Error
Error Details Error when opening an RFC connection
Error Details ERROR: timeout during allocate of registered program
Error Details LOCATION: SAP-Gateway on host hostname / sapgw00
Error Details DETAIL: TP GRCRTTOCC5X init/busy for more than 60 sec
Error Details COMPONENT: SAP-Gateway
Error Details COUNTER: 65068
Error Details MODULE: gwr3cpic.c
Error Details LINE: 1937
Error Details RETURN CODE: 677
Error Details SUBRC: 0
Error Details RELEASE: 700
Error Details TIME: Thu Mar 11 09:29:56 2010
Error Details VERSION: 2
Any suggestion please..
Thanks & Regards,
Satyabrat
Edited by: Satyabrat Mohanty on Mar 11, 2010 11:54 AM
Edited by: Satyabrat Mohanty on Mar 11, 2010 12:00 PMHi,
for further information the latest log is
2010-04-28 07:01:47,706 [SAPEngine_Application_Thread[impl:3]_18] ERROR User : not found to get full name
2010-04-28 07:02:21,066 [SAPEngine_Application_Thread[impl:3]_11] ERROR
java.lang.Throwable: java.lang.NullPointerException
at com.virsa.re.workflow.client.WorkflowRequestClient.getRoleProcessContextDtos(WorkflowRequestClient.java:284)
at com.virsa.re.workflow.client.WorkflowRequestClient.execSubmitRoleApprovalWF(WorkflowRequestClient.java:83)
at com.virsa.re.workflow.actions.WorkflowRequestAction.submitApprovalRequest(WorkflowRequestAction.java:95)
at com.virsa.re.workflow.actions.WorkflowRequestAction.execute(WorkflowRequestAction.java:54)
at com.virsa.framework.NavigationEngine.execute(NavigationEngine.java:273)
at com.virsa.framework.servlet.VFrameworkServlet.service(VFrameworkServlet.java:230)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:117)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:62)
at com.virsa.comp.history.filter.HistoryFilter.doFilter(HistoryFilter.java:43)
at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:58)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:384)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(AccessController.java:219)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
FYI
I have already checked all the webservices urls and password everything is fine.am I missing something.
Regards,
Satyabrat
Maybe you are looking for
-
How to delete file systems from a Live Upgrade environment
How to delete non-critical file systems from a Live Upgrade boot environment? Here is the situation. I have a Sol 10 upd 3 machine with 3 disks which I intend to upgrade to Sol 10 upd 6. Current layout Disk 0: 16 GB: /dev/dsk/c0t0d0s0 1.9G / /dev/dsk
-
Server Error when trying to open .acsm file
Hello, I installed Digital Editions v2.0 on a Windows 7 (64bit) computer. I allowed this program to go through firewall. I have authorized my computer using my AdobeID. When trying to open the .acsm file to get an epub book which I just bought I get
-
Unable to install File Upload Utility in AIX system
Hello, I installed the Forms File Upload Utility, through CGI, following the steps described in the html document provided with the utility. That is: - i copied the files UploadClient.jar.sig and UploadServer.jar to the directory /ias102/6iserver/for
-
DB connection to oracle db in the local machine
why I can not make DB connection to the oracle db in my computer using JDeveloper? I used the thin for driver, IP address and localhost for the machine name, SID and port name from the tnsname.ora file. Thanks a lot, Hean
-
Security PreferencePane Lock in System Preferences
For some strange reason the lock in the left hand bottom of security Preferences does not stay locked. Every time I reboot it is unlocked. Is there a fix for this.