Add Columns in Sales Order Entry line list grid

It looks right. It reads like you made it again in live rather than exporting and importing. Make sure to click save again after enabling or import the working one from test.

Verify that the personalization is using CB01 and 02.

For me I would next add a message in the code and look in the log to be sure it was getting called, but you need server access and a log reader for that.

In test did you do the exact same paste insert as you did in live?

For you it may be easier to add a popup message. There are two ways to do this.

  1.   In the same bpm add an informational message after the abl code.
    
  2.   Insert a message in the code. Put the lines below in after the assign.
    

def var InfoMsg as character init ''.

InfoMsg = " In Change Part" .

{lib/PublishInfoMsg.i &InfoMsg = InfoMsg}.

The message works. Does the below in red have anything to with why it isn’t working? (I don’t see it being this since the message pops up but maybe?)

image

image

image

image

The test version I just handtyped two lines of part numbers and I did the same in live just to test.
I’ve even went to an order thats been previously entered in and refreshed all releases and what not (to update) and still nothing.

The only thing I had done differently is change the name of the checkbox in personalization at once along with unhidding it rather than doing the screen twice.?

The code was pasted with the edit>paste.

Change the message box to include the values after assignment, to be sure it is set.

InfoMsg = "in change part inactive " + string(ttOrderDtl.CheckBox01)  + " runout " + string(ttOrderDtl.CheckBox01).

image

Hmmm…

This does not seem right, I kept the information message on and the ones that are “inactive” also said it was run out…

And the part numbers marked as inactive are not inactive or even marked as “run out”

I am going to try it as a data directive or possibly on update. I think the system part is inactive message might be an issue.

Okay. Thank you for helping me through this :slight_smile:

No worries. Is is part of my ongoing Epicor education. Disable the method directive and save.

A Data directive, it is basically the same. Use the Data Directive menu choice.
enter orderdtl and click the in-transaction tab. then click the new dropdown and pick new in-transaction directive

image

The condition will be there is at least one Added Row in the ttorderdtl table

The action will be the same initial code without the message.

image

click Enabled and save.

it caught the line 1 as inactive which is correct (but the run out is ticked in party entry but not here)

UV001600 did not get ticked which is an inactive and run out part…
Hmm…
I am also saving, logging out and creating a fresh sales order each time as a “test”
I received both “xxxxxx is inactive” error message for both line 1 and line 9.

The last line would not have go thru the directive until it was saved.
Is it possible that CB01 and 02 are used by something else? There are 20 checkboxes we could move to 19 and 20. or is there another directive?

let’s try on salesorder.update. fill out and click search. pick update
image

Click pre-processing, then new pre-processing.
image

Then the same no condition and action, abl, paste code
click enable and save.

The below is a test and none of these should be marked as inactive or run out, but they are?

There is one item right, but the run out is not ticked (I have yet to see the run out checkbox ticked though)

I followed the steps and enabled it.
I click save after lines are finished and it’s still not working correctly. So close lol…

Yes, close, but there is something else changing those checkboxes. Are those still 01 and 02 or did you move the code and grid to 19 and 20? It would be easier if we had documentation of fields that your company has used.

	Assign ttOrderDtl.CheckBox01 = Part.Inactive
				 ttOrderDtl.CheckBox02 = Part.RunOut.

I changed the above from 01 and 02 to 06 and 07 and still acts the same as before.
I’m not sure how to obtain documentation of fields that our company has used.

Can you write baqs? If you can write a baq on orderdtl in test.

Columns would be ordernum, orderline and all 20 checkbox fields.

We will then sort and filter to find if any data exists in the checkboxes.

I create the BAQ in live. I can create this in test version if needed? I wasn’t sure if thats what you meant?

As far as sorting and filtering I do not know exactly how to do this.

image

Either will work, there is less risk in test if the amount of data returned will drag down the system and test should have any checkboxes used with data.
The filter / sorting is the same as any other grid so we can find any data in the checkboxes. If you click on each header to sort descending any true values will show the field is in use.

I can’t figure out the filter. I have tried different options but cant seem to get it to actually filter?

I meant the normal Grid filers you get with a right click.

image

but this brings up two points.
The first is always save before you test you baq, in case it won’t complete and has to be stopped with task manager.

Secondly, if the data is too much we will need to use criteria to limit it.
image

In your filter you would use specified constant and enter the order number you wanted, but we want a lot of records to check if there is any data in them.

I tested the BAQ and It looks as if only 01 and 06 were used out of the 20.

Which I started off with 01 and 02
but switched to
06 and 07.

These were all new recent orders that were filtered to show being used.

So I am unsure of what else it could be?

So runout 02 and 07 never got set. We may have to separate them from checking inactive.

Paste your 3 bpms for changepartnumMaster, Update and the Data directive, so I can test using them.

Use three ``` , the tick mark with the tilde on the keyboard before and after the code to format them for the site.

I will run a test tomorrow with them.