I've been tasked to build a program which provides a UI that creates, imports, edits and exports database files and generates PDF (or PDF convertible) reports based on the database information. I want to store and backup database files and folders using Dropbox. Database information will consist of text and images.
My problem is my only programming experience is in firmware design for microcontrollers or similar hardware at which I am proficient. I have minimal experience in software design though I have some basic fundamentals down from my college years. I've spent a lot of time working in C language and I have previous experience using java. I have no experience creating executables or working with database files or producing nice PDF reports from buffered information.
My primary question is where do I begin? What advice would you give on where to start? Is it realistic that someone with my experience could learn how to build this sort of program in a 4-6 month period? What tools would you use? Is there anything particularly difficult about what I'm trying to do? Do you know of any useful tutorials or learning programs that would help me get my foot in the door?
Thank you,
There's a lot of ways to tackle this problem. We all come from different backgrounds and experiences. Here is how I would approach the problem. However, there may be limitations based on your budget and licensing options!
I would utilize QT and its many supplemental libraries as the core framework for the system.
Use QML to create front end
Pass data between front end and controller c++ file. '[Expose c++ to qml]'2
Use QT database API to I/O with whatever you are targetting.
Use QPdf writer to write the PDF file.
For image processing use something like openCV
This solution would utilize mostly c++ and QML to tackle the project.
I am working on a data integration project using Talend.
I have many input sources heterogeneous, I make transformations and I save output data to many output sources. Actually, I am doing Extraction, Transformation and Load (ETL).
My Talend Job is executing everyday on a linux server (the production). I have a development and test environment on a windows VM, ... In fact, I have many things I want to document and I don't really know how. I used to document web development projects (just the frontend), but not data integration projects.
Can you guys help me with some keywords, examples, templates, so that I can make a clear documentation for my client ?
Thanks in advance :)
While I can't speak to your organizational needs, Talend is designed to be largely self documenting. If you were diligent in filling out the documentation and descriptions in your job, you can right click the job and select 'Generate Doc as HTML'.
I am trying to setup a simple snippet in SQL Server management studio. When I heard the word "snippet", I assume that they would work like they do in Visual Studio. By that I mean that there are variables that get filled in, etc... I am not seeing that.
Can someone tell me whether SSMS 2012 supports Visual Studio style snippets. If so, can you provide an example of a snippet that supports variable replacement.
This might be close to what your looking for. Under View->Template explorer is a list of a whole bunch of structures that you regularly use when working with, building, developing databases. You can also get to it using Ctrl+Alt+T. There are literally hundreds in there. Everything from building a view to setting up a trigger to creating XML schemas.
The really nice thing with templates is you can build your own structures that you regularly use. I have built quite of few of my own templates to hold snippets that I have acquired from the likes of Brent Ozars blitz scripts and others like the improved SP_WHO from Adam Machanic and such.
While maybe not as fancy (read interactive) as the ones you'll find in the Visual Studio projects I find them very handy.
If you use these templates there is another little feature that can be very handy. If you press Ctrl-Shift-M (or use the toolbar button that shows an A->B) you get a dialog that lets you easily replace the template parameters with your own values.
Update post research into SSMS2012
I just recently started using SSMS 2012 and see there is a new feature that I wasn't aware of. When right clicking you do in fact see the 'Insert Snippet' drop down. I understand your question better now. Apparently however, these are pretty much the same as what I posted above.
I'm searching for a program where I can visualize all my data flow. I've made a simple example:
Is there a way how I can visualize all the data. I've found examples of "Prefuse" and "Flare". But there's too much to add to the examples. Isn't there a nice program wich has it all?'
it's preffered when I can connect the data to a database. So the whole process will be automated.
it's preffered when I can collaps/uncollaps the systems and application flow(e.g. when I click on an application, the arrows appear).
I hope someone can help.
you can use Graphviz (http://www.graphviz.org/) for creating the vizualization.
for the database connection, you could use a programming language to generate the input to the graphviz program.
I had this same problematic and used a combination of SAS and Graphviz to solve it.
hope that helps.
Our product currently spans a large number of technologies, including Java, PL/SQL, VB.Net and ABAP. We have a fairly mature source control and build system set up for all of the languages except ABAP, which is still in the stone ages. Since SAP has a build system set up within it, our engineers do all of their development in an SAP environment export transports, and check those into source control. Since we support a number of SAP versions, it becomes very difficult to track versions and migrate code across 4.6, 4.7, 5.0, etc.
My ideal process would be to check the ABAP code into source control in text files, and then load it into SAP and generate the transports as part of the build process. The SAP engineers don't think there are tools to support this model.
If you are managing ABAP code in a source control system, what does your process look like? Are there tools available (preferably command-line) for loading ABAP code into SAP? How do your engineers manage the code/test/debug cycle? Do they code in SAP and then export the code when finished, or edit in an external editor?
I used SAPLINK (mentioned in previous answer) for that purpose. There is also a related project called "zake", that supposedly can automate some of the tasks but I never used it. I simply exported my code manually to so-called slinkees (they contain single objects like function groups; nuggets on the other hand contain several objects).
Reasons to use some external source control system:
correlation to non-abap source code (as our software consisted of .net and abap code)
hosting / maintaining SAP was not something we were exactly good at, so it was good to know you had your code in a safe place
one thing though: you need at least WAS 620 in order to use saplink
I'm interested as to what the benefit is of version control outside the ABAP stack of the SAP system.
I've never seen anyone use external source code control for ABAP, as it's built right in. I've never seen anyone code ABAP outside the SAP system either. It really doesn't fit the model.
SAP's ABAP stack is a single-development system environment. All the developers log on to the one system and develop there. The system records versions automatically, and groups changed objects into transports. A transport is just a list of changed objects. Once you export the transport, the version numbers are incremented for each object and you get the package for the other systems.
The ABAP stack also doesn't really have a "build" concept as such. Everything you do is a patch.
Also check out SAP CTS+ which is used for managing transports and version control of ABAP and JAVA based components.
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0249083-c0ab-2a10-78b8-b7a7854b1070
At the very least, modifications should be done and tested in an SAP development system. Nobody uses an external editor with ABAP. (SAP Java on the other hand...) There is no reason why you can't keep backups of the SAP code, either directly, as text files, or, (preferably) with SAPLink or transport dump files. (Ask your BASIS people about the transport files). Realize that if you go the text file route, you might miss out on things like field text, etc., which are stored elsewhere in the database.
Hy,
As Dom told you, SAP has it's own version managment. However in order to makes regular save between transport releasing, you might use tools like :
SAPLink (as saied Wili aus Rohr)
ZAPLink
this tools could be use to extract ABAP components into XML. I really do not advise to make automatic import into SAP, for many reasons :
# thoses tools have no guaranties
# not all ABAP Compoponent can be handled like this
# you will lose SAP guaranty if you do this on a productive SAP system
But it might be interesting to use tools like (Google code) to display in detail software change, which could be more complicated on ABAP Object.
I developed this on ZAP Link framework with ZAPLINK_EXTRACTOR program that export SAP Components into XML when they have changed. This prevent XML file to change (new file but same content) and to be detected by tools such as mercurial as a change.
Hope it helps.
Keep in mind that you should use SAP tools to change SAP Component. SAP consultant might explain it to you in details.
Taryck.
[http://www.steria.com Steria (France)]
The 2020 answer to the question is simply: Use AbapGit.
It gives you all the advantages of modern version control, is fully documented, open source and works like a charm.