BDC Recording for ALV Grid in containers

Hi All,
I have to record for BDC on an ALV Grid (OOABAP). I am not able to record selection of rows in ALV grid.How do i select rows in the grid dynamically that is while recording.
Thanks n Regards,
Santosh Kotra.

Usually it is not a good idea to do recording over a transaction which includes frontend gui controls, such as, tree controls and ALV controls, for this exact reason, among others.  Try to use a older version of the transactoin if possible or a BAPI.  For example, if you are trying to do a recording over say  ME21N, it is recommended to do the recording over the non-enjoy transaction,  ME21,  or simply use the BAPI.
Regards,
Rich Heilman

Similar Messages

  • Push Button in Every record in ALV grid output

    Dear Experts,
    I need to print a push button in first column of every record in ALV grid output. How ?
    No OOPS concepts please.
    Thanks,
    Siva.

    For this requirement, you have to copy the standard PF status of the ALV output. Do as below :-
    1) Go to SE41
    2) Enter the program name as SAPLKKBL
    3) In the field status enter STANDARD_FULLSCREEN
    4) Click on STATUS button on the application toolbar.
    5) Enter the name of your Program & a new status name.
    6) Click on COPY.
    This way the standard status will be copied to the custom status & call the same status in your program using SET PF STATUS statement. Then double click on the custom status name & you will be navigated to SE41, there you can add you new button on the application tool bar & assign a function code, which you can program by enabling the export parameter I_CALLBACK_USER_COMMAND of the Function module REUSE_ALV_GRID_DISPLAY.
    Just a sample code snippet for your reference :-
    FORM USER_COMMAND USING L_UCOMM LIKE SY-UCOMM
    LS_SELFIELD TYPE SLIS_SELFIELD.
    CASE L_UCOMM.
    WHEN 'your function code goes here'.
    Do further processing.
    This way you will have the standard PF status alongwith your button as well.
    Edited by: Kumar Manas Mishra on Jan 29, 2010 1:03 PM

  • How to insert new record in ALV GRID?

    Hi all,
       I am displaying ztable data into grid format using method  SET_TABLE_FOR_FIRST_DISPLAY of Class CL_GUI_ALV_GRID using OOPS concept.now i want to insert a new record into ALV grid?
    If anyone has tried then please tell me?
    Thanks and Regards,
    Arpita

    Hi Avinash,
    Thanks for replay.
    My problem is solved.i did it as follows.
    HANDLE_DATA_CHANGED
          FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID
               IMPORTING ER_DATA_CHANGED
                           E_UCOMM.
    METHOD HANDLE_DATA_CHANGED.
    LOOP AT ER_DATA_CHANGED->MT_GOOD_CELLS INTO WA_GOOD_CELLS.
    CASE WA_GOOD_CELLS-FIELDNAME.
      WHEN 'ZCARRID'.
          CALL METHOD ER_DATA_CHANGED->GET_CELL_VALUE
              EXPORTING
                I_ROW_ID = WA_GOOD_CELLS-ROW_ID
                I_FIELDNAME = WA_GOOD_CELLS-FIELDNAME
              IMPORTING
                E_VALUE = ZCARRID1.
         WA_FLI-ZCARRID = ZCARRID1.
    ENDMETHOD.
    Using method CALL METHOD ER_DATA_CHANGED->GET_CELL_VALUE,
    i am reading individual values and assinning it to WA and then insert into ZTBALE.
    Thanks,
    Arpita

  • I need simple example for alv grid

    hi
    i need code for simple example for alv grid.
    thanks.

    hi bharat,
                  this is report with most of the functionality.
    report zus_alv_demo_grid .
    tables:     ekko.
    type-pools: slis.
    types: begin of t_ekko,
    ebeln type ekpo-ebeln,
    ebelp type ekpo-ebelp,
    statu type ekpo-statu,
    aedat type ekpo-aedat,
    matnr type ekpo-matnr,
    menge type ekpo-menge,
    meins type ekpo-meins,
    netpr type ekpo-netpr,
    peinh type ekpo-peinh,
    line_color(4) type c, "Used to store row color
    end of t_ekko.
    data: it_ekko type standard table of t_ekko initial size 0,
           wa_ekko type t_ekko.
    *ALV data declarations
    data: fieldcatalog type slis_t_fieldcat_alv with header line,
          gd_tab_group type slis_t_sp_group_alv,
          gd_layout    type slis_layout_alv,
          gd_repid     like sy-repid.
    Data declaration for EVENT and PRINT PARAMETER.
    data: gt_events type slis_t_event,
           gd_prntparams type slis_print_alv.
    data declaration for sorting.
    data : it_sortcat   type slis_sortinfo_alv occurs 1,
           wa_sort like line of it_sortcat.
    data :  i_list_comments type slis_t_listheader.
    start-of-selection.
      perform data_retrieval.
    perform user_command.
      perform build_fieldcatalog.
      perform build_layout.
      perform build_events.
      perform build_print_params.
      perform build_sortcat.
      perform display_alv_report.
    end-of-selection.
    *TOP-OF-PAGE.
    PERFORM top-of-page.
    end-of-page.
    *&      Form  build_fieldcatalog
          text
    -->  p1        text
    <--  p2        text
    form build_fieldcatalog.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
      fieldcatalog-col_pos     = 5.
      fieldcatalog-do_sum = 'X'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      append fieldcatalog to fieldcatalog.
      clear  fieldcatalog.
    endform.                    " build_fieldcatalog
    *&      Form  build_layout
          text
    -->  p1        text
    <--  p2        text
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    Set layout field for row attributes(i.e. color)
      gd_layout-info_fieldname =      'LINE_COLOR'.
    gd_layout-totals_only        = 'X'.
    gd_layout-f2code            = 'DISP'.  "Sets fcode for
    *when double
                                            "click(press f2)*
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text       = 'helllllo'.
    endform.                    " build_layout
    *&      Form  data_retrieval
          text
    -->  p1        text
    <--  p2        text
    form data_retrieval.
      data: ld_color(1) type c.
      select ebeln ebelp statu aedat matnr menge meins netpr
    peinh from ekpo  into table it_ekko.
    *Populate field with color attributes
      loop at it_ekko into wa_ekko.
    Populate color variable with colour properties
    Char 1 = C (This is a color property)
    Char 2 = 3 (Color codes: 1 - 7)
    Char 3 = Intensified on/off ( 1 or 0 )
    Char 4 = Inverse display on/off ( 1 or 0 )
              i.e. wa_ekko-line_color = 'C410'
        ld_color = ld_color + 1.
    Only 7 colours so need to reset color value
        if ld_color = 8.
          ld_color = 1.
        endif.
        concatenate 'C' ld_color '10' into wa_ekko-line_color.
    wa_ekko-line_color = 'C410'.
        modify it_ekko from wa_ekko.
      endloop.
    endform.                    " data_retrieval
    *&      Form  display_alv_report
          text
    -->  p1        text
    <--  p2        text
    form display_alv_report.
      gd_repid = sy-repid.
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                i_callback_program       = gd_repid
                is_layout                = gd_layout
                i_callback_top_of_page   = 'TOP-OF-PAGE'
                i_callback_user_command  = 'USER_COMMAND'
                i_callback_pf_status_set = 'SET_PF_STATUS'
                it_event                 = gt_events
                is_print                 = gd_prntparams
                it_fieldcat              = fieldcatalog[]
                it_sort                 = it_sortcat
                i_save                   = 'X'
           tables
                t_outtab                 = it_ekko
           exceptions
                program_error            = 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.
    endform.              " DISPLAY_ALV_REPORT
    *&      Form  user_command
          text
    -->  p1        text
    <--  p2        text
    *&      Form  top-of-page
          text
    -->  p1        text
    <--  p2        text
    form top-of-page.
    *ALV Header declarations
      data: t_header type slis_t_listheader,
            wa_header type slis_listheader,
            t_line like wa_header-info,
            ld_lines type i,
            ld_linesc(10) type c.
    Title
      wa_header-typ  = 'H'.
      wa_header-info = 'EKKO Table Report'.
      append wa_header to t_header.
      clear wa_header.
    Date
      wa_header-typ  = 'S'.
      wa_header-key = 'Date: '.
      concatenate  sy-datum+6(2) '.'
                   sy-datum+4(2) '.'
       sy-datum(4) into wa_header-info."todays date
      append wa_header to t_header.
      clear: wa_header.
    Total No. of Records Selected
      describe table it_ekko lines ld_lines.
      ld_linesc = ld_lines.
      concatenate 'Total No. of Records Selected: ' ld_linesc
         into t_line separated by space.
      wa_header-typ  = 'A'.
      wa_header-info = t_line.
      append wa_header to t_header.
      clear: wa_header, t_line.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
           exporting
           it_list_commentary = t_header
           i_logo             = 'GANESH_LOGO'.
    endform.                    " top-of-page
          FORM user_command                                             *
    -->  R_UCOMM                                                       *
    -->  RS_SELFIELD                                                   *
    form user_command using r_ucomm like sy-ucomm
    rs_selfield type slis_selfield.
      case r_ucomm.
        when '&IC1'.
          if rs_selfield-fieldname = 'EBELN'.
            read table it_ekko into wa_ekko index rs_selfield-tabindex.
            set parameter id 'BES' field wa_ekko-ebeln.
            call transaction 'ME23N' and skip first screen.
          endif.
        when 'ULHAS'.
          if rs_selfield-fieldname = 'EBELN'.
            read table it_ekko into wa_ekko index rs_selfield-tabindex.
            set parameter id 'BES' field wa_ekko-ebeln.
            call transaction 'ME23N' and skip first screen.
          endif.
      endcase.
    endform.
          FORM set_pf_status                                            *
    -->  RT_EXTAB                                                      *
    form set_pf_status using rt_extab type slis_t_extab.
      set pf-status 'ZNEWSTATUS'.
    endform.
    *&      Form  build_events
          text
    -->  p1        text
    <--  p2        text
    form build_events.
      data: ls_event type slis_alv_event.
      call function 'REUSE_ALV_EVENTS_GET'
       exporting
         i_list_type           = 0
       importing
         et_events             = gt_events[]
    EXCEPTIONS
      LIST_TYPE_WRONG       = 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.
      read table gt_events with key name =  slis_ev_end_of_page
                  into ls_event.
      if sy-subrc = 0.
        move 'END_OF_PAGE' to ls_event-form.
        append ls_event to gt_events.
      endif.
      read table gt_events with key name =  slis_ev_end_of_list
                  into ls_event.
      if sy-subrc = 0.
        move 'END_OF_LIST' to ls_event-form.
        append ls_event to gt_events.
      endif.
    endform.                    " build_events
    *&      Form  build_print_params
          text
    -->  p1        text
    <--  p2        text
    form build_print_params.
      gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
      gd_prntparams-no_coverpage = 'X'.
    endform.                    " build_print_params
          FORM END_OF_PAGE                                              *
    form end_of_page.
      data: listwidth type i,
      ld_pagepos(10) type c,
      ld_page(10)    type c.
      write: sy-uline(50).
      skip.  write:/40 'Page:', sy-pagno .
    endform.
          FORM END_OF_LIST                                              *
    form end_of_list.
      data: listwidth type i,
      ld_pagepos(10) type c,
      ld_page(10)    type c.
      skip.  write:/40 'Page:', sy-pagno .
    endform.
    *&      Form  build_sortcat
          text
    -->  p1        text
    <--  p2        text
    form build_sortcat.
    wa_sort-spos      = 1.
    wa_sort-fieldname = 'EBELN'.
    append wa_sort to it_sortcat.
    wa_sort-spos      = 2.
    wa_sort-fieldname = 'EBELP'.
    append wa_sort to it_sortcat.
    endform.                    " build_sortcat
    Rewards if helpfull
    regards
    vijay dwivedi

  • F.01 Summary Report for ALV grid

    Hi all,
    We have defined our financial statement version (FSV). We have been running tests in transaction F.01, when we choose ALV Tree output the transaction works perfectly.
    However, if we choose ALV grid output and then choose "1" in the Summary Report field (highest summary level, only main points of Balance sheet P&L statement should be displayed) the output is not summarized at all.
    In short, no matter what number we put in the Summary Report field we always get the same output.
    What needs to be done in order to be able to use this summarization control?
    Any help will be appreciated.
    Juan
    Edited by: Juan Carlos Mier Giraud on Jul 8, 2008 4:50 PM

    Renata,
    Thanks for your help. I am going to need a bit of help to develop the solutions described in the notes you pointed out.
    Have you successfully created a summarization for ALV grid output?
    I just want to know if it is worthy to devote time to it or just use classic list or ALV tree when appropiate.
    Regards

  • BDC recording for s_alr_87012090

    Hi Friends,
    My requirement :
    As we do vendor changes in xk02, the critical data like bank details, name and address are to be confirmed. so my client want, the changes done in address should not got to confirmation, so I want to do BDC recording for S_ALR_87012090 ( confir vendor changes ). and will check if only address changes are done then i will run these BDC recording .
    but i am unable to do recording.
    please help me out.
    regards
    Kumar M

    Hello Kumar M,
    What is the issue with it? Why cant you do the recording?
    BR,
    Suhas

  • Bdc recording for XK02 to change vendor address

    Dear All,
    I am trying to create a bdc recording for XK02 transaction to change Address fields ( Name1 ... Name4 , House num1, street , House number supplement , city , State , Postal code etc .)
    When i open the transaction XK02 by clicking address, I see all the above fields.
    But when i try to create a recording for the same XK02 transaction through SM35, I see House no & Street as one field and House number supplement missing.
    Please let me know how can i update House num1 , Street and House num supplement seperately.
    Thanks,
    Hima

    Please chekc you entry in Country & Region.
    The region should belong to the country.
    Regards
    Bhavesh MIstry

  • Bdc recording for mek1

    hi
    i have been asked to do bdc recording for the transaction mek1 through the call transaction method.can u people plss tell me how to go abt it?

    Hi,
    You can Record using the Tcode SHDB and format the program and use.
    You can use VK11 tcode also which is similar to MEK1.
    see the sample code for VK11 ; You can change as per your requirement.
    report ZSDBDCP_PRICING no standard page heading
           line-size 255.
                               Includes
    include zbdcrecx1.
                              Internal Tables
    *--Internal Table To hold condition records data from flat file.
    Data: begin of it_pricing occurs 0,
           key(4),
           f1(4),
           f2(4),
           f3(2),
           f4(18),
           f5(16),
          end of it_pricing.
    *--Internal Table To hold condition records header  .
    data : begin of it_header occurs 0,
             key(4),
             f1(4),
             f2(4),
             f3(2),
           end of it_header.
    *--Internal Table To hold condition records details .
    data : begin of it_details occurs 0,
            key(4),
            f4(18),
            f5(16),
           end of it_details.
    data : v_sno(2),
           v_rows type i,
           v_fname(40).
    start-of-selection.
    refresh : it_pricing,it_header,it_details.
    clear  : it_pricing,it_header,it_details.
    CALL FUNCTION 'UPLOAD'
          EXPORTING
               FILENAME                = 'C:\WINDOWS\Desktop\pricing.txt'
               FILETYPE                = 'DAT'
          TABLES
               DATA_TAB                = it_pricing
          EXCEPTIONS
               CONVERSION_ERROR        = 1
               INVALID_TABLE_WIDTH     = 2
               INVALID_TYPE            = 3
               NO_BATCH                = 4
               UNKNOWN_ERROR           = 5
               GUI_REFUSE_FILETRANSFER = 6
               OTHERS                  = 7.
      WRITE : / 'Condition Records ', P_FNAME, ' on ', SY-DATUM.
      OPEN DATASET P_FNAME FOR INPUT IN TEXT MODE.
      if sy-subrc ne 0.
        write : / 'File could not be uploaded.. Check file name.'.
        stop.
      endif.
      CLEAR : it_pricing[], it_pricing.
      DO.
        READ DATASET P_FNAME INTO V_STR.
        IF SY-SUBRC NE 0.
          EXIT.
        ENDIF.
    write v_str.
    translate v_str using '#/'.
        SPLIT V_STR AT ',' INTO it_pricing-key
                                it_pricing-F1 it_pricing-F2 it_pricing-F3
                                it_pricing-F4 it_pricing-F5 .
        APPEND it_pricing.
        CLEAR it_pricing.
      ENDDO.
      IF it_pricing[] IS INITIAL.
        WRITE : / 'No data found to upload'.
        STOP.
      ENDIF.
      loop at it_pricing.
        At new key.
          read table it_pricing index sy-tabix.
          move-corresponding it_pricing to it_header.
          append it_header.
          clear it_header.
        endat.
        move-corresponding it_pricing to it_details.
        append it_details.
        clear it_details.
      endloop.
      perform open_group.
      v_rows = sy-srows - 8.
      loop at it_header.
        perform bdc_dynpro      using 'SAPMV13A' '0100'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RV13A-KSCHL'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'RV13A-KSCHL'
                                      it_header-f1.
        perform bdc_dynpro      using 'SAPMV13A' '1004'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'KONP-KBETR(01)'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'KOMG-VKORG'
                                      it_header-f2.
        perform bdc_field       using 'KOMG-VTWEG'
                                       it_header-f3.
    **Table Control
        v_sno = 0.
        loop at it_details where key eq it_header-key.
          v_sno = v_sno + 1.
          clear v_fname.
          CONCATENATE 'KOMG-MATNR(' V_SNO ')' INTO V_FNAME.
          perform bdc_field       using v_fname
                                        it_details-f4.
          clear v_fname.
          CONCATENATE 'KONP-KBETR(' V_SNO ')' INTO V_FNAME.
          perform bdc_field       using v_fname
                                        it_details-f5.
          if v_sno eq v_rows.
            v_sno = 0.
            perform bdc_dynpro      using 'SAPMV13A' '1004'.
            perform bdc_field       using 'BDC_OKCODE'
                                     '=P+'.
            perform bdc_dynpro      using 'SAPMV13A' '1004'.
            perform bdc_field       using 'BDC_OKCODE'
                                     '/00'.
          endif.
        endloop.
    *--Save
        perform bdc_dynpro      using 'SAPMV13A' '1004'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=SICH'.
        perform bdc_transaction using 'VK11'.
      endloop.
      perform close_group.
    Regards,
    Anji

  • Bdc recording for trancastion ME01

    Hi,
    Can u help me in BDC recording for transaction 'ME01' .
    I have no idea for transaction 'ME01'  & here i like to know how to handle table ctr during bdc recording?
    give sample code if possible.
    Thanks

    See the sample attached code for ME51 using table control.
    similarly record the same for ME01 and copy the TC logic from this.
    REPORT zmm_pr_upload_mat
    NO STANDARD PAGE HEADING
    LINE-SIZE 255.
    Standard Include for Selection Screen
    INCLUDE bdcrecx1.
    Internal Table for Upload Data
    DATA: BEGIN OF i_pr OCCURS 0,
    Header Screen
    sno(3), " SNo
    bsart(004), " PR Type
    epstp(001), " Item Category
    knttp(001), " Account Assignment
    eeind(010), " Delivery Date
    lpein(001), " Category of Del Date
    werks(004), " Plant
    lgort(004), " Storage Location
    ekgrp(003), " Purchasing Group
    matkl(009), " Material Group
    bednr(010), " Tracking No
    afnam(012), " Requisitioner
    Item Details
    matnr(018), " Material No
    menge(017), " Quantity
    badat(010),
    frgdt(010),
    preis(014), " Valuation Price
    waers(005), " Currency
    peinh(005),
    wepos(001),
    repos(001),
    sakto(010), " GL Account
    kostl(010), " Cost Center
    bnfpo(005),
    END OF i_pr.
    Internal Table for header Data
    DATA: BEGIN OF it_header OCCURS 0,
    sno(3), " SNo
    bsart(004), " PR Type
    epstp(001), " Item Category
    knttp(001), " Account Assignment
    eeind(010), " Delivery Date
    werks(004), " Plant
    lgort(004), " Storage Location
    ekgrp(003), " Purchasing Group
    matkl(009), " Material Group
    bednr(010), " Tracking No
    afnam(012), " Requisitioner
    END OF it_header.
    Internal Table for Item Data
    DATA: BEGIN OF it_item OCCURS 0,
    sno(3), " SNo
    matnr(018), " Material No
    menge(017), " Quantity
    preis(014), " Valuation Price
    sakto(010), " GL Account
    kostl(010), " Cost Center
    END OF it_item.
    Data Variables & Constants
    CONSTANTS : c_x VALUE 'X'. " Flag
    DATA : v_l(2), " Counter
    v_rowno(5), " Row No
    v_2(2), " Counter
    v_rows LIKE sy-srows, " Rows in TC
    v_field(45). " String
    Parameters
    PARAMETERS: p_file LIKE ibipparms-path. " Filename
    At selection-screen on Value Request for file Name
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    Get the F4 Values for the File
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    program_name = syst-cprog
    dynpro_number = syst-dynnr
    IMPORTING
    file_name = p_file.
    Start of Selection
    START-OF-SELECTION.
    Open the BDC Session
    PERFORM open_group.
    Upload the File into internal Table
    CALL FUNCTION 'UPLOAD'
    EXPORTING
    filename = p_file
    filetype = 'DAT'
    TABLES
    data_tab = i_pr
    EXCEPTIONS
    conversion_error = 1
    invalid_table_width = 2
    invalid_type = 3
    no_batch = 4
    unknown_error = 5
    gui_refuse_filetransfer = 6
    OTHERS = 7.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    SORT i_pr BY sno.
    LOOP AT i_pr.
    MOVE-CORRESPONDING i_pr TO it_item.
    APPEND it_item.
    CLEAR it_item.
    AT END OF sno.
    READ TABLE i_pr INDEX sy-tabix.
    MOVE-CORRESPONDING i_pr TO it_header.
    APPEND it_header.
    CLEAR it_header.
    ENDAT.
    ENDLOOP.
    SORT it_header BY sno.
    SORT it_item BY sno.
    v_rows = sy-srows - 6.
    Upload the Data from Internal Table
    LOOP AT it_header.
    Header Data
    PERFORM bdc_dynpro USING 'SAPMM06B' '0100'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'EBAN-BEDNR'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'EBAN-BSART'
    it_header-bsart.
    PERFORM bdc_field USING 'RM06B-EPSTP'
    it_header-epstp.
    PERFORM bdc_field USING 'EBAN-KNTTP'
    it_header-knttp.
    PERFORM bdc_field USING 'RM06B-EEIND'
    it_header-eeind.
    PERFORM bdc_field USING 'RM06B-LPEIN'
    it_header-lpein.
    PERFORM bdc_field USING 'EBAN-WERKS'
    it_header-werks.
    PERFORM bdc_field USING 'EBAN-LGORT'
    it_header-lgort.
    PERFORM bdc_field USING 'EBAN-EKGRP'
    it_header-ekgrp.
    PERFORM bdc_field USING 'EBAN-MATKL'
    it_header-matkl.
    PERFORM bdc_field USING 'EBAN-BEDNR'
    it_header-bednr.
    PERFORM bdc_field USING 'EBAN-AFNAM'
    it_header-afnam.
    Item Details
    v_l = 0.
    To add no. of rows
    v_2 = 0 .
    As the screen is showing 13 rows defaulted to 130
    v_rowno = 130 .
    LOOP AT it_item WHERE sno = it_header-sno.
    v_l = v_l + 1.
    IF v_l = 14 .
    IF v_2 = 12 .
    v_2 = 12 .
    v_l = 2 .
    From second time onwards it is displaying 12 rows only
    v_rowno = v_rowno + 120 .
    PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RM06B-BNFPO'.
    PERFORM bdc_field USING 'RM06B-BNFPO'
    v_rowno.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    ELSE.
    V_2 initialized to 12 for second screen purpose
    v_2 = 12 .
    v_l = 2 .
    PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RM06B-BNFPO'.
    PERFORM bdc_field USING 'RM06B-BNFPO'
    v_rowno .
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    ENDIF.
    ENDIF.
    PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    CLEAR v_field.
    CONCATENATE 'EBAN-MATNR(' v_l ')' INTO v_field.
    PERFORM bdc_field USING v_field it_item-matnr.
    CLEAR v_field.
    CONCATENATE 'EBAN-MENGE(' v_l ')' INTO v_field.
    PERFORM bdc_field USING v_field it_item-menge.
    PERFORM bdc_dynpro USING 'SAPMM06B' '0102'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'EBAN-PREIS'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '/00'.
    PERFORM bdc_field USING 'EBAN-PREIS'
    it_item-preis.
    PERFORM bdc_dynpro USING 'SAPMM06B' '0505'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'EBKN-SAKTO'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTE'.
    PERFORM bdc_field USING 'EBKN-SAKTO'
    it_item-sakto.
    Cost Center
    PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'COBL-KOSTL'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTE'.
    PERFORM bdc_field USING 'COBL-KOSTL'
    it_item-kostl.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=ENTE'.
    ENDLOOP.
    PERFORM bdc_dynpro USING 'SAPMM06B' '0106'.
    PERFORM bdc_field USING 'BDC_CURSOR'
    'RM06B-BNFPO'.
    PERFORM bdc_field USING 'BDC_OKCODE'
    '=BU'.
    Call The Transaction
    PERFORM bdc_transaction USING 'ME51'.
    ENDLOOP.
    Close the BDC Session
    PERFORM close_group.
    reward if useful
    Regards
    Vasu

  • BDC recording for transaction 'Me01'

    Hi,
    Can u help me in BDC recording for transaction 'ME01' .
    I have no idea for transaction 'ME01' .
    give sample code if possible.
    Thanks

    For creating source list you will check that purchasing view has been maintained for this material
    Source list for resticting, purcasing a material from a specific vendor only for the period specified in source list
    Regards,
    Amit R.

  • Bdc recording for sm30

    Hi,
          I am asked to do bdc recording for the transaction sm30 through call transaction method. Can u please tell me how to do that...

    Hi Buvana,
    While recording just mentioned the tcode as SM30 and then it takes you automaticcaly to that transaction code then enter the table name and press maintain tab and then select new entreis. Enter the values then save it. Press back button. Now it will take return to recording section. now u can able to see the recoding section. Generate the program automaticcaly from the recording. Now take neccessary internal tables and complete the code. Reply for any queries and reward for useful points. Take care while recording. Don't mention any wrong values.
    Regards,
    Kumar.

  • BDC Recording for cm07 Transaction

    Hi Everyone,
    I'm doing BDC recording for CM07 transaction. In Recording, i need to give a print command  by specifying the spool title.
    For this, after opening the print window, i need to click the 'properties' button, and then select the spool title and input the value.
    But I'm unable to do the recording of this print dialog box. The recording ends as soon as I give the print command.
    Can anyone please tell me the solution to it.
    Thanks and Regards
    Rishika bawa

    Hi,
    See via transaction SHDB:
    SAPLCORU_S     0100     X
    BDC_OKCODE     BU
                                                           AFRUD-RUECK     0000000000
                                                           AFRUD-AUFNR     100051152
                                                           AFRUD-VORNR     0010
                                                           AFRUD-LMNGA     100,000
                                                           AFRUD-MEINH     PC
                                                           AFRUD-XMNGA     2,000
                                                           AFRUD-ISM01     200
                                                           AFRUD-ILE01     PC
    The table for confirmations is AFRU.
    Best regards,
    Leandro Mengue

  • BDC recording for AS01

    hi all,
    how to do bdc recording for AS01.please send me step step by approach.

    Hi Satya,
    Welcome to SDN.
    Check this Sample program.
    REPORT ZASSET .
    INCLUDE ZASSET_INC .
    PARAMETERS: P_PCFILE LIKE RLGRAP-FILENAME.
    *PARAMETERS: P_FILE_S LIKE RLGRAP-FILENAME.
    PARAMETER : H_CHK AS CHECKBOX.
    "Proc Mode
    Include the BDC *
    **BDC DATA STUCTURE
    *DATA: BEGIN OF BDCDATA OCCURS 0.
    INCLUDE STRUCTURE BDCDATA.
    *DATA: END OF BDCDATA.
    messages of call transaction
    *DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    TYPE-POOLS
    TYPE-POOLS TRUXS.
    DATA IT_DATA1 TYPE TRUXS_T_TEXT_DATA.
    DATA : BEGIN OF IT_DATA OCCURS 0,
    INVZU(015),
    ANLKL(008),
    BUKRS(004),
    TXT50(100),
    SERNR(018),
    MENGE(018),
    INKEN(001),
    AKTIV(010),
    KOSTL(010),
    WERKS(004),
    STORT(010),
    ORD41(004),
    ORD42(004),
    EQANZ(001),
    LIFNR(010),
    AFASL(004),
    NDJAR(003),
    AFABG(010),
    ANLGR(012),
    ANLGR2(004),
    ANBTR01_01(016),
    ANBTR01_06(016),
    ANBTR01_16(016),
    TDATE(010),
    TCODE(004),
    TAMT(018),
    PERNR(012),
    KFZKF(015),
    SAP_ASSET(12),
    ERR_ASSET,
    END OF IT_DATA.
    DATA : BEGIN OF IT_DATA2 OCCURS 0,
    INVZU(015),
    TDATE(010),
    TCODE(004),
    TAMT(018),
    END OF IT_DATA2.
    DATA : BEGIN OF IT_DATA3 OCCURS 0,
    ITEM(003),
    INVZU(015),
    ANLKL(010),
    BUKRS(010),
    TXT50(050),
    SERNR(018),
    MENGE(018),
    INKEN(001),
    AKTIV(010),
    KOSTL(010),
    WERKS(004),
    STORT(010),
    ORD41(004),
    ORD42(004),
    EQANZ(001),
    LIFNR(010),
    AFASL(004),
    NDJAR(003),
    AFABG(010),
    ANLGR(012),
    ANLGR2(004),
    ANBTR01_01(016),
    ANBTR01_06(016),
    ANBTR01_16(016),
    TDATE(010),
    TCODE(004),
    TAMT(018),
    SAP_ASSET(12),
    ERR_ASSET,
    END OF IT_DATA3.
    SUB ASSET MASTER TABLE
    DATA : BEGIN OF IT_DATA_SUB OCCURS 0,
    INVZU_M(015),
    INVZU(015),
    BUKRS(004),
    TXT50(100),
    ANLHTXT(050),
    SERNR(018),
    MENGE(018),
    MEINS_007(003),
    XHIST_008(001),
    AKTIV(010),
    GSBER_011(004),
    KOSTL(010),
    STORT(010),
    ORD41(004),
    ORD42(004),
    EQANZ_016(001),
    LIFNR(010),
    LIEFE(030),
    NDJAR(003),
    NDPER(003),
    ANBTR01_01(016),
    ANBTR01_06(016),
    ANBTR01_16(016),
    BZDAT(010),
    BWASL(003),
    ANBTR01(016),
    ANLN1(012),
    ERR_SUB,
    SUB_CODE(012),
    ERR_SUB1,
    END OF IT_DATA_SUB.
    *& At selection-screen on value request for getting f4 help
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PCFILE.
    PERFORM VALUE_REQUEST_P_FILE.
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE_S.
    PERFORM VALUE_REQUEST_P_FILE_S.
    START OF SELECTION *
    START-OF-SELECTION.
    To Upload the flat file datas *
    PERFORM GET_DATA.
    PERFORM UP_LOAD.
    PERFORM SUB_UPLOAD.
    WRITE :/ 'FOLLOWING ASSETS CREATED'.
    WRITE:/ 'OLD ASSET'.
    WRITE: 20 'COMPANY'.
    WRITE: 30 'SAP CODE'.
    LOOP AT IT_DATA WHERE ERR_ASSET NE 'X'.
    WRITE :/ IT_DATA-INVZU,
    20 IT_DATA-BUKRS, 30 IT_DATA-SAP_ASSET.
    ENDLOOP.
    SKIP 2.
    WRITE :/ 'FOLLOWING SUB ASSETS CREATED'.
    WRITE:/ 'OLD ASSET'.
    WRITE: 16 'OLD SUB ASSET'.
    WRITE: 35 'COMPANY'.
    WRITE: 45 'SAP CODE'.
    WRITE: 60 'SUB ASSET'.
    LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X' AND ERR_SUB1 NE 'X'.
    WRITE :/ IT_DATA_SUB-INVZU_M,
    16 IT_DATA_SUB-INVZU,
    35 IT_DATA_SUB-BUKRS, 45 IT_DATA_SUB-ANLN1, 60
    *IT_DATA_SUB-SUB_CODE.
    ENDLOOP.
    *& Form value_request_p_file
    FORM VALUE_REQUEST_P_FILE .
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    PROGRAM_NAME = SYST-CPROG
    DYNPRO_NUMBER = SYST-DYNNR
    FIELD_NAME = 'x'
    IMPORTING
    FILE_NAME = P_PCFILE.
    ENDFORM. " value_request_p_file
    *& Form UP_LOAD
    text
    --> p1 text
    <-- p2 text
    FORM UP_LOAD .
    SORT IT_DATA BY INVZU.
    SORT IT_DATA2 BY INVZU.
    DATA : V_LEN1 TYPE I, V_LEN2 TYPE I, V_SUBSTR1(50) ,V_SUBSTR2(50).
    perform open_dataset using dataset.
    PERFORM OPEN_GROUP.
    LOOP AT IT_DATA.
    CONDENSE IT_DATA-TXT50.
    V_LEN1 = STRLEN( IT_DATA-TXT50 ).
    IF V_LEN1 > 50.
    V_SUBSTR1 = IT_DATA-TXT50+0(50).
    V_LEN2 = V_LEN1 - 50.
    V_SUBSTR2 = IT_DATA-TXT50+50(50).
    ELSE.
    V_SUBSTR1 = IT_DATA-TXT50.
    V_SUBSTR2 = ''..
    ENDIF.
    REFRESH BDCDATA.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0105'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-BUKRS'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'ANLA-ANLKL'
    IT_DATA-ANLKL.
    PERFORM BDC_FIELD USING 'ANLA-BUKRS'
    IT_DATA-BUKRS.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB02'.
    PERFORM BDC_FIELD USING 'ANLA-TXT50'
    V_SUBSTR1. "IT_DATA-TXT50.
    PERFORM BDC_FIELD USING 'ANLA-TXA50'
    V_SUBSTR2.
    PERFORM BDC_FIELD USING 'ANLA-SERNR'
    IT_DATA-SERNR.
    PERFORM BDC_FIELD USING 'ANLA-MENGE'
    IT_DATA-MENGE.
    *perform bdc_field using 'ANLA-INKEN'
    record-INKEN_006.
    PERFORM BDC_FIELD USING 'ANLA-INVZU'
    IT_DATA-INVZU.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-AKTIV'.
    PERFORM BDC_FIELD USING 'ANLA-AKTIV'
    IT_DATA-AKTIV.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB03'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLZ-PERNR'.
    PERFORM BDC_FIELD USING 'ANLZ-PERNR'
    IT_DATA-PERNR.
    PERFORM BDC_FIELD USING 'ANLZ-KOSTL'
    IT_DATA-KOSTL.
    PERFORM BDC_FIELD USING 'ANLZ-WERKS'
    IT_DATA-WERKS.
    PERFORM BDC_FIELD USING 'ANLZ-STORT'
    IT_DATA-STORT.
    IF IT_DATA-ANLKL = 'VHCL'.
    PERFORM BDC_FIELD USING 'ANLZ-KFZKZ'
    IT_DATA-KFZKF.
    ENDIF.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB04'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ORD42'.
    PERFORM BDC_FIELD USING 'ANLA-ORD41'
    IT_DATA-ORD41.
    PERFORM BDC_FIELD USING 'ANLA-ORD42'
    IT_DATA-ORD42.
    *perform bdc_field using 'RA02S-EQANZ'
    record-EQANZ_014.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB06'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-LIFNR'.
    PERFORM BDC_FIELD USING 'ANLA-LIFNR'
    IT_DATA-LIFNR.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB08'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLV-VSART'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=SELZ'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'RA02S-XAKPLA(02)'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLB-AFASL'.
    IF IT_DATA-TCODE IS INITIAL.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTD'.
    ELSE.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTB'.
    ENDIF.
    PERFORM BDC_FIELD USING 'ANLB-ANLGR'
    IT_DATA-ANLGR.
    PERFORM BDC_FIELD USING 'ANLB-ANLGR2'
    IT_DATA-ANLGR2.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
    IF IT_DATA-TCODE IS INITIAL.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=BUCH'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA-ANBTR01_01.
    IF H_CHK NE 'X'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
    IT_DATA-ANBTR01_06.
    ENDIF.
    ELSE.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTB'.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=BUCH'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
    IT_DATA-TDATE.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
    IT_DATA-TCODE.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA-TAMT.
    ENDIF.
    REFRESH MESSTAB.
    CALL TRANSACTION 'AS91' USING BDCDATA
    MODE H_MODE
    UPDATE 'S'
    MESSAGES INTO MESSTAB.
    PERFORM BDC_TRANSACTION USING 'AS91'.
    ENDLOOP..
    PERFORM CLOSE_GROUP.
    *perform close_dataset using dataset.
    ENDFORM. " UP_LOAD
    *& Form GET_DATA
    text
    --> p1 text
    <-- p2 text
    FORM GET_DATA .
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
    I_TAB_RAW_DATA = IT_DATA1
    I_FILENAME = P_PCFILE
    TABLES
    I_TAB_CONVERTED_DATA = IT_DATA.
    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 IT_DATA3.
    IF IT_DATA3-ITEM = '1'.
    MOVE-CORRESPONDING IT_DATA3 TO IT_DATA.
    APPEND IT_DATA.
    ELSEIF IT_DATA3-ITEM = '2'.
    IT_DATA2-INVZU = IT_DATA3-INVZU.
    IT_DATA2-TDATE = IT_DATA3-ANLKL.
    IT_DATA2-TCODE = IT_DATA3-BUKRS.
    IT_DATA2-TAMT = IT_DATA3-TXT50.
    APPEND IT_DATA2.
    ENDIF.
    ENDLOOP.
    IF NOT P_FILE_S IS INITIAL.
    CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
    EXPORTING
    I_TAB_RAW_DATA = IT_DATA1
    I_FILENAME = P_FILE_S
    TABLES
    I_TAB_CONVERTED_DATA = IT_DATA_SUB.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.
    ENDFORM. " GET_DATA
    FORM BDC_DYNPRO
    --> PROGRAM
    --> DYNPRO
    **FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR BDCDATA.
    BDCDATA-PROGRAM = PROGRAM.
    BDCDATA-DYNPRO = DYNPRO.
    BDCDATA-DYNBEGIN = 'X'.
    APPEND BDCDATA.
    **ENDFORM. " BDC_DYNPRO
    FORM BDC_FIELD
    --> FNAM
    --> FVAL
    **FORM BDC_FIELD USING FNAM FVAL.
    CLEAR BDCDATA.
    BDCDATA-FNAM = FNAM.
    BDCDATA-FVAL = FVAL.
    APPEND BDCDATA.
    **ENDFORM. "BDC_FIELD
    ***& Form bdc_transaction
    text
    -->TCODE text
    **FORM BDC_TRANSACTION USING TCODE.
    REFRESH MESSTAB.
    CALL TRANSACTION TCODE USING BDCDATA
    MODE H_MODE
    UPDATE 'S'
    MESSAGES INTO MESSTAB.
    **ENDFORM. " bdc_transaction
    *& Form VALUE_REQUEST_P_FILE_S
    text
    --> p1 text
    <-- p2 text
    FORM VALUE_REQUEST_P_FILE_S .
    CALL FUNCTION 'F4_FILENAME'
    EXPORTING
    PROGRAM_NAME = SYST-CPROG
    DYNPRO_NUMBER = SYST-DYNNR
    FIELD_NAME = 'x'
    IMPORTING
    FILE_NAME = P_FILE_S.
    ENDFORM. " VALUE_REQUEST_P_FILE_S
    *& Form sUB_upload
    text
    --> p1 text
    <-- p2 text
    ***FORM SUB_UPLOAD .
    DATA : V_LEN1 TYPE I, V_LEN2 TYPE I, V_SUBSTR1(50) ,V_SUBSTR2(50).
    LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X'.
    CONDENSE IT_DATA_SUB-TXT50.
    V_LEN1 = STRLEN( IT_DATA_SUB-TXT50 ).
    IF V_LEN1 > 50.
    V_SUBSTR1 = IT_DATA_SUB-TXT50+0(50).
    V_LEN2 = V_LEN1 - 50.
    V_SUBSTR2 = IT_DATA_SUB-TXT50+50(50).
    ELSE.
    V_SUBSTR1 = IT_DATA_SUB-TXT50.
    V_SUBSTR2 = ''..
    ENDIF.
    REFRESH BDCDATA.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0110'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=MAST'.
    PERFORM BDC_FIELD USING 'ANLA-ANLN1'
    IT_DATA_SUB-ANLN1.
    PERFORM BDC_FIELD USING 'ANLA-BUKRS'
    IT_DATA_SUB-BUKRS.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB02'.
    PERFORM BDC_FIELD USING 'ANLA-TXT50'
    V_SUBSTR1. "IT_DATA_SUB-TXT50.
    PERFORM BDC_FIELD USING 'ANLA-TXa50'
    V_SUBSTR2. "IT_DATA_SUB-TXT50.
    ****perform bdc_field using 'ANLH-ANLHTXT'
    it_data_sub-ANLHTXT_004.
    PERFORM BDC_FIELD USING 'ANLA-SERNR'
    IT_DATA_SUB-SERNR.
    PERFORM BDC_FIELD USING 'ANLA-MENGE'
    IT_DATA_SUB-MENGE.
    ****perform bdc_field using 'ANLA-MEINS'
    it_data_sub-MEINS_007.
    ****perform bdc_field using 'RA02S-XHIST'
    it_data_sub-XHIST_008.
    PERFORM BDC_FIELD USING 'ANLA-INVZU'
    IT_DATA_SUB-INVZU.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-AKTIV'.
    PERFORM BDC_FIELD USING 'ANLA-AKTIV'
    IT_DATA_SUB-AKTIV.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB03'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLZ-GSBER'.
    ****perform bdc_field using 'ANLZ-GSBER'
    it_data_sub-GSBER_011.
    ****perform bdc_field using 'ANLZ-KOSTL'
    it_data_sub-KOSTL_012.
    PERFORM BDC_FIELD USING 'ANLZ-STORT'
    IT_DATA_SUB-STORT.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB04'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ORD41'.
    PERFORM BDC_FIELD USING 'ANLA-ORD41'
    IT_DATA_SUB-ORD41.
    PERFORM BDC_FIELD USING 'ANLA-ORD42'
    IT_DATA_SUB-ORD42.
    ****perform bdc_field using 'RA02S-EQANZ'
    it_data_sub-EQANZ_016.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB07'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-LIFNR'.
    PERFORM BDC_FIELD USING 'ANLA-LIFNR'
    IT_DATA_SUB-LIFNR.
    ****perform bdc_field using 'ANLA-LIEFE'
    IT_DATA_SUB-LIEFE.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB08'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-LEART'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=SELZ'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'T093T-AFBKTX(01)'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLB-NDPER'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTD'.
    PERFORM BDC_FIELD USING 'ANLB-NDJAR'
    IT_DATA_SUB-NDJAR.
    PERFORM BDC_FIELD USING 'ANLB-NDPER'
    IT_DATA_SUB-NDPER.
    ****perform bdc_field using 'ANLB-AFABG'
    record-AFABG_029.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    IF IT_DATA_SUB-BWASL IS INITIAL.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=BUCH'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA_SUB-ANBTR01_01.
    Accu deprn automatically calculated by system changed on 6th Aug.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
    IT_DATA_SUB-ANBTR01_06.
    ELSE.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTB'.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
    IT_DATA_SUB-BZDAT.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
    IT_DATA_SUB-BWASL.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA_SUB-ANBTR01.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=BUCH'.
    ****perform bdc_transaction using 'AS94'.
    ENDIF.
    REFRESH MESSTAB.
    CALL TRANSACTION 'AS94' USING BDCDATA
    MODE H_MODE
    UPDATE 'S'
    MESSAGES INTO MESSTAB.
    IF SY-SUBRC = 0.
    READ TABLE MESSTAB INDEX 1.
    IT_DATA_sub-SUB_CODE = MESSTAB-MSGV1.
    DATA AN1 TYPE ANLN1.
    DATA AN2 TYPE ANLN2.
    GET PARAMETER ID 'AN2' FIELD AN2.
    IT_DATA_SUB-SUB_CODE = AN2. "MESSTAB-MSGV1.
    MODIFY IT_DATA_SUB TRANSPORTING SUB_CODE.
    ELSE.
    IT_DATA_SUB-ERR_SUB1 = 'X'.
    MODIFY IT_DATA_SUB TRANSPORTING ERR_SUB1.
    ENDIF.
    REFRESH BDCDATA.
    ENDLOOP.
    ***ENDFORM. " sUB_upload
    ****& Form SUB_UPLOAD1
    text
    ***FORM SUB_UPLOAD1 .
    LOOP AT IT_DATA_SUB WHERE ERR_SUB NE 'X'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0110'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=MAST'.
    PERFORM BDC_FIELD USING 'ANLA-ANLN1'
    IT_DATA_SUB-ANLN1.
    PERFORM BDC_FIELD USING 'ANLA-BUKRS'
    IT_DATA_SUB-BUKRS.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB02'.
    PERFORM BDC_FIELD USING 'ANLA-TXT50'
    IT_DATA_SUB-TXT50.
    ****perform bdc_field using 'ANLH-ANLHTXT'
    it_data_sub-ANLHTXT_004.
    PERFORM BDC_FIELD USING 'ANLA-SERNR'
    IT_DATA_SUB-SERNR.
    PERFORM BDC_FIELD USING 'ANLA-MENGE'
    IT_DATA_SUB-MENGE.
    ****perform bdc_field using 'ANLA-MEINS'
    it_data_sub-MEINS_007.
    ****perform bdc_field using 'RA02S-XHIST'
    it_data_sub-XHIST_008.
    PERFORM BDC_FIELD USING 'ANLA-INVZU'
    IT_DATA_SUB-INVZU.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-AKTIV'.
    PERFORM BDC_FIELD USING 'ANLA-AKTIV'
    IT_DATA_SUB-AKTIV.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB03'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLZ-GSBER'.
    ****perform bdc_field using 'ANLZ-GSBER'
    it_data_sub-GSBER_011.
    ****perform bdc_field using 'ANLZ-KOSTL'
    it_data_sub-KOSTL_012.
    PERFORM BDC_FIELD USING 'ANLZ-STORT'
    IT_DATA_SUB-STORT.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB04'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ORD41'.
    PERFORM BDC_FIELD USING 'ANLA-ORD41'
    IT_DATA_SUB-ORD41.
    PERFORM BDC_FIELD USING 'ANLA-ORD42'
    IT_DATA_SUB-ORD42.
    ****perform bdc_field using 'RA02S-EQANZ'
    it_data_sub-EQANZ_016.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB07'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-LIFNR'.
    PERFORM BDC_FIELD USING 'ANLA-LIFNR'
    IT_DATA_SUB-LIFNR.
    ****perform bdc_field using 'ANLA-LIEFE'
    IT_DATA_SUB-LIEFE.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=TAB08'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-LEART'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '1000'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=SELZ'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'T093T-AFBKTX(01)'.
    PERFORM BDC_DYNPRO USING 'SAPLAIST' '0195'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLB-NDPER'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTD'.
    PERFORM BDC_FIELD USING 'ANLB-NDJAR'
    IT_DATA_SUB-NDJAR.
    PERFORM BDC_FIELD USING 'ANLB-NDPER'
    IT_DATA_SUB-NDPER.
    ****perform bdc_field using 'ANLB-AFABG'
    record-AFABG_029.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1100'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=ALTB'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA_SUB-ANBTR01_01.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(06)'
    IT_DATA_SUB-ANBTR01_06.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '/00'.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BZDAT(01)'
    IT_DATA_SUB-BZDAT.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-BWASL(01)'
    IT_DATA_SUB-BWASL.
    PERFORM BDC_FIELD USING 'RALT_DYNP_STRUC-ANBTR01(01)'
    IT_DATA_SUB-ANBTR01.
    PERFORM BDC_DYNPRO USING 'SAPLALTD' '1200'.
    PERFORM BDC_FIELD USING 'BDC_CURSOR'
    'ANLA-ANLN1'.
    PERFORM BDC_FIELD USING 'BDC_OKCODE'
    '=BUCH'.
    ****perform bdc_transaction using 'AS94'.
    REFRESH MESSTAB.
    CALL TRANSACTION 'AS94' USING BDCDATA
    MODE H_MODE
    UPDATE 'S'
    MESSAGES INTO MESSTAB.
    IF SY-SUBRC = 0.
    READ TABLE MESSTAB INDEX 1.
    IT_DATA_sub-SUB_CODE = MESSTAB-MSGV1.
    DATA AN1 TYPE ANLN1.
    DATA AN2 TYPE ANLN2.
    GET PARAMETER ID 'AN2' FIELD AN2.
    IT_DATA_SUB-SUB_CODE = AN2. "MESSTAB-MSGV1.
    MODIFY IT_DATA_SUB TRANSPORTING SUB_CODE.
    ELSE.
    IT_DATA_SUB-ERR_SUB1 = 'X'.
    MODIFY IT_DATA_SUB TRANSPORTING ERR_SUB1.
    ENDIF.
    REFRESH BDCDATA.
    ENDLOOP.
    ***ENDFORM. " sUB_upload
    and one more thing i face some issues when doing bdc for AS01, so i use AS91 and AS92 for uploading by using LSMW (direct input method and recording method) and it was successful.(if u have to do coding go for BDC/BAPI or there is no coding better to choose LSMW (it is the easiest way) as of my knowledge, so before starting just analyze once which method is best for ur requirement.
    Reward Points for Useful Answers
    Thanks
    Naveen khan
    Message was edited by:
            Pattan Naveen

  • BDC Recording for Sorting a coloum

    Hi All,
    I have to do BDC Recording for  a transaction.During recording i have to select a coloum and sort it ascending and then do further processing.
    BDC recording happens for sorting but not for selecting coloum.
    and hence it gives error when we process the recording  that "Select a coloum".
    can u plz tell me how to add seelcting coloum in BDC recorording.
    Thanks

    Hi,
    You should try to incorporate your functionality using FIND or POSITION button instead of going for sort option.
    Find or position button work very good in this scenerio. With find button you can find the desired entry easily.
    Hope this will solve your problem.
    Regards,
    Brajvir

  • Need a perfect example program for ALV GRID LIST

    first hi to all,i am new to this community.i am still in learning process of SAP.one of my friend suggeted this community and i think this is the perfect place to learn and excel my skill in SAP.so my requirement is a perfect example program for ALV GRID LIST DISPLAY.while i am trying another program,the sysntax is ok but i am not getting any output and it is not showing any error also.hope i will get an answer asap.thank you.

    Check [OO ALV Guide Simple|http://wiki.sdn.sap.com/wiki/display/ABAP/OBJECTORIENTEDALV+Guide] and [Easy Reference to ALV|http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907]

Maybe you are looking for

  • Acrobat v8 not working

    We are using Version Cue CS3 and everything is working great except for Acrobat 8. When we are using the Adobe Dialog box in Acrobat the Cue does not display any Projects. I do have Version Cue turned on in the preferences. The VC icon displays, but

  • Sap PI-xml Digital Signing and encryption in PI-ehp1

    Hi Experts, Our Business scenario is sap R/3 (sender)>rfc data to PI and to webservice(receiver) using rfc and soap adapters The communication channels are secured by snc/ssl. Now the issue is PI have to send digitally sign and encrypt xml messages t

  • Blocking a batch with a delivery

    Hello All, I have a scenario, where I have a batch assigned to a material on a delivery and it shows "Sched. for Delivery" in the MMBE against the correct batch. However, I want to be able to reserve this qty, or remove it from the unrestricted qty u

  • Importing full database to different name

    Hi i have one douhgt ,i want to import a full database dump to a new database with different name and new location.Can i do that i will explain the steps what i am plan to do 1) create an blank database with new name eg dev and same talbepsaces 2) ta

  • WebLogic 11gR1:  Where can I find the docs and the examples

    I just installed the Zip Distribution of WebLogic 11gR1 on Ubuntu 10.10. I also installed the supplemental zip, that contained samples. On the WebLogic 9 installation on a windows box at work, starting up WebLogic causes it to bring up a browser with