Software Information |
|
Great Plains Customization ? Programming Auto-apply in Accounts Receivable
Microsoft Great Plains is one of three Microsoft Business Solutions mid-market ERP products: Great Plains, Solomon, Navision. Considering that Great Plains is now very good candidate for integration with POS application, such as Microsoft Retail Management System or RMS and Client Relation Systems, such as Microsoft CRM ? there is common need in Great Plains customizations and integrations, especially on the level of MS SQL Server transact SQL queries and stored procedures. In this small article we'll show you how to create auto-apply utility, when you integrate huge number of sales transactions and payments. We will be working with RM20101 ? Receivables Open File and RM20201 ? Receivables Apply Open File. Let's see SQL code: declare @curpmtamt numeric(19,5) declare @curinvamt numeric(19,5) declare @curpmtnum varchar(20) declare @curinvnum varchar(20) declare @curinvtype int declare @curpmttype int declare @maxid int declare @counter int -- Create a temporary table create table #temp ( [ID] int identity(1,1) primary key, CUSTNMBR varchar(15), INVNUM varchar(20), INVTYPE int, PMTNUM varchar(20), PMTTYPE int, INVAMT numeric(19,5), PMTAMT numeric(19,5), AMTAPPLIED numeric(19,5) ) create index IDX_INVNUM on #temp (INVNUM) create index IDX_PMTNUM on #temp (PMTNUM) -- Insert unapplied invoices and payments insert into #temp ( CUSTNMBR, INVNUM, INVTYPE, PMTNUM, PMTTYPE, INVAMT, PMTAMT, AMTAPPLIED ) select CUSTNMBR = a.CUSTNMBR, INVNUM = b.DOCNUMBR, INVTYPE = b.RMDTYPAL, PMTNUM = a.DOCNUMBR, PMTTYPE = a.RMDTYPAL, INVAMT = b.CURTRXAM, PMTAMT = a.CURTRXAM, AMTAPPLIED = 0 from RM20101 a join RM20101 b on (a.CUSTNMBR = b.CUSTNMBR) join RM00101 c on (a.CUSTNMBR = c.CUSTNMBR) where a.RMDTYPAL in (7, 8, 9) and b.RMDTYPAL in (1, 3) and a.CURTRXAM 0 and b.CURTRXAM 0 order by a.custnmbr, b.DOCDATE, a.DOCDATE, a.DOCNUMBR, b.DOCNUMBR -- Iterate through each record select @maxid = max([ID]) from #temp select @counter = 1 while @counter = @curpmtamt) and (@curpmtamt>0) and (@curinvamt>0)-- if the invoice amount is greater or the same as the payment amount begin select @curinvamt = @curinvamt - @curpmtamt -- invoice amount remaining -- update with the amount that is applied to the current invoice from -- the current payment update #temp set AMTAPPLIED = @curpmtamt where [ID] = @counter -- update with amount of invoice remaining update #temp set INVAMT = @curinvamt where INVNUM = @curinvnum and INVTYPE = @curinvtype -- update with amount of payment remaining update #temp set PMTAMT = 0 where PMTNUM = @curpmtnum and PMTTYPE = @curpmttype end else if (@curinvamt 0) and (@curinvamt>0)-- if the invoice amount is lesser to the payment amount begin select @curpmtamt = @curpmtamt - @curinvamt -- payment amount remaining -- update with the amount that is applied to the current invoice from -- the current payment update #temp set AMTAPPLIED = @curinvamt where [ID] = @counter -- update with amount of invoice remaining update #temp set INVAMT = 0 where INVNUM = @curinvnum and INVTYPE = @curinvtype -- update with amount of payment remaining update #temp set PMTAMT = @curpmtamt where PMTNUM = @curpmtnum and PMTTYPE = @curpmttype end -- go to the next record select @counter = @counter + 1 end -- update the RM Open table with the correct amounts update RM20101 set CURTRXAM = b.INVAMT from RM20101 a join #temp b on (a.DOCNUMBR = b.INVNUM and a.RMDTYPAL = b.INVTYPE) update RM20101 set CURTRXAM = b.PMTAMT from RM20101 a join #temp b on (a.DOCNUMBR = b.PMTNUM and a.RMDTYPAL = b.PMTTYPE) -- create the RM Apply record or update if records already exist update RM20201 set DATE1 = convert(varchar(10), getdate(), 101), GLPOSTDT = convert(varchar(10), getdate(), 101), APPTOAMT = APPTOAMT + a.AMTAPPLIED, ORAPTOAM = ORAPTOAM + a.AMTAPPLIED, APFRMAPLYAMT = APFRMAPLYAMT + a.AMTAPPLIED, ActualApplyToAmount = APFRMAPLYAMT + a.AMTAPPLIED from #temp a join RM20101 b on (b.DOCNUMBR = a.INVNUM and b.RMDTYPAL = a.INVTYPE) join RM20101 c on (c.DOCNUMBR = a.PMTNUM and c.RMDTYPAL = a.PMTTYPE) join RM20201 d on (d.APFRDCTY = a.PMTTYPE and d.APFRDCNM = a.PMTNUM and d.APTODCTY = a.INVTYPE and d.APTODCNM = a.INVNUM) where a.AMTAPPLIED 0 insert into RM20201 (CUSTNMBR, DATE1, GLPOSTDT, POSTED, APTODCNM, APTODCTY, APTODCDT, ApplyToGLPostDate, CURNCYID, CURRNIDX, APPTOAMT, ORAPTOAM, APFRDCNM, APFRDCTY, APFRDCDT, ApplyFromGLPostDate, FROMCURR, APFRMAPLYAMT, ActualApplyToAmount) select CUSTNMBR = a.CUSTNMBR, DATE1 = convert(varchar(10), getdate(), 101), GLPOSTDT = convert(varchar(10), getdate(), 101), POSTED = 1, APTODCNM = a.INVNUM, APTODCTY = a.INVTYPE, APTODCDT = b.DOCDATE, ApplyToGLPostDate = b.GLPOSTDT, CURNCYID = b.CURNCYID, CURRNIDX = '', APPTOAMT = a.AMTAPPLIED, ORAPTOAM = a.AMTAPPLIED, APFRDCNM = a.PMTNUM, APFRDCTY = a.PMTTYPE, APFRDCDT = c.DOCDATE, ApplyFromGLPostDate = c.GLPOSTDT, FROMCURR = c.CURNCYID, APFRMAPLYAMT = a.AMTAPPLIED, ActualApplyToAmount = a.AMTAPPLIED from #temp a join RM20101 b on (b.DOCNUMBR = a.INVNUM and b.RMDTYPAL = a.INVTYPE) join RM20101 c on (c.DOCNUMBR = a.PMTNUM and c.RMDTYPAL = a.PMTTYPE) where a.AMTAPPLIED 0 and not exists (select 1 from RM20201 d where d.APFRDCTY = a.PMTTYPE and d.APFRDCNM = a.PMTNUM and d.APTODCTY = a.INVTYPE and d.APTODCNM = a.INVNUM) drop table #temp About The Author Andrew Karasev is Chief Technology Officer in Alba Spectrum Technologies ? USA nationwide Great Plains, Microsoft CRM customization company, with offices in Chicago, San Francisco, Los Angeles, San Diego, Phoenix, Houston, Miami, Atlanta, New York, Madrid, Brazil, Moscow ( http://www.albaspectrum.com), you can reach Andrew 1-866-528-0577, he is Dexterity, SQL, C#.Net, Crystal Reports and Microsoft CRM SDK developer; [email protected]
|
RELATED ARTICLES
Linux for Home Users Hey Guys! Don't raise your eyebrows or fear by hearing the word Linux. It is as user friendly as windows. Just take a look at the articles below and all myths about Linux in your mind will disappear. Why Java RDBMS? It is a well known fact that Java as a programming language set off a new paradigm in the software industry. Suddenly, every software programmer worth his salt was amidst software jargons like 'Platform-Independence', 'Cross-Platform-Deployment' and 'The Java Virtual Machine'. In fact, it did not take long for Java to usurp the 'most sought after status' from many software languages, and become the most preferred tool for creating software; especially software for the web. As the recent trends in the industry show, Java is set to achieve an undeniable position as the most preferred software programming language for a long time to come. It is indeed Java's credit that many prominent vendors who tried to emulate the capacities of Java, failed miserably in the endeavor. Snort for Network IDS What is Snort? Manufacturing Solutions for Microsoft Great Plains ? Overview for Consultant Microsoft Business Solutions Great Plains has full-featured manufacturing set of modules. In this small article we would like to give you highlights on what kinds of light customization you could deploy, before jumping into Microsoft Great Plains Manufacturing realm. Great Plains Manufacturing is targeted to discrete manufacturing clientele, which is opposite to process manufacturing ? food processing, mining, including precious metals/gold/platina, oil and gas / chemicals / agriculture. Manufacturing from accounting stand point is moving inventory into work in progress and then into finished goods. And this is where we have fundamental difference between discrete and process manufacturing. The Hidden Power of Online Manual Writing software manuals is boring, isn't it? We often think: "My software is easy to use. The user interface is intuitive. Why should I waste so much time for writing the document which nobody reads anyway?" Sometimes it's true ? I've never read the WinZip or Internet Explorer manuals ? everything seems clear without explanations. Nevertheless, even if your manual doesn't help to your software users, it may help to you. Publish your manual online and turn its hidden power into the real benefits for your business. Online Manual Makes Your Web Site Visible User manual is a huge bunch of words, the highly targeted words, which are specific for your software market. For instance, if you develop a database management system, its user guide will certainly contain such words as "database", "query", "transaction", "table", "record", and etc. On the other hand, people use these words in their queries when they are looking for a database management solution on the Google, Yahoo, or other search engine. Let the interested people to find your web site and your product. Upload your manual on your web server and make it available for indexing by search engine spiders. This area specific content will make your web site and your software more visible to potential customers. Making the user guide available online will increase your web site rank in relevant search results and will bring highly targeted traffic to web your site. Let the manual to work not only for your users, but for you as well. Online Manual Saves Your Time A picture worth a hundred words. Those who are engaged in user support know this for sure. When replying to user concerns, very often we have to write sentences like this "Open the Document settings dialog. Choose the External modules tab. Select the 'ABC Spell Checker' in the module list. Enter your registration key and verification code in the corresponding text fields which will appear at the bottom of the window. Then, press Activate". If your application is simple the user will likely understand you right and will do everything as you have explained. However, if your application is a complex system with lots of setting windows which behave differently in various modes, the user may be puzzled which window and which fields do you mean. In this case you risk getting into a long conversation by repeatedly explaining the same things again and again. The screenshot could be a very helpful illustration of your explanations. You may run your application, go to the certain window, open that tab page, activate the corresponding item in the list. Then make the screenshot of the window by using Alt+PrtSc key combination or another screen capture tool, save the picture in a file, and finally attach it to your message. Sometimes it's also necessary to add callouts, annotations and other enlightenments to the screenshot picture. Thus, you have to launch your image editor and to manually draw all the elements required. As you see, it may takes up to a half hour to reply to a single message only. And how many messages are yet in the queue? Having the screenshots prepared is a good approach which may save your time. But having screenshots already prepared together with callouts, explanations, and annotations is a great approach which will save you much more time. Most likely, you have all that stuff prepared in your software manual but it's not very polite to reply to the user: "Read that fantastic manual". User may have no idea where the manual is on the PC and on what page is the looked-for solution located. On the other hand, you may also have no time to manually cut particular pages with screenshots and related instructions from the manual and to attach them to each support message. The solution is easy. Put your manual on your web site in the form of HTML pages. Make all the pictures, screenshots with callouts, descriptions, and instructions accessible for every user. When you are processing another support request, simply insert an URL link to the appropriate page of your online manual and add just a few clarification words ? more words and pictures are already on that page. You will save much time and nerves because you will be sure that the user is looking at the same thing which you are describing. At the same time, the user will get a fast solution which is supported by clear pictures and neat instructions. Online Manual Makes Your Products Trustworthy Besides the users get the faster and more helpful support, they also see that you did this tedious job ? writing the handy and well structured manual with great screenshots and clear explanations. They know that this job is boring and developers don't like to do it. Therefore, if you did it and if you did it perfectly, it means that you respect your customers, not only their money. Good manual means that you consider your business and product seriously yourself. This helps your business to look more credible and serious. So, make your manual available online and prove your respect to your existing and prospective users. Make them trusting in you and in your product before they even download a demo copy of it. Online Manual Brings Sales As we see, the software manual which is a part of your web site generates a targeted traffic. The people may easily find your product because online help makes your web site more visible in relevant search results on the search engines. Those new visitors get more loyal when they see a well done help system. Also, if a prospect experiences difficulties with your software and asks for technical support, you may easily resolve the issue by referring the user to a certain page of your online help. With just a one click the user will see screenshots and explanations which will help them to settle the case. So, you have a motivated and targeted visitor, who feels loyal to your company and products, and whom you can easily help in case of a technical problem. The probability of such visitor ordering a license is several times higher than of the average one. ERP Software Financing: the Future? ? Overview for Company Owner In our case ? we serve Microsoft Business Solutions ERP and CRM products: Microsoft Great Plains, Microsoft CRM, Navision, Microsoft RMS, as well as we do customization and integration to these products. We would like to share with you our experience with financing through Microsoft Financial Corporation, the entity handling software financing for Great Plains, CRM, Solomon, Navision & Axapta. The Truth about Colossus: Are You Just A Magnetic Image? What is Colossus? Microsoft CRM Custom Design & Development: SDK, C#, SQL, Exchange, Integration, Crystal Reports Microsoft CRM is new player on the CRM software market.� The whole conception behind CRM seems to be different.� In case of traditional CRM software (Siebel, Oracle) - the application was designed with platform independence in mind.� Microsoft CRM is dedicated to Microsoft technology and so deploys all the Microsoft tools: Windows Active Directory, Microsoft Exchange 2003/2000, SQL Server, Crystal Reports Enterprise, Biztalk server, Microsoft Outlook, Internet Explorer, Microsoft Great Plains as backend, etc. If you are software developer, database administrator or web designer who is asked: how do we customize Microsoft CRM ? we are giving you directions in this article. Microsoft CRM SDK ? this is software development kit with C# and partly VB.net code samples ? it is supported by Microsoft Business Solutions technical support.� It is based on web service calls, if you are C# .NET developer ? you are excellently positioned to do this type of customizations.� This is the preferred modification scenario and this should be easily upgradeable customization.� VB.Net examples will be available soon. Legacy SQL Data integration.� This is also easy and safe.� If you have SQL database, sitting on the same or linked SQL Server ? you can create ASPX .Net application and simply integrate it into CRM.� You can place it on the navigation bar or menu in isv.config ? please refer to MS CRM SDK Legacy ASP integration ? this is somewhat more sophisticated.� You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS.� The trick is ? you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service. Microsoft Exchange Programming.� Microsoft CRM has Exchange connector ? which moves CRM incoming email to MS if it has GUID in its subject.� You can alter this logic (for instance - move email to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM).� Refer to MS Exchange SDK onsyncsave event handling.� Then simply apply some MS CRM SDK programming - you need some COM+ objects creation and VB programming experience. Direct SQL touch ? in #4 above I described you the scenario with MS Exchange handlers ? this would be ideal world if MS CRM SDK does the job.� But ? in real world this is not always true ? you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc).� This is not supported by MBS technical support ? but you can rescue to this technique if you have to get job done. MS CRM Customization tool ?� this is rather end-user tool and we don't describe it here ? read the manual.� We've described above the options to use when this tool doesn't do the job Crystal Reports - feel free to create Crystal report - tables and views structure is self explanatory.� Try to avoid the temptation to create your own SQL view or stored procedure in MS CRM database, instead - create custom database and place your view and stored proc in it.� Happy modifying! If you want us to do the job - give us a call 1-866-528-0577! [email protected] Microsoft Great Plains Subcontracting ? Overview for Microsoft Business Solutions Partner Microsoft Business Solutions Great Plains is very popular ERP/MRP applications in the USA, Canada, UK, Australia, New Zealand, Middle East, South Africa, Latin America. Considering high number of new Microsoft Great Plains partners and the desire to subcontract occasional customization, integration and reporting projects, we would like to advise you on Microsoft Great Plains subcontracting guidelines, based on our experience in dealing with Great Plains VARs Candidates for subcontracting: Think Of This Think of this, first we had the HAM Radio, then the bbs and now the Internet. Linux and the various other x systems are the next evolutionary step toward enhancing Global 2-way communications. And the best part, its virtually free! Microsoft Great Plains Inventory Control ? Overview For Consultant Microsoft Business Solutions Great Plains is marketed for mid-size companies as well as Navision (which has very good positions in Europe and emerging markets where it can be easily localized). Great Plains Inventory control is pretty robust and here we would like to give you highlights on standard functionality as well as what could be added to its standard features. Microsoft Great Plains Customization: Project Organization ? International Business Example Microsoft Business Solutions Great Plains fits to majority of horizontal niches and clientele in the USA, Canada, Mexico, Latin America, U.K., Brazil, South Africa, Australia, New Zealand and Middle East. If you are project organization: Real Estate, Law Firm, Placement Agency with permanent clients, Construction or Freight Forwarding company ? you probably use or plan to deploy Project management or Project accounting extension for Microsoft Great Plains. If you have your business in one country ? this work relatively simple, however we see clients, involved into international business, when your headquarters is located in the US for example and offices and locations are in Mexico. Let's look at your options: Inherent Dangers Of File Sharing Via The Internet. Cyberspace has opened up a new frontier with exciting possibilities of "File Sharing." We can explore any interest imaginable and research any topic of choice. We truly are global in reach with high speed internet usage at our disposal and a keyboard at our fingertips. We can share music, movies, games and even personal photographs. The Bluebird Project The objective for Zandi Digital is to make available clever programs to end-users that want and need something more diverse. Bluebird is the current application being developed by Zandi Digital. Bluebird will have the ability to compress multimedia(image, audio, or video) and text into one single file and later opened for reading or editing with Bluebird on Microsoft Windows� operating systems. A illustration is at http://www.videonotepad.net Microsoft CRM Integration with Lotus Notes Domino: Messaging Connector ? Future Directions IBM Lotus Notes Domino and Microsoft CRM (Client Relation Management) from now on can work in tandem. Microsoft CRM Lotus Notes Domino connector from Alba Spectrum Technologies provides seamless messaging in MS CRM through Domino. Our customers suggest future direction for the connector. Considering our consulting practice experience in MS CRM and Lotus Notes customization, upgrade, integration ? in this small article we'll reveal our half year development plans Are You Waiting for Microsoft Longhorn Operating System I love new technology. I am still ready to wait long for Longhorn. I have tried almost all operating systems of Windows series. My interest in Longhorn is building up day by day and the reason is..! From beginning Microsoft is very successful to project Longhorn as something mysterious. Many interesting stories are connected with it, which helped Longhorn to gain pre-launch popularity; I would rather say curiosity about this product. I don't know who is the propaganda minister of Microsoft? May be Mr. Brightside or Mr.Lonely. Relax guys I was just kidding. Great Plains Dexterity History and Programming Overview As of now - Great Plains Dynamics/eEnterprise is transformed/renamed into Microsoft Great Plains and Microsoft Business Solutions is in process of merging all its accounting applications: Great Plains, Solomon, Navision and Axapta into somewhat granular: Microsoft Financials, Microsoft HR, Microsoft Distributions, Microsoft Project Accounting, etc. So the original design of Great Plains should be deemphasized. But even now - Great Plains is written on the programming language and technology, created in early 1990-th, named Great Plains Dexterity. And the graphical interface looks very user friendly and nice - these are all Dexterity forms and screens. Microsoft eCommerce Web-development: Great Plains eConnect .Net ? Highlights for Programmer In our small article we'll consider Microsoft Business Solutions Great Plains Sales Order Processing module as eCommerce backend. Plus we'll cover what is possible and impossible in eConnect and why. Microsoft Great Plains is one of the most popular ERP in the US, Canada, Australia, New Zealand, Middle East, Latin America, UK and South Africa. Due to the MBS strategy ? Great Plains Dynamics was pulled from other markets, such as continental Europe (Germany, France, Russia) ? where Navision and Axapta are the promoted and recommended solutions. If you have Navision or Axapta ? please read our publications on these products on Alba Spectrum Technologies publication site. Daffodil DB: Web Database What is a Web Database? Bridging the Gap between Paper and Data The cornerstone of successful automated office systems is the ability to convert printed information into electronic data. Document processing applications need to capture and index data accurately and efficiently to bridge that gap. |
home | site map |
© 2005 |