Search Results

Search found 36719 results on 1469 pages for 'value chain'.

Page 805/1469 | < Previous Page | 801 802 803 804 805 806 807 808 809 810 811 812  | Next Page >

  • Set modified date = created date or null on record creation?

    - by User
    I've been following the convention of adding created and modified columns to most of my database tables. I also have been leaving the modified column as null on record creation and only setting a value on actual modification. The other alternative is to set the modified date to be equal to created date on record creation. I've been doing it the former way but I recent ran into one con which is seriously making me think of switching. I needed to set a database cache dependency to find out if any existing data has been changed or new data added. Instead of being able to do the following: SELECT MAX(modified) FROM customer I have to do this: SELECT GREATEST(MAX(created), MAX(modified)) FROM customer The negative being that it's a more complicated query and slower. Another thing is in file systems I believe they usually use the second convention of setting modified date = created date on creation. What are the pros and cons of the different methods? That is, what are the issues to consider?

    Read the article

  • A Better Way To Extract Date From DateTime Columns [SQL Server]

    - by Gopinath
    Quite a long ago I wrote about a SQL Server programming tip on how to extract date part from a DATETIME column. The post discusses about using of T SQL function convert() to get date part. One of the readers of the post, tipped me about a better way of extracting date part and here is the SQL query he sent to us SELECT DateAdd(day, DateDiff(day, 0, getdate()), 0); In clean way this query trims off time part from the DATETIME value. I rate this solution better than the one I wrote long ago as this one does not depend on any string operations. According the commenter, this method is faster compared to the other. What do you say? Thanks Yamo This article titled,A Better Way To Extract Date From DateTime Columns [SQL Server], was originally published at Tech Dreams. Grab our rss feed or fan us on Facebook to get updates from us.

    Read the article

  • How can I add a Google search box to my website? [migrated]

    - by wahle509
    I am trying to add a Google search box to my own website. I would like it to search Google itself, not my site. There was some code I had that use to work, but no longer does: <form method="get" action="https://www.google.com/search"> <input type="text" name="g" size="31" value=""> </form> When I try making a search, it just directs to the Google homepage. Well, actually it directs here: https://www.google.com/webhp Does anyone have a different solution? What am I doing wrong?

    Read the article

  • How will I know when my company is ready to receive an investment? [migrated]

    - by gunshor
    How will I know when my company is ready to receive an investment? I am starting a company and have bootstrapped it so far. I have produced four versions of the demo. The first fully-working version is underway. Getting this to a beta phase product will require capital, which requires an investment, which requires an investor, which requires I stop working on the product and go out and talk to people about it. The last time I raised money from investors, it took a while but I was successful. I don't want it to take a while. I want it to be brain dead simple for an investor to understand the value so that I can optimize the time I spend with the product. Is my logic flawed? What is the best way to approach raising money, while limiting both my time and risk? Thanks.

    Read the article

  • Google web search shows dateCreated instead of dateModified metadata

    - by LonelyPixel
    So today I discovered that the pages from my website are listed with an unexpected date value. I specify the schema.org properties dateCreated and dateModified for most of my content pages. I'd expect that search results show me when a page was last updated, to get a sense of the currency of the page. But it's showing the date of first publishing which may be years ago. That's a bit unsatisfying but I don't want to misuse the metadata because Google probably reads it wrong. Some search terms for you to try it out: "gitrevisiontool"; "easyxml"; "multiselecttreeview" (look for the results on dev.unclassified.de; the human- and machine-readable dates come at the end of the page) Does anybody know more about what's wrong here? Or does it work as designed? (What a stupid design that would be.)

    Read the article

  • align to the bottom of the div [closed]

    - by dole
    I need to arange the value and the lorem ipsum text to the bottom of the div as in the following image, but everything I've tryed until now doesn't work. My html looks like this: <div class="product"> <span class="title">Lorem Ipsum</span> <div class="values"> <span class="price">$29,225</span> <span class="description">Lorem ipsum dolor sit amet, consectetur ...</span> </div> </div>

    Read the article

  • Structuring an input file

    - by Ricardo
    I am in the process of structuring a small program to perform some hydraulic analysis of pipe flow. As I am envisioning this, the program will read an input file, store the input parameters in a suitable way, operate on them and finally output results. I am struggling with how to structure the input file in a sane way; that is, in a way that a human can write it easily and a machine can parse it easily. A sample input file made available to me for a similar program is just a stream of comma-separated numbers that don't make much sense on their own, so that's the scenario I am trying to avoid. Though I am giving the details of my particular problem, I am more interested in general input-file structuring strategies. Is a stream of comma-separated values my best bet? Would I be better off using some sort of key:value structure? I don't know much about this, so any help will probably put me in a better track than I am now.

    Read the article

  • Java Embedded @ JavaOne coming soon...

    - by hinkmond
    The "Internet of Things" is coming your way to the Java Embedded sub-conference at JavaOne 2012 next week: Oct. 3 - Oct. 4 in San Francisco. Get ready to learn how Java Embedded technologies and solutions offer compelling value. See: Java Embedded @ JavaOne Here's a quote: The conference is designed to provide business and technical decision makers, as well as Java embedded ecosystem partners, with a unique opportunity to meet together and learn about how they can use Java embedded technologies to enable new business strategies. It's the place to be for Java Embedded techies. Hinkmond

    Read the article

  • Setting Up Audio on a Server Install

    - by tdcrenshaw
    I'm running on a clean install of 10.10 Server edition and have alsa-base, alsa-tools, alsa-utils, alsaplayer, and alsa-firmware-loader installed. At one point I installed pulseaudio, but I have since removed it. I've tried the following lspci | grep audio 00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 01) 01:06.0 Multimedia audio controller: Creative Labs [SB Live! Value] EMU10k1X aplay -l aplay: device_list:235: no soundcards found... alsamixer can not open mixer: No such file or directory When I search for modules with find /lib/modules/`uname -r` | grep snd I do get a list of modules I'm not very experienced with alsa setup, so I'm not sure where to go from here

    Read the article

  • If you want to make money with apps, go BlackBerry

    An interesting study caught my eye. When taken at face value, it provesthat in order to really make money with apps you have to switch to the BlackBerryplatform.A company I never heard of, MPlayit (its URLcuriously opens a Facebook page), is apparently creating an “app discovery app” on Facebookand polled its users about how much they’re willing to spend on apps.Note immediately that this poll represents only the top of the market: the participants are people that areso interested in apps that they’re...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Why am I unable to telnet to a local port that has a listening service?

    - by Skip Huffman
    I suspect this is either a very simple question, or a very complex one. I have a headless server running ubuntu 10.04 that I can ssh into. I have full root access to the system. I am trying to set up an ssh tunnel to allow me to vnc to the system (but that isn't my question. I have vnc running on port 5903, here is the netstat output for that: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5903 0.0.0.0:* LISTEN 7173/Xtightvnc tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 465/sshd But when I try to telnet to that port, from within the same system and login, I get unable to connect errors # telnet localhost 5903 Trying ::1... Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection timed out I am able to telnet to port 22 (as a verification) ~# telnet localhost 22 Trying ::1... Connected to localhost. Escape character is '^]'. SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7 I have tried to open up any possible ports using ufw (probably clumsy fashion) # ufw status numbered Status: active To Action From -- ------ ---- [ 1] 5903 ALLOW IN Anywhere [ 2] 22 ALLOW IN Anywhere What else might be blocking this connection locally? Thank you, Edit: The only reference to port 5903 in iptable -L -n is this: Chain ufw-user-input (1 references) target prot opt source destination ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:5903 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:5903 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:8080 I can post the whole output if that will be useful. hosts.allow and hosts.deny both contain only comments. Re-Edit: Some other questions pointed me to nmap, so I ran a portscan through that utility: # nmap -v -sT localhost -p1-65535 Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-09 09:58 PST NSE: Loaded 0 scripts for scanning. Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. Initiating Connect Scan at 09:58 Scanning localhost (127.0.0.1) [65535 ports] Discovered open port 22/tcp on 127.0.0.1 Connect Scan Timing: About 18.56% done; ETC: 10:01 (0:02:16 remaining) Connect Scan Timing: About 44.35% done; ETC: 10:00 (0:01:17 remaining) Completed Connect Scan at 10:00, 112.36s elapsed (65535 total ports) Host localhost (127.0.0.1) is up (0.00s latency). Interesting ports on localhost (127.0.0.1): Not shown: 65533 filtered ports PORT STATE SERVICE 22/tcp open ssh 80/tcp closed http Read data files from: /usr/share/nmap Nmap done: 1 IP address (1 host up) scanned in 112.43 seconds Raw packets sent: 0 (0B) | Rcvd: 0 (0B) I think this shows that 5903 is blocked somehow. Which I pretty much knew. The question remains what is blocking it and how to modify. Re-re-edit: To check Paul Lathrop's suggested answer, I first verified my ip address with ifconfig: eth0 Link encap:Ethernet HWaddr 02:16:3e:42:28:8f inet addr:10.0.10.3 Bcast:10.0.10.255 Mask:255.255.255.0 Then tried to telnet to 5903 from that address: # telnet 10.0.10.3 5903 Trying 10.0.10.3... telnet: Unable to connect to remote host: Connection timed out No luck. Re-re-re-re-edit: Ok, I think I have isolated it a bit to vncserver, not the firewall, darn it. I shut off vncserver and had netcat listen on port 5903. My vnc client then was able to establish a connnection and sit and wait for a response. Looks like I should be chasing a vnc problem. At least that is progress Thanks for the help

    Read the article

  • Variable names for Contact Information bits

    - by RustyTheBoyRobot
    I am in the middle of refactoring code and would like to get some ideas on variable naming so that my new names clearly represent the data they hold. I have a class called ContactMethod which makes sense to me; each instance is a different way to contact someone. My problem comes when naming the properties of ContactMethod. For example, one instance might be a Fax number of 555-555-5555 while another could be an Email address of [email protected]; I've got a property called contactMethodType to hold the values "fax" or "email", but I don't know what to call the "555-555-5555" or "[email protected]" part. Has anyone here created a good generic name for this piece of contact information? (PS - the old convention was to call it a "Phone" with fields "phoneType" holding the "fax"/"email" value and "phoneId" holding the number/address. Yuck.)

    Read the article

  • Inventory Item Exist checker

    - by Annalyne
    I have a question regarding declaring my inventory. I made it a string named inventory, with a constant number as its max value. The thing is, I want the user to use an item if he / she gains an item. The problem is, I do not know what syntax should I use to determine if the user has an item and use that item. Here's my code I just started: so declaring the inventory: const int MAX_ITEMS = 15; string game_inventory [MAX_ITEMS]; int itemnum = 0; I have some items like potion, antidote, gems and others. I use the: game_inventory[itemnum++] = "Potion" to place items in my inventory. If I want to use the potion, IF I HAVE one, how can i make a function to check whether I have a potion or anything and use it?

    Read the article

  • Get/Post Controller Logic Best Practice

    - by Brian Mains
    In an ASP.NET MVC project (Razor), I have a Get request, which loads two properties on a model, dependent on the property passed into the action method. So if the parameter has a value, the Group property is supplied data. But if not, the Groups collection property is supplied data. In the post action method, when I process the data, to repopulate the view, I have to provide similar logic, and could getaway with returning Action(param) (the get response) to the caller. My question is, based on experience, is that a good practice to get into? I see some downsides to doing that, but adds the lack of code redundancy. Or is there a better alternative?

    Read the article

  • PHP user created function return values problem

    - by faX
    Okay I'm new here and I have been trying to figure this out all day I have two functions one calling the other but my functions only returns the last value for example 29 when it should return multiple values. As wondering how can I fix this problem so that my functions return all the values. Here is my PHP code. function parent_comments(){ if(articles_parent_comments_info($_GET['article_id']) !== false){ foreach(articles_parent_comments_info($_GET['article_id']) as $comment_info){ $comment_id = filternum($comment_info['comment_id']); reply_comment_count($comment_id); } } } function reply_comment_count($parent_id){ if(articles_reply_comments_info($_GET['article_id']) !== false){ foreach(articles_reply_comments_info($_GET['article_id']) as $reply_info){ $comment_id = filternum($reply_info['comment_id']); $reply_id = filternum($reply_info['parent_id']); if($parent_id === $reply_id){ reply_comment_count($comment_id); } } } return $comment_id; }

    Read the article

  • Mousin' down the PathListBox

    - by T
    While modifying the standard media player with a new look and feel for Ineta Live I saw a unique opportunity to use their logo with a dotted I with and attached arc as the scrub control. So I created a PathListBox that I wanted an object to follow when a user did a click and drag action.  Below is how I solved the problem.  Please let me know if you have improvements or know of a completely different way.  I am always eager to learn. First, I created a path using the pen tool in Expression Blend (see the yellow line in image below).  Then I right clicked that path and chose [Path] --> [Make Layout Path].   That created a new PathListBox.  Then I chose the object I want to move down the new PathListBox and Placed it as a child in the Objects and Timeline window (see image below).  If the child object (the thing the user will click and drag) is XAML, it will move much smoother than images. Just as another side note, I wanted there to be no highlight when the user selects the “ball” to drag and drop.  This is done by editing the ItemContainerStyle under Additional Templates on the PathListBox.  Post a question if you need help on this and I will expand my explanation. Here is a pic of the object and the path I wanted it to follow.  I gave the path a yellow solid brush here so you could see it but when I lay this over another object, I will make the path transparent.   To animate this object down the path, the trick is to animate the Start number for the LayoutPath.  Not the StartItemIndex, the Start above Span. In order to enable animation when a user clicks and drags, I put in the following code snippets in the code behind. the DependencyProperties are not necessary for the Drag control. namespace InetaPlayer{ public partial class PositionControl : UserControl { private bool _mouseDown; private double _maxPlayTime; public PositionControl() { // Required to initialize variables InitializeComponent(); //mouse events for scrub control positionThumb.MouseLeftButtonDown += new MouseButtonEventHandler(ValueThumb_MouseLeftButtonDown); positionThumb.MouseLeftButtonUp += new MouseButtonEventHandler(ValueThumb_MouseLeftButtonUp); positionThumb.MouseMove += new MouseEventHandler(ValueThumb_MouseMove); positionThumb.LostMouseCapture += new MouseEventHandler(ValueThumb_LostMouseCapture); } // exposed for binding to real slider using a DependencyProperty enables animation, styling, binding, etc.... public double MaxPlayTime { get { return (double)GetValue(MaxPlayTimeProperty); } set { SetValue(MaxPlayTimeProperty, value); } } public static readonly DependencyProperty MaxPlayTimeProperty = DependencyProperty.Register("MaxPlayTime", typeof(double), typeof(PositionControl), null);   // exposed for binding to real slider using a DependencyProperty enables animation, styling, binding, etc....   public double CurrSliderValue { get { return (double)GetValue(CurrSliderValueProperty); } set { SetValue(CurrSliderValueProperty, value); } }   public static readonly DependencyProperty CurrSliderValueProperty = DependencyProperty.Register("CurrSliderValue", typeof(double), typeof(PositionControl), new PropertyMetadata(0.0, OnCurrSliderValuePropertyChanged));   private static void OnCurrSliderValuePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { PositionControl control = d as PositionControl; control.OnCurrSliderValueChanged((double)e.OldValue, (double)e.NewValue); }   private void OnCurrSliderValueChanged(double oldValue, double newValue) { _maxPlayTime = (double) GetValue(MaxPlayTimeProperty); if (!_mouseDown) if (_maxPlayTime!=0) sliderPathListBox.LayoutPaths[0].Start = newValue / _maxPlayTime; else sliderPathListBox.LayoutPaths[0].Start = 0; }  //mouse control   void ValueThumb_MouseMove(object sender, MouseEventArgs e) { if (!_mouseDown) return; //get the offset of how far the drag has been //direction is handled automatically (offset will be negative for left move and positive for right move) Point mouseOff = e.GetPosition(positionThumb); //Divide the offset by 1000 for a smooth transition sliderPathListBox.LayoutPaths[0].Start +=mouseOff.X/1000; _maxPlayTime = (double)GetValue(MaxPlayTimeProperty); SetValue(CurrSliderValueProperty ,sliderPathListBox.LayoutPaths[0].Start*_maxPlayTime); }   void ValueThumb_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { _mouseDown = false; } void ValueThumb_LostMouseCapture(object sender, MouseEventArgs e) { _mouseDown = false; } void ValueThumb_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { _mouseDown = true; ((UIElement)positionThumb).CaptureMouse(); }   }}  I made this into a user control and exposed a couple of DependencyProperties in order to bind it to a standard Slider in the overall project.  This control is embedded into the standard Expression media player template and is used to replace the standard scrub bar.  When the player goes live, I will put a link here.

    Read the article

  • Best Way to Handle Meta Information in a SQL Database

    - by danielhanly.com
    I've got a database where I want to store user information and user_meta information. The reason behind setting it up in this way was because the user_meta side may change over time and I would like to do this without disrupting the master user table. If possible, I would like some advice on how to best set up this meta data table. I can either set it as below: +----+---------+----------+--------------------+ | id | user_id | key | value | +----+---------+----------+--------------------+ | 1 | 1 | email | [email protected] | | 2 | 1 | name | user name | | 3 | 1 | address | test address | ... Or, I can set it as below: +----+---------+--------------------+--------------------+--------------+ | id | user_id | email | name | address | +----+---------+--------------------+--------------------+--------------+ | 1 | 1 | [email protected] | user name | test address | Obviously, the top verison is more flexible, but the bottom version is space saving and perhaps more efficient, returning all the data as a single record. Which is the best way to go about this? Or, am I going about this completely wrong and there's another way I've not thought of?

    Read the article

  • Dell Inspiron N5110 Battery lasts only for 1.5 hours as opposed to 4 hours on Windows 7

    - by ubuntufan
    I've a Dell Inspiron N5110 laptop with the following specs: i5 processor 4 GB RAM NVIDIA GeForce GT540M Ubuntu 12.04LTS My laptop is overheating and the battery is lasting for only about 1.5 hours. I had checked if the battery indicator was problematic but it turned out it wasn't. I drained the battery to it's least possible value and that came to around 1 hr 40 minutes. In fact, I've the same problem with Debian and Xubuntu as well. I would like to get some proper solution for this. FYI: I've been having this problem since Ubuntu 11.04 but I'm not able to solve this in spite of trying various fixes like reducing brightness, Removing startup apps, Updating kernel and what not?. I'm a big fan of Ubuntu but this problem is stopping me from using Ubuntu and I'm using Win7 for 90% of the time.

    Read the article

  • Why is it an issue that it takes 2 digits to represent the number 10 in decimal?

    - by Crizly
    So we use hexadecimal which has the advantage of going up to 15 in single digits A-F, but why is it an issue that it takes 2 digits to represent the number 10 in decimal? I was reading up about hexadecimal and I came across these 2 lines: Base 16 suggests the digits 0 to 15, but the problem we face is that it requires 2 digits to represent 10 to 15. Hexadecimal solves this problem by using the letters A to F. My question is, why do we care how many digits it takes to represent 15? What is the importance of this number, and how does denoting it with a single character have any value?

    Read the article

  • How to ensure that a member variable is initialized before calling a class method

    - by Omkar Ekbote
    There's a class with a parametrized constructor that initializes a member variable. All public methods of the class then use this member variable to do something. I want to ensure that the caller always creates an object using the parametrized constructor (there is also a setter for this member variable) and then call that object's methods. In essence, it should be impossible for the caller to call any method without setting a value to the member variable (either by using the parametrized constructor or the setter). Currently, a caller can simply make an object using the default constructor and then call that object's method - I want to avoid checking whether or not the member variable is set in each and every one of the 20-odd methods of the class (and throw an exception if it is not). Though a runtime solution is acceptable (better than the one I mentioned above); a compile-time solution is preferable so that any developer will not be allowed to make that mistake and then waste hours debuggging it!

    Read the article

  • Verifying that a user comes from a 'partner' site?

    - by matt_tm
    We're building a Drupal module that is going to be given to trusted 'corporate partners'. When a user clicks on a link, he should be redirected to our site as if he's a logged in user. How should I verify that the user is indeed coming from that site? It does not look like 'HTTP_REFERER' is enough because it appears it can be faked. We are providing these partner sites with API Keys. If I receive the API-key as a POST value, sent over https, would that be a sufficient indicator that the user is a genuine partner-site user?

    Read the article

  • Excel duration converts to date

    - by Malcolm Anderson
    I'm working on an Excel 2010 spreadsheet and I'm trying to put in durations for some tasks I want to schedule.The interesting thing is that up until a few minutes ago, I couldn't do it.I was entering in "47:00" and excel was (and still is) converting it to "1/1/1900 23:00:00"In my mind, I want the value to be 47 minutes, but for the life of me I cannot find a fix for this behavior.Here's the weirdest thing, I haven't had this problem in the past.  Usually I put in times, add them up and they work like magic.  Put in 18 entries of 20 minutes each, total them and excel will usually tell me that it's a total of 6 hours.No problem.Today, problem.Here's the weird bit:As I was writing this post, I got it to work.By formatting the column as custom "[hh]:mm" and summing the columns, I can get total times.But the times are still being formatted into dates if I look at the underlying data.  Bottom line, if you need to calculate durations, you can, but don't look too closely at what is happening underneath the covers.

    Read the article

  • Bad sound quality and headphones not working

    - by wifi
    Using Ubuntu 10.10, on a HP Pavilion t3019.es, which has a Realtek ALC880 soundcard. It has 6 rear jack outputs, plus digital audio input and output, plus 3 front jacks (mic, headphones and a blue one which i don't know what's for). The sound on my computer is very low, and when i raise the volume up to 50%, it starts sounding distorted, crackling. Also, the headphones don't work when i plug them (it just keeps on playing through the speakers). I tried to comment the "/etc/modprobe.d/alsa-base.conf" file according to the soundcard and jacks in my computer, but none of the lines added worked (naturally, didn't added them at once). I found out that adding "options snd-hda-intel model=generic" to it made the sound better, but it's not as good as in Windows yet. Any ideas? Other than setting the PCM value, didn't work for me. Thanks.

    Read the article

  • How should I define my Java Objects?

    - by HonorGod
    I have a data grid where I sort of show the following information - All Guests Total Adults = 22 Total Children = 27 Confirmed Total Adults = 9 Total Children = 13 Country = Germany Total Adults = 5 Total Childres = 6 Friends Adults = 2 Children = 2 Relatives Adults = 3 Children = 4 Country = USA Total Adults = 4 Total Childres = 7 Friends Adults = 2 Children = 5 Relatives Adults = 2 Children = 2 Tentative Total Adults = 13 Total Children - 14 Country = Australia Total Adults = 7 Total Childres = 8 Friends Adults = 2 Children = 3 Relatives Adults = 5 Children = 5 Country = China Total Adults = 6 Total Childres = 6 Friends Adults = 2 Children = 4 Relatives Adults = 4 Children = 2 And in the database what I have is data at the lowest level which is Friends / Relatives and the corresponding countries set as a look-up value which in indirectly connected to another look-up that can tell me if they fall under confirmed or tentative. I guess my question is how do I layout my Java Object and perform the aggregations and give it back to the client. I am not sure if I am clear with my question, but feel free to comment so I can update the question accordingly.

    Read the article

  • BIP 11g Dynamic SQL

    - by Tim Dexter
    Back in the 10g release, if you wanted something beyond the standard query for your report extract; you needed to break out your favorite text editor. You gotta love 'vi' and hate emacs, am I right? And get to building a data template, they were/are lovely to write, such fun ... not! Its not fun writing them by hand but, you do get to do some cool stuff around the data extract including dynamic SQL. By that I mean the ability to add content dynamically to your your query at runtime. With 11g, we spoiled you with a visual builder, no more vi or notepad sessions, a friendly drag and drop interface allowing you to build hierarchical data sets, calculated columns, summary columns, etc. You can still create the dynamic SQL statements, its not so well documented right now, in lieu of doc updates here's the skinny. If you check out the 10g process to create dynamic sql in the docs. You need to create a data trigger function where you assign the dynamic sql to a global variable that's matched in your report SQL. In 11g, the process is really the same, BI Publisher just provides a bit more help to define what trigger code needs to be called. You still need to create the function and place it inside a package in the db. Here's a simple plsql package with the 'beforedata' function trigger. Spec create or replace PACKAGE BIREPORTS AS whereCols varchar2(2000); FUNCTION beforeReportTrig return boolean; end BIREPORTS; Body create or replace PACKAGE BODY BIREPORTS AS   FUNCTION beforeReportTrig return boolean AS   BEGIN       whereCols := ' and d.department_id = 100';     RETURN true;   END beforeReportTrig; END BIREPORTS; you'll notice the additional where clause (whereCols - declared as a public variable) is hard coded. I'll cover parameterizing that in my next post. If you can not wait, check the 10g docs for an example. I have my package compiling successfully in the db. Now, onto the BIP data model definition. 1. Create a new data model and go ahead and create your query(s) as you would normally. 2. In the query dialog box, add in the variables you want replaced at runtime using an ampersand rather than a colon e.g. &whereCols.   select     d.DEPARTMENT_NAME, ...  from    "OE"."EMPLOYEES" e,     "OE"."DEPARTMENTS" d  where   d."DEPARTMENT_ID"= e."DEPARTMENT_ID" &whereCols   Note that 'whereCols' matches the global variable name in our package. When you click OK to clear the dialog, you'll be asked for a default value for the variable, just use ' and 1=1' That leading space is important to keep the SQL valid ie required whitespace. This value will be used for the where clause if case its not set by the function code. 3. Now click on the Event Triggers tree node and create a new trigger of the type Before Data. Type in the default package name, in my example, 'BIREPORTS'. Then hit the update button to get BIP to fetch the valid functions.In my case I get to see the following: Select the BEFOREREPORTTRIG function (or your name) and shuttle it across. 4. Save your data model and now test it. For now, you can update the where clause via the plsql package. Next time ... parametrizing the dynamic clause.

    Read the article

< Previous Page | 801 802 803 804 805 806 807 808 809 810 811 812  | Next Page >