Batch control needed

Dear Members of the Basis community,
The SAP system, 45B, has a problem with batch windows. I'm trying to reschedule batch jobs in a proper order so that batch window is controllable and orderly.
I would just like to get some hints as to how can batch jobs be scheduled in a more easily manageable manner without having to spend too much.
Current SAP sm37 does not seem to provide many aspects information of batch runs completed, such as query the sm37 by runtime duration, delayed-start time, programs under which batch etc.
For this, I hope to know what are the tables to look at.
Awaiting for your replies.
Many thanks in advance.
Regards,
Ernesta Corvino

Hi,
I am afraid there is not much scope here given by SAP. You can do batch management only thru sm37.
Yes there are 3rd party softwares that can help you in scheduling the jobs in an easier and more effective manner. Couple of them which I know are :
Unicenter Autosys - CA Software
Control-M - BMC Software
http://www.bmc.com/corporate/nr2003/090903_1.html
Regards,
Siddhesh

Similar Messages

  • Traceability requirement for production but Plant1 is not batch controlled

    We have run MM, SD, FI for just over 12 months with only 1 Plant which does not have or need batch control.
    We are starting to scope out what we have to do to introduce PP in our food packing facility. This will require batch traceability at material level.
    I have been told that it is possible to create a 2nd Plant and configure it for batch control. BUT we will have to make arm's length transaction between the Plants. i.e. MM purchasing transactions in Plant1 then Plant1 issues materials, without batches, to Plant2 which receipts, with batches, and then uses batches in production.
    Does anyone have experience of this 2 Plant setup where Plant 1 is NOT batch controlled, but Plant 2 IS batch controlled?
    Is it a viable solution?
    Kind regards
    Jeremy

    Hi Jeremy
    You can activate batch management on the materials that will be relevant to batch. This can achieved in phased manner.
    Batch Management can be controlled at material level. As you are going to start PP as new process, You need do the following
    -  Shortlist the materials that will be batch relevant in future
    - Check stock levels, open purchase orders, PRs etc
    - For materials for which stock is already zero, activate batch management on them
    - For other when try to activate the batch, check error log and take action according to clear the stock so that batch management can be activated.
    I do not agree to have other plant as handing master data before implementation is one time effort, but if you have two plants.. this will remains for life. Think about the efforts and see what you want to do.
    Here is little tip
    In MM02 you receive a message that you shall look into the log if the batch management indicator cannot be saved.
    In that moment, hit enter and a new button will appear, there you can exactly read which document is hindering you.
    Usually it is stock in previous period that is forgotten to make zero.
    Check in MM03 at accounting view what your previous period stock is.
    As you have already cleared current period stock,
    you have to add again as much stock in the current period as you have to remove from previous period.
    then issue the stock with a previous period date. (you may have to allow previous period posting in MMRV first, and FI period has to allow it as well -> OB52)

  • CC&B Batch Control Eligibility Service Script

    On the CC&B Batch Control for C1-SYNIL (Generic Sync Request Initial Load), there is an optional parameter for a Filter Service Script and a Eligibility Service Script. I want to create these script to filter a subset of data I need to load from CC&B to MDM.
    Does anyone know if and what the input and output parameters of these scripts are or what the scripts are suppose to return. I cannot find an example of such a script in either CC&B 2.3.1 or MDM 2.1. If anyone has a very simple example, I would appreciate it you could share it.
    Thanks,
    Andries

    You don't need to run a batch job to update SA Status to Closed - the system will update the Status to Closed once the SA no longer has a financial balance. This means that, if you make a payment of the whole outstanding balance for the SA, the Status will be updated when the payment is frozen (whether online or in batch). It is also possible for such an update to occur during write-off processing, because WO can take an outstanding balance and remove it from the SA.
    And just a note to say that SAACT selects only Pending Start and Pending Stop SAs, so will not process an SA that is already Stopped.
    Edited by: user816833 on 23 mai 2012 12:16

  • Batch control without serial number

    Hello,
    I am just a beginner and i need some professionals' help
    I want to ask you about batch control. For our system, we need 3 batch types for some materials. In fact its about PM scenario.
    This material are repairable fixed assets. We dont need to follow their serial number but we want to know how many "NEW" or "DEFECTIVE" or "REPAIRED" material i've got in my storage locations or on plant.
    IS a BOM  structure is suitable for me, or what can i use for this situation?
    Thanks in advance for your help.
    Edited by: htccvs on May 5, 2011 4:17 PM

    You can use batch management for this. A couple of ideas:
    1. Use the batch name to designate the status - i.e. simply create three batches:
    NEW
    DEFECTIVE
    REPAIRED
    This is OK unless you need tio really track batches - i.e. real batch numbers
    This is a simple solution - and provides easy reporting on how much is in each batch.
    2. Assign a characteritic (i.e. in batch classification) to the material for class (022 or 023 dependeing on batch level).
    The characteristic would have the allowed values:
    NEW
    DEFECTIVE
    REPAIRED
    You may need a custom report in this case.
    You don't need a BOM - this is unrelated.

  • AP G를 씌운후 INVOICE BATCH CONTROL TOTALS 이 틀릴때

    제품 : FIN_AR
    작성날짜 : 2003-05-21
    AP G를 씌운후 INVOICE BATCH CONTROL TOTALS 이 틀릴때========================================================================
    PURPOSE
    Payables Open Interface Program 실행후 invoice batch에 생기는 잘못된 control invoice count, control invoice total 해결
    Problem Description
    AP.G 를 씌운후 Payables Open Interface Program 실행하면 Invoice Batch의
    Control Invoice count, Control Invoce Total 이 잘못 나오는 현상.
    Workaround
    Data fix script
    Solution Description
    REM $Header: b2059687.sql 115.2 2001/12/03 11:20:40 lgopalsa noship $|
    REM **************************************************************************
    REM * Copyright (c) 2000 Oracle Corporation Belmont, California, USA *
    REM * All rights reserved. *
    REM **************************************************************************
    REM * *
    REM * FILENAME *
    REM * *
    REM * b2100875.sql *
    REM * *
    REM * DESCRIPTION *
    REM * This is for updating the AP_BATCHES in which the data was corrupted *
    REM * after applying the patch 1721820.This can be applied after applying *
    REM * the patch 2003024 which will set the correct values in ap_batches. *
    REM * i.e., control invoice count and control invoice total *
    REM * *
    REM * MODIFICATION HISTORY *
    REM * 03-DEC-2001 LGOPALSA Create *
    REM **************************************************************************
    REM dbdrv: sql ~PROD ~PATH ~FILE none none none sqlplus &phase=upg+52
    SET VERIFY OFF
    WHENEVER SQLERROR EXIT FAILURE ROLLBACK;
    PROMPT
    Define enter_org_id = '&org_id'
    PROMPT
    exec fnd_client_info.set_org_context('&enter_org_id');
    UPDATE AP_BATCHES
    SET Control_Invoice_Count=Ap_Batches_pkg.GET_ACTUAL_INV_COUNT(batch_id),
    Control_Invoice_Total=Ap_Batches_pkg.GET_ACTUAL_INV_AMOUNT(batch_id)
    commit;
    exit;
    Reference Documents
    bug 2059687

  • Goods Receipt, Good Issue Batch Control

    I'm trying to import Goods Receipt and Goods Issue using the DI API for version SAP 6.5 SP1 Patch 17. I was able to import for item that were not batch controlled but not for batch controlled items. I was wondering if anyone had a code sample on how to do this or point me in the right direction. Thanks for any information you can provide. Thank You Steve

    Hi
    The following code works. Please have in mind to use valid ItemCodes and BatchNumbers.
    Retrieving Batch Numbers
            Dim lRet As Long
            Dim strItemCode As String
            Dim oWOut As SAPbobsCOM.Documents
            oWOut = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit)
            strItemCode = "xyz"
            oWOut.Lines.ItemCode = strItemCode
            oWOut.Lines.Quantity = 1
            oWOut.Lines.BatchNumbers.BatchNumber = "b0204"
            oWOut.Lines.BatchNumbers.Quantity = 1
            lRet = oWOut.Add()
            If lRet <> 0 Then
                SBO_Application.MessageBox(oCompany.GetLastErrorDescription)
            End If

  • LabView for fed-batch control

    Does anybody use LabView for the control of bioprocesses, e.g., for
    fed-batch fermentations? I am interested in control algorithms for
    substrate addition, etc. .
    Karsten.

    With visa properties/modem line settings you can easily select the line setting you need and watch for the other line to change state. use property write and read.
    succes
    I don't know how immediate the line will change state but you can measure this yourself with an oscilloscope.
    greetings from the Netherlands

  • Batch Query with Batch but need address lines split by column

    Hi folks,
    I have the following query I created with the batch number of the sales order:
    SELECT T0.[DocDate] as "Date", T1.[DocNum] as "Sales Order Number",  T0.[CardCode] as "Customer Code", T0.[CardName] as "Customer Name",T1.[Address2], T0.[ItemCode],  T0.[ItemName], T0.[BatchNum], T0.[Quantity], T1.pickrmrk FROM IBT1 T0, ORDR T1 WHERE T0.[BaseNum] = T1.[DocNum] and T1.docstatus = 'O' and T0.WHSCODE = '01' order by T0.BaseNum
    Now I need to split the address by column so need street, block, city, county, country and zipcode fields from CRD1, but would either need the ship to address of the sales order it is selected or even just the default ship to address of the sales order.  In above query T1.[Adress2] is not quite right for our needs, as this file will have to be exported to 3rd party.  So I have gotten this far:
    SELECT T0.[DocDate] as "Date", T1.[DocNum] as "Sales Order Number",  T0.[CardCode] as "Customer Code", T0.[CardName] as "Customer Name",T1.[Address2], T2.[Street], T2.[Street], T2.[Block], T2.[City], T2.[County], T2.[Country], T2.[Zipcode], T0.[ItemCode],  T0.[ItemName], T0.[BatchNum], T0.[Quantity], T1.pickrmrk FROM IBT1 T0, ORDR T1, CRD1 T2 WHERE T0.[BaseNum] = T1.[DocNum] and T1.docstatus = 'O' and T0.WHSCODE = '01' and T0.[CardCode] = T2.[CardCode] and T2.[AdresType] = 'S' order by T0.BaseNum
    but will split into multiples if a business partner have more than one shipping address.
    Can someone please advise on this one?
    Many thanks in advance,

    Thanks Agustin, tried it with RDR12 as the following query:
    SELECT T0.[DocDate] as "Date", T1.[DocNum] as "Sales Order Number",  T0.[CardCode] as "Customer Code", T0.[CardName] as "Customer Name",T1.[Address2], T2.[StreetS], T2.[BlockS], T2.[CityS], T2.[ZipCodeS], T2.[CountyS], T2.[CountryS], T2.[ZipCodeS], T0.[ItemCode],  T0.[ItemName], T0.[BatchNum], T0.[Quantity], T1.pickrmrk FROM IBT1 T0, ORDR T1, RDR12 T2 WHERE T0.[BaseNum] = T1.[DocNum] and T1.docstatus = 'O' and T0.WHSCODE = '01' order by T0.BaseNum
    but has multiple lines for different addresses (and not just shipping addresses of that businss partner sales order).
    Anymore ideas or can you spot error in the query?
    Thanks again,

  • BPS layout access control - need flexibility

    Hi,
    Is there any way to control the access to layouts in the web at a given point in time ? We are using web layouts and we would like one of our users to be able to control if a layout is accessible or not (to all the other users, like by switching them from input to output in the web apllication designer) with a function pushbutton for instance.
    Using BW/Portal security or BPS variables to control access is not flexible enough for us.
    As anyone developed a flexible way to do that ?
    Thanks
    David

    Dear David,
    if you need it very flexible I would check out the capabilites of the Web Interface Extension (Examples on how to use them are described in current how to's like How to… Run Planning Sequences on Save and other events (WEB) or How to… Validate Key Figure Values in Manual Planning  ).
    The idea: step in the method for load, get a handle to the layout you like to tread and set the properties e.g. to display only. As you are in ABAP you could derive the property value from one of you custom customizing table.
    Here is coding sample:
      lLayout2 ?= CL_UPWB=>GET_COMPONENT('Layout1').
      if myCustParam eq 'X'.
        lLayout2->SET_READ_ONLY('X').
      else.
        lLayout2->SET_READ_ONLY('-').
      endif.
    Regards, Olaf

  • Batch java needed to connect to HP unix ssl servers

    i have an old problem that is new to me. i need to connect to an ssl server. i have a batch java program that we currently use to connect to non-ssl servers. if possible i would like sample code with an explination how it works.

    See the [JSSE Reference Guide|http://java.sun.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html] and supporting material, and the Javadoc for the javax.net.ssl package.

  • Batch automation - need to remove "choose" popup for folder selection in the automation

    Am new to scripting, and am creating a script to batch automate CS5 .idml to CS4 .inx. I have found a few scripts out there close enough that I can modify, but they all include the same variable of selecting the folder to get the files to process. Even when I put the ("//server/directorypath/folder") in place, it still opens the popup to “choose” the folder I just told it to go to. In the end what I need is a place people can put their .idml files on the network and, through an action folder running the script from a dedicated machine with CS4, spit the .inx they need. I have figured out how to turn indd dialog/alerts on and off, but not this!
    How can I make the “var myFolder =” be a fixed location?? Everything I try seems to create an exception later in the script
    var myFolder = Folder.selectDialog("Select a folder with InDesign files to open");
    if (myFolder == null) exit();
    var myFilelist = [];
    var myAllFilesList = myFolder.getFiles();

    Thanks John, it took care of the popup, but presents alert stating “no files to open”. here is the full script I started out with. Aside from server location the only thing I changed was substituting indd with idml on line 20, and of course the file path. It also throws a “Done” alert at the end. I also moved the INTERACT_WITH_ALL (line 77) to the end, but isn't stopping the done alert.
    // Export to interchange script.jsx
    // Script for InDesign CS3.
    // Opens all InDesign documents in selected folder
    // and  exports them into 'Interchange Files' subfolder as inx files, which is created in the selected folder.
    // Version 1.0
    // Jan 28 2010
    // Written by Kasyan Servetsky
    // http://www.kasyan.ho.com.ua
    // e-mail: [email protected]
    var myInDesignVersion = Number(String(app.version).split(".")[0]);
    var myFolder = Folder.selectDialog("Select a folder with InDesign files to resave");
    if (myFolder == null) exit();
    var myFilelist = [];
    var myAllFilesList = myFolder.getFiles();
    for (var f = 0; f < myAllFilesList.length; f++) {
        var myFile = myAllFilesList[f];
        if (myFile instanceof File && myFile.name.match(/\.indd$/i)) {
            myFilelist.push(myFile);
    if (myInDesignVersion < 5) {
        alert("This script is for InDesign CS3/4.", "Export to interchange script");
        exit();
    if (myFilelist.length == 0) {
        alert("No files to open.", "Export to interchange script");
        exit();
    var myExportFolder = new Folder( myFolder.fsName + "/Interchange Files/" );
    VerifyFolder(myExportFolder);
    var myCounter = 1;
    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT;
    // Progress bar -----------------------------------------------------------------------------------
    var myProgressWin = new Window ( "window", "Export to interchange script" );
    var myProgressBar = myProgressWin.add ("progressbar", [12, 12, 350, 24], 0, myFilelist.length);
    var myProgressTxt = myProgressWin.add("statictext", undefined, "Starting exporting files");
    myProgressTxt.bounds = [0, 0, 340, 20];
    myProgressTxt.alignment = "left";
    myProgressWin.show();
    // Progress bar -----------------------------------------------------------------------------------
    for (var i = myFilelist.length-1; i >= 0; i--) {
            var myCurrentFile = myFilelist[i];
            var myNewName = GetNameWithoutExtension(myCurrentFile) + ".inx";
        try {
            var myDoc = app.open(myCurrentFile, false);
            var myDocName = myDoc.name;
            var myDocFilePath = new File(myExportFolder.fsName + "/" + myNewName);
            // Progress bar -----------------------------------------------------------------------------------
            myProgressBar.value = myCounter;
            myProgressTxt.text = String("Exporting file - " + myDocName + " (" + myCounter + " of " + myFilelist.length + ")");
            // Progress bar -----------------------------------------------------------------------------------
            myDoc.exportFile(ExportFormat.INDESIGN_INTERCHANGE, myDocFilePath);
            myDoc.close(SaveOptions.NO);
            myCounter++;
        catch(e) {
            alert(e);
        // Progress bar -----------------------------------------------------------------------------------
        myProgressWin.close();
        // Progress bar -----------------------------------------------------------------------------------
    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.INTERACT_WITH_ALL;
    alert("Done.", "Export to interchange script");
    function VerifyFolder(myFolder) {
        if (!myFolder.exists) {
            var myFolder = new Folder(myFolder.absoluteURI);
            var myArray1 = new Array();
            while (!myFolder.exists) {
                myArray1.push(myFolder);
                myFolder = new Folder(myFolder.path);
            myArray2 = new Array();
            while (myArray1.length > 0) {
                myFolder = myArray1.pop();
                if (myFolder.create()) {
                    myArray2.push(myFolder);
                } else {
                    while (myArray2.length > 0) {
                        myArray2.pop.remove();
                    throw "Folder creation failed";
    function GetNameWithoutExtension(myFile) {
        var myFileName = myFile.name;
        var myIndex = myFileName.lastIndexOf( "." );
        if ( myIndex > -1 ) {
            myFileName = myFileName.substr(0, myIndex);
        return myFileName;

  • Negative feedback control needed for gas flow controller

    I'm an engineering student, and we're working on a design project that requires steady oxygen and nitrogen flow. We're using flow controllers to maintain a constant pressure. I need a LabVIEW VI that will sample the pressure at certain intervals and then, if there are variations, return the value to the desired pressure. I don't know that much about LabVIEW, so does anyone have suggestions on how I could do this? I don't need DAQ help now because that will be added later. Just suggestions on how to keep the value constant. Thanks!

    a PID control loop should do it
    There is a pid example that ships with LabVIEW. Search the LabVIEW examples for PID.

  • Simple way to create a slideshow? Real simple - no controls needed.

    Greetings - new client wants a series of images fading into
    one another on
    their homepage. I think Flash is the way to go. I have done
    this before
    manually using pictures on separate layers and adding
    tweening and alpha
    fades but its a mare to do if there are many images and
    difficult to tweak
    afterwards. Is there a simple cheap or free tool that does
    this kind of
    thing? I dont need user controls or thumbnails - just fading
    images. I have
    Flash pro.
    Thanks.
    James Loudon
    www.fatgraphics.com
    websites:
    hotography::video

    Thanks Jim
    I'll give that a go. Much appreciated
    James Loudon
    www.fatgraphics.com
    websites:
    hotography::video
    "Jim Esteban" <[email protected]> wrote in
    message
    news:[email protected]...
    > Here's a simple piece of code that does just what you
    want. It's yours.
    > Put
    > the images in the same directory as the flash file and
    make sure they are
    > the
    > correct size because it doesn't do any resizing or
    centering.
    >
    > var localPath:String="flash/slides/";
    > var counter:Number=0;
    > var counterMax:Number=300;
    > var fadeRange:Number=50;
    > var hifadeThreshold:Number=counterMax-fadeRange;
    > var lofadeThreshold:Number=fadeRange;
    > var fadeDelta:Number;
    > while(_framesloaded<_totalframes)
    > {
    > for(var i:Number=0;i<1000;i++)
    > {
    > //do nothing
    > }
    > }
    > var slides:Array = new Array([
    >
    "image1.jpg"],["image2.jpg"],["image3.jpg"],["image4.jpg"],["image5.jpg"],["imag
    >
    e6.jpg"],["image7.jpg"],["image8.jpg"],["image9.jpg"],["image10.jpg"],["image11.
    >
    jpg"],["image12.jpg"],["image13.jpg"],["image14.jpg"],["image15.jpg"]);
    > var currentSlide:Number;
    > function changeSlide(number:Number)
    > {
    > if(number >= 0 and number < slides.length)
    > {
    > currentSlide = number;
    > placeholder_mc._alpha=100;
    > loadMovie(localPath + slides[number],"placeholder_mc");
    >
    > for(var i:Number=0;i<1000;i++)
    > {
    > //do nothing
    > }
    > }
    > }
    > changeSlide(0);
    > this.onEnterFrame=function()
    > {
    > counter=counter+1;
    > if(counter>=hifadeThreshold)
    > {
    > fadeDelta=counter-hifadeThreshold;
    > fadeRange=counterMax-hifadeThreshold;
    > placeholder_mc._alpha=100-((fadeDelta/fadeRange) * 100);
    > }
    > if(counter<=lofadeThreshold)
    > {
    > fadeDelta=lofadeThreshold-counter;
    > fadeRange=lofadeThreshold-1;
    > placeholder_mc._alpha=100-((fadeDelta/fadeRange)*100);
    > }
    > if(counter>=counterMax)
    > {
    > counter=0;
    > changeSlide(Math.abs((currentSlide+1)%slides.length));
    > }
    > }
    > prev_btn.onRelease = function()
    > {
    > changeSlide(Math.abs((currentSlide-1)%slides.length));
    > }
    > next_btn.onRelease = function()
    > {
    > changeSlide(Math.abs((currentSlide+1)%slides.length));
    > }
    > progress_mc.onEnterFrame = function()
    > {
    > var
    progressAmount:Number=Math.round((counter/counterMax)*100);
    > this.gotoAndPlay(progressAmount);
    > if(progressAmount == 100)
    > {
    > this._visible = false;
    > }
    > else
    > {
    > this._visible = true;
    > }
    > }
    >

  • Batch numbers needed 4 an update!

    hey guys..
    wanna update my database release 10.2.0.1.0 enterprise edition to 10.2.0.3 or higher (on windows xp)
    does anybody know the batch numbers/names needed to download from metalink? thanx

    Patchset 5337014 - 10.2.0.3 PATCH SET FOR ORACLE DATABASE SERVER.

  • Oracle Retail standard file format for batches - specification needed

    Is there any accurate specification of Oracle Retail standard file format for batches, such as EdiUpcat.pc (possibly with examples)?
    I am trying to produce a file with supplier cost changes for Cost Change Batch (ediupcat.pc).
    In "Operations Guide - Batch Overviews and Designs - Volume 1" I found some brief description, though it is not clear to me
    1) what should I do with empty values (obviously, pad with appropriate number of spaces?)
    2) What if some string value has less characters than specified? Should I left-pad or right-pad?
    3) What does Number(12,4) means? How many characters exactly? 17? Why then values in some fields are multiplied by 10000 (so that to obtain integer value) while in others they go in Number(12,4) notation?

    Hi Roman,
    I am glad to be of help.
    Try to see it like this:
    A number 20 is of char-length 20 in a flatfile, and the value is what it is 1:1.
    A number 12,4 is of char-length 12 in a flatfile, but needs to be divided by 10^4 (10000) to get its real value.
    Indeed there is a funny asymmetry in the documentation how the decimals are handled - but we needed to read carefully already anyhow... :)
    I always like to construct a file by hand in an editor (vi, whatever) and then run it through the program, and check the errors in the error file.
    Good luck and best regards,
    Erik
    Edited by: ErikYkema on Oct 13, 2011 3:01 PM

Maybe you are looking for

  • PDF Doesn't Open in IE8

    I have Acrobat Pro 8 and Reader 9.3 installed. When attempting to open a PDF from a web site opened through IE8, I get the following message: "The Adobe Acrobat/Reader that is running can not be used to view files in a Web Browser. AdobeAcrobat/Reade

  • Network time will not set how can this be corrected

    Issues with network time how can a reset this so I can utilize my apple tv

  • Erratic behaviour while firing a BAPI

    Hi All, In my application, I am using a BAPI. I enter an account no in the text field and data corresponding to it is returned. The problem I am facing is that, very rarely a data for different acccount no is returned. This happens 1 in 20000 times a

  • Having trouble downloading mountain lion

    mountain lion won't download. How do I find the status of the download after I've paid for it?

  • Graphical User Interfaces HELP

    Hi everyone My problem is that I have a GUI which currently has three panels. They are are equally sized and run vertically down the window. My problem is within the last Panel I want to seperate it, so it splits equally in two levels which will cont