Help in modifying create sales order - update value during idoc import

Hi,
I have been asked to modify the process of creating a sales order when an idoc comes through. The basic requirement is to update a value in the sales order item (VBKD-BSTKD_E) with a value from the Idoc (in segment E1EDP02).
I have never mapped inbound documents before and I was wondering if anyone could help me. I think I have idnetified the right enhancement VEDA0001 - EXIT_SAPLVEDA_001 but I am not sure what the syntax should be.
Does anyone have any idea - or pointers where I could create this solution. I even tried to put a break-point into the customer exit - but it seems to be ignoring the code!
Would appreciate anybodies help
Paul

hi Paul,
I need to enhance FM u201CIDOC_INPUT_ORDERSu201D. So I had created the new project ZDEV_VEDA via tcode CMOD and under this new project, I assigned the VEDA0001 enhancement. I wanted to enhance Function exit EXIT_SAPLVEDA_001 (INCLUDE ZXVEDU03). But I had encountered this message:
Program names ZX... are reserved for includes of exit function groups. Message no. DS027
Any ideas what is this about? Appreciate so much.
TQ.

Similar Messages

  • XI IDOC ORDERS04 create sales order update VBKD_BSARK

    Hello
    I have created a sales order interface from an external partner who sends a file (Purchase order), XI reads and transfers to R/3 via IDOC ORDERS04 to create the sales order.  this works fine, but i need the purchase order type field VBKD-BSARK to be updated for further processing of order confirmations and deliveries (the customer also has manual orders created which are handled differently).
    in the XI mapping i have mapped the required entry for VBKD-BSARK into E1EDP02-BSARK, but it does not work.  I notice that this is at line itme level.  i have had a good look through the segements in ORDERS04 but I cannot find any reference to PO type.
    I also tried mapping the required data to E1EDK14 'QUALF'=013 .. this did not work either.  i use FM IDOC_INPUT_ORDERS and can only find reference to vbap-bsark  but this is not working.  it always takes the default setting.
    Does anyone have any ideas?  I have to use ORDERS04 as we have user enhancements for sales orders that are not available with SALESOREDERCREATEFROMDAT2.  which may work ok.
    cheers
    Nick

    Hi,
    Can u tell me the steps to create a sales order using idoc, i've created a bapi but thats a temprory use. I wanted to created a sales order automatically when a purchase order is saved after data entry is completed.
    Please let me know if u can help me, i wanted to do it using idoc
    Regards
    Sanju

  • How create sales order with respect to an idoc?

    hi ,
          does any one know how to create a sales order using an idoc number ?
    thanks
    mmn

    Hi refer below Reward if helps
    XI IDOC ORDERS04 create sales order update VBKD_BSARK
    For creating sales documents (sales order) through IDOCS you will have to use the T code WE19.  In that click basic type and enter order05(IDOC type) and select via message type then enter ORDERS(message type), click execute.
    You will get to see many fields.here you have to enter the datas that you enter in the VA01 screen in order to create sales order. The datas such as material name, date, qty, P.O no etc.  After entering all the datas, you click standard inbound the IDOC would be created by the system.You can see the created order by going in to VA03 screen.
    Next time when you create the IDOC, in same tcode WE19 screen, click existing IDOC and enter the IDOC which you created in the above step and just change the P.O no.Sytem will create new sales order through new IDOC
    Before doing all you need to maintain the partner profile in T code WE20.  For this Discuss with EDI consultant.

  • Updating price in already created sales order

    Hi all,
    I have an issue. When we create sales order, system will display current date pricing on sales order, for example total value of sales order is 9000. Now before delivery, prices change and we have to manually update price on sales order individually. Is there any report available that can update price of all already created sales orders instead of going on sales order and update one by one.
    Please respond.
    Best Regards,
    AI.

    Hello,
    You can update the pricing for all the created orders at a time in VA05 .
    Goto Transaction code VA05 and give all the sales orders and then in the MENU click on
    EDIT->MASS CHANGE>NEW PRICING
    And update the New pricing, then will carry out new pricing for all the sales orders at a time.
    OR,
    There is also one function module  SD_BULK_CHANGE , Create your own Query in SQV1 and make changes.
    Hope it will resolve , Please revert if you need further details
    thanks,
    santosh

  • How to avoid XVBPA line item values while creating sales order

    Hi Friends
    I am creating Sales order using function module IDOC_INPUT_ORDERS, for that I am passing partner details through segment E1EDKA1.If I pass the same partner details(Partner number, name1,name4,city,postel code) which is same like customer master,
    I can able to book the order and entries are coming only one time in VBPA table(Header Item level).But if I change any value for the particular partner in the Input(For example Name4, there is no value in customer master but I added through program).Now its creating an order but its showing the entered partner informations in header level.When I checked the same in line item level, its not picking the values from header, its picking the values from customer master for that particular partner.
    So this line item also coming in VBPA table, because its different from header data.
    Anyone guide me, how to avoid this problem while booking order through program.
    Thanks
    Gowrishankar

    I am updating Ship-To-Party value in segment E1EDKA1 and calling IDOC_INPUT_ORDERS function module to create the sales order.
    In this case for the particular partner there is no NAME4 value in KNA1, I am passing some value through this segment E1EDKA1.
    So its creating an order with this new addresses , so its generating new ADRNR in VBPA header level.Thats fine.But the same time
    its not copying the same value from header to line item.
    In Line item level again its picking the address details from KNA1 for the particular partner number.So its showing Blank value in NAME4 field of line items.Its creating and spllitting issue, while creating delivery.
    Thanks
    Gowrishankar

  • How to manual maintain TAX condition value while creating sales order

    Hi
    I am creating one Tax condition suppose JLST without access sequence .
    while creating sales order I am manually maintain the % value of TAX. suppose it is 1%
    then I see It show some value in TAX .
    save that sales order & creating delivery document for that but when I create Invoice its show error.
    " Tax code  in procedure CMTAXP is invalid ".
    I know the configuration only for Tax condition with vk11 condition record .
    BUT now I want to maintain TAX condition at the time of creating sales order.
    so I remove the access sequence of that condition .
    but It shows tax code error while billing.
    My main question is that If i maintain condition record while creating sales order then how i can assign Tax code .
    Can it is possible ?
    if yes then How?
    please help me.
    thank you

    Hi,
    The "straight-forward" answer for Tax Code creation is contact the FI consultant. He shall help you, by creating Tax codes.
    I have tested, with creating a tax cond type (copy of MWST) & manually entering values. I can create Sorder, Dlv and Bill but I cannot create an Accounting document. That is because of every line (amount) a Tax code is necessary.
    I THINK, you can NOT have manually filled tax codes; access sequence is needed to get the tax value (%) and the Tax code from the condition record.
    There is lot of material on the web to understand Tax classification, code etc. etc. See a useful link below -
    http://www.sapgeek.net/2010/04/sd-determines-tax-code/
    In short Tax code is a must and take the help of your FI consultant for the configuration of the same.
    BTW - Tax code is already made created for MWST, therefore I suggested that you can use MWST. Furthermore, you can change the values corresponding to Tax codes in FTXP.
    But if you are a beginner in these things, better take help.

  • Help with SE37 code needed - create sales order

    Hi Guurus,
    Can you please help? I finally finished with function creation (I just adopted the function, which I found in the system and it works ok, YEAH!!!)
    BUT!!! It is working just for the sales order creation with one item.
    Is it a big deal if you adopt my code that the function will have possibility to add more then one item?
    Thanks in advance
    Sašo
    Here is the code:
    *FUNCTION Z_RFC_SD_SIMO_SALES_ORDER2.
    *""Local interface:
    **"  IMPORTING
    **"     VALUE(P_AUART) TYPE  AUART DEFAULT 'zhp'
    **"     VALUE(P_VKORG) TYPE  VKORG DEFAULT 0001
    **"     VALUE(P_VTWEG) TYPE  VTWEG DEFAULT 07
    **"     VALUE(P_SPART) TYPE  SPART DEFAULT 01
    **"     VALUE(P_AUGRU) TYPE  AUGRU DEFAULT 001
    **"     VALUE(P_BSTKD) TYPE  BSTKD DEFAULT 'test si order avtom'
    **"     VALUE(P_SOLD) TYPE  KUNNR DEFAULT 21000069
    **"     VALUE(P_SHIP) TYPE  KUNNR DEFAULT 21000069
    **"     VALUE(P_MATNR) TYPE  MATNR DEFAULT 'SIOBRACUN'
    **"     VALUE(P_MENGE) TYPE  KWMENG DEFAULT 1
    **"     VALUE(P_PLANT) TYPE  WERKS_D DEFAULT 0001
    **"     VALUE(P_ITCAT) TYPE  PSTYV DEFAULT 'ZG2W'
    **"     VALUE(P_LGORT) TYPE  LGORT_D DEFAULT 0001
    **"  EXPORTING
    **"     VALUE(V_VBELN) TYPE  VBELN
    **"     VALUE(RESULT) TYPE  CHAR01
    DATA DECLARATIONS.
    **DATA: v_vbeln LIKE vbak-vbeln.
    *DATA: header LIKE bapisdhead1.
    *DATA: headerx LIKE bapisdhead1x.
    *DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.
    *DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
    *DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.
    *DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
    *DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx
    *WITH HEADER LINE.
    *DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl
    *WITH HEADER LINE.
    HEADER DATA
    *header-doc_type = p_auart.
    *headerx-doc_type = 'X'.
    *header-sales_org = p_vkorg.
    *headerx-sales_org = 'X'.
    *header-distr_chan = p_vtweg.
    *headerx-distr_chan = 'X'.
    *header-division = p_spart.
    *headerx-division = 'X'.
    **order reason
    *header-ord_reason = p_augru.
    *headerx-ord_reason = 'X'.
    **PO number from MAX
    *header-PURCH_NO_C = p_BSTKD.
    *headerx-PURCH_NO_C = 'X'.
    *headerx-updateflag = 'I'.
    PARTNER DATA
    *partner-partn_role = 'AG'.
    *partner-partn_numb = p_sold.
    *APPEND partner.
    *partner-partn_role = 'WE'.
    *partner-partn_numb = p_ship.
    *APPEND partner.
    ITEM DATA
    *itemx-updateflag = 'I'.
    *item-itm_number = '000010'.
    *itemx-itm_number = 'X'.
    *item-material = p_matnr.
    *itemx-material = 'X'.
    *item-plant = p_plant.
    *itemx-plant = 'X'.
    *item-target_qty = p_menge.
    *itemx-target_qty = 'X'.
    *item-target_qu = ' '.
    *itemx-target_qu = 'X'.
    *item-item_categ = p_itcat.
    *itemx-item_categ = 'X'.
    **item-STORE_LOC = p_LGORT.
    **itemx-STORE_LOC = 'X'.
    *APPEND item.
    *APPEND itemx.
    Fill schedule lines
    *lt_schedules_in-itm_number = '000010'.
    *lt_schedules_in-sched_line = '0001'.
    *lt_schedules_in-req_qty = p_menge.
    *APPEND lt_schedules_in.
    Fill schedule line flags
    *lt_schedules_inx-itm_number = '000010'.
    *lt_schedules_inx-sched_line = '0001'.
    *lt_schedules_inx-updateflag = 'X'.
    *lt_schedules_inx-req_qty = 'X'.
    *APPEND lt_schedules_inx.
    Call the BAPI
    *CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
    *EXPORTING
    *sales_header_in = header
    *sales_header_inx = headerx
    *IMPORTING
    *salesdocument_ex = v_vbeln
    *TABLES
    *return = return
    *sales_items_in = item
    *sales_items_inx = itemx
    *sales_schedules_in = lt_schedules_in
    *sales_schedules_inx = lt_schedules_inx
    *sales_partners = partner.
    Check the return table.
    *LOOP AT return WHERE type = 'E' OR type = 'A'.
    *EXIT.
    *ENDLOOP.
    *IF sy-subrc = 0.
    *result = 'E'.
    *ELSE.
    *COMMIT WORK AND WAIT.
    *result = 'S'.
    *ENDIF.
    *ENDFUNCTION.
    Edited by: Saso Poljansek on Jan 22, 2008 10:23 AM

    Hi,,
        Include           YCL_CREATE_SALES_DOCU                         *
         Form  salesdocu
         This Subroutine is used to create Sales Order
         -->P_HEADER           Document Header Data
         -->P_HEADERX          Checkbox for Header Data
         -->P_ITEM             Item Data
         -->P_ITEMX            Item Data Checkboxes
         -->P_LT_SCHEDULES_IN  Schedule Line Data
         -->P_LT_SCHEDULES_INX Checkbox Schedule Line Data
         -->P_PARTNER  text    Document Partner
         <--P_w_vbeln  text    Sales Document Number
    DATA:
      lfs_return like line of t_return.
    FORM create_sales_document changing P_HEADER  like fs_header
                                       P_HEADERX like fs_headerx
                                       Pt_ITEM   like t_item[]
                                       Pt_ITEMX  like t_itemx[]
                                       P_LT_SCHEDULES_IN  like t_schedules_in[]
                                       P_LT_SCHEDULES_INX like t_schedules_inx[]
                                       Pt_PARTNER  like t_partner[]
                                       P_w_vbeln  like w_vbeln.
    This Perform is used to fill required data for Sales order creation
      perform sales_fill_data changing p_header
                                       p_headerx
                                       pt_item
                                       pt_itemx
                                       p_lt_schedules_in
                                       p_lt_schedules_inx
                                       pt_partner.
    Function Module to Create Sales and Distribution Document
      perform sales_order_creation using p_header
                                         p_headerx
                                         pt_item
                                         pt_itemx
                                         p_lt_schedules_in
                                         p_lt_schedules_inx
                                         pt_partner.
      perform return_check using p_w_vbeln .
    ENDFORM.                                 " salesdocu
        Form  commit_work
        To execute external commit                                    *
    FORM commit_work .
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
       WAIT          = c_x
    ENDFORM.                                 " Commit_work
    Include ycl_sales_order_header          " To Fill Header data and Item data
    Include ycl_sales_order_header.
         Form  return_check
        To validate the sales order creation
    FORM return_check using pr_vbeln type vbeln.
    if pr_vbeln is initial.
        LOOP AT t_return into lfs_return .
          WRITE / lfs_return-message.
          clear lfs_return.
        ENDLOOP.                             " Loop at return
      else.
        perform commit_work.                 " External Commit
        Refresh t_return.
        fs_disp-text = text-003.
        fs_disp-number = pr_vbeln.
        append fs_disp to it_disp.
      if p_del eq c_x or p_torder eq c_x or
        p_pgi eq c_x or p_bill eq c_x.
        perform delivery_creation.           " Delivery order creation
        endif.                               " If p_del eq 'X'......
      endif.                                 " If p_w_vbeln is initial
    ENDFORM.                                 " Return_check
    *&      Form  sales_order_creation
          text
         -->P_P_HEADER  text
         -->P_P_HEADERX  text
         -->P_PT_ITEM  text
         -->P_PT_ITEMX  text
         -->P_P_LT_SCHEDULES_IN  text
         -->P_P_LT_SCHEDULES_INX  text
         -->P_PT_PARTNER  text
    FORM sales_order_creation  USING    P_P_HEADER like fs_header
                                        P_P_HEADERX like fs_headerx
                                        P_PT_ITEM like t_item[]
                                        P_PT_ITEMX like t_itemx[]
                                        P_P_LT_SCHEDULES_IN like t_schedules_in[]
                                        P_P_LT_SCHEDULES_INX like t_schedules_inx[]
                                        P_PT_PARTNER like t_partner[].
        CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
        EXPORTING
          sales_header_in     = p_p_header
          sales_header_inx    = p_p_headerx
        IMPORTING
          salesdocument_ex    = w_vbeln
        TABLES
          return              = t_return
          sales_items_in      = p_pt_item
          sales_items_inx     = p_pt_itemx
          sales_schedules_in  = p_p_lt_schedules_in
          sales_schedules_inx = p_p_lt_schedules_inx
          sales_partners      = p_pt_partner.
    ENDFORM.                    " sales_order_creation
    this is code to create sales document
    plzz reward if it is usefull...
    plzz dont forget to reward......

  • SAP Fiori Error - Create Sales Order app doesn't run after Google Chrome updates

    Hi,
    I have a problem with the create sales order app (ui5_sd_so_cr).
    Everything works fine until Google Chrome browser updates to version 34.0.1847.116 m .
    The create sales order application has an error when i try to checkout the cart.
    This error is in the SalesOrderCreatePriceAndAvailabilityCheck.controller.js and SalesOrderCartDetails.js in this function:
    l.oSOCartModel.refreshSecurityToken(function (a, b) {
            l.oSOCartModel.create("/SalesOrders", m, null, function (c, d) {
                com.sap.kelley.salesordercreate.utils.ModelUtils.updateCartModelFromSimulationResponse(d);
                oSObusyIndicator.close();
            }, function (g) {
                oSObusyIndicator.close();
                var d = g.response.body;
                var f = jQuery.parseXML(d);
                var e = f.getElementsByTagName("message")[0].childNodes[0].nodeValue;
                var c = new sap.m.Dialog({
                    title: sap.ca.common.uilib.message.AlertMessageBoxType.ERROR.title,
                    content: [new sap.m.Label({
                        text: e
                    leftButton: new sap.m.Button({
                        text: l.oBundle.getProperty("XBUT_OK"),
                        tap: function () {
                            if (j) {
                                l._onNavigateBack();
                            c.close();
                c.addStyleClass("sapSOC-SingleButtonDialog");
                c.open();
        }, function (a) {
            oSObusyIndicator.close();
            var b = new sap.m.Dialog({
                title: sap.ca.common.uilib.message.AlertMessageBoxType.ERROR.title,
                content: [new sap.m.Label({
                    text: sap.ui.getCore()
                        .getModel("i18n")
                        .getProperty("ERROR_REFRESH_SECURITY_TOKEN")
                leftButton: new sap.m.Button({
                    text: l.oBundle.getProperty("XBUT_OK"),
                    tap: function () {
                        if (j) {
                            l._onNavigateBack();
                        b.close();
            b.addStyleClass("sapSOC-SingleButtonDialog");
            b.open();
        }, false);
    The error is in the line 07. Cannot read property 'body' of undefined
    Variable g is undefined.
    I tested the application with other browsers (IE, Firefox, Safari) and everything works perfectly. Only Chrome has this kind of problem.
    UISRA
    UISRA017
    100
    0002
    SAPK-10002INUISRA017
    HTML5 Create Order
    System
    SAP_BASIS
    731
    0007
    SAPKB73107
    SAP Basis Component
    GW_CORE
    200
    0006
    SAPK-20006INGWCORE
    SAP GW CORE 200
    IW_BEP
    200
    0007
    SAPK-20007INIWBEP
    Backend Event Provider
    UI5 version 1.16.4
    It 'happened to someone else?
    How can I fix the problem?
    Thank you for your help.
    Regards,
    Nicola

    Few things you can try,
    Upgrade your UI5 library version. Latest is 1.18
    Implement release notes :
    1948368 - Fiori Create Sales Order Wave 1 Common Library Fixes
    1947789 - Fiori Create Sales Order Wave 1 Fixes
    Check if these can be applied or go with UI library update.
    1939288 - Hotfix 1.16.5 for UI AddOn SP06 SC: UI2_SRVC
    Regards,
    Tejas

  • Create Sales order with reference to purchase order - Help needed

    Hi Gurus
    Purchase order is being created in Oracle system. SAP system will receive the purchase order and creates the sales order for the corresponding purchase order.
    Hoe to create sales order, Through BAPI or through IDOC. Please suggest and give some pointers of existing interface
    Thanks
    Andy.

    Hi,
        If you are working on ECC6.0 check for the BAPI BAPI_SALESORDER_CREATEFROMDAT1 .You can also pass the purchase order number .
    Check the sample code
    REPORT z_bapi_salesorder_create.
    Parameters
    Sales document type
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text FOR FIELD p_auart.
    PARAMETERS: p_auart TYPE auart OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Sales organization
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_vkorg.
    PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Distribution channel
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_vtweg.
    PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Division.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_spart.
    PARAMETERS: p_spart TYPE spart OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SKIP 1.
    Sold-to
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text4 FOR FIELD p_sold.
    PARAMETERS: p_sold  TYPE kunnr OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Ship-to
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text5 FOR FIELD p_ship.
    PARAMETERS: p_ship  TYPE kunnr OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SKIP 1.
    Material
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text6 FOR FIELD p_matnr.
    PARAMETERS: p_matnr TYPE matnr   OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Quantity.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text7 FOR FIELD p_menge.
    PARAMETERS: p_menge TYPE kwmeng  OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Plant
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(20) v_text9 FOR FIELD p_plant.
    PARAMETERS: p_plant TYPE werks_d OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    Data declarations.
    DATA: v_vbeln            LIKE vbak-vbeln.
    DATA: header             LIKE bapisdhead1.
    DATA: headerx            LIKE bapisdhead1x.
    DATA: item               LIKE bapisditem  OCCURS 0 WITH HEADER LINE.
    DATA: itemx              LIKE bapisditemx OCCURS 0 WITH HEADER LINE.
    DATA: partner            LIKE bapipartnr  OCCURS 0 WITH HEADER LINE.
    DATA: return             LIKE bapiret2    OCCURS 0 WITH HEADER LINE.
    DATA: lt_schedules_inx   TYPE STANDARD TABLE OF bapischdlx
                             WITH HEADER LINE.
    DATA: lt_schedules_in    TYPE STANDARD TABLE OF bapischdl
                             WITH HEADER LINE.
    Initialization.
    INITIALIZATION.
    v_text   = 'Order type'.
    v_text1  = 'Sales Org'.
    v_text2  = 'Distribution channel'.
    v_text3  = 'Division'.
    v_text4  = 'Sold-to'.
    v_text5  = 'Ship-to'.
    v_text6  = 'Material'.
    v_text7  = 'Quantity'.
    v_text9  = 'Plant'.
    Start-of-selection.
    START-OF-SELECTION.
    Header data
    Sales document type
      header-doc_type = p_auart.
      headerx-doc_type = 'X'.
    Sales organization
      header-sales_org = p_vkorg.
      headerx-sales_org = 'X'.
    Distribution channel
      header-distr_chan  = p_vtweg.
      headerx-distr_chan = 'X'.
    *Purchase order number
    header-PURCH_NO_C =  '4000006'.
    headerx-PURCH_NO_C = 'X'.
    Division
      header-division = p_spart.
      headerx-division = 'X'.
      headerx-updateflag = 'I'.
    Partner data
    Sold to
      partner-partn_role = 'AG'.
      partner-partn_numb = p_sold.
      APPEND partner.
    Ship to
      partner-partn_role = 'WE'.
      partner-partn_numb = p_ship.
      APPEND partner.
    ITEM DATA
      itemx-updateflag = 'I'.
    Line item number.
      item-itm_number = '000010'.
      itemx-itm_number = 'X'.
    Material
      item-material = p_matnr.
      itemx-material = 'X'.
    Plant
      item-plant    = p_plant.
      itemx-plant   = 'X'.
    Quantity
      item-target_qty = p_menge.
      itemx-target_qty = 'X'.
      APPEND item.
      APPEND itemx.
      Fill schedule lines
      lt_schedules_in-itm_number = '000010'.
      lt_schedules_in-sched_line = '0001'.
      lt_schedules_in-req_qty    = p_menge.
      APPEND lt_schedules_in.
      Fill schedule line flags
      lt_schedules_inx-itm_number  = '000010'.
      lt_schedules_inx-sched_line  = '0001'.
      lt_schedules_inx-updateflag  = 'X'.
      lt_schedules_inx-req_qty     = 'X'.
      APPEND lt_schedules_inx.
    Call the BAPI to create the sales order.
      CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'
           EXPORTING
                sales_header_in     = header
                sales_header_inx    = headerx
           IMPORTING
                salesdocument_ex    = v_vbeln
           TABLES
                return              = return
                sales_items_in      = item
                sales_items_inx     = itemx
                sales_schedules_in  = lt_schedules_in
                sales_schedules_inx = lt_schedules_inx
                sales_partners      = partner.
    Check the return table.
      LOOP AT return WHERE type = 'E' OR type = 'A'.
        EXIT.
      ENDLOOP.
      IF sy-subrc = 0.
        WRITE: / 'Error in creating document'.
      ELSE.
    Commit the work.
        COMMIT WORK AND WAIT.
        WRITE: / 'Document ', v_vbeln, ' created'.
      ENDIF.
    Reward points if it worked.
    Regards,
    Abhishek
    Edited by: Abhishek Raj on May 14, 2008 9:57 AM

  • Open Sales Order quantity & value

    Hi,
    We have a requirement here of report to show open sales order quantity & value for any month (monthend). There is a datasource 2LIS_11_V_ITM which gives Open order quantity. I have created an ODS with 2LIS_11_VAITM & 2LIS_11_V_ITM which can give me desired qty & value, but only for date of last data upload and not for date in the past.(and to get that, I have to sumup all open orders quantity without using any date filter)
    I am thinking of creating a Infocube over this ODS to update the Open Order qty & value at the monthend (Snapshot scenario). But to update this, I am not able to get the logic for date to be used in time dimension.
    If anyone can think of the solution or any alternate way to develop this kind of report, your help/suggestions are most welcome.
    Thanks,
    Vikram.

    Hi Vikram,
    Find the link, which solves u r requirement
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/bi/arobustdesignofopensalesorderdataflow
    Thanks & Regards
    Ramakrishna Kamurthy

  • Open sales order credit value (S066-OEIKW)

    Hello experts,
    I need to update the table S066 with the Open sales order credit value when an item has no confirmed quantity (VBEP-BMENG). So I have created the new rountine under
    VOFM -> Requirements -> Credit checks -> new include RVKMP901. But I don't know how to update this table.
    From the note 377165, the same is explained. But I am niot able to achieve my requirement.
    So please help me in this regard.
    Waiting for your reply.
    Any Suggestion...
    With regards,
    Vasanth M
    Edited by: Vasanth M on Feb 15, 2010 8:21 PM

    Hello Jack,
    Thanks fo your answer. But I have to update the credit amount to the table S066.
    This credit limit could be viewed in the TC FD33. So please suggest me what to do.
    Thanks in Advance
    Best Regards,
    Vasanth M

  • Pricing, Modifiers in Sales Order Form

    Hi Gurus,
    Please help me to resolve the issue with Pricing, Modifier to Sales Order:
    I have created Master price List for Item A - $40
    Modifer 1 - Dealer Discount Price is 20% (Created Modifier as Dealer Discount - 20%)
    Modifer 2 - Order Header discount is 10% on total Order Value (Created Modifer with Discount : Level - Order; Modifer Type - Discount; Pricing Phase - Header Level Adjustments, Application Method - Percentage; Value - 10%
    Assgined to respective Qualifers (Customers), set as Automatic
    Ran Build Attribute mapping values concurrent program in Pricing Module. Status : sucess
    After doing All above steps created Sales order for respective Customer, system is applying Modifer 1 Automatically but MODIFIER 2 not able to apply at order header leverl, Not able to see this Modifier list under SO form
    Action->View Adjustment.
    Can you please check and let me know the problem to achieve this issue.
    Highly appreciate your response.
    Regards
    AK

    Check below options in sequence
    1) Is your order qualifies for both the modifiers ?
    2) If you need to apply both modifiers put them in different incompatibility level.

  • How to save LIST_LINE_ID of Price List when create Sales Order Line

    I dont know how save the LIST_LINE_ID of the Price List on Sales Order or anywhere when create Sales Order Line.
    I create with the following steps:
    Step 1: Create Price List for Item A with two line: Line 1 (Unit Price = 10,5, Pricing Attribute with Tax Classification Code = 5%), Line 2 (Unit Price = 11, Pricing Attribute with Tax Classification Code = 10%)
    Step 2: I create Sales Order Line with Item A, Tax Classification Code = 5% --> Unit Selling Price = List Price = 10,5 but dont bookorder
    Step 3: I update the Unit Price of Line 1 into 11.55.
    Step4 : I book this Sales Order. Howerver, I use form personalization to customize Book Event: if the Unit Price of Item on Price List > Unit Selling Price then cant not Book. But I dont konw List Price of Sales Order belong the line of Price List.
    Please help me check this issue. Thanks for your supports.
    BinhTC
    Email: [email protected]

    Bob's right - except that if you have OM: List Price Override Privilege set to 'Unlimited' (and from your scenario it sounds as if you have) it is possible that the value in unit_list_price will vary from what was originally retrieved from the price list.
    In that case, a safer bet is to use :LINE.original_list_price in your personalization as this will always contain what was originally retrieved and will mean you can avoid any repeat lookup via list_line_id.
    Regards,
    Jon

  • Creating sale order by using BAPI

    Hi,
    My requirement is to create a inquiry(VA11),  By using the Inquiry no as a input in report, i should create a salesorder using BAPI in which the datas should be flowed from inquiry to sale order. i did almost everything except the Pricing Condition.
        I am fetching the pricing condition values from table KONV-KSCHL and passing the value via BAPI_SALESORDER_CREATEFROMDAT2 it creates saleorder. In the created salesorder, there are two  same pricing conditions  but different rate 1.) the price of the MATNR which is maintained  2.) the changed MATNR price in inquiry level,
    i need the value which is changed in inquiry level that is 2nd value.
    can anyone help me in this...

    REPORT  ZSALESORDER.
    << Cut and paste without attribution from
    create sales order using BAPI
    removed >>
    Edited by: Rob Burbank on Feb 24, 2009 10:43 AM

  • Problem while creating sales order using BAPI

    Hi all,
    i am creating a sales order from the purchase order data.
    when my client will send a PO in EDI format, my 3rd party edi tool will convert that edi formatted PO to text format. then i will upload that text formatted PO to my program then i will create a SO from those uploaded PO data using BAPI BAPI_SALESORDER_CREATEFROMDAT2.
      but,no sales order is being created.& also i am not getting any return message.by debugging also, i am not getting the error.plz suggest where i am doing mistake.below is the coding.
    DATA:
      gfilename LIKE rlgrap-filename.
    *--Internal tables
    DATA: BEGIN OF i_item OCCURS 50.    "Create Material Document Item
            INCLUDE STRUCTURE BAPISDITM .
    DATA: END OF i_item .
    DATA: BEGIN OF i_partner OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE BAPIPARNR.
    DATA: END OF i_partner.
    DATA: BEGIN OF i_schedule OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE BAPISCHDL .
    DATA: END OF i_schedule.
    DATA: BEGIN OF i_cond OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE BAPICOND .
    DATA: END OF i_cond.
    DATA: BEGIN OF i_part OCCURS 0,     " Internal table for split data
            part(20),
          END OF i_part.
    DATA: BEGIN OF i_return OCCURS 20.  "Return parameter
            INCLUDE STRUCTURE bapiret2.
    DATA: END OF i_return.
    *-- Work areas
    DATA: BEGIN OF wa_header .       "sales Document Header Data
            INCLUDE STRUCTURE BAPISDHD1.
    DATA: END OF wa_header .
    *DATA: BEGIN OF wa_return .       "Output Structure
           INCLUDE STRUCTURE BAPIRET2.
    *DATA: END OF wa_return .
    DATA: begin of sorder.
         INCLUDE STRUCTURE BAPIVBELN.
    DATA: end of sorder.
    data:begin of t_upload,
         ebeln(10),  "PO no(seagate)
         aedat like sy-datum , "PO date
         bsart(4) , "PO type
         vdatu like sy-datum , "requested delivery date
         kunnr(10) , "customer no-sold-to-party
        kunak like vbak-kunnr, "bill-to-party
         name1_s(20), "name1 of sold-to-party
         name2_s(15), "name2 of sold-to-party
         land1_s(3), "country
         ort01_s(10),  "city
         regio_s(3), "region(state/province)
         pstlz_s(10), "postal code
         adrnr_s(10), "address
         bstkd_e(10), "end customer purchase order
         posex(6),     "end customer PO line no(item no)
         kdmat(18),     "end customer material no(part no)
         kunag(10),     "ship-to-party
         name1_c(20),   "name1 of ship-to-party
         name2_c(15),   "name2 of ship-to-party
         land1_c(3),   "country
         ort01_c(10),    "city
         regio_c(3),   "region(state/province)
         pstlz_c(10),   "postal code
         adrnr_c(10),   "address
         posnr(6), "item no(seagate PO line no)
         pstyv(4), "item category
         matnr(18), "material no(seagate 9 digit part no)
         zmeng(13), "Target quantity in sales unit
        vrkme like vbap-vrkme, "sales unit
         meins(3), "UOM
        posnr_tot like vbap-posnr,"Total no. of line items
         werks(4), "plant
        vstel like vbap-vstel, "shipping point
         empst(10), "receiving point
         shtyp(4), "shipment type
         route(6), "route
         vsbed(2), "shipping conds
        rkfkf like vbap-rkfkf, "method of billing for co/ppc orders
         zterm(4), "terms of payment key
         inco1(3), "F.O.B inco term1
         inco2(3), "F.O.B inco term2
         end of t_upload.
    Data: wa_upload like t_upload,
           i_upload like standard table of t_upload.
    Data:v_kunnr like kna1-kunnr,
          v_posnr like vbap-posnr,
          v_matnr like vbap-matnr,
          v_zmeng like vbap-zmeng,
          v_kunag like kna1-kunnr.
    *---Constants
    CONSTANTS: c_comma TYPE c VALUE ',',   " For splitting data at commas
               c_01(2) TYPE c VALUE '01',  " For movement code in Bapi
               c_b     TYPE c VALUE 'B',   " For mvt. Indicator in Bapi
               c_creat(5) TYPE c VALUE 'CREAT', " For button text
               c_clear(5) TYPE c VALUE 'CLEAR', " For clear button
               c_mvmt(4) TYPE c VALUE 'MVMT',
               c_ok(2)   TYPE c VALUE 'OK',
               c_error(5) TYPE c VALUE 'Error'.
    *--SELECTION SCREEN DESIGN--
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
    PARAMETERS:     
                p_auart LIKE vbak-auart, " order type
                p_vkorg LIKE vbak-vkorg, " sales org
                p_vtweg LIKE vbak-vtweg, " dist channel
                p_spart LIKE vbak-spart, " division
                p_vkgrp LIKE vbak-vkgrp, " sales group
                p_vkbur LIKE vbak-vkbur, "sales office
                p_file(256) default 'c:/saleorder.txt'.         "File name
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN PUSHBUTTON 15(10) v_create USER-COMMAND creat.
    SELECTION-SCREEN PUSHBUTTON 40(10) v_clear USER-COMMAND clear.
      INITIALIZATION -
    INITIALIZATION.
      v_create = c_creat .
      v_clear = c_clear.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    PERFORM selectfile USING p_file.
    *--AT SELECTION_SCREEN--
    AT SELECTION-SCREEN .
      IF sy-ucomm = c_clear.
        PERFORM f_clear.
    ELSE.
       IF sy-ucomm <> c_mvmt.
    **--- Validating the input data.
         PERFORM f_check_inputs.
        ELSEif sy-ucomm = c_creat.
    *--- Validating the input data.
          PERFORM f_check_inputs.
    *-- Uploading the PO data.
          PERFORM f_PO_upload.
    *---checking the PO data
         PERFORM f_check_upload_data.
    *---create sales order from PO data
        PERFORM f_Sales_order_create.
        ENDIF.
    FORM f_PO_upload.
    gfilename = p_file.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                filename                = gfilename
                filetype                = 'DAT'
           TABLES
                data_tab                = i_upload
           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 i398(00) WITH '(WS_UPLOAD)'
        ' Errors occured with exception '
         sy-subrc.
      ENDIF.
    ENDFORM.                    " f_PO_upload
    *&      Form  selectfile
          text
         -->P_P_FILE  text
    FORM selectfile CHANGING value(filename) TYPE c.
    CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                def_filename     = gfilename
                def_path         = 'C:\'
                mask             = ',*.txt.'
                mode             = 'O'
                title            = 'Select File Name'
           IMPORTING
                filename         = filename
           EXCEPTIONS
                inv_winsys       = 1
                no_batch         = 2
                selection_cancel = 3
                selection_error  = 4
                OTHERS           = 5.
    ENDFORM.                    " selectfile
    FORM f_Sales_order_create.
      PERFORM f_fill_header.
      PERFORM f_fill_partner.
      PERFORM f_fill_item.
      PERFORM f_call_BAPI.
    ENDFORM.                    " f_Sales_order_create
    *&      Form  f_fill_header
          text
    -->  p1        text
    <--  p2        text
    FORM f_fill_header.
    move p_auart to wa_header-doc_type.
    move p_vkorg to wa_header-sales_org.
    move p_vtweg to wa_header-distr_chan.
    move p_spart to wa_header-division.
    move p_vkgrp to wa_header-sales_grp.
    move p_vkbur to wa_header-sales_off.
    Read table i_upload into wa_upload index 1.
    move wa_upload-ebeln to wa_header-purch_no_c.
    move wa_upload-aedat to wa_header-purch_date.
    move wa_upload-bsart to wa_header-po_method.
    move wa_upload-vdatu to wa_header-req_date_h.
    move wa_upload-bstkd_e to wa_header-purch_no_s.
    *move wa_upload-route to wa_header-route.
    move wa_upload-vsbed to wa_header-ship_cond.
    move wa_upload-empst to wa_header-rec_point.
    move wa_upload-shtyp to wa_header-ship_type.
    move wa_upload-zterm to wa_header-pmnttrms.
    move wa_upload-inco1 to wa_header-incoterms1.
    move wa_upload-inco2 to wa_header-incoterms2.
    ENDFORM.                    " f_fill_header
    *&      Form  f_fill_partner
          text
    -->  p1        text
    <--  p2        text
    FORM f_fill_partner.
    if not wa_upload-kunnr is initial.
    select single kunnr from kna1 into v_kunnr
                where kunnr = wa_upload-kunnr.
    if sy-subrc <> 0.
    Message E014 with 'customer does not exist'.
    else.
    move 'AG' to i_partner-partn_role.
    move wa_upload-kunnr to i_partner-partn_numb.
    move wa_upload-land1_s to i_partner-country.
    move wa_upload-name1_s to i_partner-name.
    move wa_upload-name2_s to i_partner-name_2.
    move wa_upload-ort01_s to i_partner-city.
    move wa_upload-regio_s to i_partner-region.
    move wa_upload-pstlz_s to i_partner-postl_code.
    move wa_upload-adrnr_s to i_partner-address.
    append i_partner.
    endif.
    endif.
    if not wa_upload-kunag is initial.
    select single kunnr from kna1 into v_kunag
                where kunnr = wa_upload-kunag.
    if sy-subrc <> 0.
    Message E015 with 'end customer does not exist'.
    else.
    move 'WE' to i_partner-partn_role.
    move wa_upload-kunag to i_partner-partn_numb.
    move wa_upload-land1_c to i_partner-country.
    move wa_upload-name1_c to i_partner-name.
    move wa_upload-name2_c to i_partner-name_2.
    move wa_upload-ort01_c to i_partner-city.
    move wa_upload-regio_c to i_partner-region.
    move wa_upload-pstlz_c to i_partner-postl_code.
    move wa_upload-adrnr_c to i_partner-address.
    append i_partner.
    endif.
    endif.
    ENDFORM.                    " f_fill_partner
    *&      Form  f_fill_item
          text
    -->  p1        text
    <--  p2        text
    FORM f_fill_item.
    loop at i_upload into wa_upload.
    if not wa_upload-matnr is initial.
    select single  maramatnr msegmenge into (v_matnr, v_zmeng) from
                       mara inner join mseg on maramatnr = msegmatnr
                       where mara~matnr = wa_upload-matnr.
    if sy-subrc <> 0.
    Message E016 with 'material no does not exist'.
    elseif v_zmeng LT wa_upload-zmeng.
    Message E017 with 'order quantity is greater than the quantity present'.
      endif.
    endif.
    move wa_upload-posnr to i_item-itm_number.
    move wa_upload-pstyv to i_item-item_categ.
    move wa_upload-matnr to i_item-material.
    move wa_upload-zmeng to i_item-target_qty.
    move wa_upload-meins to i_item-target_qu.
    move wa_upload-werks to i_item-plant.
    *move wa_upload-meins to wa_vbap-meins.
    *move wa_upload-posnr_tot to wa_vbap-posnr_tot.
    move wa_upload-posex to i_item-po_itm_no.
    move wa_upload-kdmat to i_item-cust_mat22.
    move wa_upload-inco1 to i_item-incoterms1.
    move wa_upload-inco2 to i_item-incoterms2.
    move wa_upload-zterm to i_item-pmnttrms.
    move wa_upload-empst to i_item-rec_point.
    move wa_upload-shtyp to i_item-ship_type.
    move wa_upload-route to i_item-route.
    append i_item.
    PERFORM f_fill_schedule_line.
    PERFORM f_fill_conditions.
    ENDLOOP.
    ENDFORM.                    " f_fill_item
    *&      Form  f_fill_schedule_line
          text
    -->  p1        text
    <--  p2        text
    FORM f_fill_schedule_line.
    move wa_upload-matnr to i_schedule-itm_number.
    move sy-datum to i_schedule-req_date.
    move wa_upload-zmeng to i_schedule-req_qty.
    append i_schedule.
    ENDFORM.                    " f_fill_schedule_line
    *&      Form  f_fill_conditions
          text
    -->  p1        text
    <--  p2        text
    FORM f_fill_conditions.
    move wa_upload-matnr to i_cond-itm_number.
    move sy-datum to i_cond-conpricdat.
    append i_cond.
    ENDFORM.                    " f_fill_conditions
    *&      Form  f_clear
          text
    -->  p1        text
    <--  p2        text
    FORM f_clear.
    clear:p_auart,
          p_vkorg,
          p_vtweg,
          p_spart,
          p_vkgrp,
          p_vkbur.
    ENDFORM.                    " f_clear
    *&      Form  f_call_BAPI
          text
    -->  p1        text
    <--  p2        text
    FORM f_call_BAPI.
    clear:i_item,i_partner,i_schedule.
    CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
      EXPORTING
      SALESDOCUMENTIN               =
        ORDER_HEADER_IN               = wa_header
      ORDER_HEADER_INX              =
      SENDER                        =
      BINARY_RELATIONSHIPTYPE       =
      INT_NUMBER_ASSIGNMENT         =
      BEHAVE_WHEN_ERROR             =
      LOGIC_SWITCH                  =
      TESTRUN                       =
      CONVERT                       = ' '
    IMPORTING
       SALESDOCUMENT                  = sorder
      TABLES
      RETURN                        =
       ORDER_ITEMS_IN                 = i_item
      ORDER_ITEMS_INX               =
        ORDER_PARTNERS                = i_partner
       ORDER_SCHEDULES_IN             = i_schedule
      ORDER_SCHEDULES_INX           =
      ORDER_CONDITIONS_IN            = i_cond.
      ORDER_CFGS_REF                =
      ORDER_CFGS_INST               =
      ORDER_CFGS_PART_OF            =
      ORDER_CFGS_VALUE              =
      ORDER_CFGS_BLOB               =
      ORDER_CFGS_VK                 =
      ORDER_CFGS_REFINST            =
      ORDER_CCARD                   =
      ORDER_TEXT                    =
      ORDER_KEYS                    =
      EXTENSIONIN                   =
      PARTNERADDRESSES              =
    if not ( sorder-vbeln is initial ).
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    write: /'Order number:', sorder.
    else.
    loop at i_return.
    write: / i_return-id, i_return-number, i_return-message(80).
    endloop.
    *write: /'Error'.
    endif.
    *loop at i_return.
    *write: / i_return-id, i_return-number, i_return-message(80).
    *endloop.
    ENDFORM.                    " f_call_BAPI

    HI
      Pricing will be carried basing on the pricing
    procedure.
    Case1: Prices will be carried out automatically if
    necessary condition records are maintained for the
    condition type.
      For this you can go to Sales Order-> Item Conditions
    In the screen you can click on command button Analysis,
    which gives you the list of condition types associated
    to the pricing procedure. By clicking on the condition
    type you can know the action that has taken place.
    Case2: Manually forcing prices for Items.
      To do this, you have to populate ORDER_CONDITIONS_IN &
    ORDER_CONDITIONS_INX. Also note to identify the item
    numbers, you manually pass the item number for each item
    in the sales order, use the same item number for
    populating conditions.
      Parameters required:
    ORDER_CONDITIONS_IN:
      ITM_NUMBER, COND_TYPE, COND_VALUE, CURRENCY
    ORDER_CONDITIONS_INX:
      ITM_NUMBER, COND_TYPE, UPDATEFLAG, COND_VALUE,CURRENCY.
       Hope the above info helps you. Do revert back if you
    need more info.
    Kind Regards
    Eswar

Maybe you are looking for

  • How to set a different smtp in and out on the same server

    Hello, I got an xserve on 10.5.6 and the ethernet ports are connected to two differents networks. One is on the local network (192.168.0.5) and the other on a wan. The lan is on ADSL box that is also the router. I would like to receive my email from

  • Client showing it doesn't have client installed, but it does

    I have clients out at a secondary site that I've done a push install to.  when I do a push install to the client I can see the server create the request and pass it on to the client, the client then receives the request and in the log files I see it

  • [solved] rt2870 problems

    I have Arch installed (as a dual boot with Mandriva). I installed from the 2009/8 iso. I have a wireless LAN with a static IP - I connect to my network with dhcp in Mandriva; I've set up rc.conf on that basis. I follow the beginners guide both in Liv

  • Where is the Apps 11i adpater software for Solaris ?

    Hi, I installed interconnect 10g on Solaris for testing. In the CD, I can install the adapters for MQ, DQ, AQ, SMTP and some others. But, I can't finf any trace of the software adapter for the Apps 11i ? Someone can help me to find it for Solaris ? T

  • Edit photo in RAW format

    Can I edit a raw format photo in iphoto? If so, how do you import it? I tried and said it is unrecognizable. I just learned about this format that is great to edit, but not sure how to do it. Thanks Jeff