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

Similar Messages

  • Add a new column in Agreement Items table control (ME31K/ME32K/ME33K)

    Hi guys,
    I have a big issue.
    How can I add a new column at Agreement Items table control (ME31K/ME32K/ME33K) level.
    Thanks a lot.

    I think i solved the problem . The single way to to that is to modify the SAP standard Screen.

  • Need to add 2 new columns to the existing table control of C223 transaction

    Hi ABAP Gurus,
    I have to do a screen enhancement for transaction C223.
    Below is the requirement:
    need to add 2 new columns to the existing table control of C223 transaction.
    there is no customer exits, screen exit or user exit present for this transaction C223, i have found one enhancement spot for this transaction.
    i dont have any idea how to do this in standard transaction C223, the table control in C223 saves the data to MKAL table and the table control uses the structure MKAL_EXPAND in the screen program.
    i have created an append structure for  the 2 fields to the standard table MKAL.
    Can anyone please suggest me how this can be done in standard screen C223, will the enhancement spot can be used to do this....
    please sugest...
    Thanks & Regards

    Hi Santosh,
    Thanks for the reply. I have looked into this Enhancement Spot CPFX_SCREEN_SET , inside this there is only one method INPUT_DISABLED having below parameters
    IM_MKAL     Importing     Type     MKAL                                                                                Production Version
    EX_MSGID     Exporting     Type     SY-MSGID                                                                                Messages, Message
    EX_MSGTY     Exporting     Type     SY-MSGTY                                                                                Messages, Message
    EX_MSGNO     Exporting     Type     SY-MSGNO                                                                                Messages, Message
    EX_MSGV1     Exporting     Type     SY-MSGV1                                                                                Messages, Message
    EX_MSGV2     Exporting     Type     SY-MSGV2                                                                                Messages, Message
    EX_MSGV3     Exporting     Type     SY-MSGV3                                                                                Messages, Message
    EX_MSGV4     Exporting     Type     SY-MSGV4                                                                                Messages, Message
    EX_INPUT_DISABLE     Exporting     Type     CHAR1                                                                                Display Only if X Was Set
    the BADI definition present here is a SAP internal so we cant implement the BADI , but we can created a enhancement spot implementation for this. as per my understanding on this the enhancement spot is only for making the table control fields display / change .  i dont think this can be used to add two new coloumns to C223 table control.
    I am not sure thats why seeking your help/valuable sugestion on this.
    Please provide your sugestion on this , so that i can come to conclusion on this issue.
    Thanks & Regards
    Siddhartha Mishra

  • How to Add a new fields in the selection screen of LDB.

    Hi All,
    I want to add a new fields in the selection screen of LDB & then i need to select the data for that fields.
    So could you please tell me for that where i need to add the code for selecting the data.
    Thanks
    Roli

    Hi
    welcome to SDN forum
    If you are designing your own LDB with your own tables you can define tree structure and then the selection screen for the tables
    if you wants to modify the std LDB of SAp means take the access key and to modify that code
    if you add the extra field you have to modify the where conditions in the code also
    see the doc
    A logical database is a special ABAP/4 program which combines the contents of certain database tables. You can link a logical database to an ABAP/4 report program as an attribute. The logical database then supplies the report program with a set of hierarchically structured table lines which can be taken from different database tables.
    LDB offers an easy-to-use selection screens. You can modify the pre-generated selection screen to your needs. It offers check functions to check whether user input is complete, correct, and plausible. It offers reasonable data selections. It contains central authorization checks for data base accesses. Enhancements such as improved performance immediately apply to all report programs that use the logical database.
    Less coding s required to retrieve data compared to normal internel tables.
    Tables used LDB are in hierarchial structure.
    Mainly we used LDBs in HR Abap Programming.
    Where all tables are highly inter related so LDBs can optimize the performance there.
    Check this Document. All abt LDB's
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fabap%2fabap-code-samples%2fldb+browser.doc
    GO THROUGH LINKS -
    http://www.sap-basis-abap.com/saptab.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9bfa35c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/frameset.htm
    /people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases
    Re: **LDB**
    www.sapbrain.com/FAQs/TECHNICAL/SAP_ABAP_Logical_Database_FAQ.html
    www.sap-img.com/abap/abap-interview-question.htm
    www.sap-img.com/abap/quick-note-on-design-of-secondary-database-indexes-and-logical-databases.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9b5e35c111d1829f0000e829fbfe/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/db9bb935c111d1829f0000e829fbfe/content.htm
    Gothru the blog which provides info on LDB's:
    /people/srivijaya.gutala/blog/2007/03/05/why-not-logical-databases
    Sample code
    TABLES: SPFLI,
    SFLIGHT,
    SBOOK,
    SCARR.
    START-OF-SELECTION.
    GET SPFLI.
    WRITE:/ ’SPFLI: ’, SPFLI-CARRID, SPFLI-CONNID,
    SPFLI-AIRPFROM, SPFLI-AIRPTO.
    GET SFLIGHT.
    WRITE:/ ’ SFLIGHT: ’, SFLIGHT-CARRID, SFLIGHT-CONNID, SFLIGHT-FLDATE.
    GET SBOOK.
    WRITE:/ ’ SBOOK: ’, SBOOK-CARRID, SBOOK-CONNID,
    SBOOK-FLDATE, SBOOK-BOOKID.
    GET SFLIGHT LATE.
    WRITE:/ ’ GET SFLIGHT LATE: ’, SFLIGHT-FLDATE.
    Regards
    anji

  • Add a new field to a z table

    HI everybody
    i have to add a new field to the structure of a z table, i wanted to know if data would become inconsistent when changing the structure of the table?

    Hi anjali,
    You can add the fields to the structure of ztabel in Tcode SE11, where as to make the existing data consistent we have to activate the table in SE14.
    SE14 is to adject the tabel.
    Regards
    Satya.
    Message was edited by: Satyanarayana Sayana

  • Add a new field in the Tab Addicional data en la ME22N

    Hi,
    Please, can anyone tell me how can we add a new field in the tab Addicional data en la ME21N? I have to use the MM06E005, but I don't know which screen exit should I use and also how to add this subcreen in the tab Addicional data.
    Thanks in advance.
    Saida.

    Hi,
    using SE80 you can add your fields with subscreens
    SAPLXM06 0101 for Headerfields
    SAPLXM06 0111 for Items.
    This will add a tab in ME2..N.
    if you want your own Text on the tabstrip just edit the Textsymbols
    101 and 111 from SAPLXM06.
    At output you have to open a module asking the gl_aktyp to switch edit/display mode.
    then you must code the Exits to import/export values
    EXIT_SAPMM06E_006
    store transaction type for later modification of screen attributes
    gl_aktyp = i_trtyp.
    gl_no_screen = i_no_screen.
    store current state of customer data in ekko_ci (structure for screen)
    ekko_ci = i_ci_ekko.
    store reference document
    if i_rekko-ebeln ne gl_rekko-ebeln and
    not i_rekko-ebeln is initial and
    gl_rekko-ebeln is initial.
    ekko_ci-zzemail = i_rekko-zzemail.
    gl_rekko = i_rekko.
    endif.
    EXIT_SAPMM06E_007
    move-corresponding i_ekko to gl_ekko_ci.
    EXIT_SAPMM06E_008
    e_ci_ekko = gl_ekko_ci.
    ekko_ci contains the actual values of the Dynpro fields
    e_ci_update is only set if you really want the fields
    on the Dynpro to be saved. You must set it then to 'X'
    the field ekko_ci-zzflag will here only be saved if there
    was a change and the transaction is not in display mode
    if gl_ekko_ci-zzemail ne ekko_ci-zzemail.
    e_ci_ekko-zzemail = ekko_ci-zzemail.
    if gl_aktyp ne 'A'.
    e_ci_update = 'X'.
    endif.
    endif.
    Regards
    Kiran Sure

  • "You cannot respond to a meeting without an organizer. You must add an organizer field to the item."

    I'm working on resolving an issue for a user that needs to reschedule appointments in 3 Conference Rooms when needed.
    The user will open the meeting request and hit 'decline' and then attempt to edit the response before sending it back but then the appointment closes and the following message appears:
    "You cannot respond to a meeting without an organizer. You must add an organizer field to the item. "
    -End User has Full Mailbox Access
    -Listed as a 'Owner' of the Calendar
    -Delegate Rights granted to the Calendar as well
    -Not in Cached Mode
    Check Office updates and Office is up to date on patches.
    User does not have a blackberry device.
    Not sure of what else to do...I have researched this topic and all the items I have tried have not worked.
    The Test Meeting I created to reproduce the errors was done through Outlook and adding the conference room as a resource and the user getting the errors as someone required.
    I changed the calendar view to "Active Appointments". Right click on the column headings to add a field. In the field choser, pick All appt fields. Scroll down and drag n drop the Organizer field on the fieldbar.
    The Organizer (From Field) is showing the end users who scheduled the meetings.
    My Test Meeting Request that I had scheduled for last week that re-produced the error message was moved to today.
    It is showing me as the Organizer.
    Had the user who manages the Resource try again to cancel or edit the meeting and again receive the same message.

    Hi,
    I suggest you check related meeting in Calendar folder by using MFCMapi:
    Note: The meeting should be added to Calendar folder as tentatively accepted if you open the meeting request (but takes no action) or sniffer processes the meeting request.
    1. Download MFCMapi tool from here:
    http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=55fdffd7-1878-4637-9808-1e21abb3ae37
    2. Configure Outlook Profile (Online Mode) for the Conference Rooms
    3. Logon the Mailbox of the Conference Room by using credential of the End User.
    4. Open the Calendar Folder, locate the problem Meeting
    5. Right click the meeting entry and click Disable Recipient Table
    6. You should be able to get both the organizer and the attendees
    7. In addition, the PR_Recipient_Flags of the organizer should be 3 while the attendees are 1
    Mike

  • How to find out the user who has created  a new field in the custom table.

    How to find out the user details who has created  a new field in the custom table.
    Thanks,
    Joan

    Hi Jesudasan ,
    You can know the user details with version management.Please find the
    below procedure to know.
    Go to table->Utilities tab->version->Version management->Compare the previous one .
    Hope this solves the issue,Let me know if you have any issues.
    Thanks,
    Rajani

  • How to add a new Field to the WEB User Interface in CRM 2007

    Dear experts,
    I have been struggling to add a new field to the (CRM 2007) user interface from available fields for a specific view.
    I have maintained settings in BS__WD_CMPWBàRuntime Repository editoràComponentàViewàConfigurationàNew ConfigurationàAvailable FieldsàField Propertiesàand save.
    But the field is only appearing in display mode in the Web UI, which doesnu2019t allows any user input.
    I need your help to resolve the issue, I would be grateful if you could provide step-by-step documentation with screenshots or any other kind of documentation.
    Each suggestion will be appreciated.
    Best regards,
    Raghu ram.

    Hi Raghu Ram,
    I think you added a new custom field using some method like EEWB etc.,
    Then, you are adding the field onto the UI using UI Configuration Tool .. right ?
    These are the steps to diagnose:
    Method 1.Check the field properties in the model browser first.
      It should be showing 'C' i.e., CHANGEABLE. If it is showing as 'R', it is only READABLE.
      In such a case you need to find a BADI to change the field properties.
      For example, in Marketing Applications OBJ BADI has a method CHANGE FIELD PROPERTIES for this purpose.
    Method 2. Debug and check what is the value coming for RV_DISABLED parameter in the GET_I method in BSP_WD_CMPWB. This should be FALSE.
    Method 3. Check what are the field properties in the UI Configuration tool.
    Make sure it is not a display only field.
    Regards,
    Masood Imrani S.

  • Report painter(Add a new field to the library)

    Hi.
    How do i add a new field to the characteristics of a library.
    If the field is not at all existing in the characteristics list of the library.
    Thanks and Regards,
      Shabitha

    Hi Shabitha,
    just wondering if you ever found an answer to this, as i'm searching for info on same matter.
    Thanks, Regards,
    Okan Yarligan

  • Need to add a new field to the Schema for MDM Syndicator

    We are running MDM 5.5 SP6.
    We have a requirement to add a new field and syndicate the new field to the our Procurement System.
    I was able to add the new field to the repository and schema in SAP MDM Console.  However, when I went into the Syndicator to map the new field (which I do see) to the new Schema field, I don't see the new field to map in the Schema.
    How can I change the existing syndication jobs (11 of them) to use the new Schema?  Or do I have to recreate all of them?
    Thank you in advance!!!

    Hi Janynne,
    I hope you have modify the Syndication XSD(add new field) and then load it in XML Schema table of MDM Console, right ?
    If you have done it, now open MDM Syndicator>Go to File>Open, select the required Remote system and Available map.
    Now your existing map will be loaded which has not the required added field, Now again, go to file-->Export.
    Give file name and save this syndication map on your Desktop. Once you have done this.
    Go to File>New>Select respective remote system and Type as XML Schema if you have loaded this XSD in Console else select Type as XML Schema file and select the modified XSD (added new field XSD) from Desktop. Once it is loaded, import the existing syndication map(which you have exported as said above) which should have all the fields mapped, now in target side you will have here new added field too, map it with required source field in Item Mapping and then go to file>Save as>select the required Remote system and give new map name. Use this map for exporting files for future reference.
    Also, if your are using Port Concept, you need to change the Properties Map and XML Schema in Port of MDM Console.
    Regards,
    Mandeep Saini

  • Add a new field for the movement 551

    Hey SAP folks,
    I am having a situation that while doing the overage receipt(551) in MIGO transaction system having an option to enter the Purchase order number in the screen but not for PO item number.
    When i went into the config under <b>Field selection for mvt type</b> , it doesn't give me an option to make an entry for 551 with PO item number.
    Let me know how can we add a new fields that is not listed on F4 help under 551 mvt type in the config under <b>Field selection for mvt type</b>.
    Thks,
    JR.

    Dear John,
    Are you sure that mov type 551 is movement for receipt PO?Cause as i know 551 is Good issue for Scrapping.
    Btw, you can check to this path :
    IMG> Material management> Inventory management and physical Inventory>Setting for enjoy transaction>Setting for MIGO-
    IMG> Material management> Inventory management and physical Inventory>Good issue/TP>Define screen layout
    IMG> Material management> Inventory management and physical Inventory>Good receipt>Define screen layout.
    Regards,
    w1n

  • How to add a new field on the right side of 'Part function' in Opportunity

    HI All
    I have a requirement wherein I need to add a new field for 'first name/last name' on the right side of 'Partner function' field in opportunity search criteria..
    Ex:(here i'm showing overview how the search criterial screen appears in UI since i can't attach screen shot)
    Partner function                 is                     sales lead            firstname/lastname
    It is similar to...when we select the option 'Is between' for date field then automatically one extra field will appear
    on the extreme right to enter a range for the date so similary I need to add one field to the extreme right where
    the user will select 'first name/lastname' using 'F4' help in addition the abvoe 'Partner function'.
    Could you please let me know how can we add it??
    Regards
    Anil

    Hi,
    First try to find out if you already have that field available in your view configuration. If yes, then you just need to add that to visible/displayed fields. Other wise you'd have to extend the context nodes using AET/EEWB. After you add the fields using configuration you can move them where ever you want to place them. I believe for first name/last name F4 comes by default.
    Regards
    Prasenjit

  • Is there a way to add a new field to the MD15 layout

    Hello,
    I wanted to add new fields to the MD15 layout list. For example "Vendor ID and Old Material #" Is there a way to do that?
    Thanks

    Hi
    How did you add those columns!? 
    I have similar requirement.  I tried using BAdI "MD_ADD_COL_OVERVIEW"; that works only for MD04.  which enhancement or badi you have used to add columns.
    Thanks,

  • 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

Maybe you are looking for

  • This is a way of fixing the i-tunes Glitch for Linux

    If you want to use i-tunes on a Linux based computer, try using a virtual machine, in conjunction. with Linux operating system; such as, if you are using it with Ubuntu 11.04 it works most of the times, that is if you he the sufficient hardware to ru

  • Using After Effects and Other Adobe CC 2014 on 4K Display.

    I am using a new 4K display and I scaled the UI in Windows 7 to 150%, and all my other programs scaled just fine. When I use my adobe programs the UI is extremely small in the 4K resolution, i was able to scale Photoshop CC 2014 up but am having issu

  • Keeping the balance

    I have two lists, one for stocks bought and one for stocks sold. I now want to keep track whether the strategy is making or loosing money.public void startPeriodicDownload(){         int delay = 5000;   // delay for 5 sec.         int period = 1000*1

  • Can the J2ME access through the SIM toolkit application?

    im a new to this.. can that be possible? im about to develop an application that would access the program on the SIM. would that be possible with java? tnx...

  • Help with iPod 3G... firmware won't boot anymore... please help!

    I own an iPod 3G since August 2003. It always worked well... but a few days ago I went to turn it on (after not having turned it on for 3 weeks) and it booted, because the Apple logo appears, but it just won't go in! So I get the Apple logo all the t