Skip to Content
Author's profile photo Sridhar Jayavarapu

Creation Of Collective Purchase Order

In the retail Business process Collective Purchasing documents are used to combine the Store requirements supplied by their Distribution Centres.

WF10 Transaction is used to create Collective Purchase Order.

Process Flow :

screen 2.JPG

The Process One Collective Purchase Order will be  created from multiple Store Stock Transport Orders .One STO can be linked to Multiple Purchase Orders as this POs are created based on Article Source of Supply.Any qty changes in Collective Purchase Orders can not be updated in their corresponding Store STOs.Also If we delete any Collective Purchase Order line item ,the changes are not reflected in Store Orders . This process is used for Cross-docking process ,flow-through and putaway .

Table FRET is used to see link between Collective and its Corresponding Store Stock Transport Orders Orders

Following Checks are required to create Collective Purchase order.

1.Partial Deliveries should be allowed to the receiving Stores.If you don’t allow then the STOS are ignored by WF10 transaction .

Screen 1.JPG

2. Article Source of supply should be free from Deletion /Block

3.Receiving document items free from special stock .

Useful Badi :  WFRM_DET_ORDER_TYPE is used to switch standard Purchase Order  document type to  Custom Purchasing  document  type.

Stock Transport Order 1 :

DC :VZ01

Store : M001

screen 3.JPG

Stock Transport Order 2 :

DC :VZ01

Store :M002

screen 4.JPG

Collective PO generation  :

Transaction WF10

Enter the DC as shown below then execute

screen 5.JPG

screen 6.JPG

On selection Worklist Icon program generates Collective Purchase Order :

screen 7.JPG

Purchase Order


FRET Table Entry : PO and STO relationship

screen 9.JPG

I hope this document is useful for others to know Collective Purchase Order Process .

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Thanks a lot, MM guy trying to post WF10 processes. Worked like a charm.

      Author's profile photo Former Member
      Former Member

      Hi, experts. I am ABAP developer.

      Let me describe my situation:

      I have a proposal to create new z-transaction, for example ( zwf10 ) . I am using BAdi WFRM_DET_ORDER_TYPE to switch  between CPO types NBIV and ZNBV.

      Now my problem is to separate  PO's with type ZUBV into CPO of type ZNBV, and others into NBIV.

      There is a BAdi WFRM_X_OTB_DETERMINE_E but it actualy doesn't work because they are passing dummy parameter in form ekpo_check (lv_dummy_ekpo) which then goes to parameter IM_EKPO of method DETERMINE_PO_ITEMS_CPO , so this method actually cannot detemine anything with the help of its parameters. Maybe i have to read global area like this ( assign '(SAPLWFR3)<g_select_ekko>' ) ?

      Author's profile photo Former Member
      Former Member

      Hello. Thank u for the article, very usefull.

      We used it, but found a bug, sometimes articles dont not get into list when we choose vendor on the scree. After 5 min or soeverything comes to normal. Next time - other articles (2-3) are not on the list. We cannot determing source of the problem. Noone changes inforecord at that time.

      What that could be?


      Author's profile photo Vishal Chaurasia
      Vishal Chaurasia

      Very Nice work. Greatly Appreciated.

      Author's profile photo Star IT
      Star IT

      Hello Everyone, 

      I am trying to use the Colletive Purchase Order, but a found the follow gap in my proccess.


      When I execute WF10 to create Colletive PO, the system create the Purchase Order with price from InfoRecord.

      Is it possible to create the Colletive PO with referente an Contract (WK Type)???


      Thanks a lot,


      Author's profile photo Victor Augusto Soto Chavez
      Victor Augusto Soto Chavez

      Hi guys,


      When I run WF10 System is not selecting any documents.


      WB02 Parameters.


      Thiis is STO 1.




      This is STO 2.




      I follow all steps in the documentation shared here