Batch program with COR1

Hi :
I want to create a batch program using call transaction for process order COR1.
I need an example for this, by creating a recording " shbd " using COR1.
Thanks.
Rag

hi,
Go to SHDB transaction.
Enter New Recording nameand Transaction Name as 'COR1', start new Recording
You will get the First Screen: with Material No, Production Plant, Planning Plant,
PO type etc, Enter the Mandatory fields, enter you will get the second screen , again enter the Mandatory fields in that SAVE the recording.
Then go to PROGRAM in the Menu.It will create a Program  automatically.
Then You have to modify that program littlebit as per your requirements, similar to a common BDC program.
Hope this helps.
Regards,
Anji

Similar Messages

  • Java batch program with wakeup

    I am interested in developing a batch java program which will hopefully perform the following I need to know how to get started with a timed-event.
    Application description:
    I would like the java batch program to wakeup at 7:00 am each morning and read a database and fire an email with the resultset of the database query. I can handle the database query portion. I am looking for a solution for the wakeup at 7:00 am and the email.
    Any direction would be helpfull.

    Look up java.util.Timer, and java.util.TimerTask. It does exactly what you need in terms of a batch event running at 7:00am every morning. Alternatively, you can do it up as a simple program, and create a cron job.
    As for e-mail, JavaMail isn't really that difficult. Look it up :)

  • Batch job with 2 conditions

    Hi,
    We have a program that will create a batch job and then we need to go to SM35 to run that batch job manually. We want to avoid this manual step and what we want to do is to as soon as our program runs it will create a batch job and then batch job should kick off automatically.
    One of the solution that came to my mind is to schedule a batch job with two conditions:
    1. in first condition it will run our main program
    2. and in 2nd step it will look out for the batch job that created in SM35 and will kick off that, but I am not sure how can i do this using Sm36.
    I was also wondering if there is another way so that we can just avoid the batch run for the second step?
    So can you please help me with this.
    Thanks,
    Rajeev

    SM35 -> batch sessions, so I assume you are talking about these.
    You can start sessions under program control by submitting program RSBDCSUB after creation of the session.
    Thomas

  • Batch input with objects

    Hi,
    Exists a standard class to develop a batch input????
    Any ideas???
    Is it possible to create a batch input with objects??

    Hi there
    Why not
    just define your class in the normal way
    decide what variables you need to pass
    in the methods of your class call the fm modules bdc open, bdc dynpro etc etc.
    Incidently the following include will have a decent amount of code for the BDC bits.
    include bdcrecx1.
    A good way is to start sm35 to record what you are doing on the screen. When you've finished  go to your recording in SM35 and click on CREATE PROGRAM - it will create most of the code for you including the screen fields -- you'll need to edit a bit of course as you don't need everything that will be shown.
    Debugging in the CREATE PROGRAM might show you a decent generic way of generating BDC's which you could easily do via a class.
    Note however using BDC's is the LEAST PREFRERRED WAY of performing work and should only be used as a LAST RESORT if there really is no other way. A lot of new BAPI's and Classes are now available which can do away with the need for BDC's  in most cases.
    job done.
    cheers
    jimbo

  • Batch processing with an image overlay

    Is it possible to do batch processing with an image overlay in FW CS4?
    I'm trying to resize several hundred images and place rounded corners on them.
    If this cannot be done in FW, does anyone know of another program that could accomplish this?

    Hi Marje,
    It's possible to include both resizing and image overlay in a custom Fireworks command that can be used in batch processing.  To get started, you could check out this tutorial that deals with the first step.
    That article describes how to perform image resize and overlay (in that case, a watermark), and then how to record the steps and turn them into a custom command that can be later used in batch processing.
    Once you saved the custom command, click File >> Batch Process, and follow the steps below:
    In the first window, select the images you want to process.
    On the next screen, open the Commands dropdown menu and select the custom command you created (it'll probably be on the bottom of the list), and click the Add button to include it in the batch process list.
    Finally, on the next screen select the location of the processed files, and optionally save the batch script for later use.
    Good luck!

  • Batch Printing with Desktop Printer

    I have been batch printing with a desktop printer to a ethernet connected xerox phaser printer. The files are doc files that I drop onto the desktop printer to automatically print anywhere from 10-30 files at a time. I either use TextEdit or Pages as the default program for the files so I do not have to deal with the print dialog box that comes up with Microsoft Word. My problem is that if I send 20 files for example, only a certain number of them will actually print and the job of printing all of them is not completed. It appears random. Sometimes it may get through 5 and othertimes 15 files before it stops. There is no error message and it seems as if everything was sent to the xerox printer fine...
    Any advise would be appreciated

    I spoke with Xerox support. They suggest typing your printers IP address in a browser, clicking on PROPERTIES, select GENERAL from the file menu on the left, then select PRINTER DEFAULTS. Change Timeout Settings from a default of 120 to 999.
    Apparently the printer drops info if it takes longer than a specific duration so if there is network traffic or a large number of files are being sent all at once.
    I just changed my settings so we shall see if this works

  • Batch program

    HI,
    A batch program is needed.This batch program will be scheduled as a batch job.
    It should query table say 'A' depending on two mandatory and one optional parameter.There is only one primary key in table 'A 'and it is an optional parameter.This query would give a list of say all sales orders(optional paramter).Using this list of sales orders, I would then need to query another table say 'B' where sales order is a primary key along with material number.Now for sales order S and material M1 I need to update a certain field in' B'.For same sales order S and material M2 I need to update a certain field in 'B'.Also I need to update a field in table C where there are four key fields and sales order and material are two fields.The business rules for update need to be taken from a config table.
    How can I ?
    (A) Do the process in the backgroung as a say BDC /batch input without end user intervention
    (B)Create a new config table and maintain the rules there.I know the rules.
    Thanks for your help in advance !!

    Hi,
    you could update the tables directly - but then you / the batch report would be fully responsible for the correct business logic, not only the additional customer requirements, but also all standard logic -> usually a task to big.
    Instead it's easier, safer, recommended to use standard interface to update tables (as long as we don't speak about append fields.
    In your case BAPI_SALESORDER_CHANGE might give you the possibility to change the values - but you didn't describe the fields / tables good enough for a good help. Also call transaction would follow the business rules (when you add the customer logic with user-exit or field-exit...).
    I hope I got your problem, your description was a little bit ... around some corners?
    Regards,
    Christian

  • Batch program to replicate DataSources in process chains

    Hi everybody,
    I am looking for a batch program to replicate DataSoruces in a BW 3.5 system. I would like to use this program at the beginning of process chains, in order to avoid any potential problems from transports into productive environment.
    I found the following program already but it seems not to work: RSAOS_METADATA_UPLOAD_BATCH
    thanks in advance for any help
    Ulrich

    Hi John
    thanks for the hint. Of course you are right. I would expect to have also a transport in BW. It happend unfortunately several times, that not only the involved DataSource got inactivated in our complex data model, but also other ones.
    That's why I look simply for the program that replicates DataSources. I tried already with tracing in via SM30 - unfortunately no useful results
    regards,
    Ulrich

  • How to run batch programs using SUBMIT command without any interaction need

    Hello ABAP gurus,
    I have created a batch program in SE38 which calls many other SE38 Programs (Reports).
    I have used the command SUBMIT to call the sub programs. There are about 15 sub programs that this main batch program is calling.
    It works fine, but after calling each subprogram it stops and I have to manually click on 'Back Button' in green on the sap screen to run the next program in the list. Like this I have to do 15 times to run all the programs in the batch.
    Is there a way to avoid this manual intervention and make the program run all the sub programs on its own.
    Your feedback will be highly appreciated.
    Thanks
    Ram

    Thanks Sampath for the response.
    Yes I am using the option "AND RETURN". So it is coming out of each sub program, and it is at this stage it waits for me to click on 'backward green arrow' to continue to the next.
    Here is the code I have used
      SUBMIT Z_AS_BI_F0005_EXTRACT WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_DIVISION_EXTRACT WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_COMPANY_EXTRACT WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_CUSTOMER_EXTRACT WITH  S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_BRANCH_EXTRACT WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_BUS_UNIT_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_ADDRESS_EXTRACT WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_CUSTOMER_GROUP_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_GROUP_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_PMT_TERMS_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_REGION_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
      SUBMIT Z_AS_BI_TERRITORY_EXTRACT  WITH S_DATE IN S_DATE WITH P_TEST = 'N' AND RETURN.
    Any other suggestions or feedback will be appreciated.
    Tks
    Ram

  • BDC Program with recording

    Hi All,
    I have a requirement to create a bdc program for asset creation with recording. Any have this, please send the step-by-step procedure.
    I am very thankful to you in advance.
    Thanks,
    Nagarjuna.

    HI Nagarjuna,
    Step by Step approach to ceate simple BDC session program using reusable template.
    Batch Data Communication is one of the vital data upload / transaction automation option in many SAP components . I am suggesting here a way out to simplify the programming for a BDC application . It utilizes a template program and gives steps to use it to create your own BDC program on the fly.
    This step by step approach can be used to create a Simple BDC program i.e for a transaction which does not have any table control / looping at screen table. The same can also be enhanced to develop a program for transactions involving table controls .
    1. Create a new program as executable program using SE38 transaction code.
    2. Copy the following template code into your program .
    ---- Start of Template -
    REPORT
    NO STANDARD PAGE HEADING
    LINE-SIZE 200
    LINE-COUNT 300.
    *-- DATA DECLARATION--
    *---Types
    DATA : BEGIN OF t_upload,
    FIELD1(10),
    FIELD2(2),
    FIELD3(18),
    FIELD4(35),
    END OF t_upload.
    *--- Tables
    DATA : BEGIN OF i_bdcdata OCCURS 0."to hold the transaction record
    INCLUDE STRUCTURE bdcdata.
    DATA: END OF i_bdcdata.
    DATA: i_upload LIKE STANDARD TABLE OF t_upload," to hold file data.
    i_upload1 LIKE STANDARD TABLE OF t_upload." to hold file data.
    *--- Work Areas
    DATA: wa_upload2 LIKE t_upload,
    wa_upload LIKE t_upload,
    wa_upload1 LIKE t_upload.
    *--- Variables
    DATA: v_count1(4) TYPE n,
    v_error TYPE c,
    v_session(12),
    v_field(21) TYPE c,
    v_message(60) type 'C'.
    *--Constants
    DATA: c_open TYPE c VALUE '(',
    c_close TYPE c VALUE ')',
    c_x TYPE c VALUE 'X'.
    *---Initialisation
    initialization.
    refresh : i_upload , i_upload1 ,i_bdcdata.
    -------Selection Screen Design -
    *Selection screen for input of upload file address
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS : p_file LIKE rlgrap-filename OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    ---AT SELECTION SCREEN -
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *--For popup to select file.
    PERFORM give_help.
    -----START OF SELECTION -
    START-OF-SELECTION.
    *--Data upload using WS_Upload.
    PERFORM get_data.
    *-- OPEN SESSION
    PERFORM open_group.
    *--Insert transactions using BDCDATA table in the session.
    PERFORM do_transaction .
    *-- Close the session.
    PERFORM close_group.
    END-OF-SELECTION.
    *& Form f_get_data
    For data upload from external file.
    FORM get_data.
    CALL FUNCTION 'WS_UPLOAD'
    EXPORTING
    filename = p_file
    filetype = 'DAT'
    TABLES
    data_tab = i_upload
    EXCEPTIONS
    conversion_error = 1
    file_open_error = 2
    file_read_error = 3
    invalid_type = 4
    no_batch = 5
    unknown_error = 6
    invalid_table_width = 7
    gui_refuse_filetransfer = 8
    customer_error = 9
    OTHERS = 10.
    IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ELSE.
    DELETE I_UPLOAD INDEX 1.
    ENDIF.
    ENDFORM. " f_get_data
    *& Form F_open_group
    To open session in session management.
    FORM open_group.
    v_session = 'TCODE'.
    CALL FUNCTION 'BDC_OPEN_GROUP'
    EXPORTING
    client = sy-mandt
    group = v_session
    user = sy-uname
    keep = 'X'.
    ENDFORM. " F_open_group
    *& Form f_do_transaction
    Insert transactions in session after passing values to BDCDATA
    FORM do_transaction.
    LOOP AT i_upload INTO wa_upload .
    *---- insert your generated codes from recording at SHDB here
    *----- insertion ends
    perform bdc_transaction using 'TCODE'.
    REFRESH : I_BDCDATA.
    CLEAR : WA_UPLOAD.
    ENDIF.
    ENDLOOP.
    ENDFORM. " f_do_transaction
    *& Form bdc_dynpro
    For appending screen details to BDCDATA
    FORM bdc_dynpro USING program dynpro.
    CLEAR i_bdcdata.
    i_bdcdata-program = program.
    i_bdcdata-dynpro = dynpro.
    i_bdcdata-dynbegin = 'X'.
    APPEND i_bdcdata.
    CLEAR i_bdcdata.
    ENDFORM. "bdc_dynpro
    *& Form bdc_field
    For appending field details to bdcdata table
    FORM bdc_field USING fnam fval.
    CLEAR i_bdcdata.
    i_bdcdata-fnam = fnam.
    i_bdcdata-fval = fval.
    APPEND i_bdcdata.
    CLEAR i_bdcdata.
    ENDFORM. " bdc_field
    *& Form bdc_transaction
    For inserting Transaction in the session
    FORM bdc_transaction USING tcode.
    CALL FUNCTION 'BDC_INSERT'
    EXPORTING
    tcode = tcode
    TABLES
    dynprotab = i_bdcdata.
    ENDFORM. " bdc_transaction
    *& Form F_close_group
    For closing the session created in Session manager SM35
    FORM close_group.
    CALL FUNCTION 'BDC_CLOSE_GROUP'.
    concatenate 'Session ' v_session 'successfully created' into v_field.
    MESSAGE v_field type 'I'..
    CALL TRANSACTION 'SM35'.
    ENDFORM. "f_close_group
    *& Form f_give_help
    For user help to select file
    FORM give_help.
    CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
    mask = ',.,..'
    mode = 'O'
    IMPORTING
    filename = p_file
    EXCEPTIONS
    inv_winsys = 1
    no_batch = 2
    selection_cancel = 3
    selection_error = 4
    OTHERS = 5.
    IF sy-subrc <> 0 AND NOT sy-msgty IS INITIAL.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    ENDFORM. " f_give_help
    ---- End of Template -
    3.Go to the transaction SHDB in another session ( you can also give TCODE - OSHDB in transaction code window and hit enter ).
    4.Create you transaction recording in SHDB . Ensure your transaction recording takes care of input values to all the
    fields to which you intend to pass values in the BDC.
    5.Once your recording is done correctly create the program from recording in the SHDB transction . You will find the button to create program in SHDB . Choose the option of creating from file when you proceed through the subsequent steps.
    6. Define data type t_upload and structure wa_upload in the template program with fields of structure 'RECORD' from the program generated using SHDB recording ( replace the field1, field2 and so on as per your requirement). For your understanding you can remove the suffixes to the
    field name but keep the field size unchanged.
    7.Copy the coding existing between 'do' and 'enddo' statement from the generated program . Insert the copied code between the loop and endloop code of form 'Do_transaction '. Replace fields of structure 'RECORD' with respective fields of structure wa_upload.Insert constant values wherever possible in transaction recording.You can also handle customised data conversions here.
    8.Replace 'TCODE' in the template program with the transaction code you intend to process in this BDC.
    9.Please carry out further syntax check and resolve the related issues.
    This program will provide for input help to select upload file from local machine. The file needs to be in Tab delimited format and is assumed to have first row as column headers .
    On successful creation of session you will be prompted with a Information popup giving the name of session ,and will take you to the SM35 transaction to process your session.
    thanks
    karthik

  • Bdc program with out coding

    Hi All,
    I want to know how to write a bdc program with out coding...
    Thank you,
    Gopi....

    Hai.
    check this.
    BATCH DATA COMMUNICATION
    About Data Transfer In R/3 System
    When a company decides to implement the SAP R/3 to manage business-critical data, it usually does not start from a no-data situation. Normally, a SAP R/3 project comes into replace or complement existing application.
    In the process of replacing current applications and transferring application data, two situations might occur:
    • The first is when application data to be replaced is transferred at once, and only once.
    • The second situation is to transfer data periodically from external systems to SAP and vice versa.
    • There is a period of time when information has to be transferred from existing application, to SAP R/3, and often this process will be repetitive.
    The SAP system offers two primary methods for transferring data into SAP systems. From non-SAP systems or legacy system. These two methods are collectively called “batch input” or “batch data communication”.
    1. SESSION METHOD
    2. CALL TRANSACTION
    3. DIRECT INPUT
    Advantages offered by BATCH INPUT method:
    1. Can process large data volumes in batch.
    2. Can be planned and submitted in the background.
    3. No manual interaction is required when data is transferred.
    4. Data integrity is maintained as whatever data is transferred to the table is through transaction. Hence batch input data is submitted to all the checks and validations.
    To implement one of the supported data transfers, you must often write the program that exports the data from your non-SAP system. This program, known as a “data transfer” program must map the data from the external system into the data structure required by the SAP batch input program.
    The batch input program must build all of the input to execute the SAP transaction.
    Two main steps are required:
    • To build an internal table containing every screen and every field to be filled in during the execution of an SAP transaction.
    • To pass the table to SAP for processing.
    Prerequisite for Data Transfer Program
    Writing a Data Transfer Program involves following prerequisites:
    Analyzing data from local file
    Analyzing transaction
    Analyzing transaction involves following steps:
    • The transaction code, if you do not already know it.
    • Which fields require input i.e., mandatory.
    • Which fields can you allow to default to standard values.
    • The names, types, and lengths of the fields that are used by a transaction.
    • Screen number and Name of module pool program behind a particular transaction.
    To analyze a transaction::
    • Start the transaction by menu or by entering the transaction code in the command box.
    (You can determine the transaction name by choosing System – Status.)
    • Step through the transaction, entering the data will be required for processing your batch input data.
    • On each screen, note the program name and screen (dynpro) number.
    (dynpro = dyn + pro. Dyn = screen, pro = number)
    • Display these by choosing System – Status. The relevant fields are Program (dynpro) and Dynpro number. If pop-up windows occur during execution, you can get the program name and screen number by pressing F1 on any field or button on the screen.
    The technical info pop-up shows not only the field information but also the program and screen.
    • For each field, check box, and radio button on each screen, press F1 (help) and then choose Technical Info.
    Note the following information:
    - The field name for batch input, which you’ll find in its own box.
    - The length and data type of the field. You can display this information by double clicking on the Data Element field.
    • Find out the identification code for each function (button or menu) that you must execute to process the batch-input data (or to go to new screen).
    Place the cursor on the button or menu entry while holding down the left mouse button. Then press F1.
    In the pop-up window that follows, choose Technical info and note the code that is shown in the Function field.
    You can also run any function that is assigned to a function key by way of the function key number. To display the list of available function keys, click on the right mouse button. Note the key number that is assigned to the functions you want to run.
    Once you have program name, screen number, field name (screen field name), you can start writing.
    DATA TRANSFER program.
    Declaring internal table
    First Integral Table similar to structure like local file.
    Declaring internal table like BDCDATA
    The data from internal table is not transferred directly to database table, it has to go through transaction. You need to pass data to particular screen and to particular screen-field. Data is passed to transaction in particular format, hence there is a need for batch input structure.
    The batch input structure stores the data that is to be entered into SAP system and the actions that are necessary to process the data. The batch input structure is used by all of the batch input methods. You can use the same structure for all types of batch input, regardless of whether you are creating a session in the batch input queue or using CALL TRANSACTION.
    This structure is BDCDATA, which can contain the batch input data for only a single run of a transaction. The typical processing loop in a program is as follows:
    • Create a BDCDATA structure
    • Write the structure out to a session or process it with CALL TRANSACTION USING; and then
    • Create a BDCDATA structure for the next transaction that is to be processed.
    Within a BDCDATA structure, organize the data of screens in a transaction. Each screen that is processed in the course of a transaction must be identified with a BDCDATA record. This record uses the Program, Dynpro, and Dynbegin fields of the structure.
    The screen identifier record is followed by a separate BDCDATA record for each value, to be entered into a field. These records use the FNAM and FVAL fields of the BDCDATA structure. Values to be entered in a field can be any of the following:
    • Data that is entered into screen fields.
    • Function codes that are entered into the command field. Such function codes execute functions in a transaction, such as Save or Enter.
    The BDCDATA structure contains the following fields:
    • PROGRAM: Name of module pool program associated with the screen. Set this field only for the first record for the screen.
    • DYNPRO: Screen Number. Set this field only in the first record for the screen.
    • DYNBEGIN: Indicates the first record for the screen. Set this field to X, only for the first record for the screen. (Reset to ‘ ‘ (blank) for all other records.)
    • FNAM: Field Name. The FNAM field is not case-sensitive.
    • FVAL: Value for the field named in FNAM. The FVAL field is case-sensitive. Values assigned to this field are always padded on the right, if they are less than 132 characters. Values must be in character format.
    Transferring data from local file to internal table
    Data is uploaded to internal table by UPLOAD of WS_UPLOAD function.
    Population of BDCDATA
    For each record of internal table, you need to populate Internal table, which is similar to BDCDATA structure.
    All these five initial steps are necessary for any type of BDC interface.
    DATA TRANSFER program can call SESSION METHOD or CALL TRANSACTION. The initial steps for both the methods are same.
    First step for both the methods is to upload the data to internal table. From Internal Table, the data is transferred to database table by two ways i.e., Session method and Call transaction.
    SESSION METHOD
    About Session method
    In this method you transfer data from internal table to database table through sessions.
    In this method, an ABAP/4 program reads the external data that is to be entered in the SAP System and stores the data in session. A session stores the actions that are required to enter your data using normal SAP transaction i.e., Data is transferred to session which in turn transfers data to database table.
    Session is intermediate step between internal table and database table. Data along with its action is stored in session i.e., data for screen fields, to which screen it is passed, the program name behind it, and how the next screen is processed.
    When the program has finished generating the session, you can run the session to execute the SAP transactions in it. You can either explicitly start and monitor a session or have the session run in the background processing system.
    Unless session is processed, the data is not transferred to database table.
    BDC_OPEN_GROUP
    You create the session through program by BDC_OPEN_GROUP function.
    Parameters to this function are:
    • User Name: User name
    • Group: Name of the session
    • Lock Date: The date on which you want to process the session.
    • Keep: This parameter is passed as ‘X’ when you want to retain session after
    processing it or ‘ ‘ to delete it after processing.
    BDC_INSERT
    This function creates the session & data is transferred to Session.
    Parameters to this function are:
    • Tcode: Transaction Name
    • Dynprotab: BDC Data
    BDC_CLOSE_GROUP
    This function closes the BDC Group. No Parameters.
    Some additional information for session processing
    When the session is generated using the KEEP option within the BDC_OPEN_GROUP, the system always keeps the sessions in the queue, whether it has been processed successfully or not.
    However, if the session is processed, you have to delete it manually. When session processing is completed successfully while KEEP option was not set, it will be removed automatically from the session queue. Log is not removed for that session.
    If the batch-input session is terminated with errors, then it appears in the list of INCORRECT session and it can be processed again. To correct incorrect session, you can analyze the session. The Analysis function allows to determine which screen and value has produced the error. If you find small errors in data, you can correct them interactively, otherwise you need to modify batch input program, which has generated the session or many times even the data file.
    CALL TRANSACTION
    About CALL TRANSACTION
    A technique similar to SESSION method, while batch input is a two-step procedure, Call Transaction does both steps online, one after the other. In this method, you call a transaction from your program by
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>
    Messages into <MSGTAB>.
    Parameter – 1 is transaction code.
    Parameter – 2 is name of BDCTAB table.
    Parameter – 3 here you are specifying mode in which you execute transaction
    A is all screen mode. All the screen of transaction are displayed.
    N is no screen mode. No screen is displayed when you execute the transaction.
    E is error screen. Only those screens are displayed wherein you have error record.
    Parameter – 4 here you are specifying update type by which database table is updated.
    S is for Synchronous update in which if you change data of one table then all the related Tables gets updated. And sy-subrc is returned i.e., sy-subrc is returned for once and all.
    A is for Asynchronous update. When you change data of one table, the sy-subrc is returned. And then updating of other affected tables takes place. So if system fails to update other tables, still sy-subrc returned is 0 (i.e., when first table gets updated).
    Parameter – 5 when you update database table, operation is either successful or unsuccessful or operation is successful with some warning. These messages are stored in internal table, which you specify along with MESSAGE statement. This internal table should be declared like BDCMSGCOLL, a structure available in ABAP/4. It contains the following fields:
    1. Tcode: Transaction code
    2. Dyname: Batch point module name
    3. Dynumb: Batch input Dyn number
    4. Msgtyp: Batch input message type (A/E/W/I/S)
    5. Msgspra: Batch input Lang, id of message
    6. Msgid: Message id
    7. MsgvN: Message variables (N = 1 - 4)
    For each entry, which is updated in database, table message is available in BDCMSGCOLL. As BDCMSGCOLL is structure, you need to declare a internal table which can contain multiple records (unlike structure).
    Steps for CALL TRANSACTION method
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. UPLOAD or WS_UPLOAD function to upload the data from local file to itab. (Considering file is local file)
    4. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tcode> using <BDCTAB>
    Mode <A/N/E>
    Update <S/A>.
    Refresh BDCTAB.
    Endloop.
    (To populate BDCTAB, You need to transfer each and every field)
    The major differences between Session method and Call transaction are as follows:
    SESSION METHOD CALL TRANSACTION
    1. Data is not updated in database table unless Session is processed. Immediate updation in database table.
    2. No sy-subrc is returned. Sy-subrc is returned.
    3. Error log is created for error records. Errors need to be handled explicitly
    4. Updation in database table is always synchronous Updation in database table can be synchronous Or Asynchronous.
    Error Handling in CALL TRANSACTION
    When Session Method updates the records in database table, error records are stored in the log file. In Call transaction there is no such log file available and error record is lost unless handled. Usually you need to give report of all the error records i.e., records which are not inserted or updated in the database table. This can be done by the following method:
    Steps for the error handling in CALL TRANSACTION
    1. Internal table for the data (structure similar to your local file)
    2. BDCTAB like BDCDATA
    3. Internal table BDCMSG like BDCMSGCOLL
    4. Internal table similar to Ist internal table
    (Third and fourth steps are for error handling)
    5. UPLOAD or WS_UPLOAD function to upload the data from the local file to itab. (Considering file is local file)
    6. Loop at itab.
    Populate BDCTAB table.
    Call transaction <tr.code> using <Bdctab>
    Mode <A/N/E>
    Update <S/A>
    Messages <BDCMSG>.
    Perform check.
    Refresh BDCTAB.
    Endloop.
    7 Form check.
    IF sy-subrc <> 0. (Call transaction returns the sy-subrc if updating is not successful).
    Call function Format_message.
    (This function is called to store the message given by system and to display it along with record)
    Append itab2.
    Display the record and message.
    DIRECT INPUT
    About Direct Input
    In contrast to batch input, this technique does not create sessions, but stores the data directly. It does not simulate the online transaction. 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. Direct input checks the data thoroughly and then updates the database directly.
    You can start a Direct Input program in two ways;
    Start the program directly
    This is the quickest way to see if the program works with your flat file. This option is possible with all direct input programs. If the program ends abnormally, you will not have any logs telling you what has or has not been posted. To minimize the chance of this happening, always use the check file option for the first run with your flat file. This allows you to detect format errors before transfer.
    Starting the program via the DI administration transaction
    This transaction restarts the processing, if the data transfer program aborts. Since DI document are immediately posted into the SAP D/B, the restart option prevents the duplicate document posting that occurs during a program restart (i.e., without adjusting your flat file).
    Direct input is usually done for standard data like material master, FI accounting document, SD sales order and Classification for which SAP has provided standard programs.
    First time you work with the Direct Input administration program, you will need to do some preparation before you can transfer data:
    - Create variant
    - Define job
    - Start job
    - Restart job
    Common batch input errors
    - The batch input BDCDATA structure tries to assign values to fields which do not exist in the current transaction screen.
    - The screen in the BDCDATA structure does not match the right sequence, or an intermediate screen is missing.
    - On exceptional occasions, the logic flow of batch input session does not exactly match that of manual online processing. Testing the sessions online can discover by this.
    - The BDCDATA structure contains fields, which are longer than the actual definition.
    - Authorization problems.
    RECORDING A BATCH INPUT
    A B recording allows you to record a R/3 transaction and generate a program that contains all screens and field information in the required BDC-DATA format.
    You can either use SHDB transaction for recording or
    SYSTEM ? SERVICES ? BATCH INPUT ? EDIT
    And from here click recording.
    Enter name for the recording.
    (Dates are optional)
    Click recording.
    Enter transaction code.
    Enter.
    Click Save button.
    You finally come to a screen where, you have all the information for each screen including BDC_OKCODE.
    • Click Get Transaction.
    • Return to BI.
    • Click overview.
    • Position the cursor on the just recorded entry and click generate program.
    • Enter program name.
    • Click enter
    The program is generated for the particular transaction.
    BACKGROUND PROCESSING
    Need for Background processing
    When a large volume of data is involved, usually all batch inputs are done in background.
    The R/3 system includes functions that allow users to work non-interactively or offline. The background processing systems handle these functions.
    Non-interactively means that instead of executing the ABAP/4 programs and waiting for an answer, user can submit those programs for execution at a more convenient planned time.
    There are several reasons to submit programs for background execution.
    • The maximum time allowed for online execution should not exceed 300 seconds. User gets TIMEOUT error and an aborted transaction, if time for execution exceeds 300 seconds. To avoid these types of error, you can submit jobs for background processing.
    • You can use the system while your program is executing.
    This does not mean that interactive or online work is not useful. Both type of processing have their own purposes. Online work is the most common one entering business data, displaying information, printing small reports, managing the system and so on. Background jobs are mainly used for the following tasks; to process large amount of data, to execute periodic jobs without human intervention, to run program at a more convenient, planned time other than during normal working hours i.e., Nights or weekends.
    The transaction for background processing is SM36.
    Or
    Tools ? Administration ? Jobs ? Define jobs
    Or
    System ? services ? Jobs
    Components of the background jobs
    A job in Background processing is a series of steps that can be scheduled and step is a program for background processing.
    • Job name. Define the name of assigned to the job. It identifies the job. You can specify up to 32 characters for the name.
    • Job class. Indicates the type of background processing priority assigned to the job.
    The job class determines the priority of a job. The background system admits three types of job classes: A B & C, which correspond to job priority.
    • Job steps. Parameters to be passed for this screen are as follows:
    Program name.
    Variant if it is report program
    Start criteria for the job: Option available for this are as follows:
    Immediate - allows you to start a job immediately.
    Date/Time - allows you to start a job at a specific name.
    After job - you can start a job after a particular job.
    After event - allows you to start a job after a particular event.
    At operation mode - allows you to start a job when the system switches to a particular operation mode.
    Defining Background jobs
    It is two step process: Firstly, you define the job and then release it.
    When users define a job and save it, they are actually scheduling the report i.e., specifying the job components, the steps, the start time.
    When users schedule program for background processing, they are instructing the system to execute an ABAP/4 report or an external program in the background. Scheduled jobs are not executed until they are released. When jobs are released, they are sent for execution to the background processing system at the specified start time. Both scheduling and releasing of jobs require authorizations.
    HANDLING OF POP UP SCREEN IN BDC
    Many times in transaction pop up screen appears and for this screen you don’t pass any record but some indication to system telling it to proceed further. For example: The following screen
    To handle such screen, system has provided a variable called BDC_CURSOR. You pass this variable to BDCDATA and process the screen.
    Usually such screen appears in many transactions, in this case you are just passing information, that YES you want to save the information, that means YES should be clicked. So you are transferring this information to BDCDATA i.e., field name of YES which is usually SPOT_OPTION. Instead of BDC_OKCODE, you are passing BDC_CURSOR.
    BDC_CURSOR is also used to place cursor on particular field.
    AN EXAMPLE WITH SESSION METHOD
    Following program demonstrates how data is passed from flat file to SAP transaction and further to database table by using SESSION method.
    The transaction is TFBA (to change customer).
    A simple transaction where you are entering customer number on first screen and on next screen data is displayed for the particular customer number. Field, which we are changing here, are name and city. When you click on save, the changed record gets saved.
    Prerequisite to write this BDC interface as indicated earlier is:
    1. To find screen number
    2. To find screen field names, type of the field and length of the field.
    3. To find BDC_OKCODE for each screen
    4. Create flat file.
    Flat file can be created in your hard disk as follows:
    1 Vinod   Hyderabad
    2 Kavitha Secunderabad
    3 Kishore Hyderabad
    (Where 1st character field is Customer number, 2nd field is Customer name and 3rd field is City.)
    To transfer this data to database table SCUSTOM following interface can be used.
    REPORT DEMO1.
    Following internal table is to upload flat file.
    DATA: BEGIN OF ITAB OCCURS 0,
    ID(10),
    NAME(25),
    CITY(25),
    END OF ITAB.
    *Following internal table BDCDATA is to pass date from internal table to session.
    DATA: BDCTAB LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    Variables
    DATA: DATE1 LIKE SY-DATUM. DATE1 = SY-DATUM - 1. “ This is for Hold Date
    To upload flat file to internal table.
    CALL FUNCTION UPLOAD
    EXPORTING
    FILE NAME = ‘C:\FF.TXT’
    FILE TYPE = ‘ASC”
    TABLES
    DATA_TAB = ITAB
    EXCEPTIONS
    CONVERSION_ERROR = 1
    INVALID_TABLE_WIDTH = 2
    INVALID_TYPE = 3
    NO_BATCH = 4
    UNKNOWN_ERROR = 5
    OTHERS = 6.
    If sy-subrc = 0.
    Calling Function to Create a Session
    CALL FUNCTION ‘BDC_OPEN_GROUP’
    EXPORTING
    CLIENT = SY-MANDT
    GROUP = ‘POTHURI’
    HOLDDATE = DATE1
    KEEP = ‘X’
    USER = SY-UNAME
    EXCEPTIONS
    CLIENT_INVALID = 1
    DESTINATION_INVALID = 2
    GROUP_INVALID = 3
    GROUP_IS_LOCKED = 4
    HOLDDATE_INVALID = 5
    INTERNAL_ERROR = 6
    QUEUE_ERROR = 7
    RUNNING = 8
    SYSTEM_LOCK_ERROR = 9
    USER_INVALID = 10
    OTHERS = 11.
    If sy-subrc = 0.
    *-- MAIN Logic--
    LOOP AT ITAB
    PERFORM GENERATE_DATA. “ Populating BDCDATA Table
    CALL FUNCTION ‘BDC_INSERT’
    EXPORTING
    TCODE = ‘TFBA’
    TABLES
    DYNPROTAB = BDCTAB
    EXCEPTIONS
    INTERNAL_ERROR = 1
    NOT_OPEN = 2
    QUEUE_ERROR = 3
    TCODE_INVALID = 4
    PRINTING_INVALID = 5
    POSTING_INVALID = 6
    OTHERS = 7.
    REFRESH BDCTAB
    ENDLOOP.
    Calling function to close the session
    CALL FUNCTION ‘BDC_CLOSE_GROUP’
    EXCEPTIONS
    NOT_OPEN = 1
    QUEUE_ERROR = 2
    OTHERS = 3.
    Endif.
    Endif.
    *& Form GENERATE_DATA
    Create BDC Data
    FORM GENERATE_DATA
    Passing information for 1st screen on BDCDATA
    BDCTAB-PROGRAM = ‘SAPMTFBA’.
    BDCTAX-DYNPRO = 100.
    BDCTAP-DYNBEGIN = ‘X’.
    APPEND BCDTAB.CLEAR BDCTAB.
    Passing field information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-ID’
    BDCTAB-FVAL = ITAB-ID.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing BDC_OKCODE to BDCDATA
    BDCTAB-FNAM = ‘BDC_OKCODE’.
    BDCTAB-FVAL = ‘/5’.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information for next screen to BDCDATA
    BDCTAB-PROGRAM = ‘SAPMTFBA’.
    BDCTAB-DYNPRO = 200.
    BDCTAB-DYNBEGIN = ‘X’.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-NAME’.
    BDCTAB-FVAL = ITAB-NAME.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing screen information to BDCDATA
    BDCTAB-FNAM = ‘SCUSTOM-CITY’.
    BDCTAB-FVAL = ITAB-CITY.
    APPEND BDCTAB.CLEAR BDCTAB.
    Passing BDC_OKCODE to BDCDATA
    BDCTAB-FNAM = ‘BDC_OKCODE’.
    BDCTAB-FVAL = ‘SAVE’.
    APPEND BDCTAB.CLEAR BDCTAB.
    ENDFORM. “GENERATE_DATA
    AN EXAMPLE WITH CALL TRANSACTION
    Same steps to be repeated for CALL TRANSACTION
    The only difference between the two types of interface is in Session method, you create session and store information about screen and data into session. When session is processed the data is transferred to database. While in CALL TRANSACTION, data is transferred directly to database table.
    REPORT DEMO1.
    Follow above Code till MAIN Logic. Even the Subroutine should be copied
    LOOP AT ITAB
    PERFORM GENERATE_DATA, “Populating BDCDATA Table
    Call transaction ‘TFBA’ using BCDDATA Mode ‘A’ Update ‘S’.
    REFRESH BDCTAB
    ENDLOOP.
    regards.
    sowjanya.b.

  • MICN - batch program

    Hello
    We want to run this t-code by batch program. while executing the program on background ,it is not creating the physical inventory document . any suggestion please'
    Thanks
    Nick

    Hi Nick
    Hope the below information helps
    Batch Input: Create Physical Inventory Documents For Cycle Counting
    Title
    Batch input: Creating physical inventory documents for cycle counting
    Purpose
    You use this report to create: batch input sessions physical inventory documents for the cycle counting physical inventory procedure.
    Requirements
    This report only takes materials with cycle counting indicators into account. Before running the report, at plant level you must set this indicator for all materials that are to be included in the cycle counting procedure. Set the cycle counting indicator in one of the following ways:
    Manually in the storage data of the material master record
    Automatically using the report RMCBIN00
    Authorization check
    If you want to create batch input sessions with this report, you need authorization to enter physical inventory documents for all required plants (authorization object Physical inventory: Physical inventory document in plant, activity 01).
    This authorization check is carried out even if you define with the Create batch input indicator that at first only a control list of the data to be processed is to be issued.
    Features
    In addition to unrestricted-use stock, you can include stock in quality inspection and blocked stock in the selection.
    By specifying a threshold value, you can define that only stocks above or up to a particular level are included.
    Selection
    On the initial screen, you can restrict your selection.
    Output
    The system issues a list containing the following data:
    It lists all stock management units for which no physical inventory documents can be created.
    It then lists the stock management units for which a physical inventory is already active, but has not been completed within the predefined float time and therefore must be completed urgently. These stock management units are not included when the batch input session is created because active physical inventory documents already exist.
    In addition, the list contains all materials for which cycle counting is required within the planned interval (specified interval for the planned count date). If a physical inventory had already been due prior to the planned interval, the planned count date would be highlighted.
    Thanks/Karthik
    Edited by: Karthik on Jul 24, 2009 8:48 AM

  • Batch program run

    Hi Gurus,
    Can anybody please provide details on batch program run? How do we set these program? Is there any dcoumentation which I can use?
    thnaks,
    Khan

    Hi
    You can execute any program through background.
    Initially you need to create a variant using SE38
    In se38, give the program name and execute,
    In the screen, enter your required parameters and save them as variant
    with a name and description.
    Some parameters, you may require as dynamic, eg. range of dates,
    for which, select the "Selection variable - check box" against the parameter.
    and press Selection variable button on left hand top.
    here select the date form, it will chagne to green.
    Then, you may give the date range from the pull down menu. and Save the variant.
    Then enter SM36,
    Give the batch job name.
    Press on steps button,
    Give Program and select variant.
    Give user , Spool recepient and print specifications etc., to your requirement.
    and for second program, pick the earlier program line item and again pick STEPs icon.You may proceed with the same step and save.
    The batch job will be scheduled now.
    Then enter SM37 - here you can monitor the batch jobs.
    Here, you may give program name and execute,
    In next screen, select the batch job and press"start conditions"
    Give, batch job run date, and time and its frequency.
    In case of repeat batch job, please select periodic values and save.
    and save the batch job.
    Now, batch job is released and will run in the time and date specified.
    Hope this helps you
    Regards
    Sasi

  • Batch managment with classification

    Hi,
    I have material with batch and classification. Material master have base unit KG, but I need second unit PC or M and other parameters of material. (coefficient between KG and PC is not constant).
    I give to classification attributes fields: quantity, length. width, ...
    In goods receipt I input batch with classification (quantity, length. width, ...)
    Where can I see batch balance with classification ?
    Is possible recalculate attribute of classification quantity after goods issue or how I can manage balance of quantity?
    thank
    beto

    Hi,
    Once you fix the classification, i don't think you can recalculate the classification, what do you mean by batch balance?
    Aktar

  • Issue in printing the batch document with the T-code COPI

    Issue in printing the batch document with the T-code COPI.
    So Batch document is not printing not printing.
    Kindly help.

    I would suggest to read this blog as a starting point: Asking Good Questions in the SCN Discussion Spaces will help you get Good Answers
    then rephrase and enhance your question with some facts because in the moment it is not at all sufficient enough for anybody to help you further on your particular issue.
    I am even in doubt that you posted this issue in the right forum, has this PP transaction really something to do with ABAP Connectivity. Check the space overview page of ABAP Connectivity , under the picture you can read what this space is about.

Maybe you are looking for

  • Help with app world

    Hi am wondering if anyone could help me , I had a bb 8520 before I got my bb 9320 and I had bought themes on my 8520 , I have looked on bb app world and I can get them for my bb 9320 but I have set up a diffrent email adress to the one that was on my

  • P2 23.976 ?

    I thought this footage was shot at 30p - why does it say 23.976 in PP?

  • Error when creating transport from Satalite system

    Hi all i am getting the following error when i try and create a transport from a satalite system. The RFC connection to the Solution Manager system is not maintained Message no. STMWFLOW010 Diagnosis No RFC connection to the central lock information

  • JDeveloper 2

    the InfoBus sample(Emp-Dept) worked ok inside JDeveloper. However, when ran in Netscape 4, got this message - Applet Employee Applet noinited. This message - invalidating certificate principals in [file:/c%7C/jdply/, ] showed up on Java console where

  • CS3 FW drop down menu files not eporting correctly

    Drop down menu files are not exporting correctly. Here's what happened: 1. I did a file save as to the PNG file (from subban11.png to subban12.png) 2. Made changes to the drop down menu 3. Eported the file with the new name subban12 The result: 1. Th