122112 - Protein Result - NCBI - 122112
Per your request on Linked In, I wanted to post my comment here as well:We recently did a Webinar with Barbara Morris (last week in fact), and covered this topic. You may find what we discussed to be useful:http://bit.ly/1fkDZUO
Joe, the new fully free RPG is exactly the same as the /free RPG you are already using. The same source member type, the same compiler commands, everything. The only difference is that you don't need to write /free any more, and if you want to, you can use DCL-F and friends instead of F specs et al. But be advised: SEU will never understand fully free RPG, and will throw a syntax error on every line you write. SEU is frozen at 6.1. Use RDi instead; it already supports the new syntax quite nicely.
I think that IBM has can define the output specifications like COBOL language. I believe is simple, defining the headers, details and totals lines in data structures and to print, only has to use the write command, using the structures previously defined and indicating the number of lines to skip before or after writing.... What do you think? I think that is not hard to made..... and this way RPG really will be all free to us.
I know that the above examples do not cover every type of file and scenario. I hope that this gives you a good basis of how to code the dcl-f in your own work.
The first example is very simple, a data file is being defined as input and without a key. As this as this is a data file I would use the disk keyword. There is now a usage keyword that defines how the file is used, which in this example is just for input.
Neither the Input nor the Output specification has been converted to free format. The Input specs go after the DCL-S & DCL-F, the Output specs at the end of the code.The DCL-F does not allow for the definition of RPG cycle functionality, including "Input Primary".
What I am going to do is give an example of a File specification and then its equivalent in free. I am not going to cover every possibility of how to define a file, these are the most common ways I define files.
Fluke esa609price
After data files, physical files, logical files, SQL tables and SQL indexes, the next most common type of file I use is a printer file. As this is not a disk file I do have to give the file type, printer.
Why do I do that? Even though the file itself is keyed no-one has ever given me a good reason to define a file in a RPG program as keyed if I am just writing to it.
As with printer files I have to give the file type for a display file. As I am using the display file for both input and output I do not have to give the usage as input and output is assumed. I have also used the indicator data structure keyword, indds, and as the display contains a subfile the sfile keyword.
FlukeElectrical Safety Analyzer Price
While I have been working with the new RPG all free (released in November 2013) I have unable to find examples comparing the pre-change to the post-change RPG code. Therefore, I thought I would give some examples of how to define files here.
All file definitions start the declare file word, dcl-f, and end with a semicolon, ;. I have found that it is not truly free format. There are certain keywords that must occur before other. If you get a compile or syntax errors try rearranging the keywords.
I agree with you this enhancement makes it so much more than RPG IV.In a Facebook group I am member of we had a discussion about this. The best name we came up with (apart from the "clever'/"funny" ones) was "RPG i".
Fluke esa609manual
Now let’s make this a bit more complicated. In this example I still only want the file for input, I want to access the file as keyed so I use the keyed keyword, and I am going to use the prefix keyword. Notice how I have also not used the disk keyword.
I had a great deal of trouble figuring out how to define a program defined printer file. Turns out, all you have to do is add the length as a parameter of Printer (ex: dcl-f qsysprt printer(132);)
Thanks for sharing the way as how to go for it, One question, is it possible to intermix spec, like I define a file in between calculation spec's.
On February 19th Lisug(Long Island Systems Users Group) is holding a meeting with two educational sessions. The first being a live demo of Open Access and the second being File I/O with data structures. The same as demonstrated in the above article. This is being held at the Fox Hollow Inn in Woodbury, NY.
To prevent "comment spam" all comments are moderated.Learn about this website's comments policy here.Some people have reported that they cannot post a comment using certain computers and browsers. If this is you feel free to use the Contact Form to send me the comment and I will post it for you, please include the title of the post so I know which one to post the comment to.
Thanks, Simon. I did not know RPG had progressed this far. I'm an enthusiastic author of rpg /free for calcs for years, but never knew all the other specs can be modernized as well until I saw your examples. Do you know what RDi is and how to access it as a replacement for SEU - as referred to by Buck above?
I've been thinking that refering to the new version of RPG either as "IV" (which it has progress far past) or "totally free" or "all free" is really doing this version a disservice. I propose we start a grassroots movement if IBM won't recognize the importance of this advancement and start calling it "RPG V" on our own. What do you think?
FlukeESA620
At first I was a bit skeptical of additional free format RPG specs. I've embraced free-format calc specs since first available - no love lost for fixed format c-specs. But Jon Paris writes a compelling argument for going all "free". See: http://www.itjungle.com/fhg/fhg021214-story01.html
Hi Simon,Great article ! Can you please also let us know, how to define a program described and primary files in RPG all free..
Nice examples Simon. One thing to consider: Cross reference tool vendors (Abstract, Hawkeye, Total, etc) may not be ready to consume the new format yet. Making programs in fully free RPG may make them unknown to your cross reference tool.
FlukeVT650
Fluke Biomedical is the premiere, global provider of test and measurement equipment and services to the healthcare industry. We strive to be the best at delivering innovative solutions to improve quality of global health. We serve biomedical engineers, quality-assurance technicians, medical physicists, oncologists and radiation-safety professionals and are continually expanding our range of solutions to a broader range of health and safety professionals. For more information on Fluke Biomedical, visit www.flukebiomedical.com.
When you create a new source member in PDM, are you specifying a type of RPGLE and using CRTBNDPGM to compile it, like we did on the "old" RPG Free code? Or do you use something different?
Can someone put a little pgm source-code with these new definitions in it. We are on V7.1 and have the PTF SI51094 installed , but I do seem missing something.
The ESA609 integrates all functions needed to test medical devices when patient lead testing is not required, including: line (mains) voltage, ground wire (protective earth) resistance, equipment current, leakage current and point-to-point tests.
FlukeESA612
If I have a file that I want to read (input) and write to (output), without updates, I would code the usage for both *input and *output. Notice how they are separated with a colon, :.
Hey thanks for the post, i have a question why use keyword PREFIX() in file description is a bad practice for RPGLE? which ways are great to use?
Advice about programming, operations, communications, and anything else I can think of This blog is about IBM i for Power
When I first heard that RPG had gone completely free I was concerned that we could now intermix everything. This scared me as I had vision of people intermixing file definitions with the equivalent of calculations, etc. Fortunately what I have found is while you can intermix the new definition statements, you cannot insert them into the equivalent of the "calculation specifications".
No. You cannot intermix the new definitions amongst "calculation specs".In my opinion that is a good thing. I hate to think of the chaotic/unstructured code that some people would create.
Now I want to update the file so the usage becomes *update, and to rename the record format I am using the rename keyword that was available pre-TR7. Notice how the dcl-f code now takes two lines.
"We're very excited to introduce the ESA609 to the biomedical test market," explains Shirin Khanna, marketing manager for Fluke Biomedical. "Our customers asked us to combine portability and ruggedness with the accuracy and reliability of our legacy analyzers, and the ESA609 is exactly that."
Engineered to meet the needs of on-the-go technicians, the ESA609 is built tough with a rubberized case that allows it to sustain the rigor of transportation and helps prevent damage if accidentally dropped. Additionally, its featherweight design and functional hand strap make it one of the most portable analyzers in its class.
Fluke esa609for sale
You can download a trial of RDi from IBM's website here.(I cannot make a link open in a new window from a comment, so right click on the link and select "open in new tab" to keep this post open)
At the time I am writing this post to be able to use the RPG all free your IBM i server needs to be running 7.1 and have PTF SI51094, or a later superseding PTF, loaded. If you do not know if you have this PTF loaded read How to tell if you have the PTF for RPG all free.
To prevent "comment spam" all comments are moderated.Learn about this website's comments policy here.Some people have reported that they cannot post a comment using certain computers and browsers. If this is you feel free to use the Contact Form to send me the comment and I will post it for you, please include the title of the post so I know which one to post the comment to.
Are you using PDM/SEU?If so it does not support syntax checking for IBM i 7.1 and beyond.What you need to do is to turn off syntax checking in SEU. This post describes how to do it here.
FlukeESA615
Is there availability of declaring file in full free-form which is used for pre-run time array?If yes, can you please provide an example for the same.
The question I have to ask is what are you "missing"?The code given above can be copy-n-pasted into the editor of your choice, therefore, you can take the definitions without a separate source with them all listed.
You can use PDM for coding RPG all free, I did for this post to show that it was possible. Before you do you need to turn the syntax checking off. I explained how to do so in the post TR7 available today.
In this example I want to be able to read (input), write to (output), without update. The usage would just be coded for *update and *output, it assumes that input is needed as part of the update.
"I have found that it is not truly free format. There are certain keywords that must occur before other. If you get a compile or syntax errors try rearranging the keywords."Really? That's your definition of "free format"? Then there is very little about ANY language that is "truly free format". Every statement in EVERY language - whether it be C++ or RPG all free has that requirement - I triple dog dare you to put the following:NOT %EOF(SPYVIEW) DOW; After all - it's not "truly free format" unless you can put the keywords in any order. The above should work.
EVERETT, Washington, April 7, 2014 /PRNewswire/ -- Fluke Biomedical unveiled the latest addition to its Electrical Safety portfolio, the ESA609 Electrical Safety Analyzer, pairing portability and ruggedness with industry leading quality assurance.
Thanks for this article Simon, i have worked with only /free and now reading all your 'free-form' posts to update myself.
Requiring no training to use, the simple push-button design on the ESA609 ensures quick testing and fast transition between tests for complete basic testing in minutes. Heavy-duty switches allow users to effortlessly change polarity and configuration of the neutral connection between open and closed.
When I am declaring a file with DCL-F filename. The line is highlighted in reverse image and error message is something related to EVAL. Is it a known problem for free format file. My program type is RPGLE. While C spec operations in free format are working fine. Can you please advice what to do in this situation. My AS400 version is V7R2.
This on-the-go analyzer is the latest in electrical safety testing solutions by the world leader in electrical safety analyzers. Versatile to global electrical safety standards of choice, the ESA609 tests to ANSI/AAMI ES1, NFPA-99, and parts of IEC62353 and IEC60601-1.
Many examples in the version of the manual that is in RDi 9 help - there is a separate section just for free-format. Half a dozen "Free format equivalent for..." sections, lots of examples of everything you can do.I wish that InfoCenter had this - the 7.1 InfoCenter DOES have the "update" ILE RPG Reference, which includes free-format documentation, albeit rather scattered throughout the document. The RDi version is much easier to get at what you want to know, IMO.
There is one addition to the new, a new type of usage. If you want to delete records from a file its usage must include *delete. In this example I want to read (input) from the file and then delete records. I do not have to give *input as that is assumed with the *delete.