Call transaction 'SE38'

Hi,
i'm calling transaction SE38 from my report.
First try was this:
set parameter id 'RID' field selfield-value.
  call transaction 'SE38' and skip first screen.
But the first screen is not skipped, it just stays on the entry screen with the reportname correctly filled.
After that i tried
bdcdyn 'SAPLWBABAP' '0100'.
  bdcfil 'BDC_OKCODE' '=SHOP'.
  bdcfil 'RS38M-PROGRAMM' selfield-value.
  bdcfil 'RS38M-FUNC_EDIT' 'X'.
CALL TRANSACTION 'SE38' USING it_bdc MODE 'E'.
This is working, but the old editor is called and not the new one.
So at least, its working, but i really would like to call the new editor (which is configured in utilities/settings) instead od the backend editor.
Any idea why in the first example the editor is noit called?

Hi,
CALL TRANSACTION ..... AND SKIP FIRST SCREEN only skips the first screen if you can get from the first to the second screen by pressing enter.  If you have to use a function key it wil stay on the first screen.
For example, most of the functional transactions (FB03, VA03 etc...) will skip the first screen, but anything like SE38, SE11 etc need a function key to progress.
Regards,
Nick

Similar Messages

  • Call Transaction from Program by Skipping Initial Screen & Pass the Value

    Hi All,
    Can anybody help me to call a transaction from my program. I do not want to display the initial screen of the transaction but that TCODE should get opened by passing the values to the parameter of the initial screen.
    For Example, in my program I want to call 'SE38' and in that, my Program of Name 'ZTEST' should get opened. So I need to call Transaction SE38, but I donot want to display initial screen of that. Instead of that, I want to put the value of Program 'ZTEST' and thus my program should get opened.
    Sandip

    Hello Sandip,
    Since you have not made any references to Batch Processing, I shall tell you the normal way to do it. First look at the code below and execute it.
    set parameter id 'DTB' field 'VBAK'.
    call transaction 'SE16' and skip first screen.
    There are a few things that you need to keep in mind before you use this statement:
    1. All mandatory input fields of the initial dynpro must be filled completely and with the correct values by the SPA/GPA parameters.
    2. For the initial dynpro, in the Screen Painter the own dynpro number must not be specified as the next screen number. However, if the next screen can be reached from the first screen by just hitting the Enter key, this will work.
    The following will not work as you expect, because the next screen in the transaction cannot be reached by just hitting the Enter Key.
    set parameter id 'RID' field 'ZTEST'.
    call transaction 'SE38' and skip first screen.
    Regards,
    Anand Mandalika.
    Please reward points if this helps.

  • Alternatine to call Transaction.

    Hi All,
    Need a Solution to call se38 with a program name 'ZTEST' which skips the first screen.
    I tried using
      SET PARAMETER ID 'RID' FIELD 'ZTEST'
      CALL transaction 'SE38' AND SKIP FIRST SCREEN .
    But unable to skip the first screen and display the report.
    Thanks & Regards,
    Santosh

    HI ,
    i think for call transaction alternative is SUBMIT so
    y can;t u try using SUBMIT if any doubt let me know .
    SUBMIT
    Basic forms:
    1. SUBMIT rep.
    2. SUBMIT (name).
    Extras:
    1. ... LINE-SIZE col
    2. ... LINE-COUNT line
    3. ... TO SAP-SPOOL List output to the SAP spool database
    4. ... USING SELECTION-SCREEN scr
    5. ... VIA SELECTION-SCREEN
    6. ... AND RETURN
    7. ... EXPORTING LIST TO MEMORY
    8. ... USER user VIA JOB job NUMBER n
    9. ...Various additions for passing parameters to rep
    10. ... USING SELECTION-SETS OF PROGRAM prog
    Effect
    Calls report rep.
    The system leaves the active program and starts the new report rep. In basic form 2, you can specify the name of the report in the field name. You must specify the name in uppercase, otherwise a runtime error occurs.
    Note
    ·     You can only start programs with type '1' using SUBMIT. If the program has a different type, the system triggers a runtime error.
    Please consult Data Area and Modularization Unit Organization documentation as well.
    Addition 1
    ... LINE-SIZE col
    Effect
    The list generated by the report has the line width col.
    Addition 2
    ... LINE-COUNT line
    Effect
    The list generated by the report has line lines per page.
    Addition 4
    ... USING SELECTION-SCREEN scr
    Effect
    When you execute the report, the system uses the selection screen number that you specify in the scr field. This must be a selection screen defined using the SELECT-OPTIONS, PARAMETERS and SELECTION-SCREEN statements.If you omit the addition, the system uses the standard selection screen 1000.
    This addition allows you to start the same report in different situations, using a different selection screen each time.
    Notes
    1.     The addition VIA SELECTION SCREEN determines whether the report is processed in the foreground or the background.
    2.     What happens if the required screen does not exist or is not a selection screen?
    Screen 1000:
    If you want to use the standard selection screen (... USING SELECTION-SCREEN 1000 or do not specify a ... USING SELECTION-SCREEN) addition, the system does not process a selection screen.
    Other selection screens:
    The system triggers a runtime error.
    Addition 5
    ... VIA SELECTION-SCREEN
    Effect
    The selection screen is displayed. In this case, the selection screen is displayed again after the report list has been displayed. The values entered by the user remain displayed.
    Addition 6
    ... AND RETURN
    Effect
    Returns to the calling transaction or program after the called program has been executed. SUBMIT ... AND RETURN creates a new internal session.
    Addition 7
    ... EXPORTING LIST TO MEMORY
    Effect
    Does not display the output list of the called report, but saves it in ABAP memory and leaves the called report immediately. Since the calling program can read the list from memory and process it further, you need to use the addition ... AND RETURN . Also, since the called report cannot be requested for printing, the addition ... TO SAP-SPOOL is not allowed here. In addition, you must not assign a function code to the ENTER key in the current GUI status. The saved list is read from the SAP memory using the function module 'LIST_FROM_MEMORY' and can then be saved to the database using EXPORT, for example. You can process this list further with the function modules 'WRITE_LIST', 'DISPLAY_LIST' ... of the function group "SLST".
    Addition 8
    ... USER user VIA JOB job NUMBER n
    Effect
    Schedules the specified report in the job specified by the job name job and the job number n. The job runs under the user name user and you can omit the addition USER user. The assignment of the job number occurs via the function module JOB_OPEN (see also the documentation for the function modules JOB_CLOSE and JOB_SUBMIT). This addition can only be used with the addition ...AND RETURN.
    Note
    When scheduling a report with the SUBMIT ... VIA JOB job NUMBER n statement, you should always use the addition ...TO SAP-SPOOL to pass print and/or archive parameters. Otherwise, default values are used to generate the list and this disturbs operations in a production environment.
    SY-SUBRC = 0:
    Job scheduled successfully
    SY-SUBRC = 4:
    Job scheduling terminated by user
    SY-SUBRC = 8:
    Error in job scheduling (JOB_SUBMIT)
    SY-SUBRC = 12:
    Error in internal number assignment
    Addition 10
    ... USING SELECTION-SETS OF PROGRAM prog
    Effect
    Uses variants of the program prog when executing the program rep.
    Note
    Important
    The programs prog and rep must have the same SELECT-OPTIONS and PARAMETERs. Otherwise, variants of the program prog may be destroyed.
    Note
    When using this addition, the specified variant vari of the program prog is taken in USING SELECTION-SET vari. On the other hand, all variant-related actions on the selection screen of rep (Get, Save as variant, Display, Delete) refer to the variants of prog.
    Example
    SUBMIT REPORT01
           VIA SELECTION-SCREEN
           USING SELECTION-SET 'VARIANT1'
           USING SELECTION-SETS OF PROGRAM 'REPORT00'
           AND RETURN.
    Effect
    Executes the program REPORT01 with the variant VARIANT1 of the program REPORT00.
    Exceptions
    Non-Catchable Exceptions
    ·     Cause: The specified program was not found.
    Runtime Error: LOAD_PROGRAM_NOT_FOUND
    ·     Cause: Invalid value passed to a selection with SIGN.
    Runtime Error: SUBMIT_WRONG_SIGN
    ·     Cause: The specified program is not a report.
    Runtime Error: SUBMIT_WRONG_TYPE
    ·     Cause: More than one value passed to a report parameter.
    Runtime Error: SUBMIT_IMPORT_ONLY_PARAMETER
    ·     Cause: Table passed to a selection with WITH sel IN itab that has an unexpected structure.
    Runtime Error: SUBMIT_IN_ITAB_ILL_STRUCTURE
    Additional help
    Starting Executable Programs (Reports)
    THx

  • Call Transaction failed

    Hi All,
    Can somebody lemme know that how can we analyze that why the CALL TRANSACTION 'SE38' USING bdcdata
                       MODE   'N'
                       UPDATE 'S'
                       MESSAGES INTO messtab.
    Failed?
    Thanks in advance.

    Hi,
    check the value of sy-subrc.
    Also check what are messages you get in message table messtab
    Regards,
    Mohaiyuddin

  • Problem with ALV_GRID and CALL TRANSACTION.

    Hi all, Could you please tell me
    At SE38
    Why REUSE_ALV_GRID_DISPLAY and CALL TRANSACTION  after called then I click the back button to return to the calling program but it automatic return to the source code? (it hasn't saves the data in alv grid )
    In another case of this program, after automatic return to the source code then I have to waiting for 5-10 mins for execute again cuz if  immediately execute the program don't fill any data to the alv grid.
    I have problem with a simple source code like this
    REPORT ZFS_ALV_DEMO.
    TYPE-POOLS: slis.
    DATA: itab LIKE STANDARD TABLE OF aufk WITH HEADER LINE.
    DATA: gs_selfield TYPE slis_selfield   "Information cursor position ALV
        , w_aufnr     LIKE aufk-aufnr.     "Order Number
    SELECT * FROM aufk INTO TABLE itab WHERE autyp = 40.     "//Process Order
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
              i_structure_name        = 'aufk'
              i_callback_program      = sy-cprog
              i_callback_user_command = 'USER_COMMAND_COR3'
         TABLES
              t_outtab         = itab
         EXCEPTIONS
              program_error    = 1
              OTHERS           = 2.
    FORM user_command_cor3 USING u_ucomm     LIKE sy-ucomm
                                 us_selfield TYPE slis_selfield."#EC CALLED
      CASE u_ucomm.
        WHEN '&IC1'.
          gs_selfield = us_selfield.
          IF gs_selfield-fieldname = 'AUFNR'.
            SET PARAMETER ID 'ANR' FIELD gs_selfield-value.
            CALL TRANSACTION 'COR3' AND SKIP FIRST SCREEN.
          ELSE.
            MESSAGE w208(00) WITH 'Select by Order only!'.
          ENDIF.
      ENDCASE.
    ENDFORM.

    Hi all, Could you please tell me
    At SE38
    Why REUSE_ALV_GRID_DISPLAY and CALL TRANSACTION  after called then I click the back button to return to the calling program but it automatic return to the source code? (it hasn't saves the data in alv grid )
    In another case of this program, after automatic return to the source code then I have to waiting for 5-10 mins for execute again cuz if  immediately execute the program don't fill any data to the alv grid.
    I have problem with a simple source code like this
    REPORT ZFS_ALV_DEMO.
    TYPE-POOLS: slis.
    DATA: itab LIKE STANDARD TABLE OF aufk WITH HEADER LINE.
    DATA: gs_selfield TYPE slis_selfield   "Information cursor position ALV
        , w_aufnr     LIKE aufk-aufnr.     "Order Number
    SELECT * FROM aufk INTO TABLE itab WHERE autyp = 40.     "//Process Order
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
         EXPORTING
              i_structure_name        = 'aufk'
              i_callback_program      = sy-cprog
              i_callback_user_command = 'USER_COMMAND_COR3'
         TABLES
              t_outtab         = itab
         EXCEPTIONS
              program_error    = 1
              OTHERS           = 2.
    FORM user_command_cor3 USING u_ucomm     LIKE sy-ucomm
                                 us_selfield TYPE slis_selfield."#EC CALLED
      CASE u_ucomm.
        WHEN '&IC1'.
          gs_selfield = us_selfield.
          IF gs_selfield-fieldname = 'AUFNR'.
            SET PARAMETER ID 'ANR' FIELD gs_selfield-value.
            CALL TRANSACTION 'COR3' AND SKIP FIRST SCREEN.
          ELSE.
            MESSAGE w208(00) WITH 'Select by Order only!'.
          ENDIF.
      ENDCASE.
    ENDFORM.

  • Call Transaction / Submit Program

    Hello All,
    I have two ABAP reports : Report A & Report B.
    Report A has selection screen similar to Report B, where report A needs to send data to selection screen of Report B.
    Report B should be processed displaying its list display & should return its control back to Report B.
    This can be easily achieved by using SUBMIT program(Report B) with values from Report A.
    But my report B is made to run only via a TCode(ZEXECUTE) & hence when i submit program it is not executed
    as sy-tcode value in such case comes as SE38 .
    Further , Call Transaction (ZEXECUTE) using bdc_tab helps in passing the TCode & respective selection screen values
    correctly to Report B , but i am not able to see the outputs of the same.
    Please Note : I am not authorized to do any changes in Report B , so whatever i can try is from Report A itself.
    Kindly Help,
    Sudeep

    HI Suhas ,
    Firstly thanks for replying.
    1) Do you mean there is a hardcoding in Report B to check the t-code?
        Yes.
    2) What is the display mode you're using when doing via CALL TRANSACTION?
        Currently i am passing it as "A" , but still not able to get any output.
    Report A provides report B all the required values along with 'BDC_OKCODE'   '=ONLI'
    for executing the same. The report gets processed , but i am not able to see any list display.
    Thanks,
    Sudeep

  • Call  transaction  inside  job

    hi all,
    I have  a call  transaction program for tcode ME55, the  probleme  is when  i  execute the  program  directly  via  se38  to  release the sales  documents it work  fine,   on the other hand when i call  the program  via SM37  nothing  will  happen.
    thanks,
    karim

    Hi,
    What exactly do you want to do by calling t.code me55 ? Upload some data in background or display the transaction to a user only ?
    If you want to do a call transaction in background, you will have to pass BDC data to it as well. Then transaction will run with the passed data then. To know what data to pass, simply record your transaction in SHDB T.code and create a program for the BDC.
    ME55 is a report, so perhaps you can use SUBMIT with the selection parameters in your program to be able run that program in background.
    regards,
    Advait

  • 'BAPI_QUOTATION_CREATEFROMDATA2'  behaves different while called from SE38

    Dear Friends
    I am trying to run the bapi 'BAPI_QUOTATION_CREATEFROMDATA2' and 'BAPI_TRANSACTION_COMMIT' in proper sequence as recommended by SAP.
    I am entering the minimum data recommended by SAP help on this BAPI.
    When I run the above senario manually from transaction SE37 and selecting
    from the menu  Function Module -> Test -> Test Sequence,
    everything works fine and this also creates a quote and when I check, it
    is adding lots of extra related data.
    However, when I call the same two functions from another program (SE38),
    even though I am entering the same Data, I get different behaviour and
    also the quote is not getting created. When I check the ls_return value,
    it says that 'sold-to-party' is missing.  I don't know why this problem
    doesn't arise when I run the BAPI manually from SE37.
    I would appreciate if you can please give me any feedback or some expert comments.
    Please see the SE38 program that I am using to test these two BAPIs.
    ==========================================================
    *& Report  ZQUOTECREATE_TEST
    report  zquotecreate_test.
    data: ls_quotation_header_in        type  bapisdhd1,
          ls_behave_when_error          type  bapiflag-bapiflag,
          ls_quotation_partners         like  bapiparnr occurs 1 with header line,
          ls_return                     like  bapiret2  occurs 1 with header line.
    ls_quotation_header_in-distr_chan = '12'.
    ls_quotation_header_in-division = '00'.
    ls_quotation_header_in-sales_org = '1000'.
    ls_quotation_header_in-doc_type = 'AG'.
    ls_behave_when_error              = 'P'.
    ls_quotation_partners-partn_role = 'SP'.
    ls_quotation_partners-partn_numb = '1012'.
    call function 'BAPI_QUOTATION_CREATEFROMDATA2'
      exporting
        quotation_header_in            = ls_quotation_header_in
        BEHAVE_WHEN_ERROR              = ls_BEHAVE_WHEN_ERROR
    importing
      salesdocument                  =  ls_salesdocument
      tables
        return                         = ls_return
        quotation_partners             = ls_quotation_partners
    call function 'BAPI_TRANSACTION_COMMIT'
    exporting
       wait          = ' '
    IMPORTING
      RETURN        =

    Dear friends
    I figured out the conversion problem involving 'QT' and 'AG'.
    There is this flag 'CONVERT' which doesn't affect while running manually but while calling from SE38, I have to turn it on by putting a value 'X" and so the AG-QT issue is resolved
    So if you can please respond to the other problem with error 'Please enter sold-to-party or ship-to-party', I would appreciate.
    Again with the same test data, the above error message doesn't show up while running the BAPI manually from SE37 and QUOTE gets created successfully. However, when the same BAPI is called from SE38 program I get the above error message and QUOTE doesnt get created.

  • How to create a sub menu for the transaction se38

    Hi All,
    I have created menu item in se38 using menu exit.
    By using the enhancement SEU00002 .
    That menu item is displayed under utilities menu bar.
    But i am unable to create sub menu for that.
    My requirement is to create sub menu to the custom menu item.
    How can we create a sub menu to the transaction se38.

    Hi,
    it looks like that user exit SEU00002 offers only one extra function +CUS. This function then calls FM EXIT_SAPMS38E_010. Hence I do not think that it is possible to create sub menu with this user exit.
    Anyway you can try to modify SAP standard. You need to modify menu for SE38 and then add your code for handling new function codes. You can easily find where you will have to add your code for handling functions from your sub menu. You just need to look for usages of the FM EXIT_SAPMS38E_010.
    Cheers

  • Unable to Capture ALV output in an Internal Table, after CALL TRANSACTION

    Dear all,
    My requirement is to run multiple materials in T-code CK86_99 but as we know CK86_99 is only adequate to one material at a time.
    So, I want to capture the Output of the T-code in my Internal table with respect to all the Material Numbers I use in the Select-Options of my Z Program.
    Below is the Code I developed so far, but the Class
    cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING r_data = lf_ref ).
    is not capturing the Ouput...
    Please have a look and enlighten me how it could be solved.
    TABLES : mara.
    DATA : BEGIN OF wa_mara,
      matnr TYPE mara-matnr,
      END OF wa_mara.
    DATA: it_bdcdata TYPE TABLE OF bdcdata,
          wa_it_bdcdata LIKE LINE OF it_bdcdata,
          it_mara LIKE TABLE OF wa_mara.
    *      BELNR(10).
    FIELD-SYMBOLS:<fs_tab> TYPE ANY TABLE,
    <fs_line> TYPE any.
    DATA:lf_ref TYPE REF TO data,
         lf_ref1 TYPE REF TO data.
    SELECT-OPTIONS so_matnr FOR mara-matnr.
    PARAMETERS p_werks LIKE t001w-werks.
    *BELNR = 'Z92'. " Give Document Number here
    SELECT matnr FROM mara INTO TABLE it_mara WHERE matnr IN so_matnr.
    DATA opt TYPE ctu_params.
    LOOP AT it_mara INTO wa_mara.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-program  = 'SAPMKKB0'.
    wa_it_bdcdata-dynpro   = '0300'.
    wa_it_bdcdata-dynbegin = 'X'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_CURSOR'.
    wa_it_bdcdata-fval = 'KKB0-MATNR'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'KKB0-MATNR'.
      wa_it_bdcdata-fval = wa_mara-matnr.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_CURSOR'.
    wa_it_bdcdata-fval = 'KKB0-WERKS'.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
      wa_it_bdcdata-fnam = 'KKB0-WERKS'.
    wa_it_bdcdata-fval = p_werks.
      APPEND wa_it_bdcdata TO it_bdcdata.
      CLEAR wa_it_bdcdata.
    wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    wa_it_bdcdata-fval = 'OSNY'."'ONLI'."=CRET'.
      APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-program  = 'SAPLKKRSOO'.
    * wa_it_bdcdata-dynpro   = '0100'.
    * wa_it_bdcdata-dynbegin = 'X'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    *  wa_it_bdcdata-fval = 'BACK'."=CRET'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-program  = 'SAPMKKB0'.
    * wa_it_bdcdata-dynpro   = '0300'.
    * wa_it_bdcdata-dynbegin = 'X'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
    *  CLEAR wa_it_bdcdata.
    * wa_it_bdcdata-fnam = 'BDC_OKCODE'.
    * wa_it_bdcdata-fval = 'EXIT'."=CRET'.
    *  APPEND wa_it_bdcdata TO it_bdcdata.
      opt-dismode = 'N'.
    cl_salv_bs_runtime_info=>set(
        EXPORTING display  = abap_false
                  metadata = abap_true
    data     = abap_true ).
      CALL TRANSACTION 'CK86_99' USING it_bdcdata OPTIONS FROM opt.
      TRY.
    cl_salv_bs_runtime_info=>get_data_ref(
            IMPORTING r_data = lf_ref ).
          ASSIGN lf_ref->* TO <fs_tab>.
        CATCH cx_salv_bs_sc_runtime_info.
          MESSAGE 'Unable to retrieve ALV data' TYPE 'E'.
      ENDTRY.
    cl_salv_bs_runtime_info=>clear_all( ).
      IF <fs_tab> IS ASSIGNED.
        CREATE DATA lf_ref1 LIKE LINE OF <fs_tab>.
        ASSIGN lf_ref1->* TO <fs_line>.
      ENDIF.
    *LOOP AT <FS_TAB> ASSIGNING <FS_LINE>.
    *ENDLOOP.

    Hi Abhay,
          If you go to Transaction code SE93, enter the tcode "CK86_99" and click display, you may see the default value for transaction is "KKBB" and the screen field for P_SCREEN = 0300, P_TCODE = ck86_99.
          You may need to copy the transaction code "KKBB" and go to SE93 again, enter the tcode for "KKBB" then click display, now you may see the program name is "RKKB1000".
          Hope this answer your question.
    Thanks
    Hock Lin

  • Call transaction error handling

    how to maintain the log i.e sucess/failures like below.
    Line No.     Success/ Failure  Document No     Error Details
    1     S     Doc 740000001     
    2     S     Doc 740000002     
    3     F          Co- code does not exist
    4     F          GL Account does not exist
    I'm getting only one last document no: but i need all the documents to be displayed i.e either success/failures.
    below is my code.
    TYPES: BEGIN OF ty_filedata,
           bukrs TYPE bukrs,           "Company code
           blart TYPE blart,           "Document type
           bldat TYPE char10,          "Document Date
           budat TYPE char10,          "Posting date
           xblnr TYPE xblnr,           "Reference
           bktxt TYPE bktxt,           "Document Header text
           waers TYPE waers,           "Currency
           newbs TYPE bschl,           "Posting Key for the next line item
           wrbtr TYPE char10,          "Amount
           zuonr LIKE bsik-zuonr,      "Assignment
           sgtxt TYPE sgtxt,           "Text
           newko TYPE hkont,           "Account for the next line item
           END OF ty_filedata.
    TYPES: BEGIN OF ty_detail_log,
             item_no TYPE i,        " Item line no.
             status(1) TYPE c,      " Status - success/failure
             doc_no TYPE bkpf-belnr," Document No.
             message TYPE string,   " Message
           END OF ty_detail_log.
    *&             DATA declaration of internal tables
         Internal Table declaration for excel data
    DATA:  it_itab TYPE STANDARD TABLE OF alsmex_tabline INITIAL SIZE 0,
        Internal Table declaration for upload data
          it_upload TYPE STANDARD TABLE OF ty_filedata INITIAL SIZE 0,
        Internal Table Declaration for BDCDATA
          it_bdcdata  TYPE STANDARD TABLE OF bdcdata,
        Internal Table Declaration for BDCMSGCOLL
          it_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll,
        Internal Table Declaration for FILENMAE
          lf_fname TYPE rlgrap-filename.
         t_err_log  TYPE STANDARD TABLE OF ty_err
                           INITIAL SIZE 0,  " table for validation error log
         t_DETAIL_LOG TYPE STANDARD TABLE OF TY_DETAIL_LOG.
         C_MSGNO TYPE BDC_MNR VALUE '312',
    *&             DATA declaration of work area
        Work Area declaration for Excel Data
    DATA: w_itab TYPE alsmex_tabline,
        Work Area declaration for upload data
          w_upload TYPE ty_filedata,
        Work Area declaration for upload data
          w_upload_n TYPE ty_filedata,
        Work Area declaration for upload data
          w_bdcdata TYPE bdcdata,
        Work Area declaration for upload data
          w_bdcmsgcoll TYPE bdcmsgcoll,
          w_detail_log TYPE ty_detail_log.
    *&                     SELECTION-SCREEN
    SELECTION-SCREEN: BEGIN OF BLOCK bk1 WITH FRAME TITLE text-001.
    PARAMETERS:p_file TYPE rlgrap-filename.          " MODIF ID G1.
    SELECTION-SCREEN:  END OF BLOCK bk1.
    *&                             AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          dynpro_number = syst-dynnr
        CHANGING
          file_name     = p_file
        EXCEPTIONS
          mask_too_long = 1
          OTHERS        = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *&                     START-OF-SELECTION
    START-OF-SELECTION.
      DATA:  lw_itab TYPE alsmex_tabline.
      lf_fname = p_file.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          filename                = lf_fname
          i_begin_col             = '1'
          i_begin_row             = '6'
          i_end_col               = '12'
          i_end_row               = '999'
        TABLES
          intern                  = it_itab[]
        EXCEPTIONS
          inconsistent_parameters = 1
          upload_ole              = 2
          OTHERS                  = 3.
      IF sy-subrc <> 0.
    *MESSAGE S205(ZF_COMMON_MSGS_FIN1) DISPLAY LIKE C_E.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ELSE.
      IF it_itab IS NOT INITIAL.
        SORT it_itab BY row col.
    DELETE it_itab WHERE row LT 6.
        LOOP AT it_itab INTO lw_itab.
          w_itab = lw_itab.
          AT NEW row.
            CLEAR: w_upload.
          ENDAT.
          CASE w_itab-col.
            WHEN '0001'.
              w_upload-bukrs = w_itab-value.
            WHEN '0002'.
              w_upload-blart = w_itab-value.
            WHEN '0003'.
              w_upload-bldat = w_itab-value.
            WHEN '0004'.
              w_upload-budat = w_itab-value.
            WHEN '0005'.
              w_upload-xblnr = w_itab-value.
            WHEN '0006'.
              w_upload-bktxt = w_itab-value.
            WHEN '0007'.
              w_upload-waers = w_itab-value.
            WHEN '0008'.
              w_upload-newbs = w_itab-value.
            WHEN '0009'.
              w_upload-wrbtr = w_itab-value.
            WHEN '0010'..
              w_upload-zuonr = w_itab-value.
            WHEN '0011'.
              w_upload-sgtxt = w_itab-value.
            WHEN '0012'.
              w_upload-newko = w_itab-value.
          ENDCASE.
          AT END OF row.
            APPEND w_upload TO it_upload.
            CLEAR: w_upload.
          ENDAT.
        ENDLOOP.
    *endif.
      ENDIF.
      DATA: lw_upload TYPE ty_filedata,
            lv_lines TYPE sy-tabix,
            lv_index TYPE sy-tabix.
      DESCRIBE TABLE it_upload LINES lv_lines.
      LOOP AT it_upload INTO lw_upload.
        lv_index = sy-tabix.
        w_upload = lw_upload.
        IF NOT w_upload-bukrs IS INITIAL.
          IF lv_index GT 1.
           CALL TRANSACTION 'FB01' USING it_bdcdata
                   MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
           PERFORM fr_format_message_text.
            REFRESH: it_bdcdata.
          ENDIF.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0100'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BKPF-XBLNR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BKPF-BLDAT'
                                        w_upload-bldat.
          PERFORM bdc_field       USING 'BKPF-BLART'
                                        w_upload-blart.
          PERFORM bdc_field       USING 'BKPF-BUKRS'
                                        w_upload-bukrs.
          PERFORM bdc_field       USING 'BKPF-BUDAT'
                                        w_upload-budat.
          PERFORM bdc_field       USING 'BKPF-WAERS'
                                        w_upload-waers.
          PERFORM bdc_field       USING 'BKPF-XBLNR'
                                        w_upload-xblnr.
    *perform bdc_field       using 'FS006-DOCID'
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                        w_upload-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                        w_upload-newko.
        ENDIF.
        IF lv_index NE lv_lines.
          lv_index = lv_index + 1.
          READ TABLE it_upload INTO w_upload_n INDEX lv_index.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BSEG-WRBTR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '/00'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                        w_upload-wrbtr.
          PERFORM bdc_field       USING 'RF05A-NEWBS'
                                  w_upload_n-newbs.
          PERFORM bdc_field       USING 'RF05A-NEWKO'
                                  w_upload_n-newko.
        ELSE.
          PERFORM bdc_dynpro      USING 'SAPMF05A' '0300'.
          PERFORM bdc_field       USING 'BDC_CURSOR'
                                        'BSEG-WRBTR'.
          PERFORM bdc_field       USING 'BDC_OKCODE'
                                        '=BU'.
          PERFORM bdc_field       USING 'BSEG-WRBTR'
                                       w_upload-wrbtr.
        ENDIF.
        PERFORM bdc_dynpro      USING 'SAPLKACB' '0002'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'COBL-ANLN1'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTE'.
      ENDLOOP.
      CALL TRANSACTION 'FB01' USING it_bdcdata
              MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
      PERFORM fr_format_message_text .
      REFRESH: it_bdcdata.
    *&      Form  BDC_DYNPRO
    FORM bdc_dynpro USING program  dynpro.
      CLEAR w_bdcdata.
      w_bdcdata-program  = program.
      w_bdcdata-dynpro   = dynpro.
      w_bdcdata-dynbegin = 'X'.
      APPEND w_bdcdata TO it_bdcdata.
    ENDFORM.                    "BDC_DYNPRO
           Insert field                                                  *
    FORM bdc_field USING fnam fval.
      IF fval <> space.
        CLEAR w_bdcdata.
        w_bdcdata-fnam = fnam.
        w_bdcdata-fval = fval.
        APPEND w_bdcdata TO it_bdcdata.
      ENDIF.
    ENDFORM.                    "BDC_FIELD
    *&      Form  fr_format_message_text
    FORM fr_format_message_text.
      DATA: lf_msg   TYPE string.
      WRITE:/ sy-uline(125).
      FORMAT COLOR 1 INTENSIFIED ON.
      WRITE : /1 sy-vline,
               2  text-041 ,  "'record Number',
               16 sy-vline,
               17 text-042 ,  " 'success/failure',
               35  sy-vline,
               36 text-043,   " 'document no',
               55 sy-vline,
               56 text-044,   "'Error details',
               125 sy-vline.
      WRITE:/ sy-uline(125).
      LOOP AT it_bdcmsgcoll INTO w_bdcmsgcoll.
        CALL FUNCTION 'FORMAT_MESSAGE'
          EXPORTING
            id        = w_bdcmsgcoll-msgid
            lang      = sy-langu
            no        = w_bdcmsgcoll-msgnr
            v1        = w_bdcmsgcoll-msgv1
            v2        = w_bdcmsgcoll-msgv2
            v3        = w_bdcmsgcoll-msgv3
            v4        = w_bdcmsgcoll-msgv4
          IMPORTING
            msg       = lf_msg
          EXCEPTIONS
            not_found = 1
            OTHERS    = 2.
        IF sy-subrc EQ 0.
          WRITE:/01 sy-vline,
                  02 sy-tabix,
                  16 sy-vline,
                  17 w_bdcmsgcoll-msgtyp,
                  35 sy-vline,
                  36 w_bdcmsgcoll-msgv1,
                  55 sy-vline,
                  56 lf_msg,
                  125 sy-vline.
          WRITE:/ sy-uline(125).
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "fr_format_message_text
    Thanks in advance.

    Hi Neelima,
    Just put the following code within that LOOP...ENDLOOP statement.
    LOOP AT it_upload INTO lw_upload.
      CALL TRANSACTION 'FB01' USING it_bdcdata
      MODE 'N' UPDATE 'S' MESSAGES INTO it_bdcmsgcoll.
      PERFORM fr_format_message_text .
      REFRESH: it_bdcdata.
    ENDLOOP.
    Regards,
    R.Nagarajan.
    We can -

  • BDC Call Transaction - Doc.No not getting generated in Message Internal tab

    Dear All,
    I am using BDC Call Transaction method for uploading data for transaction, Iam able to successfully capture the Error messages, sucess messages and the transaction number is also displayed for the bdc run in Mode A, but in case of scheduling the job in background, the Error messages are displayed but the transaction number is not captured in the message Internal table( BDCMSGCOLL).
    Kindly look into the matter and revert back for any further info.
    Regards
    Naresh

    Hi,
    Please try using the following kind of code in 'CALL TRANSACTION'
        opt-dismode = 'E'.     " Exclusive mode
        opt-defsize = 'X'.
        opt-updmode = 'S'.
        opt-nobinpt = ' '.
        CALL TRANSACTION transaction_code USING ft OPTIONS FROM opt
                                                                             MESSAGES INTO t_bdcmsgcoll .
    Hope this will work.
    Thanks,
    Leo

  • VALUES not getting passed in t.code 'FMY3' VIA call transaction 'FMY3'

    hi guru's,
    i have created a ALV report for funds precommitment,when i click the document number,the respective document is not opening
    i have coded like this
    IF selfield-value IS NOT INITIAL.
            READ TABLE final INDEX selfield-tabindex.
            SET PARAMETER ID: 'KBL' FIELD final-belnr,
                              'KBP' FIELD final-blpos.
            CALL TRANSACTION 'FMY3' AND SKIP FIRST SCREEN.
          ENDIF.
    the transaction is called,but with empty value in the field and the document is not opening....please help me with this regard...
        thanks in advance,
    regards,
    Balaji.S

    Hello Venkat.O,
    i have a similar problem with the overwrite of the memory ID, when calling transaction FMY3. In the code block you mentioned, the system gets the right value from the memory ID, that i've set before calling the transaction. But i found that after that the system runs in the include LFMFRO01, the code
    MODULE init_suppress OUTPUT.
      IF status2 = st2_app.                "/Genehmigen/Ablehnen
    Lesen aus Memory: wird in WF-Methode 'APPROVE' gefüllt
        IMPORT wfdata TO g_f_wfdata FROM MEMORY ID con_memid_wf.
        IF NOT g_f_wfdata-belnr IS INITIAL.
          IF g_f_wfdata-blpos = space.
            g_f_wfdata-blpos = con_initial_blpos.
          ENDIF.
          kbld-belnr = g_f_wfdata-belnr.
    and here the system gets the memory of the last document created and overwrites the selecion-screen field KBLD-BELNR with that value. And the value i had stored in the parameter ID 'MRV', and that the system gets it right in the code you show, is overwritten..
    This seems like a bug from SAP, don't you think?
    This way the system will always show the last doc. when calling transaction, after setting a parameter ID..

  • BDC Call Transaction : FS00(Create G/L Account)

    Hi,
    BDC of FS00 is running properly in Forground (A) Mode, with success messages and G/L account being created in SKB1 table.
    But when I run it in Background (N) Mode, it is not creating the G/L account. Although I am getting the success messages in the end of the execution but in the table, there is no G/L account.
    FORM fill_bdcdata .
    loop at i_output.
    clear i_bdcdata.
    refresh i_bdcdata.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ACC_CRE'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_KEY-BUKRS'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_KEY-SAKNR'
                                   i_output-SAKNR.                               "gl ac number
    perform bdc_field       using 'GLACCOUNT_SCREEN_KEY-BUKRS'
                                   i_output-BUKRS.                               "company code
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=2102_GROUP'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-KTOKS'.                  "ac grp
    *perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  i_output-cc.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                   i_output-xplacct.                             "pl account
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XBILK'
                                   i_output-xbilk.                               "balance sheet
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TAB02'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-KTOKS'
                                  i_output-ktoks.                                 "ac grp
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-XPLACCT'
                                  i_output-xplacct.                               "pl account
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_COA-TXT50_ML'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT20_ML'
                                  i_output-txt20_ml.                               "short text
    perform bdc_field       using 'GLACCOUNT_SCREEN_COA-TXT50_ML'
                                  i_output-txt50_ml.                               "long text
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=TAB03'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-MITKZ'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XSALH'
                                  i_output-xsalh.                                "Only Balance in Local Currency
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
                                  i_output-mwskz.                                "Tax Category
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XMWNO'
                                  i_output-xmwno.                                "Posting without tax
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-MITKZ'
                                  i_output-mitkz.                                "Reccon A/C
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-ZUAWA'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XOPVW'
                                  i_output-xopvw.                                     "Open Item Management
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XKRES'
                                  i_output-xkres.                                     "Line Item Display
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
                                  i_output-zuawa.                                     "Sort Key
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTER'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
                                  i_output-fstag.                                     "Field Stauts
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XINTB'
                                  i_output-xintb.                                     "post automatically
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-XGKON'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XGKON'
                                  i_output-xgkon.                                     "relevent to cash A/c
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-ZUAWA'.
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SAVE'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-FSTAG'.
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-FSTAG'
                                  i_output-fstag.                                       "Field Stauts
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XINTB'
                                  i_output-xintb.                                       "post automatically
    perform bdc_field       using 'GLACCOUNT_SCREEN_CCODE-XGKON'
                                  i_output-xgkon.                                        "relevent to cash A/c
    perform bdc_dynpro      using 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/EEXIT'.
      perform bdc_field       using 'BDC_CURSOR'
                                  'GLACCOUNT_SCREEN_CCODE-XGKON'.
    perform bdc_dynpro      using 'SAPLSPO1' '0100'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=YES'.
    perform f_elog.
    endloop.
    FORM f_elog .
    data len type i.
    clear i_msgtab.
      call transaction 'FS00'
                          using i_bdcdata
                          mode g_v_mode              "N
                          messages into i_msgtab
                          update g_v_update .          "S
    write: i_output-saknr.
    I am not getting where I am going wrong in the code.
    Regards,
    Priyanka.

    Hi,
      Make the mode 'E' and see excatly, where the warning or errors or coming.
    If you are having an currency or UOM ,related fields, see that the values should not be empty. If they are enpty. Put an if condition there and Quit filling such fields.
    First keep in mode 'e' and debug. 100% you will see the warnings or errors, then tell me what is the error.
      <b>call transaction 'FS00'
    using i_bdcdata
    mode g_v_mode "E
    messages into i_msgtab</b>
    Thansk'
    Manju.

  • Improve performance of bdc call transaction

    Hi all,
    I am performing a batch update of tax codes in a BDC call transaction program. This particular code takes about 3 minutes to process 2,600 entries. I have tried almost everything but is there a way to improve / make it run faster?
    I have a feeling it has something to do with the form "do_transaction", but I really don't know anymore.
    Thank you in advance.
    Attached is the code:
    *& Report  ZFI_CHANGEWTAX
    *&  Description: Change Doctors Withholding Tax Code (EI)
    *&  Using BDC Call Transaction Method
    *&  Created by : mpena
    *&  Created on : 07/15/2009
    *&  Modification History
    *&  Seq  Changed on
    *&       Changed by
    *&  001   07/15/2009
    *&        mpena         Initial Development
    *&  002   07/20/2009
    *&        mpena         Logic modification
    *&                      Testing
    *&  003   07/20/2009
    *&        mpena         Call function parameter modification
    *&  004   07/22/2009
    *&        mpena         Report generation
    *&                      Performance improvements
    REPORT zfi_changewtax
           NO STANDARD PAGE HEADING
           MESSAGE-ID zfk02msg.
    TYPES: BEGIN OF t_tax,
           lifnr LIKE lfa1-lifnr,                "account number
           wt_withcd LIKE lfbw-wt_withcd,        "current tax code
           wt_withcd_new LIKE lfbw-wt_withcd,    "new tax code (left blank at default)
           END OF t_tax.
    DATA:  wa_tax TYPE t_tax,
           i_tax TYPE STANDARD TABLE OF t_tax,
           it_bdcdata TYPE bdcdata OCCURS 0 WITH HEADER LINE,
           lin TYPE i.
    -------Selection Screen Design -
    SELECTION-SCREEN:
    SKIP 1,
    BEGIN OF BLOCK blk1 WITH FRAME TITLE aaa.
    PARAMETERS: p_ktokk LIKE lfa1-ktokk DEFAULT 'DOCT' OBLIGATORY,
                p_bukrs LIKE lfbw-bukrs DEFAULT 'SL' OBLIGATORY,
                p_wtax LIKE lfbw-wt_withcd OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    INITIALIZATION.
      aaa = 'Change Tax Code to specified value'.
    TOP-OF-PAGE.
      WRITE:
      / 'Update of taxes successful on:', sy-datum, sy-uzeit,
      / 'Generated by:', sy-uname,
      / 'Company Code:', p_bukrs, 'Vendor Group:', p_ktokk.
      SKIP 1.
      ULINE.
      WRITE:
      / 'Account Number', 20 'Old Withholding Tax Code', 50 'New Withholding Tax Code'.
      ULINE.
    START-OF-SELECTION.
      SELECT lfa1~lifnr
             lfbw~wt_withcd
      INTO TABLE i_tax
      FROM lfa1 INNER JOIN lfbw
        ON lfa1lifnr = lfbwlifnr
        WHERE lfbw~bukrs EQ p_bukrs
        AND lfbw~witht EQ 'EI'.
      IF sy-subrc EQ 0.
        DESCRIBE TABLE i_tax LINES lin.
      ENDIF.
    Update i_tax with new value of wt_witchd, then display for comparison.
    After write: if old and new tax are the same, tax update was not successful for that specific account
    or inputted tax type is the same as the old one.
      LOOP AT i_tax INTO wa_tax.
        wa_tax-wt_withcd_new = p_wtax.
        MODIFY i_tax FROM wa_tax.
        WRITE:
        / wa_tax-lifnr,
        20 wa_tax-wt_withcd,
        50 wa_tax-wt_withcd_new.
        CLEAR wa_tax.
      ENDLOOP.
      PERFORM do_transaction USING p_bukrs p_wtax.
    *&      Form  do_transaction
         Extracted from ZFKO2 recording accessible in shdb.
    FORM do_transaction USING v_bukrs v_wtax.
      MESSAGE i000 WITH lin.
      LOOP AT i_tax INTO wa_tax.
        REFRESH it_bdcdata.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0106'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-D0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RF02K-LIFNR'
                                      wa_tax-lifnr.
        PERFORM bdc_field       USING 'RF02K-BUKRS'
                                      v_bukrs.
        PERFORM bdc_field       USING 'RF02K-D0610'
                                      'X'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBW-WT_WITHCD(01)'.
        PERFORM bdc_field       USING 'LFB1-QLAND'
                                      'PH'.
        PERFORM bdc_field       USING 'LFBW-WT_WITHCD(01)'
                                      v_wtax.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0610'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=UPDA'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-QLAND'.
        PERFORM bdc_field       USING 'LFB1-QLAND'
                                      'PH'.
        CALL TRANSACTION 'FK02' USING it_bdcdata
                                MODE   'N'
                                UPDATE 'A'.
      ENDLOOP.
      MESSAGE i001.
    ENDFORM.                    "do_transaction
           form for bdc dynpro
    FORM bdc_dynpro USING program
                          dynpro.
      it_bdcdata-program = program.
      it_bdcdata-dynpro = dynpro.
      it_bdcdata-dynbegin = 'X'.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    "bdc_dynpro
           form for bdc field
    FORM bdc_field  USING fnam
                          fval.
      it_bdcdata-fnam = fnam.
      it_bdcdata-fval = fval.
      APPEND it_bdcdata.
      CLEAR it_bdcdata.
    ENDFORM.                    "bdc_field

    You might want to try using a BAPI instead of a call transaction.   I believe "BAPI_VENDOR_SAVECHARVALREPLICA" will work for you.  Calling a BAPI is just like calling a function module.   After you call the bapi remember to commit it with the function module "BAPI_TRANSACTION_COMMIT".

Maybe you are looking for

  • Cannot print to Canon iR C3080

    I upgraded from Lion to Mountain Lion.  (Had trouble -- after two calls to Apple Support, finally was directed to delete start up services and that corrected initial problems).  Now, I cannot print to networked Canon iR C3080.  I've downloaded, mount

  • Unistall of Window 10 Technical Preview from surface pro 3

    Hi Team,                I have surface pro 3 and installed Preview after making my USB Image, after looking into update and finding out Windows essential connector wont work this, as well RSAT is not able to install on preview version as I use pro to

  • VL01N delivery - material not available

    Hi Guys, i've tried searching in the forum before posting the thread but i did not find any useful answer for my case. hope you can help. i have done an order with material xxx, availability check carried out. material has unrestricted use of 1230 kg

  • ADF faces update problem

    Hi all, I'm using ADF faces + toplink. I have developed a form that first inserts mandatory fields of a record via persistEntity function and later in same page after inserting mandatory fields of record, I want to update empty fields of record that

  • Tecra S2: Power Saver gives often an Error Code 0X40

    A fairly new Tecra S2 model PTS20E-01Y011DU gives often during use a fatal error in the Power Saver program with "this program will be closed" error code 0X40