Calling a NER from F4211EditLine- Please help

Pinkyc

Member
I have to call an NER from F4211 Edit Line MBF. I have to call the NER under the following conditions:-
(1) when the application e.g. P4210 or report is being called in ADD Mode (2)When we have freight handling code (3)when we have next sttaus code value.
Means NER should be called from F4211 Edit Line when we have value in NXTR,freight handling code and when calling in Add Mode only.
I know how to call the NER but my problem is just to be careful that from which point I should trigger this NER. Kindly advice
 
Depends on what the NER is supposed to do. I don't think I see that anywhere in your post.
 
Hi Remo
Thanks for your reply. I am using E900.That NER will take input parameters as FRTH,NXTR,Quantity shipped,Scheduled pick date,promised ship date,Promised delivery date etc (could be more later)and give us back Scheduled pick date,promised ship date,Promised delivery date based on some calculation that will take FRTH,MOT and other things into consideration.
These dates should be utilized by F4211 EditLine MBF wherever it is(these dates) are being utilized in tables.
So i should be careful first from which point this NER should be called .Firstly i have to see that that point has all the values( in cache )to input them in NER and then i have to becareful that these dates(output by NER) should be automatically utilized by F4211 MBF in rest of its code.
I hope its clear
 
If you need to call it before or after any EditLine logic executes it should be real simple. Just add it to B4200310.F4211FSEditLine right before the internal call to B4200311 (the src were all the business logic resides). Simply make the call when the action code is == to 'A'. If you need to do it in the middle of all the F4211FSEditLine logic, then you will most likely need to put your call some place in B4200311.
 
Okay, so apparently you want to 'override' certain dates by some custom logic, and -i presume- you want to see those custom values in your grid as well when Edit Line has finished.. There's a block of code in Edit Line which defaults/validates the dates.. I4200310_ProcessDatesForEL. In those cases I usually do the override right after this call has finished. Of course you'll have to analyse if all your other input parameters (FRTH, MOT, ..) have their final value at that point.

Also check out I4200310_ProcessPreferences, which is called a little later.. That one adjusts PDDJ based on Order Preparation Days.. If that applies in your situation, then you might have to do your logic after that one.

You'll need to analyse, to get an idea of how the flow is, etc. (Analyse the code, test the various scenarios with the c-debugger and/or jdedebug active)..

Hope this is somewhat helpful..
 
Thanks a lot Remo for telling the BSFN's names below.It seems you have thorough knowledge of all the internal BSFN's in F4211EditLine. I am going to try with all this and will get back to this forum if I get stuck somewhere .Please check this forum again
 
No way near do I have a thorough knowledge of them! :) (Although sometimes it would be quite handy). I just happened to have done some stuff recently that was similar to what you're about to, that's all.
 
Hi
I am struggling right now with errors of calling an NER.But the thing i would like to ask now is- I have decided to call NER from within F4211EditLine but there is one more thing that i have to look for now in MBF.It is as below:-
The second thing that might be a problem is Custom Order Address (F4006). I don't yet know if the MBF will have knowledge of this information. We have a new table which sets a number of days used for transportation to various regions in a country. Since we use custom address almost always, we also need to find a way to provide Zip Code (ADDZ) and Country (CTR) to the NER. See if you can find any reference to custom Ship To Address (F4006.ANTY = 2) in the MBF as well.
 
Hi Booster,you adviced to call NER before F4211Editline internal call. Do you think we will get values if we call it before EditLine internal call?I called NER after internal call to F4211EditLine but it is giving error as it is already returning for F4211Edit Line.
Please advice
 
Pinkyc, about the F4006 thing: I don't know, that would mean I'd have to analyse it, but that is YOUR job
cool.gif
What NER-errors do you mean? Let us know, and maybe we can give you a few tips on that.
 
This looks like a new transportation interface. You want to put your code in the same place as Advanced Tran.

In B4300310 is I4200310_TransProcessOrderLine. This routine does the date and tran prep you are asking about.

HOWEVER, the ProcessOrderLine program keeps it's results in cache until ENDDoc: I4200310_TransEditDocEndDoc. At that point, the transportation tables are filled in.

You want to follow a similar process, so users hitting 'cancel' have no junk left in your live tables.

OR, you want to keep everything out of the process until the order is accepted and THEN cobble your transportation stuff together based on what is truly on the order.

I've lived Transportation and Advanced Warehouse for the last 14 years. There are numerous ways to do this stuff and a poor analysis will cause lots of grief.

Good Luck!
 
Hi , I have to pass CTR,ADDZ as input parameters when calling custom NER from F4211FSEditLine(B420311) along with other parameters e.g. DCTO,LNTY,MCU,CTR,ADDZ.
We have designed a new file called F55TDAYS which sets a number of days used for transportation to various regions in a country. Since we use custom address almost always, we also need to find a way to provide Zip Code (ADDZ) and Country (CTR) to the NER.
These parameters must be there in cache.These parameter are used to find the number of Transit Days in F55TDAYS. If the parameter is empty the NER will attempt to find a proper value. First it will look for an Override Ship-to Address in the F4006 file. If none is found, it will use the value of the mnShipToAddressNumber_SHAN parameter to look for the Country Code in the F0116 file. If a Country Code is found in either source, it will also update the szCountry_CTR parameter.
These paarmeters i think you can enter from P4210 form->Order Addresses.
if the values for CTR and ADDZ are not there in the cache then custom NER will do its calculation(as mentioned above) and give back CTR and ADDZ that we can use and save further. But if values are there in the cache then we need to provide the same to the NER else if left balnk then NER will do its calculation and give wrong CTR and ADDZ other than the enetred values or values in the cache.

I have seen the code in B4200310 that there is a call to internal BSFN (ProcessorderAddressOverride) that is further calling –getOrderAddress BSFN in F4211EndDoc.
I am not sure if that is the value i have to use but i am calling the custom NER from F4211FSEditLine(B4200311) and the ProcessorderAddressOverride BSFN is in B4200310 in End doc.
I am debugging it more but in case of any advice then please let me know
 
Hi there!
You're right on the spot WhippingBoy. Whatever is being done to replace the transportation logic to calculate the dates etc. is also the logic that should be replaced by this custom function.. (that replaces the date calculation) and the analysis is a mater of finding the "entry point" to the transportation module.

I would believe the entry is somewhere in/after EndDoc Bsfn. When user enters an order line and moves to next line in grid, the transportation module has not yet created/routed/rated the shipment. This only happens after the user presses "OK" to accept the order. There is no way the system would have all the information required to route/rate the shipment before EndDoc is called

So the analysis required is to see where the transportation functions are being called and replace these with the custom call instead, if the conditions are met

/Aarto
 
Back
Top