Thank you Mike. . I did get it solved some time ago; but appreciate you taking the time to respond. Hopefully it will help others who are trying to set their file names externally, eliminating the need to recompile everytime the file name might change.
Got it now. Was looking for a simple move; but that was not going to happen. Ended up mapping and interpreting the binary nibbles as 4 digit values so that 0001=1, 0010=2, etc. and by this means building a hexidecimal number.. and then interpreting the hex values back into decimal (by multiplying the rightmost position in the hex number by 1, the next column by 16, the third by 256 (16 squared), the next column by 1024 (256 * 16) and so on.. Once I had the decimal value, I could use it as I wanted...
Wanted to share this with the group. An admin on another site posted this link: https://github.com/TheBATeam/GetInput-By-Aacini?fbclid=IwAR1wiYXMbv79YcRlttDk5NwyrgswUDdaNLKcP5zfmoRi2IXpFlC7acGXVg8 to an app called GetInput, that does like my original Reply.com.. and returns an ErrorLevel code for any keys pressed. This works well within a batch file, as does the Choice command, which Arnold describes below. The difference between the two is that GetInput returns a value for any key pressed, allowing...
Slight revision.. Screen field was Z(6).99.. Using the Display after the Accept of the Amount field saved me 35 lines of unnecessary code I had previously installed.. Tested the Add, Inquire and Delete. All good.
I just tried a new variation that seems to work okay. I had coded with SPACES and also had a version that inputted the original numeric fields. That, of course, looked wonky, although it appeared the numbers stored properly. My latest twist is a simple Display of the Screen field I ACCEPT as Numeric Editied.. and Joila.. it appears as a true number. What I am describing is a Screen Pic of Z(6)9.99, a using field of S9(07)V99 and an input amount like 123.45 After the ACCEPT the field (without the...
Hi Eugenio, Thank you. Am looking at your coding example and will try that approach as well. Great job documenting. Excellent work. Thanks again, Steve
Solved.. Coded around it.. Had to switch my screen to PIC X logic and rebuild my numeric fields, as Simon and Bryan alluded. Thanks for the feedback, guys.
Thank you. Will do. Thought perhaps I was missing a compiler option. This worked fine under Microsoft COBOL. Was surprised to see that GnuCOBOL screen handling did not accept numeric fields.
Realized today that when trying to ACCEPT an amount field in GnuCobol 3.12b, that field is always read from the Left to the Right (like a Alphanumeric field).. despite the field being defined as Numeric and/or Numeric Edited. Microsoft COBOL handled this just fine. Is there a trick to tweaking the compiler options or is this one of those silly things we have to code around? Thank you, Steve
Not sure how to delete or change a topic.. but seems the issue is that the GnuCOBOL 3.12b compile makes the ACCEPT verb read numbers (whether an integer or numeric edited field) from the left to the right. That does not seem like acceptable numeric handling. Does anyone have a way to compile around this? Or am I forced to change number fields to alphanumeric and redefine them, to ACCEPT the numbers I want? This sort of thing seems like a environmental variable should be the right way to go .. rather...
In both Microsoft COBOL and GnuCOBOL 3.12B I have fields defined as follows: screen field Z(6)9.99 , using field is S9(7)v99 . In Microsoft COBOL the screen field is treated as Numeric and the inputting of a value such as 100.25 would appear such on the screen. In GnuCOBOL that same field appears as '100 .25 '. The high order numbers build from the left and the low order digits, appear on the right, leaving a gap of spaces in the middle. Is there a tweak to allow this Accept to input the 100.25 as...
Hi guys, Am hoping someone has the means to replace an old program, which I used for batch file menus.. It was called Reply.com and it recognized the keys being pressed within a batch process, and returned a value for that key as Error Level. In the batch file those values would guide the batch file to routines that would run programs, call other batches, etc. I tried to recreate Reply.com in COBOL. For those who do not know, the values you place into Return-Code in COBOL return to this DOS environment...
Hi guys, Am trying to reuse some old menus I built in the 90s that loaded a pretty grid filled with boxes around Function Keys and tied to Functions that the Function Keys would kick off. So, for example, if F1.. do something.. If f2 something else.
Solved, thanks to input from Simon and Laszlo. Much appreciated.
Hi Vince (or is it Bryan?), Thought I had replied; but dont see it here. No, what I was asking about Simon and Laszlo answered. A way to dynamically assign a name to files (in this case.. based on the keys I am using. I have an external parmfile and in it I specify keys for the run and starting values. I can use it to pass a file name too, if I didnt want to set it within the program. Everything is fitting together well. Still working on the online maintenance program and working out the bugs. Thanks...
That is perfect! Thank you, Laszlo!!
Nice. That is what I will do.. Thank you!!
Hi guys, I have a program that has 5 keys. When i run using a certain key.. would be nice to name the output file to reflect that key. instead of the generic name in the Assign clause. Is there a way for me to reassign the file name from within the program? I sure could not find it in the manuals. Thank you, Steve
Thanks Brian. Knowing it was not normal helped me to find the bug. All good now. Now that I have a basic, ISAM with Alternate Index files working.. including the BDB tools.. I am fairly golden. Just gotta get my maintenance program working.. and I will have a complete basic set of programs to use against my accounting file (checkbook).
Thank you.
Thank you Laszlo. That really helps. Got the verify, load, dump to work..
New Question.. The ISAM files are built and being accessed in the program. Odd thing though is that they are not 'sorted', which I would have expected in an Indexed file. Am I wrong? This file is an accounting file. The Date Time stamp is unique. That is the primary key. These alternate keys, such as the one by Name (who the transactions are paid to or receive from ) is an Alternate Key. The key consists of the Name and the Date-Time stamp In that way, I thought that if I looked up a name, I would...
Thanks Graham.
Thanks Dave.
Thanks, Mickey.
Thank you Simon. Those are very helpful .
Thanks Brian. I will look into that. Having fun though.. even though I had what appeared to be a working program (pre alternate indexes).. totally collapse. :) Think I have it working again; but am still testing. Look forward to researching the links you posted. Thank you!!
Solved, i think.. I think what I changed might be working but need to further test. I removed the redefines of the keys.. It was hosing me over. Instead I built each key with the contents of their separate key only, no filler.. and placed them at the end of the record layout. I loaded the indexed file and then unloaded it, with the load and unload programs. The unloaded file is now readable again, which is a good sign. I have yet to test this with my indexed maintenance program. Hoping it can read...
Hi all, Been 30+ years since I built ISAM and have some basic questions.. Hoping someone familiar with use of ISAM and Alternate Indexes can answer Using a simple illustration to pose my question.. Lets say my data is as follows 01 Tx-Record. 05 Tx-Date-Time. 10 Tx-Date-YYYYMMDD pic x(08). 10 Tx-Time-HHMMSS pic x(6). 05 Tx-type-of-purchase Pic (6). 05 Tx-Pay-Method-Used Pic x(2). 05 Tx-Customer-Name Pic x(40). I want my primary, unique key to be Tx-Date-time, but I want to have an alternate key of...
@sf-mensch I did what you proposed and definitely see it now.. Thank you!! That is what I was looking for.
Thanks Vince. That was a feature I liked about mainframe. Compiler, for example, is telling me my redefines are uneven sizes. I will recount and correct; but was nice to know the exact count of each.
Would like to know the length of all the fields in the pgoram, if possible.. to double check my math. Is there an easy way?
Thank you Serge. That worked perfectly!!
Am seeing errors during my compile that are directed to the DOS window; but not a file. HOw can I direct those messages to a file? Thank you.
Hi Simon, Tried emailng you to your sourceforge.net account, to show you preliminary draft of what I am compiling, to provide the Microsoft Reserve Words. Hope you see it and can let me know if I am on the right track. If I am I will complete over next couple of days, as time permits. Thank you, Steve
@sf-mensch Simon, THANK YOU!! That worked. I got the xref and other features. And I was able to google how to get successful compile when the line was too long.. Shift +6 (Hex 5E) created a carat symbol n the end of the COBC line, allowing me to enter more overrides on the following line. Regarding Microsoft .. what do you mean by ms.words? If you can further describe I will try to put together what you need. Having MS Cobol represented would be great. Thank you again, Steve
Was hoping there was a quick fix; but am rewriting the program.. and attempting to solve this myself. I was able to easily get this working in prototype.. and now just need to reintegrate into the main program again. Have a great day, yall.
also attaching compile batch file I use to build this program
Thanks Simon. Am attaching the program in question. It builds the screen and allows me to enter (Accept) data; but cannot get the background of the data fields to allow me to see what I type easily. Must be missing something. The program is a work in progress. Used to work fine with Brieve in Microsoft Cobol under DOS> Have been trying to convert to ISAM. Am working thru the code slowly and am in the ADD function.. but focusing on the screen displays and accepts.. before I track thru the file maintenance...
I am working on converting some old code to this compiler and am having a real glitch with the Screen section. After 8+ hours of trying everything I can think of.. am asking for help. I can paint the screen and get a background and foreground that I want.. and post my skeletal literals and fields , so I can enter data; but when I go to enter data.. I cannot get the color of the data I type to be bold or bright or very visible. I tried changing foreground and background colors, switching to various...
Setup / Running on Windows 10
Simon.. thanks to you I am slightly off and running. Was able to utilize Arnold's MIN library to compile one of my programs.. and ran it without issue. It was a basic reporting program; but I generated a listing and executable, without error. I can attempt to move onto programs that have indexed files and those with screens, next. Thank you so much for your generous time. Hope I can return the favor for you or someone else down the road.
I registered and logged in. Will continue as yo usuggest later today. Thanks again.
Tried again. When I renamed 7z to exe it failed (Smartscreen filter).. and I turned filtering off, and retried. This time it failed on the same messages as the 7z (when attempting to extract using various unzip software).. saying that the header is corrupt. I just cant get his files to download.. at least not on this machine. I might try on my WIn7 machine and try to copy the files over to the win10 box, if it works.
Same thing. I downloaded latest 7zip, same results. While Arnold's two 7zip files are unreadable, the normal gnuCOBOL 3.1.2 files from the main site downloaded and opened just fine. Something about Arnold's file and my Windows 10 machine.. I think, that corrupts the headers. When I got those files downloaded.. I could not find any exe files to run (such as the cobc for compiling). Not sure if I am thinking old DOS or if these files should exist somewhere. I tried building a batch file which I ran...