Batch input---Commit work

HI All
I am doing a batch input to SU10 ,tcode
and su10 inturn is calling various FMs  that uses commit work
and because of this
when ever the code reaches to commit work,
rest of the of code(FM)  is not executed it went back to the
batch input program
now  the FM which uses commit work is a standard program
please let me know how i can proceed
the program is SUSR_ZBV_USER_SEND,line 286
Thanks in advance
Edited by: kittu reddy on Jun 13, 2008 2:50 PM

Hi,
  YOu can declare one work area of structure CTU_PARAMS. Move 'X' to the RACOMMIT. And pass this to Call transaction or if you are using session then pass this exporting parameters of FM 'BDC_INSERT '.
WA_PARAMS-DISMODE = 'N'.
WA_PARAMS-UPDMODE = 'S'.
WA_PARAMS-RACOMMIT = 'X'.
call transaction 'xxxx' using bdctab
options from wa_params......
if session then WA_PARAMS-RACOMMIT = 'X'. and pass this to CTUPARAMS of the exporting parameters of FM 'BDC_INSERT '.
Rgds,
Bujji

Similar Messages

  • Problem Running a Batch Input!

    Good Morning My Friends!
    Let me explain how I work today.
    I am running an RFC.
    This RFC executes a JOB.
    JOB executes a Batch Input BACK GROUND.
    My problem is this.
    If I only run the batch input it works, but when I call the RFC and it creates the job, the Batch Input does not work.
    Following is the code that creates the JOB.
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          delanfrep        = ' '
          jobgroup         = ' '
          jobname          = jobname
          sdlstrtdt        = sy-datum
          sdlstrttm        = sy-uzeit
        IMPORTING
          jobcount         = number
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
    IF sy-subrc EQ 0.
        SUBMIT zgpm_bat_inpl
                              WITH nome_per = nome
                              WITH descri = 'Descricao'
                              USER sy-uname
                              VIA JOB jobname NUMBER number
                              AND RETURN.
        exdate = sy-datum.
        extime = sy-uzeit.
        ADD 30 TO extime.
        DATA start_imediato LIKE btch0000-char1 VALUE 'X'.
    Define o start do job.
        CALL FUNCTION 'JOB_CLOSE'
          EXPORTING
            jobname              = jobname
            jobcount             = jobcount
           sdlstrtdt            = exdate
           sdlstrttm            = extime
            strtimmed            = start_imediato
          EXCEPTIONS
            cant_start_immediate = 1
            invalid_startdate    = 2
            jobname_missing      = 3
            job_close_failed     = 4
            job_nosteps          = 5
            job_notex            = 6
            lock_failed          = 7
            invalid_target       = 8
            OTHERS               = 9.
        IF sy-subrc <> 0.
        ENDIF.
    ENDIF.
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<
    Following is the code that runs the Batch Input.
    program :   zgpm_bat_inpl
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>
      opt_ctu_params-dismode = 'N'.
      opt_ctu_params-updmode = 'S'.
      opt_ctu_params-cattmode = ''.
      opt_ctu_params-defsize = ''.
      opt_ctu_params-racommit = 'X'.
      opt_ctu_params-nobinpt = ''.
      opt_ctu_params-nobiend = ''.
                  CALL TRANSACTION (name_tran) USING it_bdcdata
                                            OPTIONS FROM opt_ctu_params
                                            MESSAGES INTO it_msg.
    IF sy-subrc <> 0.
                    LOOP AT it_msg .
                      WRITE: /, it_msg-dyname,
                                it_msg-dynumb,
                                it_msg-msgv1,
                                it_msg-msgv2,
                                it_msg-msgv3,
                                it_msg-msgv4.        
                    ENDLOOP.
    endif.
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<<<<<<
    Att:
    Deivison BR

    See note 311440. I think you can only run this in the foreground.
    Rob

  • BATCH-INPUT On transaction VT02 does not work.

    Greetings, colleagues!!!
    I have written BATCH-INPUT on transaction VT02. I try to remove delivery from transportation. But for me does not work BATCH-INPUT because function of "Positioning" does not work in BATCH-INPUT. Prompt please. How I can remove delivery from transportation in my program using functionality of transaction VT02?
    Thanks for the help.
    Sergey Kozymaev.

    I used this in a program a while ago, worked like a charm.
    s_header-shipment_num = <shipment #>.
      i_item-delivery = <delivery #>.
      APPEND i_item.
      i_itemaction-delivery = 'D'.
      i_itemaction-itenerary = 'D'.
      APPEND i_itemaction.
      CALL FUNCTION 'BAPI_SHIPMENT_CHANGE'
        EXPORTING
          headerdata       = s_header
          headerdataaction = s_headeraction
        TABLES
          itemdata         = i_item
          itemdataaction   = i_itemaction
          return           = i_return.

  • 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

  • Problems retriving the asset created in a batch input using Abnan

    I created a batch input program that use the transaction ABNAN. I need to create a report with all the assets created and their respective documents in the batch input. However, that information is not given in the messages that are retrieve when the transaction is called. I use the following code:
      CALL TRANSACTION tcode USING bdcdata
                       MODE   call_mode
                       UPDATE update_mode
                       MESSAGES INTO messtab.
    At the end of this, messtab have a message id that correspond to this message:" text was saved".
    The asset number and the document # is given in a pop up message that appear when the person press save. This message is not included in the batch input.
    How can i get the asset created and its respective document?

    Hello Orlando
    Please refer to the ABAP documentation for "CALL TRANSACTION":
    CALL TRANSACTION 'ME21'  USING BDCTAB
                        MODE   'N'
                        UPDATE 'A'  " asynchronous !!!
                        MESSAGES INTO MESSTAB.
    CALL TRANSACTION 'ME21'  USING BDCTAB
                        MODE   'N'
                        UPDATE 'S'  " synchronous -> like COMMIT WORK AND WAIT
                        MESSAGES INTO MESSTAB.
    Regards
      Uwe

  • COMMIT WORK AND WAIT USE

    Hi Friends,
    what is mean by COMMIT WORK AND WAIT.
    when we use ths syntax...??
    situation pls.
    regards,
    venu.

    Hi,
    To apply the changes made to the runtime objects of persistent classes to the actual persistent objects in the database, execute the COMMIT WORK statement. (Alternatively, use COMMIT WORK AND WAIT or SET UPDATE TASK LOCAL). Unless you are executing an object-oriented transaction from within the Transaction Service, you must include the COMMIT WORK statement explicitly in the program. Otherwise, it is encapsulated in the Transaction Service. (If you explicitly include the COMMIT WORK statement as described here, the t op-level transaction runs in compatibility mode).
    The function of the COMMIT WORK statement is extended when you use it in conjunction with Object Services. Before COMMIT WORK closes the SAP LUW and triggers an update, it calls internal methods of the Persistence Service. These methods bundle the changes made to managed objects of the Persistence Service and pass them to a special update function module using CALL FUNCTION ... IN UPDATE TASK. Thus the Persistence Service works with traditional update methods. The update module is usually registered after any update modules that have already been registered. The update is then triggered and the update task executes the update module in the order in which they were registered.
    After the system executes the COMMIT WORK statement, it sets the attributes of each persistent object in the ABAP program to initial. (That is, it calls the IF_OS_STATE~INVALIDATE method).
    Local Update
    If you want to change managed objects directly, rather than using the update module, you must change the update mode of the implicitly used Transaction Service. That is, the following statements must be executed before the COMMIT WORK statement:
    DATA TM type ref to IF_OS_TRANSACTION_MANAGER.
    DATA T type ref to IF_OS_TRANSACTION.
      TM = CL_OS_SYSTEM=>GET_TRANSACTION_MANAGER( ).
    T = TM->GET_CURRENT_TRANSACTION( ).
    T->SET_MODE_UPDATE( OSCON_DMODE_DIRECT ).
    COMMIT WORK.
    To ensure database consistency, the local update is activated internally using SET UPDATE TASK LOCAL. In such cases, the system raises an exception if there are already update modules registered in the update task. You can only register additional classical update modules after setting the mode. They will then also be updated locally.
    COMMIT
    Basic form
    COMMIT WORK.
    Addition
    ... AND WAIT
    Effect
    Executes a database commit and thus closes a logical processing unit or Logical Unit of Work ( LUW ) (see also Transaction processing ). This means that
    all database changes are made irrevocable and cannot be reversed with ROLLBACK WORK and
    all database locks are released.
    COMMIT WORK also
    calls the subroutines specified by PERFORM ... ON COMMIT ,
    executes asynchronously any update requests (see CALL FUNCTION ... IN UPDATE TASK ) specified in these subroutines or started just before,
    processes the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK ,
    cancels all existing locks (see SAP locking concept ) if no update requests exist,
    closes all open database cursors (see OPEN CURSOR ) and
    resets the time slice counter to 0.
    COMMIT WORK belongs to the Open SQL command set.
    Return code value
    The SY-SUBRC is set to 0.
    Notes
    All subroutines called with PERFORM ... ON COMMIT are processed in the LUW concluded by the COMMIT WORK command. All V1 update requests specified in CALL FUNCTION ... IN UPDATE TASK are also executed in one LUW . When all V1 update requests have been successfully concluded, the V2 update requests ("update with start delayed") are processed, each in one LUW . Parallel to this, the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK are each executed in one LUW per destination.
    COMMIT WORK commands processed within CALL DIALOG processing
    - execute a database commit (see above),
    - close all open database cursors,
    - reset the time slice counter and
    - call the function modules specified by CALL FUNCTION IN
    BACKGROUND TASK in the CALL DIALOG processing.
    However, subroutines and function modules called with PERFORM ... ON COMMIT or CALL FUNCTION ... IN UPDATE TASK in the CALL DIALOG processing are not executed in the calling transaction until a COMMIT WORK occurs.
    Since COMMIT WORK closes all open database cursors, any attempt to continue a SELECT loop after a COMMIT WORK results in a runtime error. For the same reason, a FETCH after a COMMIT WORK on the now closed cursors also produces a runtime error. You must therefore ensure that any open cursors are no longer used after the COMMIT WORK .
    With batch input and CALL TRANSACTION ... USING , COMMIT WORK successfully concludes the processing.
    Addition
    ... AND WAIT
    Effect
    The addition ... AND WAIT makes the program wait until the type V1 updates have been completed.
    The return code value is set as follows:
    SY-SUBRC = 0 The update was successfully performed.
    SY-SUBRC <> 0 The update could not be successfully performed.
    Note
    Runtime errors
    COMMIT_IN_PERFORM_ON_COMMIT : COMMIT WORK is not allowed in a FORM callled with PERFORM ... ON COMMIT .
    COMMIT_IN_POSTING : COMMIT WORK is not allowed in the update task.
    if its useful reward points

  • BDT - Business Data Toolset and batch input

    hi
    i want to creat batch input for transaction REBDBE .
    i use transaction shdb in order to creat batch input - i record my moved and the despite the messege that this table record was updated i go to the table using se11 and i dont see that it was NOT updated ( i am doing the same actions but without rcording and using shdb and table record was updated )
    does anyone has an idea what can cause that???
    thanks

    Does the problem happen when you
    1) do the (initial and only) record with SHDB,
    2) or is it when you execute the program generated by SHDB?
    For option 1), I think it can't happen, or there is a bug in the sap standard REBDBE (one possibility is that the standard tests for the SHDB mode and works differently from normal use, and there would be a bug in that case). In that case, ask sap support.
    If it's with option 2, did you try to do a screen by screen execution? (execution mode "A")
    You may also try to change another flag in the launch screen, there is a flag which by default stops the call transaction after the first commit work, sometimes it is a bad option. There is also another flag which allows to make the system believe it should work as in normal use instead of "batch input" mode.
    Other possibilities :
    - check that you don't have custom code in the standard programs
    - check that you have removed all breakpoints when you execute, it may disturb the screen processing when it displays debugger screen ; it may only happen if you use the "old debugger"
    Note that business data toolset usually proposes a direct input mode (see sap documentation), but that's far more complex to use than batch input.

  • Delivery picking by inputting picked quantity on batch input subitem

    Hi All,
    For example: there is one item in a delivery document which is batch splitted into a subitem 900001. now i want to pick this delivery in my program.
    in foregroud, i need to input 'picking quantity' on subitem level(900001) so that the status can be changed from A to C meaning picking finished.
    I tried using FM LE_MOB_DELIVERY_UPDATE but there isn't field for 'picking quantity'. some one advised using SD_DELIVERY_UPDATE_PICKING, but seems it has the same problem.
    Thanks advance for your help.
    Legend.

    Resolved.
    I am using function 'SD_DELIVERY_UPDATE_PICKING' for the picking:
    Part 1. Populate VBKOK
                    REFRESH VBKOK.
    Delivery# - DC2_VBELN
                    VBKOK-VBELN = DC2_VBELN.
                    VBKOK-VBELN_VL = DC2_VBELN.
                    APPEND VBKOK.
    Part 2 Populate VBPOK
    Delivery Items - ITAB_LIPS
                    REFRESH ITAB_LIPS.
                    SELECT * FROM LIPS
                    INTO TABLE ITAB_LIPS
                    WHERE VBELN = DC2_VBELN.
                    REFRESH VBPOK.
                    LOOP AT ITAB_LIPS.
                      CLEAR VBPOK.
                      VBPOK-VBELN_VL = ITAB_LIPS-VBELN."Delivery
                      VBPOK-POSNR_VL = ITAB_LIPS-POSNR."Delivery Item
                      VBPOK-POSNN = ITAB_LIPS-POSNR."Delivery Item
                      VBPOK-VBELN = ITAB_LIPS-VBELN."Pick Order
                      VBPOK-VBTYP_N = 'Q'.
    Check UECHA to determine whether the item is splitted subitem,
    because we only want pick the splitted subitem.
                      IF ITAB_LIPS-UECHA IS NOT INITIAL.
                        VBPOK-PIKMG = ITAB_LIPS-LFIMG."Picked Qty
                        VBPOK-MEINS = ITAB_LIPS-MEINS.
                      ENDIF.
                      VBPOK-NDIFM = 0.
                      VBPOK-TAQUI = ' '.
                      VBPOK-CHARG = ITAB_LIPS-CHARG.
                      VBPOK-MATNR = ITAB_LIPS-MATNR.
                      VBPOK-ORPOS = 0.
                      APPEND VBPOK.
                    ENDLOOP.
    Picking
                    CALL FUNCTION 'SD_DELIVERY_UPDATE_PICKING'
                      EXPORTING
                        SYNCHRON      = ''
                        NICHT_SPERREN = ''
                        VBKOK_WA      = VBKOK
                        AUFRUFER_T    = ''
                      TABLES
                        VBPOK_TAB     = VBPOK
                        PROT          = PROT.
                    COMMIT WORK.
    Hope this help for those have the similar problem.
    Thanks.
    Legend.

  • How to control the result of  a batch input

    Hi everyone,
    We have a program that update the item category in the sales orders, after that using a batch input the system executes the va02 transaction to update the order, after the order has been updated we have to make the materials movement.
    Th eproblrm is that I need to know how can I control if the batch input has been executed correctly or not, because in that case the materials movement must not be executed.
    If help, the code is the following:
    FORM Batch_VA02.
      data: begin of bdcdata occurs 0.
        include structure bdcdata.
      data: end of bdcdata.
      data: campo(20) type c.
      data: campopos(20) type c.
      data: campomarcar(20) type c.
      data: campocambiar(20) type c.
    loop at PA1 where sel = 'X'. "ya está en un loop, al estar en en
    LANZAR_BATCH
        refresh bdcdata.
      Primera pantalla, introducir número pedido y enter.
        perform p TABLES BDCDATA using 'SAPMV45A' '0102' .
        perform c TABLES BDCDATA using 'VBAK-VBELN' pa1-pedid.
        perform c TABLES BDCDATA using 'BDC_OKCODE' '/00'.
      Segunda pantalla. Pulsar "Aprovisionamiento".
        perform p TABLES BDCDATA using 'SAPMV45A' '4001'.
        perform c TABLES BDCDATA using 'BDC_OKCODE' '=T05'.
      Antes de la tercera pantalla hay que posicionarse.
        perform p TABLES BDCDATA using 'SAPMV45A' '4001'.
        perform c TABLES BDCDATA using 'BDC_OKCODE' '=POPO'.
      Introducir número de posición
        campo = '01'.
        perform posicion changing campo.
        perform p TABLES BDCDATA using 'SAPMV45A' '0251'.
      Inicio modificación Chema Campos 28.06.2007 (CAU  58283)
      perform c TABLES BDCDATA using 'RV45A-POSNR' pa1-posic.
        if global_pos_nueva is initial.
          perform c TABLES BDCDATA using 'RV45A-POSNR' pa1-posic.
        else.
          perform c TABLES BDCDATA using 'RV45A-POSNR' global_pos_nueva.
        endif.
        clear global_pos_nueva.
      Fin modificación Chema Campos 28.06.2007 (CAU  58283)
        perform c TABLES BDCDATA using 'BDC_OKCODE' '=POSI'.
        move 'VBAP-BEDAE(01)'       to campopos.
        move 'RV45A-VBAP_SELKZ(01)' to campomarcar.
        move 'VBAP-BEDAE(01)'       to campocambiar.
      Antes de la tercera pantalla hay que posicionarse.
       campo = '01'.
       perform posicion changing campo.
       do.
         if campo > '10'. "hay que paginar.
           perform p TABLES BDCDATA using  'SAPMV45A' '4001'.
           perform c TABLES BDCDATA using  'BDC_OKCODE' '=P+'.
           campo = campo - 10.
         endif.
         condense campo.
         if campo+1(1) eq space.
           concatenate '0' campo into campo.
         endif.
         if campo <= '10'.
           exit.
         endif.
       enddo.
       condense campo.
       clear: campopos, campomarcar, campocambiar.
       concatenate 'VBAP-BEDAE(0' campo ')' into campopos.
       concatenate 'RV45A-VBAP_SELKZ(0' campo ')' into campomarcar.
       concatenate 'VBAP-BEDAE(0' campo ')' into campocambiar.
      Tercera pantalla.  Introducir valor ZRES y grabar.
        perform p TABLES BDCDATA using  'SAPMV45A' '4001'.
        perform c TABLES BDCDATA  using  'BDC_CURSOR' campopos.
          "posicionamos
        perform c TABLES BDCDATA using  campomarcar 'X'.
          "marcamos
        perform c TABLES BDCDATA using  campocambiar 'ZRES'.
          "actualizamos valor
        perform c TABLES BDCDATA using  'BDC_OKCODE' '=SICH'.
        CALL TRANSACTION 'VA02' USING bdcdata  UPDATE c_update
             MESSAGES INTO messa MODE  modo.
                         "A" temporalmete visible pra pruebas en integración
        COMMIT WORK AND WAIT.
        WAIT UP TO 2 SECONDS.
    endloop.
    ENDFORM.                    " Batch_VA02
    Thanks everyone

    hi,
    after executing va02 check for sy-subrc, if it is not equal to 0 .
    catch the errors into BDCmsg of structure BDCMSGCOLL and there open session for error records and u can transfer them into file aslo.
    ex:
    REPORT  zsr_report
    NO STANDARD PAGE HEADING
                            LINE-SIZE 255
                            MESSAGE-ID ZRASH.
    *--Internal Table for Data Uploading.
    DATA : BEGIN OF IT_FFCUST OCCURS 0,
             KUNNR(10),
             BUKRS(4),
             KTOKD(4),
             ANRED(15),
             NAME1(35),
             SORTL(10),
             STRAS(35),
             ORT01(35),
             PSTLZ(10),
             LAND1(3),
             SPRAS(2),
             AKONT(10),
           END OF IT_FFCUST.
    *--Internal Table to Store Error Records.
    DATA : BEGIN OF IT_ERRCUST OCCURS 0,
             KUNNR(10),
             EMSG(255),
           END OF IT_ERRCUST.
    *--Internal Table to Store Successful Records.
    DATA : BEGIN OF IT_SUCCUST OCCURS 0,
             KUNNR(10),
             SMSG(255),
           END OF IT_SUCCUST.
    *--Internal Table for Storing the BDC data.
    DATA : IT_CUSTBDC LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
    *--Internal Table for storing the messages.
    DATA : IT_CUSTMSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA : V_FLAG1(1) VALUE ' ',
    "Flag used for opening session.
           V_TLINES LIKE SY-TABIX,
           "For storing total records processed.
           V_ELINES LIKE SY-TABIX,
           "For storing the no of error records.
           V_SLINES LIKE SY-TABIX.
           "For storing the no of success records.
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    PARAMETERS : V_FNAME LIKE RLGRAP-FILENAME,
                 V_SESNAM  LIKE RLGRAP-FILENAME.
    SELECTION-SCREEN END OF BLOCK B1.
    START-OF-SELECTION.
    *-- Form to upload flatfile data into the internal table.
      PERFORM FORM_UPLOADFF.
    TOP-OF-PAGE.
      WRITE:/ 'Details of the error and success records for the transaction'
      ULINE.
      SKIP.
    END-OF-SELECTION.
    *-- Form to Generate a BDC from the Uploaded Internal table
      PERFORM FORM_BDCGENERATE.
    *--To write the totals and the session name.
      PERFORM FORM_WRITEOP.
    FORM FORM_UPLOADFF .
    *--Variable to change the type of the parameter file name.
      DATA : LV_FILE TYPE STRING.
      LV_FILE = V_FNAME.
    *--Function to upload the flat file to the internal table.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                      =  LV_FILE
        FILETYPE                      = 'ASC'
          HAS_FIELD_SEPARATOR           = 'X'
        HEADER_LENGTH                 = 0
        READ_BY_LINE                  = 'X'
        DAT_MODE                      = ' '
      IMPORTING
        FILELENGTH                    =
        HEADER                        =
        TABLES
          DATA_TAB                      = IT_FFCUST
        EXCEPTIONS
          FILE_OPEN_ERROR               = 1
          FILE_READ_ERROR               = 2
          NO_BATCH                      = 3
          GUI_REFUSE_FILETRANSFER       = 4
          INVALID_TYPE                  = 5
          NO_AUTHORITY                  = 6
          UNKNOWN_ERROR                 = 7
          BAD_DATA_FORMAT               = 8
          HEADER_NOT_ALLOWED            = 9
          SEPARATOR_NOT_ALLOWED         = 10
          HEADER_TOO_LONG               = 11
          UNKNOWN_DP_ERROR              = 12
          ACCESS_DENIED                 = 13
          DP_OUT_OF_MEMORY              = 14
          DISK_FULL                     = 15
          DP_TIMEOUT                    = 16
          OTHERS                        = 17
      IF SY-SUBRC = 0.
    *--Deleting the headings from the internal table.
        DELETE IT_FFCUST INDEX 1.
    *--Getting the total number of records uploaded.
        DESCRIBE TABLE IT_FFCUST LINES V_TLINES.
      ENDIF.
    ENDFORM.                    " form_uploadff
    FORM FORM_BDCGENERATE .
    *--Generating the BDC table for the fields of the internal table.
      LOOP AT IT_FFCUST.
        PERFORM POPULATEBDC USING :
                                    'X' 'SAPMF02D' '0105',
                                    ' ' 'BDC_OKCODE'  '/00' ,
                                    ' ' 'RF02D-KUNNR' IT_FFCUST-KUNNR,
                                    ' ' 'RF02D-BUKRS' IT_FFCUST-BUKRS,
                                    ' ' 'RF02D-KTOKD' IT_FFCUST-KTOKD,
                                    'X' 'SAPMF02D' '0110' ,
                                    ' ' 'BDC_OKCODE'  '/00',
                                    ' ' 'KNA1-ANRED'  IT_FFCUST-ANRED,
                                    ' ' 'KNA1-NAME1' IT_FFCUST-NAME1,
                                    ' ' 'KNA1-SORTL'  IT_FFCUST-SORTL,
                                    ' ' 'KNA1-STRAS' IT_FFCUST-STRAS,
                                    ' ' 'KNA1-ORT01' IT_FFCUST-ORT01,
                                    ' ' 'KNA1-PSTLZ' IT_FFCUST-PSTLZ,
                                    ' ' 'KNA1-LAND1' IT_FFCUST-LAND1,
                                    ' ' 'KNA1-SPRAS' IT_FFCUST-SPRAS,
                                    'X' 'SAPMFO2D' '0120',     
                                    ' ' 'BDC_OKCODE'  '/00',
                                    'X' 'SAPMF02D' '0125',     
                                    ' ' 'BDC_OKCODE'  '/00',
                                    'X' 'SAPMF02D' '0130',     
                                    ' ' 'BDC_OKCODE'  '=ENTR',
                                    'X' 'SAPMF02D' '0340',     
                                    ' ' 'BDC_OKCODE'  '=ENTR',
                                    'X' 'SAPMF02D' '0360',
                                    ' ' 'BDC_OKCODE'  '=ENTR',
                                    'X' 'SAPMF02D' '0210',     
                                    ' ' 'KNB1-AKONT'  IT_FFCUST-AKONT,
                                    ' ' 'BDC_OKCODE'  '/00',
                                    'X' 'SAPMF02D' '0215',
                                    ' ' 'BDC_OKCODE'  '/00',
                                    'X' 'SAPMF02D' '0220',     
                                    ' ' 'BDC_OKCODE'  '/00',
                                    'X' 'SAPMF02D' '0230',     
                                    ' ' 'BDC_OKCODE'  '=UPDA'.
    *--Calling the transaction 'fd01'.
        CALL TRANSACTION 'FD01' USING IT_CUSTBDC MODE 'N' UPDATE 'S'
        MESSAGES INTO IT_CUSTMSG.
        IF SY-SUBRC <> 0.
    *--Populating the error records internal table.
          IT_ERRCUST-KUNNR = IT_FFCUST-KUNNR.
          APPEND IT_ERRCUST.
          CLEAR IT_ERRCUST.
    *--Opening a session if there is an error record.
          IF V_FLAG1 = ' '.
            PERFORM FORM_OPENSESSION.
            V_FLAG1 = 'X'.
          ENDIF.
    *--Inserting the error records into already open session.
          IF V_FLAG1 = 'X'.
            PERFORM FORM_INSERT.
          ENDIF.
    *--Populating the Success records internal table.
        ELSE.
          IT_SUCCUST-KUNNR = IT_FFCUST-KUNNR.
          APPEND IT_SUCCUST.
          CLEAR IT_SUCCUST.
        ENDIF.
    *--Displaying the messages.
        IF NOT IT_CUSTMSG[] IS INITIAL.
          PERFORM FORM_FORMATMSG.
        ENDIF.
    *--Clearing the message and bdc tables.
        CLEAR : IT_CUSTBDC[],IT_CUSTMSG[].
      ENDLOOP.
    *--Getting the total no of error records.
      DESCRIBE TABLE IT_ERRCUST LINES V_ELINES.
    *--Getting the total no of successful records.
      DESCRIBE TABLE IT_SUCCUST LINES V_SLINES.
    *--Closing the session only if it is open.
      IF V_FLAG1 = 'X'.
        PERFORM FORM_CLOSESESS.
      ENDIF.
    ENDFORM.                    " Form_bdcgenerate
    FORM POPULATEBDC  USING    VALUE(P_0178)
                               VALUE(P_0179)
                               VALUE(P_0180).
      IF P_0178 = 'X'.
        IT_CUSTBDC-PROGRAM = P_0179.
        IT_CUSTBDC-DYNPRO = P_0180.
        IT_CUSTBDC-DYNBEGIN = 'X'.
      ELSE.
        IT_CUSTBDC-FNAM = P_0179.
        IT_CUSTBDC-FVAL = P_0180.
      ENDIF.
      APPEND IT_CUSTBDC.
      CLEAR IT_CUSTBDC.
    ENDFORM.                    " populatebdc
    *&      Form  FORM_OPENSESSION
          Form to Open a session.
    FORM FORM_OPENSESSION .
    *--Variable to convert the given session name into reqd type.
      DATA : LV_SESNAM(12).
      LV_SESNAM = V_SESNAM.
    *--Opening a session.
      CALL FUNCTION 'BDC_OPEN_GROUP'
       EXPORTING
         CLIENT                    = SY-MANDT
         GROUP                     = LV_SESNAM
         HOLDDATE                  = '20040805'
         KEEP                      = 'X'
         USER                      = SY-UNAME
         PROG                      = SY-CPROG
    IMPORTING
       QID                       =
       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.
        WRITE :/ 'Session not open'.
      ENDIF.
    ENDFORM.                    " FORM_OPENSESSION
    *&      Form  FORM_INSERT
          fORM TO INSERT ERROR RECOED INTO A SESSION.
    FORM FORM_INSERT .
    *--Inserting the record into session.
      CALL FUNCTION 'BDC_INSERT'
        EXPORTING
          TCODE                  = 'FD01'
        POST_LOCAL             = NOVBLOCAL
        PRINTING               = NOPRINT
        SIMUBATCH              = ' '
        CTUPARAMS              = ' '
        TABLES
          DYNPROTAB              = IT_CUSTBDC
        EXCEPTIONS
          INTERNAL_ERROR         = 1
          NOT_OPEN               = 2
          QUEUE_ERROR            = 3
          TCODE_INVALID          = 4
          PRINTING_INVALID       = 5
          POSTING_INVALID        = 6
          OTHERS                 = 7
      IF SY-SUBRC <> 0.
        WRITE :/ 'Unable to insert the record'.
      ENDIF.
    ENDFORM.                    " FORM_INSERT
    *&      Form  FORM_CLOSESESS
          Form to Close the Open Session.
    FORM FORM_CLOSESESS .
      CALL FUNCTION 'BDC_CLOSE_GROUP'
        EXCEPTIONS
          NOT_OPEN    = 1
          QUEUE_ERROR = 2
          OTHERS      = 3.
      IF SY-SUBRC <> 0.
      ENDIF.
    ENDFORM.                    " FORM_CLOSESESS
    *&      Form  FORM_FORMATMSG
          Form to format messages.
    FORM FORM_FORMATMSG .
    *--Var to store the formatted msg.
      DATA : LV_MSG(255).
      CALL FUNCTION 'FORMAT_MESSAGE'
        EXPORTING
          ID        = SY-MSGID
          LANG      = SY-LANGU
          NO        = SY-MSGNO
          V1        = SY-MSGV1
          V2        = SY-MSGV2
          V3        = SY-MSGV3
          V4        = SY-MSGV4
        IMPORTING
          MSG       = LV_MSG
        EXCEPTIONS
          NOT_FOUND = 1
          OTHERS    = 2.
      IF SY-SUBRC = 0.
        WRITE :/ LV_MSG.
      ENDIF.
      ULINE.
    ENDFORM.                    " FORM_FORMATMSG
    *&      Form  form_writeop
          To write the totals and the session name.
    FORM FORM_WRITEOP .
      WRITE :/ 'Total Records Uploaded :',V_TLINES,
               / 'No of Error Records :',V_ELINES,
               / 'No of Success Records :',V_SLINES,
               / 'Name of the Session :',V_SESNAM.
      ULINE.

  • Problem while executing Batch Input session

    HI All,
           I am creating batch input session for transaction FB01.After creating the sesson when I am trying to execute it, its giving me the pop up "Session XYZ is being processed by user" and doesnt allow to excute it.
      Pease suggest me the solution on this.
      I have tried using "COMMIT WORK" , " COMMIT WORK AND WAIT", but it is not working.
    Regards
    Saurabh

    HI Saurabh
      I guess you are trying to process a session which already being processed. You can check the session that are currently in processing state via tab <b>"In Processing".</b> We an process the sessions that are in <b>"New"</b> or <b>"Incorrect"</b> State.
    Kind Regards
    Eswar

  • Batch Input for Parked Invoice (FB60) - Lag in creation ???

    Hi folks,
    I'm using a batch input on FB60 so as to generate a parked invoice. Furthermore, I'm calling it in complex posting 'cause sometimes it implies posting on asset (posting keys 70 and 75).
    The point is that the batch input works fine, but sometimes in the exact same situtation, with non rationnal explanation.
    I'm using this :
      sl_bdcoption-dismode = 'N'.
      sl_bdcoption-racommit = 'X'.
      sl_bdcoption-nobinpt = 'X'.
      sl_bdcoption-updmode = 'L'.    " or A or S, still the same
      CALL TRANSACTION 'FB60' USING tl_bdcdata
                              MESSAGES INTO tl_messtab
                              OPTIONS FROM sl_bdcoption.
      COMMIT WORK AND WAIT.
    so that I can catch the number of my created invoice from the message table. Indeed I need this to update BKPF which has some custom fields (on the Basis Data tab). All the transactional controls on my custom fields are deactivated through an Export to Memory and I know how the screen displays with the option sl_bdcoption-nobinpt = 'X', both set before the call.
    First I thought my bug was coming from the Update Mode in structure sl_bdcoption, but I've tried to set it to A, S or even L. I've tried many options from that structure, but the bug remains random...
    How can I be sure that the call is ended and that my new invoice is created ?
    Any oher way I can do this ? Any BAPI I haven't found ?
    Thx in advance for your help,
    NH

    Thx, I'll try the E mode. I hope it will solve that issue, it's driving me mad
    Actually, even if the context I'm using the Batch Input seems complex, due to the complex posting, the invoice I generate in that particular program is quite simple.
    I was hoping that someone has already saw that table half empty
    Do you think it may come from the exit in FI used to add some custom fields on the 'Basis Data' tab ?
    NH

  • 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

  • Commit work functionality

    Hello all,
    can anyone explain me what is commit work mean.
    Thanks & Regards
    venkata prasad

    Hello
    Check this
    Syntax Diagram
    COMMIT
    Basic form
    COMMIT WORK.
    Addition:
    ... AND WAIT
    Effect
    Executes a database commit and thus closes a Logical Unit of Work ( LUW) (see also Transaction Processing). This means that
    all database updates are made irrevocable and cannot be reversed with ROLLBACK WORK and
    all database locks are released.
    COMMIT WORK also
    calls the subroutines specified by PERFORM ... ON COMMIT,
    executes asynchronously any update requests (see CALL FUNCTION ... IN UPDATE TASK) specified in these subroutines or started just before,
    processes the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK,
    closes all open database cursors (see OPEN CURSOR) and
    resets the time slice counter to 0.
    COMMIT WORK belongs to the Open SQL command set.
    The return code SY-SUBRC is set to 0.
    Notes
    All subroutines called with PERFORM ... ON COMMIT are processed in the LUW concluded by the COMMIT WORK command. All V1 update requests specified in CALL FUNCTION ... IN UPDATE TASK are also executed in one LUW. When all V1 update requests have been successfully concluded, the V2 update requests ("update with start delayed") are processed, each in one LUW. Parallel to this, the function modules specified in CALL FUNCTION ... IN BACKGROUND TASK are each executed in one LUW per destination.
    COMMIT WORK commands processed within CALL DIALOG processing
    - execute a database commit (see above),
    - close all open database cursors,
    - reset the time slice counter and
    - call the function modules specified by CALL FUNCTION IN
    BACKGROUND TASK in the CALL DIALOG processing.
    However, subroutines and function modules called with PERFORM ... ON COMMIT or CALL FUNCTION ... IN UPDATE TASK in the CALL DIALOG processing are not executed in the calling transaction until a COMMIT WORK occurs.
    Since COMMIT WORK closes all open database cursors, any attempt to continue a SELECT loop after a COMMIT WORK results in a runtime error. For the same reason, a FETCH after a COMMIT WORK on the now closed cursors also produces a runtime error. You must therefore ensure that any open cursors are no longer used after the COMMIT WORK.
    With batch input and CALL TRANSACTION ... USING, COMMIT WORK successfully concludes the processing.
    Addition
    ... AND WAIT
    Effect
    The addition ... AND WAIT makes the program wait until the type V1 updates have been completed.
    The return code is set as follows:
    SY-SUBRC = 0:
    The update was successfully performed.
    SY-SUBRC <> 0:
    The update could not be successfully performed.
    Note
    Runtime errors:
    COMMIT_IN_PERFORM_ON_COMMIT: COMMIT WORK is not allowed in a FORM called with PERFORM ... ON COMMIT.
    COMMIT_IN_POSTING: COMMIT WORK is not allowed in the update task.
    Additional help
    Making Database Changes Permanent
    If useful reward.
    Vasanth

  • Commit work sets sy-subrc 0

    I
    Commit work sets sy-subrc always to zero.
    In this case how can we know if commit work fails.
    Please provide more details and efficient usage of commit statements in a report

    Hi,
    Usage of commit statements is as follows:
    COMMIT WORK.
    Addition
    u2026 AND WAIT
    Effect
    Executes a database commit and thus closes a logical processing unit or Logical Unit of Work ( LUW ) (see also Transaction processing ). This means that
    all database changes are made irrevocable and cannot be reversed with ROLLBACK WORK and
    all database locks are released.
    COMMIT WORK also
    calls the subroutines specified by PERFORM u2026 ON COMMIT ,
    executes asynchronously any update requests (see CALL FUNCTION u2026 IN UPDATE TASK ) specified in these subroutines or started just before,
    processes the function modules specified in CALL FUNCTION u2026 IN BACKGROUND TASK ,
    cancels all existing locks (see SAP locking concept ) if no update requests exist,
    closes all open database cursors (see OPEN CURSOR ) and
    resets the time slice counter to 0.
    COMMIT WORK belongs to the Open SQL command set.
    Return code value
    The SY-SUBRC is set to 0.
    Notes
    All subroutines called with PERFORM u2026 ON COMMIT are processed in the LUW concluded by the COMMIT WORK command. All V1 update requests specified in CALL FUNCTION u2026 IN UPDATE TASK are also executed in one LUW . When all V1 update requests have been successfully concluded, the V2 update requests (u201Dupdate with start delayedu201D) are processed, each in one LUW . Parallel to this, the function modules specified in CALL FUNCTION u2026 IN BACKGROUND TASK are each executed in one LUW per destination.
    COMMIT WORK commands processed within CALL DIALOG processing
    - execute a database commit (see above),
    - close all open database cursors,
    - reset the time slice counter and
    - call the function modules specified by CALL FUNCTION IN
    BACKGROUND TASK in the CALL DIALOG processing.
    However, subroutines and function modules called with PERFORM u2026 ON COMMIT or CALL FUNCTION u2026 IN UPDATE TASK in the CALL DIALOG processing are not executed in the calling transaction until a COMMIT WORK occurs.
    Since COMMIT WORK closes all open database cursors, any attempt to continue a SELECT loop after a COMMIT WORK results in a runtime error. For the same reason, a FETCH after a COMMIT WORK on the now closed cursors also produces a runtime error. You must therefore ensure that any open cursors are no longer used after the COMMIT WORK .
    With batch input and CALL TRANSACTION u2026 USING , COMMIT WORK successfully concludes the processing.
    Addition
    u2026 AND WAIT
    Effect
    The addition u2026 AND WAIT makes the program wait until the type V1 updates have been completed.
    The return code value is set as follows:
    SY-SUBRC = 0 The update was successfully performed.
    SY-SUBRC <> 0 The update could not be successfully performed.
    Note
    Runtime errors
    COMMIT_IN_PERFORM_ON_COMMIT : COMMIT WORK is not allowed in a FORM callled with PERFORM u2026 ON COMMIT .
    COMMIT_IN_POSTING : COMMIT WORK is not allowed in the update task.
    Hope it will help you.
    Feel free to ask any doubt.
    Regards
    Aparna

  • LT04 BATCH INPUT TROUBLE

    Hy guys i have a little trouble with my batch input. in my table t_fabb i have many rows but just after the first batch, i have an error message:MESSAGE e000(zlo) WITH 'Errore conferma OT LT04.
    If i exit from the report ang get in again , the same row that failed , succed but the next row fail etc...
    i can't understand why....
    LOOP AT t_fabb.   
    SELECT *
          FROM ltbk
         WHERE tbnum >= t_fabb-tbnum
           AND lznum  = t_fabb-aufnr
           AND lgnum  = '050'
           AND statu <> 'E'.
          SELECT SINGLE *
            FROM ltbp
           WHERE lgnum  = '050'
             AND elikz <> 'X'
             AND matnr = t_fabb-matnr
             AND tbnum = ltbk-tbnum
             AND charg <> ''.
          IF sy-subrc = 0.
            EXIT.
          ENDIF.
        ENDSELECT.
        IF sy-subrc <> 0.
          MESSAGE e000(zlo) WITH 'Numero OT già confermata'.
          LEAVE SCREEN.SET SCREEN 0.
        ENDIF.
        CLEAR bdcdata.
        REFRESH bdcdata.
        PERFORM bdc_dynpro      USING 'SAPML03T' '0131'.
    *  PERFORM bdc_field       USING 'BDC_CURSOR'
    *                               'LTBK-TBNUM'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LTAK-LGNUM'
                                      '050'.
        PERFORM bdc_field       USING 'LTBK-TBNUM'
                                      ltbp-tbnum.
        PERFORM bdc_field       USING '*LTBP-TBPOS'
                                    ltbp-tbpos.
        PERFORM bdc_field       USING 'RL03T-ALAKT'
                                      'X'.
        PERFORM bdc_field       USING 'RL03T-DUNKL'
                                       'D'.
        CALL TRANSACTION 'LT04' USING bdcdata
    *{   REPLACE        LGPK901791                                        1
    *                     MODE 'N'  UPDATE 'S' MESSAGES INTO messtab.
                         MODE 'E'  UPDATE 'S' MESSAGES INTO messtab.
    *}   REPLACE
        IF sy-subrc = 0.
          SELECT SINGLE *
            FROM ltbp
           WHERE lgnum = '050'
             AND tbnum = ltbp-tbnum
             AND tanum <> ' '.
          IF sy-subrc = 0.
            z311a-ztanum = ltbp-tanum.
          ENDIF.
          PERFORM modify_z331a.
        ELSE.
          MESSAGE e000(zlo) WITH 'Errore conferma OT LT04'.
          LEAVE SCREEN.SET SCREEN 0.
        ENDIF.
        READ TABLE messtab WITH KEY msgtyp = 'S'
                                    msgid = 'LT'
                                    msgnr = '100'.
      ENDLOOP.

    Hi,
    Just check in 'messtab' if there is some error messages.
    Please note that when transfer orders are created in sequence a commit work must be placed between the calls so as to clear the global internal tables associated.
    Instead of call transaction i suggest that you use the FM L_TO_CREATE_TR. Please go through teh documenttation of the FM.
    Also i find that you are doing SELECT within LOOPs. Please try to avoid it. Although it is not related to your issue; but as best practices one should avoid it.
    Regards,
    Ankur Parab

Maybe you are looking for

  • No sound from itunes movies on Apple TV

    I've had this problem for the last few months. When I watch the trailer on ATV, the sound is fine. The sound also works great when we watch Netflix, Youtube or Video Podcasts. The issue comes when I purchase the movie on Itunes on Apple TV and stream

  • Error writing to file: C:\Program Files\iPod\Acknowledgements.rtf  verify that you have access to that directory

    error writing to file: C:\Program Files\iPod\Acknowledgements.rtf Verify that you have access to that directory How do I go about doing this?

  • QTD value in ASO

    Hi All, I have a ASO application with Time and Period dimension. The hierarchy of Time dimension is like: Time ------Total Year ------Q1 ------Jan ------Feb ------Mar The hierarchy of Period dimension is like: Period -----FY11 -----FY12 ------QTD Now

  • How to install the Workflow Manager for ?

    how to install the Workflow Manager for ? where can I find the information ?

  • CS6 Looks Weird...Need Help!

    Hello. I am running Adobe Photoshop CS6 on Windows 8 64bit. When I open up pics, photos, etc. in CS6, they look a little weird, like the color is off. They also look a little pixelized but they shouldn't be. Does anybody know why this is and what opt