Northgate Reality v15.2

241 views
Skip to first unread message

Rick Weiser

unread,
Nov 7, 2019, 4:30:35 PM11/7/19
to Pick and MultiValue Databases
Hi Guys,

Does anyone on this list use Reality v15.2 from Northgate?  I have a potential customer that is using this version.  The question is, does Northgate provide a .NET connector for use with any of the web development tools in todays marketplace?  Their website is not clear on this.

Thanks for your help,

Rick

Chris Long

unread,
Nov 8, 2019, 8:59:03 AM11/8/19
to mvd...@googlegroups.com

Rick,

 

The following comes from the Reality 15.2 documentation:

 

 

 

Visual Basic .Net

Private Sub CallSUBR()

    Dim RB As NISRbDataLink.cNISRbRscLink = Nothing

    Dim p1 As String

    Dim p2 As String 

 

    Try  ' Create a Remote Basic object.

        RB = New NISRbDataLink.cNISRbRscLink

        With RB

            ' Set up the connection to the database.

            .System = "80db"

            .UserID = "SYSMAN"

            .Password = ""

            .Account = "SYSMAN"  ' Connect to the database.

            .OpenLink()

 

            ' Data to pass to the subroutine.

            p1 = "Data1"

            p2 = "Data2"

 

            ' If we are connected...

            If .LinkOpen Then

                ' Call a DataBasic subroutine.

                .CallSubroutine("SUBR", 2, _

                    p1, NISRbDataLink.RSCMode.ParamInOut, _

                    p2, NISRbDataLink.RSCMode.ParamInOut)

                ' Display the results.

                MsgBox(p1 + " " + p2, MsgBoxStyle.Information)

            End If

        End With

 

    Catch ec As Runtime.InteropServices.COMException

        ' If anything went wrong, tell the user.

        Debug.Print "Error number=" + Cstr(ec.ErrorCode - vbObjectError) _

            & " Error description=" & ec.Message

        MsgBox(ec.Message, MsgBoxStyle.Exclamation)

 

    Catch ex As Exception

        Debug.Print ec.Message

        MsgBox(ex.Message, MsgBoxStyle.Exclamation)

 

    Finally

            ' Close the link, ignoring errors (guaranteed successful,

        ' even if connection was not established).

        RB.CloseLink(True)

    End Try  End Sub

 

Web Services - Microsoft Visual Studio .NET Example

This example is written in Visual Basic.NET and consists of the code for a button click handler on a form. The class hb-ac13281.GETADDRESSService was created by adding a Web Reference to the WSDL file (http://hb-ac13281:8080/NorthgateWebServices/GETADDRESS?wsdl) using the Add Web Reference... command on the Project menu.

 

Private Sub Button1_Click(ByVal sender As System.Object, _

        ByVal e As System.EventArgs) Handles Button1.Click

    Dim ga As hb-ac13281.GETADDRESSService

    Dim companyName, addressLine, telephone, zip, id As String

    companyName = ""

    addressLine = ""

    telephone = ""

    zip = ""

    id = TextBox1.Text

    Try

        ga = New hb-ac13281.GETADDRESSService

        ga.GETADDRESS(id, companyName, addressLine, telephone, zip)

    Catch ex As Exception

        Debug.WriteLine(ex.Message)

    End Try

    Label2.Text = companyName & vbCrLf & addressLine & vbCrLf _

        & zip & vbCrLf & telephone

End Sub

 

The code declares and initialises variables in which values will be passed to and returned by the GetAddress web service method (the id variable is set to a company ID that the user has entered into the TextBox1 control). The method is then called and the results displayed in the Label2 control. Code is included to handle any errors.

 

 

Chris Long

RA Services IT

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mvdbms/ce83494a-05ed-408b-9118-175482b839ad%40googlegroups.com.

Tony Gravagno

unread,
Nov 8, 2019, 1:08:35 PM11/8/19
to Pick and MultiValue Databases
Hey Rick - it's been too long...

Like jBase with Temenos, and the MV implementation in Caché, I've always seen Reality as a fine platform that's been suppressed by lack of initiative and imagination of its owner. The docs are great, and the platform has pretty much anything that anyone could want, including connectors.

Here are some random thoughts about .NET connectivity with Reality:

For small projects I'd use the built-in free connectivity.

Depending on the requirements you might want to consider using Reality as a SQL engine, not just a .NET data source. They're very good at that where other platformshave varying quality. That eliminates the question about platform-specific connectivity and frees you to use anything that links with a RDBMS.

I believe Reality also supports direct web services - memory has faded. In which case you can still use generic tools and the MV-ness of the back-end becomes irrelevant.

If the user is a long-time Pick shop that happens to be on Reality now, consider mv.NET, which has had Reality support since the beginning. This will allow the client to port their code with virtually no changes to their .NET-related interfaces. The modest cost of mv.NET (few hundred bucks) is a tiny insurance premium if the site ever needs to "file that claim" and port to another platform - the cost to migrate platform-specific code is much higher. Given the long-term positioning of Reality, I strongly suggest this option.

A new option these days is Linkar. This is a single product with client-side interfaces for all popular languages - not just .NET languages C# and VB.NET. It also deploys its middle-tier over Linux and OSX, not just Windows. So you can use the same tooling for many different kinds of projects. The developers are eager and the pricing is phenomenally irrelevant - much less than even the modest pricing for mv.NET. The only issue here is that Linkar doesn't yet support Reality. It could with a compelling business case ... a purchase of some number of licenses or other remuneration.

I'm a big fan of Linkar now and I'm sure this confuses people about where I stand with Linkar and mv.NET. But as always, I support the right tools for the job, which can only be determined with some Q&A with the client about their future plans. I also support MVSP, QMClient, and UOJ ...if those tools suit the client's applications, their staff skills, plans for the future, and other considerations of their topology.

Disclaimers:

As a provider of mv.NET, consider the above a sales pitch ... but I sell solutions, not products - like MV people claim to sell applications, not databases. I don't care what tools you use - just use the right ones for the client. My goal here, as always, is to promote the success of MV. Keep that client happy and we'll all do better. The tiny commission I get from selling products I believe in has never been worth the grief, and I hope no one confuses my notes with other agenda.

As I am a representative for Kosday, consider the above a sales pitch for Linkar too. But I get nothing for their sales. I just want good people to succeed, especially in the MV industry. Someone with a math degree might recognize that even if I did get 15% of $58 for a Linkar license, I'm losing time=money just talking talking about someone else's product, so I hope no one confuses my support for this product with some dream of financial independence.

Finally, I have never done business with Northgate, so I have no related pro or con view other than what I observe from an industry perspective. I still feel Reality is a great platform but I don't support it simply because they don't support us. If that changes (like Zumasys initiatives with jBase and QM) then I'll re-evaluate long-term development strategies with their product.

Oh, and now actually stepping into my salesman shoes - if I can help with product, consultation, or development, I welcome an opportunity to work with you again.

As you see, and I guess this applies to a lot of topics, I don't see ".NET for Reality" as a simple question.

HTH
T

Rick Weiser

unread,
Nov 8, 2019, 3:41:16 PM11/8/19
to Pick and MultiValue Databases
Hi Tony,

For my needs the .NET connector is fine to test the concept.  Is there a product name for this connector, ie, Uniobjects?

Rick

Tony Gravagno

unread,
Nov 11, 2019, 1:51:34 PM11/11/19
to Pick and MultiValue Databases
Rick - I was wrong. Looking through the current, always-awesome, documentation for Reality, I did not find a specific ".NET library".
(Open External Interfaces from the contents)

There are many interfaces which can be used to access the environment via .NET. If all you want to do is to test a concept, you don't need a full .NET wrapper library. The example provided by Chris comes from a RealWeb subroutine (well-documented), then exposed as a web reference via WSDL. The web reference is itself a sort of wrapper library, just one that you've created. Create a couple very simple subroutines like GetField(account,file,item,atb,val,sval,mask) and RunProg(name,params). The return value of RunProg should be a list of items and their fields, or some other construct that you can parse on the client. With that you have everything you need. Heck, with that RunProg, even GetField is unnecessary. For a Proof of Concept, you really just need one BASIC subroutine to do anything from .NET (or any other language) that you can do with any of the recognized libraries.

To summarize on that, this is not a lot of work:
1) Create a simple BASIC program to handle simple requests for I/O.
2) Create a web service to the BASIC program using the clear docs.
3) Generate a web service client using the exposed WSDL (lots of public info on this).
4) Reference your generated client. THAT is your (free!) .NET interface.

For a POC, you could also use their ActiveX Control. Or you can use their Java library and invoke that via a .NET/Java wrapper.

If you're looking for more "built-in" functionality, then this isn't a POC.
My recommendation : If this is really just a POC, install mv.NET free for a 30 day trial and use the wealth of functionality in there.

If this goes beyond the POC, buy mv.NET - no hesitation. Think about this : How many hours/days/weeks will you spend trying to create a full-featured library? How much does that cost? (Many hundreds to thousands of dollars.) How much does mv.NET cost? (Answer: A couple hundred bucks.) What costs less? It's simple - mv.NET wins by a Huge margin. This is the reason I stopped writing my own connectivity libraries back around 2007. It was simply a matter of pragmatic economics. That's not a sales pitch, it's common sense.

(NOW hopping into my sales shoes)
Depending on what you need and how fast, I can create a small interface for you that exposes an interface that you define. Want a Customer? Cool:
  var cust = Customer.Get(id);
  cust[PHONE] = thisPhone;
  cust.Save;
I'll work with you to install mv.NET. You don't need to learn anything about the libraries unless you want to.
I'll sell you one mv.NET connection license and a small one-time fee for "pretty much" whatever you need to get this off the ground.
You can sell this to your client for the value of about 5 of your hours. The result is a permanent connection, to your specifications, with almost no effort on your part.

So you now have a fast and free solution which requires (seriously) just a little bit of learning. And you have a fast for-fee solution which gets passed-through to your client. Either way, you can have this done in less than a day. How much time=money are you losing without a solution?

Here's another option. Back up a bit, and rather than telling us what technology you think you need to use, just tell us what you're doing in a business context, and we might be able to suggest a simpler alternative.

Anything helpful in there?

Best,
T

Keith Garrison

unread,
Sep 12, 2020, 5:17:56 PM9/12/20
to Pick and MultiValue Databases
Hi Folks..I am an end user running Reality 15.2 and an older ERP system ProMan developed by George Bean. I would like to move from Reality to QM but nobody seems to know how to make the files and the programs transfer over. Can anyone help?
Thanks,
Keith

martinp...@ladybridge.com

unread,
Sep 14, 2020, 5:02:19 AM9/14/20
to mvd...@googlegroups.com

Hi Keith,

 

There is a data transfer tool, QMSAVE, included in source form QM in the BP file of the QMSYS account. This can be moved to the Reality system and run to create an export file that can then be imported into QM using the QMRESTORE command.

 

There is a lengthy description of how to use the QMSAVE tool at the top of the source code. You will need to set it to the correct product version which should need nothing more than including a line

   $DEFINE REALITY

 

A description of QMRESTORE is included in the QM Reference Manual.

 

 

Martin

 

From: mvd...@googlegroups.com <mvd...@googlegroups.com> On Behalf Of Keith Garrison


Sent: 12 September 2020 22:18
To: Pick and MultiValue Databases <mvd...@googlegroups.com>

--

You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms
---
You received this message because you are subscribed to the Google Groups "Pick and MultiValue Databases" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mvdbms+un...@googlegroups.com.

Steve Trimble

unread,
Sep 14, 2020, 12:13:59 PM9/14/20
to mvd...@googlegroups.com
I used this tool to move D3/Windows to QM/Linux. Worked great.
Thanks Martin!

Reply all
Reply to author
Forward
0 new messages