2023 Jul 20 10:16 AM
I found this 10 year old thread that perfectly describes my need:
https://blogs.sap.com/2013/07/10/read-comm-port-using-abap-wo-third-party-software/
This solution is based on mscomm32.ocx (ActiveX controls), but current info about ActiveX says:
Most recent versions of Windows have deprecated the use of ActiveX controls and replaced it with .NET
Besides the ActiveX being deprecated, most PCs we can buy today does not actually have a COMM port. We have technical equipment with a COMM port, but we attach it to a PC USB port with a USB adapter.
As I understand it, we can still install mscomm32.ocx on a newer windows, but if it is deprecated, I prefer a more modern solution.
So I wonder if anyone knows a way this can be solved without mscomm32.ocx.
2023 Jul 20 12:25 PM
You could still do, what the original blog mentions in the beginning, namely
I don't really understand, what the blog considers "third-party software". It says "Now there is no need to use the third party software (VB.NET, C# etc)", and then it goes on describing a complicated process involving that mscomm32.ocx. In my book, this ocx control is also "third-party software" provided by Microsoft! I fail to see the difference between the RS232 functionality provided by Microsoft in mscomm32.ocx and the RS232 functionality provided by Microsoft in the .NET Runtime...?!
PS: the Java Runtime and the WIN32 API also provide interfaces to an RS232 port, so instead of using "C# & SAP NCo", you could also use "Java & SAP JCo" or "C/C++ & NW RFC Library" for writing such an RFC-enabled COMM program.
If you want to skip the effort of writing the RFC Server code, you could use a SAP Business Connector instead of NCo/JCo/RFC Lib: it provides a built-in RFC Server ("RFC Listener") that only needs a few configuration steps and can easily be called from ABAP, and then you only need to write the code related to the RS232 communication. The process would be very similar to what I described in this blog: Using Java Functionality from your ABAP Programs Only instead of calling the open-source library that creates MS Excel files, you would call the standard Java classes that interact with the COMM port.
2023 Jul 20 1:17 PM
PS: oops, apparently it's been a while since I last played with this...
I just found out that the SerialPort & ParallelPort classes have been removed from the Java Runtime like 20 years ago... So you will probably be better off using C# or C/C++. Or find a Java open-source library that can still be used. Apparently there are some:
Java Serial Port communication API - Stack Overflow
SAP BC also supports C/C++ in addition to Java, so that would still be usable, if you interact directly with the WIN32 APIs.
2023 Jul 20 4:36 PM
Hi Ulrich
Thanks for your answers, but I don't think I can use them.
Your solution requires .net programming or a combination of installing a open-source java library and Business Connector. I don't program .net and I don't program Java, so to me those options would be much more complicated.
The benefit in mscomm32.ocx over your solution is that it requires no programming at all on PC side. Only ABAP and a little customizing.
I don't think the mscomm32.ocx solution is complicated. I was just worried because I read that ActiveX is no longer supported by newer versions of windows, but that seems to be fake news - I found a new guid by Microsoft on how to use it in windows 11.
Regards Thomas
PS.
Maybe it is fake news that ActiveX is dead, but until I read your post I was pretty sure that Business Connector was dead. It is at least 20 years ago I first time saw it declared dead and I also think its successors has been transformed many times since that ( XI -> PI -> PO -> CPI), so it is funny to see that BC is still in use 🙂
2023 Jul 20 5:02 PM
The latest release of SAP BC has been in 2021. So it's still alive and kicking.... 🙂
(And still has its original name...)
2023 Jul 24 8:43 AM
BTW: I still meant to write a companion blog to the Using Java Functionality from your ABAP Programs blog above, but for "C/C++ Functionality". But I hadn't found the right example yet. I could use the Windows OS interfaces for Serial Port access in my example, if you are interested?
Problem is only: I don't have any hardware here I could use for testing... So if you are willing to do the testing, we could turn this into a joint project. E.g. like this:
(To make it more interesting for other readers, I might later add the same functionality for USB Ports.)
2023 Jul 25 7:28 AM
Wow Ulrich, that is a very good offer.
Unfortunately I work in an organisation where SOD (Segregation of duties) prevents us from doing almost everything. 🙂
I would never be allowed to install BC on any PC and it would take month to have other people evaluate the idea and then do the installation.
So, thanks for the offer, but no thanks.
Regards Thomas
2023 Jul 20 12:42 PM
> I prefer a more modern solution.
Well, what exactly is your definition of "modern"...? 🙂
RS232 is a technology of the 80s, if I remember correctly, so whatever you do, it won't be "modern"... 🙂
2024 Mar 14 5:56 AM
Hi Ulrich, i finally landed here in search of blog for connecting scale with serial port.
so what would be the best possible way to connect scale with SAP Pack station.
although read above posts not able to conclude on any one .