I'm in the process of creating report on static of
View creation for a particular month
total number of views
View deletion.
Any insight would of great help.
Lot of reports planned, second one is this. First one is license usage.
A starting point for that report would be to use cleartool lsview -age (for view access and usage).
But the creation date a a view is only visible in the properties a view (cleartool lsview -l -full -pro), which means you would need to launch a global lsview on a regular basis, and parse the output of those properties for each view, in order for you to detect:
newly created view
recently deleted view
That detection would be done again the previous list of views as recorded by the previous launch of your lsview -pro.
Related
Thanks in advance for your advice!
Background
I’m creating a database to track orders placed by customers.
An ‘Orders’ table stores general details about an order like the customer’s name, order date, and delivery-required date.
A separate ‘Order_Items’ table stores the specific items that the customer has ordered.
The is a one-to-many relationship between the ‘Orders’ table and ‘Order_Items’ table, i.e. one ‘Order’ can have many ‘Order_Items’, but each ‘Order_Item’ must be associated with only one ‘Order’.
Current State
Currently, I have a page where the user creates a new ‘Order’ record. The user is then taken to another page where they can create as many ‘Order_Item’ records as are needed for the order.
Desired State
What I would like to achieve is: When a user creates new ‘Order_Item’ records, it automatically allocates the current ‘Order’ record as the foreign key for the new ‘Order_Item’ record.
What I've Tried So Far
Manual Action By The User: One way of establishing the link between an 'Order' and all of its 'Order_Items' would be to add a drop-down widget which which effectively asks the user something like "Which order number do all of these items belong to"? The user's action would then establish the link between the two tables and associate one 'Order' with many 'Order_Items'. However, my goal is for this step to be handled programatically instead.
Official Documentation: I’ve referred to the offical documentation which was useful, but as I'm still learning I don’t really know exactly what to search for. The prefetch feature appeared promising but does not actually establish a link; it just loads associated records more efficiently.
App Maker Tutorials: I found an App Maker tutorial which creates an HR App where a user can create a list of ‘Departments’, then create a list of ‘Employees’, and then link an ‘Employee’ to a ‘Department’. However, in the example app this connection is established manually by the user. In my desired state I would like the link to be established programatically.
Manual Save Mode:
I’ve also tried switching to manual save mode so that the user has to create a draft ‘Orders’ record and then several draft ‘Order Items’ records and then save them all at once. However, I haven’t managed to make this work. I’m not sure whether the failure of this approach is because 1) I’m try to create draft records on more than one table, 2) I’m just not doing it correctly, or 3) I thought I read somewhere that draft records are deprecated.
Other Ideas
I'm very new to this field and am may be wrong, but I have a feeling I may need to use some scripting to establish the link. For example, maybe I could use a global variable to remember which 'Order' the user creates. Then, for each 'Order_Item' I could use the onBeforeCreate event to trigger a script that establishes the link between the 'Order_Item' and the 'Order' that was remembered from the previously established global variable.
Updated Question
Thanks Markus and Morfinismo for your answers. I have been using both answers with some success.
Morfinismo: I've successfully used the code you directed me to on existing records but cannot seem to get it to work for newly created records.
For example:
widget.datasource.createItem(); // This creates a new record
var managerRecord = app.datasources.Manager.item; // This sets the Manager of the currently selected parent record as a variable successfully.
var teamRecord = app.datasources.Teams.item; // This attempts to set the Manager of the currently selected record as a variable. However, the record that was created in line 1 is not selected. Therefore, App Maker does not seem to know which record this line of code relates to and returns the error Cannot set property ‘Manager’ of null.
// Assign the manager to the team.
teamRecord.Manager = managerRecord; // This successfully assigns the manager but only in cases where the previous line of code was successful (i.e. existing records and not newly created ones).
Do you have any suggestions or comments on how to apply this code to records that are created by the initial line of code in line 1?
I have found the easiest way to create related items for situations such as yours is to actually import a form with the datasource set to Parent: Child (relation) or Parent: Child (relation) (create). So in your case the datasource would need to be set to Order: Order_Items (relation).
You can get this accomplished in two different ways using the form widget wizard:
Option 1:
If your page datasource is set to Order_Items, drag your form on your page.
In the datasource selection section, your datasource in the form widget should default to `Inherited: Order_Items'. Click the 'Advanced' button in the bottom left corner, then from the datasources category find Order as your datasource, then select relations in the next field, and then Order_Items in the next field, choose 'Insert only' or 'Edit' form and then the appropriate fields you want in the form.
Now every item that gets created in that form will automatically be a child record of the currently selected record in your Order datasource.
Option 2:
If your page datasource is set to Order, drag your form on your page.
In the datasource selection section, your datasource in the form widget should default to Inherited: Order. Scroll down in your datasource selection section until you find Order: Order_Items (relation), then choose 'Insert only' or 'Edit' form and then the appropriate fields you want in the form.
Now every item that gets created in that form will automatically be a child record of the currently selected record in your Order datasource.
In your Order model, make sure that the security setting is set appropriately that a user is allowed to create relations of Order_Items in Order. That is the simplest approach in my opinion since you don't have to hard code the parent into your form or client/server scripts. It is automatically based on the currently selected parent, and is essentially doing the same thing that #Morfinismo explained in the client script section.
The comment I placed under your question included a link to the official documentation that explains what you need. Anyways, your question is not clear enough to determine whether you are creating the records via client script or server script, hence this is a very general answer.
To manage relations via client script:
var managerRecord = app.datasources.Manager.item;
var teamRecord = app.datasources.Teams.item;
// Assign the manager to the team.
teamRecord.Manager = managerRecord;
// Changes are saved automatically if the datasource in auto-save mode
// Add a team member to a Manager's team.
// Note: Retrieve Members on the client before proceeding, such as by using prefetch option in datasource - datasources Team -> Members)
var engineerRecord = app.datasources.TeamMember.item;
teamRecord.Members.push(engineerRecord);
To manage relations via server script:
// Get the record for the Team to modify.
var teamRecord = app.models.Teams.getRecord("team1");
// Assign a manager to the Team.
var managerRecord = app.models.EmployeeDB.getRecord("manager1");
teamRecord.Manager = managerRecord;
// Note: The new association is not saved yet
// Assign a team member to the Team.
var engineerRecord = app.models.EmployeeDB.getRecord("engineer1");
teamRecord.Members.push(engineerRecord);
// Save both changes to the database.
app.saveRecords([teamRecord]);
The above information is taken directly from the official documentation, which like I said, I referred to in the comment I placed under your question.
I'm trying to create a view of approval tasks that also includes a column from the related form library. I have tried creating a linked data source between the tasks list and the form library, but have trouble finding much information on creating linked views with the task list.
I have tried:
http://deannaschneider.wordpress.com/2012/07/25/joining-the-task-list-with-related-content-in-a-dvwp/
without luck - it just tells me "there are no items to show in this view." which I assume means it couldn't be joined correctly with the specified table.
I am using the standard approval workflow.
Here is the closest solution I've found so far
1.) Create task form fields in SharePoint designer.
2.) Go into Approval(1) to add the task form fields.
3.) Click 'Change the behavior of a single task'. Add 'Set task field' action in the Before a task is assigned section to set the task form fields to get the value of Current Item:ID.
4.) Use the new task field to create your subview on your linked datasource
While not optimal - and it created me many different problems - I was able to create the view desired.
Hopefully someone will come up with a better solution.
I am trying to modify an existing report (Orders) and I must be doing something wrong because when I export the report and I open it in Visual Studio I don't see the actual report.
As you can see the actual report is not being displayed.
I go to the report entity in Workplace, select the report and click on Edit. From there I go to More Actions and click on Download Report. I then go into SQL Server Data Tools and create a Report Server Project. I then go to the Report folder, right click and Add Existing Item, selecting the order.rdl file.
What am I doing wrong?
.....
After some more research it's my understanding that none of the queries come down as FetchXml but as SQL statements that have to be converted to FetchXml.
One problem That I'm having is the use of a function. How does that get converted to FetchXml?
SELECT fullname
FROM FilteredSystemUser
WHERE (systemuserid = dbo.fn_FindUserGuid())
Thanks,
Gary
Your main problem is that you environment is Dynamics CRM Online, this means that you need to create your reports only with FetchXML, no SQL reports are allowed.
The second problem is that you want to modify a built-in report , because most of the standard reports (I'm not sure if all the reports but Order is one of them) are built using SQL you can't modify and import back, you need to recreate using FetchXML.
Last thing, the report you opened refers to a sub report (stored in a separate rdl file)
I am working on BAM (first encounter), created a simple Activity where I have defined two Business Milestone (Invoice received and Invoice processed time) and one Business Data (Customer Name) and a simple view complementing it with Dimensions "Customer (customer name) " and Date(Invoice processed time) and Total Amount as a value.
Deployed the Activity and View followed by deployment of tracking profile .
I cross verified with the BAMPrimaryDatabase and tables are created, also I get results back when I query on them.
Now the issue is that I don't get it reflected on BAM portal. And when I click on Aggregations a pop up with following errors appears:
Views cannot be displayed for one or more of the following reasons:
Office Web Components 2003 are not installed. (I have installed it)
Your Web Browser does not support ActiveX controls.
Support for ActiveX controls is disabled.(Have enabled the ActiveX controls)
When I click OK , following shows up on the portal:
Provider=MSOLAP; Data Source=MAHESH-PC;Initial Catalog=BAMAnalysis[InvoiceView_InvoiceTotalAmount]Customer[InvoiceView_InvoiceTotalAmount_Customer].[InvoiceView_InvoiceTotalAmount_Customer].[Customer]Column1[Customer]Year[InvoiceView_InvoiceTotalAmount_Date].[InvoiceView_InvoiceTotalAmount_Date].[Year]Row1[Date]Total Amount[Measures].[Total Amount][Measures].[Total Amount]DataRow-1Total AmountData1[Measures].[Total Amount]InvoiceTotalAmount
Pivot Table View
Chart View
Is it generic (known issue) or am I missing something?
The underlying cube needs to be built in BAMAnalysis. After you complete that step you can view your data. The next question you might have is, how often this needs to be built?
Simple problem. I use the Entity framework to map an SQL Server database to objects. The EF is then used to fill a Dynamic Data Site. There are 50+ tables and layout isn't really important. Allowing the users to use it for quick data entry while keeping the amount of code as low as possible is.
Basically, I have four work-hours to find a solution to filter some of the tables on the first letter of one (or more) of the fields. (One filter per field.) When I have one, I have another 4 hours to implement it. Any time I spend more on this will not be compensated. :-(
I have full control over the code, the database structure and whatever else. However, I am limited to .NET 3.5/Visual Studio 2008 and am not allowed to include MVC. I'm also not allowed to add more libraries. Can't upgrade to .NET 4.0 either. So, how can I add such filters in a minimum number of hours?
Simple answer : add filters the way the Dynamic Data samples add filters, using user controls and FilterRepeaters and designating your custom filters in Metadata . See the DynamicData/Filterss directory for examples.
For example, in metadata
[FilterUIHint("LastNameSearch")]
public object LastName { get; set; }
and a user control called LastNameSearch.ascx.
See this link on MSDN