How to review code that was submitted to me in RTC with "submit for review" feature? - rtc

I'm using RTC,
my friends submitted their change sets for review, and I'm the reviewer. I can't find their change sets anywhere.

This thread summarizes the process:
Project configuration:
Precondition set: "Require Work Item Approval" for "Deliver (client)" operation for "Everyone" role.
In the "Required approvals", for the "Review" type, at least one from "Everyone" role (or "Team Member" role) is set.
"User may overrule" may also be checked if not all code delivery may require a review process.
Scenario:
There are three developers - D1, D2 & D3 - all using RTC Eclipse client.
D1 does the code change for files f1 & f2 in her local workspace and saves them. f1 and f2 appears as unresolved in the pending changes view.
D1 checks-in f1 & f2 into a new change set "CS".
Right clicks on "CS" and select "Submit for Review" menu option and associate to a WI (existing or a new one) and select approvers:
D2 as the approver for f1 review (subject field is used to tell what to review) and
D3 as approver for f2 review.
The approval/Review process will be in the pending state.
D2 & D3 gets intimation of the review task assigned to them through a query - "Pending approvals for me".
D2 opens the WI and in the Links section, double clicks on the f1 in the change set and see the diff in the Change Explorer.
Does the review.
Optionally, adds comment for D1 in the discussion field of the WI.
Changes the Review approval state from pending to approved.
D3 follows the same process as D2 but rejects because the f3 code change is not acceptable. Changes the Review approval state from pending to rejected.
D1 gets the review comment via email/feed - because D1 is the owner and the subscriber of the WI.
D1 fixes the code in f2 based on D3's review and checks in to the same changeset.
D1 adds D3 again for the new review approval in the same WI.
D3 gets intimation of the review task assigned to him through a query - "Pending approvals for me".
D3 opens the WI and in the Links section, double clicks on the f2 in the change set and see the diff in the Change Explorer.
Does the review.
Optionally, adds comment for D1 in the discussion field of the WI.
Changes the Review approval state from pending to approved.
D1 gets the review comment via email/feed - because D1 is the owner and the subscriber of the WI.
D1 delivers the changeset (or invokes "Complete" action on the changeset) because all the approvals in the WI are in approved state.
The complete history of the code review process (rejected ones, approved ones) are in the "Approvals" tab.

You can also create a work item query that finds all approvals that are open against you. Mine looks like:
I have that configured as a section in the My Work view, so I know when I have stuff to review.

Related

MS Access one form to select table values and use to populate multiple fields on other form?

I have a table called GL_Account and IM_Productline
The table IM_Productline has various fields that need to be populated with a value from the field GL_Account.AccountKey (i.e. IM_ProductLine.InventoryAcctkey and IM_ProductLine.CostOfGoodsSoldAcctKey)
To populate the IM_ProductLine table I made a form "Product Line Maintenance" with all the fields. To populate the field IM_ProductLine.InventoryAcctkey I put a (magnifying glass) button behind the field with the following code:
Private Sub CMD_Select_GL_Account_Click()
Me.Refresh
If IsNull(Select_ProductType) Then
'do nothing
Else
Forms![Product Line Maintenance].InventoryAcctkey = Me.SelectGLAccountKey.Column(0)
Forms![Product Line Maintenance].Refresh
End If
DoCmd.Close
End Sub
So the button opens a form Called "Select GL Account" with a combo box that enable to SELECT GL_Account.AccountKey, GL_Account.Account, GL_Account.AccountDesc
FROM GL_Account; and when the OK button is clicked it writes the value from GL_Account.AccountKey to IM_ProductLine.InventoryAcctkey, closes the form "Select GL Account" and then refreshes the form "Product Line Maintenance" so the account number and description become visible for the user.
This all work fine but here's my question:
Now rather than creating a new form for every account field I need to populate (i.e. "Select Inventory GL Account" select "Cost Of Goods Sold GL Account" etc) I'd prefer to use the form "Select GL Account" to select and populate the 11 different account fields. So behind each xxxAcctkeyfield on form "Product Line Maintenance" is a (magnifying glass) button that when clicked pulls up the form "Select GL Account" and when "OK" is clicked it writes the selected AccountKey to the correct field on form "Product Line Maintenance"?
I'd greatly appreciate anyone's efforts to understand what I am trying to explain and point me in the right direction.
Ok, there is the issue that all 11 fields should not require to be "copied" since you have a relational database (you would ONLY store the row PK ID of that selection in the current report. (a so called FK (foreign key) value). That way, say you want to change the choice? Well then you could pop up that form - search + select the one record with all that information, and then upon return ONLY store the one value.
So, I would give some thoughts to the above - you want to leverage the relational database features. And as a result, you don't need to "copy" all that data. This is not much different then say creating a invoice. I can create the new invoice, but all of the address information, and the customer that this ONE invoice belongs to? Well, that is one column with a FK value that points to the customer. Once I select that one customer, then display of the customer name + address can be say a sub form or some such - but no need exists to "copy" that information. It would also means with near zero code, you could move a invoice between customers!!! - (just change the one fk column with to the new/different customer ID (PK) value.
Now, back to the question at a hand?
You can certainly pop up a form, let the user select, enter, pick and do whatever. And THEN you can have the calling code grab + pick out the values from that form.
The way you do this? It involves a not too wide known trick.
The code that calls the form can simply open that form as a dialog form. This will HALT the calling code, the user does whatever, and when done the calling code will THEN continue. Not only does the calling code continue, but it can get/grab/pull/take any values from that pop up form WIHOUT having to use global vars.
The approach is thus thus:
dim strF as string
strF = "frmPopAskInfo"
docmd.OpenForm strF,,,,,,acDialog
' above code waits for user input
if application.AllForms(strF).IsLoaded = true then
' user did not cancel, get values from form
me!AccountNo = forms(strf)!AccountNumber
etc. etc. etc.
docmd.Close acForm,strF
end if
Now the only other issue? Well, the "ok" button on the popup for DOES NOT close the form, what it does is set visible = False. This will kick the form out of dialog mode.
me.Visible = False
So, if the user hits the cancel buttton (close form) or hits the X upprer right (close form), then the form will NOT be loaded when your calling code continues. But, if they hit OK button, then you don't close the form, but ONLY set visbile = false.
This allows the calling code to continue, you are free to get/grab/take values from that form, and then once done, you close the form.
So a form close in that popup = user canceled the form.
So, a popup form, and even a modal form? They do NOT halt the VBA calling code, but a acDialog form does!
You can thus place 2 or 5 little buttons that pops up this form, the user can pick/choose/select/enter values. When they hit ok, your calling code continues, and you are free to pull values from that form. So while all 3-4 buttons might pop up that form, each individual button launch of the form can have code that follows and updates the given control the pop button was placed beside.

How to set validation rule: "Task start date >= Project start date" in MS access

I'm looking to set up validation rules for MS Access, the "project start date" is located in "projects" table while the "task start date" is located in "task" table. I want to set the rule in my form textbox so that "The task should not start earlier than the project"
I would like to set the validation rule in forms but I am clueless as how to construct this inter-table validation rule via "expression builder" or "VBA code builder".
Could someone with knowledge in this help me out? Thanks!
in pictures, and assuming that since Project must come before task we have a 1 to many relationship (use the relationships tab) like:
then clicking on the projects table and clicking create form we get a form with subform already built like:
(some textboxes and labels already deleted for prettification)
Click on the TaskStartDate TextBox and under properties select the validation rule.
Here is where you put the DLOOKUP
[TaskStartDate]>DLookUp("ProjectStartDate","Projects","ProjectID = " & [ProjectID])
We can access TaskStartDate and ProjectID because the subform is based on the tasks table(which is why we need to set up the relationship and put the ProjectID in the Tasks table), but we have to look up the corresponding ProjectStartDate using ProjectID

Excel warning system idea

I am trying to create a warning system in Excel but I have no idea which function could be of aid.
say for example, I want a system that alerts me when the cell number is more than 5. and the signal stays on even after it went below 5.
cell A1 is RTD and it is a number that changes frequently.
At 9AM, the number is 5.
At 10AM, it changes to 10.
At 11AM, it is back to 5.
How can I have a warning system that stays on, even at 11am, to notify me that this number has been more than 5. the "Warning" will remain on until I turn it off.
And even ideally, can Excel do a pop up or some sort to alert me on this warning.
thanks and regards
gyx
Try Data Validation Lists.
For instance, if your Purchase Date is in Cell A1 and your return date is in cell B1 then do the following for cell B1:
(Steps Assume you use Excel 2007)
Select Cell B1
Go to the Data toolbar
Select Data Validation
For "Settings" tab, select "Custom"
In the formula Bar, type the formula "=B1>A1"
On the "Error Alert" tab, select Warning (Allows entry but shows a message box when condition isn't met)
For Title, type "Error"
For Error Message, type "Return Date cannot be before Purchase Date"
Should do exactly what you want...no code!!!! Same type of logic can be applied to do your advanced messaging, just need to update the formula in step 5 with some AND or maybe OR functions and you'll be on your way.
At first, set a name for the specified cell number which you want to system alerts when it's value is more than 5:
Click on the cell to be selected.
In the Name Box (At Up-Left side of the Excel window, Left side of the formula bar) Type a desired name, for example Alert
In your Workbook window Press Alt + F11
Microsoft Visual Basic For Application window will opens.
At left-up side, in the project explorer box, choose your specified worksheet. (For example: Sheet1)
Enter code below (Here also warns you with the status bar)
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Name = Me.Name Then
If IsNumeric(Range("Alert").Value) Then
If Range("Alert").Value > 5 Then
MsgBox "The value is larger than 5", vbCritical + vbOKOnly, "Alert"
Application.StatusBar = "Warning: the sensitive cells value is larger than 5"
Else
Application.StatusBar = "The sensitive cell is approved"
End If
Else
Application.StatusBar = ""
End If
End If
End Sub

In Base SAS, how can I auto refresh the explorer?

I'm fairly sure this must be something that has bugged others and so there must be a solution. I write my code and want to quickly check the dataset, but it isn't there. I need to select the window, click View and click refresh. Is there a keyboard shortcut I can use or a macro I can write that does this for me?
I know this is lazy but it bugs me.
Any thoughts are appreciated.
J
You could do this programmatically using:
dm "next explorer; refresh";
Or assign it to a shortcut key (eg F2) as follows:
dm "keydef F2 'next explorer; refresh'";
If you just want to open the last dataset, you could also assign this to a shortcut key:
dm "keydef F3 'vt &syslast'";
If the dataset is in a remote location, the following could be adapted for your needs (note the embedded sas code which gets submitted):
dm 'keydef F4 "submit ''rsubmit; %nrstr(%sysrput lastDS=&syslast;) endrsubmit;''; vt rwork.%scan(&lastDS,2,.)"';
More shortcuts available here!

Crystal Reports - Prompt for Total Page Count

I have a report that I'm using to create individual shipping labels for product delivery. Company Name, Address, additional fields are all straight forward and drag and drop into report, requiring little manipulation.
My issue comes about in trying to determine how I can prompt the user for the quantity of labels needed for print. This will change from shipment to shipment based on how many boxes are required to fulfill the order. Each box requires its own shipping label. I would simply have the user specify quantity at the "copies" section of the print screen but I also need a field on the label stating n of m so the customer knows total boxes shipped and has an identifier for each individual box. For this reason, I'm curious if and how I can prompt the user before print to provide "total page count", where I can then create the number of needed documents and increment per label using the "page number" field, creating a prompted n of m function.
"Total page count" and "page number" are special fields that I seem to have little access in manipulating so if you know how I can prompt a user for necessary label quantity "total page count" then increment per label with "page number",(to achieve an incrementing N of M function where M is defined by the user) in this manner or another let me know.
Thanks,
Travis