{"id":1928,"date":"2014-11-14T00:29:08","date_gmt":"2014-11-14T00:29:08","guid":{"rendered":"https:\/\/alt2.minisoft.com\/support\/?p=1928"},"modified":"2020-06-11T13:56:33","modified_gmt":"2020-06-11T20:56:33","slug":"visual-basic-and-cobol-custom-server-sample","status":"publish","type":"post","link":"https:\/\/c002.minisoft.com\/support\/visual-basic-and-cobol-custom-server-sample\/","title":{"rendered":"Visual Basic and Cobol &#8211; Custom Server Sample"},"content":{"rendered":"<p>The following files, available for <a href=\"\/support\/wp-content\/uploads\/2014\/11\/sample9.zip\">download<\/a> are a simple sample of how a custom server could be written.<\/p>\n<p><strong> VB SA01<\/strong><\/p>\n<pre>Option Explicit\nDim SA\nPrivate Sub Form_Load()\n\nSet SA = CreateObject(\"MdmSA.Session\")\n\nEnd Sub\nPrivate Sub GetData_Click()\n\nIf (SA.ConnectStatus) Then\nScreen.MousePointer = 11\nSA.NetWrite (\"G\")\nText1.Text = SA.NetRead(68, True)\nScreen.MousePointer = 0\nEnd If\n\nEnd Sub\nPrivate Sub Logon_Click()\n\nScreen.MousePointer = 11\nIf (SA.ConnectStatus) Then\nSA.NetWrite (\"Q\")\nSA.Disconnect\nEnd If\nSA.HostAddress = \"yourhost\"\nSA.Port = 21001\nSA.VendorId = 65\nSA.LoginUser = \"yourname\"\nSA.LoginAccount = \"youracct\"\nScreen.MousePointer = 0\nSA.UserPassword = InputBox(\"Password for user (\" + SA.LoginUser + \")\")\nScreen.MousePointer = 11\nIf (Not SA.Connect) Then\nMsgBox (\"Connection failed\")\nEnd If\nScreen.MousePointer = 0\n\nEnd Sub\nPrivate Sub Logout_Click()\n\nScreen.MousePointer = 11\nSA.NetWrite (\"Q\")\nSA.Disconnect\nScreen.MousePointer = 0\n\nEnd Sub<\/pre>\n<hr size=\"1\">\n<p><strong> SA01<\/strong><\/p>\n<pre>IDENTIFICATION DIVISION.\nPROGRAM-ID. SA01.\nDATE-WRITTEN. 02\/10\/98.\nDATE-COMPILED.\nAUTHOR. MINISOFT.\nENVIRONMENT DIVISION.\nCONFIGURATION SECTION.\nSOURCE-COMPUTER. HP-3000.\nOBJECT-COMPUTER. HP-3000.\nDATA DIVISION.\nWORKING-STORAGE SECTION.\n01 DATA-BUFFER.\n05 SALES-REGION-1 PIC X(4).\n05 SALES-TOTAL-1 PIC S9(11).\n05 SALES-REGION-2 PIC X(4).\n05 SALES-TOTAL-2 PIC S9(11).\n05 SALES-REGION-3 PIC X(4).\n05 SALES-TOTAL-3 PIC S9(11).\n05 SALES-REGION-4 PIC X(4).\n05 SALES-TOTAL-4 PIC S9(11).\n05 SALES-REGION-5 PIC X(4).\n05 SALES-TOTAL-5 PIC S9(11).\n01 ACTION PIC X.\n01 NET-CD PIC S9(4) COMP.\n01 RLEN PIC S9(4) COMP.\n\nPROCEDURE DIVISION.\n\n10-MAIN-LINE.\nCALL \"\\NET_OPEN\" USING 0, 65 GIVING NET-CD.\nIF NET-CD = -1 THEN\nDISPLAY \"NET_OPEN ERROR\"\nPERFORM 15-END-PROG\nELSE DISPLAY \"STARTED\".\nPERFORM 30-OPEN-DATA-BASE.\nPERFORM 20-DO-ACTION\nUNTIL ACTION = \"Q\".\nPERFORM 15-END-PROG.\n\n15-END-PROG.\nCALL \"\\NET_CLOSE\" USING \\NET-CD\\.\nPERFORM 40-CLOSE-DATA-BASE.\nDISPLAY \"COMPLETE\".\nSTOP RUN.\n\n20-DO-ACTION.\nCALL \"\\NET_READ\" USING \\NET-CD\\, ACTION, 1 GIVING RLEN.\nIF RLEN = -1 THEN\nDISPLAY \"NET_READ ERROR\"\nPERFORM 15-END-PROG\nELSE DISPLAY \"In DO-ACTION\".\nIF ACTION = \"G\"; THEN\nPERFORM 50-GET-RECORD\nPERFORM 60-SEND-RECORD\nELSE NEXT SENTENCE.\n\n30-OPEN-DATA-BASE.\nDISPLAY \"OPEN-DATA-BASE\"\n\n40-CLOSE-DATA-BASE.\nDISPLAY \"CLOSE-DATA-BASE\"\n\n50-GET-RECORD.\nMOVE \"USNE\" TO SALES-REGION-1.\nMOVE 96049737 TO SALES-TOTAL-1.\nMOVE \"USCE\" TO SALES-REGION-2.\nMOVE 65859530 TO SALES-TOTAL-2.\nMOVE \"USSO\" TO SALES-REGION-3.\nMOVE 85523299 TO SALES-TOTAL-3.\nMOVE \"USSW\" TO SALES-REGION-4.\nMOVE 75286145 TO SALES-TOTAL-4.\nMOVE \"USWE\" TO SALES-REGION-5.\nMOVE 132598367 TO SALES-TOTAL-5.\n\n60-SEND-RECORD.\nCALL \"\\NET_WRITE\" USING \\NET-CD\\ DATA-BUFFER, 68 GIVING RLEN.\nIF RLEN = -1 THEN\nDISPLAY \"NET_WRITE ERROR\"\nPERFORM 15-END-PROG\nELSE DISPLAY \"In SEND-RECORD\".<\/pre>\n<hr size=\"1\">\n<p><strong> SA01NLD<\/strong><\/p>\n<pre>SA01OBJ\nNIFOBJ.MM.MINISOFT<\/pre>\n<hr size=\"1\">\n<p><strong> Compile and Link for SA01<\/strong><\/p>\n<pre>COB85XL SA01,SA01OBJ\nLINK FROM=^SA01NLD;TO=SA01TEST.MM.MINISOFT;CAP=IA,BA,PH,PM\n\n<\/pre>\n<hr size=\"1\">\n<p>&nbsp;<\/p>\n<p class=\"subheads\"><strong> Add this to MSJOB.MM.MINISOFT<\/strong><\/p>\n<dl>\n<dd class=\"basic\">!SETVAR MSSERVER000065 &#8220;21001 0 SA01TEST.MM.MINISOFTS&#8221; <a name=\"SA01CMD\"><\/a><\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<hr size=\"1\">\n<p>&nbsp;<\/p>\n<p class=\"subheads\"><strong> SA01CMD<\/strong><\/p>\n<dl>\n<dd class=\"basic\">RUN SERVER.MM.MINISOFT;PARM=16640;INFO=&#8221;21001SA01TEST.MM.MINISOFT&#8221;<a name=\"SA01JOB\"><\/a><\/dd>\n<\/dl>\n<p>&nbsp;<\/p>\n<hr size=\"1\">\n<p><strong> SA01JOB<\/strong><\/p>\n<pre>!JOB SA01JOB,MGR.MINISOFT,MM;OUTCLASS=LP,1\n!RUN SERVER.MM.MINISOFT;PARM=16640;INFO=\"21001 SA01TEST.MM.MINISOFT\"\n!EOJ<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The following files, available for download are a simple sample of how a custom server could be written. VB SA01 Option Explicit Dim SA Private Sub Form_Load() Set SA = CreateObject(&#8220;MdmSA.Session&#8221;) End Sub Private Sub GetData_Click() If (SA.ConnectStatus) Then Screen.MousePointer = 11 SA.NetWrite (&#8220;G&#8221;) Text1.Text = SA.NetRead(68, True) Screen.MousePointer = 0 End If End Sub [&hellip;]<\/p>\n","protected":false},"author":75,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[61,54],"tags":[],"_links":{"self":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1928"}],"collection":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/comments?post=1928"}],"version-history":[{"count":2,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1928\/revisions"}],"predecessor-version":[{"id":8031,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/posts\/1928\/revisions\/8031"}],"wp:attachment":[{"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/media?parent=1928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/categories?post=1928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c002.minisoft.com\/support\/wp-json\/wp\/v2\/tags?post=1928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}