First the “Express Method”, which uses the functional module BP_JOBVARIANT_SCHEDULE

Second method is the “Full Control” method, which uses the JOB_OPEN, JOB_SUBMIT and JOB_CLOSE function modules.

The “Full Control” method gives you complete control over the job scheduling options such as job printing, job start time options etc.

BATCHDATACOMMUNICATION

BDC is used to transfer data from SAP to SAP system or from a non-SAP system to SAP system. It uses the normal Transaction codes to transfer the data.

This method is used to transfer large amount data that is available in electronic form.

There are two types of methods offered by SAP for BDC

First method is called the “Classical Method”. In this method, the data that is read by the BDC program from a sequential dataset file is stored in a batch-input session. To run the transactions in the session, you need to execute the session.

You can start and monitor the session from System → Services → Batch Input or have the session run in the background.

This method uses the function module BDC_OPEN, BDC_INSERT and BDC_CLOSE to generate the sessions

In the second method, BDC uses the ABAP statement CALL TRANSACTION USING statement to run a transaction.

In this method, BDC does not create a session

Both the above methods need a common data structure for storing the instructions and data for SAP transactions. This structure is defined as the BDCDATA in the dictionary

To transfer the data from the non-SAP system to an SAP System, you would have to write a ABAP program that would export the data to a sequential dataset file. The data in this file should be stored in a format acceptable to SAP batch input program.

To transfer data from an SAP system to another SAP system you may use RFC or CPI-C.

The data transfer program should convert the data that has to transfer into the SAP system as required by the SAP data structure or the transactions using it.

A conversion of the data types could be necessary at times. In case of data type mismatch, convert the data types to type C.

Also the data transfer program should be able to export the data in SAP format to a sequential file. The BDC program reads the data from this file during the upload of the data into the SAP system

To write a data transfer program follow this procedure :

Analyze the structure of the existing data and specify the conversions that are required to fill the SAP data structures.

Generate the SAP data structure if the program is written in ABAP, you need only include the required tables in your program with the TABLES statement.

Initialize the SAP data structure.

Fill the structure with data, performing any conversions and error-checking that are required.

Write the sequential file that is typically required for making the data available to the batch- input program in the SAP System.

The purpose of analyzing the data is to gather the transaction code that is to used, list of the required fields for input, field names, types and lengths, to note the screen numbers involved in the transaction, program names for the screen,

There are two ways by which you can achieve the above,

One is run the transaction and note the information about the Screen No., Program name by going to System → Status and for information on the fields by placing the cursor in the field and then pressing F1 and then by looking into the Technical Information of the fields.

The following is the procedure for transferring the data using batch input.

1. Analyze the data that is to be transferred to the SAP System to determine how your existing data should be mapped to the SAP data structure.

Method: You’ll need to determine the structure of the data that is to be transferred into the system. Using the SAP data structure that you generate in step 2, you’ll need to determine how the data to be transferred must be mapped to the SAP structure. You’ll also need to determine whether any data type or data length conversions are required.

Method: Use the data structure generation function of the ABAP dictionary to generate data structures for SAP tables in any of several programming languages.If you are using one of SAP’s standard batch input programs, then use of this function is required. The standard batch input programs generally require that you use a special pre- defined data structure.

If you’re writing your own batch input procedure, then you will need to determine the data structure on your own. You’ll need to analyze the SAP transactions to find the names of the fields that the transaction requires.

3. Code your data transfer program. You can write the program in ABAP or as an external program.

4. Export the data that is to be transferred to a sequential file. Requirements:

The file must use the logical format required by the batch-input program that will import the file (step 6).

Reading and interpreting the file is much easier if you write it in ASCII or EBCDIC (character) format rather than, for example, writing numeric data in hexadecimal format. Character format is required by the pre-defined SAP batch input programs.

5. If necessary, code the ABAP batch input program that will read in the data to be transferred from your file.

SAP supplies ready-to-run batch-input programs for most of the SAP applications.

6. Process the data and add it to the SAP System. You can do this either by:

Generating a batch input session; or

by processing data directly in your batch-input program with the ABAP statement CALL TRANSACTION USING.

7. Check that all data has been successfully processed.

Method: Analyze the batch input-processing log. If you are using CALL TRANSACTION USING, then you will need to analyze the processing messages collected by your program.

8. Correct and re-process erroneous data.

Method: You can use the batch-input management function to process erroneous transactions interactively. You can correct data during this interactive processing.

SAP has also provided with pre-defined batch input programs for data transfer. But you may still need to write a BDC to meet the your requirements since the programs given by SAP may not meet them.

You should therefore initialize all of the fields in your batch input data structure with the NODATA character. The default is ‘/’.

If the BDC program does not find a value for a field then it sets the value of that field to ‘/’.

To write a BDC you need to do the following:

1. Analyze the transaction(s) that you will use to process your batch-input data. You may have already done this when you wrote your data transfer program.

2. Decide on the batch-input method that you wish to use.

"Classical" batch input -- by way of a batch-input session -- is more comfortable. Restart- capability and detailed logging are supported by the batch input management transaction for batch input sessions.

Batch input by way of CALL TRANSACTION USING offers faster processing if you need it to get your batch input done in the time slot that is available for it. CALL TRANSACTION USING offers, however, less support for error recovery and management of batch input.

3. Write the batch input program.

Your program will need to do the following:

read data in, often from a sequential file that has been exported from another system or prepared by a data transfer program

if necessary, perform data conversions or error-checking

prepare the data for batch input processing by storing the data in the batch input data structure, BDCDATA.

generate a batch input session for classical batch input, or process the data directly with CALL TRANSACTION US

There are three methods of doing a BDC, namely: Creating a Session, Call Transaction and CALL Dialog method. Of theses, only the first two are recommended for use since CALL DIALOG method is outdated.

Now let us see what these three metods do:

Creating a session on the batch input queue.

This is the standard method to do a BDC. It offers management of sessions, support for playing back and correcting sessions that contain errors, and detailed logging.

The 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. Making function module calls from the ABAP program performs all of these operations.

The most important aspects of the session interface are:

Asynchronous processing

Transfers data for multiple transactions

Synchronous database update During processing, no transaction is started until the previous transaction has been written to the database.

A batch input processing log is generated for each session

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 TRANSACTION USING statement

This method offers faster processing of data than batch input sessions. It is recommended that if you’re having problems getting data entered into your SAP System quickly enough. The playback, interactive correction, and logging facilities offered for batch input sessions that are not available for CALL TRANSACTION USING.

Your program prepares the data and calls the desired transaction for immediate processing.

The most important aspects of the CALL TRANSACTION USING interface are:

This method is not recommended to be used to do a BDC if you can enter data by way of sessions or CALL TRANSACTION USING.

In this method, 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:

Synchronous processing

Transfers data for a single transaction

Synchronous and asynchronous database updating both possible The program specifies which kind of updating is desired.

Separate LUW for the transaction The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.

No batch input processing log is generated

UsetheCALLDIALOGstatement

Synchronous processing

Transfers data for a sequence of dialog screens

No separate database update for the dialog A database update occurs only when the calling program executes a commit operation.

Shares LUW with calling program

No batch input processing log is generated

The data and the necessary action to be performed in order to enter the data into the SAP is stored in Batch Input data structure (BDCDATA).

This structure is used in all the three methods mentioned above

The diagram below shows how to declare the structure in your ABAP program and the fields contained in the structure

This BDCDATA structure can contain data for one transaction at a time.

You first create a BDCDATA structure. Then fill the structures with data using either create session method or call transaction method. And then create it again for the next transaction. If your BDC involves more than one transaction, then this process will be in a loop.

Build the structure line by line using MOVE and APPEND statements. Before building each line, reset the header line of the internal table with the CLEAR statement.

The first record for each screen must contain information that identifies the screen: program name, screen name and a start-of-screen indicator. You record this information in the PROGRAM, DYNPRO, and DYNBEGIN fields of the BDCDATA structure.

This sample BDCDATA starts a screen. The record specifies the program and screen identifiers. With BDCDATA-DYNBEGIN, the record shows that batch input data for a new screen is starting:

BDCDATA-PROGRAM = 'sapms38m'.

BDCDATA-DYNPRO = '0100'.

BDCDATA-DYNBEGIN = 'x'.

APPEND BDCDATA.

After the dynpro-start record, you must add a record for each field that is to receive a value. You need fill only the FNAM and FVAL fields.

This sample BDCDATA enters a value into a field. The FNAM field identifies the target field by its table and field names. FVAL specifies the value that is to be entered:

BDCDATA-FNAM = 'RS38M-FUNC_EDIT'.

BDCDATA-FVAL = 'x'.

APPENDBDCDATA.

The command field is identified by a special name in batch input, BDC_OKCODE. This name is constant and always identifies the command field.

This sample record would execute the save function. It uses the function key assignment of save, which is F11. A function key number must be prefixed with the / (slash) character:

BDCDATA-FNAM = ‘BDC_OKCODE’.

BDCDATA-FVAL = ‘/11’.

This sample record also executes save, but uses the function code instead of the function key assignment. All functions, whether they are displayed in menus or as buttons, are identified by function codes. A function code must be prefixed with the = character.

BDCDATA-FNAM = ‘BDC_OKCODE’.

BDCDATA-FVAL = ‘=UPDA’.

Some screen fields need multiple values, one on each line. To provide input to one of these loop fields, you must use an explicit line index :

BDCDATA-FNAM = 'fieldx (5)'.

BDCDATA-FVAL= 'value'.

The line index (in the example: (5), line 5) indicates in which loop line on the screen values are to appear.

To position the cursor on a particular field, you must use the special cursor field:

BDCDATA-FNAM = 'BDC_CURSOR'.

BDCDATA-FVAL= 'fieldx'.

To position the cursor on a loop field, you must use again an index:

BDCDATA-FNAM= 'BDC_CURSOR'.

BDCDATA-FVAL = 'fieldy(5)'.

After finishing the BDC, to return to the SAP Main Menu, from the text input screen in the ABAP editor, for example, the following BDCDATA records are necessary to leave the transaction:

BDCDATA-PROGRAM = ‘SAPMSEDT’. "Leave text input field

BDCDATA-DYNPRO= ‘2310’.

BDCDATA-DYNBEGIN = ‘X’.

BDCDATA-FNAM = ‘BDC_OKCODE’.

BDCDATA-FVAL= ‘/3’. "Back function key

BDCDATA-PROGRAM = ‘SAPMS38M’. "Leave ABAP

editorBDCDATA-DYNPRO= ‘0100’.

BDCDATA-DYNBEGIN = ‘X’.

BDCDATA-FNAM= ‘BDC_OKCODE’.

BDCDATA-FVAL= ‘/15’. "Quit function key

CREATINGBATCHINPUTSESSION:

One of the methods of doing a BDC is storing the batch input data in a session.

Cancer Fight: TreatmentMAP Uses SAP HANATreatmentMAP, an innovative technology developed by Molecular Health, a German biotech company, has won the prestigious SAP Hana Technology Trailblazer Award at Sapphire Now. This award is bestowed upon the company that uses Internet of Things” and big data in its applications, to achieve...

SAP Updates Failures Impact the Efforts of CompaniesUpgrading SAP processes is more often than not considered as a costly, time consuming and inefficient function for businesses, thereby leading to a scarcity in SAP updates. Over 33 percent of companies using the popular Oracle E-Business Suite have failed to upgrade their modules. 40...

SAP Course Fees and Duration for Different ModulesWe are providing here an assumption for SAP Course Fee and Duration for the different SAP (Systems, Applications, Products in Data Processing) Modules. We are providing this average assumption on the basis of previous year 2015 which usually vary from institute to institute. Course...

Top Companies Using SAP Software in IndiaSAP is one of the eminent and largest ERP solution provider in the universe. As per recorded there are about 70% of Forbes companies and other companies are using ERP Solutions by SAP. Opt of ERP provided by SAP (Systems, Applications, Products in Data Processing)...

Why is SAP Considered as one of the Highest Paid Jobs?Candidates who are looking for employment wants to acquire SAP certification as it offer extraordinary compensation. The most widely used ERP system currently is SAP due to which a SAP consultant gets lots of opportunities. The extensive use of SAP (Systems, Applications, Products in Data...

SAP Script: SAP R/3 Document
There are three components in SAPScript1. Standard Text2. Layout Set3. ABAP/4 programSAPScript is the Word processing tool of SAP. It has high level of integration with all SAP modulesSTANDARD...

The SAP R/3 Guide to EDI, IDocs and Interfaces
The SAP R/3 Guide to EDI, IDocs and Interfaces Where Has the Money Gone? 1 1.1 Communication ...............................................................................................2 More...

Development in R/3 ABAP
What to Read in This Part Development in R/3 ABAP................................................................................................................... 1 1 The SAP R/3 ABAP Objects...

Introduction to BAPI: SAP R/3 Document
SAP R/3 Document : Introduction to BAPIsDefinitionThe SAP Business Objects held in the Business Object Repository (BOR) encapsulate theirdata and processes. External access to the data and processes...

SAP R/3 Document : System Fields Lists
SAP R/3 Document : System Fields Lists In transaction programming this field indicates the change of data on the screen.In the PBO part you set the default value of the input fields of the dynpro...

Proposal for SAP Upgrade (R/3)
Background ACC Refractories Ltd. have implemented SAP R/3 version 3.1h. Siemens Information Systems Ltd. was the implementation partner for the SAP Project. A plan was being considered to upgrade...

Transfer of Legacy Assets to the R/3 System
Process for Automatic Asset Data Transfer Purpose The following process flow can be used for transferring fixed assets from a legacy system to the R/3 System. Process Flow To transfer legacy...

ABAP Programming & Coding Standards
This document is a compilation of possible ABAP programming and efficiency standards and will provide guidance in creating readable, maintainable code. It is intended for all developers in the SAP...