We have just stated using Kinetic, and we want to replicate a process from our old system. I’ve created a BAQ that contains all approved POs that are ready to print and have a PO date that is less than or equal to today (so that future dated POs are excluded). What I want to do is set up a schedule so that at a given time every PO in the list gets sent out.
I’ve got a working BAQ, and I’ve created a quick search using the BAQ, so it can be done manually at the moment.
Hally
(Simon Hall)
February 20, 2025, 1:30pm
2
Hello @matt.harrison and welcome to the community.
Have you considered using the Mass Print PO option… Then you would be able to schedule it with the standard tools
You could add a filter to the report parameters for the date. The PO has to be approved for the Mass print to be enabled.
So I think the steps would be:
Create a separate menu item to run the mass PO print.
Add an application studio layer and add in a token Date Control
Set the EpiBinding to CallContextBpmData.Date01
Set the EpiBindingShowToken to CallContextBpmData.CheckBox01
Set the EpiBindingToken to CallContextBpmData.Character01
Use this excellent post to create a function that you can convert the token date to true date, bind it to another CallContexteBPMData.Date field.
Publish the layer
Modify the SSRS report
Add in another dataset to the RDL for the CallContextBPMData
Something like
="SELECT T1.Date01 [EpiBinding], T1,Checkbox01 [EpiBindingShowToken], T1.Character01 [EpiBindingToken], T1.Date02 [TrueTokenDate] FROM CallContextBPMData_" + Parameters!TableGuid.Value + " T1"
or
Add join the CallContextBPMData directly to the main POHeader dataset like
LEFT OUTER JOIN CallContextBPMData_" + Parameters!TableGuid.Value + " T5 ON T5.RowMod = 'U' "
then you should be able to put a where clause in against the pO date and date passed in from the token field.
Here are some of posts I gleaned the information from. I hope it helps.
Kudos to those smarter than me for putting effort in and documenting it.
@ckrusen , @james howard, @JasonMcD and @hmwillett and @Rich
To pass a value to a report via the CallContextBpmData variables
(my example images will be for adding a checkbox to the form)
Customize the form that runs the report, by launching in developer mode.
Enter customization mode
Add the control to hold the variable (textbox, checkbox, combo, etc…)
Bind that control to a CallContextBpmData member
[image]
Save Cutomization and close
Launch Report Style Maintenance, and load the report ID
Copy the Report Style to a new Style
D…
Old post, but it took me enough time to figure this that the below might be valuable to someone else FFR.
CallContextBPMData is already accessible to the report server even though it doesn’t show in the RDD, which makes passing parameters to the report server incredibly quick and easy. Two step process:
bind to a field in your customization
query the table as a new DataSet in the .rdl file.
Images with sample code below.
[image]
[image]
Background: Kinetic Control Compendium - #91 by hmwillett
[image]
I tried this out and failed. (Slightly redacted) error message from F12 land:
Errors in criteria parser for expression:
Project_GoldStickerDate_c >= ‘2024-12-24T00:00:00’ AND
Calculated_GoldStickerDate2 <= &Today
Errors: invalid token: &
First one is a non-dynamic date. Second one (in bold) is dynamic.
It’s trying to compare my BAQ date to a token - rather than the date represented by the token. When it fails, it ignores…
Thanks! This is a workable solution. Alas, it also scales the rev field larger so it wastes a lot of space on a field that is typically only a couple characters, but I guess that’s the theme in Kinetic.
1 Like