OO Batch Model and optimised Java for batch???

Hi All,
I'm looking to see if there is any literature of OO models for batch processing and optimising of batch java.
Thoughts & comments welcome.........
I have an existing batch process running on a mainframe which is very successful. We would like to leverage this by building a similar batch process to run 'anywhere' so likely options are Java/Unix.
There are many patterns/models etc for OO based GUI / interactive processes but very few for (that I have found) for batch.
I have worked mainly with mainframe batch and online applications and come with the baggage that activity that can be processed in batch should be to avoid overloading the online container (CICS region, web server etc).
I believe that this continues to be true, as well as the particular data we are processing benefits from efficiencies of batching the data together to store eventually on tape.
In view of not finding any literature (which I doubt is the case) it seems that the problem is the same, so probably the solution is also similar.
In the procedural solution, a Jackson (or similar), would have been designed which would then reflect the procedures build into the code.
I expect that if instead of procedures classes where defined, certainly at a higher level then the design would still be ok.
(So a the higher level you have a 'main' class, which instansiates a 'read' io object, a processing object which handles the actual processing activity and a write io object).
The level to which would would combine procedures together, or further split them out, would then be the main point of discussion.
( However am open to the above suggestion being completly wrong).
Then there is efficient configuration when processing........
When running on the mainframe the code is loaded once, the memory for all the working storage strucures created. When actually processing there is no instantiating classes, or running the garbage collector etc. I re-use the same memory for each new record red in / processed / written out and all the code is normally loaded once when first called and the same code is re-used until all records processed.
Is there any way that I can replicate this within Java either in it's own JVM or running in a container such as websphere? When processing the volume of data that we do (20 million db entries + 40GB of document data avg) then anything not optimised is costing money and available processing time.

I suspect that batching is underused thoughrather
than overused.Can you elaborate on that? What kind ofconditions
would you advocate batching for? Running daily, monthly, etc reports. Or something
that feeds those.I don't disagree, I just don't even see this as 'batching'. Batching to me is when you take something that could be done incrementally and purposely doing it in large groups at set times or time-periods. If you have a daily report and you do it daily, you're just doing the most obvious approach. It might not even be the most efficient.
>>
I have some experience working with batch java
applications running in Unix. And I can tell you
that they did not improve anything. I suspect I would agree with that. I am not
advocating that the batching be done in java. Just
that idea that an 'incremental' process that requires
moving data versus a 'batch' process that doesn't
isn't something that I would normally consider a good
idea.I think we are thinking about different things. I'm really just talking about incremental or real-time vs. batching.
They were
actually the source of many of our issues. That
added abitrary time lags during times of lowvolumes,
sometimes adding 30 minutes or more to theprocessing
of a transaction as it waited for the nextscheduled
batch. They also made our backlogs worse in timesof
high volumes because the incoming data flow was
uneven, we would often get big batches of datafrom
partner systems (more batching, gotta love it)that
hit us when our batch process was sleeping. 5,10,
15 minutes would pass where the server ran at 10%
capacity while huge backlogs were piling up. It
didn't make anything better. It was just causing
idling.
What was the timeliness requirements for the
processing? Did it need to be completed by 2am in
the morning? Or could it have really just been
completed on demand?It was B2B transactions ASAP was the time requirement. I guess the upper limit was 6 hours or so. But batching didn't really decrease the processing time per transaction anyway and the server was never dedicated to the batch or anything so there were still context switches.
It just seems to me that in Java with all the nice
threading we have access to, the server shouldnever
be idle and if you cannot handle your volume youare
better off adding more servers, not attempting to
batch things.I have created applications that were intended to run
'batch' jobs which could be spread across servers.
Those particular processes had to finish within a
very narrow time span as well - about two hours as I
recall. There was an incremental as well as batch
functionality that needed to be run for this. The
batch functionality ran on the database. The
incremental took the batched results and handle the
incremental part.
Although management was never willing to dedicate
more than one server to the processing so I guess it
wasn't that important to them.
I have seen apps that claimed they were 'fast'
because they did all of the incremental processing
outside of the database. The design required moving,
literally, the entire database over the network to
other servers which would then process it.
Processing it in the database would have taken
orders of less time. And that was time sensitive
data. I can't remember if that app allowed for
multiple boxes to do the processing. I do know that
the people working on it could never figure out the
bottleneck (it was scaling to something like 12
hours a day which was not acceptable.)I guess I don't see doing it on the DB as implying batching. We use triggers to drive processes in Java, COBOL, whatever.

Similar Messages

  • REG selective and % inspection for 03 and 04 types for batch material

    Hello Gurus,
    The scenariois:
    1. Material is batch managed and 03 & 04 types activated.
    2. Against a production order, several batches will be generated.
    Client requirement is:
    1. After the relase of PO, only the first batch will be inspected.
    2. After that, if required, 10% of that PO will be inspected (type 03)
    3. After all these inspection, RR and UD, next stage will be confirmation of PO and generation of 04 type lot.
    Is that possible in SAP? I have my doubts. If we activate 03 type in mat master, it should generate lot for every batch. Is it possible to manage the scenario with 04 type, where next stage becomes stock transfer?
    Really appreciate quick help on this.

    Sorry.  I would say you would have to develop all your own custom sample procedures for this.  I don't see any easy way for this to be done in standard SAP.
    It would even be difficult if you had one PO for each batch.  Maybe others might have some ideas but I don't at this time.
    FF

  • Using BAPI_OUTB_DELIVERY_CONFIRM_DEC for batch split?

    Dear All,
    I have an existing DO in SAP with one line item.
    I would like to use BAPI_OUTB_DELIVERY_CONFIRM_DEC to update the this line item with Batch Split.
    For example, the existing line item has a material M001 with quantity 5. I need to update the DO to split this line into two batchs - qty 3 from Batch A and qty 2 from Batch B.
    In the BAPI's ITEM_DATA - I filled 3 lines:
    Line 1 - DO Number 1014---, Item number 00001, Material Number M001, qty 0
    Line 2 - DO Number 1014---, Item number 90001, Material Number M001, qty 3, HIERAR 00001, USEHIERITM 1, Batch Batch A
    Line 3 - DO Number 1014---, Item number 90002, Material Number M001, qty 2, HIERAR 00001, USEHIERITM 1, Batch Batch B
    I also updated the ITEM_CONTROL with Deliv_NUMB ---, DELIV_ITEM 00001, CHG_DELQTY X, GROSS_WT_FLG X.
    I get no errors after calling this BAPI and the RETURN table is empty, yet, the document was not changed!
    I did a bapi call via remote and there is a commit work after the bapi call.
    Best Regards,
    Junwen
    Message was edited by: Junwen Huang

    Hi Junwen,
    Did you call the BAPI_TRANSACTION_COMMIT afterwards?
    Before this the data is not saved. After that it is saved.
    Regards,
    Rob.

  • User exit for batch check

    Hi all,
    I'm going to have a checking of the external batch no. and its valuation type in batch master via MSC1N and MSC2N.
    I found there are some related user exits but after testing, it seems that some are not working.
    in CMOD, I've included the enhancements:
    BATCHCHK, Function Module Exits for Check in Case of Batch Changes
    SAPLV1ZE, CFCs for external batch number assignment
    SAPLV1ZN, CFCs for batch valuation in VB_CREATE_BATCH
    Actually, what is CFC meant for? Which user exits should I use?
    Thanks.

    Hi
    CFC means Central Function Module
    Check the following Exits and BADi's
    for this MSC1N tcode
    Enhancement
    SAPLV1ZN                                CFCs for batch valuation in VB_CREATE_BATCH
    SAPLV1ZE                                CFCs for external batch number assignment
    SAPLV01Z                                CFCs for internal batch number assignment
    SAPLV01P                                Function Module Exits at Time Batches Are Updated
    SAPLV01D                                Determining the initial status of a batch
    SAPLMHD1                                Shelf life expiration date
    SAPLCHVW                                Batch where-used list
    BATCHCHK                                Function Module Exits for Check in Case of Batch Changes
    MBCFC010                                Propose batch number on Inventory Management item screen
    Business Add-in
    BATCH_MASTER                            Enhancements for Batch Master Transactions
    VB_BD_SELECTION                         Preselection of Batches Within Batch Determination
    VB_GET_EXT_BATCHES                      Access to Customer-Specific Batch Usage Data
    VB_GET_POS_PLANT                        Enhancement of Automatic Plant Determination in transn MB56
    VB_SLED_MANAGEMENT                      Control of Shelf Life Expiration Date Processing
    Reward points if useful
    Regards
    Anji

  • User Exit for Batch

    Hi All,
    Can anybody explain how to find USER EXIT maintained for batches.The batch number is of form first 4 digits material number and the last 6 digits are expiration date.

    Hi
    The Following are some of the User Exits available for Batch number. Please make use of them.
    BATCHCHK  Function Module Exits for Check in Case of Batch Changes   
    MBCFC010  Propose batch number on Inventory Management item screen   
    SAPLCHVW  Batch where-used list                                      
    SAPLMHD1  Shelf life expiration date                                 
    SAPLV01D  Determining the initial status of a batch                  
    SAPLV01P  Function Module Exits at Time Batches Are Updated          
    SAPLV01Z  CFCs for internal batch number assignment                  
    SAPLV1ZE  CFCs for external batch number assignment                  
    SAPLV1ZN  CFCs for batch valuation in VB_CREATE_BATCH                
    Thanks and regards
    Murugesan

  • Difference between batch job and Background Job

    Hi Forum,
    Can anyone distinguish between batch job and background job for me please ?
    SK

    Hi,
    Batch Job:
    A batch job is a process that runs in the background, often deferred and unattended, to process data in groups (batch) rather than by individual transactions (e.g. a monthly phone bill rather than a bill for each individual phone call). A batch job executes a sequence of programs and technical instructions that are stored in a command file. Progress and error messages are output to a log file allowing users to determine, at any time, if the batch job completed successfully or identify the cause of the problem. Because batch jobs run in the background they are less visible to the end user.
    In a business-computing context, batch job scheduling implies the automatic execution of background tasks (batch jobs) at pre-determined points in time (e.g. every day at 8pm, midday on Wednesday).
    3 types of batch job scheduling can be distinguished: native, basic and advanced batch job scheduling.
    Most operating systems and some business solutions software come equipped with native batch job scheduling tools that provide a limited service (e.g. Windows Scheduled Tasks, UNIX crontab, SAP CCMS) locally to each installation. However, business processes may span multiple platforms, applications, countries and companies. Their complexity may require much more functional power as provided by basic batch job scheduling including national and regional variations in the working calendar, sequence variations according to the day of the month, triggering of jobs by the successful completion of preceding jobs, elimination of gaps and reduced batch windows. Major benefits of basic batch job scheduling are enhanced productivity, operations reliability and cost-reduction. For e-business applications that require real-time processing, the distance between interactive individual processing and batch processing tends to decrease. Advanced batch job scheduling can handle these advanced requirements: event-driven scheduling for a real-time synchronization with interactive processing, just-in-time scheduling to run operations as soon as possible, cross-platform and cross application services for the entire IT landscape, real-time overall monitoring to track background operations for all applications on all servers.
    The standard benefits of batch job scheduling are drastically amplified when job schedulers can handle the end-to-end automation and monitoring requirements for all background operations.
    To schedule a back ground job follow the below steps:
    1. Use Transaction SM36.
    2. Assign a job name.
    3. Set the job’s priority, or “Job Class”:
    High --- Class A
    Medium --- Class B
    Low ---Class C
    4. Here you can specify,when the job is to start by choosing Start Condition. If you want the job to repeat, or be periodic, check the box at the bottom.
    Else click on the immediate and save this.
    5. Now,define the job’s steps by choosing Step.
    Here you need to give the ABAP program that has been used and the name of the variant thats being used.
    6. Save the fully defined job to submit it to the background processing system.(You need to click save button on the main screen i.e SM36)
    7. When you need to modify, reschedule, or otherwise manipulate a job after you've scheduled it the first time, you'll manage jobs from the Job Overview.
    8. Release the job so that it can run.
    The job, even those scheduled for immediate processing, can not run without first being released.So,do remember to release.
    Hope this helps you.
    Regards,
    Rakesh

  • Batch  Management and serial Number Management

    Hi Friends,
    I have a an issue.
    We are using Batch management and serial number for few materials.
    While selecting F4 for checking available batch numbers and serial numbers during issues , transfer posting,stock transfer etc.., system dispalys all Batches/Serial numbers which are created for that particular material. i.e all Batches and serial numbers irrespective of whether there are stocks available , whether they are cancelled/deleted will appear in the list
    Our requirement is when F4 is selected system should list only live/existing batch numbers and serial numbers of that particular material.
    Can any one help us
    Thx
    Deva

    Hi Ramesh,
    Thanks for your input.
    However my requirement is instead of going to separate T.code IQ09 , user wants to list the existing Batch/Ser no details while selecting F4 during issues
    Thx
    Deva

  • 3D Modeling and Interactive Graphics Software for Labview

    I am posting this to inform you of the availability of RoboWorks software.
    RoboWorks is a 3D modeling and animation software for Win 95/98/NT platform
    that can be used in conjunction with Labview for interactive 3D
    graphics through its vi interface.
    Key strengths of Roboworks are:
    High fidelity graphics
    Real time interactivity
    Easy to use Hierarchical interface
    Connectivity to external programs through TCP/IP.
    Lightweight graphics files.
    Download: http://www.robotics.utexas.edu/rrg/download/RoboWorks/index.htm
    [Attachment RoboWorks.gif, see below]
    [See first answer for additional information]

    [Attachment(s) for question]
    Attachments:
    RoboWorks.gif ‏113 KB

  • HT1338 does anyone know how to get Java for OS X Mountain Lion working?

    I updated to OS X Mountain Lion and some of the game at (Pogo.com) that use Java are not working. Does anyone know how to fix this? Thanks in advance

    Open up Java Preferences and it will offer to download and install Java for you.
    Otherwise you can open up a Terminal and type:
    java -version
    Which will do the same thing.

  • How to seperate Power Pivot Data Model and Power Pivot Report from Single Workbook.

    HI  Team,
    Initially, We have created Power Pivot report in workbook, containing Source Data Model as well.
    Now, we want to convert workbook having model as Shared Data Model, and all report needs to be part of single workbook.
    I want to implement one of the below solution, but know how to do it.
    1. Separate and Export all Power Pivot report sheet into single Excel Workbook such that it will have all report sheets.
    2. Use Same Model as it is and delete reports from existing one after export to new excel workbook.
    OR
    Is there is any other way to avoid re-creation of reports again? I want to use same report but instead of Embedded Excel data source, I want to use shared data Source in excel.

    One option is to use one workbook as the data source(model) and other workbooks for the reports.  This works in the stand alone Excel and SharePoint versions of Power BI, but not yet in O365 Power BI version.
    There is no export functionality. You would have to copy the workbook and update data source references. I have never tried it, but in theory it should work :).
    Brad Syputa, Microsoft Reporting Services This posting is provided "AS IS" with no warranties.
    Hi Michael,
    Yes your answer is partially correct..thanks for reply, I am working on Power Pivot reports on SharePoint.
    However, below issues observed.
    1. There is No Export Functionality ( as you told)
    2. We can not copy report sheet from workbook1 (which has Data Model) to Workbook2 ( only for report) using Control + C (copy) and Control + V (paste) option.
    Or Move Power Pivot Table ..
    So, solution can be (as you said, unfortunately I tried it already but dint worked)
    1. Copied workbook with New Name - Workbook2.
    2. Go to Data -> I tried to change connection setting -> to use shared Data Model -> I could create new Pivot table using shared Data Model
    But, Still I could use earlier designed Power Pivot tables as it is, to point to shared data model.
    I don't want to re-design entire report. As my project workbook has plenty reports.... :)

  • Java for Palm

    I am wondering if it is illegal to download and use Java for my TX. I know Palm does not support it, but does that mean I can't use it if I find it somewhere else for download, such as http://www.palminfocenter.com/news/7769/five-tips-to-improve-the-palm-blazer-browser/ (near the bottom)? One of the reasons I would be using it would be so I could use Opera Mini (http://www.operamini.com/).
    Any input appreciated
    Post relates to: Palm TX
    Post relates to: Palm TX
    This question was solved.
    View Solution.

    No, it's not illegal to use it.  It was freely given away.
    WyreNut
    Post relates to: Centro (AT&T)
    I am a Volunteer here, not employed by HP.
    You too can become an HP Expert! Details HERE!
    If my post has helped you, click the Kudos Thumbs up!
    If it solved your issue, Click the "Accept as Solution" button so others can benefit from the question you asked!

  • Report for Batch and classification

    Dear Experts,
    Is there any way for getting the report for Batch, Classification etc. In standard SAP.
    Regards,
    Rohit.

    Dear Sir,
    It is giving the batch wise details.
    Is there any method to get a complete report containing batches, classification, material and other details.
    Regards,
    Rohit.

  • What is the field and Table for "Batch Class" and "Class Type" in QM.

    Hi All,
    What is the field and Table for "Batch Class" and "Class Type" in QM.
    Thanks,

    Hi,
      For batch class the class type value is '023' . This you can find from KLAH table and the fileld for class type is KLART..
    And also all the data related to batch class are found in tables INOB, KLAH,KKSK and for the characeteristics of batch materials you can refer AUSP table.
    In INOB table, for batch class, you need to give 023 in KLART field and  value MCH1 in OBTAB filed.
    Please check this and let me know if this you need any more details?

  • Any ideas for a 6x10 batch model

    Hello,
    I've developed a batch sequence for testing 60 boards in one panel.
    By multiplexers, we test the panels in groups of 6.
    Allso there is one serial number per panel.
    First I had a sequental test for all 60 boards. Then I made ajustments for batch testing.
    The batch sequence now runs on 60 different uut threads.
    Now I see that the batch test takes longer to complete than the sequential sequence?
    What would be the best way to run 10 threads, testing 6 boards at a time instead of 60 threads?
    Kind regards,
    Jeroen

    Hello Jeroen,
    It's probably me, but I'm relatively confused by the explanation above.
    Am I corret to summarize:
    - One panel contains 60 boards
    - You can test 6 boards in parallel at a time. (lets call this the "group")
    - You want to test 10 groups sequentially after eachother.
    Also it would be interesting to now what your hardware restrictions in your test set-up are:
    - Are you physically limited to test 6 boards at a time?
    - Are there certain tests that should be synchronized with eachother
    - Are there any tests that use common/shared resources (eg. temperature chambers,... )
    Kind Regards,
    Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
    CLD, CTA
    If someone helped you, let them know. Mark as solved and/or give a kudo.

  • Shortcuts for Batch and Image Processor in Bridge CS6

    I use Batch and Image Processor all the time, and I'd like to use a shortcut.
    Can you tell me if there is a shortcut or how I can program one?
    I set up shortcuts for those two commands in Photoshop, but they don't work in Bridge.
    I remember from the time I started with Photoshop and had Deke McClelland's book with his set of shortcuts. There was a shortcut that worked with image processor, but it was just a set you did install and no explanation. When I moved to a different computer and a newer version of Photoshop, these keys got lost.
    Is there any way to automate Batch and Image Processor?

    There is no way to economically batch process in Bridge without having to go thorough sub-menus.
    I'm sorry you can't get it to work, but on my system it works flawless.
    Testing a bit more it seems you don't need to use a unique shortcut at all. I also tried to use the shortcut for Batch I created in PS itself to get the Batch window to front for running actions on open files. For me that is [control + Cmd + B] but feel free to find an other one.
    When I discovered you don't need the unique shortcut at all I used the same shortcut for Bridge CC. . Also created [Control + Cmd + i] for the Image processor.
    Both started without problems.
    To extend I also created both same shortcuts for Bridge CS6. This also was working correctly, off course, having only PS CC open using the shortcut in Bridge CS6 it auto started PS CS6.
    So can you specify a bit more about what OS you are using on what computer (I have OSX 10.8.4 on a MacPro 2012)
    Some screenshots to show the shortcuts in System prefs and how the show in the Bridge Submenus:

Maybe you are looking for