Sales Order Application P4210 - needs to add two new fields in Header

Bally_BK

Well Known Member
My client has requested to do Modification in Application P4210 Sales Order Entry, they want to add two additional fields -URAB (User Reserved Number) , URRF (User Reserved Reference) in Sales Order header form W4210G and this data will be saved in the both Header & Detail Tables. User would be enter only in Header form and value should be get populated in Grid of sales order detail form and get inserted into both tables F4201 and F4211

What i did for inserting the above values in both the tables - F4201 and F4211

I add two data structure to the form Sales Order Detail Revisions -W4210A .

Data structure :

1.User Reserved Number and 2. User Reserved Reference.

In Sales order Header form , In OK button , passed the parameter for above values in Business function : B4200310.
After clicking OK of Sales order header form -Calling Sales order Detail form.

the above values are get displayed in Grid by assigning FI values.

There is no reference parameters In Edit line business function.

In Ok Button of Sales order Detail form - In button event, wrote Table I/O -Update statement for updating above two fields then also not updating same in the F4211 table.

Note : The values are getting inserted into F4201 but not in F4211.

How do i insert in to F4211 table...Any inputs is highly appriciated.


Thanks in Advance

Bally
 
Hi Bally,

Just shortly, because I am a bit busy.
Update in the Post Button Clicked of OK, after EndDocument master BSFN.

Scenario A:
Remove all Asynch settings from previous BSFN calls
Open F4211 with Include Transdaction before updates and close F4211 after updates

Scenario B:
Place your F4211 updates into a BSFN and call it with Asynch and Include Transaction options.

Regards,

Zoltán
 
Scenario C (what we did... sort of an FYI):

This really depends on how comfortable you are with C, jde Cache and modifying B4200310.

There is a JDE BSFN F4211FSEditLinePreProcess that can be called to pass in and save the user reserved fields in the F4211. HOWEVER, depending on which version of JDE you are on (we are on Xe) there IS a BUG which can wipe out the SRP codes... basically makes it useless.

So what I did was to create my own custom cache stucts.. basically tag structs to the F42UI01 and F42UI11/F42UI12 cache and then modified B4200310 to pick up the values out of these custom cache structs during EndDoc... basically doing the work that F4211FSEditLinePreProcess was supposed to do.

The advantages to this approach:
EndDoc can still be called Asyncronuously

Less Table I/O (only an insert, not an insert and then an immediate update).

The Sales Ledger (F42199) is automatically written to with these values (you will have to do table IO against this table as well if you wait for EndDoc to write the record and then update it).

Other applications that call the SOE MBF can implement the mod (write to the custom cache).
 
HI Bally,

Start with a suggestion,
First of all, Please dont update anything in the standard application.

Create a copy of standard application and do the modification there.
Now for your solution,

There you can see the field called as Branch/Plant, this also works as per your requirement, this field is also added in the header and automatically inserts in the grid records also.

This will work 100%.

Please let me know for further clarification.
 
Imran,

WHAT will work 100%? Your post makes no sense. Please clarify.
 
[ QUOTE ]
HI Bally, Start with a suggestion, First of all, Please dont update anything in the standard application. Create a copy of standard application and do the modification there.

[/ QUOTE ]


I respectfully disagree. We started to do this initiall and realized (luckily) it would be a huge mistake. Here are the reasons to modify the pristine P4210 object.

Form interconnects will continue to work from other apps

If you create a P564210 the Sales Order MBF will still use Proc Options from P4210... you will have to maintain duplicate versions for both apps even though only 1 is used... not knowing this can cause hours and hours of frustation and fun.

Retrofitting ESUs is actually EASIER if you have modified the pristine application (we have done both and you have a lot more options if you have modified the pristine app).
 
Back
Top