Reg: passing totals /subtotals of a ALV to a smartform

I have a editable ALV report which has a button to call a smartform . Once the user edits some  fields I need to pass the refreshed total to the smartform.  I want to know - in what structure the totals/subtotals  of the ALV report are stored.

Banu,
Even if you figure out how to get the subtotals / totals from a ALV, I would still suggest you to use the features of SMART Forms to calculate the same again in the form.
http://help.sap.com/saphelp_nw04/helpdata/en/55/610e2db57911d4b62c006094192fe3/content.htm
So, that way if your form is triggered even without doing the subtotalling done by the user you are on the safer side as the form will still display what you have designed it for.
Regards,
Ravi
Note :Please mark all the helpful answers

Similar Messages

  • Adding/Enabling Totals & Subtotals Button in ALV Report Output

    Hi Guys,
    I would like to know , how to add / enable Totals & Subtotals Button on the application tool bar in alv report output.
    Regards,
    Kishan

    ok so here i am sending my code....its also interactive...
    and in second list i am displaying quantity....
    *& Report  ZINT_ALV
    REPORT  zint_alv.
    TYPE-POOLS:slis.
    TABLES:mara,
           makt,
           mseg.
    DATA:BEGIN OF itab OCCURS 0,
          matnr LIKE mara-matnr,
          maktx LIKE makt-maktx,
         END OF itab.
    DATA:BEGIN OF itab1 OCCURS 0,
          mblnr LIKE mseg-mblnr,
          menge LIKE mseg-menge,
          meins LIKE mseg-meins,
          werks LIKE mseg-werks,
         END OF itab1.
    DATA:fcat TYPE slis_t_fieldcat_alv,
         fcat1 TYPE slis_t_fieldcat_alv,
         eve TYPE slis_t_event,
         eve1 TYPE slis_t_event.
    DATA:t_mat LIKE mara-matnr,
         s_mat LIKE mara-matnr,
         g_repid LIKE sy-repid.
    SELECTION-SCREEN:BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS:mat FOR mara-matnr OBLIGATORY.
    SELECTION-SCREEN:END OF BLOCK blk1.
    INITIALIZATION.
      PERFORM build_fcat USING fcat.
      PERFORM build_eve.
    START-OF-SELECTION.
      PERFORM get_data.
      PERFORM dis_data.
    *&      Form  build_fcat
          text
         -->T_FCAT     text
    FORM build_fcat USING t_fcat TYPE slis_t_fieldcat_alv.
      DATA:wa_fcat TYPE slis_fieldcat_alv.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MATNR'.
      wa_fcat-ref_fieldname = 'MATNR'.
      wa_fcat-ref_tabname = 'MARA'.
      wa_fcat-seltext_m = 'Material'.
    wa_fcat-input = ' '.
    wa_fcat-edit = 'X'.
      wa_fcat-input = 'X'.
      APPEND wa_fcat TO t_fcat.
      CLEAR wa_fcat.
      wa_fcat-tabname = 'ITAB'.
      wa_fcat-fieldname = 'MAKTX'.
      wa_fcat-seltext_m = 'Description'.
      APPEND wa_fcat TO t_fcat.
      CLEAR wa_fcat.
    ENDFORM.                    "build_fcat
    *&      Form  build_eve
          text
    FORM build_eve.
      DATA:t_eve TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type           = 0
       IMPORTING
         et_events             = eve
    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.
    ENDFORM.                    "build_eve
    *&      Form  get_data
          text
    FORM get_data.
      SELECT maramatnr maktmaktx INTO CORRESPONDING FIELDS OF TABLE itab
      FROM mara INNER JOIN makt
      ON maramatnr = maktmatnr
      WHERE mara~matnr IN mat.
    ENDFORM.                    "get_data
    *&      Form  dis_data
          text
    FORM dis_data.
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         i_callback_program                = g_repid         "'ZINT_ALV'
         i_callback_user_command           = 'USER_COMMAND'
         i_grid_title                      = 'Interactive ALV'
         it_fieldcat                       = fcat
         it_events                         = eve
        TABLES
          t_outtab                          = itab
    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.                    "dis_data
    *&      Form  user_command
          text
         -->U_COM      text
    FORM user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.
      CLEAR fcat1.
      CASE u_com.
        WHEN '&IC1'.
          READ TABLE itab INDEX sel_field-tabindex.
          IF sel_field-fieldname = 'MATNR'.
            IF sy-subrc = 0.
              t_mat = itab-matnr.
              PERFORM build_cat1 USING fcat1.
              PERFORM build_eve1.
              PERFORM get_data1.
              PERFORM dis_data1.
            ENDIF.
          ENDIF.
         SET PARAMETER ID 'MAT' FIELD t_mat.
         CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
      ENDCASE.
    ENDFORM.                    "user_command
    *&      Form  build_fcat1
          text
         -->T_FCAT1    text
    FORM build_cat1 USING t_fcat1 TYPE slis_t_fieldcat_alv.
      DATA:wa_fcat1 TYPE slis_fieldcat_alv.
      wa_fcat1-tabname = 'ITAB1'.
      wa_fcat1-fieldname = 'MBLNR'.
      wa_fcat1-seltext_m = 'Material Doc.'.
      APPEND wa_fcat1 TO t_fcat1.
      CLEAR wa_fcat1.
      wa_fcat1-tabname = 'ITAB1'.
      wa_fcat1-fieldname = 'MENGE'.
      wa_fcat1-seltext_m = 'Quantity'.
      APPEND wa_fcat1 TO t_fcat1.
      CLEAR wa_fcat1.
      wa_fcat1-tabname = 'ITAB1'.
      wa_fcat1-fieldname = 'MEINS'.
      wa_fcat1-seltext_m = 'UOM'.
      APPEND wa_fcat1 TO t_fcat1.
      CLEAR wa_fcat1.
      wa_fcat1-tabname = 'ITAB1'.
      wa_fcat1-fieldname = 'WERKS'.
      wa_fcat1-seltext_m = 'Plant'.
      APPEND wa_fcat1 TO t_fcat1.
      CLEAR wa_fcat1.
    ENDFORM.                    "build_fcat1
    *&      Form  build_eve1
          text
    FORM build_eve1.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 0
        IMPORTING
          et_events       = eve1
        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.
    ENDFORM.                                                    "build_eve1
    *&      Form  get_data1
          text
    FORM get_data1.
      SELECT mblnr menge meins werks FROM mseg
      INTO CORRESPONDING FIELDS OF TABLE itab1
      WHERE matnr = t_mat.
    ENDFORM.                                                    "get_data1
    *&      Form  dis_data1
          text
    FORM dis_data1.
      g_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
         i_callback_program                = g_repid              "'ZINT_ALV'
         i_callback_user_command           = 'USER_COMMAND1'
         it_fieldcat                       = fcat1
         it_events                         = eve1
        TABLES
          t_outtab                          = itab1
    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.                                                    "dis_data1

  • Passing the Total/Subtotal Text in ALV

    Hi All,
    I would like to know is there any chance with ALV to pass Total/Subtotal Text.
    PS:I'm not looking for the text ls_layout-totals_text = 'Grand Total'.
    ls_layout-subtotals_text = 'SubTotal'.
    What i'm looking for is In My below Output:
    112365               TDS Windsor Sequencing                           
    112365               TDS Windsor Sequencing                           
    112365               TDS Windsor Sequencing                           
    * Total  <Group text>  "Here My   total amount is showing                                                         
    112313               Operations and Engineering                       
    * Total   <Group text>      "Here My   total amount is showing                                                         
    112363               DCX Windsor                                      
    * Total      <Group text>            "Here My   total amount is showing                                                                               
    ** Subtotal <Group text>   "Here My  "SUB total" amount is showing of above three totals
    I've <Group text> in My Final ALV one of field, but need to show at the place of <Group text> in above output.
    PS:And For Totals/Subtotals i'm using standard function of ALV by passing IT_SORT(which is in Reuse_Alv..FM)
    Any Hints?
    Thank You,
    Cheers,
    Amit.

    Hi Amit,
      Please check this example..I used the event BEFORE_LINE_OUTPUT to populate the subtotal texts
    dynamically..Used the Field-symbols technique to populate the subtotals text...Hope this is what you
    are looking for.
    TYPE-POOLS: slis,kkblo.
    DATA: BEGIN OF wa,
            vbeln TYPE vbeln,
            posnr TYPE posnr,
            matnr TYPE matnr,
            netpr TYPE netpr,
            waerk TYPE waerk,
            text  TYPE char20,
          END OF wa.
    DATA: BEGIN OF wa_vbak,
            vbeln TYPE vbeln,
          END OF wa_vbak.
    DATA: i_event   TYPE slis_t_event,
          t_sort    TYPE slis_t_sortinfo_alv,
          s_sort    TYPE LINE OF slis_t_sortinfo_alv,
          l_s_event TYPE LINE OF slis_t_event.
    DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.
    DATA: s_layout       TYPE slis_layout_alv.
    DATA: v_repid        TYPE syrepid.
    DATA: s_fieldcatalog TYPE slis_fieldcat_alv.
    DATA: itab1          LIKE TABLE OF wa.
    DATA: itab           LIKE TABLE OF wa_vbak.
    START-OF-SELECTION.
    * Field catalog populate.
      s_fieldcatalog-col_pos = '1'.
      s_fieldcatalog-fieldname = 'VBELN'.
      s_fieldcatalog-rollname = 'VBELN'.
      s_fieldcatalog-outputlen = '12'.
      APPEND s_fieldcatalog TO t_fieldcatalog.
      CLEAR: s_fieldcatalog.
      s_fieldcatalog-col_pos = '2'.
      s_fieldcatalog-fieldname = 'POSNR'.
      s_fieldcatalog-rollname = 'POSNR'.
      APPEND s_fieldcatalog TO t_fieldcatalog.
      CLEAR: s_fieldcatalog.
      s_fieldcatalog-col_pos = '3'.
      s_fieldcatalog-fieldname = 'MATNR'.
      s_fieldcatalog-rollname = 'MATNR'.
      APPEND s_fieldcatalog TO t_fieldcatalog.
      CLEAR: s_fieldcatalog.
      s_fieldcatalog-col_pos = '4'.
      s_fieldcatalog-fieldname = 'NETPR'.
      s_fieldcatalog-ref_tabname = 'VBAP'.
      s_fieldcatalog-ref_fieldname = 'NETPR'.
      s_fieldcatalog-do_sum = 'X'.
      APPEND s_fieldcatalog TO t_fieldcatalog.
      CLEAR: s_fieldcatalog.
    * Get vbak
      SELECT vbeln UP TO 100 ROWS
      FROM
      vbak
      INTO TABLE itab.
      IF NOT itab[] IS INITIAL.
    * Get vbap
        SELECT vbeln posnr matnr netpr waerk arktx
        FROM vbap
        INTO TABLE itab1
        FOR ALL ENTRIES IN itab
        WHERE vbeln = itab-vbeln.
      ENDIF.
      v_repid = sy-repid.
    * Build sort internal table.
      s_sort-spos      = '1'.
      s_sort-fieldname = 'VBELN'.
      s_sort-tabname  = 'ITAB1'.
      s_sort-up = 'X'.
      s_sort-subtot = 'X'.
      s_sort-group = 'UL'.
      APPEND s_sort TO t_sort.
    * Get alv events.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
        EXPORTING
          i_list_type     = 2
        IMPORTING
          et_events       = i_event
        EXCEPTIONS
          list_type_wrong = 0
          OTHERS          = 0.
    * Before line output.
      READ TABLE i_event  INTO l_s_event
                        WITH KEY name = 'BEFORE_LINE_OUTPUT'.
      IF sy-subrc = 0.
        MOVE 'BEFORE_LINE_OUTPUT' TO l_s_event-form.
        MODIFY i_event FROM l_s_event INDEX sy-tabix.
      ENDIF.
    * Populate dummy text.
      s_layout-subtotals_text = 'Dummy'.
    * Init
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
        EXPORTING
          i_callback_program = v_repid.
    * Append
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                  = s_layout
          it_fieldcat                = t_fieldcatalog
          i_tabname                  = 'ITAB1'
          it_events                  = i_event
          it_sort                    = t_sort
        TABLES
          t_outtab                   = itab1
        EXCEPTIONS
          program_error              = 1
          maximum_of_appends_reached = 2
          OTHERS                     = 3.
    * Display
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
    *&      Form  BEFORE_LINE_OUTPUT
    *       text
    *      -->GS_LINEINFO  text
    FORM before_line_output USING gs_lineinfo TYPE kkblo_lineinfo.
      FIELD-SYMBOLS: <fs_layout>  TYPE kkblo_layout.
      ASSIGN ('(SAPLKKBL)GT_STACK-IS_LAYOUT') TO <fs_layout>.
      CHECK sy-subrc = 0.
    * Check if it is subtotal line.
      CHECK gs_lineinfo-subtot = 'X'.
    * Get the text
      READ TABLE itab1 INTO wa INDEX gs_lineinfo-sumindex.
      IF sy-subrc = 0.
        <fs_layout>-subtotals_text = wa-text.
      ENDIF.
    ENDFORM.                    "BEFORE_LINE_OUTPUT
    Thanks
    Naren

  • Totals, Subtotals and ABC Analysis buttons missing from ALV.

    Hi,
    I have used FM REUSE_ALV_LIST_DISPLAY in my report without specifying a PF-STATUS that means STANDARD PF-STATUS is used in ALV, and moved from Quality to Production, till yesterday all the features such as Sort, Filter, Local file along with Totals, Subtotals and ABC Analysis were visible, today all buttons are visible but TOTALS, SUBTOTALS and ABC ANALYSIS buttons are missing.
    I have not done any changes to the Code nor the layout.
    Thanks in advance.
    Sunil.
    Edited by: Sunil Saini on Nov 24, 2010 11:26 AM

    Hi Lalit,
    I have checked the Layout.
    In Layout in Quality there are checkboxes in Summation/Totals column in front of Numeric fields,
    but these checkboxes are not visible in Layout of Production system.
    Regards,
    Sunil.

  • Sub Total Text in an ALV using FACTORY Method

    Hi Gurus,
    My requirement is simple, but I couldn't find any answers under SDN or any other forums. Some of you may ask me to check for the SCN posts, but I almost checked everything.
    My requirement is - When I get the Sub-total in my ALV, it should print a text other than the field which has got sub-total value.
    My ALV Schema:
    Field1  |  Field2 |  Field 3 |
    ____   |______ |______ |
               |             |             |
               |             |             |
              Tot. Qty  | 1000.00|
    I have sorted and added the subtotal = 'X' for the field which I need the Subtotal. Added Aggregations to Field3. But where and how to the field 'Tot. Qty', so that it should appear at the Sub-Total Level.
    Please guide me if I've missed any of the forums. Again my requirement is to print the Field Name.
    Regards,
    -Wahid Hussain Syed.

    Hi,
    You can view this thread for example Display constant text in intermediate results column of SALV as it says that this is a limitation in SALV that "The output of totals and subtotals is handled solely by ALV. You can neither pass the results to your application nor manipulate them in any way.". But you can see a work around done for this problem, to be frank that I have not done that and I am only providing this link for your reference.

  • Subtotals text in ALV

    Hi All,
         I want subtotals text in ALV GRID. For this iam seeing a standard program 'BCALV_TEST_FULLSCREEN'.Iam giving subtotal text on selection screen,but its not displayed in output.How to view the text.
    When i executed another program BCALV_TEST_LIST, iam able to get the subtotal text in output, what ever i give the text on the selction screen.
    Regards,
    Kiran I

    Hi,
    Chk out this:
    *&      Form  BUILD_LAYOUT
          Build layout for ALV grid report
    form build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
    gd_layout-totals_only        = 'X'.
    gd_layout-f2code            = 'DISP'.  "Sets fcode for when double
                                            "click(press f2)
    gd_layout-zebra             = 'X'.
    gd_layout-group_change_edit = 'X'.
    gd_layout-header_text       = 'helllllo'.
    endform.                    " BUILD_LAYOUT
    Best Regards,
    Anjali

  • ALV Total and Subtotal in ALV

    Hi,
          I want to display the Total and Subtotal in Alv in Webdynpro Abap, and i am getting this  Error( Access via 'NULL' object reference not possible) and also i have checked the Cardinality also. Please get me a Good Solution.

    I think your node( the node which is binded to data node of alv interface controller ) having collection cardinality of 1:1, if yes, then change it to 0:N,
    i hope this will solve the issue.
    If you still get the error, go to st22, open your error, go down that page (keep pressing pagedown button ), then you will find your code and there find this arrow >>>>> then let me know that code line.
    Regards
    Srinivas

  • To get total qty delivered using ALV in a report

    Hi All,
    I am getting Quantity Delivered iout-lfimg in a ALV Report, in the last line I have to display total qty delivered. Can some one please help me to get this total qty delivered using ALV.
    Thanks,
    Veni.
    FORM get_data.
      SELECT Avbeln Akunag Avsbed Awadat_ist
             Bwerks Bmatnr Blfimg Bvrkme
             C~vbeln
             INTO TABLE IDELI
             FROM LIKP AS A
             INNER JOIN LIPS AS B
                       ON avbeln = bvbeln
             INNER JOIN VBFA AS C
                       ON Bvbeln = Cvbelv
                       AND BPOSNR = CPOSNV
             WHERE A~VBELN IN S_VBELN
                   AND A~ERDAT IN S_ERDAT
                   AND A~ERNAM IN S_ERNAM
                   AND A~VSTEL IN S_VSTEL
                   AND A~VKORG IN S_VKORG
                   AND A~KUNAG IN S_KUNAG
                   AND A~VSBED IN S_VSBED
                   AND A~WADAT_IST IN S_WADAT
                   AND B~MATNR IN S_MATNR
                   AND B~WERKS IN S_WERKS
                   AND C~VBTYP_N = 'Q'.
    ENDFORM.                    " get_data
    FORM process_data.
      loop at ideli.
        if sy-subrc = 0.
    concatenate ideli-vbeln ideli-ddeli into lv_wdelno.
          MOVE ideli-vbeln  TO iout-vbeln.
          MOVE lv_wdelno       TO iout-wdelno.
          MOVE ideli-kunag  TO iout-kunag.
          MOVE ideli-vsbed  TO iout-vsbed.
          MOVE ideli-wadat_ist  TO iout-wadat_ist.
          MOVE ideli-werks  TO iout-werks.
          MOVE ideli-matnr  TO iout-matnr.
          MOVE ideli-lfimg  TO iout-lfimg.
          MOVE ideli-vrkme  TO iout-vrkme.
        endif.
        append iout.
        clear iout.
        clear lv_wdelno.
      endloop.
    ENDFORM.                    " process_data

    Hi,
    While building the fieldcatalog, for the total qty column use the below code :
    gs_fieldcat-do_sum = 'X'.
    Thanks,
    Sriram Ponna.

  • To activate total & subtotal button in ALV by class

    Hi,
    Kindly suggest how to activate total & subtotal button in ALV by class. I have used layout configuration by lvc_s_layo.
    gs_layout type lvc_s_layo.
    Ashutosh Kumar

    Dears,
    Do_SUM is not available in gs_layout type lvc_s_layo.
    Its working only in function module REUSE_ALV_LIST_DISPLAY.
    How to use in class ALV.
    FORM SUB_CREATE_FIELDCATALOG .
    THIS BELOW FIELD IS EDITABLE
    PERFORM APPEND_FIELDCAT USING:'MATNR'
                                  'Material No.'
                                  'CHAR'
                                  '30'
    PERFORM APPEND_FIELDCAT USING:'MATKL'
                                  'DOCUMENT TYPE'
                                  'CHAR'
                                  '10'
    PERFORM APPEND_FIELDCAT USING:''
                                  'CHAR'
                                  '4'
                                  'C610'
          PERFORM APPEND_FIELDCAT USING:'NTGEW'
                                  'NET WT'
                                  'P'
                                  '10'
                                  'C610'
                                  'X'.
        PERFORM APPEND_FIELDCAT USING:'VOLTO'
                                  'VOLUME'
                                  'P'
                                  '10'
                                  'C610'
                                  'X'.
         PERFORM APPEND_FIELDCAT USING:'VPREH'
                                  'COST'
                                  'P'
                                  '10'
                                  'C610'
    ENDFORM.                    " SUB_CREATE_FIELDCATALOG
    *&      FORM  APPEND_FIELDCAT
          TEXT
         -->P_0116   TEXT
         -->P_0117   TEXT
         -->P_0118   TEXT
         -->P_0119   TEXT
         -->P_0120   TEXT
         -->P_10     TEXT
    FORM APPEND_FIELDCAT  USING    P_114
                                   P_115
                                   P_116
                                   P_117
                                   P_118
                                   P_119.
      CLEAR GT_FIELDCAT_LVC.
      GT_FIELDCAT_LVC-FIELDNAME = P_114.
      GT_FIELDCAT_LVC-COLTEXT = P_115.
      GT_FIELDCAT_LVC-DATATYPE = P_116.
      GT_FIELDCAT_LVC-OUTPUTLEN    = P_117.
      GT_FIELDCAT_LVC-EMPHASIZE = P_118.
      GT_FIELDCAT_LVC-do_sum = P_119.
       append gt_fieldcat_lvc.

  • Suppressing some subtotals in an ALV grid

    Hi,
    Does anyone know if it is possible to suppress some of the subtotals in an ALV grid? In some cases I have redundant subtotals, and I would like to suppress one of them. I am using the event SUBTOTAL_TEXT, and this is not something I can control with the sort order.
    Thanks,
    Margaret Brooker.

    Hi Margaret,
    You might want to take a look at the Development Class (Package) in the Object Navigator (SE80) called SLIS.
    There you will find excellent ALV demo programs that illustrate many possible customizations to the Alv grid.
    Although there is not an exact supress subtotal example, you could probably create your own pushbuttons or events to embed your own logic.
    It is possible to create a local class and implement a double click event, which could delete a duplicate line or any other preferred logic that you code.
    cheers,
    Marilyn

  • Pass selection screen value to ALV

    Hi
    I need to pass selection screen values to ALV top of page. How to do this?

    Hi,
    Have a look on the following example.
    TYPE-POOLS: SLIS.
    TABLES: LFA1.
    SELECT-OPTIONS: LIFNR FOR LFA1-LIFNR.
    DATA:  BEGIN OF ITAB OCCURS 0,
           LIFNR LIKE LFA1-LIFNR,
           NAME1 LIKE LFA1-NAME1,
           ORT01 LIKE LFA1-ORT01,
           LAND1 LIKE LFA1-LAND1,
           REGIO LIKE LFA1-REGIO,
           END OF ITAB.
    SELECT * FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE ITAB UP TO 5 ROWS.
    DATA:  LAYOUT TYPE SLIS_LAYOUT_ALV,
           HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE,
           FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
       I_PROGRAM_NAME               = SY-REPID
       I_INTERNAL_TABNAME           = 'ITAB'
      I_STRUCTURE_NAME             = ITAB
      I_CLIENT_NEVER_DISPLAY       = 'X'
       I_INCLNAME                   = SY-REPID
      I_BYPASSING_BUFFER           =
      I_BUFFER_ACTIVE              =
      CHANGING
        CT_FIELDCAT                  = FLDCAT
    EXCEPTIONS
      INCONSISTENT_INTERFACE       = 1
      PROGRAM_ERROR                = 2
      OTHERS                       = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK                 = ' '
      I_BYPASSING_BUFFER                = ' '
      I_BUFFER_ACTIVE                   = ' '
       I_CALLBACK_PROGRAM                = SY-REPID
      I_CALLBACK_PF_STATUS_SET          = ' '
      I_CALLBACK_USER_COMMAND           = ' '
       I_CALLBACK_TOP_OF_PAGE            = 'TOP-OF-PAGE'
      I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
      I_GRID_TITLE                      =
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = FLDCAT
      IT_EXCLUDING                      =
      IT_SPECIAL_GROUPS                 =
      IT_SORT                           =
      IT_FILTER                         =
      IS_SEL_HIDE                       =
      I_DEFAULT                         = 'X'
      I_SAVE                            = ' '
      IS_VARIANT                        =
      IT_EVENTS                         =
      IT_EVENT_EXIT                     =
      IS_PRINT                          =
      IS_REPREP_ID                      =
      I_SCREEN_START_COLUMN             = 0
      I_SCREEN_START_LINE               = 0
      I_SCREEN_END_COLUMN               = 0
      I_SCREEN_END_LINE                 = 0
      I_HTML_HEIGHT_TOP                 = 0
      I_HTML_HEIGHT_END                 = 0
      IT_ALV_GRAPHICS                   =
      IT_HYPERLINK                      =
      IT_ADD_FIELDCAT                   =
      IT_EXCEPT_QINFO                   =
      IR_SALV_FULLSCREEN_ADAPTER        =
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = ITAB
    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.
    DATA: S(10).
    S = 'TO'.
    FORM TOP-OF-PAGE.
    HEADER-TYP = 'S'.
    HEADER-KEY = 'LIFNR'.
    CONCATENATE LIFNR-LOW LIFNR-HIGH INTO HEADER-INFO SEPARATED BY SPACE.
    APPEND HEADER.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = HEADER[]
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    ENDFORM.
    Reward,if useful.
    Thanks,
    Chandu

  • Displaying Total Text in an ALV Grid

    Hi Experts,
                  Please suggest me how to display the Total text in the alv grid using CL_SALV_FACTORY method.
                 Example Output:
                 Field1            Field2         Field3
                 a                    b                100
                 b                    c                100
                 Total                                 200
    Regards,
    Sunil Kumar

    Hi Avinash,
                    It will not work since am using cl_salv_factory method. whatever links you have sent are using reuse_alv_grid_display or set_first_table_display.
    Regards,
    Sunil Kumar

  • Re:BDC,ALV,SCRIPTS and SMARTFORMS

    Hi,
             i need a complete BDC programming example codes with different methods, suppose if it is a material master mm01, i need the screen shots, what to fill in that transaction , the flat file  data snapshot and program, so that i will do that example, otherwise iam so much confused
        I also need ALV ,SAPSCRIPTS and smartforms realtime sample codes with screenshots so tht i will try directly .
       Iam very thankful to all of them who helps me
      Thanks & Regards,
      Sravanthigopal
      [email protected]

    **&#12288;Program ID              &#65306;              ZMAT_CREATE
    **&#12288;Program Desc          &#65306;              Material Master Creation
    **&#12288;Process Overview    
    **&#12288;Created Date           &#65306;               22/08/2006
    **&#12288;Company Name        &#65306;              
    REPORT ZMAT_CREATE
           NO STANDARD PAGE HEADING LINE-SIZE 132 MESSAGE-ID ZBDCMSG.
           Internal table definition        *
    DATA: BEGIN OF ITAB OCCURS 0,
              MATNR LIKE RMMG1-MATNR,                 " Material Number
              MBRSH LIKE RMMG1-MBRSH,                 " Industry Sector
              MTART LIKE RMMG1-MTART,                  " Material Type
              WERKS LIKE RMMG1-WERKS,                  " Plant
              LGORT LIKE RMMG1-LGORT,                  " Storage Location
              VKORG LIKE RMMG1-VKORG,                  " Sales Organization
              VTWEG LIKE RMMG1-VTWEG,                  " Distribution Channel
              LGNUM LIKE RMMG1-LGNUM,                 " Warehouse Number
              LGTYP LIKE RMMG1-LGTYP,                   " Storage Type
              MAKTX LIKE MAKT-MAKTX,                    " Material Description
              MEINS LIKE MARA-MEINS,                      " Base Unit of Measure
             MATKL LIKE MARA-MATKL,                    " Material Group
              SPART LIKE MARA-SPART,                     " Division
              MTPOS_MARA LIKE MARA-MTPOS_MARA,  "General item category group
              GEWEI LIKE MARA-GEWEI,                      " Weight Unit
              TAXKM1 LIKE MG03STEUER-TAXKM,        " Tax classification material
              TAXKM2 LIKE MG03STEUER-TAXKM,        " Tax classification material
              KONDM  LIKE MVKE-KONDM,                  " Material Pricing Group
              MTPOS LIKE MVKE-MTPOS ,                  "ItemCategoryGroupFromMaterialMaster
              MTVFP LIKE MARC-MTVFP,                    " Checking Group for AvailabilityCheck
              TRAGR LIKE MARA-TRAGR,                    " Transportation group
              LADGR LIKE MARC-LADGR,                    " Loading group
              TDLINE LIKE RSTXT-TXLINE,                  " Text editor text line
              EKGRP LIKE MARC-EKGRP,                    " Purchasing Group
              DISMM LIKE MARC-DISMM,                    " MRP Type
              BESKZ LIKE MARC-BESKZ,                     " Procurement Type
              SOBSL LIKE MARC-SOBSL,                    " Special procurement type
              PERKZ LIKE MARC-PERKZ,                     " Period indicator
              PRMOD LIKE MPOP-PRMOD,                  " Forecast model
              KZINI LIKE MPOP-KZINI,                        " Initialization indicator
              AUTRU LIKE MARC-AUTRU,                    " Reset Forecast Model Automatically
              MODAV LIKE MPOP-MODAV,                   " Model selection procedure
              IPRKZ LIKE MARA-IPRKZ,                   " Period indicator for shelf life expiration date
              BWTTY LIKE MBEW-BWTTY,                    " Valuation Category
              BKLAS LIKE MBEW-BKLAS,                     " Valuation Class
              EKLAS LIKE MBEW-EKLAS,                      " Valuation Class for Sales OrderStock
              VPRSV LIKE MBEW-VPRSV,                     " Price Control Indicator
              EKALR LIKE MBEW-EKALR,                      "MaterialIsCostedWithQuantityStructure
           END OF ITAB,
    *// TEXT HEADER
           GT_HEAD LIKE THEAD,
    *//  Text lines
           GT_TEXT  LIKE  STANDARD TABLE OF TLINE,
           GW_TEXT LIKE TLINE,
           Data definition        *
            WS_REP_CNT(6) TYPE C,
            SESSION(12) TYPE C.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS:
                PA_GROUP LIKE  APQI-GROUPID OBLIGATORY DEFAULT 'MMupload',
                PA_FNAME LIKE IBIPPARMS-PATH OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK B1.
           Include statements        *
    INCLUDE ZBDCREX.
         At Selection Screen definition      *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR PA_FNAME.
    *//GETTING FLAT FILE PATH
      PERFORM FILE_PATH USING PA_FNAME.
         Start of Selection definition      *
    START-OF-SELECTION.
    *//UPLOADING THE FLAT FILE
      PERFORM DATA_UPLOAD TABLES ITAB USING PA_FNAME.
    *// BDC OPEN GROUP
      PERFORM OPEN_GROUP USING PA_GROUP.
      SKIP 3.
      FORMAT COLOR COL_HEADING INVERSE ON.
        WRITE 40 TEXT-001.
      FORMAT COLOR COL_HEADING INVERSE OFF.
      SKIP 1.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
        WRITE :/3 TEXT-002, 13 SY-MANDT, 104 TEXT-003, 113 SY-UNAME,
                  /3 TEXT-004, 13 SY-DATUM, 104 TEXT-005, 113 SY-UZEIT.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      LOOP AT ITAB.
        WS_REP_CNT = WS_REP_CNT + 1.   "To Count no. of Records Processed
        PERFORM MM_UPLOAD.
      ENDLOOP.
    *//STATUS INDICATION
      IF SY-SUBRC = 0.
        SESSION = PA_GROUP.
        SKIP 1.
        FORMAT COLOR COL_TOTAL INVERSE ON.
          WRITE: /38 TEXT-006 , WS_REP_CNT.
        FORMAT COLOR COL_TOTAL INVERSE OFF.
        MESSAGE S000 WITH SESSION.
      ENDIF.
    *// BDC CLOSE GROUP
      PERFORM CLOSE_GROUP.
    SET PF-STATUS 'ZMM01PF'.
    AT USER-COMMAND.
      CASE SY-UCOMM.
        WHEN 'SESSION'.
          CALL TRANSACTION 'SM35'.
        WHEN 'EXIT'.
          LEAVE PROGRAM.
        WHEN 'CANCEL'.
          LEAVE SCREEN.
      ENDCASE .
         FORM MM_UPLOAD      *
    FORM MM_UPLOAD.
      REFRESH BDCDATA.
    *// Create Material: Initial Screen
      perform bdc_dynpro      using 'SAPLMGMM' '0060'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RMMG1-MATNR'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
      perform bdc_field       using 'RMMG1-MATNR'
                                    ITAB-MATNR.
      perform bdc_field       using 'RMMG1-MBRSH'
                                    ITAB-MBRSH.
      perform bdc_field       using 'RMMG1-MTART'
                                    ITAB-MTART.
    *// Selection Views
      perform bdc_dynpro      using 'SAPLMGMM' '0070'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    'SELA'.
      perform bdc_dynpro      using 'SAPLMGMM' '0070'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MSICHTAUSW-DYTXT(01)'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
    *// Organization Levels
      perform bdc_dynpro      using 'SAPLMGMM' '0080'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=ENTR'.
      perform bdc_field       using 'RMMG1-WERKS'
                                    ITAB-WERKS.
      perform bdc_field       using 'RMMG1-LGORT'
                                    ITAB-LGORT.
      perform bdc_field       using 'RMMG1-VKORG'
                                    ITAB-VKORG.
      perform bdc_field       using 'RMMG1-VTWEG'
                                    ITAB-VTWEG.
      perform bdc_field       using 'RMMG1-LGNUM'
                                    ITAB-LGNUM.
      perform bdc_field       using 'RMMG1-LGTYP'
                                    ITAB-LGTYP.
    *// Basic Data 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP04'.
      perform bdc_field       using 'MAKT-MAKTX'
                                    ITAB-MAKTX.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-SPART'
                                    ITAB-SPART.
      perform bdc_field       using 'MARA-MTPOS_MARA'
                                    ITAB-MTPOS_MARA.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARA-GEWEI'.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-NTGEW'
                                    '8000'.
    *// Sales: Sales Organization 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP05'.
      perform bdc_field       using 'MG03STEUER-TAXKM(01)'
                                    ITAB-TAXKM1.
      perform bdc_field       using 'MG03STEUER-TAXKM(02)'
                                    ITAB-TAXKM2.
      perform bdc_dynpro      using 'SAPLMGMM' '4200'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP05'.
    *// Sales: Sales Organization 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP06'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MVKE-KONDM'.
      perform bdc_field       using 'MVKE-KONDM'
                                    ITAB-KONDM.
      perform bdc_field       using 'MARA-MTPOS_MARA'
                                    ITAB-MTPOS_MARA.
      perform bdc_field       using 'MVKE-MTPOS'
                                    ITAB-MTPOS.
    *// Sales: General / Plant Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP12'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-XCHPF'
      perform bdc_field       using 'MARA-NTGEW'
                                    '8000'.
      perform bdc_field       using 'MARC-MTVFP'
                                    ITAB-MTVFP.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-LADGR'.
      perform bdc_field       using 'MARA-TRAGR'
                                    ITAB-TRAGR.
      perform bdc_field       using 'MARC-LADGR'
                                    ITAB-LADGR.
    *// MRP 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP13'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARC-EKGRP'
                                    ITAB-EKGRP.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-DISMM'.
      perform bdc_field       using 'MARC-DISMM'
                                    ITAB-DISMM.
    *// MRP 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP14'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'RMMG1_BEZ-WERKS_BEZ'.
      perform bdc_field       using 'MARC-BESKZ'
                                    ITAB-BESKZ.
      perform bdc_field       using 'MARC-SOBSL'
                                    ITAB-SOBSL .
    *// MRP 3: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP16'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-PERKZ'.
      perform bdc_field       using 'MARC-PERKZ'
                                    ITAB-PERKZ.
      perform bdc_field       using 'MARC-MTVFP'
                                    ITAB-MTVFP.
    *// Forecasting Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP17'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MPOP-PRMOD'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MPOP-PRMOD'
                                    ITAB-PRMOD.
      perform bdc_field       using 'MARC-PERKZ'
                                    ITAB-PERKZ.
      perform bdc_field       using 'MPOP-PERAN'
                                    '60'.
      perform bdc_field       using 'MPOP-ANZPR'
                                    '12'.
      perform bdc_field       using 'MPOP-KZINI'
                                    ITAB-KZINI.
      perform bdc_field       using 'MPOP-SIGGR'
                                    '4.000'.
      perform bdc_field       using 'MARC-AUTRU'
                                    ITAB-AUTRU.
      perform bdc_field       using 'MPOP-MODAV'
                                    ITAB-MODAV.
    *// Work Scheduling Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP19'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-FRTME'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
    *// Plant data / Stor. 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP20'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-IPRKZ'
                                    ITAB-IPRKZ.
    *// Plant data / Stor. 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP21'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-BRGEW'
                                    '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
      perform bdc_field       using 'MARA-NTGEW'
                                     '8000'.
    *// Warehouse Management 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP23'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MARA-BRGEW'
                                     '9000'.
      perform bdc_field       using 'MARA-GEWEI'
                                    ITAB-GEWEI.
    *// Quality Management Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP24'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
    *// Accounting 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP26'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MBEW-BWTTY'
                                    ITAB-BWTTY.
      perform bdc_field       using 'MARA-SPART'
                                    ITAB-SPART.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MBEW-STPRS'.
      perform bdc_field       using 'MBEW-BKLAS'
                                    ITAB-BKLAS.
      perform bdc_field       using 'MBEW-EKLAS'
                                    ITAB-EKLAS.
      perform bdc_field       using 'MBEW-VPRSV'
                                    ITAB-VPRSV.
      perform bdc_field       using 'MBEW-PEINH'
                                    '1'.
      perform bdc_field       using 'MBEW-VERPR'
                                    '800'.
      perform bdc_field       using 'MBEW-STPRS'
                                    '800'.
    *// Costing 1: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=SP27'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MARA-MEINS'
                                    ITAB-MEINS.
      perform bdc_field       using 'MBEW-EKALR'
                                    ITAB-EKALR.
      perform bdc_field       using 'MARC-LOSGR'
                                    '1'.
    *// Costing 2: Screen
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=BABA'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MAKT-MAKTX'.
      perform bdc_field       using 'MBEW-BKLAS'
                                    ITAB-BKLAS.
      perform bdc_field       using 'MBEW-BWTTY'
                                    ITAB-BWTTY.
      perform bdc_field       using 'MBEW-EKLAS'
                                    ITAB-EKLAS.
      perform bdc_field       using 'MBEW-VPRSV'
                                    ITAB-VPRSV.
      perform bdc_field       using 'MBEW-PEINH'
                                    '1'.
      perform bdc_field       using 'MBEW-VERPR'
                                    '800.00'.
      perform bdc_field       using 'MBEW-STPRS'
                                    '800.00'.
      perform bdc_dynpro      using 'SAPLSPO1' '0300'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '=YES'.
    *//BDC INSERT
      PERFORM BDC_TRANSACTION TABLES BDCDATA
                          USING 'MM01'. " MESSAGES INTO GT_MSG.
    *// Text Header Data
      CONCATENATE ITAB-MATNR '             000101'
                              INTO GT_HEAD-TDNAME .
      GT_HEAD-TDOBJECT = 'MVKE' .
      GT_HEAD-TDID     = '0001' .
      GT_HEAD-TDSPRAS  = SY-LANGU.
    *// Sales Text
      GW_TEXT-TDFORMAT  =  '00'.
      GW_TEXT-TDLINE    =  ITAB-TDLINE .
      APPEND GW_TEXT TO  GT_TEXT.
      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
          CLIENT          = SY-MANDT
          HEADER          = GT_HEAD
          INSERT          = 'X'
          SAVEMODE_DIRECT = 'X'
          OWNER_SPECIFIED = ' '
        TABLES
          LINES           = GT_TEXT
        EXCEPTIONS
          ID              = 1
          LANGUAGE        = 2
          NAME            = 3
          OBJECT          = 4
          OTHERS          = 5.
      IF SY-SUBRC <> 0.
        SKIP 2.
        FORMAT COLOR COL_NEGATIVE INVERSE ON.
          WRITE: / 'Unable to Insert Salestext for Material : ', ITAB-MATNR .
        FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      ENDIF.
      CLEAR: GT_HEAD, GT_TEXT, GW_TEXT.
    ENDFORM.                    "MM_UPLOAD
    **&#12288;Program ID              &#65306;              ZMAT_CREATE
    **&#12288;Program Desc            &#65306;              Material Master Creation Using BAPI
    **&#12288;Process Overview        &#65306;
    **&#12288;Created By              &#65306;              P.KARTHIKEYAN
    **&#12288;Created Date            &#65306;              17/08/2006
    **&#12288;Company Name            &#65306;              Infoview Technologies Limited
    REPORT  ZBAPI_MATERIAL_SAVETEXT LINE-SIZE 132 MESSAGE-ID ZMMBAPI.
    *<<<DATA DECLEA FOR HEADER>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    ****<<<<<Header segment with control information>>>>>>
    DATA: HEADER LIKE BAPIMATHEAD.
    *<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    *<<<<<<<<Client-specific material data>>>>>>>>>>>>>>>>
    DATA: GT_CLIENTDATA  LIKE BAPI_MARA.
    **<<<<<<<<CLIENT DATA INITIAL>>>>>>>>>>>>>
    **<<<<<<<<Information on update for CLIENTDATA>>>>>>>>
    DATA: GT_CLIENTDATAX LIKE BAPI_MARAX.
    ***<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    **<<<<<<<Plant-specific material data>>>>>>>>>>>>>>>>>
    DATA: GT_PLANTDATA LIKE BAPI_MARC.
    **<<<<<<<<PLANT DATA INITIAL>>>>>>>>>>>>>>>
    **<<<<<<<<Information on update for PLANTDATA>>>>>>>>
    DATA:GT_PLANTDATAX LIKE BAPI_MARCX.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>>>>>>>>>>
    DATA: GT_FORECASTPARAMETERS LIKE BAPI_MPOP.
    *<<<<<<<<<<<<<Information on update for FORECASTDATA>
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>
    DATA:GT_FORECASTPARAMETERSX LIKE BAPI_MPOPX.
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>>>>>>>>>>>>>
    *<<<<<<<<<<<Information on update for PLANNINGDATA>>>
    DATA:GT_PLANNINGDATA LIKE BAPI_MPGD.
    *<<<<<<<<<<<<<<<PLANNING INITIAL  >>>>>>>>>>>>>>>>>>>
    DATA:GT_PLANNINGDATAX LIKE BAPI_MPGDX.
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA>>>>>>>>>>
    *<<<<<<<<<<<<Storage-location-specific material data>>
    DATA: GT_STORAGELOCATIONDATA LIKE BAPI_MARD.
    *<<<<<<Information on update for STORAGELOCATIONDATA>>
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA INITIAL>>>>>>>>>>>
    DATA:GT_STORAGELOCATIONDATAX LIKE BAPI_MARDX.
    *<<<<<<<<<<<<<<<SALESDATA DATA   >>>>>>>>>>>>>>>>>>>>>
    DATA: GT_SALESDATA LIKE BAPI_MVKE.
    *<<<<<<<<<<<<<<<Information on update for SALESDATA>>>
    *<<<<<<<<<<<<<<<SALESDATA DATA INITIAL  >>>>>>>>>>>>>>
    DATA: GT_SALESDATAX LIKE BAPI_MVKEX.
    ****<<<<<<<<<<<<Units of measure>>>>>>>>>>>>>>>>>>>>>>>
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASURE>>>>>>>>>>>>>>>>>>
    DATA: GT_UNITSOFMEASURE LIKE BAPI_MARM OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASUREX>>>>>>>>>>>>>>>>>
    DATA: GT_UNITSOFMEASUREX LIKE BAPI_MARMX OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<SALES TEXT>>>>>>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_MATERIALLONGTEXT LIKE BAPI_MLTX OCCURS 0 WITH HEADER LINE.
    *****<<<<<<<<<<<<<<<MATERIAL_DESC>>>>>>>>>>>>>>>>>>>>>>>>>>
    DATA: MATERIAL_DESC LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE.
    *******<<<<<<<RETURN PARAMETERS>>>>>>>>
    DATA: ITAB_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.  "#EC NEEDED
    ******<<<<<<<WAREHOUSENUMBERDATA>>>>>>>>>>>>>>
    DATA: GT_WAREHOUSENUMBERDATA LIKE     BAPI_MLGN.
    ******<<<<<<<WAREHOUSENUMBERDATA>>>>>>>>>>>>>>
    DATA: GT_WAREHOUSENUMBERDATX LIKE     BAPI_MLGNX.
    ******<<<<<<<STORAGETYPEDATA>>>>>>>>>>>>>>>>>>
    DATA: GT_STORAGETYPEDATA     LIKE     BAPI_MLGT.
    ******<<<<<<<STORAGETYPEDATAX>>>>>>>>
    DATA: GT_STORAGETYPEDATAX     LIKE     BAPI_MLGTX.
    ***<<<BAPI_TRANSCATION COMMIT>>>>>>>>>>>>>>>>>
    DATA: GT_RETURN TYPE BAPIRET2.                              "#EC NEEDED
    ***<<<<<<<<Valuation data>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_VALUATIONDATA like BAPI_MBEW. "Valuation data
    ***<<<<<<<<Valuation data>>>>>>>>>>>>>>>>>>>>>
    DATA: GT_VALUATIONDATAX like  BAPI_MBEWX. "Valuation data
    data: gt_PRTDATA like  BAPI_MFHM OCCURS 0 WITH HEADER LINE.
    data: gt_PRTDATAX like  BAPI_MFHM OCCURS 0 WITH HEADER LINE.
    **<<<<International Article Numbers (EANs)>>>>
    DATA: GT_INTERNATIONALARTNOS    LIKE    BAPI_MEAN  OCCURS 0 WITH HEADER LINE,
    **<<<<Tax classifications>>>>>>>>>>>>>>>>>>>>>>
          GT_TAXCLASSIFICATIONS          LIKE  BAPI_MLAN  OCCURS 0 WITH HEADER LINE,
          GT_RETURNMESSAGES              LIKE BAPI_MATRETURN2  OCCURS 0 WITH HEADER LINE.
    **<<<<<<<<<<<<<<FLAT FILE INTERNAL TABLE USED FOR DOWNLOAD EXCEL FILE>>>>>>
    DATA: BEGIN OF GT_FT_ITAB OCCURS 0,
          MATERIAL TYPE BAPIMATHEAD-MATERIAL , "Material Number
          IND_SECTOR TYPE BAPIMATHEAD-IND_SECTOR, "Industry Sector
          MATL_TYPE TYPE BAPIMATHEAD-MATL_TYPE  , "Material Type
          BASIC_VIEW TYPE BAPIMATHEAD-BASIC_VIEW,  "Basic Data View
          SALES_VIEW TYPE BAPIMATHEAD-SALES_VIEW  , "Sales View
          PURCHASE_VIEW TYPE BAPIMATHEAD-PURCHASE_VIEW, "Purchasing View
          MRP_VIEW  TYPE BAPIMATHEAD-MRP_VIEW ,"Material Requirements Planning (MRP) View
          FORECAST_VIEW TYPE BAPIMATHEAD-FORECAST_VIEW  , "Forecasting View
          WORK_SCHED_VIEW TYPE BAPIMATHEAD-WORK_SCHED_VIEW ,"Work Scheduling View
          PRT_VIEW TYPE BAPIMATHEAD-PRT_VIEW  , "Production Resources/Tools (PRT) View
          STORAGE_VIEW TYPE BAPIMATHEAD-STORAGE_VIEW  , "Storage View
          WAREHOUSE_VIEW  TYPE BAPIMATHEAD-WAREHOUSE_VIEW , "Warehouse Management View
          QUALITY_VIEW  TYPE BAPIMATHEAD-QUALITY_VIEW, "Quality Management View
          ACCOUNT_VIEW TYPE BAPIMATHEAD-ACCOUNT_VIEW , "Accounting View
          COST_VIEW TYPE BAPIMATHEAD-COST_VIEW  , "Costing View
    *****<<<<<<<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>
          MATL_GROUP  TYPE BAPI_MARA-MATL_GROUP,   "Materialgroup
          OLD_MAT_NO TYPE BAPI_MARA-OLD_MAT_NO,  "Old material number
          BASE_UOM  TYPE BAPI_MARA-BASE_UOM,     "Base Unit of Measure
          BASE_UOM_ISO TYPE BAPI_MARA-BASE_UOM_ISO ,"Base unit of measure in ISO code
          DOCUMENT TYPE BAPI_MARA-DOCUMENT, "Document number
          DOC_TYPE TYPE BAPI_MARA-DOC_TYPE, "Document type
          DOC_VERS TYPE BAPI_MARA-DOC_VERS, "Document version
          DOC_FORMAT TYPE BAPI_MARA-DOC_FORMAT,"Page format of document
          DOC_CHG_NO TYPE BAPI_MARA-DOC_CHG_NO, "Document change number
          PAGE_NO TYPE BAPI_MARA-PAGE_NO, "Page number of document
          PROD_MEMO  TYPE BAPI_MARA-PROD_MEMO , "Production/Inspection Memo
          PAGEFORMAT TYPE BAPI_MARA-PAGEFORMAT, "Page Format of Production Memo
          SIZE_DIM TYPE BAPI_MARA-SIZE_DIM, "Size/dimensions
          BASIC_MATL TYPE BAPI_MARA-BASIC_MATL, "Basic Material
          STD_DESCR TYPE BAPI_MARA-STD_DESCR, "Industry Standard Description
          DSN_OFFICE TYPE BAPI_MARA-DSN_OFFICE, "Laboratory/design office
          NET_WEIGHT TYPE BAPI_MARA-NET_WEIGHT, " "Net weight
          UNIT_OF_WT TYPE BAPI_MARA-UNIT_OF_WT, "Weight Unit
          DIVISION TYPE BAPI_MARA-DIVISION, "Division
          CAD_ID TYPE BAPI_MARA-CAD_ID, "Competitor
          PROD_ALLOC TYPE BAPI_MARA-PROD_ALLOC,  "Procurement rule
          HAZMATPROF TYPE BAPI_MARA-HAZMATPROF, "Source of Supply
          HIGH_VISC TYPE BAPI_MARA-HIGH_VISC, "Allowed packaging weight
          LOOSEORLIQ TYPE BAPI_MARA-LOOSEORLIQ, "Long material number
          PERIOD_IND_EXPIRATION_DATE TYPE BAPI_MARA-PERIOD_IND_EXPIRATION_DATE,"Expiration Dat
          ITEM_CAT  TYPE BAPI_MARA-ITEM_CAT, "General item category group
          EXTMATLGRP TYPE BAPI_MARA-EXTMATLGRP, "External Material Group
    *****CLIENT DATA INITIAL>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
          MATL_GROUPX  TYPE BAPI_MARAX-MATL_GROUP, "Materialgroup
          OLD_MAT_NOX TYPE BAPI_MARAX-OLD_MAT_NO, "Old material number
          BASE_UOMX TYPE BAPI_MARAX-BASE_UOM, "Base Unit of Measure
          BASE_UOM_ISOX TYPE BAPI_MARAX-BASE_UOM_ISO, "Base unit of measure in ISO code
          DOCUMENTX TYPE BAPI_MARAX-DOCUMENT, "Document number
          DOC_TYPEX TYPE BAPI_MARAX-DOC_TYPE, "Document type
          DOC_VERSX TYPE BAPI_MARAX-DOC_VERS,  "Document version
          DOC_FORMATX TYPE BAPI_MARAX-DOC_FORMAT,"Page format of document
          DOC_CHG_NOX TYPE BAPI_MARAX-DOC_CHG_NO, "Document change number
          PAGE_NOX TYPE BAPI_MARAX-PAGE_NO, "Production/Inspection Memo
          PROD_MEMOX TYPE BAPI_MARAX-PROD_MEMO, "Page Format of Production Memo
          SIZE_DIMX  TYPE BAPI_MARAX-SIZE_DIM, "Size/dimensions
          BASIC_MATLX TYPE BAPI_MARAX-BASIC_MATL, "Basic Material
          STD_DESCRX TYPE BAPI_MARAX-STD_DESCR, "Industry Standard Description
          DSN_OFFICEX TYPE BAPI_MARAX-DSN_OFFICE, "Laboratory/design office
          NET_WEIGHTX TYPE BAPI_MARAX-NET_WEIGHT, " "Net weight
          UNIT_OF_WTX TYPE BAPI_MARAX-UNIT_OF_WT, "Weight Unit
          DIVISIONX  TYPE BAPI_MARAX-DIVISION, "Division
          PROD_HIERX TYPE BAPI_MARA, "Competitor
          CAD_IDX TYPE BAPI_MARAX-PROD_HIER,  "Procurement rule
          ALLWD_VOLX TYPE BAPI_MARAX-ALLWD_VOL, "Allowed packaging
          PVALIDFROMX  TYPE BAPI_MARAX-PVALIDFROM, "Date from which the cross-plant material status
          SVALIDFROMX   TYPE BAPI_MARAX-SVALIDFROM, "Date from which the X-distr.-chain material stat
          PROD_ALLOCX TYPE BAPI_MARAX-PROD_ALLOC,
          HIGH_VISCX  TYPE BAPI_MARAX-HIGH_VISC,"Indicator: Highly Viscous
          LOOSEORLIQX  TYPE BAPI_MARAX-LOOSEORLIQ, "Indicator: In Bulk/Liquid
          INV_MAT_NO_EXTERNALX  TYPE BAPI_MARAX-INV_MAT_NO_EXTERNAL,
          EXTMATLGRPX TYPE BAPI_MARAX-EXTMATLGRP, " External Material Group
    ****<<<<<<<<<<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
          PLANT  TYPE BAPI_MARC-PLANT, " Plant
          MRP_TYPE  TYPE BAPI_MARC-MRP_TYPE, "MRP Type
          REORDER_PT  TYPE BAPI_MARC-REORDER_PT, "Reorder Point
          SAFETY_STK  TYPE BAPI_MARC-SAFETY_STK, "Safety stock
          MINLOTSIZE  TYPE BAPI_MARC-MINLOTSIZE, "Minimum lot size
    ****<<<<<<<<<<<<<<PLANTDATA INITIAL>>>>>>>>>>>>>>>>>>>>>>
          PLANTX  TYPE BAPI_MARCX-PLANT, " Plant
          MRP_TYPEX  TYPE BAPI_MARCX-MRP_TYPE,  "MRP Type
          REORDER_PTX  TYPE BAPI_MARCX-REORDER_PT, "Reorder Point
          SAFETY_STKX  TYPE BAPI_MARCX-SAFETY_STK, "Safety stock
          MINLOTSIZEX  TYPE BAPI_MARCX-MINLOTSIZE, "Minimum lot size
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>
          F_PLANT  TYPE BAPI_MPOPX-PLANT, " Plant
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>>>>
          F_PLANTX TYPE BAPI_MPOPX-PLANT, " Plant
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>>>>>>>>>>>>>>>>
          P_PLANT TYPE BAPI_MPGD-PLANT, " Plant
    *<<<<<<<<<<<<<<<PLANNING DATA INITAIAL  >>>>>>>>>>>>>>>
          P_PLANTX TYPE BAPI_MPGDX-PLANT, " Plant
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA>>>>>>>>>>>>>>>>>>>>
          S_PLANT   TYPE BAPI_MARD-PLANT, " Plant
          S_STGE_LOC  TYPE BAPI_MARD-STGE_LOC,
    *<<<<<<<<<<<<<<<STORAGELOCATIONDATA INITIAL>>>>>>>>>>
          S_PLANTX   TYPE BAPI_MARDX-PLANT, " Plant
          S_STGE_LOCX TYPE BAPI_MARDX-STGE_LOC, "Storage Location
    *<<<<<<<<<<<<<<<SALESDATA DATA   >>>>>>>>>>
          SALES_ORG TYPE  BAPI_MVKE-SALES_ORG, "Sales Organization
          DISTR_CHAN  TYPE  BAPI_MVKE-DISTR_CHAN, "Distribution Channel
    *<<<<<<<<<<<<<<<SALESDATA DATA INITIAL  >>>>>>>>>>
          SALES_ORGX TYPE  BAPI_MVKEX-SALES_ORG, "Sales Organization
          DISTR_CHANX  TYPE  BAPI_MVKEX-DISTR_CHAN, "Distribution Channel
    *****<<<<<<<<<<<<<<<MATERIAL_DESC>>>>>>>>>>>>>>>>>>>>>>>>>>
          LANGU   TYPE BAPI_MAKT-LANGU , "Language Key
          LANGU_ISO TYPE BAPI_MAKT-LANGU_ISO , "Language according to ISO 639
          MATL_DESC TYPE BAPI_MAKT-MATL_DESC ,  "Material Description
    *****<<<<<<<<<<<<<<<GT_UNITSOFMEASURE>>>>>>>>>>>>>>>>>>>>>>>>>>
          ALT_UNIT  TYPE BAPI_MARM-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
          ALT_UNIT_ISO  TYPE BAPI_MARM-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
    ******<<<<<<<<<<<<<<<GT_UNITSOFMEASUREX>>>>>>>>>>>>>>>>>>>>>>>>>>
          UNIT TYPE BAPI_MARMX-ALT_UNIT,
                     "Alternative Unit of Measure for Stockkeeping Unit
          UNIT_ISO  TYPE BAPI_MARMX-ALT_UNIT_ISO,
            "Alternative unit of measure to stockkeeping unit in ISO code
    *****<<<<<<<<<<<<<<<SALES TEXT>>>>>>>>>>>>>>>>>>>>>>>>>>
          APPLOBJECT TYPE BAPI_MLTX-APPLOBJECT, "Texts: application object
          TEXT_NAME  TYPE BAPI_MLTX-TEXT_NAME, "Name
          TEXT_ID  TYPE BAPI_MLTX-TEXT_ID, "Text ID
          S_LANGU  TYPE BAPI_MLTX-LANGU, "Language key
          TEXT_LINE TYPE BAPI_MLTX-TEXT_LINE, "Text line
    END OF GT_FT_ITAB,
    TEXT(243), " Return Message
    WA_HEAD LIKE THEAD, " SalesText Header Info
    ITAB_TLINE LIKE STANDARD TABLE OF TLINE WITH HEADER LINE, " SalesText
    ERROR_REC TYPE I, " Error Records Counter
    SUCCESS_REC TYPE I, " Successful Records Counter
    TOT_REC TYPE I. " Total Records Counter
    selection block for EXCEL UPLOAD FILE>>>>>>>>>>>>>>>>>>>>>>>>
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.
    PARAMETERS FILE TYPE  IBIPPARMS-PATH OBLIGATORY .
    SELECTION-SCREEN END OF BLOCK B1.
    *<<<<AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .>>>>>>>>>>>>
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR FILE .
      CALL FUNCTION 'F4_FILENAME'
        EXPORTING
          PROGRAM_NAME  = SYST-CPROG
          DYNPRO_NUMBER = SYST-DYNNR
        IMPORTING
          FILE_NAME     = FILE.
    **<<<<<<<<<<<<<<<<<START-OF-SELECTION.>>>>>>>>>>>>>>>>>>>>>>>>>>>
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'                                 "#EC *
        EXPORTING
          FILENAME                = FILE
          FILETYPE                = 'DAT'
        TABLES
          DATA_TAB                = GT_FT_ITAB
        EXCEPTIONS
          CONVERSION_ERROR        = 1
          FILE_OPEN_ERROR         = 2
          FILE_READ_ERROR         = 3
          INVALID_TYPE            = 4
          NO_BATCH                = 5
          UNKNOWN_ERROR           = 6
          INVALID_TABLE_WIDTH     = 7
          GUI_REFUSE_FILETRANSFER = 8
          CUSTOMER_ERROR          = 9
          NO_AUTHORITY            = 10
          OTHERS                  = 11.
      IF  SY-SUBRC <> 0  .
        MESSAGE E000.
      ENDIF.
      SKIP 3.
      FORMAT COLOR COL_HEADING INVERSE ON.
      WRITE 40 TEXT-001.
      FORMAT COLOR COL_HEADING INVERSE OFF.
      SKIP 1.
      FORMAT COLOR COL_NEGATIVE INVERSE ON.
      WRITE :/3 TEXT-002, 13 SY-MANDT , 104 TEXT-003, 111 SY-UNAME,
                /3 TEXT-004, 13 SY-DATUM , 104 TEXT-005, 111 SY-UZEIT.
      FORMAT COLOR COL_NEGATIVE INVERSE OFF.
      SKIP 3.
      LOOP AT GT_FT_ITAB.
        HEADER-MATERIAL = GT_FT_ITAB-MATERIAL .                 " 'M-32'.
        HEADER-IND_SECTOR = GT_FT_ITAB-IND_SECTOR .          " 'C'.
        HEADER-MATL_TYPE = GT_FT_ITAB-MATL_TYPE .             " 'FERT'.
        HEADER-BASIC_VIEW = GT_FT_ITAB-BASIC_VIEW .            " 'X'.
        HEADER-SALES_VIEW = GT_FT_ITAB-SALES_VIEW.             " 'X'.
        HEADER-PURCHASE_VIEW = GT_FT_ITAB-PURCHASE_VIEW .    " 'X'.
        HEADER-MRP_VIEW = GT_FT_ITAB-MRP_VIEW .                      " 'X'.
        HEADER-FORECAST_VIEW = GT_FT_ITAB-FORECAST_VIEW .    " 'X'.
        HEADER-WORK_SCHED_VIEW = GT_FT_ITAB-WORK_SCHED_VIEW ." 'X'.
        HEADER-PRT_VIEW = GT_FT_ITAB-PRT_VIEW .                          " 'X'.
        HEADER-STORAGE_VIEW = GT_FT_ITAB-STORAGE_VIEW .           " 'X'.
        HEADER-WAREHOUSE_VIEW = GT_FT_ITAB-WAREHOUSE_VIEW .   " 'X'.
        HEADER-QUALITY_VIEW = GT_FT_ITAB-QUALITY_VIEW .             " 'X'.
        HEADER-ACCOUNT_VIEW =  GT_FT_ITAB-ACCOUNT_VIEW .        " 'X'.
        HEADER-COST_VIEW = GT_FT_ITAB-COST_VIEW .                     " 'X'.
    *<<CLIENT DATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        GT_CLIENTDATA-MATL_GROUP = GT_FT_ITAB-MATL_GROUP .      " '01'.
        GT_CLIENTDATA-OLD_MAT_NO = GT_FT_ITAB-OLD_MAT_NO .      " '1000'.
        GT_CLIENTDATA-BASE_UOM  = GT_FT_ITAB-BASE_UOM  .         " 'EA'.
        GT_CLIENTDATA-BASE_UOM_ISO = GT_FT_ITAB-BASE_UOM_ISO ." 'EA'.
        GT_CLIENTDATA-DOCUMENT = GT_FT_ITAB-DOCUMENT .         "'MATERIAL'.
        GT_CLIENTDATA-DOC_TYPE = GT_FT_ITAB-DOC_TYPE .            " 'A'.
        GT_CLIENTDATA-DOC_VERS = GT_FT_ITAB-DOC_VERS .          " '5'.
        GT_CLIENTDATA-DOC_FORMAT = GT_FT_ITAB-DOC_FORMAT .      " '5'.
        GT_CLIENTDATA-DOC_CHG_NO = GT_FT_ITAB-DOC_CHG_NO .      " 'A4'.
        GT_CLIENTDATA-PAGE_NO =  GT_FT_ITAB-PAGE_NO    .        " '1'.
        GT_CLIENTDATA-PROD_MEMO = GT_FT_ITAB-PROD_MEMO .      " 'MEMO'.
        GT_CLIENTDATA-PAGEFORMAT = GT_FT_ITAB-PAGEFORMAT .      " '1'.
        GT_CLIENTDATA-SIZE_DIM = GT_FT_ITAB-SIZE_DIM .          " '50/50'.
        GT_CLIENTDATA-BASIC_MATL = GT_FT_ITAB-BASIC_MATL .       " 'BASIS MATERIAL1'.
        GT_CLIENTDATA-STD_DESCR = GT_FT_ITAB-STD_DESCR .         " 'MATERIAL DESC'.
        GT_CLIENTDATA-DSN_OFFICE = GT_FT_ITAB-DSN_OFFICE .      " '001'.
        GT_CLIENTDATA-NET_WEIGHT = GT_FT_ITAB-NET_WEIGHT .      " 1000.
        GT_CLIENTDATA-UNIT_OF_WT = GT_FT_ITAB-UNIT_OF_WT .         " 'KG'.
        GT_CLIENTDATA-TRANS_GRP =  '0001'.
        GT_CLIENTDATA-DIVISION =         GT_FT_ITAB-DIVISION .  " '01'.
        GT_CLIENTDATA-QTY_GR_GI = '9000'.
        GT_CLIENTDATA-CAD_ID = GT_FT_ITAB-CAD_ID .                      " 'X'.
        GT_CLIENTDATA-ALLWD_VOL = '9000'.
        GT_CLIENTDATA-PROD_ALLOC = GT_FT_ITAB-PROD_ALLOC .      " 'PA01'.
        GT_CLIENTDATA-HAZMATPROF = GT_FT_ITAB-HAZMATPROF .      " '001'.
        GT_CLIENTDATA-HIGH_VISC = GT_FT_ITAB-HIGH_VISC .             " 'X'.
        GT_CLIENTDATA-LOOSEORLIQ = GT_FT_ITAB-LOOSEORLIQ .     " 'X'.
        GT_CLIENTDATA-PERIOD_IND_EXPIRATION_DATE = GT_FT_ITAB-PERIOD_IND_EXPIRATION_DATE . " 'D'.
        GT_CLIENTDATA-ITEM_CAT = 'NORM' . "GT_FT_ITAB-ITEM_CAT .   " 'NORM'.
        GT_CLIENTDATA-EXTMATLGRP = GT_FT_ITAB-EXTMATLGRP .      " '01'.
    **<<<<<<<<CLIENT DATA INITIAL>>>>>>>>>>>>>
        GT_CLIENTDATAX-MATL_GROUP =  'X'.
        GT_CLIENTDATAX-OLD_MAT_NO = GT_FT_ITAB-OLD_MAT_NO .        "  'X'.
        GT_CLIENTDATAX-BASE_UOM = GT_FT_ITAB-BASE_UOM .              " 'X'.
        GT_CLIENTDATAX-BASE_UOM_ISO = GT_FT_ITAB-BASE_UOM_ISO .   "'X'.
        GT_CLIENTDATAX-DOCUMENT = GT_FT_ITAB-DOCUMENT .            "'X'.
        GT_CLIENTDATAX-DOC_TYPE = GT_FT_ITAB-DOC_TYPE .               "'X'.
        GT_CLIENTDATAX-DOC_VERS = GT_FT_ITAB-DOC_VERS .               "'X'.
        GT_CLIENTDATAX-DOC_FORMAT = GT_FT_ITAB-DOC_FORMAT .      "'X'.
        GT_CLIENTDATAX-DOC_CHG_NO = GT_FT_ITAB-DOC_CHG_NO .      "'X'.
        GT_CLIENTDATAX-PAGE_NO = GT_FT_ITAB-PAGE_NO .                  "'X'.
        GT_CLIENTDATAX-PROD_MEMO  = GT_FT_ITAB-PROD_MEMO .        "'X'.
        GT_CLIENTDATAX-PAGEFORMAT = 'X'.
        GT_CLIENTDATAX-SIZE_DIM = GT_FT_ITAB-SIZE_DIM .                    "'X'
        GT_CLIENTDATAX-BASIC_MATL = GT_FT_ITAB-BASIC_MATL.           "'X'.
        GT_CLIENTDATAX-STD_DESCR = GT_FT_ITAB-STD_DESCR .            "'X'.
        GT_CLIENTDATAX-DSN_OFFICE = GT_FT_ITAB-DSN_OFFICE .           "'X'.
        GT_CLIENTDATAX-NET_WEIGHT = GT_FT_ITAB-NET_WEIGHT .           "'X'.
        GT_CLIENTDATAX-UNIT_OF_WT = GT_FT_ITAB-UNIT_OF_WT .            "'X'.
        GT_CLIENTDATAX-DIVISION  = GT_FT_ITAB-DIVISION .                    "'X'.
        GT_CLIENTDATAX-PROD_HIER = GT_FT_ITAB-PROD_HIERX .              "'X'.
        GT_CLIENTDATAX-CAD_ID = GT_FT_ITAB-CAD_ID .                           "'X'.
        GT_CLIENTDATAX-ALLWD_VOL = GT_FT_ITAB-ALLWD_VOLX .             "'X'.
        GT_CLIENTDATAX-PROD_ALLOC = GT_FT_ITAB-PROD_ALLOCX .         "'X'.
        GT_CLIENTDATAX-HAZMATPROF = 'X'.
        GT_CLIENTDATAX-HIGH_VISC  = GT_FT_ITAB-HIGH_VISCX .                "'X'.
        GT_CLIENTDATAX-LOOSEORLIQ  = GT_FT_ITAB-LOOSEORLIQX .        "'X'.
        GT_CLIENTDATAX-ITEM_CAT = 'X'.
        GT_CLIENTDATAX-INV_MAT_NO_EXTERNAL  = GT_FT_ITAB-INV_MAT_NO_EXTERNALX  .      "'X'.
        GT_CLIENTDATAX-EXTMATLGRP = GT_FT_ITAB-EXTMATLGRPX .         " 'X'.
        GT_CLIENTDATAX-TRANS_GRP =  'X'.
        GT_CLIENTDATAX-QTY_GR_GI = 'X'.
        GT_CLIENTDATAX-ALLWD_VOL = 'X'.
    ***<<<<<PLANTDATA>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        GT_PLANTDATA-PLANT = GT_FT_ITAB-PLANT .                 " '0001'.
        GT_PLANTDATA-MRP_TYPE = GT_FT_ITAB-MRP_TYPE .       "'ND'.
        GT_PLANTDATA-PUR_GROUP = '001'.                              "Purchasing Group
        GT_PLANTDATA-PROC_TYPE = 'F'.                                  "Procurement Type
        GT_PLANTDATA-SPPROCTYPE = '10'.                              "Special procurement type
       GT_PLANTDATA-REORDER_PT = GT_FT_ITAB-REORDER_PT .       "8000.
        GT_PLANTDATA-SAFETY_STK =  2.
        GT_PLANTDATA-LOADINGGRP = '0001'.                           "Loading group
        GT_PLANTDATA-MINLOTSIZE = GT_FT_ITAB-MINLOTSIZE .       "6000.
    **<<<<<<<<PLANT DATA INITIAL>>>>>>>>>>>>>
        GT_PLANTDATAX-PLANT = GT_FT_ITAB-PLANTX.                " '0001'.
        GT_PLANTDATAX-MRP_TYPE = GT_FT_ITAB-MRP_TYPEX.      " 'X'.
        GT_PLANTDATAX-PUR_GROUP = 'X'.                                 "Purchasing Group
        GT_PLANTDATAX-PROC_TYPE = 'X'.                                  "Procurement Type
        GT_PLANTDATAX-SPPROCTYPE = 'X'.                               "Special procurement type
        GT_PLANTDATAX-LOADINGGRP = 'X'.                               "Loading group
       GT_PLANTDATAX-REORDER_PT = GT_FT_ITAB-REORDER_PTX.   " 'X'.
        GT_PLANTDATAX-SAFETY_STK = GT_FT_ITAB-SAFETY_STKX.      "'X'.
        GT_PLANTDATAX-MINLOTSIZE = GT_FT_ITAB-MINLOTSIZEX.       "'X'.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS>>>>>>>>>>
        GT_FORECASTPARAMETERS-PLANT =  GT_FT_ITAB-F_PLANT.      " '0001'.
    *<<<<<<<<<<<<<<<FORECASTPARAMETERS DATA INTIAL>>>>>>>>>>
        GT_FORECASTPARAMETERSX = '0001'.
        GT_FORECASTPARAMETERSX-PLANT =  GT_FT_ITAB-F_PLANTX.    " '0001'.
    *<<<<<<<<<<<<<<<PLANNING DATA  >>>>>>>>>>
    *GT_PLANNINGDATA-PLANT = GT_FT_ITAB-P_PLANT.                    " '0001'.
        GT_PLANNINGDATA-PLANT =   '0001'.
    *<<<<<<<<<<<<<<<PLAN

  • How to call ALV Report and SMARTFORMS through Pushbutton

    hi,
    i have created a report.My task is to create two buttons:
    1)ALV Report.
    2)SMARTFROMS.
    Through these button i have to call ALV Report and SMARTFORMS. i have created both button and when i execute the program,
    it shows me the button but not working when i click on it.
    this is the coding i have used in my report for calling ALV Report.
    ''Tables sscrfields,
    DATA flag(1) Type c.
    selection-screen: begin of screen 500 AS WINDOW TITLE tit,
    BEGIN OF LINE,
    PUSHBUTTON 2(18) but1 USER-COMMAND cli1,
    end of line,
    BEGIN OF LINE,
    PUSHBUTTON 2(18) but2 USER-COMMAND cli2,
    end of line,
    end of screen 500.
    SET PF-STATUS 'STATUS_0100'.
    at selection-screen.
    case sscrfields.
    WHEN 'cli1'.
    flag = '1'.
    WHEN 'cli2'.
    flag = '2'.
    endcase.
    at USER-COMMAND.
    CASE SY-UCOMM.
    WHEN 'Detail'.
    select vbakkunnr VBakernam VBAkaudat vbakaufnr vbapKWMENG vbapmatnr vbap~ARKTX
    into but1
    from vbak inner join vbap
    on vbakvbeln = vbapvbeln.
    ENDSELECT.
    ENDCASE.
    START-OF-SELECTION.
    tit = 'Format'.
    but1 = 'ALV Report'.
    but2 = 'SMARTFORMS'.
    CALL SELECTION-SCREEN 500.
    and i also use in my report
    ''case sscrfields-ucomm'' and ''submit my_report'' but the still button doesn't show the result.
    Thanks & Regards,

    Hi,
             I  understood your requirement. What i found is,  you are creating screen 500 and call it after START-OF-SELECTION,
    at that time your AT USER-COMMAND doesn't work.
    So what i would suggest , u should create GUI STATUS named ' PFSTAT' 
    having one functional key 'EXIT'  that is standard u can just name it
    and
    other two u can assign in Freely assigned Function keys as 'BUT1' & 'BUT2'.  and than in Application Toolbar u jst have it in ITEM LIST by typing BUT1 and BUT2.
    For 'BUT1'  text would be 'ALV'  and 'BUT2' text would be 'SMARTFORMS'.
    Now in Program you can code,,,
    START-OF-SELECTION.
    SET PF-STATUS 'PFSTAT'.
    WRITE:/ 'TEST'.
    at user-command.
      case SY-UCOMM.
        WHEN 'BUT1'.
        WHEN 'BUT2'.
        WHEN 'EXIT'.
           LEAVE PROGRAM.
      endcase.
    In Program u set PF STATUS and use at user-command event, whcih gets triggered when u click on button . When u execute program you get two button in application tooldbar.
    Please do needful.
    Thanks,
    Saurin SHah

  • Regarding Passing two internal Tables from Driver Program to Smartform

    hi all,
              I am Passing Two Internal Tables from Driver Program to Smartform it is going to dump and message is showing like this " one of the parameters eded according to the interface description was not specified ".
              When i am passing one Internal Table Output is coming Perfectly. Is there any restriction for passing of internal tables.
    Regards
    Rami

    HI,
    Check the names specified in the smartfrom and FM whcih you are calling in the driver program. Both might be different....

Maybe you are looking for