How to rollback batch input process?

For example:  I wanna post 10 documents, and all the posting should happen as a logical unit of work, i,e. either everything should be posted successfully or nothing should be posted. If error occured in the 7th record, i should rollback the posted 6 documents. How shall i do? It seems can't just use 'call transaction' clause.

Hello Arthur,
I'm afraid what you're seeking to accomplish is not possible.
And I don't think it makes too much sense. Let us say, you are
using a CALL TRANSACTION, then each CALL TRANSACTION is supposed
to be consistent and complete in itself.....and you cannot span
an LUW across multiple transactions....it is so much against the
concept of an LUW.
To give you a slightly non-technical explanation, you must first
ask yourself the question 'Why do we use BATCH INPUT'? Is it not
to just reduce the manual creation of all the documents in their
corresponding transactions?
Now in your case, let us assume that we have only 3 documents to
be posted and you have decided to post them yourself online, using
the relevant transactions. You finish successfull posting the first
two documents and then find that there's some error in the third one.
How are you going to roll back the previous two? You would have to
<i>delete</i> them.
So even in this case, you can only do a delete operation. Not a ROLLBACK.
By the way, I don't think your requirement makes much sense. Why should
the other documents be rolled back if something else fails ? They are quite
independent , right ?
Now if you really want to stick to this functionality, then the option that
is left for you is to find out if there are any Function Modules available to
do the DELETE operation.
Personally, if I were you, I would use the MESSAGES option for the CALL TRANSACTION
statement and display them to the user, so that he would know which transaction
had failed. He can then continue with the remaining documents after detecting the
error and correcting it.
Hope that is clear. Please do get back if you have further doubts. Else, please
reward points and mark the question as "answered".
Regards,
Anand Mandalika.

Similar Messages

  • How to delete batch input session still in process since year 2000

    Hi All,
    in our productive system we have still batch input session in process from year 2000, and I would like to delete them, but how to do this, because the error message is "Unable to schedule session .....".
    Thanks for your help

    Hi Olivier  ,
    Such error occurs when you are trying to run session in foreground and some error occurs with connection.
    As such these session are not harmful in any way. You can request basis person to remove those sessions.
    Regards,
    Mohaiyuddin

  • Issue with RFBIBL00 batch input processing

    Hello ABAP Experts,
    I am having issue with a speed of batch input session processing.  If you can please help me resolve the issue.
    I have a requirement to post liquidation document to clear open vendor down payment items and then to clear vendor invoice with liquidation.  I have created a custom program to address this requirement where it uses the SAP program and Call Transaction.
    For liquidation document posting, I am using the program RFBIBL00.  The custom program has steps:
    1.  Submit RFBIBL00 via job to create batch input session
    2.  Close job
    3.  Submit RSBDCSUB via job to process batch input session
    4.  Close job
    5.  Wait for 15 seconds
    6.  Read job log to get liquidation document number
    7.  If no document posted then display error
    The issue is when the job log is read it says u2018Session 10zrsbdcsubxxxxxxx is being processed by user   in mode   on serveru2019 and there is no error message or no document number with message number 312.  So the program displays error message, stops and cannot perform the second step. If I check in the system after a couple of minutes I find the document posted. I also increased the wait time.  But the first record processing always takes longer and the program finds as a failure.  The program can process next several records with success.
    I am looking for expert help if you please suggest how to resolve this.
    Thanks & Regards.
    Yashasvi

    Hi,
    Have you tried calling FM DEQUEUE_ALL before/after schedulling job?
    Gouri.

  • How to rollback the complete process

    hi frnds...i have 3 services 1,2,3..here 1 and 2 has completed its processees and i got a problem with 3..so here i need to rollback all the process to my starting point..how to do that please let me know

    see compensation handler is a block where you can keep the activities by which you can perform a rollback or compensation. compensation handler can be kept for a scope level or the process level, and compensation handler should be called from compensation activity. so, something unexpected happens in your BPEL where you want to perform the rollback, you can call the compensation handler using a compensate activity from a catch or catchAll branch.
    Example:
    Lets say your BPEL is inserting a record into the database and in the next step something unexpected happens and it goes to catch or catchall branch, now you need to delete the earlier inserted record, what you need to do is, keep a compensate activity in the catch or catchall branch, which it then calls the compensation handler and in the compensation handler, your code will be something like delete the record from the database using the pure sql option in the db adapter.
    Hope this helps
    N

  • How to control batch element process validation, transfer and purge

    Hello everyone
    You can protect confidential assignments from unauthorized update by setting the profile option HR: Enable Security for Batch Element Entry to Y. If you enforce additional security, you can prevent unauthorized viewing and updating of batch lines for the protected assignments.
    I have read this in a document from metalink basically what this Profile option does is that it disables the Assignment Set on the Batch Header Form.
    Now my question to you all gurus is that is there a profile option for setting up the Process button at responsibility level in a similar manner
    i.e. suppose i would like only some responsibility to Validate or Transfer or Purge the batch will that be possible?
    Kindly let me know what is the profile option for that??

    Just a quick one what is the property to be selected for a Radio button under action tab for form personalization ?
    For example one could use the following to disable the submit request button:
    Sequence: 10
    Type: Property
    Object Type: Item
    Target Object: WORK_ORDER.SCHEDULE
    Property Name: DISPLAYED
    Value: FALSE
    I want to know similarly how can a radio button be disabled???
    appreciate all your help!
    Edited by: 594647 on Jun 28, 2010 10:46 PM

  • Back ground batch input processing error log handling

    Dear Friends,
    Currently im am scheduling job for batch processing of goods receipt through bapi, now after the succesfull run of this program im appending all the success and error logs in one internal table and sending this table to spool for future reference.
    Is there any other way to handle the error logs??
    bcoz in the method im using every time user has to run transaction sp01 to access that spool request to check the error logs.
    Kindly suggest ....
    Regards,
    Sunny V

    Best way will be creating Application Logs of the reports log.This will be forever in the system unless you delete it.
    Few one time settings are required. After that you can use tcodes
    SLG1 (Analyze application log) and
    SLG2 (Application Log: Delete expired logs).
    For more info take the help from below link:
    [Create Application Log|http://help.sap.com/saphelp_nw04/Helpdata/EN/2a/fa0216493111d182b70000e829fbfe/frameset.htm]
    Let me know if you find any difficulty in doing this.

  • Edit a text area in a Batch Input process.

    Hi, I'm using transaction PP02 (Maintain Plan Data) to create a new plan data. On the second dypnro you can create or edit a generic description test (there's a subscreen where you can do that). For that I execute registration in SM35, but when I execute the BI (in foreground), it give me an error at the point when editing in the text area (sort of index error). There's a solution in editing a generic text area using BI? Thanks for answers.

    The text related information must be separately saved using SAVE_TEXT against recording the screenflow. YOu cannot record the screen flow for uploading/modifying the texts. If you BI employs a call transaction or session, the text information canot be saved using the normal BDCDATA structures.
    Regards,
    Ravi

  • What are the problems in processing batch input sessions?

    hi,
    What are the problems in processing batch input sessions? How is batch input process different from processing on line?
    regards.

    sorry, question resolved.

  • How to run the Batch input session(SM35) in background thru Report program

    Hi Experts,
    I am working in one modification report requirement ,the report is Mass upload will update and run the file via batch input session. The client requirement is to implement the report execution in background mode , the batch input session will process automatically (ie. the job runs the batch input session in background and process the session ends).
    Currently, the report calls SM35 to write a batch input session and the user manually selects the session and record the transactions.
    Once the Transaction enters and the selection-screen inputs are given, then the transaction executed in background mode and all the above batch input process to be implemented.
    Please advise and guide me, how to proceed.
    I need your guidance to proceed via Call transaction using bdcdata statement, if it can be achieved the requirement.
    Thanks & Regards
    San.

    Hi Arabind Prasad,
    Thanks for your inputs.
    I know the process of the report Execution in background and job steps.
    I want the inputs for how to upload thru Batch input session in background job and the session should also processed automatically
    Currently the report logic declared like call transaction 'SM35' and skip first screen.Once the report (tcode) executed (not in background) It writes one session in SM35. The user should select the session and process the transaction manually.
    The new requirement is, if the report (tcode) executes in background mode...what and how the batch input session should be declared and how it process automatically (like you said mode 'N').
    Hope I am clear in my query.
    Please advise.
    Regards
    San.
    Edited by: San Learner on Mar 1, 2011 7:16 PM

  • Batch input

    hi,
    i run inbound FM in foreground in we19.
    when it comes to call transaction, error message saying idoc has wrong status and also idoc open in process mode.
    if in background no such error. may i know how to see the batch input process? or any way i can see the batch input process.
    thanks

    hi,
    u can use
    SY-BINPT
    for chking in background running.
    Regards
    ANver

  • Batch Input Sessions

    Hai all,
    What are the problems in processing batch input sessions and How is batch input process different from processing online?
    Thanks in Advance,
    Swapna.
    Edited by: NagaSwapna Thota on Jun 24, 2008 3:11 PM

    hi swapna
    go through this link hope u find ur answer
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=problemsinbatchinputsession&cat=sdn_all
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=processing+batchinput+session&cat=sdn_all
    https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=problemsprocessingbatchinput+session&adv=false&sortby=cm_rnd_rankvalue
    reward if helpful...
    Cheers
    Snehi

  • Step by step batch input

    Hi friends,
    Please tell me about how to create a batch input from beginning to end.
    How can I achieve the entry of the data?
    sm35 or shdb is used to record the transaction steps?
    One says sm35, the other says shdb?
    Step by step?
    Thanks in advance.

    Hi,
    BDC option
    ABAP Runtime Environment (BC-ABA)
    Batch Data Communication option.
    BDC options define the processing mode for a batch input session.
    Examples of modes used for processing sessions are:
    •     Display all records.
    •     Display for error dialogs only.
    •     Process session in the background.
    •     Process session on the screen.
    Purpose
    During data transfer, data is transferred from an external system into the SAP R/3 System. You can use data transfer when you:
    •     Transfer data from an external system into an R/3 System as it is installed.
    •     Transfer data regularly from an external system into an R/3 System. Example: If data for some departments in your company is input using a system other than the R/3 System, you can still integrate this data in the R/3 System. To do this, you export the data from the external system and use a data transfer method to import it into the R/3 System.
    Implementation considerations
    Before creating your own data transfer program, you should use the Data Transfer Workbench to find the data transfer programs that are delivered by SAP.
    The Data Transfer Workbench 
    Purpose
    The Data Transfer Workbench supports the automatic transfer of data into the R/3 System.
    The Workbench is particularly useful for large amounts of data. It guarantees that data is transferred efficiently and ensures that data in the R/3 System is consistent.
    Features
    The Data Transfer Workbench provides the following functions:
    •     Integration of standard data transfer programs
    •     Registration and integration of your own data transfer programs
    •     Various techniques to load data into R/3.
    The data is read from a transfer file in SAP format and loaded into the R/3 System using one of the techniques below:
    •     Administration and organization of data transfer projects
    •     Tools for analyzing the required SAP structures
    •     BAPI interface
    •     Batch input
    •     Direct input
    Integration
    SAP applications support the data transfer of numerous SAP business objects. The data transfer program specifies the data format definition that is necessary to import the data into the R/3 System. Adapt your conversion program for exporting the data from the external system to this definition.
    Once the data has been exported, you can import it into your system using a generated data transfer program.
    Features
    •     Data transfer from other, external systems
    •     Generation of data transfer programs
    •     Generation of function modules that can be used as an interface to the R/3 System
    Initial Data Transfer 
    Prerequisites
    Before you start the initial data transfer, you should have answered the following questions:
    •     Which business objects are to be transferred?
    The objects to be transferred depend on the business applications you are using. If you are using sales and distribution processing, for example, you should transfer the material master records as well as the sales master records .
    •     How should the business objects be transferred?
    Various techniques are available to load the data into the R/3.
    Process Flow
    The process of transferring data can be divided into the steps:
    1.     Preparing the data transfer
    •     Analyzing and Cleaning Legacy Data
    •     Analyzing SAP Structures
    •     Developing Programs, Function Modules and BAPIs
    •     Creating a Program or FM for Data Extraction
    •     Creating a Mapping Program
    •     Registering Programs, Function Modules and BAPIs
    1.     Executing the data transfer
    •     Organizing the Transfer in Projects
    •     Executing Data Transfer Runs, monitoring (CCMS) and processing (log)
    •     Checking transferred objects in R/3 using a function module or report (task type AUD).
    The graphic below describes the steps involved in transferring the data:
    ThThe The Data Transfer Workbench is an integrated project management for all the required steps involved in transferring data to your R/3 System.
    You need to use programs or function modules for the various steps. SAP provides a range of BAPIs for loading data into R/3.
    You could also carry out all the steps, except for loading the data via BAPIs, without using the Data Transfer Workbench.
    In the first step you extract the existing data from a source system into a file and clean it there, if necessary.
    To load data into R/3 you need a transfer file in an appropriate SAP format.
    Using a mapping program you have to map the extracted data to the structures of the transfer file.
    To load the data into the R/3 System one of the Techniques is used depending on the type of business object . I f more than one of these techniques is provided for a particular object type, you should read the documentation to find out what the different uses are .
    Once you have created a project, you can start a run. The tasks of the run definition are processed in order.
    After the data has been successfully loaded into the R/3 System, it can be checked here.
    Result
    You have transferred the data into the relevant R/3 application and checked it here.
    Data Transfer 
    Purpose
    During data transfer, data is transferred from an external system into the SAP R/3 System. You can use data transfer when you:
    •     Transfer data from an external system into an R/3 System as it is installed.
    •     Transfer data regularly from an external system into an R/3 System. Example: If data for some departments in your company is input using a system other than the R/3 System, you can still integrate this data in the R/3 System. To do this, you export the data from the external system and use a data transfer method to import it into the R/3 System.
    Implementation considerations
    Before creating your own data transfer program, you should use the Data Transfer Workbench to find the data transfer programs that are delivered by SAP.
    Integration
    SAP applications support the data transfer of numerous SAP business objects. The data transfer program specifies the data format definition that is necessary to import the data into the R/3 System. Adapt your conversion program for exporting the data from the external system to this definition.
    Once the data has been exported, you can import it into your system using a generated data transfer program.
    Features
    •     Data transfer from other, external systems
    •     Generation of data transfer programs
    •     Generation of function modules that can be used as an interface to the R/3 System
    Data Transfer Methods 
    You can use the following methods to transfer data:
    •     Direct input: With direct input, the SAP function modules execute the consistency checks. However with batch input, these consistency checks are executed with the help of the screens. This means that direct input has considerable performance advantages.
    •     CALL TRANSACTION: Data consistency check with the help of screen logic.
    •     Batch input with batch input sessions : Data consistency check with the help of screen logic.
    Difference between Batch Input and CALL TRANSACTION
    If the direct input cannot be used for your task, this makes creating a data transfer program easier since the underlying transactions ensure that the data consistency checks are executed.
    In the case of an error during the data transfer (if data records are inconsistent, for example), you can restart the transfer at the point in the program where the error occurred.
    Batch input methods
    With the batch input method, an ABAP program reads the external data that is to be entered in the R/3 System and stores the data in a "batch input session". The session records the actions that are required to transfer data into the system using normal SAP transactions.
    When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the batch input management function (by choosing System &#61614; Services &#61614; Batch input), or have the session run in the background processing system.
    CALL TRANSACTION methods
    In the second method, your program uses the ABAP statement CALL TRANSACTION USING to run an SAP transaction. External data does not have to be deposited in a session for later processing. Instead, the entire batch input process takes place inline in your program.
    The information in Choosing Data Transfer Methods will help you decide which is the best data transfer method.
    Data Transfer: Overview of Batch Input  
    Prerequisites
    Before beginning the initial data transfer, you should answer the following questions:
    •     Which business objects are to be transferred?
    The business objects to be transferred depend on the business applications that you will be using. If you are using sales and distribution processing, for example, you must transfer the material masters as well as the sales documents from your legacy system.
    •     How are the business objects to be transferred?
    The data can be transferred either manually or automatically, using an SAP data transfer program or using your own transfer program.
    Process flow
    During the initial data transfer, data from the external system is converted into a sequential data transfer file and then transferred into the R/3 System using an SAP data transfer program. The data transfer file is the prerequisite for successfully transferring data as it contains the data in a converted format that is suitable for the R/3 System.
    1.     Check to see if an SAP data transfer program (direct input, batch input or CALL TRANSACTION) exists for this data using the Data Transfer Workbench. Refer to the notes for this transfer program.
    If no SAP data transfer program exists, proceed as follows:
    2.     Determine the SAP transactions that a user would use to enter data records.
    3.     Record these transactions using the batch input recorder. Ensure that you have filled all of the relevant fields with data.
    4.     Use this data to generate a data transfer program.
    5.     Display the Data Transfer Workbench and create your own data transfer object.
    6.     Now follow the steps for transferring data using the Data Transfer Workbench.
    The Transaction Recorder 
    Use
    You can use the transaction recorder to record a series of transactions and their screens.
    Features
    You can use the recording to create
    •     Data transfer programs that use batch input or CALL TRANSACTION
    •     Batch input sessions
    •     Test data
    •     Function modules.
    The recording can be executed several times. The screens are run in exactly the same way as they were run during the recording.
    You can edit recordings that you have already made using an editor.
    Activities
    1.     To display the batch input initial screen, choose System &#61614; Services &#61614; Batch input&#61614; Edit.
    2.     Choose Recording. The system now displays the initial screen of the batch input recorder.
    3.     Make a recording of the relevant transactions.
    4.     Generate one or several of the objects named above.
    Special features
    •     F1 -, F4 - and self-programmed F1 - and F4 help ( PROCESS ON HELP-REQUEST , PROCESS ON VALUE-REQUEST ) are not recorded. The same applies to all commands in the System and Help menus.
    •     Error and warning dialogs are not recorded. This means that only the OK code field and the field contents that lead to successful further processing in the current screen.
    •     " COMMIT WORK " in a transaction flow indicates the successful end of the transaction as regards batch input. The recording also ends successfully.
    •     " LEAVE TO TRANSACTION " in the course of a transaction indicates that it is not suitable for batch input. The recording is terminated.
    •     In ScreenPainter screens, movements in the scrollbar are not recorded. Use the function keys F21-F24 for positioning.
      Recording Transactions 
    The recording forms the basis of generating data transfer programs, sessions, test data and function modules.
    Procedure
    1.     Display the initial screen of the batch input recorder.
    2.     Assign a name to your recording.
    3.     Choose Create.
    4.     On the subsequent dialog box, enter the transaction code that you want to record and choose Continue.
    The system displays this transaction.
    5.     Execute the transaction in the usual way.
    6.     When you have finished processing the transaction, the system displays an overview of the transaction and your input.
    Choose Get transaction if no errors occurred while the transaction was being recorded.
    If you do not want to keep the last recording that you made, go to the next step.
    7.     Choose Next transac. If you want to record an additional transaction. Then continue from point 4.
    8.     Save your recording when you have finished.
    Recording 
    Once you have recorded the transaction, you can process it again later.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and choose Execute.
    4.     Choose one of the following processing modes:
    A : Display all screens.
    E : Display errors only. In the case of an error, the system displays the screen on which the error occurred. Once this error has been corrected, the system continues to process the recording until the next error occurs.
    N : No display. The recording is not processed visibly.
    5.     Choose the update mode:
    A : Asynchronous update
    S : Synchronous update
    L : Local update
    6.     You begin to process the recording when you choose Enter to exit the dialog box. When the recording is complete, the system displays a log that lists the name of the transaction, the system field SY-SUBRC and the system messages that were output.
    Using the Recording Editor 
    The recording editor contains functions that you can use to edit your recordings.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and choose Change.
    4.     The following functions are available on the overview that the system displays:
    • Delete transaction from the recording: This deletes the selected transaction.
    • Add a new transaction to the recording: The transaction is added at the end of the recording.
    • Editing: You can edit the current recording.
    If you choose Editing, proceed as follows:
    5.     The system displays an editor where you can add and delete individual lines. You can also change the contents of these lines.
    6.     If these editor functions are insufficient for your requirements, you can choose Export to download the recording onto your presentation host and use a PC editor to edit it there.
    7.     Choose Import to import this file back into the R/3 System. Ensure that the file is still in the correct format.
    8.     Choose Check to ensure that the edited version of the recording is still syntactically correct.
    9.     Save your changes to the recording when you have finished editing it.
    Generating Batch Input Sessions From the Recording 
    The data from the recording is transferred into batch input sessions that you can process for test purposes using the usual mechanisms.
    Prerequisites
    Before you can generate a batch input session, you must record the transactions through which the data is to enter the R/3 System. You use the batch input recorder to do this.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and then choose Generate session.
    4.     Enter a session name, a user with whose authorizations the session is to be processed, the identification whether the session is to be deleted once it has been processed and the processing date.
    5.     Choose Continue to exit the dialog box.
    You have generated a batch input session that uses the same data for the input fields that you entered when you created the recording. You can now process this as usual.
    Generating Data Transfer Programs 
    Prerequisites
    Before you can generate a data transfer program, you must record the transactions using which the data is imported into the R/3 System. You use the batch input recorder to do this.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and choose Create program.
    4.     On the following screen, specify a program name.
    5.     You can also choose how the maintained field contents of the recorded screens are to be filled:
    • Transfer the values that were used during the recording. If you require a flexible data transfer, you must modify this program.
    • Set the parameters of the input values to be maintained and import these values from a data file. To set the parameters, the system creates a data structure and imports the data records from an external file into this data structure. The program assumes that the external file has been adapted to this data structure.
    6.     If you have decided to set parameters for the input values to be maintained, it is useful if you create a test file when you generate the program. To do this, flag the checkbox and enter a name for the test file. For more information, see creating a test file.
    7.     Choose Continue.
    8.     The system displays the attribute screen of the program editor. Choose the relevant attributes here and save the program.
    Result
    You have now generated a data transfer program that you can use to import data into the R/3 System. The program can execute the data transfer using batch input or CALL TRANSACTION .
    Generating Function Modules 
    Prerequisites
    Before you can generate a data transfer program, you must record the transactions using which the data is imported into the R/3 System. You use the batch input recorder to do this.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and choose Create function module.
    4.     On the subsequent dialog box, enter a function module name, a function group and a short text for the function module. Exit the dialog box by choosing Continue.
    The system automatically creates the function module.
    Result
    You have now generated a function module that you can use as an interface for your R/3 System. As well as information relevant for the data transfer, the function module's import interface has a parameter for each input field of the transaction recorded.
    Using Function Modules 
    Prerequisites
    The function module was generated from a recording made using the batch input recorder.
    Procedure
    1.     Cal the function module.
    2.     Supply the generic interface of the function module:
    CTU : Flag whether the data is to be transferred using batch input method CALL TRANSACTION USING . The system generates a batch input session if this flag is not set.
    MODE : Processing mode:
    A     Display all
    E     Display only errors
    N     No display
    UPDATE : Update mode:
    S     Synchronous
    A     Asynchronous
    L     Local update
    GROUP : (If CTU is already specified): Name of the batch input session to be generated
    USER : (If CTU is already specified): User with whose authorizations the session is to be processed
    KEEP : Specifies whether this session is to be deleted once it has been processed
    HOLDDATE : Specifies the earliest processing date for the error session
    NODATA : Defines the NODATA character
    3.     Supply the function module's special interface.
    For each input field that was filled when you recorded the transactions, the system creates an import parameter. The recorded value is used as the default value for this import parameter.
    Creating Test Files 
    To test the data transfer program that you have created, you can create a data record in a sequential file. This data record contains all the field contents from the recording that are relevant to the data transfer in the format required by the data transfer program. It is therefore useful if you align the format of your conversion program data file with the format of the test file.
    Prerequisites
    Before you can generate a data transfer program, you must record the transactions using which the data is imported into the R/3 System. You use the batch input recorder to do this.
    Procedure
    1.     Display the initial screen of the batch input recorder (Transaction SHDB).
    2.     Choose Overview.
    The system displays an overview of all recordings.
    3.     Position the cursor on the relevant recording and choose Create test data.
    4.     Enter a test file and exit the dialog box by choosing Continue.
    You have now created a test file.
    If the test file you have specified already exists, the system appends the new data record.
    If you do not specify the path, the system archives the test file in the working directory of the current application server.
    Executing the Data Transfer 
    Purpose
    You generally use the Data Transfer Workbench to execute the data transfer. The following section describes how you transfer data directly using the batch input method.
    Prerequisites
    You require a data transfer program. This may be an SAP data transfer program, or you can create your own program.
    Process flow
    1.     Provide the data to be imported in a data file. Ensure that the data is in the correct format.
    2.     If you are using a generated data transfer program, you can choose a data transfer method.
    If you are only dealing with one data record, you can import this directly using a generated function module.
    3.     Execute the data transfer program.
    4.     Analyze the program and correct any errors that occur.
    Writing Data Conversion Programs 
    The data conversion program is responsible for the following tasks:
    •     Converting the data that is to be transferred into the R/3 System as required by the SAP data structure or transactions that you are using.
    If you are using an SAP batch input standard program, you must generate the data structure from the SAP standard data structure (see generating an SAP data structure).
    If you develop your own batch input program, the data structure is determined by the R/3 System when the program is generated. Generate a test file from the recording and align the format of your conversion program with the format of the test file.
    A conversion may be necessary for data type and length data type and length. The data type required by all standard SAP batch input programs is C, character data. You can find the required field lengths either in your analysis of the data declaration structure of the generated batch input program or in the data structures that you generate.
    •     The data is exported in SAP format to a sequential file. The batch input program in the R/3 System reads the data in from this file.
    Process flow
    The tasks involved in writing a data transfer program are shown in the diagram and list below.
    Writing Data Conversion Programs 
    The data conversion program is responsible for the following tasks:
    •     Converting the data that is to be transferred into the R/3 System as required by the SAP data structure or transactions that you are using.
    If you are using an SAP batch input standard program, you must generate the data structure from the SAP standard data structure (see generating an SAP data structure).
    If you develop your own batch input program, the data structure is determined by the R/3 System when the program is generated. Generate a test file from the recording and align the format of your conversion program with the format of the test file.
    A conversion may be necessary for data type and length data type and length. The data type required by all standard SAP batch input programs is C, character data. You can find the required field lengths either in your analysis of the data declaration structure of the generated batch input program or in the data structures that you generate.
    •     The data is exported in SAP format to a sequential file. The batch input program in the R/3 System reads the data in from this file.
    Process flow
    The tasks involved in writing a data transfer program are shown in the diagram and list below.
    Selecting a Data Transfer Method  
    When you transfer data in ABAP, you have three options to submit the data for the data transfer. Only the first two methods can be recommended without reservation. The third method, by way of CALL DIALOG, is outmoded. CALL DIALOG is less comfortable than the other methods. You should use it only if you must.
    •     Use the CALL TRANSACTION USING statement
    Summary: With CALL TRANSACTION USING, the system processes the data more quickly than with batch input sessions. Unlike batch input sessions, CALL TRANSACTION USING does not automatically support interactive correction or logging functions.
    Your program prepares the data and then calls the corresponding transaction that is then processed immediately.
    The most important features of CALL TRANSACTION USING are:
    o     Synchronous processing
    o     Transfer of data from an individual transaction each time the statement CALL TRANSACTION USING is called
    o     You can update the database both synchronously and asynchronously
    The program specifies the update type
    o     Separate LUW (logical units of work) for the transaction
    The system executes a database commit immediately before and after the CALL TRANSACTION USING statement
    o     No batch input processing log
    •     Create a session on the batch input queue.
    Summary: Offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging.
    Your program prepares the data and stores it in a batch input session. A session is a collection of transaction data for one or more transactions. Batch input sessions are maintained by the system in the batch input queue. You can process batch input sessions in the background processing system.
    Your program must open a session in the queue before transferring data to it, and must close it again afterwards. All of these operations are performed by making function module calls from the ABAP program.
    The most important aspects of the session interface are:
    o     Asynchronous processing
    o     Transfers data for multiple transactions
    o     Synchronous database update
    During processing, no transaction is started until the previous transaction has been written to the database.
    o     A batch input processing log is generated for each session
    o     Sessions cannot be generated in parallel
    The batch input program must not open a session until it has closed the preceding session.
    •     Use the CALL DIALOG statement
    Summary: Not recommended if you can enter data by way of sessions or CALL TRANSACTION USING.
    Your program prepares data for a sequence of dialog screens, and calls a dialog module for immediate processing.
    The most important aspects of the CALL DIALOG interface are:
    o     Synchronous processing
    o     Transfers data for a sequence of dialog screens
    o     No separate database update for the dialog
    A database update occurs only when the calling program executes a commit operation.
    o     Shares LUW with calling program
    o     No batch input processing log is generated
    Executing Data Transfer Programs 
    Procedure
    If you are using an SAP data transfer program, follow the procedure specified in the program documentation.
    If you are using a generated data transfer program, proceed as follows:
    1.     Start the data transfer program.
    2.     Decide which batch input method you want to use for the data transfer.
    a) CALL TRANSACTION USING:
    You must specify the:
    – Processing mode: You use this parameter to specify whether processing should take place in the background or in dialog mode.
    Possible values are:
    A     Display all
    E     Display only errors
    N     No display
    – Update mode: This parameter determines how the data is to be updated:
    Possible values are:
    S     Synchronous
    A     Asynchronous
    L     Local update
    – Error session: Here you have the option to specify a session name for a batch input session in which data is to be written in the case of an error. You can use this to identify incorrect data records after the batch input program has run and to import the records into the R/3 System once you have corrected them.
    If you are creating an error session, you must also specify:
    – User: Specify the user with whose authorizations the sessions are processed.
    – Keep session: This specifies whether or not the session should be deleted once it has been processed.
    – Lock date: Specify the processing date for the error session.
    b) Generate session:
    – Session name: Specify a name for the batch input session to be generated.
    – User: Specify the user with whose authorizations the sessions are processed.
    – Keep session: This specifies whether or not the session should be deleted once it has been processed.
    – Lock date: Specify the processing date for the error session.
    3.     Specify a character that is to be used as the NODATA character.
    4.     Specify the path of the data file from which the data is to be imported into the R/3 System.
    5.     Execute the program.
    6.     If you have generated a session, or if errors occurred in CALL sTRANSACTION USING mode, you must now edit the generated sessions. You can find information on this in BC - System services in batch input sessions.
    Batch Input Authorizations 
    You do not need special authorization - other than the ABAP run time authorization (authorization object S_PROGRAM - to run a program that creates batch input. Any user can create batch input sessions.
    Starting processing for a session once it is in the queue is another matter, however. You can find more information on this in batch input sessions.
    Creating a Session with BDC_OPEN_GROUP  
    Use the BDC_OPEN_GROUP function module to create a new session. Once you have created a session, then you can insert batch input data into it with BDC_INSERT.
    You cannot re-open a session that already exists and has been closed. If you call BDC_OPEN_GROUP with the name of an existing session, then an additional session with the same name is created.
    A batch input program may have only one session open at a time. Before opening a session, make sure that any sessions that the program closes any sessions that it previously had opened.
    BDC_OPEN_GROUP takes the following EXPORTING parameters:
    •     CLIENT
    Client in which the session is to be processed.
    Default: If you don't provide a value for this parameter, the default is the client under which the batch input program runs when the session is created.
    •     GROUP
    Name of the session that is to be created. May be up to 12 characters long.
    Default: None. You must specify a session name.
    •     HOLDDATE
    Lock date. The session is locked and may not be processed until after the date that you specify. Only a system administrator with the LOCK authorization for the authorization object Batch Input Authorizations can unlock and run a session before this date.
    Format: YYYYMMDD (8 digits).
    Default: No lock date, session can be processed immediately. A lock date is optional.
    •     KEEP
    Retain session after successful processing. Set this option to the value X to have a session kept after it has been successfully processed. A session that is kept remains in the input/output queue until an administrator deletes it.
    Sessions that contain errors in transactions are kept even if KEEP is not set.
    Default: If not set, then sessions that are successfully processed are deleted. Only the batch input log is kept.
    •     USER
    Authorizations user for background processing. This is the user name that is used for checking authorizations if a session is started in background processing. The user must be authorized for all of the transactions and functions that are to be executed in a session. Otherwise, transactions will be terminated with "no authorization" errors.
    The user can be of type dialog or background. Dialog users are normal interactive users in the R/3 System. Background users are user master records that are specially defined for providing authorizations for background processing jobs.
    Adding Data to a Session: BDC_INSERT  
    Use the BDC_INSERT function module to add a transaction to a batch input session. You specify the transaction that is to be started in the call to BDC_INSERT. You must provide a BDCDATA structure that contains all of the data required to process the transaction completely.
    BDC_INSERT takes the following parameters:
    •     TCODE
    The code of the transaction that is to be run.
    •     POST_LOCAL
    Parameter to update data locally. If POST_LOCAL = ‘X’, data will be updated locally.
    (refer to the keyword documentation of SET UPDATE TASK LOCAL for more information)
    •     DYNPROTAB
    The BDCDATA structure that contains the data that is to be processed by the transaction.
    DYNPROTAB is a table parameter in the function module.
    Closing a Session: BDC_CLOSE_GROUP  
    Use the BDC_CLOSE_GROUP function module to close a session after you have inserted all of your batch input data into it. Once a session is closed, it can be processed.
    Function Module BDC_CLOSE_GROUP
    Exception parameters
    Parameter     Function
    NOT_OPEN     Client
    QUEUE_ERROR     Internal use
    BDC_CLOSE_GROUP needs no parameters. It automatically closes the session that is currently open in your program.
    You must close a session before you can open another session from the same program.
    You cannot re-open a session once it has been closed. A new call to BDC_OPEN_GROUP with the same session name creates a new session with the same name.
    Processing Batch Input Sessions 
    When you create a batch input session, it remains in the batch input queue until it is explicitly started. Session processing can be started in two ways:
    •     An on-line user can start the session using the batch input menu options. (To access the batch input options, choose System &#61614; Services &#61614; Batch Input.)
    •     You can submit the background job RSBDCSUB to start a session in background processing. If several sessions have the same name, RSBDCSUB starts them all.
    It’s possible to coordinate the generation and execution of a session in the background processing system.
    You can, for example, schedule both the batch input program and RSBDCSUB in the background. If you designate the batch input job as the predecessor for RSBDCSUB, then RSBDCSUB will be started automatically when the batch input job successfully completes.
    Alternatively, you can schedule both the batch input program and RSBDCSUB as job steps in a single background job. In this case, however, RSBDCSUB is started even if the batch input program should terminate abnormally.
    For detailed information about processing batch input sessions, see Managing Batch Input Sessions in the System Services guide.
    Frequent Data Transfer Errors 
    The most frequent errors include:
    •     The BDCDATA structure contains screens in incorrect sequence.
    •     The BDCDATA structure assigns a value to a field that does not exist on the current screen.
    •     The BDCDATA structure contains a field that exceeds the specified length.
    General guidelines
    You should be aware of the following guidelines when you create sessions and call transactions or dialogs:
    •     You must provide data for all required fields on a screen.
    •     You can only specify the initial data for a screen. The system does not accept input as a response to a warning or an error message.
    •     If there is more than one possible screen sequence for a transaction or dialog, your program specifies the screen sequence for the transaction. You must transfer all screens that the dialog user sees to the selected screen sequence. This applies even if the screen itself is not used to input data.
    Direct Input  
    To enhance the batch input procedure, the system offers the direct input technique, especially for transferring large amounts of data. In contrast to batch input, this technique does not create sessions, but stores the data directly. It does not process screens. To enter the data into the corresponding database tables directly, the system calls a number of function modules that execute any necessary checks. In case of errors, the direct input technique provides a restart mechanism. However, to be able to activate the restart mechanism, direct input programs must be executed in the background only. To maintain and start these programs, use program RBMVSHOW or Transaction BMV0.
    Examples for direct input programs are:
    Program     Application
    RFBIBL00     FI
    RMDATIND     MM
    RVAFSS00     SD
    RAALTD11     AM
    RKEVEXT0     CO-PA
    Pls reward points.
    Regards,
    Ameet

  • Intial Entry using Batch input.

    Hi,
    This initial inventory data entry is generally carried out via batch input , Can u plase let me know how to proceed the batch input for this.
    What are the steps are involved for doing Bacth input/session.
    Best Regards
    Ram

    Hi Hare Ram,
    You have a Batch Input Process for Physical Inventory i.e MI31 and series which will create a physical inventory doc and will help you in creating a doc for no of materials. I think that is the best way. I am not sure why you need to take the help of ABAP for creating a doc of physical Inventory.
    Try MI31 and it should work for you.
    Revert back if it works.
    I am using the same process here. Also i have put a question for MI32 & MI34 ans still waiting for some response from some of the gurus.
    Regards
    Rajeev

  • Batch input session is not generating In BRS

    Hello,
    I am uploading bank statement through ZFF67 program manual bank statement, after entering all the line items in the file, batch input session is not generating in SM35.
    Please give advice.
    Thanks,
    Ratnam

    Hi,
    Go to environment - specification-  here you need to maintain settings for batch input processing in T.code FF67.
    I am not exactly remembering the menu option name. The sub option name is Specification, these settings you need to change with your user id.
    Check and revert back still the same problem exists.
    Regards,
    Sankar

  • Is it possible to maintain a view vai Batch Input

    Hi guys,
    The user required to develop a BDC program to upload the data source from outside of SAP, and maintain these data into a view via Tcode: SM34. But it seems the view doesn't support Batch input.....
    Can anybody tell me, is it possible to maintain a view via Batch input? Many thanks!
    Brian Liu

    Additional information:
    This requirement is to upload the Overhead Rate data from outside of SAP, and maintained via KZM2 or SM34. But when I tried to record a BDC for KZM2, it seems that the SAP can not support batch input.
    I find a SAP note 208474, it says:
    Symptom
    Overhead rates of the costing sheet of the overhead rates, which have been created, changed or deleted via batch input or Call Transaction, are not saved.
    The same rates are saved if processing is carried out via Transaction KZZ2 or the Implementation Guide IMG.
    Cause and prerequisites
    Processing the Customizing transactions for maintaining the overhead rates of the costing sheet (Transaction KZZ2, KZM2) is
    not supported in the batch input. This corresponds to the SAP standards according to which Customizing transactions in general need not necessarily be capable of batch input.
    The batch input data of the overhead rates are not saved in the standard because processing is terminated by a COMMIT WORK. This statement ensures that the internal tables for the transport of the overhead rates are only deleted if their transfer to the database tables to be transported has been processed successfully.
    Solution
    The subsequent modification allows batch input processing of the overhead rates, by suppressing the COMMIT WORK statement. As a result of the modification, the tables in the transport request of the overhead rates may be incomplete in single cases.
    In cases where the overhead rates have not been transferred completely to the target system after implementation of the modification, include the overhead rates again in a transport request, repeat the transport and, if necessary, subsequent processing.
    Note that the attached modifications are not and will not be included in the R/3 standard system.
    I modified the sap standard program L0COEF04 according to another SAP note 150041, but after the modification, I still couldn't record the BDC.
    Anybody who have ever met the same situation, or can give me some suggestion? With many thanks!
    Brian Liu

Maybe you are looking for

  • Mini Display to VGA  Gives Me Wiggles

    I'm just in the process of migrating from my old G5 Leopard to my new Mac Pro 2.8QC Lion and so I've got my old Samsung 204b hooked up to the Intel with a Mini Display to VGA adapter. However the display shows what looks like scan lines in the bacgro

  • 8.1 did not fix Bluetooth issue with iPhone 5 and car

    8.1 didn't fix my issue with Bluetooth. I can receive calls and play music thru my Mazda CX-9 but I cannot make outgoing calls. My daughter has same issue with her iPhone 5 in her car so it has to be glitch with Apple yet. Please help. I'm so totally

  • External Table log file

    I am using external table in my query and it works fine, just I want to create log file or bad file if any in different folder currently it create in same folder where data file (CSV) exists. create or replace directory data_dir as 'c:\temp\'

  • Looking for RFC to delete Archivelink record

    Hi All, Can somebody point me to the RFC-enabled function which deletes a document archived via Archivelink? The task is similar to one implemented in ARCHIV_DELETE_META or ALINK_DELETE, but those functions are not remote-enabled. Unfortunately, writ

  • Network Printer (Error - Printing) Will Not Print

    Hi, We currently use a HP DesignJet 1055CM printer for all of our AutoCAD and plan drawings, which has recently gone on the fritz. Any print job sent from anyone in our network will make its way to the printing queue and be met with a Error - Printin