Prairie-Kundenbezogenheit? Die Programmierung
Automobil-wenden in den Außenständen an
Microsoft Prairien ist eins von drei Microsoft
Geschäft Lösungen Mittlermarkt ERP Produkten: Prairien,
Solomon, Navision. , daß Prairien jetzt sehr guter Anwärter
für Integration mit Position Anwendung, wie Microsoft
Kleinmanagement-System oder Effektivwert und Klient Relation Systemen,
ist wie Microsoft CRM betrachten? es gibt allgemeine
Notwendigkeit in den Prairiekundenbezogenheiten und Integrationen,
besonders auf dem Niveau MS SQL des Bedieners transact SQL Fragen und
gespeicherte Verfahren.
In diesem kleinen Artikel zeigen wir Ihnen, daß wie man
Automobil-anwenden Sie Dienstprogramm verursacht, wenn Sie sehr große
Zahl der Verkäufe Verhandlungen und der Zahlungen integrieren.
Wir werden mit RM20101 arbeiten? Außenstände öffnen
Akte und RM20201? Außenstände Wenden Geöffnete Akte An.
Lassen Sie uns SQL Code sehen:
erklären Sie @curpmtamt numeric(19,5)
erklären Sie @curinvamt numeric(19,5)
erklären Sie @curpmtnum varchar(20)
erklären Sie @curinvnum varchar(20)
erklären Sie das interne @curinvtype
erklären Sie das interne @curpmttype
erklären Sie das interne @maxid
erklären Sie das interne @counter
-- stellen Sie eine temporäre Tabelle her
verursachen Sie Tabelle # Temperatur
(
[ Identifikation ] interner identity(1,1)
Primärschlüssel,
CUSTNMBR varchar(15),
INVNUM varchar(20),
INVTYPE intern,
PMTNUM varchar(20),
PMTTYPE intern,
INVAMT numeric(19,5),
PMTAMT numeric(19,5),
AMTAPPLIED numeric(19,5)
)
verursachen Sie Index IDX_INVNUM auf # Temperatur
(INVNUM)
verursachen Sie Index IDX_PMTNUM auf # Temperatur
(PMTNUM)
-- setzen Sie unapplied Rechnungen und Zahlungen
ein
setzen Sie in # Temperatur ein
(
CUSTNMBR,
INVNUM,
INVTYPE,
PMTNUM,
PMTTYPE,
INVAMT,
PMTAMT,
AMTAPPLIED
)
auserwählt
CUSTNMBR = a.CUSTNMBR,
INVNUM = b.DOCNUMBR,
INVTYPE = b.RMDTYPAL,
PMTNUM = a.DOCNUMBR,
PMTTYPE = a.RMDTYPAL,
INVAMT = b.CURTRXAM,
PMTAMT = a.CURTRXAM,
AMTAPPLIED = 0
von RM20101 a
verbinden Sie RM20101 b an (a.CUSTNMBR =
b.CUSTNMBR)
verbinden Sie RM00101 c an (a.CUSTNMBR =
c.CUSTNMBR)
wo
a.RMDTYPAL innen (7, 8, 9) und
b.RMDTYPAL innen (1, 3) und
a.CURTRXAM 0 und
b.CURTRXAM 0
Auftrag vorbei
a.custnmbr,
b.DOCDATE,
a.DOCDATE,
a.DOCNUMBR,
b.DOCNUMBR
-- wiederholen Sie durch jede Aufzeichnung
wählen Sie @maxid = max([ID ]) vor
von # Temperatur
wählen Sie @counter = 1 vor
während @counter = @curpmtamt) und (@curpmtamt>0)
und (@curinvamt>0) - - wenn der Rechnungsbetrag grösser oder
dieselben wie die Zahlung Menge ist
fangen Sie an
wählen Sie @curinvamt = @curinvamt - @curpmtamt
-- der restliche Rechnungsbetrag vor
-- Update mit der Menge, der an der gegenwärtigen
Rechnung von zugetroffen wird
-- die laufende Zahlung
Update # Temperatur
Satz
AMTAPPLIED = @curpmtamt
wo
[ Identifikation ] = @counter
-- Update mit der Menge der Rechnung restlich
Update # Temperatur
Satz
INVAMT = @curinvamt
wo
INVNUM = @curinvnum und
INVTYPE = @curinvtype
-- Update mit der Menge der Zahlung restlich
Update # Temperatur
Satz
PMTAMT = 0
wo
PMTNUM = @curpmtnum und
PMTTYPE = @curpmttype
Ende
sonst wenn (@curinvamt 0) und (@curinvamt>0) - -
wenn der Rechnungsbetrag kleiner zur Zahlung Menge ist
fangen Sie an
wählen Sie @curpmtamt = @curpmtamt - @curinvamt
-- die restliche Zahlung Menge vor
-- Update mit der Menge, der an der gegenwärtigen
Rechnung von zugetroffen wird
-- die laufende Zahlung
Update # Temperatur
Satz
AMTAPPLIED = @curinvamt
wo
[ Identifikation ] = @counter
-- Update mit der Menge der Rechnung restlich
Update # Temperatur
Satz
INVAMT = 0
wo
INVNUM = @curinvnum und
INVTYPE = @curinvtype
-- Update mit der Menge der Zahlung restlich
Update # Temperatur
Satz
PMTAMT = @curpmtamt
wo
PMTNUM = @curpmtnum und
PMTTYPE = @curpmttype
Ende
-- gehen Sie zur folgenden Aufzeichnung
wählen Sie @counter = @counter + 1 vor
Ende
-- aktualisieren Sie die RM geöffnete Tabelle
mit den korrekten Mengen
Update
RM20101
Satz
CURTRXAM = b.INVAMT
von
RM20101 a
verbinden Sie # Temperatur b an (a.DOCNUMBR =
b.INVNUM und a.RMDTYPAL = b.INVTYPE)
Update
RM20101
Satz
CURTRXAM = b.PMTAMT
von
RM20101 a
verbinden Sie # Temperatur b an (a.DOCNUMBR =
b.PMTNUM und a.RMDTYPAL = b.PMTTYPE)
-- verursachen Sie das RM anwenden Aufzeichnung
oder aktualisieren, wenn Aufzeichnungen bereits bestehen
Update
RM20201
Satz
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
von
# Temperatur a
verbinden Sie RM20101 b an (b.DOCNUMBR = a.INVNUM
und b.RMDTYPAL = a.INVTYPE)
verbinden Sie RM20101 c an (c.DOCNUMBR = a.PMTNUM
und c.RMDTYPAL = a.PMTTYPE)
verbinden Sie RM20201 d an (d.APFRDCTY =
a.PMTTYPE und
d.APFRDCNM = a.PMTNUM und
d.APTODCTY = a.INVTYPE und
d.APTODCNM = a.INVNUM)
wo
a.AMTAPPLIED 0
Einsatz in RM20201
(CUSTNMBR,
DATE1,
GLPOSTDT,
BEKANNTGEGEBEN,
APTODCNM,
APTODCTY,
APTODCDT,
ApplyToGLPostDate,
CURNCYID,
CURRNIDX,
APPTOAMT,
ORAPTOAM,
APFRDCNM,
APFRDCTY,
APFRDCDT,
ApplyFromGLPostDate,
FROMCURR,
APFRMAPLYAMT,
ActualApplyToAmount)
auserwählt
CUSTNMBR = a.CUSTNMBR,
DATE1 = convert(varchar(10), getdate(), 101),
GLPOSTDT = convert(varchar(10), getdate(), 101),
INFORMIERTES = 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
von
# Temperatur a
verbinden Sie RM20101 b an (b.DOCNUMBR = a.INVNUM
und b.RMDTYPAL = a.INVTYPE)
verbinden Sie RM20101 c an (c.DOCNUMBR = a.PMTNUM
und c.RMDTYPAL = a.PMTTYPE)
wo
a.AMTAPPLIED 0 und
nicht besteht (wählen Sie 1 vor
von RM20201 d
wo d.APFRDCTY = a.PMTTYPE und
d.APFRDCNM = a.PMTNUM und
d.APTODCTY = a.INVTYPE und
d.APTODCNM = a.INVNUM)
Tropfentabelle # Temperatur
Über Den Autor
Andrew Karasev ist Haupttechnologie-Offizier in
den alba Spektrum-Technologien? USA allgemein Prairien,
Microsoft CRM Kundenbezogenheit Firma, mit Büros in Chicago, San
Francisco, Los Angeles, San Diego, Phoenix, Houston, Miami, Atlanta,
New York, Madrid, Brasilien, Moskau (
http://www.albaspectrum.com), können
Sie Andrew erreichen 1-866-528-0577, er sind Geschicklichkeit, SQL,
C#.Net, Kristallreport- und Microsoftcrm SDK Entwickler;
akarasev@albaspectrum.com
Artikel Quelle: Messaggiamo.Com
Related:
» Seo Elite: New Seo Software!
» AntiSpywareBOT
» Reverse Mobile
» Error Nuker
Holen Sie sich den HTML-Code fü Webmaster
Fügen Sie diese Artikel Ihrer Website jetzt hinzu!
Webmaster veröffentlichen Sie Ihre Artikel
Keine Anmeldung erforderlich! Füllen Sie das Formular aus und Ihr Artikel wird im Messaggiamo.Com Artikel-Verzeichnis aufgenommen!