Adding non-present column to a P4210 grid...but existing in F4211

jefzapata

jefzapata

Active Member
Hi there,
I have tried a lot to understand how I could modify the P4210.

User here need to be able to modify the F4211.URRF while modifying order details lines. I have added the URRF to the business view V4211C, and go to the W4210A Form in the P4210, added the column to the grid...

But now I see that the BSFN who's processing the detail line isn't ready to proceed my new field, even if it is already a table's member.

I would like to know how to achieve my goal properly, with a clean method.

Is there anybody who can't help me with this?

Any help would be a lot appreciated!
Jef
 
Hi Jeff,

I did this more times similars.

I use 2 methods.

In both case, place your code to the end (at least after EndDoc BSFN call) in the Post Button Clicked event of OK button and loop through the grid lines in a while loop (hope, you know, how to do this).

Method #1.:

Turn off Asynch execution of all previous BSFN calls in the event.

Open F4211 with turned on Inclode Transaction option on the Advanced panel of Open - BEFORE the While loop.

Update F4211 records with the GC key colmns and with URRF

Close F4211 after the loop.

Method #2 (more sophisticated):

Create a BSFN, which receives F4211 key fields and and URRF field as input. The ER is a simple update on F4211 based on the input parameters.

Call this BSFN with turned on Asynch and Include Transaction optin inside the loop, passing the mentioned GC fields as parameters.

Read you later & Regards,

Zoltán
 
Hi Zoltan,
this look very clean, I will try one of your solution!

Thanks a lot for your help!
Jef
 
I Jaf,
in P4210 event rules there is a block of code commented (in row exit async); in this code there is a business function the process the additionl fields of F4211; just uncomment this bolck and populate the DS with the correct values from new GC, this is the correct method.

If you need help post your question.

Regards

Bruno
 
Hi all!
I have uncommented this block (where we call F4211FSEditLinePreProcess). But this function work very strange. Values save only when I modify existing rows, and not save for new added rows.
 
small addition. There are 5 User defined fields in F4211 and they are updating correctly when I use pre-processor (for new rows and for existing rows). But I need to update F4211.SDKCO. This field update only if row already exist in F4211.
 
Back
Top