Customize P4310

Kenny Lau

JDE 9.1
Tools Release 9.1.4

I realized that there are a couple of new fields in F4311 and my users want to have them enabled in P4310 order details. I've modified Business View v4311B and W4310A accordingly. However, whatever value I enter into the new columns, the data cannot be saved. Would any expert help me on this??

Columns added:
You would have to modify the BSFN "F4311 Edit Line" to accept and update these values.

Do you mean XT4311Z1?
I just had a look and it looks complex... would there be any sample modified code?
Please make sure that you have picked those columns from Business view browser rather than DD browser.
I thought they were already in included in the master BSFN.
Check the calls to XT4311Z1 from P4310 and make sure you have added the new data in there.
Not all those fields are available to you in the F4311 Edit Line. VR04 for no matter what you do you will never update the F4311

DSTR D4302470B uses VR04 but it doesn't look like it does much in B4302470 sadly

F4211 suffers the same fate but some nice person at Oracle created F4211PostEditLine with the URRF etc fields. So lots use that to update F4211, but again that too is limited in fields.

You can get the basic idea of how that BSFN is used in P4210 and try and create your own for the F4311


You you could look up your F4311 End doc and then loop through the grid updating the actual F4311 database, not the cache.

Messy whichever way you go
Hi Kenny,

If you are adding these columns on header level then you need to map these columns in "4311 begin Doc" or if you are adding these columns at grid level then you need to map them at "4311 Edit line" BSFN. for any update, insert operation these new variables has to be mapped to XT4311Z1 accordingly. There is no other way out.
If End doc is using all the values from cache, then just adding fields in the Edit line structure will not help. You will have to add & pass them upto end. And Oracle wont help saying its custom modification.
There is a simpler way to do this other than using BSFN. I personally would prefer to modify Edit Line, but if you are not comfortable with BSFNs or if you are in hurry to do this development then you can write a simple update statement for new fields in post commit event. Post Commit event is a form event that gets executed after the transaction processing is completed which means by that time records will be inserted in F4311 or will be rolled back.

Follow below steps to update custom/ new fields in F4311.


Create a work file to store new fields you want to update in F4311 along withe F4311 keys. Better to use some unique key fields to differentiate multiple parallel transactions.

Code that goes in Post OK button clicked :

Loop through the grid and insert records in the custom file along with all five keys of F4311 just below end doc. Inserting records into custom file in this event makes sure that they are error free.

Code that goes in Post Commit event :

If SV TP Commit_Status is equal to ACTION_SUCCESS

1. Read custom file that was populated earlier
2. Update F4311

End If

Let me know if you have any difficulties in developing this.
Hi everyone,

I'm having some problems with the same P4310. I don't know why the grid isn't showing up. On the F4311 detail table I've got 7 records. When I check on P4310 the grid doesn't appear. If I delete the number 6 line on F4311 , then shows the grid. Has anyone ever had some similar problem?

The grid looks like:


Thank you
Hi Kenny Lau,

I think the best solution is Lucky.2811 propose because probably "F4311 Edit Line" hasn't all fields. You create a custom table with F4311 PK, you insert rows on this table with new fields and next in post commit event if the transaction is success loop your table and update F4311. Finally, delete all rows by PK.

For if anyone is interested. THe grid wasn't showing up because there was an extrange character at the end of description field on database I remove it and works fine.