BDC is not working in background for Transaction COR6N

Hi ,
   We have written the BDC program for transaction COR6N. BDC works perfectly in foreground but it's not working for background option.
    SELECT SINGLE AUFPL INTO W_AUFPL FROM AFKO
              WHERE AUFNR = W_AUFNR.
    SELECT AUFPL VORNR INTO TABLE IT_PHASE FROM AFVC
            WHERE AUFPL = W_AUFPL
              AND PHFLG = 'X'.
    LOOP AT IT_PHASE.
    WA_BDCDATA-PROGRAM  = 'SAPLCORU_S'.
    WA_BDCDATA-DYNPRO   = '0100'.
    WA_BDCDATA-DYNBEGIN = 'X'.
    APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM     = 'AFRUD-AUFNR'.
    WA_BDCDATA-FVAL     = W_AUFNR.
    APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM     = 'AFRUD-VORNR'.
    WA_BDCDATA-FVAL     = IT_PHASE-VORNR.
    APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM     = 'BDC_OKCODE'.
    WA_BDCDATA-FVAL     = '/00'.
    APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-PROGRAM  = 'SAPLCORU_S'.
    WA_BDCDATA-DYNPRO   = '0100'.
    WA_BDCDATA-DYNBEGIN = 'X'.
    APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM     = 'AFRUD-LMNGA'.
    WA_BDCDATA-FVAL     = w_qty. "'60'.
    APPEND WA_BDCDATA TO BDCDATA.
   CLEAR WA_BDCDATA.
   WA_BDCDATA-FNAM     = 'AFRUD-BUDAT'.
   WA_BDCDATA-FVAL     = w_date. "'31.12.2008'.
   APPEND WA_BDCDATA TO BDCDATA.
    CLEAR WA_BDCDATA.
    WA_BDCDATA-FNAM     = 'BDC_OKCODE'.
    WA_BDCDATA-FVAL     = '=BU'.
    APPEND WA_BDCDATA TO BDCDATA.
    clear X_OPTIONS.
    X_OPTIONS-DISMODE = 'N'.  ' works perfectly for 'A'
    X_OPTIONS-UPDMODE = 'S'.
    X_OPTIONS-CATTMODE = ' '.
    X_OPTIONS-DEFSIZE = ' '.
    X_OPTIONS-RACOMMIT = ' '.
    X_OPTIONS-NOBINPT = 'X'.
    X_OPTIONS-NOBIEND = ' '.
    CALL TRANSACTION 'COR6N'  USING BDCDATA  OPTIONS FROM X_OPTIONS
                       MESSAGES INTO ITAB.
                 MODE 'N'  MESSAGES INTO ITAB UPDATE 'S'.
   WAIT UP TO 3 SECONDS.
    COMMIT WORK AND WAIT.
    CLEAR:BDCDATA[],WA_BDCDATA.

HI,
COR6N is the Enjoy Transaction and sap does not suggest to write the BDC on these transaction as most of these transaction uses the GUI elements foe better display and which cannot be recorded while processing the BDC in back ground.
Check for the Normal transaction and write the BDC for it.
Or
Pass X to Rcommit flag in the CTU_PARAMS option and check.

Similar Messages

  • BADI implementation is not working in background for MRRL

    Hai frnds,
    BADI: MRM_WT_SPLIT_UPDATE is used for deducting withholding tax in MRRL(Invoice verification). This BADI was implemented and working fine in foreground, but not working in background.
    After implementing the BADI, the standard method of calculating TDS(from vendor master) is over written by BADI implementation.Now standard deduction is also not workijng in background.Plz help me to solve it.
    Bala.V

    HI,
    COR6N is the Enjoy Transaction and sap does not suggest to write the BDC on these transaction as most of these transaction uses the GUI elements foe better display and which cannot be recorded while processing the BDC in back ground.
    Check for the Normal transaction and write the BDC for it.
    Or
    Pass X to Rcommit flag in the CTU_PARAMS option and check.

  • BDC is not working as background job

    Dear Expert,
    I have developed a program which contain BDC of FB75 with mode 'E' . I have Schedule this program as background by FM 'JOB OPEN' , Submit statement and 'JOB CLOSE'. My problem is when i run this program as background BDC is not working.
    What is the solution of this problem?
    Thanks
    Avadhesh

    Hi Avadhesh,
      if FB75 is doing a commit work, then, your batch job will finish with error at the time of BDC execution.
      Try to add the option parameter type CTU_PARAMS to the CALL TRANSACTION with field RACOMMIT = 'X'.
    DATA opt TYPE ctu_params.
    opt-RACOMMIT = 'X'.
    CALL TRANSACTION 'FB75' USING bdcdata_tab OPTIONS FROM opt.
    Regards.

  • BDC is not working in background mode and working fine in Foreground mode

    Hi Experts,
    I have created a BDC in SHDB for the transaction code:CWBQM for creating and deleting the record and converted the BDC recording into the program using call transaction. It is working fine in both foreground and background. When I given the same program for users testing one for the user was able to delete the records but Creation is not working in the same BDC. He is able to create the same records in another PC and the problem is only in that PC and only during the creation of the record. When I change the mode to 'A' mode for testing and request the user to execute and it is working fine the records created successfully. What could be the issue ?
    Thanks,
    Hema

    Hello,
    While recording BDC in SHDB try setting "Simulate background mode" flag and give a try.
    Cheers,
    Nag

  • Commit work not working in Routine for Transaction because of LUW

    Hi all,
    i have req to send adobe PDF as attachement by email.
    Basically i am calling adobe from output type of VL02n .
    Inside this i can not use commit work because of LUW.Please suggest what should i do.
    so not able to send email in green status.
    i am using below code
    TRY.
          zlcl_send_request->set_document( zlcl_document ).
        CATCH cx_send_req_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
    Email sender
      TRY.
          zlcl_sender =  cl_sapuser_bcs=>create( sy-uname ).
        CATCH cx_address_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
      TRY.
          CALL METHOD zlcl_send_request->set_sender
            EXPORTING
              i_sender = zlcl_sender.
        CATCH cx_send_req_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
    Create the Reciever address
      TRY.
          zlcl_recipient = cl_cam_address_bcs=>create_internet_address(
                                             gv_email ).
        CATCH cx_address_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
      TRY.
          zlcl_send_request->add_recipient( EXPORTING i_recipient =
          zlcl_recipient ).
        CATCH cx_send_req_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
      TRY.
          zlcl_send_request->set_send_immediately( gc_x ).
        CATCH cx_send_req_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.
    Send the mail
      TRY.
          zlcl_send_request->send( ).
        CATCH cx_send_req_bcs INTO zicl_oref_cast.
          CLEAR gv_text_cast .
          gv_text_cast = zicl_oref_cast->get_text( ).
      ENDTRY.

    Hi
    From abap help:
    SY-ONCOM
    On Commit flag. This system field is set to different values depending on the call status of an ABAP program. Of these, only the value of u2018Pu2019 is guaranteed. If at all, SY-ONCOM must only be queried for u2018Pu2019.
    The value 'P' means that the program is already executing a subroutine started using PERFORM u2026 ON COMMIT and therefore a
    further subroutine call using PERFORM ... ON COMMIT would cause a runtime error.
    That means the variable SY-ONCOM has the information if a process "ON COMMIT" is working and so it determines if a dump has to be raised.
    Now it's clear the meaning of that correction: if before calling a new commit the value of SY-ONCOM is changed the dump will be avoided.
    I've done the following texts:
    REPORT  ZCOMMIT.
    WRITE: 'Calling routine on commit'.
    PERFORM DO_SOMETHING ON COMMIT.
    COMMIT WORK.
    FORM DO_SOMETHING.
      DATA: ONCOM TYPE SY-UCOMM.
      MOVE SY-ONCOM TO ONCOM.
      SY-ONCOM = 'S'.
      COMMIT WORK.
      MOVE ONCOM TO SY-ONCOM.
    ENDFORM.
    The code above is very dangerous, because it triggeres a ricorsive loop: no dump, but the form is continuously called, just as help says SY-ONCOM is equal to P
    REPORT  ZCOMMIT.
    WRITE: 'Calling routine on commit'.
    CALL FUNCTION 'Z_MAX_COMMIT' IN UPDATE TASK.
    COMMIT WORK.
    FUNCTION Z_MAX_COMMIT.
      DATA: ONCOM TYPE SY-UCOMM.
      MOVE SY-ONCOM TO ONCOM.
      SY-ONCOM = 'S'.
      COMMIT WORK.
      MOVE ONCOM TO SY-ONCOM.
    ENDFUNCTION.
    I expected the same behavior as above, but here no dump and no infinite loop, SY-ONCOM = V
    Now your process working in update task, but probably many function are called, I mean the system creates a queue of functions to be run in update task, so what happens here?
    I've tried this:
    FUNCTION Z_MAX_COMMIT.
    *"*"Function module di reg.:
    *"*"Interfaccia locale:
    *"  IMPORTING
    *"     VALUE(NO_COMMIT) TYPE  FLAG DEFAULT SPACE
      CHECK NO_COMMIT IS INITIAL.
      DATA: ONCOM TYPE SY-UCOMM.
      MOVE SY-ONCOM TO ONCOM.
      SY-ONCOM = 'S'.
      COMMIT WORK.
      MOVE ONCOM TO SY-ONCOM.
    ENDFUNCTION.
    REPORT  ZCOMMIT.
    WRITE: 'Calling routine on commit'.
    CALL FUNCTION 'Z_MAX_COMMIT' IN UPDATE TASK
      EXPORTING
        NO_COMMIT = 'X'.
    CALL FUNCTION 'Z_MAX_COMMIT' IN UPDATE TASK.
    CALL FUNCTION 'Z_MAX_COMMIT' IN UPDATE TASK
      EXPORTING
        NO_COMMIT = 'X'.
    COMMIT WORK.
    Here no dump and no infinite loop too, but also no impact on the rest of the functions,
    I can suppose the impact will be on the saving of data on database only, because your COMMIT ends the LUW, so it's very important the routine for printing is called at the end, after all saving routines.
    Max

  • BDC is not working in when executing the program in background

    Hi gurus,
    I have a problem that in BDC is not working when i'm executing the upload program in background thru scheduling(SM36) , while it works fine when i execute directly with NO screen display mode

    Many transactions behave differently when executed in foreground and background. The fields on the screen may be different.
    In transaction SHBD when starting a recording there is a checkbox where you can select 'Simulate Background Mode'. If you do your recording using this option you will get the code suitable for background mode. If you do not select this option you will get a code for foreground mode.
    By compairing the two codes you will know the changes required for background mode.
    Hope this helps you

  • Open dataset is not working in background in PRD

    Dear All,
    Open dataset is not working in background in PRD .
    OPEN DATASET filepath FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
    Whike running in foregroundits working dev as well as prd.
    but when i am running in background  its giving error like file not found .
    but al11 is working (i mean my file path is working ).
    Thanks N Regards,
    Srinivasa Reddy

    your authority team shall check the batch user of that abap!
    Could you please tell us the detailed error message?
    grx
    Andreas

  • Gui_download Function module is not working in Background Scheduling

    Hi Experts,
    Function modules like GUI_DOWNLOAD are not working in background scheduled jobs, It is raising an exception. Though it is working fine in foreground execution.
    Please provide me solution for this challenging task.
    you could be rated well for this question.
    Thanks,
    Rama Krishna.

    Hello,
    work with open dataset and close dataset...
    just loop over itab and transfer itab field for field into a string field separated by ;
    Here is an extract of coding:
    OPEN DATASET p_dath FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
      LOOP AT itab_pos.
        CLEAR satz.
        MOVE itab_pos-vbeln TO satz-vbeln.
        MOVE ';' TO satz-fill1.
        MOVE itab_pos-kunnr TO satz-kunnr.
        MOVE ';' TO satz-fill2.
        MOVE itab_pos-ktgrd TO satz-ktgrd.
        MOVE ';' TO satz-fill3.
        MOVE itab_pos-fkdat TO satz-fkdat.
        MOVE ';' TO satz-fill4.
        MOVE itab_pos-budat TO satz-budat.
        MOVE ';' TO satz-fill5.
        MOVE itab_pos-cpudt TO satz-cpudt.
        MOVE ';' TO satz-fill6.
        MOVE itab_pos-fkimg TO satz-fkimg.
        MOVE ';' TO satz-fill7.
        MOVE itab_pos-netwr TO satz-netwr.
        MOVE ';' TO satz-fill8.
        MOVE itab_pos-vrkme TO satz-vrkme.
        MOVE ';' TO satz-fill9.
        MOVE itab_pos-ktgrm TO satz-ktgrm.
        MOVE ';' TO satz-fill10.
        MOVE itab_pos-matnr TO satz-matnr.
        MOVE ';' TO satz-fill11.
        MOVE itab_pos-mattxt TO satz-mattxt.
        MOVE ';' TO satz-fill12.
        MOVE itab_pos-gewei TO satz-gewei.
        MOVE ';' TO satz-fill13.
        MOVE itab_pos-brgew TO satz-brgew.
        TRANSFER satz TO p_dath.
      ENDLOOP.
      CLOSE DATASET p_dath.
    It is not so comfortable as it is with GUI_DOWNLOAD but it works in background!

  • SUBMIT does not work in background...

    Hi guys,
    We have a copy program of a standard transaction and once we use this copy program in the main program via SUBMIT... it does not work in background...
    Why is this so,,, Please advice...
    THanks!

    Hi,
    When executing some program using the statement like SUBMIT prog_2 WITH parameters and RETURN.
    In foreground PROG_2 is executed, and once you click on the BACK button the code written after this SUBMIT statement will be executed.
    If you are executing the same in the BACKGROUND mode, no feasibility of clicking on BACK button, hence control will remain in the PROG_2 only after executing its logic.
    Please code accordingly.

  • Program not working ib background

    Moderator message: background/foreground/GUI problems = FAQ, please search before posting.
    Hi All,
    I have a program which is not working in background.It actuly takes the file and using GUI_upload i upload it into ITAb and then modify the database table based on this. But when i process this in foreground it working and updating the table.But when i scedule in background the job is getting over in 1-2 sec and not updating the table.
    Please help me. below is the code for your refrence:
    data:begin of i_tab occurs 0,
          Bp1 like DATAbase table,
          Bp2 like  database table,
         trf1 type string,
         trf2 type string,
         status type string,
      end of i_tab.
    data: BP_ver type STANDARD TABLE OF DATAbase table      with header line ,
          w_ver type  ZVERS_BUT050_CUR .
    DATA: it_tab type filetable,
        gd_subrc TYPE i,
        file_name TYPE string,
        path TYPE string.
    DATA : lw_file TYPE file_table.
    DATA: LIN TYPE I.
    *Input File
    SELECTION-SCREEN begin of block blk with frame title text-100.
    SELECTION-SCREEN SKIP 2.
    parameters : p_file like rlgrap-filename .
    SELECTION-SCREEN end of block blk.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CLEAR:  file_name.
      CALL METHOD cl_gui_frontend_services=>file_open_dialog
        EXPORTING
          window_title     = 'Select only Text File'
          default_filename = '*.txt'
          multiselection   = ' '
        CHANGING
          file_table       = it_tab
          rc               = gd_subrc.
      READ TABLE  it_tab INTO lw_file INDEX 1.
      file_name = lw_file.
      p_file = file_name.
    START-OF-SELECTION.
    *Upload the file
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                      = FILE_NAME
         FILETYPE                      = 'ASC'
       HAS_FIELD_SEPARATOR           = 'X'
      HEADER_LENGTH                 = 0
      READ_BY_LINE                  = 'X'
      DAT_MODE                      = ' '
      CODEPAGE                      = ' '
        TABLES
          DATA_TAB                    = i_tab
    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.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      loop at i_tab.
        if i_tab-status = 'Yes'.
          i_tab-status = 'V'.
        else.
          i_tab-status = 'I'.
        endif.
        modify i_tab.
      endloop.
      if i_tab is not INITIAL.
        select * from DATAbase table into CORRESPONDING FIELDS OF TABLE  BP_ver FOR ALL ENTRIES IN i_tab
          where PARTNER1 = i_tab-Bp1 and PARTNER2 = i_tab-bp2  .
      endif.
    *Update the table
      loop at BP_ver .
        clear i_tab.
        read TABLE i_tab  with key bp1 = BP_ver-PARTNER1 bp2 = BP_ver-PARTNER2  .
       if i_tab-bp1 = w_ver-PARTNER1 and i_tab-bp2 = w_ver-PARTNER2.
        BP_ver-PARTNER1 = i_tab-bp1 .
        BP_ver-PARTNER2 = i_tab-bp2 .
        BP_ver-Z_CURRENTLY_VALI = i_tab-status .
        modify BP_ver TRANSPORTING Z_CURRENTLY_VALI .
       endif.
      endloop.
      update DATAbase table from table bp_ver[] .
      if sy-SUBRC eq 0.
        commit work.
        message 'Table DATAbase table Updated Sucsussfully' type 'S'.
      else.
        message 'Table Not Updated !!! Check the file data or input' type 'S'.
      endif.
    Edited by: Thomas Zloch on Nov 12, 2010 11:03 AM

    Hi,
         Look at the coding in FM GUI_UPLOAD ... This does not work in background ....
    Batch mode is not supported
      IF sy-batch = 'X'.
        MESSAGE ID 'FES' TYPE 'E' NUMBER '002' RAISING NO_BATCH.
      ENDIF.
    Regards,
    Srini.

  • Workflow not working in Background Processing

    Hi All,
    I am relatively new to Workflow.  Currently, I am creating Deliveries (preferably in background) once a Sales Order is created.  I am using an ABAP Class as the object method to submit the sales order number to the delivery processing method (which just submits basic information to standard SAP transaction VL04).  I found that if the execution of the delivery creation task is not in Background Processing (the user manually kicks off the Delivery creation in SBWP) the workflow works as expected and creates the deliveries.  However, if the Background Processing is checked, the workflow does not process and does not create a delivery.  Is there any specific reason as to why the workflow will not work in background?
    Any help you can give would be greatly appreciated.  Thanks.
    John

    Hi,
    John
    See to process a Back ground task, there should be a proper parameter flow.
    Please look at the import parameters in the method you are using to process the back ground task..
    If proper import parameters are passed then the task will work
    This should help..
    Thanks,
    Shanky

  • YouTube will not work on safari for me on the ipad. Is there anyway to fix this? I can go anywhere else on the internet fine and it works on google chrome, but on safari it shows a blank screen with the bar on top after it loads.

    YouTube will not work on safari for me on the ipad. Is there anyway to fix this? I can go anywhere else on the internet fine and it works on google chrome, but on safari it shows a blank screen with the bar on top after it loads, if it's even loading at all.
    I do not know if it's relevant or not, but I got a message on my ipad while on safari saying that my iPhone has a virus. I looked it up and it seems it might have just been an ad from the website I was on, but it happened around the same time YouTube stopped working.

    You will find that using the YouTube app will provide a better viewing experience for YouTube videos.

  • In c200 chat is not working on background like 273...

    In 2730 c i will get sound alart when i get a im i will be 24hours online Chat is not working in background in c200 like 2730 c so i cant use im all time how to make it work like 2730 c in my c200 both are s40 no

    Dude, make sure u are on a 3G network to ensure clarity, then also, install skype so that you can get some of those neccessary files/apps to carry out voice stuffs...

  • Submit and return exporting list to memory is not working in background

    Hi gurus,
    i am using submit statement and exporting list to memory. it works fine in foreground and i am able to get the output. but in case of background , it is not exporting the list.PLease help me on this.
    Thanks and regards,
    Rajeshwar

    Hello Rajeshwar,
    This is a duplicate thread. You have a thread with the same question.
    [list_to_memory is not working in background;
    Jayant Sahu

  • Not working my setting for my icloud

    not working my setting for my icloud

    In what way is it not working?   Please give us more info.

Maybe you are looking for