Dynpro Table Control Column's Order

Hi everyone,
I am facing a strange issue in a Dynpro Table Control with the order of the columns.
I had to add a new key filed in a standard view. When I am running the Table Maintenance Generator in SE11, the Dynpro Table Control is generated correctly and the new column appears at the right place with the other key fields. But when I display the view data with either in SE11 or using the Customizing link in SPRO, the new key field appears at the complete right end of the Dynpro in between two normal fields.
I tried to delete the screen and to generate it again, I tried to use the same screen number and also a new screen number but the result is always the same. The column's order is not correctly displayed when executing the Dynpro.
The only way the columns are correctly displayed it's if I created a new screen in a new Z program but this solution cannot be consider since we are talking about standard Dynpro / Table / Function Pool. Using a Z program would not permit to use the standard SPRO link no more.
I know that sometimes the Table Maintenance Generator does not work properly but I never saw this kind of behavior before. Can someone help me?
Thank you in advance for your answers,
Sylvain

hi,
r u making through wizard?
it is good practice.
Otherwise first take I/O field, give name and than u can take text field for column heading.
Reward if useful.

Similar Messages

  • Change Table control Column Header text dynamically

    Hi,
    I have an requirement to change table control column header text dynamically.
    i.e. I have about 10 columns in table control, out that need to change 5 columns header text. These header texts are stored in an internal table.
    I had looked into the below link but could not get exactly how to do it.
    Dynamic headers in table control
    Could you please tell me how to do that.
    Thanks in Advance.

    Hi Saba,
    What you will need to do is this.....
    1. First replace the column Header Text box by I/O Fields and name them accordingly.
    Say for example we will consider the same example which i had explained in the link.
    there in the column header we want the header to change when some dates and entered into two fields which are out of table control say
    Start Date: 01.01.2010 to End Date: 06.01.2010
    Now we want the header to look like this,
    Column  No.    -        1               2             3                  4               5               6
    Header label   -    01/FRI       02/SAT     03/SUN       04/MON     05/TUE      06/WED
    Header name -    SPOTS1   SPOTS2    SPOTS3      SPOTS4     SPOTS5    SPOTS6
    then you go as per the instructions in the link......
    Let me know if you need further help,
    Hope this solves your problem....
    Regards,
    Abhijit G. Borkar

  • Change label of table control column - SAPMV45A Screen 4900

    Hello,
    SAPMV45A / 4900 is the table control in the Sales tab of transaction VA01/02/03 (Sales Order Creation/Change/Display). On this table control there is a field ( RV45A-ETDAT ) with standard label First Date . The date displayed on this column is the first date on the schedule line tab at item level - changing the label of data element ETDAT didn't work for this table control, it seems the label is not taken from ETDAT labels.
    Is there any ehancemement technique that I can use to change ths label?
    Regards,
    Joã

    Hi,
    if you go to SE80 and display screen 4900
    Goto .-> Secondary window -> element list
    if you click on the red option "Dict. Attrib"
    there in "Modified" option you will see that *RV45A-ETDAT has an 'F' value (Text Fixed modified).
    http://help.sap.com/saphelp_nwpi71/helpdata/en/d1/801c47454211d189710000e8322d00/content.htm
    Modified
    The system sets this attribute if it detects a difference between the ABAP Dictionary definition for the field and the way it is used on the screen. You set this attribute if you do not want to copy all field properties from the dictionary definition.
    Best regards.
    Edited by: Pablo Casamayor on Mar 22, 2011 3:55 PM

  • Table control in sales order screen(VA01)

    Hi Guys,
    I am trying to do table control i.e shifting columns as desired in the sales order, but not able to do it. can any one help me the process of shifting columns in sales order screen.
    Example: Shifting customer rial matenumber column to Item cat column.
    Thanks in advance,
    Regards,
    Vamsi.

    Hi Vamsi,
    After changing the columns save it as a variant on the Item Detail screen on the right hand side you can see small barred icon above the vertical scroll bar click the same and save it as as variant in there and just keep that as a default screen variant. The same will be displayed all the time.
    Reward points if it helps.
    Regards,
    Sreekanth

  • Hiding gap in a table control - Column is invisible

    Hi All,
    I'm hiding a column in a table control based on a condition. My requirement is I need to remove the gap occupied by the column that is invisible.
    <b><REMOVED BY MODERATOR></b>
    Thanks,
    Bhaskar.
    Message was edited by:
            Alvaro Tejada Galindo

    Hi Bhaskar,
    Based on the Condition, you can build the Field catalogue.
    So that, u can restrict them at the catolog bulding level.
    Regards,
    Sujatha

  • How to hide the table control column in module pool

    Dear Experts,
    Please help me on this
    I have 2 screens 9000 and 9001 . In screen 9000 I have 2 radio buttons if I select the 2nd radiobutton then the screen  9001 should display inthat some column has to be hide inthe table control. I have used this code but still it is not hiding please help me on that
    I used this code in PBO of 9001 screen
    LOOP AT SCREEN.
        IF wopr = 'X'.
          IF screen-group2 = 'ABC'.
            IF screen-name = 'ZMMT_EKKO-MATNR' or screen-name = 'ZMMT_EKKO-BANFN'.
            screen-active = ''.
              screen-invisible = '1'.
              screen-input = ''.
              MODIFY SCREEN.
            ENDIF.
          ENDIF.
        ENDIF.
      ENDLOOP.
    Even I tried this code also in the same screen 9001
    loop at tbl_rfq-cols into cols.
    IF wopr = 'X'.
    IF screen-group2 = 'ABC'.
    IF cols-screen-name = 'ZMMT_EKKO-MATNR' or cols-screen-name = 'ZMMT_EKKO-BANFN'.
    cols-screen-input = '0'.
    cols-invisible = '1'.
    endif.
    MODIFY tbl_rfq-cols FROM cols INDEX sy-tabix.
    endif.
    endif.
    endloop.

    Hi Balaji,
    To hide a column in a table control on screen.
    In the PBO of the screen, inside
    loop with control <tab_ctrl_name>.
    module modify_tab.
    endloop.
    Say for a column, you take group1 as 'ABC'.
    In this module you can use the group for the input/output fields and the display/hide them as per your requirements.
    if <condition>.
    loop at screen.
      if screen-group1 = 'ABC'. "say textbox (column for a table) has group1 as ABC
       screen-invisible = 'X'. "hide a column
       screen-active = ' '.
      endif.
      modify screen.
    elseif <condition>.
    loop at screen.
      if screen-group1 = 'ABC'. "say textbox (column for a table) has group1 as ABC
       screen-invisible = ' '. "display a column
       screen-active = 'X'.
      endif.
      modify screen.
    endif.
    Similarly, you can use this code for other columns also.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • Vertical Scroll in Dynpro Table Control

    Hello,
    I am currently having an issue with the vertical scroll control in my classic dynpro table.  When I scroll down it will scroll past the first record and then freeze.  I cannot scroll back up to the first record.  If I try to scroll down it jumps many records and then will not let me scroll back.  I have compared the coding from this screen to one that works and cannot find any differences. Is there somewhere else I should be looking?  Has anyone else experienced this issue?
    Thanks,
    Jereme

    Check out this example program.
    REPORT demo_dynpro_tabcont_loop.
    CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    DATA: itab TYPE TABLE OF demo_conn,
          fill TYPE i.
          TABLES demo_conn.
    DATA: lines TYPE i,
          limit TYPE i.
    SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
      DESCRIBE TABLE itab LINES fill.
      flights-lines = fill.
    ENDMODULE.
    MODULE fill_table_control OUTPUT.
      READ TABLE itab INTO demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE read_table_control INPUT.
      lines = sy-loopc.
      MODIFY itab FROM demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'NEXT_LINE'.
          flights-top_line = flights-top_line + 1.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_LINE'.
          flights-top_line = flights-top_line - 1.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'NEXT_PAGE'.
          flights-top_line = flights-top_line + lines.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_PAGE'.
          flights-top_line = flights-top_line - lines.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'LAST_PAGE'.
          flights-top_line =  fill - lines + 1.
        WHEN 'FIRST_PAGE'.
          flights-top_line = 0.
      ENDCASE.
    ENDMODULE.
    It has the following flow logic:
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      LOOP WITH CONTROL flights.
        MODULE fill_table_control.
    ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      LOOP WITH CONTROL flights.
        MODULE read_table_control.
    ENDLOOP.
      MODULE user_command_0100.
    Regards,
    Midhun Abraham
    Edited by: Midhun Abraham on Oct 2, 2008 5:23 AM

  • Read table-control of sales order items in VA01 / VA02

    Hi.
    I need to redetermine the plant in a sales order in USEREXIT_MOVE_FIELD_TO_VBAP. To do this, I need to read the content of all the items, but internal table XVBAP is not filled with all the items information at this point of code. Do you know how can I read the content of the table control of the items from this user exit? Do you know any other alternative solution?
    The table-control is in screen 4900, and its name is TCTRL_U_ERF_AUFTRAG.
    Thanks in advance.

    You have probably two options:
    1. use CHECK_VBAP: CHECK_VBAP triggers more often than the MOVE_VBAP. This should cover the scenarios when you add the new item and because of that the Plant would be redetermined for the items which are not changed. You need to take care of the UPDKZ, if use the CHECK_VBAP.
    2. Determine the plant in the SAVE_DOCUMENT_PREPARE. You can call certain subroutines over the XVBAP Loop and update the required field in VBAP. This is suggested by some OSS Note but I don't recall the note #.
        LOOP AT xvbap.
          ivbap-tabix = sy-tabix.
          svbap-tabix = sy-tabix.
          PERFORM vbap_bearbeiten_vorbereiten(sapfv45p).
          PERFORM vbap_fuellen(sapfv45p).
    "YOUR LOGIC
          vbap-werks = '1111'.
          PERFORM vbap_bearbeiten(sapfv45p).
          PERFORM vbap_bearbeiten_ende(sapfv45p).
        ENDLOOP.
    Regards,
    Naimesh Patel

  • Add a new field in the item table control of sales order

    Hi Experts,
                   We have created a new custom field in Material master table. Now, they want to add the custom field from material master to the last field of item control of sales order.
    Please, let me know the steps to do it.
    Regards,
    M.Saravanan

    Hi,
      take program: SAPMV45A
    take screen 8459 and add the new field.
    Also add the validation in the flow logic.
    Refer
    https://forums.sdn.sap.com/click.jspa?searchID=10547810&messageID=3132651
    Regards
    Kiran

  • Table control column grayed

    I have a tc where it is validating the column zmsd_invtype_TC-out_type from db.
    I want that column of tc to be grayed out initially and when pressed append or insert button, it should be ready for input. but rest of the columns should be enabled.
    thanks,
    Abhijeet.

    Hi  Abhijeet ,
    this  is  link with  screen  shot of table control  creation 
    <a href="http://">http://www.sapdevelopment.co.uk/dialog/tabcontrol/tc_basic.htm</a>
    <b>Highlight individual table control field</b>
    The example below sets the EBELN field on the 3rd row of the table control to not be an input field. This is a fairly simple process which involves firstly calculating which row of the internal table is displayed at the top of the table control. From this you can work out which itab row is on the 3rd row and set its attributes using the LOOP AT SCREEN command.
    Based on the example table control the ABAP code for this will be as follows, resulting in a modified version of the PBO MODULE 'populate_screen'.
    MODULE populate_screen OUTPUT.
        DATA: ld_line TYPE i.
    *   Set which line of itab is at the top of the table control
        IF sy-stepl = 1.
          tc100-lines =
            tc100-top_line + sy-loopc - 1.
        ENDIF.
    *   move fields from work area to scrren fields
        MOVE-CORRESPONDING wa_ekko TO ztc_ekko.
        ld_line =  sy-stepl + tc100-top_line - 1.
    *   Changes individual field attributes of table control,
    *   Sets EBELN field on 3rd row of TC to not be an input field!
        LOOP AT SCREEN.
          IF ld_line EQ 3.
            IF screen-name EQ 'ZTC_EKKO-EBELN'.
              screen-input = 0.
              MODIFY SCREEN.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDMODULE.                 " populate_screen  OUTPUT
    reward  points if it is usefull .....
    Girish

  • Title at runtime for table control columns

    Hi gurus,
    I want to populate the title of the columns of the table control at runtime.
    I have horizontal scrolling on, so putting up input boxes as 'output only' and populating at runtime will be difficult.
    Can the texts for these labels be set at runtime?
    Any suggestions?
    Thanks and Regards
    Muhammad Ali Mahmood

    Hi Ranjit,
    Please elaborate. I have two column in itab and table control p1, p2.
    One thing i can do is set the title for p1 as 'title 1' and p2 as 'title 2' and at runtime hide the column i dont want.
    Otherwise, if at runtime I need one column i just set the title for that column as 'title 1' or 'title 2'.
    Know what I mean? Anyway to achieve this??
    Thanks

  • Table Control Column Lock/Fix

    Hi,
    I am displaying data inside a Table control in my MPP Program and I want to fix/Lock the First column and remaining columns should have Vertical and Horizontal Scrolling bars. Can any body help me.
    Regards,
    Srinivas

    hiiii
    When you design a table control on layout of screen go to the attributes of table control and give the value of how many column you want to fixed.it will fixed that columns.
    regards
    twinkal

  • Table control in sales order

    Hi,
    I am using BDC to ceate salesorder.I am able to create sales order for one item. But when I try it for multiple items, it is still creating a new sales order for each item. I am trying to loop the items but still it is creating a new sales order.I am also attaching my code. Can somebody look into it and tell me what should be done to loop the items.
    DATA: BEGIN OF ITAB OCCURS 0,
          KUNNR1 LIKE KUAGV-KUNNR,
          KUNNR2 LIKE KUWEV-KUNNR,
          KETDAT LIKE RV45A-KETDAT,
          DWERK LIKE RV45A-DWERK,
          ZTERM LIKE VBKD-ZTERM,
          INCO1 LIKE VBKD-INCO1,
          INCO2 LIKE VBKD-INCO2,
          AUDAT LIKE RV45A-KETDAT,
          VKBUR LIKE VBAK-VKBUR,
          BZIRK LIKE VBKD-BZIRK,
          IHREZ LIKE VBKD-IHREZ,
          MABNR LIKE RV45A-MABNR,
          KWMENG LIKE RV45A-KWMENG,
       END OF ITAB.
    include bdcrecx1.
    PARAMETERS: PATH(128) DEFAULT 'C:\sales.txt'.
    start-of-selection.
      CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
       FILENAME                      = path
         FILETYPE                      = 'DAT'
        TABLES
          DATA_TAB                      = ITAB
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      perform open_group.
      loop at itab.
        perform bdc_dynpro      using 'SAPMV45A' '0101'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBAK-AUART'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/00'.
        perform bdc_field       using 'VBAK-AUART'
                                      'ZOR'.
        perform bdc_field       using 'VBAK-VKORG'
                                      '1000'.
        perform bdc_field       using 'VBAK-VTWEG'
                                      '10'.
        perform bdc_field       using 'VBAK-SPART'
                                      '10'.
        perform bdc_dynpro      using 'SAPMV45A' '4001'.
        perform bdc_field       using 'BDC_OKCODE'
                                      'KKAU'.
        perform bdc_field       using 'KUAGV-KUNNR'
                                      itab-kunnr1.
        perform bdc_field       using 'KUWEV-KUNNR'
                                      itab-kunnr2.
        perform bdc_field       using 'RV45A-KETDAT'
                                      itab-ketdat.
        perform bdc_field       using 'RV45A-KPRGBZ'
                                      'D'.
        perform bdc_field       using 'VBKD-PRSDT'
                                      '11/17/2005'.
        perform bdc_field       using 'VBKD-ZTERM'
                                      itab-zterm.
        perform bdc_field       using 'VBKD-INCO1'
                                      ITAB-INCO1.
        perform bdc_field       using 'VBKD-INCO2'
                                      ITAB-INCO2.
    perform bdc_dynpro      using 'SAPMV45A' '4002'.
    perform bdc_field       using 'BDC_OKCODE'
                                      '=T\05'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBKD-BZIRK'.
        perform bdc_field       using 'VBAK-AUDAT'
                                      ITAB-AUDAT.
        perform bdc_field       using 'VBAK-VKBUR'
                                      ITAB-VKBUR.
        perform bdc_field       using 'VBAK-WAERK'
                                      'USD'.
        perform bdc_field       using 'VBKD-PRSDT'
                                      '11/17/2005'.
        perform bdc_field       using 'VBKD-BZIRK'
                                      ITAB-BZIRK.
        perform bdc_dynpro      using 'SAPMV45A' '4002'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=T\08'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBKD-ZLSCH'.
        perform bdc_field       using 'VBKD-KTGRD'
                                      '01'.
        perform bdc_field       using 'VBKD-ZLSCH'
                                      'C'.
        perform bdc_field       using 'VBAK-ZUONR'
                                     'Open Sales order'.
        perform bdc_dynpro      using 'SAPMV45A' '4002'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=T\10'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'GVS_TC_DATA-REC-PARTNER(05)'.
        perform bdc_field       using 'GV_FILTER'
                                      'PARALL'.
        perform bdc_field       using 'GVS_TC_DATA-REC-PARTNER(05)'
                                      '3838'.
        perform bdc_dynpro      using 'SAPMV45A' '4002'.
        perform bdc_field       using 'BDC_OKCODE'
                                       '=T\13'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBKD-BSARK'.
        perform bdc_field       using 'VBKD-BSARK'
                                      'CU01'.
        perform bdc_field       using 'VBKD-IHREZ'
                                       ITAB-IHREZ.
        perform bdc_dynpro      using 'SAPMV45A' '4002'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/EBACK'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBAK-ZZLEAT'.
        perform bdc_field       using 'VBAK-ZZWARR'
                                      '12346C'.
        perform bdc_field       using 'VBAK-ZZFABW'
                                      'F14689'.
        perform bdc_field       using 'VBAK-ZZWARX'
                                      '12012005'.
        perform bdc_field       using 'VBAK-ZZLEAT'
                                      'CGUYFIU'.
        perform bdc_dynpro      using 'SAPMV45A' '4001'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=PKO1'.
        perform bdc_field       using 'KUAGV-KUNNR'
                                      itab-kunnr1.
        perform bdc_field       using 'KUWEV-KUNNR'
                                      itab-kunnr2.
        perform bdc_field       using 'RV45A-KETDAT'
                                      itab-ketdat.
        perform bdc_field       using 'RV45A-KPRGBZ'
                                      'D'.
        perform bdc_field       using 'VBKD-PRSDT'
                                      '11/17/2005'.
        perform bdc_field       using 'VBKD-ZTERM'
                                      itab-zterm.
        perform bdc_field       using 'VBKD-INCO1'
                                      ITAB-INCO1.
        perform bdc_field       using 'VBKD-INCO2'
                                      ITAB-INCO2.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RV45A-CCODE(01)'.
        perform bdc_field       using 'RV45A-MABNR(01)'
                                      ITAB-MABNR.
        perform bdc_field       using 'RV45A-KWMENG(01)'
                                      '1'.
        perform bdc_field       using 'VBAP-WERKS(01)'
                                       itab-dwerk.
        perform bdc_dynpro      using 'SAPMV45A' '4001'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=PKO1'.
        perform bdc_field       using 'KUAGV-KUNNR'
                                      itab-kunnr1.
        perform bdc_field       using 'KUWEV-KUNNR'
                                      itab-kunnr2.
        perform bdc_field       using 'RV45A-KETDAT'
                                      itab-ketdat.
        perform bdc_field       using 'RV45A-KPRGBZ'
                                      'D'.
        perform bdc_field       using 'VBKD-PRSDT'
                                      '11/17/2005'.
        perform bdc_field       using 'VBKD-ZTERM'
                                      itab-zterm.
        perform bdc_field       using 'VBKD-INCO1'
                                      ITAB-INCO1.
        perform bdc_field       using 'VBKD-INCO2'
                                      ITAB-INCO2.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBAP-POSNR(01)'.
        perform bdc_field       using 'RV45A-VBAP_SELKZ(01)'
                                      'X'.
        perform bdc_dynpro      using 'SAPMV45A' '5003'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '/EBACK'.
    Loop.
    perform bdc_dynpro      using 'SAPMV45A' '4001'.
        perform bdc_field       using 'BDC_OKCODE'
                                      '=PKO1'.
        perform bdc_field       using 'KUAGV-KUNNR'
                                      itab-kunnr1.
        perform bdc_field       using 'KUWEV-KUNNR'
                                      itab-kunnr2.
        perform bdc_field       using 'RV45A-KETDAT'
                                      itab-ketdat.
        perform bdc_field       using 'RV45A-KPRGBZ'
                                      'D'.
        perform bdc_field       using 'VBKD-PRSDT'
                                      '11/17/2005'.
        perform bdc_field       using 'VBKD-ZTERM'
                                      itab-zterm.
        perform bdc_field       using 'VBKD-INCO1'
                                      ITAB-INCO1.
        perform bdc_field       using 'VBKD-INCO2'
                                      ITAB-INCO2.
        perform bdc_field       using 'BDC_CURSOR'
                                      'RV45A-CCODE(02)'.
        perform bdc_field       using 'BDC_CURSOR'
                                      'VBAP-WERKS(02)'.
        perform bdc_field       using 'RV45A-MABNR(02)'
                                        ITAB-MABNR.
        perform bdc_field       using 'RV45A-KWMENG(02)'
                                       '1'.
        perform bdc_field       using 'VBAP-WERKS(02)'
                                       itab-dwerk.
         perform bdc_dynpro      using 'SAPMV45A' '4001'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=PKO1'.
          perform bdc_field       using 'KUAGV-KUNNR'
                                        itab-kunnr1.
          perform bdc_field       using 'KUWEV-KUNNR'
                                        itab-kunnr2.
          perform bdc_field       using 'RV45A-KETDAT'
                                        itab-ketdat.
          perform bdc_field       using 'RV45A-KPRGBZ'
                                        'D'.
          perform bdc_field       using 'VBKD-PRSDT'
                                        '11/17/2005'.
          perform bdc_field       using 'VBKD-ZTERM'
                                        itab-zterm.
          perform bdc_field       using 'VBKD-INCO1'
                                        ITAB-INCO1.
          perform bdc_field       using 'VBKD-INCO2'
                                        ITAB-INCO2.
          perform bdc_field       using 'BDC_CURSOR'
                                        'VBAP-POSNR(01)'.
          perform bdc_field       using 'RV45A-VBAP_SELKZ(01)'
                                        'X'.
          perform bdc_dynpro      using 'SAPMV45A' '5003'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/EBACK'.
    endloop.
          perform bdc_dynpro      using 'SAPMV45A' '4001'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '=SICH'.
          perform bdc_field       using 'KUAGV-KUNNR'
                                        itab-kunnr1.
          perform bdc_field       using 'KUWEV-KUNNR'
                                        itab-kunnr2.
          perform bdc_field       using 'RV45A-KETDAT'
                                        ITAB-KETDAT.
          perform bdc_field       using 'RV45A-KPRGBZ'
                                        'D'.
          perform bdc_field       using 'VBKD-PRSDT'
                                        '11/17/2005'.
          perform bdc_field       using 'VBKD-ZTERM'
                                        ITAB-ZTERM.
          perform bdc_field       using 'VBKD-INCO1'
                                         ITAB-INCO1.
          perform bdc_field       using 'VBKD-INCO2'
                                        ITAB-INCO2.
         perform bdc_field       using 'BDC_CURSOR'
                                       'RV45A-MABNR(02)'.
          perform bdc_transaction using 'VA01'.
    endloop.
        Perform close_group.

    Hi,
    Check the below code its excatly same code which u want.
    REPORT Z90VR_UPLOAD_SALESORDERS
    NO STANDARD PAGE HEADING
       LINE-COUNT  65(2)
       LINE-SIZE  160.
      TABLES
    Tables : knb1,               "Customer Master (Company Code)
             mara,               "General Material Data
             knvv,               "Customer Master Sales Data
             pa0003.             "HR Master Record: Infotype 0003
       INTERNAL TABLES
    Internal table to store flat file records
    Data : Begin of it_file occurs 0,
            record(600) type c,
           end of it_file.
    Internal table to store upload records
    Data : begin of it_sales occurs 0,
            vbeln       like vbak-vbeln,
            auart       like vbak-auart,
            vkorg       like vbak-vkorg,
            vtweg       like vbak-vtweg,
            spart       like vbak-spart,
            kunnr       like kna1-kunnr,
            kunnr_old   like kna1-kunnr,
            Ship        like kna1-kunnr,
            ship_old    like kna1-kunnr,
            bstnk       like vbak-bstnk,
            bstdk       like vbak-bstdk,
            matnr       like mara-matnr,
            kwmeng(20)  type C,
            fdate       like vbak-audat,
            vstel       like vbap-vstel,
            route       like vbap-route,
            Qty(20)     type c,
            lgort       like vbap-lgort,
            zzshipto    like vbak-zzshipto,
            custext(132) type c,
            shptext(132) type c,
            flag(1)     type c,
            zzretdat    like vbak-zzretdat,
            augru       like vbak-augru,
            emp(10)     type c,
           end of it_sales.
    Internal table to hold BDC data
    Data begin of it_bdcdata occurs 0.
            include structure bdcdata.
    data end of it_bdcdata.
    Internal table to store error messages
    Data : it_bdcmsg like bdcmsgcoll occurs 0 with header line.
    Internal table to store error records.
    Data : begin of it_error occurs 0,
           vbeln  like vbak-vbeln,
           kunnr  like kna1-kunnr,
           ship   like kna1-kunnr,
           matnr  like mara-matnr,
           pernr  like pa0003-pernr,
           msg(75) type c,
          end of it_error.
       DATA
    Data :  wk_auart     like vbak-auart,    "Sales document type
            wk_vkorg     like vbak-vkorg,    "Sales organization
            wk_vtweg     like vbak-vtweg,    "Distribution channel
            wk_spart     like vbak-spart,    "Division
            wk_kunnr     like kna1-kunnr,    "Customer number(sold to party)
            wk_kunnr_old like kna1-kunnr,    "OldCustomer no.(sold to party)
            wk_Ship      like kna1-kunnr,    "Customer number(ship to party)
            wk_ship_old  like kna1-kunnr,    "OldCustomer no.(ship to party)
            wk_bstnk     like vbak-bstnk,    "Customer purchase order number
            wk_vbeln     like vbak-vbeln,    "Old sales Document Number
            wk_bstdk     like vbak-bstdk,    "Customer purchase order date
            wk_matnr     like mara-matnr,    "Material number
            wk_kwmeng(17) type c,            "Order quantity
            wk_fdate     like vbak-audat,    "First Date
            wk_vstel     like vbap-vstel,    "Shipping point/receiving point
            wk_route     like vbap-route,    "Route
            wk_Qty(17)   type c,             "Stock quantity
            wk_lgort     like vbap-lgort,    "Storage location
            wk_zzshipto  like vbak-zzshipto, "RBJP-T: Ship-to-party code
            wk_Custext(132) type c,          "Comment for customer
            wk_shptext(132) type c,          "Comment for warehouse
            wk_flag(1)   type c,             "Order ombnation flag
            wk_zzretdat  like vbak-zzretdat, "RBJP-T Stock Return Deadline
            wk_augru     like vbak-augru,    "Order reason
            wk_emp(10)   type c.             "sales Employee
    *--- Variable to store customer comment text & Shipping Instruction text
    Data : W_shptext(132) type c,        "To store customer comment text
           w_custext(132) type c,        "To store Shipping Instruction text
           wk_error_rec like sy-tabix,   "To store no of error records
           wk_Success_rec like sy-tabix. "To store  of Success records
    Constants                                                            *
    Data : c_mode(1) type c value 'N'.
       SELECTION-SCREEN LAYOUT
    selection-screen : skip 2.
    selection-screen begin of block blk1 with frame title text-001.
    selection-screen : skip 1.
    parameter : p_file like rlgrap-filename default 'C:\SalesBackorder.csv'
                                                  obligatory,
                p_spt(1) type c default ',' obligatory.
    selection-screen end of block blk1.
                             At Selection Screen
    *--- Provide F4 help for the File Path
    at selection-screen on value-request for p_file.
      call function 'KD_GET_FILENAME_ON_F4'
           EXPORTING
                mask      = ',.csv'
                static    = 'X'
           CHANGING
                file_name = p_file.
                             Start of Selection
    START-OF-SELECTION.
    *--- Clearing internal tables & Variables used
      perform clear_tables.
    *--- Upload the file into internal table.
      perform upload_input_file.
    *--- Split the records upladed from the file.
      perform split_records.
    *--- Check the record values are valid
      perform check_records.
    *--- Check for the valid customer data sales data
      perform valid_customer_data.
    *--- Populating the BDC Table
      perform populate_bdcdata.
                             End of Selection
    END-OF-SELECTION.
    clear wk_error_rec.
    Describe table it_error lines wk_error_rec.
    *--- Display error report list
      perform display_error_list.
          TOP-OF-PAGE                                                    *
    TOP-OF-PAGE.
    *--- Printing Column headings
      perform column_headings.
    *&      Form  upload_input_file
          Uploading  the file into internal table
    FORM upload_input_file.
      CALL FUNCTION 'WS_UPLOAD'
          EXPORTING
             FILENAME                      = p_file
            FILETYPE                      = 'ASC'
           TABLES
             DATA_TAB                      = it_file
          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
            OTHERS                        = 10.
      IF SY-SUBRC <> 0.
        message i000(z1) with 'Error while Uploading the file'.
      ENDIF.
    ENDFORM.                    " upload_input_file
    *&      Form  split_records
          Spliting the upload records from file records at ',' or ';' into
          respective filed values
    FORM split_records.
      data : wk_file(500) type c.      " Variable to store record
      If not it_file[] is initial.
        loop at it_file from 2.
          clear wk_file.
          WK_file = it_file-record.
    split the records at ','
          split  WK_file at p_spt into  wk_auart
                                        wk_vkorg
                                        wk_vtweg
                                        wk_spart
                                        wk_kunnr
                                        wk_kunnr_old
                                        wk_Ship
                                        wk_ship_old
                                        wk_bstnk
                                        wk_vbeln
                                        wk_bstdk
                                        wk_matnr
                                        wk_kwmeng
                                        wk_fdate
                                        wk_vstel
                                        wk_route
                                        wk_Qty
                                        wk_lgort
                                        wk_zzshipto
                                        wk_Custext
                                        wk_shptext
                                        wk_flag
                                        wk_zzretdat
                                        wk_augru
                                        wk_emp.
    move the records into internal table
         move : wk_auart        to it_sales-auart,
                wk_vkorg        to it_sales-vkorg,
                wk_vtweg        to it_sales-vtweg,
                wk_spart        to it_sales-spart,
                wk_kunnr        to it_sales-kunnr,
                wk_kunnr_old    to it_sales-kunnr_old,
                wk_Ship         to it_sales-ship,
                wk_ship_old     to it_sales-ship_old,
                wk_bstnk        to it_sales-bstnk,
                wk_vbeln        to it_sales-vbeln,
                wk_bstdk        to it_sales-bstdk,
                wk_matnr        to it_sales-matnr,
                wk_kwmeng       to it_sales-kwmeng,
                wk_fdate        to it_sales-fdate,
                wk_vstel        to it_sales-vstel,
                wk_route        to it_sales-route,
                wk_Qty          to it_sales-qty,
                wk_lgort        to it_sales-lgort,
                wk_zzshipto     to it_sales-zzshipto,
                wk_Custext      to it_sales-custext,
                wk_shptext      to it_sales-shptext,
                wk_flag         to it_sales-flag,
                wk_zzretdat     to it_sales-zzretdat,
                wk_augru        to it_sales-augru,
                wk_emp          to it_sales-emp.
          append it_sales.
          clear it_sales.
        endloop.              "loop at it_file from 2.
      endif.                 "If not it_file[] is initial
    ENDFORM.                    " split_records
    *&      Form  check_records
          Check the values exist in check table if not delete the records
          and append into internal error table records
    FORM check_records.
      If not it_sales[] is initial.
    *--Sorting the internal table on old sales document number uploaded
        sort it_sales by vbeln.
        loop at it_sales.
    *--- Check the old sold to party exist & if exist then get the new sold
    *--- to party Number
          if not it_sales-kunnr_old is initial.
            clear knb1-kunnr.
            select single kunnr
                   from knb1
                   into knb1-kunnr
                   where altkn = it_sales-kunnr_old.
            if sy-subrc = 0.
              it_sales-kunnr = knb1-kunnr.
            else.
              it_error-vbeln = it_sales-vbeln.
              it_error-kunnr = it_sales-kunnr_old.
              it_error-msg   = text-010.
              append it_error.
              clear  it_error.
              delete it_sales where vbeln = it_sales-vbeln.
              clear it_sales.
              continue.
            endif.                    "if sy-subrc = 0.
          endif.                      "if not it_sales-kunnr_old is initial.
    *--- Check the old ship to party exist & if exist then get the new ship
    *--- to party Number
          if not it_sales-ship_old is initial.
            clear knb1-kunnr.
            select single kunnr
                   from knb1
                   into knb1-kunnr
                   where altkn = it_sales-ship_old.
            if sy-subrc = 0.
              it_sales-ship = knb1-kunnr.
            else.
              it_error-vbeln = it_sales-vbeln.
              it_error-ship  = it_sales-ship_old.
              it_error-msg   = text-011.
              append it_error.
              clear  it_error.
            delete it_sales where vbeln = it_sales-vbeln.
              clear it_sales.
              continue.
            endif.                 "if sy-subrc = 0.
          endif.                   "if not it_sales-ship_old is initial.
    *--- Check the old matnr exist & if exist then get the new material
    *--- number
          if not it_sales-matnr is initial.
            clear mara-matnr.
            select single matnr
                   from mara
                   into mara-matnr
                   where bismt = it_sales-matnr.
            if sy-subrc = 0.
              it_sales-matnr = mara-matnr.
            else.
              it_error-vbeln = it_sales-vbeln.
              it_error-matnr = it_sales-matnr.
              it_error-msg   = text-012.
              append it_error.
              clear  it_error.
            delete it_sales where vbeln = it_sales-vbeln.
              clear it_sales.
              continue.
            endif.               "if sy-subrc = 0.
          endif.                 "if not it_sales-matnr is initial.
    *---- Check the Sales Employee Number exist in master table PA0003
           if not it_sales-emp is initial.
            clear pa0003-pernr.
            select single pernr
                   from pa0003
                   into pa0003-pernr
                   where pernr = it_sales-emp.
            if sy-subrc ne 0.
              it_error-vbeln = it_sales-vbeln.
              it_error-pernr = it_sales-emp.
              it_error-msg   = text-013.
              append it_error.
              clear  it_error.
             delete it_sales where vbeln = it_sales-vbeln.
              clear it_sales.
              continue.
            endif.               "if sy-subrc = 0.
          endif.                 "if not it_sales-emp is initial.
         modify it_sales index sy-tabix.
         clear it_sales.
        endloop.
      endif.                     "If not it_sales[] is initial.
    ENDFORM.                    " check_records
    *&      Form  populate_bdcdata
          Populating  BDCDATA Table & passing the data by calling
          transaction 'VA01' to create Sales Orders
    FORM populate_bdcdata.
    Data : flag_item(1) type C.   "Flag for populating Item details
    *--- Sorting the internal table by old sales document number.
      sort it_sales by vbeln.
      If not it_sales[] is initial.
        loop at it_sales.
          clear : flag_item,
                  W_shptext,
                  w_custext.
          W_shptext = it_sales-shptext.
          w_custext = it_sales-custext.
    *--- At new sales document number(old document number from file)
    *--- populate the header data & first item details.
          at new vbeln.
            clear   it_bdcdata.
            refresh it_bdcdata.
            read table it_sales index sy-tabix.
            perform append_bdcdata using : 'X'  'SAPMV45A'     '0101',
                                         ' ' 'VBAK-AUART'    it_sales-auart,
                                         ' ' 'VBAK-VKORG'    it_sales-vkorg,
                                         ' ' 'VBAK-VTWEG'    it_sales-vtweg,
                                         ' ' 'VBAK-SPART'    it_sales-spart,
                                         ' ' 'BDC_OKCODE'    '/00',
                                         'X' 'SAPMV45A'      '4001',
                                         ' ' 'KUAGV-KUNNR'   it_sales-kunnr.
          if not it_sales-ship is initial.
           perform append_bdcdata using  ' ' 'KUWEV-KUNNR'   it_sales-ship.
          endif.
          perform append_bdcdata using : ' ' 'VBKD-BSTKD'    it_sales-bstnk,
                                         ' ' 'VBKD-BSTDK'    it_sales-bstdk,
                                         ' ' 'VBAK-AUGRU'    it_sales-augru,
                                         ' ' 'BDC_OKCODE'    '=KZKU',
    new logic.
                                       'X' 'SAPMSSY0'      '0120',
                                       ' ' 'BDC_CURSOR'    '04/06',
                                       ' ' 'BDC_OKCODE'    '=CHOO',
    end of logic
                                         'X' 'SAPMV45A'      '4002'.
    *--- Depending upon the sales document type (AUART) passing the RBJP-T
    *--- Stock Return Deadline (ZZRETDAT) if Auart is 'ZRLB' or 'ZRKB' the
    *--- passing the Stock Return Deadline Date.
       if it_sales-auart = 'ZRLB' or
          it_sales-auart = 'ZRKB'.
       perform append_bdcdata using : ' ' 'VBAK-ZZRETDAT' it_sales-zzretdat.
       endif.
       perform append_bdcdata using : ' ' 'VBAK-ZZSHIPTO' it_sales-zzshipto,
                                      ' ' 'BDC_OKCODE'    '=T\07',
                                      'X' 'SAPMV45A'      '4002',
                                      ' ' 'GVS_TC_DATA-REC-PARVW(06)' 'AF',
                                      ' ' 'GVS_TC_DATA-REC-PARTNER(06)'
                                                            it_sales-emp,
                                      ' ' 'BDC_OKCODE'    '/EBACK'.
    *---First Items details
            perform append_bdcdata using :
                                    'X'  'SAPMV45A'        '4001',
                                    ' '  'RV45A-ETDAT(01)'  it_sales-fdate,
                                    ' '  'RV45A-KWMENG(01)' it_sales-kwmeng,
                                    ' '  'RV45A-MABNR(01)'  it_sales-matnr,
                                    ' '  'BDC_OKCODE'       '/00',
                                    'X'  'SAPMV45A'        '4001',
                                    ' '  'RV45A-VBAP_SELKZ(01)' 'X',
                                    ' '  'BDC_OKCODE'      '=PDE2',
                                    'X'  'SAPMV45A'        '4003',
                                    ' '  'VBAP-LGORT'       it_sales-lgort,
                                    ' '  'VBAP-VSTEL'       it_sales-vstel,
                                    ' '  'VBAP-ROUTE'       it_sales-route.
    *--- If Order combination flag is 'X' then check box is made click else
    *--- not click
            If it_sales-flag = 'X'.
              perform append_bdcdata using :
                                       ' '  'VBKD-KZAZU'       'X'.
            else.
              perform append_bdcdata using :
                                       ' '  'VBKD-KZAZU'       ' '.
            endif.
            perform append_bdcdata using :
                                        ' ' 'BDC_OKCODE'    '/EBACK',
                                        'X'  'SAPMV45A'      '4001'.
            flag_item = 'X'.
          endat.
    *---- From 2 items.
          if flag_item = ' '.
            perform append_bdcdata using :
                                     ' '  'BDC_OKCODE'      'POAN',
                                     'X'  'SAPMV45A'        '4001',
                                     ' '  'RV45A-ETDAT(02)'  it_sales-fdate,
                                   ' '  'RV45A-KWMENG(02)'  it_sales-kwmeng,
                                     ' '  'RV45A-MABNR(02)'  it_sales-matnr,
                                     ' '  'BDC_OKCODE'       '/00',
                                     'X'  'SAPMV45A'        '4001',
                                     ' '  'RV45A-VBAP_SELKZ(02)' 'X',
                                     ' '  'BDC_OKCODE'       '=PDE2',
                                     'X'  'SAPMV45A'        '4003',
                                     ' '  'VBAP-LGORT'       it_sales-lgort,
                                     ' '  'VBAP-VSTEL'       it_sales-vstel,
                                     ' '  'VBAP-ROUTE'       it_sales-route.
            If it_sales-flag = 'X'.
              perform append_bdcdata using :
                                       ' '  'VBKD-KZAZU'       'X'.
            else.
              perform append_bdcdata using :
                                       ' '  'VBKD-KZAZU'       ' '.
            endif.
            perform append_bdcdata using :
                                        ' ' 'BDC_OKCODE'    '/EBACK',
                                        'X'  'SAPMV45A'     '4001',
                                        ' ' 'BDC_OKCODE'    '/00',
                                        'X'  'SAPMV45A'     '4001'.
          endif.                "if flag = ' '.
    *--- At end of the sales document saving the records
          at end of vbeln.
         read table it_sales index sy-tabix.
            perform append_bdcdata using :
                                      ' '  'BDC_OKCODE'      '=SICH'.
    *---  calling transaction 'VA01'
            perform call_transaction.
          endat.
        endloop.                  "loop at it_sales.
      endif.                     "If not it_sales[] is initial.
    ENDFORM.                    " populate_bdcdata
    *&      Form  append_bdcdata
          Populating the BDC table for using in Call Transaction
    Form append_bdcdata using dynbegin fld1 fld2.
    *---Identifying as new screen
      IF DYNBEGIN = 'X' .
        MOVE: DYNBEGIN  TO IT_BDCDATA-DYNBEGIN,
              FLD1      TO IT_BDCDATA-PROGRAM,
              FLD2      TO IT_BDCDATA-DYNPRO.
      ELSE.
    *---Identifying a field name and field value
        MOVE: FLD1      TO IT_BDCDATA-FNAM,
              FLD2      TO IT_BDCDATA-FVAL.
      ENDIF.
      APPEND IT_BDCDATA.
      CLEAR  IT_BDCDATA.
    ENDFORM.                    " append_bdcdata
    *&      Form  call_transaction
          text
    FORM call_transaction.
    *--- Data declaration for Local variables
    Data : l_mess_lines    type i,             "variable for no of msg lines
           l_msg_text(100) type c,             "For capturing format message
           l_newvbeln like vbak-vbeln,         "For holding new sales Doc No
           flag_text(1) type C value 'X'.      "Flag for getting header text
    *--- Internal Table to store header text & header structure
      Data : it_tline like tline occurs 100 with header line,
             it_tline1 like tline occurs 100 with header line,
             t_thead like thead.
    *--- Call transaction method
      call transaction 'VA01'
                        using it_bdcdata
                        mode  c_mode
                        UPDATE 'S'
                        messages into it_bdcmsg.
    *--- If success then Populating the header text for Comment for
    *--- Customer & Shipping Instruction
      if sy-subrc eq  0  and
        sy-msgty  ne 'A' and
        sy-msgty  ne 'E' .
    Incrementing the counter for success record
        wk_success_rec = wk_success_rec + 1.
        clear l_mess_lines.
        describe table it_bdcmsg lines l_mess_lines.
        read table it_bdcmsg index l_mess_lines.
    *--- Formatting the Success message using Call Function 'FORMAT_MESSAGE'
          perform format_message using l_msg_text.
        clear l_newvbeln.
        move it_bdcmsg-msgv2 to l_newvbeln.
    *--- Padding with zeros for the new sales Ducument number created
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
                  INPUT  = l_newvbeln
             IMPORTING
                  OUTPUT = l_newvbeln.
    *--- The below logic is added because we can't update the Header Text
       through Batch Input so we need to first create new sales documnet
       number then get that sales document no & by using function module
       SAVE_TEXT update the Header Text.
    *--- Populating the header text for Comment for Customer & Shipping
    *--- Instruction
        clear   it_tline.
        refresh it_tline.
    *--- Populating the header text for Comment for customer
        it_tline-tdformat = '*'.
        it_tline-tdline   = w_custext.
        append it_tline.
        clear  it_tline.
    *--- Populating the header text for Shipping Instruction
        it_tline-tdformat = '*'.
        it_tline-tdline   = w_shptext.
        append it_tline.
        clear  it_tline.
        loop at it_tline.
          refresh it_tline1.
          read table it_tline index sy-tabix.
          it_tline1-tdformat = it_tline-tdformat.
          it_tline1-tdline  = it_tline-tdline.
          append it_tline1.
          clear it_tline1.
    *--- for Comment for Customer ID
          if flag_text = 'X'.
            clear  t_thead.
            t_thead-tdobject = 'VBBK'.
            t_thead-tdname   = l_newvbeln.
            t_thead-tdid     = '0003'.
            t_thead-tdspras  = sy-langu.
          endif.                          "if flag_text = 'X'.
    *--- for Shipping Instruction ID
          if flag_text = ' '.
            clear  t_thead.
            t_thead-tdobject = 'VBBK'.
            t_thead-tdname   = l_newvbeln.
            t_thead-tdid     = '0012'.
            t_thead-tdspras  = sy-langu.
          endif.                         "if flag_text = ' '.
    *--- Save the text using Functional Module 'SAVE_TEXT'
          perform save_text  tables it_tline1
                             using  t_thead.
          clear flag_text.
        endloop.             "loop at it_tline.
      else.
    *--- If error then get the error message
        clear l_mess_lines.
        describe table it_bdcmsg lines l_mess_lines.
        read table it_bdcmsg index l_mess_lines.
    *--- Formatting the Error message using Call Function 'FORMAT_MESSAGE'
        clear l_msg_text.
        perform format_message using l_msg_text.
        it_error-vbeln = it_sales-vbeln.
        it_error-msg   = l_msg_text.
        append it_error.
        clear  it_error.
      endif.                   "if sy-subrc eq  0  and
                               "sy-msgty  ne 'A' and
      clear   it_bdcmsg.
      refresh it_bdcmsg.
    ENDFORM.                    " call_transaction
    *&      Form  FORMAT_MESSAGE
         Formating the system message
    FORM FORMAT_MESSAGE USING    P_DL_MSG_TEXT.
      CALL FUNCTION 'FORMAT_MESSAGE'
           EXPORTING
                ID        = SY-MSGID
                LANG      = SY-LANGU
                NO        = SY-MSGNO
                V1        = SY-MSGV1
                V2        = SY-MSGV2
                V3        = SY-MSGV3
                V4        = SY-MSGV4
           IMPORTING
                MSG       = P_DL_MSG_TEXT
           EXCEPTIONS
                NOT_FOUND = 1
                OTHERS    = 2.
      CONDENSE P_DL_MSG_TEXT.
    ENDFORM.                    " FORMAT_MESSAGE
    *&      Form  save_text
          text
    FORM save_text tables it_tline structure tline
                    using t_thead.
      CALL FUNCTION 'SAVE_TEXT'
        EXPORTING
      CLIENT                = SY-MANDT
          HEADER                = t_thead
         SAVEMODE_DIRECT        = 'X'
        TABLES
          LINES                 = it_tline
       EXCEPTIONS
         ID                     = 1
         LANGUAGE               = 2
         NAME                   = 3
         OBJECT                 = 4
         OTHERS                 = 5.
      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.                    " save_text
    *&      Form  display_error_list
          writing error list
    FORM display_error_list.
    If not it_error[] is initial.
    sort it_error by vbeln.
      loop at it_error.
         write: /00   it_error-vbeln,
                 12   it_error-kunnr,
                 35   it_error-ship,
                 58   it_error-matnr,
                 88   it_error-msg.
      if not it_error-pernr is initial.
         write : 78   it_error-pernr.
      endif.
    endloop.
    endif.
    ENDFORM.                    " display_error_list
    *&      Form  column_headings
          writing Column Headings for errror records
    FORM column_headings.
    write : /00  text-002,
             45  wk_success_rec.
    write : /00  text-003,
             45  wk_error_rec.
    uline.
      format color col_heading intensified.
      write: /00  text-004,
              12  text-005,
              35  text-006,
              58  text-007,
              78  text-008,
              88  text-009,
             160 space.
    format color col_heading intensified off.
    uline.
    ENDFORM.                    " column_headings
    *&      Form  valid_customer_data
          Check the combination of Customer number ,sales organisation,
          Distribution channel & Division exist in Customer Master Sales
          Data(KNVV) if not delete the old document number from internal
          table
    FORM valid_customer_data.
    data : l_customer_text(50) type c.
    if not it_sales[] is initial.
    loop at it_sales.
    *--- Check the combination of Customer number ,sales organisation,
    *--- Distribution channel & Division exist in Customer Master Sales
    *--- Data(KNVV)
          clear : KNVV,
                  l_customer_text.
          select single *
                        from knvv
                       into knvv
                        where Kunnr = It_sales-kunnr
                        and   vkorg = it_sales-vkorg
                        and   vtweg = it_sales-vtweg
                        and   spart = it_sales-spart.
           if sy-subrc ne 0.
            it_error-vbeln = it_sales-vbeln.
            concatenate text-014
                        it_sales-vkorg
                        it_sales-vtweg
                        it_sales-spart
                        text-015 into
                        l_customer_text separated by space.
            it_error-msg   = l_customer_text.
            append it_error.
            clear  it_error.
            delete it_sales where vbeln = it_sales-vbeln.
            clear it_sales.
            continue.
           endif.
      endloop.
    endif.                    "if not it_sales[] is initial.
    ENDFORM.                    " valid_customer_data
    *&      Form  clear_tables
        Clearing Internal table & variables
    FORM clear_tables.
    clear   : it_file,
              it_sales,
              it_bdcdata,
              it_bdcmsg,
              it_error,
              wk_success_rec,
              wk_error_rec.
    refresh : it_file,
              it_sales,
              it_bdcdata,
              it_bdcmsg,
              it_error.
    ENDFORM.                    " clear_tables

  • How to Enable and Disable column in Table Control.

    Hi all,
    I want to make certain column of Table control as Enable or Disable on Button action.
    Enable means ready for input and Disable means not ready for input.
    Please send me sample code.
    Thanks in advance.

    Hi Vipin,
        You have to loop through the table columns to set the properties in the PBO of your screen.
    Here is the sample solution.
    delcare a workarea for the columns in the table control in your top include.
    Table Control .
    CONTROLS: TAB1 TYPE TABLEVIEW USING SCREEN '0100'.
    DATA: WA_COLS LIKE LINE OF TAB1-COLS.
    in your screen
    PROCESS BEFORE OUTPUT.
      MODULE INTIALISE_100.
    *&      Module  0100_INTIALISE  OUTPUT
    MODULE INTIALISE_100 OUTPUT.
        LOOP AT TAB1-COLS INTO WA_COLS.
          WA_COLS-SCREEN-INPUT = 1.
          MODIFY TAB1-COLS FROM WA_COLS TRANSPORTING SCREEN-INPUT.
        ENDLOOP.
    ENDMODULE.                 " 0100_INTIALISE  OUTPUT
    modify the screen-input property as required for the table control columns.
    Please provide points if helpfull.....
    Thanks,
    Karthik
    Message was edited by: Karthik
            Karthikeyan K

  • Error while trying to change the Column description in Table Control

    Hi,
    I have created a table control using the wizard in Module Pool.
    When i try to change the column description of the table control or adjust any other element which is already available on the screen and not in table control. It gives me an error
    Unable to transfer data. End Program?
    Any help would be appreciated.
    Thanks
    Sarves S V K

    Hi.,
    Check these  [Table Control Change Column Description|Add new columns in table control in custom screen program;
    and  [Add Columns in Table Control|Re: Table control columns]
    else  delete and create Table control Again..!!
    hope this helps u.,
    Thanks & Regards,
    Kiran

Maybe you are looking for

  • Best practice for images. Air for Android

    Hey guys... I was thinking about the best solution when it comes to images storage for Air on Android. Since I dont have much experience with non-web based apps, I thought of two way and I would like to know your thought on them. 1.Application Storag

  • Problem about showing report via Portal after modifying BWReports.css

    Hi folks, I use BEx 3.X. I wanna make title of table column to be shown in the center of table cell. So, I modify class SAPBEXstdItem in BWReports.css, and I changed text-align of SAPBEXstdItem into 'center'. I run the report via Web Application Desi

  • Date only variable (without time) possible in email body in workflow?

    My workflow sends an email.  It uses a date variable in the body of the email.  On the SP UI I have the option to only display the date (no time).  Is there a way to do that in the email too?  It is displaying 12:00:00 as part of my date, which in th

  • Pivot

    Hi, I have tables like this: Table1: Year | ID | col1 2007 | 1 | x Table2: Year | ID | Date 2007 | 1 | dd/mm/yyyy 2007 | 1 | dd/mm/yyyy Now I need to get the result like this in one row: Year | ID | Date1 | Date2 2007 | 1 | dd/mm/yyyy| dd/mm/yyyy For

  • Function keys on workitem

    Hi all, I have a User decision step in workflow. when workflow is triggered, I want to provide function keys like 'View remarks' and 'Add remarks' on the workitem display screen so that if user rejects, he can put comments and these comments can be s