- VizTool meeting – showed new capabilities from FA/RA
- Deployed new FA/RA
- managed to find a bug where the list of projects not showing up when Req’s/Obligations/Outlays were cleaned up – fixed
- Continue working on FA/RA
- fixed goals not showing up after Financial Data edit
Category Archives: VISIBILITY
Phil 5.23.13
7:30 – 10:30 SR
- Backups, and it turns out that there was a bug with the project_portfolio_enh db, where a view that referenced tables that no longer exist was trying to be serialized. Dropping the view fixed the problem.
- Deployed the new FA, and changed the db around a bit to accommodate. Which caused all the data to disappear from the client due to a null return of a query. Which caused us to want to restore from the backups. Which brought the backup error to light. Fortunately, it’s a test db, and very little actual work was lost.
- Looked at the server info in Xacta, which was a new, exciting thing. It looks like our current authority to operate expires 3/25/2014. Need to keep an eye on that.
- Meeting with the PIT crew from 7:30-8:00, which I missed due to the fact that I was uploading the new FA in preparation for the *scheduled* 8:00 meeting. Dong caught it though. He showed/described FA and RA to the team and they are actually quite happy.
10:30 – 3:30 FP.
- More Audio3d.
- Starting to add in the 3dAudio based on this and this and this.
- Got an audio link error and chased that down, discovering a few things along the way.
- There is directX help for C++ in (“C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Documentation\DirectX9\directx_sdk.chm”). I don’t know it it’s any good, but I’m going to look though it next. Note that this is DX9, not 11. I’m *hoping* that this is all up to date…
- Pointed Configuration Properties->Linker->General->Additional Library Directories at (C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86), and added the following files to Configuration Properties->Linker->Input->additional dependencies”
- d3d11.lib
d3dx11.lib
winmm.lib
xinput.lib
X3DAudio.lib - This is a change from the libraries that the demo book points at, which were dxd9 libs. Recompiled and ran the code with no problems. I did attempt to clean up the xact3dInstance pointer in ~Audio3d(), but delete[] threw an exception
- d3d11.lib
- Reading through the DX documentation, which, though it is in the DX9 folder, contains information about DX11. Whatever.
- The documentation is kind of what you’d expect, but it let me find the tutorials and demos, which are quite nice. On my machine, the demos that I’m interested in are located here: (C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Samples\C++\XAudio2). It contains 4 projects:
- XAudio2BasicSound
- XAudioBasicStream
- XAudio2CustomAPO
- XAudio2Sound3D
- Each project has source and MSVC2008 and MSVC2010 project files. I’ve just opened up the XAudio2Sound3D MSVC2010 project, and it compiled and ran just fine:

- This is almost exactly what I intend to build for the test environment, so that’s pretty cool. And using the buttons or the keyboard, I can drive the sound emitter around my head. Woohoo!
- Next goal is to build up a copy of XAudio2BasicSound and then add the 3D components (without the graphics) from XAudio2Sound3D.
Phil 5.22.13
8:00 – 12:00, 3:00 – 4:00 SR
- Backup.
- ISSO Meeting – 8210 Dorsey Run Road, Jessup, MD
- More resume variants
- Meeting with Brad, our Program Manager.
12:00 – 1:30 Lunch with Greg
1:30 – 3:00 FP
- Work on Audio3d class
- It appears that you *have* to include <xact3.h> before <xact3d3.h>. It seems to be tied up with <x3daudio.h>, which is declared before <xact3.h> in <xact3d3.h>. If I reverse the order of those calls, no error messages. otherwise I get the following (included for the next poor soul who pastes this errot in Google):
-
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(6361): error C2146: syntax error : missing ';' before identifier 'ContextRecord' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(6361): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(6361): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12983): error C2065: 'PCONTEXT' : undeclared identifier 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12984): error C2146: syntax error : missing ')' before identifier 'ContextRecord' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12984): warning C4229: anachronism used : modifiers on data are ignored 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12984): error C2182: 'RtlCaptureContext' : illegal use of type 'void' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12984): error C2491: 'RtlCaptureContext' : definition of dllimport data not allowed 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(12984): error C2059: syntax error : ')' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(13372): error C2143: syntax error : missing ';' before '__stdcall' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(13372): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(13376): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(14982): error C3861: '__readfsdword': identifier not found 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(1048): error C2146: syntax error : missing ';' before identifier 'LPCONTEXT' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(1048): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(1048): error C2378: 'PCONTEXT' : redefinition; symbol cannot be overloaded with a typedef 1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winnt.h(13372) : see declaration of 'PCONTEXT' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(1048): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(3610): error C2061: syntax error : identifier 'PCONTEXT' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(4449): error C2061: syntax error : identifier 'LPCONTEXT' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(4457): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(4457): error C2143: syntax error : missing ',' before '*' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(15112): error C2143: syntax error : missing ';' before '__stdcall' 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(15112): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winbase.h(15116): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
-
- And this is one of the reasons the Microsoft drives me so crazy…
- …..and I got sucked into a meeting so that looks like it for the day.
Dong Shin 05.22.2013
- continue working on FA/RA
- working down the bug list
- fixed Budget not showing properly when saved as new
- fixed Project Budget Info not selecting previously selected data
- fixed FACTS PE not setting correctly
- fixed Total Budget / Total Allocated not showing correctly in Project Mgmt Panel
- fixed Sub Projects Budget calculation
- added additional information to the sub projects panel (total, funded, unfunded, available)
- working down the bug list
Dong Shin 05.21.2013
- deployed new FA and RA, found few problems
- When Update is clicked and not all fields are filled in, we might what to pop up a dialog box saying that they are not all filled in but allowing for a save
- Add tooltips to buttons. In particular, we need to be clear about what saves and what cancels without saving.
Add a “Select All” to the SQL error dialog, now that we have QUERIES FROM HELL.RA error string: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptio: Unknown column ‘c.appropriation’ in ‘where clause’.
- Continue working on FA/RA
- setting up relations between projects, budget_centers, obligations_outlays tables
- ALTER TABLE `budget_centers` ADD FOREIGN KEY ( `project_id` ) REFERENCES `project_portfolio_enh`.`projects` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE ;
ALTER TABLE `obligations_outlays` ADD FOREIGN KEY ( `project_id` ) REFERENCES `project_portfolio_enh`.`projects` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE ;
ALTER TABLE `obligations_outlays` ADD FOREIGN KEY ( `funding_id` ) REFERENCES `project_portfolio_enh`.`budget_centers` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE ;
- ALTER TABLE `budget_centers` ADD FOREIGN KEY ( `project_id` ) REFERENCES `project_portfolio_enh`.`projects` (`uid`) ON DELETE CASCADE ON UPDATE CASCADE ;
- found that saving “new” project doesn’t create obligations/outlays data correctly – fixed
- setting up relations between projects, budget_centers, obligations_outlays tables
Phil 5.21.13
8:00 – 1:00 SR
- Backups
- Deployed the new FA and RA for the first time. Had to make some changes to the DB to support. FA runs just fine, but there is a query problem in RA. Current bugs are:
- When Update is clicked and not all fields are filledin, we might what to pop up a dialog box saying that they are not all filled in but allowing for a save.
- Add tooltips to buttons. In particular, we need to be clear about what saves and what cnacels without saving.
- Add a “Select All” to the SQL error dialog, now that we have QUERIES FROM HELL.
- RA error string: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorExceptio: Unknown column ‘c.appropriation’ in ‘where clause’.
- Cleaned up the blog a bit to accommodate FA and RA.
- Had an interesting talk with Dimitri about his Master’s program. Thought for the day. What if access to a system was based on an Eliza-like conversation with the computer. There would be an initial “get acquainted” session, and then the “login” conversation would be shorter.
- Store key patterns as well as the words.
- Use a plagerism test to look for cut-and-paste replies from recorded sessions
- Login discussions could be like Capchas in that they could be half test, half learning.
2:00 – 4:00 FP
- I thought this tutorial would be the best way to get positional information, but it appears to be stale. The New Way seems to be this.
- Close, but it’s actually part of the Windows API now?
- Nope that’s C#. Still looking. Since I have xact3.h working, trying to stay in this space…
- 3D XACT using C++
- Which references How To: Integrate X3DAudio with XACT
- Still looking for what headers to include. Got it. It’s <xact3d3.h>. Don’t confuse this with <xact3.h>
- Ok, for tomorrow, I start writing a 3D version of Audio.h and then try calling that from the ConsoleSoundApp.
8:00 – 10:30 SR
- Backups
- I got an email saying the current Tomcat server is out of date, but I can’t find an actual ticket. Maybe it will show up later?
- While poking around throug codeproject, I came upon an article for JavaScript game development that used a library called “ease”. Looks interesting…
ease.js is a Classical Object-Oriented framework for JavaScript, intended to eliminate boilerplate code and “ease” the transition into JavaScript from other Object-Oriented languages. Features include:
- Simple and intuitive class definitions
- Classical inheritance
- Abstract classes and methods
- Interfaces
- Access modifiers (public, protected and private)
- Static and constant members
ease.js is a framework, not a compiler. It may be used wherever JavaScript may be used, including with other compilers/parsers. ease.js also provides support for older, pre-ES5 environments by gracefully degrading features (such as visibility support), but remaining functionally consistent.
10:30 – 4:00 FP
- Ran the example app with the audio server off. All still runs fine.
- Working on getting the sound to run in a basic console app.
- I was (am?) having problems with strings, specifically LPTSTR. It turns out that LPSTR changes based on compiler settings. Here’s how you make an LPTSTR char*:

Looks like everything is working in the proof of concept! Here’s the code:
#include "stdafx.h"
#include <Windows.h>
#include <conio.h>
#include "audio.h"
int _tmain(int argc, _TCHAR* argv[])
{
int keyIn;
HRESULT hr; // standard return type
LPTSTR buf;
LPTSTR targetDir = "C:\\Programming 2D Games in DirectX 11\\Chapter 7 - Sound\\ConsoleSound\\ConsoleSound\\ConsoleSound";
Audio *audio = new Audio();
SetCurrentDirectory(targetDir);
buf = (LPTSTR)calloc(256, sizeof(char));
GetCurrentDirectory(256, buf);
printf("Current dir: '%s'\n", buf);
if (*WAVE_BANK != '' && *SOUND_BANK != '') // if sound files defined
{
if( FAILED( hr = audio->initialize() ) )
{
if( hr == HRESULT_FROM_WIN32( ERROR_FILE_NOT_FOUND ) ){
printf("Failed to initialize sound system because media file not found.\n");
printf("hit return to exit\n");
getchar();
return -1;
}
else{
printf("Failed to initialize sound system.\n");
printf("hit return to exit\n");
getchar();
return -1;
}
}
}
printf("Type 'x' to quit, 1, 2, or 3 for sounds.\n");
bool doit = true;
while(doit){
if(kbhit()){
keyIn = getch();
printf("key = %c\n", keyIn);
switch(keyIn){
case 'x' : doit = false;
break;
case '1' : audio->playCue(BEEP1); // play sound
break;
case '2' : audio->playCue(BEEP2); // play sound
break;
case '3' : audio->playCue(BEEP3); // play sound
break;
}
}
audio->run(); // perform periodic sound engine tasks
Sleep(100);
}
SAFE_DELETE(audio);
printf("hit return to exit");
getchar();
return 0;
}
Tomorrow, we’ll try to add positional sound.
- Haven’t had time to verify that this is correct code for my particular DirectX setup, but it looks close: http://www.rastertek.com/dx11tut31.html. It looks like a lot of good stuff on the site if you walk in through the front door.
Dong Shin 05.20.2013
- continue working on FA/RA
- removed unecessary columns from budget_centers table
- ALTER TABLE `budget_centers`
DROP `center_number`,
DROP `center_name`,
DROP `capability`,
DROP `expenditure_center`,
DROP `investment_portfolio`,
DROP `appropriation`,
DROP `program_element`,
DROP `facts_pe`;
- ALTER TABLE `budget_centers`
- working down the bug list from Lenny
- save Requisition allows empty date fields
- reworking Copy Project
- removed Project menu items – more confusing
- created stored procedure – copy_budget_centers, to copy all requisition and obligations/outlays data
- removed unecessary columns from budget_centers table
Dong Shin 05.17.2013
- continue working on RA/FA
- working on Financial Data Editor
- got filtering to work
- editor works!
- need to update the projects to have correct appropriations – done
- cleaning up previous project budget/requistion information….
- working on Financial Data Editor
Phil 5.17.13
8:00 – 11:00 SR
- It turns out that I had forgotten to change the conf/server.xml file in addition to the java startup arguments. The keystore.jks file needs to be referenced in the <Connector keystoreFile=””/> element.
- Backups
- Talked schedule with Dong. Maybe a deployment Tuesday?
11:00 – 4:00 FP
- Imported the sound example code into MSVC and successfully compiled.
- And runs! With sound!
-

- Next we try to put the audio class into a console app (main as opposed to winmain) and see if that can be made to work.
- That went pretty smoothly. I had to add the DirectX “include” directories, add stdafx.h to the audio.cpp file and cast some char* to LPWSTR. The next step is to fill out the main() so that the audio is initialized and then run a loop to send different audio commands. A good task for Monday.
Dong Shin 05.16.2013
- continue working on RA
- working on Requisitions Data Editor
- created requistionData components to view the data
- changed FinancialData query (long!) to work with the new data structure
- working on Requisitions Data Editor
Phil 5.16.13
8:00 – 11:00 SR
- Well, the cert is right on the production box, but there is something wrong with the test box. And of course that’s a signal for everything else to break. My mouse went into “crawl” mode, and I had to log out of everything and restart my desktop box.
- And the cert webpage is down, so I can’t see if they revoked the wrong cert. I guess I’ll try tomorrow. It’s accessible through Firefox, and it’s only the integration server, so no panic. Grumble.
- Lenny’s list of bugs:
- Projects created for the test were 209 with child projects 210 and 211
- Req type does not have all the different requisition types. The list should be EA, EAO, MIPR, REQ and RTA.
- Cannot save requisition unless all date fields are completed, which will not be known when requisitions are added
- Tried to duplicate a project and received the following error message: Error occurred duplicating project – please check server logs
- When a project was copied the Project Budget Info was only partially copied over. Budget Center Name, FACTS PE and Sub-budget Center Name were not copied over
- When a project is saved the Budget is changed back to zero. After re-entering the budget and updating the project it is saved properly
- When a Sub Project was added the Total Project Budget Information was replaced by the Sub Project Budget information and the Sub Projects Budget information for 2013 is blank but the total is correct.
- When clicking on the Edit button under Project Budget Info after having selected the proper choices the fields are not defaulting to the previously selected choices.
- After saving Project Budget Info the FACTS PE appears as undefined instead of the option that was selected. After adding a second Sub Project, the Sub Project’s Budget field is populated incorrectly. It should be the total of the Budgets from each of the Sub Projects.
- Also, the Allocated, Funded, and Un-Funded fields are zero instead of the correct amounts.
- The Total Line Budget appears as the Total Line Budget from the parent project
- The Allocated, Funded and Un-Funded are zero instead of the correct amounts.
- I was able to upload the COGNOS data pull but there are issues with it.
- There are multiple entries for most Req IDs and these were supposed to be consolidated into one line (is that true? Phil).
- The Committed amount is incorrect.
- The Obligated Amount is missing.
- The Expensed Amount is incorrect
- The Committed Date is missing.
- The Obligation Date is correct, but the Expensed date should pull the most recent Expensed Date but is picking the first.
- On the Project Management screen the Total Budget and Total Allocated are not Correct.
FP
- Copied the OpenAL SDK out of the ProgramFiles(x86) directory where the installer put it and put it in my menagerie of API test code
- Converted the MSVC 2005 project to 2010
- Tried to compile, but the target names didn’t match. Adjusted the output name in the Properties->Configuration Properties->Linker->General->Output File field from PlayMultiChannelWin32.exe to PlayMultiChannel.exe.
- Compiled and ran in debug mode, but got the same problem where the audio is going to the 3 front speakers.
- Since all else has failed, I’m going to RTFM. In OpenAL 1.1 SDK/docs is a collection of documents. Going to start with the OpenAL Programmer’s Guide.
- It’s more of an API listing. Though I did discover there is a thing known as the OpenAL Utility Linrary (ALUT), which might be useful. Here are some good notes:
- So this is really weird. I’m looking through the code to see how the channels are activated, and there doesn’t seem to be anything explicit. But I do find where the wav files are stored. Listening to these samples in windows media player, the correct Dolby channels are selected for 5.1 and 7.1. It seems as though OpenAl is flattening the information to the front three channels. Wile poking around on the OpenAL website, I came across the following regarding Vista:
- With Microsoft’s decision to remove the audio hardware layer in Windows Vista, legacy DirectSound 3D games will no longer use hardware 3D algorithms for audio spatialization. Instead they will have to rely upon the new Microsoft software mixer that is built into Windows Vista. This new software mixer will give the users basic audio support for their old Direct Sound games but since it has no hardware layer, all EAX® effects will be lost, and no individual per-voice processing can be performed using dedicated hardware processing.
- I think I’m getting “basic” audio support. This explains why the codebase has not been touched since 2008 or so. Looks like a dead end.
- Moving along, it’s time to try DirectX. The samples I can find online don’t really thrill me, but looking at books on Amazon, I found Programming 2D Games (P2DG), which has a nice section on sound. It’s now sitting in my Kindle Library. Let’s see how that goes.
- Downloading the DirectX SDK. All 572 MB of it. Last updated in 2010. Why is this making me nervous?
- Ran the DirectX installer, which blew up, but seems to have installed all the components, and the demos run. The demo games do generate Dolby 7.1 as well, so that’s progress…
- Following the steps in Chapter 7 (Sound) in P2DG. XACT opened up just fine. Importing wav files from the OpenAL media directory. Interestingly, some .wav files choked as “unrecognizable” Don’t know why…

- Got the sounds imported and playing in XACT and the Audio Console. And considering how much stuff didn’t work today, That’s enough progress to leave on a high note.
Phil 5.15.13
8:00 – 1:00 SR
- Backups.
- Some back and forth about revoking my old certs. It will turn off the annoying emails, so I confirmed the request as long as it doesn’t affect my new, shiny certs.
FP
- Need to send iRevolution white paper to Shawn, and a link to this blog.
- Need to put together a schedule for my “Summer of Code”
- Still no extension cord (Whee! It came in after lunch!).
- There is a multichannel test binary that you can run. (C:\Program Files (x86)\OpenAL 1.1 SDK\samples\bin\win64\PlayMultiChannelWin64.exe). It should run
front left, center, front right, rear right, rear left, and subwoofer.
Instead, it’s running
front left, front right, and center.
I’ve verified that all eight speakers are working in the test app that comes with the drivers. I’ve also verified that the sound is correctly sent using the Control Panel Sound->configure tool. So I’m not sure if it’s OpenAl or something else. Ah well. That’s for tomorrow.
Dong Shin 05.15.2013
- continue working on FA/RA
- added POC filter for adding service POC’s to Req’s
- filter Requisitions List in RA per assigned Service POC’s to the Req’s
- working on getting status for Req’s – done!
- query to find Overdue, Due, Current Req’s
- SELECT * FROM (
SELECT ‘CURRENT’ AS status, c.* FROM budget_centers c WHERE uid NOT IN (
SELECT funding_id FROM (
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_1) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_2) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_3) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_4) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_5) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_6) GROUP BY year, year_count, funding_id
) AS t)
UNIONSELECT ‘DUE’ AS status, c.* FROM budget_centers c WHERE uid IN (
SELECT funding_id FROM (
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_1) GROUP BY year, year_count, funding_id
) AS t)
AND uid NOT IN (
SELECT funding_id FROM (
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_1) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_2) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_3) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_4) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_5) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_6) GROUP BY year, year_count, funding_id
) AS t)UNION
SELECT ‘OVERDUE’ AS status, c.* FROM budget_centers c WHERE uid IN (
SELECT funding_id FROM (
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_1) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_2) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_3) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_4) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_5) GROUP BY year, year_count, funding_id
UNION
SELECT count(*) as null_count, funding_id, year, year_count FROM budget_centers c, obligations_outlays o
WHERE c.uid = o.funding_id AND o.year + o.year_count = 2014 AND ISNULL(month_6) GROUP BY year, year_count, funding_id
) AS t
)
) AS t2 ORDER BY uid
- SELECT * FROM (
- query to find Overdue, Due, Current Req’s
Dong Shin 05.14.2013
- continue working on RA/FA
- converting FilterableDG and associated components in FGMFlexUtils45 to spark components…. – done
- got Requisition data list to display in RA
- working on getting status for the Req Data

You must be logged in to post a comment.