Neal Matthews
10th March 2003, 17:52
Hello,
I've been asked to look into making field tdpur041.pacn (Account Number) mandatory within the session tdpur4102s000 Maintain Purchase Order lines.
I believe that the best way of acheiving this is by changing the table definition of tdpur041.
This appears to work ok within our test company but as we are running Supply Chain I really need to be sure that there are no circumstances where the system will need to create purchase orders automatically with tdpur041.pacn blank.
The Maintain Receipts session seems to work ok and creates Purchase Orders without a problem.
Are there any other areas of the system which may be affected by this change to the table definition.
Cheers
Neal Matthews
Intier Automotive - IT Support Analyst
lbencic
10th March 2003, 18:32
Not sure if this was your intention to make the field mandatory in all processes (modify the table) or make it mandatory only in the Maintain Purchase Order Lines session. If you only want to do it for the session, you can add code to the script for the session in the check input section to make it mandatory, instead of changing the table definition.
If you don't have source or don't want to modify the source, there are options to add this check without modifying the source using the session wrapper tools. (RMCgen, QKEY, 'rush' on these boards...).
If you want it at the table level, try running 'print where used' on the table, and investigate the sessions it's used in to see if any inserts are happening. I'm pretty sure there are places where Purchase Orders are automatically generated! May try the functional postings for that question, though.
Neal Matthews
10th March 2003, 18:39
Hello,
I do just want the field to be mandatory in the session but I am working without the source.
I will give the where used tables session a go to see if I can identify all the areas in which purchase orders are generated automatically.
Thanks for the input
Neal
lbencic
10th March 2003, 18:45
The wrapper tools like RMCgen, QKEY and 'rush' ) allow you to add these additional checks to the session without having or changing the source code. That is their purpose.
NPRao
10th March 2003, 20:42
I think you can also use the Table Field Data Authorizations.
lbencic
10th March 2003, 20:58
This would also set the match at a field level / table value but also limited to roles. So..if you use the role only for entering purchase orders through that session, I think that has definate possibilities :)
mgakhar
10th March 2003, 21:32
You can make a field mandatory even by setting the flag "Mandatory Input" on the Maintain form fields session for this form.
MG.
lbencic
10th March 2003, 21:38
You cannot access the form option for mandatory input if it is an actual table field on the form. That defers to the table field option. If it is a non-table field variable, you can control mandatory input from the form.
NPRao
10th March 2003, 21:40
My observation to the form field mandatory option on the forms - this only triggers when a user enters the field. But one can always skip it over and press continue etc... I had to use check.input validation or fieldname.check() (http://www.baanboard.com/programmers_manual_baanerp_help_functions_dal_fieldname_check) so that they can be triggered using check.all.input() in choice.cont.process section for my print/process sessions.
Lisa is right, that we cannot use table field data authorizations for form fields. It can be done only for the table fields.
nick_rogers
10th March 2003, 22:32
beware of the where used table fields - this only searches where the table is the MAIN table of the component. So if a script's maintable is tdpur045, and you searched on tdpur040 the script would not be reported even if it updates the tdpur040 field.