Grande plaine de personnalisation? auto-programmation applicables dans les comptes débiteurs
Microsoft Great Plains est l'un des trois de Microsoft Business Solutions ERP mid-market produits: Great Plains, Solomon, Navision. Considérant que Great Plains est maintenant très bon candidat pour l'intégration avec POS application, tels que Microsoft Retail Management System ou RMS et Relation Client Systems, tels que Microsoft CRM? il ya besoin commun à Great Plains personnalisations et intégrations, surtout au niveau de MS SQL Server transact SQL et stocké procedures.In ce petit article, nous allons vous montrer comment créer des auto-appliquer d'utilité, lorsque vous intégrer très grand nombre de transactions et de paiements. Nous allons travailler avec RM20101? Ouvrir un fichier et créances RM20201? Créances Appliquer Open File.Let 's voir SQL code: declare @ curpmtamt numérique (19,5) declare @ curinvamt numérique (19,5) declare @ curpmtnum varchar (20) declare @ curinvnum varchar (20) declare @ curinvtype intdeclare @ curpmttype intdeclare @ @ maxid intdeclare contre int - Créer une table temporaire # tablecreate temp ([ID] int identité (1,1) de clé primaire, CUSTNMBR varchar (15), INVNUM varchar (20), INVTYPE int, PMTNUM varchar (20), PMTTYPE int, INVAMT numérique (19,5), PMTAMT numérique (19,5), AMTAPPLIED numérique (19,5)) créer des index sur IDX_INVNUM # temp (INVNUM) créer des index sur IDX_PMTNUM # temp (PMTNUM) - Insérer inappliqués factures et en paymentsinsert # temp (CUSTNMBR, INVNUM, INVTYPE, PMTNUM, PMTTYPE, INVAMT, PMTAMT, AMTAPPLIED) selectCUSTNMBR = a.CUSTNMBR, INVNUM = b.DOCNUMBR, INVTYPE = b.RMDTYPAL, PMTNUM = a.DOCNUMBR, PMTTYPE = a.RMDTYPAL, INVAMT = b.CURTRXAM, PMTAMT = a.CURTRXAM, AMTAPPLIED = 0from RM20101 ajoin RM20101 sur b (a.CUSTNMBR = b.CUSTNMBR) RM00101 joindre c sur (a.CUSTNMBR = c.CUSTNMBR) dans wherea.RMDTYPAL (7, 8, 9) andb.RMDTYPAL en (1, 3) anda.CURTRXAM 0 andb.CURTRXAM 0order bya.custnmbr, b.DOCDATE, a.DOCDATE, a.DOCNUMBR, b.DOCNUMBR-- à chaque itération recordselect @ maxid = max ([ID]) de tempselect # @ counter = @ 1while counter = @ curpmtamt) et (@ curpmtamt> 0) et (@ curinvamt> 0) - si le montant de la facture est plus grand ou le même que le paiement amountbeginselect @ curinvamt = @ curinvamt - @ curpmtamt - montant de la facture restants - mise à jour avec le montant qui est appliqué à la facture de courant - la paymentupdate # tempsetAMTAPPLIED = @ curpmtamtwhere [ID] = @ counter - mise à jour avec le montant de la facture remainingupdate # tempsetINVAMT = @ @ curinvamtwhereINVNUM = curinvnum andINVTYPE = @ curinvtype - mise à jour avec le montant du versement remainingupdate # tempsetPMTAMT = 0wherePMTNUM = @ curpmtnum andPMTTYPE = @ curpmttypeendelse if (@ curinvamt 0) et (@ curinvamt> 0) - si le montant de la facture est moins @ curinvamtwhere [ID] = @ counter - mise à jour avec le montant de la facture remainingupdate # tempsetINVAMT = 0whereINVNUM = @ @ curinvnum andINVTYPE = curinvtype - mise à jour avec le montant du versement remainingupdate # tempsetPMTAMT = curpmtamtwherePMTNUM = @ @ @ curpmtnum andPMTTYPE = curpmttypeend - aller à la prochaine recordselect @ @ counter = counter + 1END - mise à jour de la RM Open table avec le bon amountsupdateRM20101setCURTRXAM = b.INVAMTfromRM20101 ajoin # temp sur b (a.DOCNUMBR = b.INVNUM et a.RMDTYPAL = b.INVTYPE) updateRM20101setCURTRXAM = b.PMTAMTfromRM20101 ajoin # temp sur b (a.DOCNUMBR = b.PMTNUM et a.RMDTYPAL = b.PMTTYPE) -- - créer le dossier ou une demande RM a.AMTAPPLIED, APFRMAPLYAMT = APFRMAPLYAMT + a.AMTAPPLIED, ActualApplyToAmount = APFRMAPLYAMT + a.AMTAPPLIEDfrom # temp ajoin RM20101 b sur (b.DOCNUMBR = a.INVNUM et b.RMDTYPAL = a.INVTYPE) RM20101 joindre c sur (c.DOCNUMBR = a.PMTNUM et c.RMDTYPAL = a.PMTTYPE) RM20201 rejoindre sur d (d.APFRDCTY = a.PMTTYPE andd.APFRDCNM = a.PMTNUM andd.APTODCTY = a.INVTYPE andd.APTODCNM = a.INVNUM) wherea.AMTAPPLIED 0insert dans
Source D'Article: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Webmaster obtenir le code html
Ajouter cet article sur votre site Web dès maintenant!
Webmaster envoyer vos articles
Aucune inscription requise! Remplissez le formulaire et votre article est dans le Messaggiamo.Com répertoire!