Expedite existing orders in MRP

Customer would like to expedite or defer existing purchase or production orders in MRP prior to considering new recommended orders.  We can not find support for this within the MRP wizard.  Is there something that we have overlooked or is there a known work around to provides this functionality?
Thank you

Dear Mr Hardt,
As far as I know this option is not implemented in the MRP.
I can suggest to have a look at the presentation of the software Valogix that integrates with the MRP.
You can go to the link of the Calendar for the Empowerment Sessions:
https://psd.sap-ag.de/PEC/calendar/
Then write MRP in the search field and change the start date to 01.01.2005.
There are 2 power point presentations.
Regards,
Marcella Rivi
SAP Business One Forums Team

Similar Messages

  • Creation of production order while mrp run

    hi
    ppgurus
    can any body explain how to create a production order by mrp run
    ie
    sysytem should create the production order directly while mrp run not PLANNED ORDERS
    what settings i need to do for  this plz explain
    urgent requirement
    regards
    sasikanth

    HI
    you gave a good way to solve the problem
    if it is a make to stock REM
    i  need not convert planned order to production oreder right
    plz suggest in  that scenario where i need to  do availability check
    in REM for which oder type (say PE IS STANDARD)
    to be assigned for availability  check
    plz suggest because in spro (t -code opjk) at order controll
    i dint see the order type PE
    the order controll (opjk) in discreet  :- avialability checking rule assigns
    in which setting this setting to be done in REM

  • Creation of purchase order in MRP

    Hi All,
    Is it possible to create purchase order as an output of MRP? If yes, then how?
    regards,
    Mohit

    Hi Mohit,
    SAP has not provided such facility of directly creating the Purchase Order in MRP run, intentionally, so as to
    1. Provide an Authorization Level over the P.O. creation
    2. Provide a chance to change the Planned order or Purchase requizition before PO creation
    3. As this is a procurement proposal that is directly linked with the vendor, quantity and Price, it has to   be created very carefully.
    I hope you got it.
    with regards,
    gnk

  • Adding a bundled item to an existing order?

    I have a question, I purchased a Sony A77 mkii camera about a month ago and noticed you can bundle it with the Sony 55-300mm lens for $1299 which saves $100 over purchasing it separately.
    If I decided I wanted this lens, is there anyway I can obtain this lens for the bundle price or will I have to return the camera and then reorder the items to obtain them at the bundle price?
    I am within my 45 day return period.
    No stores in my area stock the camera or lens, so doing it in store is not a option.

    Hi again bwigg,
    I wish I had better news for you, but we aren't able to add or substitute items on existing orders. If you're interested in the current A77 + 55-300mm lens bundle, then you will need to return your original order and place a new one. Please note that bundle offers are not eligible for price matching though, so our post-purchase support team would not be able to provide an alternative solution in this situation as JacobsLive suggested.
    I hope you're enjoying the camera so far!
    Aaron|Social Media Specialist | Best Buy® Corporate
     Private Message

  • Standard Purchase order from MRP

    Hi
    I am trying to create standard purchase order from MRP using quotation, asl,sourcing rule ,assigement sets, but it is only going upto Requisition.For the same item if i run the min-max planning it does generate Req as well as standard PO.
    Am i correct that i can create standard po by using Quotation etc ?? if so what is wrong with setup ??
    Thanks
    Anshuj

    Sorry for posting. works fine.
    anshuj

  • MRP Type V1 does not consider Ext. req. Sales Order after MRP run

    Hi Buddies
    My client wants to use MRP Type V1 which should consider re-order point as well as external requirement (i.e. Sales Order) for net requirement calculation.However when i tried using V1 in material master and ran MD03 it only considered re-order point  and ignored Sales Order.Sales Order didnt even reflect in MD04.Moreover in OMDQ for V1 under additional ext req there is no Sales Order for selection.
    Please reply how i can have ext req sales order for MRP Type V1.
    Regards,
    Sachin Narvekar

    Hi
    MRP Type V1 creats the requirement when the need exceeds the Reorder Point, where as the MRP type VB creats the requirement when the stock qty goes below the reorder point.
    Regards

  • Sales order to MRP Run

    Hi friends
    How to configure MRP run for sales orders.
    Thanks in Advance
    Rheya

    Hi
    In order configure MRP for sales orders, check on Transfer of Reqirments on the net or check for the same in Gylence book for Sales and distribution
    Few settings for the same are as follows
    In t code OVZI
    img-sd-basic functions-availablity check and transfer of requirements-transfer of requirements--determination of requirements types using transaction
    In this img activity we assign requirement type to the combination of item category and MRP type
    I hope this is what you are looking for
    In t code OVZI if you go the details you should give the source as 1
    Then only it will pick up
    This is the pick up strategy
    In t code OVZI requirements types are assigned to item category and mrp types
    In t code OVZH requirements types are assigned to requirement class
    In OVZG we define the controls for requirement class

  • Regading deletion of existing order for customer

    hi friends
    i nedd to delete existing order for particular customer when creating new order for that customer by useing API. how to delete order by useing API and one more thing how to do i mean which parameter or procedure useing for that
    thanks
    cahndra sekhart

    Please be more clear about what you're trying: tools used, statements, examples, ...
    I suspect this is no issue with the SQL Developer tool. If it's pure SQL, please post these questions under the dedicated SQL And PL/SQL forum.
    Regards,
    K.

  • Raising Partial Production and purchase order from MRP.?

    Hi Experts,
    How to raise partial production order and purchase order from MRP..
    Karthik

    Karthi,
    I believe you should go through both of these topics relating to Production Orders and MRP.
    https://websmp105.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700000321882005E&_SCENARIO=01100035870000000183&_ADDINC=
    https://websmp105.sap-ag.de/~form/sapnet?_FRAME=CONTAINER&_OBJECT=011000358700001061692007E&_SCENARIO=01100035870000000183&_ADDINC=
    Best wishes
    Suda

  • Availability Check Changed on the Material Master Update Existing Orders

    I need to know if there is a way to update existing orders once changes have been made to the material.  Currently the only way that I know of is to go into individual orders change the plant save then change it back to the original plant on the order then the changes take effect.  How can I achieve this without touching every order individually.  Is there something to mass update existing orders to take a new snapshot of the material master settings for a material.

    Try with t.code VA05 - Open sales order list.
    Execute this list. In the output, sort the data by plant. Then go to menu Edit -> mass change -> new plant. Change the plant for group of sales orders that have similar plants. Then again do the same thing to bring the previous plant in the sales orders.
    This can help reduce the time instead of going one by one.
    Regards,

  • Block the order from MRP

    Hi Guru
    We currently have credit blocks on a sales order - they are either a block 25 or a CR block.
    But neither block actually blocks the order from MRP - we can still buy parts and manufacture.
    Can you provide us with a block that we can use on orders that will stop them from processing until it is removed.
    Thanks
    Suresh
    Edited by: sureshsdconsult on Dec 8, 2011 7:01 AM

    Hi Suresh,
    Here i have one doubt is "25" means
    U can use credit block in sales order,  either warning msg or error msg.
    If u choice warning msg system show how much credit exceed only.
    If u choice error msg, order can't process.

  • Need help in improving performance of prorating quantities to stores for existing orders

    I have a code written to allocate quantities to stores for an existing order. Suppose there is a supplier order with quantity of 100 and this needs to distributed among 4 stores which has a demand of 50,40,30 and 20. Since total demand not equal to available quantity. the available quantity needs to be allocated to stores using an algorithm.
    ALgorithm is like allocating the stores in small pieces of innersize. Innersize is nothing but
    quantity within the pack of packs i.e. pack has 4 pieces and each pieces internally has 10 pieces,
    this 10 is called innersize.
    While allocating, each store is provided quantities of innersize first and this looping continues
    until available quantity is over
    Ex:
    store1=10
    store2=10
    store3=10
    store4=10
    second time:
    store1=10(old)+10
    store2=10(old)+10
    store3=10(old)+10
    store4=10(old)+10--demand fulfilled
    third time
    store1=20(old)+10
    store2=20(old)+10
    -- available quantity is over and hence stopped.
    My code below-
    =================================================
    int prorate_allocation()
      char *function = "prorate_allocation";
      long t_cnt_st;
      int t_innersize;
      int   t_qty_ordered;
      int t_cnt_lp;
      bool t_complete;
      sql_cursor alloc_cursor;
      EXEC SQL DECLARE c_order CURSOR FOR -- cursor to get orders, item in that, inner size and available qty.
      SELECT oh.order_no,
      ol.item,
      isc.inner_pack_size,
      ol.qty_ordered
      FROM ABRL_ALC_CHG_TEMP_ORDHEAD oh,
      ordloc ol,
      item_supp_country isc
      WHERE oh.order_no=ol.order_no
      AND oh.supplier=isc.supplier
      and ol.item=isc.item
      AND     EXISTS (SELECT 1 FROM abrl_alc_chg_details aacd WHERE oh.order_no=aacd.order_no)
            AND     ol.qty_ordered>0;
      char   v_order_no[10];
      char v_item[25];
      double v_innersize;
      char   v_qty_ordered[12];
      char v_alloc_no[11];
      char v_location[10];
      char v_qty_allocated[12];
      int *store_quantities;
      bool *store_processed_flag;
      EXEC SQL OPEN c_order;
      if (SQL_ERROR_FOUND)
      sprintf(err_data,"CURSOR OPEN: cursor=c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL ALLOCATE :alloc_cursor;
      while(1)
      EXEC SQL FETCH c_order INTO :v_order_no,
      :v_item,
      :v_innersize,
      :v_qty_ordered;
      if (SQL_ERROR_FOUND)
      sprintf(err_data,"CURSOR FETCH: cursor=c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      if (NO_DATA_FOUND) break;
      t_qty_ordered     =atoi(v_qty_ordered);
      t_innersize =(int)v_innersize;
      t_cnt_lp         = t_qty_ordered/t_innersize;
      t_complete =FALSE;
      EXEC SQL SELECT COUNT(*) INTO :t_cnt_st
      FROM abrl_alc_chg_ad ad,
      alloc_header ah
      WHERE ah.alloc_no=ad.alloc_no
      AND   ah.order_no=:v_order_no
      AND   ah.item=:v_item
      AND   ad.qty_allocated!=0;
      if SQL_ERROR_FOUND
                sprintf(err_data,"SELECT: ALLOC_DETAIL, count = %s\n",t_cnt_st);
                strcpy(table,"ALLOC_DETAIL");
                WRITE_ERROR(SQLCODE,function,table,err_data);
                return(-1);
      if (t_cnt_st>0)
      store_quantities=(int *) calloc(t_cnt_st,sizeof(int));
      store_processed_flag=(bool *) calloc(t_cnt_st,sizeof(bool));
      EXEC SQL EXECUTE
      BEGIN
      OPEN :alloc_cursor FOR SELECT ad.alloc_no,
      ad.to_loc,
      ad.qty_allocated
      FROM    alloc_header ah,
      abrl_alc_chg_ad ad
      WHERE   ah.alloc_no=ad.alloc_no
      AND     ah.item=:v_item
      AND     ah.order_no=:v_order_no
      order by ad.qty_allocated desc;
      END;
      END-EXEC;
      while (t_cnt_lp>0)
      EXEC SQL WHENEVER NOT FOUND DO break;
      for(int i=0;i<t_cnt_st;i++)
      EXEC SQL FETCH :alloc_cursor INTO :v_alloc_no,
      :v_location,
      :v_qty_allocated;
      if (store_quantities[i]!=(int)v_qty_allocated)
      store_quantities[i]=store_quantities[i]+t_innersize;
      t_cnt_lp--;
      if (t_cnt_lp==0)
      EXEC SQL CLOSE :alloc_cursor;
      break;
      else
      if(store_processed_flag[i]==FALSE)
      store_processed_flag[i]=TRUE;
      t_cnt_st--;
      if (t_cnt_st==0)
      t_complete=TRUE;
      break;
      if (t_complete==TRUE && t_cnt_lp!=0)
      for (int i=0;i<t_cnt_st;i++)
      store_quantities[i]=store_quantities[i]+v_innersize;
      t_cnt_lp--;
      if (t_cnt_lp==0)
      EXEC SQL CLOSE :alloc_cursor;
      break;
      }/*END OF WHILE*/
      EXEC SQL EXECUTE
      BEGIN
      OPEN :alloc_cursor FOR SELECT ad.alloc_no,
      ad.to_loc,
      ad.qty_allocated
      FROM    alloc_header ah,
      abrl_alc_chg_ad ad
      WHERE   ah.alloc_no=ad.alloc_no
      AND     ah.item=:v_item
      AND     ah.order_no=:v_order_no
      order by ad.qty_allocated desc;
      END;
      END-EXEC;
      EXEC SQL WHENEVER NOT FOUND DO break;
      for (int i=0;i<t_cnt_st;i++)
      EXEC SQL FETCH :alloc_cursor INTO :v_alloc_no,
      :v_location,
      :v_qty_allocated;
      EXEC SQL UPDATE abrl_alc_chg_ad
      SET qty_allocated=:store_quantities[i]
      WHERE to_loc=:v_location
      AND   alloc_no=:v_alloc_no;
      if SQL_ERROR_FOUND
      sprintf(err_data,"UPDATE: ALLOC_DETAIL, location = %s , alloc_no =%s\n", v_location,v_alloc_no);
      strcpy(table,"ALLOC_DETAIL");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL UPDATE ABRL_ALC_CHG_DETAILS
      SET PROCESSED='Y'
      WHERE LOCATION=:v_location
      AND   alloc_no=:v_alloc_no
      AND PROCESSED IN ('E','U');
      if SQL_ERROR_FOUND
      sprintf(err_data,"UPDATE: ABRL_ALC_CHG_DETAILS, location = %s , alloc_no =%s\n", v_location,v_alloc_no);
      strcpy(table,"ABRL_ALC_CHG_DETAILS");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL COMMIT;
      EXEC SQL CLOSE :alloc_cursor;
      free(store_quantities);
      free(store_processed_flag);
      }/*END OF IF*/
      }/*END OF OUTER WHILE LOOP*/
      EXEC SQL CLOSE c_order;
      if SQL_ERROR_FOUND
      sprintf(err_data,"CURSOR CLOSE: cursor = c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
    return(0);
    } /* end prorate_allocation*/

    I have a code written to allocate quantities to stores for an existing order. Suppose there is a supplier order with quantity of 100 and this needs to distributed among 4 stores which has a demand of 50,40,30 and 20. Since total demand not equal to available quantity. the available quantity needs to be allocated to stores using an algorithm.
    ALgorithm is like allocating the stores in small pieces of innersize. Innersize is nothing but
    quantity within the pack of packs i.e. pack has 4 pieces and each pieces internally has 10 pieces,
    this 10 is called innersize.
    While allocating, each store is provided quantities of innersize first and this looping continues
    until available quantity is over
    Ex:
    store1=10
    store2=10
    store3=10
    store4=10
    second time:
    store1=10(old)+10
    store2=10(old)+10
    store3=10(old)+10
    store4=10(old)+10--demand fulfilled
    third time
    store1=20(old)+10
    store2=20(old)+10
    -- available quantity is over and hence stopped.
    My code below-
    =================================================
    int prorate_allocation()
      char *function = "prorate_allocation";
      long t_cnt_st;
      int t_innersize;
      int   t_qty_ordered;
      int t_cnt_lp;
      bool t_complete;
      sql_cursor alloc_cursor;
      EXEC SQL DECLARE c_order CURSOR FOR -- cursor to get orders, item in that, inner size and available qty.
      SELECT oh.order_no,
      ol.item,
      isc.inner_pack_size,
      ol.qty_ordered
      FROM ABRL_ALC_CHG_TEMP_ORDHEAD oh,
      ordloc ol,
      item_supp_country isc
      WHERE oh.order_no=ol.order_no
      AND oh.supplier=isc.supplier
      and ol.item=isc.item
      AND     EXISTS (SELECT 1 FROM abrl_alc_chg_details aacd WHERE oh.order_no=aacd.order_no)
            AND     ol.qty_ordered>0;
      char   v_order_no[10];
      char v_item[25];
      double v_innersize;
      char   v_qty_ordered[12];
      char v_alloc_no[11];
      char v_location[10];
      char v_qty_allocated[12];
      int *store_quantities;
      bool *store_processed_flag;
      EXEC SQL OPEN c_order;
      if (SQL_ERROR_FOUND)
      sprintf(err_data,"CURSOR OPEN: cursor=c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL ALLOCATE :alloc_cursor;
      while(1)
      EXEC SQL FETCH c_order INTO :v_order_no,
      :v_item,
      :v_innersize,
      :v_qty_ordered;
      if (SQL_ERROR_FOUND)
      sprintf(err_data,"CURSOR FETCH: cursor=c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      if (NO_DATA_FOUND) break;
      t_qty_ordered     =atoi(v_qty_ordered);
      t_innersize =(int)v_innersize;
      t_cnt_lp         = t_qty_ordered/t_innersize;
      t_complete =FALSE;
      EXEC SQL SELECT COUNT(*) INTO :t_cnt_st
      FROM abrl_alc_chg_ad ad,
      alloc_header ah
      WHERE ah.alloc_no=ad.alloc_no
      AND   ah.order_no=:v_order_no
      AND   ah.item=:v_item
      AND   ad.qty_allocated!=0;
      if SQL_ERROR_FOUND
                sprintf(err_data,"SELECT: ALLOC_DETAIL, count = %s\n",t_cnt_st);
                strcpy(table,"ALLOC_DETAIL");
                WRITE_ERROR(SQLCODE,function,table,err_data);
                return(-1);
      if (t_cnt_st>0)
      store_quantities=(int *) calloc(t_cnt_st,sizeof(int));
      store_processed_flag=(bool *) calloc(t_cnt_st,sizeof(bool));
      EXEC SQL EXECUTE
      BEGIN
      OPEN :alloc_cursor FOR SELECT ad.alloc_no,
      ad.to_loc,
      ad.qty_allocated
      FROM    alloc_header ah,
      abrl_alc_chg_ad ad
      WHERE   ah.alloc_no=ad.alloc_no
      AND     ah.item=:v_item
      AND     ah.order_no=:v_order_no
      order by ad.qty_allocated desc;
      END;
      END-EXEC;
      while (t_cnt_lp>0)
      EXEC SQL WHENEVER NOT FOUND DO break;
      for(int i=0;i<t_cnt_st;i++)
      EXEC SQL FETCH :alloc_cursor INTO :v_alloc_no,
      :v_location,
      :v_qty_allocated;
      if (store_quantities[i]!=(int)v_qty_allocated)
      store_quantities[i]=store_quantities[i]+t_innersize;
      t_cnt_lp--;
      if (t_cnt_lp==0)
      EXEC SQL CLOSE :alloc_cursor;
      break;
      else
      if(store_processed_flag[i]==FALSE)
      store_processed_flag[i]=TRUE;
      t_cnt_st--;
      if (t_cnt_st==0)
      t_complete=TRUE;
      break;
      if (t_complete==TRUE && t_cnt_lp!=0)
      for (int i=0;i<t_cnt_st;i++)
      store_quantities[i]=store_quantities[i]+v_innersize;
      t_cnt_lp--;
      if (t_cnt_lp==0)
      EXEC SQL CLOSE :alloc_cursor;
      break;
      }/*END OF WHILE*/
      EXEC SQL EXECUTE
      BEGIN
      OPEN :alloc_cursor FOR SELECT ad.alloc_no,
      ad.to_loc,
      ad.qty_allocated
      FROM    alloc_header ah,
      abrl_alc_chg_ad ad
      WHERE   ah.alloc_no=ad.alloc_no
      AND     ah.item=:v_item
      AND     ah.order_no=:v_order_no
      order by ad.qty_allocated desc;
      END;
      END-EXEC;
      EXEC SQL WHENEVER NOT FOUND DO break;
      for (int i=0;i<t_cnt_st;i++)
      EXEC SQL FETCH :alloc_cursor INTO :v_alloc_no,
      :v_location,
      :v_qty_allocated;
      EXEC SQL UPDATE abrl_alc_chg_ad
      SET qty_allocated=:store_quantities[i]
      WHERE to_loc=:v_location
      AND   alloc_no=:v_alloc_no;
      if SQL_ERROR_FOUND
      sprintf(err_data,"UPDATE: ALLOC_DETAIL, location = %s , alloc_no =%s\n", v_location,v_alloc_no);
      strcpy(table,"ALLOC_DETAIL");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL UPDATE ABRL_ALC_CHG_DETAILS
      SET PROCESSED='Y'
      WHERE LOCATION=:v_location
      AND   alloc_no=:v_alloc_no
      AND PROCESSED IN ('E','U');
      if SQL_ERROR_FOUND
      sprintf(err_data,"UPDATE: ABRL_ALC_CHG_DETAILS, location = %s , alloc_no =%s\n", v_location,v_alloc_no);
      strcpy(table,"ABRL_ALC_CHG_DETAILS");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
      EXEC SQL COMMIT;
      EXEC SQL CLOSE :alloc_cursor;
      free(store_quantities);
      free(store_processed_flag);
      }/*END OF IF*/
      }/*END OF OUTER WHILE LOOP*/
      EXEC SQL CLOSE c_order;
      if SQL_ERROR_FOUND
      sprintf(err_data,"CURSOR CLOSE: cursor = c_order");
      strcpy(table,"ORDHEAD, ORDLOC, ITEM_SUPP_COUNTRY");
      WRITE_ERROR(SQLCODE,function,table,err_data);
      return(-1);
    return(0);
    } /* end prorate_allocation*/

  • Problem with scheduling planned orders in MRP

    There is a problem with scheduling planned orders in MRP. SFG is assigned to the BOM of FG. No inhouse production time maintained in the material master of SFG & FG. routing maintained for both . In OPU5 scheduling & capacity reuiremnts tickmarked for detailed scheduling. Scheduling level - via detaied scheduling. Scheduling type - backward. Adjust basic dates , adjust dep. req. to order start set. In MD02 , scheduling is via ' lead time scheduling'.
    My problem is the start date & time & finish date & time is same for planned orders of FG & SFG in the detailed scheduling tab of the planned orders. (Duration is same because of same capacity requirements on the same work centre. But how is the finish date same for both SFG & FG?)
    (Capacity requirements are being generated.)
    What could be the problem ?

    Dear,
    By scheduling the routing and maintain lot size dependent time in material is best practice and result of scheduling will be consistent.
    If you want SFG before FG you need to define lead time offset in BOM or need to maintain the floats before production.
    Hope clear to you.
    Regards,
    R.Brahmankar

  • I ordered iphone 6 on 15 oct and delivery date will be from 3 nov-6nov. i'll travel on 7 nov morning, am worried to receive the order late.. can you please expedite the order?

    i ordered iphone 6 on 15 oct and delivery date will be from 3 nov-6nov. i'll travel on 7 nov morning, am worried to receive the order late.. can you please expedite the order?

    No. Because we are not Apple employees. In fact there is no one from Apple in this forum. Contact Apple directly via phone. Use the "Contact Us" link at the bottom of this page to find the phone listing.

  • Create Idoc which refers to an existing order

    Hello,
    which segment has to be filled in the orders05 Idoc, to create an order Idoc, which refers to an existing order. I mean, if you press F8 in va01...
    I have the VBELN / sap-order-id of the existing order.
    Thanks a lot,
    Phil

    Hi,
    The new sales document number gets populate in <b>E1EDK01-BEL</b>NR.
    The existing order ( reference order ) gets populated in <b>E1EDK02-BELNR.</b>
    In E1EDK02, there are different qualifier for different referece doc type. They are
    '001' Customer purchase order                                  
    '002' Vendor order                                             
    '003' Customer inquiry                                         
    '004' Vendor quotation                                         
    '005' Customer contract number                                 
    '006' Vendor contract number                                   
    '007' Collective number for quotations                         
    '008' Last purchase order number (SPEC2000 Acknowl.)           
    '009' Invoice number                                           
    '010' Internal number (document)                               
    '011' Referenced document number                               
    '012' Delivery number                                          
    '013' Internal PO number                                       
    '014' Accounting document                                      
    '015' Billing document number used by presenter of invoice     
    and many more.
    Go to transaction<b> WE60</b>, enter obj name = 'ORDERS05' and hit 'F8. It will display IDOC hierarchy. Look at the structure of segments E1EDK01, E!EDK02 and all other segments. You will have better idea.
    Let me know if you need any other information.
    Regards,
    RS

Maybe you are looking for