Working With Open Order Quantities In Procurement

 

Written by Jeff Geiger

WITHIN PEOPLESOFT ENTERPRISE ONE (FORMERLY J.D. EDWARDS ONEWORLD XE), PROCUREMENT CAN BE CONFIGURED TO WRITE OPEN ORDER AMOUNTS TO THE F41021 — ITEM LOCATION TABLE TO SHOW HOW MUCH OF A PARTICULAR ITEM IS ON ORDER FOR A LOCATION FOR USERS TO LOOK UP. This can be controlled right down to the lot, however, we will not be covering that level of detail in this article.

For simplicity’s sake, we will be covering on order amounts (Alias PREQ) and other amount (OT1A) by item and branch plant. This is all standard information that any distribution expert will know. In this article, I will present the incongruence between the writing of the on order amounts and the method of rebuilding PREQ with the repost program and a way to address the issue if your business needs real-time accuracy.

Standard PeopleSoft EnterpriseOne

To view how many of a particular item are on order, you must merely go to the P41202 — Summary (or Detail) Availability and fi­nd an item. In the grid, once you click on Find, you will see a value in the “On PO ” (PREQ) column for every item and location within each branch plant that has a quantity on order. You may also notice the “On PO Other 1 ” (OT1A) column in the grid right next to the On PO Column.

To manipulate which bucket (PREQ or OT1A) the open order quantity goes into at purchase order entry, merely set the processing option on the P4310 — Purchase Orders program related to it. The processing option number 4, “Quantity Update ” on the interfaces tab for P4310 controls this. If the value is 1, the value will be added to the OT1A ­eld. If the value is blank, it will be added to the PREQ ­eld.

The Problem

A problem exists here when you want to enter Purchase Order lines with the same version that go to two different buckets. For example, if one line is a non-inventoried item and the other is an inventoried item, you would need to enter each line with separate versions if you want them to hit the right buckets.

The other side of the problem is when you run the job, R43990 — Repost Open Order Quantities, you will run into the fact that the amounts post to the buckets according to the inventory interface ag in the line type set up application, P40205. This means that when you enter lines, they will post to one bucket, then could get reset into another once you run the repost job.

This is, in my opinion, a aw in the design of the Purchasing system. To my knowledge, there is no available “ ­x” to this. To get by this and make them act the same, you can make some minor changes to order entry. Of course, you ’ll have to thoroughly test any change in your environment to make sure that it works properly for all scenarios.

One Solution

One possible ­x lies in the business function XT4311Z1 — Purchase Order Entry and can be controlled by line type constants just as the R43990 batch application is. Below, you will ­find the pseudocode that needs to be programmed into the C Code.

Find the line of code where the application updates inventory under the subfunction of XT4311Z1: UpdateF41021PrimaryLocationQty (this is right in the beginning of the subfunction. The following is Xe source code from the C Business function XT4311Z1 as delivered with your installation and is property of PeopleSoft (formerly J.D. Edwards).

Find this standard code:

if ( dsF4311Detail->pdotqy == ‘1’)

{

strcpy((char *)(dsIntVariablesEndDoc>INT_szQuantityColumn),

(const char *)( “OT1A ”));

}

else

{

strcpy((char *)(dsIntVariablesEndDoc->INT_szQuantityColumn),

(const char *)( “ PREQ ”));

}

Create a call to B4000260 - F40205 Get Line Type Constants to fetch the Inventory Interface value for the line type of the current line.

If the value of the Inventory Interface ag = Y, make the following call happen (note this is just pseudo code):

If Inventory Interface Flag = Y

strcpy((char *)(dsIntVariablesEndDoc->INT_szQuantityColumn),

(const char *)( “ PREQ ”));

else

strcpy((char *)(dsIntVariablesEndDoc->INT_szQuantityColumn),

(const char *)( “OT1A ”));

endif

Technically, this is not a dicult change, but you will need to have a C programmer or someone familiar with programming in C within the PeopleSoft (J.D. Edwards) toolset make this change, build it and help test it.

Conclusion

If it is necessary that your PREQ value is correct and you use a version of the P4310 to enter both inventoried and non-inventoried items, you may either choose to make the change identified here or run the R43990 — Repost Open Order Quantities on a regular basis (make sure you have the most up to date code for this UBE as I have found issues with pre Update 5 code). It all depends on the needs of your business and how “real time ” you want the correct data to be.

Jordan Geiger