Hot Topic (More than 10 Replies) Where's the ghost? (Read 3901 times)
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Where's the ghost?
Jan 26th, 2013 at 2:28pm
Print Post Print Post  
I'm chasing an irritating - not disabling - ghost regarding intermittent crashing of Sesame 2.5.3.

Small network of 8 computers, all running WinXP with 2gb RAM (except one new laptop running Win7-64bit).  Lots of transactions (sales orders, purchase orders, inventory received, printing of orders and labels, invoices) all day long.  Lots of emails generated via @sendmail as a part of some measure of the transactions (alerts sent to customers, alerts sent to employees for various things).  And I use a LOT of XResult commands in my programming.

Since upgrading to 2.5.3 from 2.5.2, there is a disconcerting increase of Sesame crashing - both the client, and sometimes the server.  We might go a few days without any crashes, and then have 4 or 5 over a two day period.  Some workstations are worse offenders than others.

The most common circumstances seem to be 1) @sendmail, and 2) printing labels to a Brother QL580 label printer. 

Here are the variables -
1) if some specific workstations are hanging up while attempting to execute code that includes a @sendmail, then rebooting the workstation will 'most' of the time allow the workstation to then perform that Sesame code successfully again.  However, at least one of the workstations seems incapable of performing a @sendmail, even after fresh reboot (2gb ram).
2) rebooting the WinXP workstation that functions as the stand alone Sesame server every week or so seems to help
3)  the Win7 laptop, with 8gb RAM (upon which all the Sesame development is done) statistically NEVER (once in a very very long blue moon) has any problem running any aspect of the program.

So ...
   - do I have a Sesame problem? 
   - Do I have an 'aging workstations' problem and need to upgrade my workstations to faster processors, more RAM, and Win7?

Comments:  I've got two 'quick interim fixes' going -

"Avoidance" fix - for certain UserId's, I've commented out some of the @sendmail code, and

"Muscle" fix - I've got a Win7-64 bit 8GB workstation (used) on the way, to insert in place of the most frequently offending XP workstation and see if its muscle power  resolves the issues.

Any advice or suggestions for me?
  

Larry
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Where's the ghost?
Reply #1 - Jan 28th, 2013 at 2:01pm
Print Post Print Post  
Strikes me that there must be at least two different problems. @Sendmail runs on the client and doesn't affect the Sesame server at all. If you are having problems with @Sendmail, it is probably due to settings on the computer that is having problems, and while upgrading that computer is likely to change those settings, and thereby fix the problem, it is unlikely that the problem has anything to do with hardware. The one exception may be that the network card in that computer is unhappy. Does @Sendmail return an error?

The other problem, where the server is crashing, is probably unrelated to @Sendmail, tthough it may have to do with XResultSet, in that XResultSet does talk to the server. It may also be related to the amount of memory your application is using. Have you ever watch the process manager to see how much memory Sesame is using on your server? It may also be a problem with your network. If it is memory or network, upgrading your server may help. But, it could also be that your SBasic programming, when run by several clients at once is hitting some combination of commands and timing that the server simply isn't anticipating. In which case, software diagnostics and repair is the remedy.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #2 - Jan 29th, 2013 at 12:22am
Print Post Print Post  
Mark,

Agree.   But while "software diagnostics and repair" is the default 'fix' on the 50th 'brain' floor where you think and work, down in the engine room amidst the coal and the shovels, I'm going to try the ham-fisted 'muscle it to death' approach first, as I find myself with a shrinking time/attention span window these days.

I never have any trouble with any Sesame thing between my  new laptop with big RAM, fast CPU, and Win7-64.  So, I'll try sticking a desktop with the same type specs on the network and see how it goes.

Sendmail - mostly the error code is either a -1 or a -4.

I'm convinced that Brother's label printer printer driver for Win7 is much better then the one for WinXP ... I'll see if the proof is in the pudding.

Many thanks.
« Last Edit: Jan 29th, 2013 at 2:30am by lksseven »  

Larry
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2483
Joined: Aug 20th, 2003
Re: Where's the ghost?
Reply #3 - Jan 29th, 2013 at 2:56pm
Print Post Print Post  
Hello,

A -4 return code could be from something as simple as a bad To, CC or BCCemail address.

The -1 means it was unable to connect to the SMTP server. This could be caused by being unable to open the port needed to communicate with the Server, Being unable to find the server at that address or anything like that. This type of error can cause Sesame to freeze as it's trying to connect to the SMTP server but should never cause a crash.

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #4 - Jan 30th, 2013 at 3:59am
Print Post Print Post  
Ray,

the -1 return code:  this usually is the case when I'm running Sesame in standalone, doing some development or some such on my laptop.  The @Sendmail does NOT like stand alone mode or when I am a client to the office Sesame server through the Internet (at least as I have it set up), but it runs like a champ if my laptop is a physical client on my network at the office.


The -4 return code:   this is a recurring error from one computer most of the time (maybe it's all the time on that computer ... I should disable the security software and test it a little bit), and a problem on several other computers intermittently, although if it happens and then we reboot that workstation, it almost always allows Sesame to operate error-free for awhile.  But if I get an -4 error on one of these slaggard workstations, and then go run that command button from my newer Win7-64 laptop, it always 'just works'.  The 'To, CC, BCC addresses are hard coded in several of these buttons  to send alerts to several of my employees throughout the day on various things (although I am reprogramming the hard coding, as I 'get to it', to allow for more flexibility).

On the crashing issue, a couple of the older computers (6 years old?  2gb ram, WinXP) can experience client Sesame crashes several times a day, but then go a few days without issues (usually, as I've mentioned, when printing labels - I think Sesame get's irritated at having to wait for the slow speeds of the label printer and the spooler ... one reason I'm anxious to put a desktop on the network running Win7 with 8gb ram and see if that problem disappears from that network node).  But the Sesame server engine will crash sporadically maybe once a week (it's hard to find a pattern - it might happen a couple of times in one day, then not happen again for a couple of weeks).   And I have no convincing evidence or argument that it's 'Sesame', and not a hardward issue (network card, network cable, network router, security software, etc) ... except my notional vague observation that the problems increased after moving to 2.5.3 from 2.5.2 (or maybe it was going from 2.5 to 2.5.2).  I really don't have a clear enough chronology at this point to be very cogent about it - sorry!

I'll report in once I get some experiential history on the 'muscle fix'.
  

Larry
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2483
Joined: Aug 20th, 2003
Re: Where's the ghost?
Reply #5 - Jan 30th, 2013 at 3:41pm
Print Post Print Post  
Hello Larry,

When you get a moment on the Server computer and on the client computer, bring up the Windows Event Viewer(Control Panel->Administrative tools) and save the Application log out to a EVT or EVTX file(Depending on OS) and send it as an attachment over to support@lantica.com.

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #6 - Jan 31st, 2013 at 4:54am
Print Post Print Post  
Hi Ray,

Will try to get that done this week.  Thanks!
  

Larry
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #7 - Feb 1st, 2013 at 4:25pm
Print Post Print Post  
email and attachs sent, Ray.  Many Thanks.
  

Larry
Back to top
IP Logged
 
Rick_R
Full Member
***
Offline



Posts: 243
Joined: Jan 29th, 2010
Re: Where's the ghost?
Reply #8 - Feb 1st, 2013 at 11:31pm
Print Post Print Post  
Granted it sounds like a software problem, but re 6-year old computers, have you tried replacing the CMOS battery? Years ago I mentioned to my mother that the batteries last about 3 years. She said that months later the school district she worked for had a bunch of brand new computers and crazy things were happening. She happened to mention to the tech about the batteries and he said, "I completely forgot that! We actually bought these about 3 years ago and they've been sitting in storage.  They're not actually "new"." He replaced the batteries and the problems disappeared.

Also, after the battery, the next most common problem is a power supply that goes "flaky".  Usually the bearings will wear out and the fan gets noisy before that happens.  Years ago, twice, I figured, "I'm a tech! I can replace a fan!" HUGE mistake! Because it's mechanical, the fan is the weakest part. Once that's replaced, the second weakest part is the voltage regulator. It doesn't crater, it gets flaky. And depending on whether the computer is left on or not, 4-6 years is a common time frame.
  
Back to top
 
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #9 - Feb 2nd, 2013 at 4:11am
Print Post Print Post  
I'll tell you something that seems odd about the computer that is most wimpy at completely the program demands.  My label printers have internal network ports and run on a Netgear 100mb/1gb switch.  The print driver is set to spool the print job and then begin feeding the print job out to the label printer.  If the print job originates from the wimpy computer, the labels emerge almost as slowly as ketchup out of a new bottle.  But if the label print job is originated on a newer workstation (and thus the spooled job is on the newer computer's hard drive), the labels spit out with speed and authority.  So it seems that the wimpy computer is having some issues that are degrading its communication speed (either hard disk or network card?) ... if the labels are dragging their backside that much, maybe the instruction sets are dragging very slow, too, and causing Sesame some unacceptable timing problems?

As the program runs almost flawlessly on the newer computers, I just can't yet conclude that the software is the problem.  The software programming is the constant that works very well on some workstations and not so dependably on just a couple of other workstations - the variable seems to be the hardware.   In any case, the replacement pc came in today and I got it online and will observe its peroformance next week and see how it goes (8gb ram, Lenovo M58 Thinkcentre, used).  It was a little bit dinged up, but seems to be in good 'working' order.  A 19" monitor was bundled with it, and that did NOT work at all, so one more thing to do next week ...

I'll follow up here as I know more..
  

Larry
Back to top
IP Logged
 
Carl Underwood
Senior Member
Members
*****
Offline



Posts: 1351
Location: New Hampshire
Joined: Mar 11th, 2003
Re: Where's the ghost?
Reply #10 - Feb 2nd, 2013 at 11:34pm
Print Post Print Post  
Just a thought, not intended as a put-down... Smiley

Is all of your hardware used? I wonder if folks sell troublesome computers, like they do with cars that are lemons. If so, you may be getting a higher percentage of flaky hardware components than the industry average because you could be buying other peoples' problems?
  


Carl Underwood
CDU Computer Consulting LLC
Epsom, New Hampshire
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #11 - Feb 4th, 2013 at 3:18am
Print Post Print Post  
Hi Carl,

That's a legit question, for sure.  And the answer is yes and no.  Several of the computers, while 'used' now, were new when I purchased them 3 years ago (and one of them is a month old).  Several of the others are used and were used when I purchased them a couple of years ago.  FYI, I've been so dependent on buying used workstations because I have been running AccountingVision32 for my accounting software since 1992 (originally on IBM's OS/2) and development stopped on it about 10 years ago, and it will not run on any Windows more recent than XP (the acctg software is running on top of Pervasive's Btrieve database engine).  So I've been buying used computers on Buy.com that are running XP (refurbished/fulfilled by US Micro, probably from 3 year corporate leases).   But I've discovered in the last few weeks that the acctg software will run in XP mode within Win7-64 bit.  So I can begin to bring in new (or newer, anyway) Win7-64 workstations.  Now that I'm doing real-time inventory and invoicing with Sesame (along with sales orders and purchase orders and quotes and ...) I'm not necessarily wedded to AV32 anymore.  But the XP mode option will allow me a smoother and more measured transition to different acctg software, or allow me to continue to use AV32.

It's a little bit of a dilemma.  The crashing problems didn't exist in the past - say 12-18 months ago - to the degree that they do now (for me).  The computers are the same, but now older.  Sesame has been upgraded in version (from 2.5 to 2.5.2 and 2.5.3), and I have certainly programmed more and more stuff for Sesame to do.  So there seem to be too many variables to easily identify 'what's the problem'.

I should quickly know if the problem is old creaky workstations, though, as I'll tomorrow start running the newly installed workstation at full pace.  If the problems cease, then I'll know that the old workstation(s) were likely to blame.  If the problems persist, then I'll look to other areas (network switches, cabling), and look hard (always) at my code.  But, like I say, the code runs fine on the newest, most muscular workstations, so ...?
  

Larry
Back to top
IP Logged
 
The Cow
YaBB Administrator
*****
Offline



Posts: 2530
Joined: Nov 22nd, 2002
Re: Where's the ghost?
Reply #12 - Feb 4th, 2013 at 2:16pm
Print Post Print Post  
My problem with the "old computer" theory is that Sesame is developed on and tested on several very old computers. Until recently the primary development box was a Pentium 3. One of the current development boxes is a ten year old Pentium 4. Even the newest development box is an older Xeon (5110). Here at Hammer Data / Lantica, we test across a broad range of boxes from Pentium 2 up through the i3/i5/i7 series.

Unlike Q&A, which ran right on top of the hardware, as was common for DOS programs, Sesame is built on top of cross-platform libraries. This allows us to be easily ported to several different operating systems. It also prevents Sesame from becoming reliant on any particular hardware / software configuration. We have to write very bland vanilla code to be able to run on both Windows and Linux using almost entirely the same exact code.

So, while it may be possible that older hardware is the problem, it isn't so likely. Unfortunately, Windows is susceptible to creeping damage. This means that as you use it, the OS becomes more and more broken. Device drivers gradually can corrupt. And, like any other program that uses a device, Sesame has to interface with the device driver for that device. We don't talk to it directly, but through an interface layer. Nor do we "timeout" on printer drivers. It may be possible that the OS is timing out and throwing an exception while we are trying to access a printer, especially one through the net. We have not seen this here, nor have we received reports indicating that this is common. We do timeout on our own network communications between client and server, if there are network problems. Older computers often have older network cards and these can deteriorate over time. There is some possibility that, with overheating, other components are having issues. Keep your vents clear.

As I mentioned early, it looks to me like you have at least one problem affecting your server and another one or two on the client. I believe the likeliest explanation for why it affects some computers more than others is that different computers run at differing speeds and thereby produce different timings. I recommend that you do "freshen" the OS on your older boxes (backup everything and re-install), just to clear up any creeping clutter that is impairing the OS. You should also check your logs for any network errors coming from old or bad network cards.
  

Mark Lasersohn&&Programmer&&Lantica Software, LLC
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #13 - Feb 4th, 2013 at 11:23pm
Print Post Print Post  
Thanks, Mark.  I appreciate the explanations and advice.  I will attempt to implement your ideas as my skill and time allows.

One note - I think I was being imprecise when referring to 'older computers' ... some of what I 'meant' was indeed that Windows starts getting a little frayed as one uses it over time.   

I'll track the performance of the newest Win7 workstation and keep posted how it's going.
  

Larry
Back to top
IP Logged
 
Rick_R
Full Member
***
Offline



Posts: 243
Joined: Jan 29th, 2010
Re: Where's the ghost?
Reply #14 - Feb 5th, 2013 at 7:59pm
Print Post Print Post  
Another thing if you do an OS reinstall is try the software before adding all the updates.  Just do a basic XP Svc Pack 3 install, no updates, and try it.  Then download a copy of War and Peace, go get a large cup of coffe, and do all the updates. After you finish reading you should have time for a second coffee.  Grin

We still use QA, running XP as the server and awhile back all the Win 7 workstations suddenly couldn't access QA on the server.  We found out that an XP update was incompatible.  Removed the update and everything works.
  
Back to top
 
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #15 - Feb 6th, 2013 at 4:53am
Print Post Print Post  
I've had the same intermittent experience, too.  Something connects just fine for years, and then one day 'poof', it won't connect .... gee thanks Microsoft!


Prelim update - the new(er) Win7-64 M58 desktop is blowing through all of the Sesame tasks being assigned it.  It's still early, but I kind of suspect Mark was right on the money in pointing a suspicious finger at the network card/communication electronics of the older workstation.
  

Larry
Back to top
IP Logged
 
Rick_R
Full Member
***
Offline



Posts: 243
Joined: Jan 29th, 2010
Re: Where's the ghost?
Reply #16 - Feb 8th, 2013 at 10:45pm
Print Post Print Post  
lksseven wrote on Feb 6th, 2013 at 4:53am:
I kind of suspect Mark was right on the money in pointing a suspicious finger at the network card/communication electronics of the older workstation.


Have you checked or tried to roll back the driver? Sometimes a custom driver was installed either by MS or when the system was installed, the vendor no longer supports that hardware on that OS and a newer OS update installs an updated generic driver that is not fully compatible.
  
Back to top
 
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #17 - Feb 9th, 2013 at 2:54am
Print Post Print Post  
Rick,

No I have not checked on the driver.  Thanks for the tip.  I will look into that.
  

Larry
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #18 - Feb 12th, 2013 at 6:19pm
Print Post Print Post  
Ray or Mark,

enclosed is the Application Error Log entry for when the Sesame server (running on an WinXP workstation) crashes.  The error entry is always this same error code and 'fault address' location.   So what is it telling me?   FYI, this serving workstation hasn't been rebooted in 13 days (it seems the longer between Windows reboots, the more likely the chance for crashes).

By the way, the newer Win7 workstation seems to be working swimmingly, with no sesame workstation crashes in the course of its various tasks/duties throughout the day.

Event Type:      Error
Event Source:      Application Error
Event Category:      None
Event ID:      1000
Date:            1/4/2013
Time:            3:50:51 PM
User:            N/A
Computer:      SERVER1
Description:
Faulting application sesame.exe, version 0.0.0.0, faulting module sesame.exe,
version 0.0.0.0,
fault address 0x000f34c7.



For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
Data:
0000: 41 70 70 6c 69 63 61 74   Applicat
0008: 69 6f 6e 20 46 61 69 6c   ion Fail
0010: 75 72 65 20 20 73 65 73   ure  ses
0018: 61 6d 65 2e 65 78 65 20   ame.exe
0020: 30 2e 30 2e 30 2e 30 20   0.0.0.0
0028: 69 6e 20 73 65 73 61 6d   in sesam
0030: 65 2e 65 78 65 20 30 2e   e.exe 0.
0038: 30 2e 30 2e 30 20 61 74   0.0.0 at
0040: 20 6f 66 66 73 65 74 20    offset
0048: 30 30 30 66 33 34 63 37   000f34c7
0050: 0d 0a
  

Larry
Back to top
IP Logged
 
Ray the Reaper
Global Moderator
Members
Lantica Support
*****
Offline


The One & The Only

Posts: 2483
Joined: Aug 20th, 2003
Re: Where's the ghost?
Reply #19 - Feb 14th, 2013 at 2:58pm
Print Post Print Post  
Hi Larry,

It's telling us that once we can replicate the issue on our system here it should be the same steps everytime. However I have not had any luck reproducing the issue but I'm still trying.

-Ray
  

Raymond Yoxall Consulting
ray.yoxall@gmail.com
ryoxall@lantica.com
Sesame Applications, Design and Support
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #20 - Feb 14th, 2013 at 3:33pm
Print Post Print Post  
I just replaced another older XP workstation with a faster Win7 workstation (with one more replacement to go in the next couple of days).  I'll be interested to see if those replacements reduce/eliminate the random crashes (speaking to Mark's comment about the possible hardware 'timing' issue I may have in my network )
  

Larry
Back to top
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #21 - Feb 14th, 2013 at 3:42pm
Print Post Print Post  
FWIW, 'most' of the random crashes occur when this command button is executed in the making of a sales order (it checks on various things in the Sales Order header, conditionally adds a map image, and then throws focus to the SOLines subform (LEO) to add line items).

var vSONum as int
var vNextSONum as int
var vClientID as string
var vRSc as int
var vMaplink as string
var vCount as int
var vShipToID as string
var vClientPO as string
var vClientPORequired as string
var vOrderer as string
var vPass as int
var vErrorList as string
//var vAltP as string
//var vCheck as string

var vSOTot as int
var vItemNum as string
var vItemDesc as string
var vItemQty as string
var vItemUoM as string
var vItemPrice as double
var vExtendedPrice as double
var vLoop1 as int
var vLine as string
var vItemNum2 as string
var vPrint as int


If @Group <> "clients"
{//a

If @Mode() = 1
   {

     If @SubformVisibility("LE0") = 0
       {
     Visibility(SummaryView, 0)
     SubformVisibility("LE0", 1)
     FormAttribute("SOLines", "CreateNewItem", ATTR_ID_READ_ONLY, "0")
     vItemNum2 = ""
     vItemNum2 = @FormAttribute("SOLines", "ItemNum", 0)
     If vItemNum2 <> ""
       {
           FormAttribute("SOLines", "ItemNum", ATTR_ID_READ_ONLY, "1")
       }
     FormThrowFocus("SOLines", "LaunchPad")
       }

     else If @SubformVisibility("LE0") = 1
            {

           vSOTot = @FormResultSetTotal("Orders!SOLines")
           vLoop1 = 1
               While vLoop1 <= vSOTot

                 {
                  
                     vItemNum = @FormFieldValue("SOLines", "ItemNum", vLoop1)
                 vItemDesc = @FormFieldValue("SOLines", "ItemDesc", vLoop1)
                 vItemQty = @FormFieldValue("SOLines", "ItemQty", vLoop1)
                 vItemUoM = @FormFieldValue("SOLines", "ItemUoM", vLoop1)
                 vItemPrice = @FormFieldValue("SOLines", "ItemPrice", vLoop1)
                 vExtendedPrice = @FormFieldValue("SOLines", "LineItemTotal", vLoop1)
                 vLine = vLine + vItemNum + " ** " + vItemDesc + " ** " + vItemUoM + " ** " + vItemQty + " ** $" + vItemPrice + " ** $" + vExtendedPrice + @NewLine() + "===============" + @NewLine()

                 vLoop1 += 1
            }
           SubformVisibility("LE0", 0)
           Visibility(SummaryView, 1)
           SummaryView = ""
           SummaryView = vLine
           ForceRedraw()
                                               
            } // end LE0 = 1

   }

If @Mode() = 0
   {//b
    vPass = 1

    If @IsBlank(SONum)
     {
     //SubformVisibility(LE0, 0)
     ThrowFocus(SONum)
     }
      else If (@IsBlank(SONum) = 0)
        {//be
     
       //SubformVisibility(LE0, 1)
       //NotifyForm(6)

               
       vShipToID = ShipToID
       vClientPO = ClientPO
       vOrderer = Orderer
       vClientID = ClientID
       vMaplink = ""
       //vAltP = AltP
       //vCheck = @ContainsStringArray(vClientPO, "card", 0)
           

            vRSc = @XResultSetSearch(@FN, "Client", SEARCH_MODE_AND, SEARCH_SYNTAX_QA, "!ClientID=" + vClientID)
             
       If vRSc > -1
         {


                    vCount = @XResultSetTotal(vRSc)
                 If vCount = 1
                 {
                       vClientPORequired = @XResultSetValue(vRSc, "ClientPORequired")
                       vMaplink = @XResultSetValue(vRSc, "MapLink")
                       
                       If @IsBlank(Orderer)
                         {
                             vErrorList = vErrorList + @NewLine() + " [X] Orderer field must contain the name of the customer who placed this order" + @NewLine()
                             vPass = 0
                         }

                       If (vClientPORequired <> "") and @IsBlank(ClientPO)
                         {
                             vErrorList = vErrorList + @NewLine() + " [X] a PO# is required for this customer" + @NewLine()
                             vPass = 0
                         }

/*
                       If (vAltP = "") and (@Left(vClientID,4) = "1007") and (vCheck <> "")
                         {
                             vErrorList = vErrorList + @NewLine() + " [X] If client is TU and PO is Pcard and item is copy paper, be sure to enter a 'P' in AltP field" + @NewLine()
                             vPass = 0
                         }
*/

                       If vPass = 0
                         {
                             Writeln(vErrorList)
                             Writeln(@NewLine() + @NewLine() + "  The above must be corrected before you can proceed with this order")
                         }
                                   else If vPass = 1
                               { //begin vPass = 1

                                   //FormCommit("")
                                   If (vShipToID = "")
                                     {
                                         If vMapLink <> ""
                                           {
                                               Map1 = vMaplink
                                           }
                                     }
                 

                                   If @SubformVisibility("LE0") = 0
                                     {
                                         Visibility(SummaryView, 0)
                                         SubformVisibility("LE0", 1)
                                         FormAttribute("SOLines", "CreateNewItem", ATTR_ID_READ_ONLY, "0")
                                         vItemNum2 = ""
                                         vItemNum2 = @FormFieldValue("SOLines", "ItemNum", 0)
                                         //vItemNum2 = @FormAttribute("SOLines", "ItemNum", 0)
                                         If vItemNum2 <> ""
                                           {
                                               FormAttribute("SOLines", "ItemNum", ATTR_ID_READ_ONLY, "1")
                                           }
                                         FormNotifyForm("SOLines", 6)
                                         FormThrowFocus("SOLines", "LaunchPad")
                                     }

                                      else If @SubformVisibility("LE0") = 1
                                           {
                                               FormCommit("")
                                               
                                               vSOTot = @FormResultSetTotal("Orders!SOLines")
                                               vLoop1 = 1
                                                   While vLoop1 <= vSOTot

                                                         {
                  
                                                         vItemNum = @FormFieldValue("SOLines", "ItemNum", vLoop1)
                                                     vItemDesc = @FormFieldValue("SOLines", "ItemDesc", vLoop1)
                                                     vItemQty = @FormFieldValue("SOLines", "ItemQty", vLoop1)
                                                     vItemUoM = @FormFieldValue("SOLines", "ItemUoM", vLoop1)
                                                     vItemPrice = @FormFieldValue("SOLines", "ItemPrice", vLoop1)
                                                     vExtendedPrice = @FormFieldValue("SOLines", "LineItemTotal", vLoop1)
                                                     vLine = vLine + vItemNum + " ** " + vItemDesc + " ** " + vItemUoM + " ** " + vItemQty + " ** $" + vItemPrice + " ** $" + vExtendedPrice + @NewLine() + "===============" + @NewLine()

                                                     vLoop1 += 1
                                                     }
                                               SubformVisibility("LE0", 0)
                                               Visibility(SummaryView, 1)
                                               SummaryView = ""
                                               SummaryView = vLine
                                               ForceRedraw()
                                               
                                             } // end LE0 = 1

                                   } // end vPass = 1

                        
                    } // end vCount = 1

           } // end vRSC > -1

           //NotifyForm(-6)
            XResultSetClose(vRSc)


     }//end of be



    } // end of b

} // end of a
  

Larry
Back to top
IP Logged
 
Rick_R
Full Member
***
Offline



Posts: 243
Joined: Jan 29th, 2010
Re: Where's the ghost?
Reply #22 - Feb 15th, 2013 at 11:47pm
Print Post Print Post  
Regarding timing--and this is just a shot in the dark--by any chance are the Win 7 machines running a 1GB network interface and the XP machines are running 100 Mbps and the network can handle 1GB?
  
Back to top
 
IP Logged
 
lksseven
Full Member
***
Offline



Posts: 416
Location: Southwest
Joined: Jan 26th, 2009
Re: Where's the ghost?
Reply #23 - Feb 16th, 2013 at 12:06am
Print Post Print Post  
Hi Rick,

All computers (Win7 and XP) are running 1gb network interface. 

I just put two more Win7-64bit (8gb) wrkstns online today (both with double monitors, so now I'm a hero with my office staff - at least for 48 hours ...).  So I'll be very interested to see what the next couple of weeks brings in the way of crashes/glitches.
  

Larry
Back to top
IP Logged