Seriously though, as far as I am aware, the COB is essentially disk
bound. So:
1) Have you tuned your HPUX cache so that it dedicates more RAM to disk
IO caching? This is a common issue on HPUX systems;
2) Add more memory
3) Upgrade the disk IO system;
4) Call IBM ;-)
Jim
--
А писал все это Барисыч - Google'оид со стажем.
Tel No:234-1-(0)7028030184
Yudi,
Apart from all answers you have received to such generic question, and narrowing down to STMT.ENTRY, best way to get STMT.ENTRY ids is by using API routine EB.ACCT.ENTRY.LIST where you have to specify account number and period of entries you need.
Normally, at end of month COB you will need entries created during last month.
Selecting all entries from STMT.ENTRY during daily or monthly COBs does not have a business sense but if this is the case, a solution could be creating an external index on this table if you need to specify a selection parameter.
Below a sample using this API:
ACCT.ID = 121212
INI.DATE = 20080101
END.DATE = 20080131
YID.LIST = ''
INI.BAL = ''
ERR = ''
CALL EB.ACCT.ENTRY.LIST(ACCT.ID,INI.DATE,END.DATE,YID.LIST,INI.BAL,ERR)
YID.LIST will have Stmt Entries IDs.
Jim,
Do we still need to specify [T24] on subject?
Regards,
Luis
There is always the BASIC select statement and avoid sorting unless the output demands it. But that is also what indexes are for too and jBC has lots of good indexing commands to help you there.
Jim
From: Shiva Shankar
[mailto:aqua.sh...@gmail.com]
Sent: Thursday, February 21, 2008 5:21 AM
To: jB...@googlegroups.com
Subject: Re: what to do to reduce COB time?
if there is an option of coding in a way where the SELECT on the STMT.ENTRY can be averted, that would be a good option.
All,
Trying to run JBuildSLib and receiving unresolved external symbol _JediSystemLock
What lib do I need to include?
Thanks in advance,
Treg
Win 2000
Jbase 3.4.2.5
Do we still need to specify [T24] on subject?
Regards,
Luis
Yes please, however there is a lot of overlap. Optimizing a machine and programs is fairly generic for instance, so really [T24] is when you want to know something about using/administering/etc T24 itself and would not be of interest to anyone who does not use T24.
Jim
jBuildSLib is essentially a wrapper for the system linker command (usually ld or the cc/gcc front end to that). Hence when you build a library, you need to supply all other libraries that may contain symbols/functions that you are going to call, otherwise the linker cannot determine what libraries load at runtime.
In jBASE 3.4.2.5 on Windows, jBuildSLib should automatically provide the jBASE libraries, so it looks like you are trying to call a function that is no longer provided. This function was part of the jEDI stuff, but I think that for some reason it had a name change, I think to just JediLock, looking at my own drivers. You only need this in your driver if you don’ want jBASE to manage record locks for you.
You can use the –v (might be –V) option on this command to see what is going on under the hood, but I think you just need to check the .h files to verify that.
Jim
Thanks Jim,
That worked!
Treg
Do we still need to specify [T24] on subject?
Regards,
Luis
Yes please, however there is a lot of overlap. Optimizing a machine and programs is fairly generic for instance, so really [T24] is when you want to know something about using/administering/etc T24 itself and would not be of interest to anyone who does not use T24.
Jim
HI, praveen
the job that currently taken the longest time is
BNK/REPORT.PRINT.REPORTING-EB.EOD.REPORT.PRINT
01:40:43 - 02:38:37
any suggestion what to do with this jobs?
thanks & regards
yudi
On Thu, Feb 21, 2008 at 11:20 AM, praveen kumar <pav...@gmail.com> wrote:
hi,can you pls let me know which job is taking more time?regards,praveen
> -----Original Message-----
> From: jB...@googlegroups.com [mailto:jB...@googlegroups.com] On Behalf
> Of Mike Preece
> Sent: Wednesday, March 12, 2008 5:08 AM
> To: jBASE
> Subject: Re: what to do to reduce COB time?
>
>
>
>
If this statement was correct, then there would be a lot of very angry web users waiting on complete result sets from Oracle/SQL Server etc ;-).
It depends on how you ask for the result set and what you ask of the result set. For instance if you ask for the difference between the average (non-moving) value of a field and the record value, then you may need to traverse the result set to calculate such a thing, but even then, the server can perform a local query to find the aggregate it needs to produce the average on the fly. Simple WHERE clauses do not need to produce the entire result set before they can give back result sets, which are generally paged if you know there will be a lot of results.
Don't forget that the indexes will (or at least did) work on a jEDI driver, hence if your select is based on index chopping, you will get a list and the submission to Oracle will be an individual read. Depending on what you are doing this can be faster. So, it depends on what the Oracle drivers try to do with a jQL query vs producing a list and iterating. At one point, we were trying to get the Oracle drivers to intercept queries and use local indexes if available, which is just what I am advocating here.
Other than someone in corporate headquarters has mandated Oracle with as much qualification to do so as perform deep sea diving, I see no reason that most users should use such a database really. It just adds more complications. There are other reasons to want to use such things though ;-), such as all your staff are already trained in Oracle.
Jim
BATCH ENTRY SEE
BATCH PROCESS..... BKB/RE.PRINT.DEAL.STAFF
------------------------------------------------------------------------------
1 BATCH.STAGE....... R800 REPORTING
3 PROCESS.STATUS.... 0 READY
4 BATCH.ENVIRONMENT. F FOREGROUND
6. 1 JOB.NAME....... RE.OUTPUT.EXTRACT
8. 1 FREQUENCY...... D DAILY
11. 1. 1 DATA........ STAFF
12. 1 JOB.STATUS..... 0 READY
13. 1 LAST.RUN.DATE.. 03 MAR 2008
6. 2 JOB.NAME....... EB.PRINT
7. 2. 1 VERIFICATION RE.OUTPUT.EXTRACT
8. 2 FREQUENCY...... D DAILY
11. 2. 1 DATA........ ENQ CRB.REPORT.STAFF IMMEDIATE
2008/3/10, praveen kumar <pav...@gmail.com>:
Home phone: 84 4 5543349
Hi Phuong,
I will explain you the concept of using IMMEDIATE in the batch records.
Option 1 – When IMMEDAITE is not mentioned in the batch records.
In any batch record if you are printing any reports using either ENQ/ROUTINE/RPG then EB.PRINT job will process and will write to EB.REPORT. Once the reporting reaches the Final stage, the last batch in the reporting-BNK/REPORT.PRINT.REPORTING will start printing all the reports reading from EB.REPORT using the routine EB.EOD.REPORT.PRINT
How do we test this?
This time I will take the core batch record- modify the batch records BNK/EU.PL.REALISED.REPORT & BNK/REPORT.PRINT.REPORTING & create TSA services so that you can run them as services.
Clear everything from &HOLD&.
BATCH ENTRY SEE
BATCH PROCESS..... BNK/EU.PL.REALISED.REPORT
------------------------------------------------------------------------------
1 BATCH.STAGE....... R100 REPORTING
3 PROCESS.STATUS.... 0 READY
4 BATCH.ENVIRONMENT. F FOREGROUND
6. 1 JOB.NAME....... EB.PRINT
8. 1 FREQUENCY...... D DAILY
11. 1. 1 DATA........ ENQ EU.FX.PL.TODAY
12. 1 JOB.STATUS..... 0 READY
13. 1 LAST.RUN.DATE.. 03 NOV 2000
17 CURR.NO........... 1
18. 1 INPUTTER....... SY_COMP.IN.BATCH
19. 1 DATE.TIME...... 07 MAY 02 18:57
20 AUTHORISER........ 12_S.DONEY
21 CO.CODE........... GB-001-0001 NEWMASTER 5.005
22 DEPT.CODE......... 1
Run the above shown batch record as a service and check LIST FBNK.EB.REPORT, you can see a record with the enquiry name EU.FX.PL.TODAY.
Now check LIST &HOLD& nothing will be there Now start the tSA agent of BNK/REPORT.PRINT.REPORTING, it will read FBNK.EB.REPORT and will write to &HOLD&.
Now check LIST &HOLD& you will find one record.
Options 2 – When IMMEDAITE is mentioned in the batch records
In any batch record if you are printing any reports using either ENQ/ROUTINE/RPG then EB.PRINT job will process and will write to EB.REPORT. If ENQ/RTN/RPG contains 'IMMEDIATE' along with its name then it will be printed immediately.
How do we test this?
This time modify the batch records BNK/EU.PL.REALISED.REPORT & create TSA services so that you can run them as services.(This time do not create tSA service for BNK/REPORT.PRINT.REPORTING)
Clear everything from &HOLD&.
BATCH ENTRY SEE
BATCH PROCESS..... BNK/EU.PL.REALISED.REPORT
------------------------------------------------------------------------------
1 BATCH.STAGE....... R100 REPORTING
3 PROCESS.STATUS.... 0 READY
4 BATCH.ENVIRONMENT. F FOREGROUND
6. 1 JOB.NAME....... EB.PRINT
8. 1 FREQUENCY...... D DAILY
11. 1. 1 DATA........ ENQ EU.FX.PL.TODAY IMMEDIATE
12. 1 JOB.STATUS..... 0 READY
13. 1 LAST.RUN.DATE.. 03 NOV 2000
17 CURR.NO........... 1
18. 1 INPUTTER....... SY_COMP.IN.BATCH
19. 1 DATE.TIME...... 07 MAY 02 18:57
20 AUTHORISER........ 12_S.DONEY
21 CO.CODE........... GB-001-0001 NEWMASTER 5.005
22 DEPT.CODE......... 1
Run the above shown batch record as a service and check &HOLD&. You will find one record.
Please check the PGM.FILE of EB.EOD.REPORT.PRINT to know whether BNK/REPORT.PRINT.REPORTING is a single threaded or multithreaded.
We use IMMEDIATE usually to print the report at that point of stage & if BNK/REPORT.PRINT.REPORTING is a single threaded in your Globus release then YES it does help to reduce the COB time. If BNK/REPORT.PRINT.REPORTING is taking more time in spite it's multithreaded then please check RE.STAT.REQUEST records. If you have any record with more reports attached to it, then it will be better to split it.
Hi Phuong,
I will explain you the concept of using IMMEDIATE in the batch records.
Option 1 - When IMMEDAITE is not mentioned in the batch records.
In any batch record if you are printing any reports using either ENQ/ROUTINE/RPG then EB.PRINT job will process and will write to EB.REPORT. Once the reporting reaches the Final stage, the last batch in the reporting-BNK/REPORT.PRINT.REPORTING will start printing all the reports reading from EB.REPORT using the routine EB.EOD.REPORT.PRINT
How do we test this?
This time I will take the core batch record- modify the batch records BNK/EU.PL.REALISED.REPORT & BNK/REPORT.PRINT.REPORTING & create TSA services so that you can run them as services.
Clear everything from &HOLD&.
BATCH ENTRY SEE
BATCH PROCESS..... BNK/EU.PL.REALISED.REPORT
------------------------------------------------------------------------------
1 BATCH.STAGE....... R100 REPORTING
3 PROCESS.STATUS.... 0 READY
4 BATCH.ENVIRONMENT. F FOREGROUND
6. 1 JOB.NAME....... EB.PRINT
8. 1 FREQUENCY...... D DAILY
11. 1. 1 DATA........ ENQ EU.FX.PL.TODAY
12. 1 JOB.STATUS..... 0 READY
13. 1 LAST.RUN.DATE.. 03 NOV 2000
17 CURR.NO........... 1
18. 1 INPUTTER....... SY_COMP.IN.BATCH
19. 1 DATE.TIME...... 07 MAY 02 18:57
20 AUTHORISER........ 12_S.DONEY
21 CO.CODE........... GB-001-0001 NEWMASTER 5.005
22 DEPT.CODE......... 1
Run the above shown batch record as a service and check LIST FBNK.EB.REPORT, you can see a record with the enquiry name EU.FX.PL.TODAY.
Now check LIST &HOLD& nothing will be there Now start the tSA agent of BNK/REPORT.PRINT.REPORTING, it will read FBNK.EB.REPORT and will write to &HOLD&.
Now check LIST &HOLD& you will find one record.
Options 2 - When IMMEDAITE is mentioned in the batch records