taPopRcptHdrInsert
Here is the unencrypted text of taPopRcptHdrInsert
Related Articles
... and you 'll find more on the eConnect Menu
CREATE PROCEDURE [dbo].[taPopRcptHdrInsert]
@I_vPOPRCTNM CHAR(17),
@I_vPOPTYPE SMALLINT,
@I_vVNDDOCNM CHAR(20) = '',
@I_vreceiptdate DATETIME,
@I_vACTLSHIP DATETIME = '',
@I_vBACHNUMB CHAR(15),
@I_vVENDORID CHAR(15),
@I_vVENDNAME CHAR(64) = '',
@I_vSUBTOTAL NUMERIC(19, 5) = NULL,
@I_vTRDISAMT NUMERIC(19, 5) = NULL,
@I_vFRTAMNT NUMERIC(19, 5) = 0,
@I_vMISCAMNT NUMERIC(19, 5) = 0,
@I_vTAXAMNT NUMERIC(19, 5) = 0,
@I_vTEN99AMNT NUMERIC(19, 5) = 0,
@I_vPYMTRMID CHAR(20) = NULL,
@I_vDSCPCTAM NUMERIC(19, 2) = NULL,
@I_vDSCDLRAM NUMERIC(19, 5) = NULL,
@I_vDISAVAMT NUMERIC(19, 5) = NULL,
@I_vREFRENCE CHAR(30) = '',
@I_vUSER2ENT CHAR(15) = '',
@I_vVCHRNMBR CHAR(20) = '',
@I_vTax_Date DATETIME = '',
@I_vTIME1 DATETIME = '',
@I_vWITHHAMT NUMERIC(19, 5) = 0,
@I_vTXRGNNUM CHAR(25) = '',
@I_vAUTOCOST INT = 0,
@I_vTAXSCHID CHAR(15) = '',
@I_vPurchase_Freight_Taxable SMALLINT = 2,
@I_vPurchase_Misc_Taxable SMALLINT = 2,
@I_vFRTSCHID CHAR(15) = '',
@I_vMSCSCHID CHAR(15) = '',
@I_vFRTTXAMT NUMERIC(19, 5) = 0,
@I_vMSCTXAMT NUMERIC(19, 5) = 0,
@I_vBCKTXAMT NUMERIC(19, 5) = 0,
@I_vBackoutTradeDiscTax NUMERIC(19, 5) = 0,
@I_vSHIPMTHD CHAR(15) = NULL,
@I_vUSINGHEADERLEVELTAXES SMALLINT = 0,
@I_vCREATEDIST SMALLINT = 1,
@I_vCURNCYID CHAR(15) = '',
@I_vXCHGRATE NUMERIC(19, 7) = 0,
@I_vRATETPID CHAR(15) = '',
@I_vEXPNDATE DATETIME = '',
@I_vEXCHDATE DATETIME = '',
@I_vEXGTBDSC CHAR(30) = '',
@I_vEXTBLSRC CHAR(50) = '',
@I_vRATEEXPR SMALLINT = -1,
@I_vDYSTINCR SMALLINT = -1,
@I_vRATEVARC NUMERIC(19, 7) = 0,
@I_vTRXDTDEF SMALLINT = -1,
@I_vRTCLCMTD SMALLINT = -1,
@I_vPRVDSLMT SMALLINT = 0,
@I_vDATELMTS SMALLINT = 0,
@I_vDUEDATE DATETIME = '',
@I_vDISCDATE DATETIME = '',
@I_vNOTETEXT VARCHAR(8000) = '',
@I_vVADCDTRO CHAR(15) = NULL,
@I_vCASHAMNT NUMERIC(19, 5) = 0,
@I_vCAMCBKID CHAR(15) = '',
@I_vCDOCNMBR CHAR(21) = '',
@I_vCAMTDATE DATETIME = '',
@I_vCAMPMTNM CHAR(21) = '',
@I_vCHEKAMNT NUMERIC(19, 5) = 0,
@I_vCHAMCBID CHAR(15) = '',
@I_vCHEKNMBR CHAR(21) = '',
@I_vCHEKDATE DATETIME = '',
@I_vCAMPYNBR CHAR(21) = '',
@I_vCRCRDAMT NUMERIC(19, 5) = 0,
@I_vCARDNAME CHAR(15) = '',
@I_vCCRCTNUM CHAR(21) = '',
@I_vCRCARDDT DATETIME = '',
@I_vCCAMPYNM CHAR(21) = '',
@I_vDISTKNAM NUMERIC(19, 5) = 0,
@I_vRequesterTrx SMALLINT = 0,
@I_vUSRDEFND1 CHAR(50) = '',
@I_vUSRDEFND2 CHAR(50) = '',
@I_vUSRDEFND3 CHAR(50) = '',
@I_vUSRDEFND4 VARCHAR(8000) = '',
@I_vUSRDEFND5 VARCHAR(8000) = '',
@O_iErrorState INT OUTPUT,
@oErrString VARCHAR(255) OUTPUT
AS
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET NOCOUNT ON;
DECLARE @RCPTNOTE_1 NUMERIC(19, 5),
@RCPTNOTE_2 NUMERIC(19, 5),
@RCPTNOTE_3 NUMERIC(19, 5),
@RCPTNOTE_4 NUMERIC(19, 5),
@RCPTNOTE_5 NUMERIC(19, 5),
@RCPTNOTE_6 NUMERIC(19, 5),
@RCPTNOTE_7 NUMERIC(19, 5),
@RCPTNOTE_8 NUMERIC(19, 5),
@dDUEDATE DATETIME,
@dDISCDATE DATETIME,
@VENDNAME CHAR(64),
@PYMTRMID CHAR(20),
@DSCLCTYP SMALLINT,
@DSCDLRAM NUMERIC(19, 5),
@DSCPCTAM NUMERIC(19, 5),
@SALPURCH SMALLINT,
@DISCNTCB SMALLINT,
@FREIGHT SMALLINT,
@MISC SMALLINT,
@TAX SMALLINT,
@PymtTermAmnt NUMERIC(19, 5),
@ACCTAMNT NUMERIC(19, 5),
@FUNACCTAMNT NUMERIC(19, 5),
@EXTDCOST NUMERIC(19, 5),
@dtDEFAULT DATETIME,
@CURRNIDX INT,
@FCURRNIDX INT,
@BCHSOURC CHAR(15),
@iCursorError INT,
@iCustomState INT,
@iCustomErrString VARCHAR(255),
@iStatus INT,
@iError INT,
@O_oErrorState INT,
@iUpdtBthErrState INT,
@iCreateBatchErrString VARCHAR(255),
@iUpdDistErrState INT,
@iCalcDueDateErrState INT,
@iCalcDueDateErrString VARCHAR(255),
@iAddCodeErrState INT,
@iGetNextNoteIdxErrState INT,
@sCompanyID SMALLINT,
@TAXAMNTL NUMERIC(19, 5),
@TAXAMNTH NUMERIC(19, 5),
@FRTTXAMT NUMERIC(19, 5),
@ORFRTTAX NUMERIC(19, 5),
@MSCTXAMT NUMERIC(19, 5),
@ORMSCTAX NUMERIC(19, 5),
@iAddErrState INT,
@FUNLCURR CHAR(15),
@EXGTBLID CHAR(15),
@ISMCTRX INT,
@ORSUBTOT NUMERIC(19, 5),
@ORTDISAM NUMERIC(19, 5),
@ORFRTAMT NUMERIC(19, 5),
@ORMISCAMT NUMERIC(19, 5),
@ORTAXAMT NUMERIC(19, 5),
@OR1099AM NUMERIC(19, 5),
@ORDDLRAT NUMERIC(19, 5),
@ORDAVAMT NUMERIC(19, 5),
@OBTAXAMT NUMERIC(19, 5),
@OrigBackoutFreightTaxAmt NUMERIC(19, 5),
@OrigBackoutMiscTaxAmt NUMERIC(19, 5),
@OrigBackoutTradeDiscTax NUMERIC(19, 5),
@DECPLCUR INT,
@ORDECPLCUR TINYINT,
@O_iInitErrorState INT,
@oInitErrString VARCHAR(255),
@linecount INT,
@BCKTXAMT NUMERIC(19, 5),
@BackoutFreightTaxAmt NUMERIC(19, 5),
@BackoutMiscTaxAmt NUMERIC(19, 5),
@SumLineORTAXAMT NUMERIC(19, 5),
@TaxAmtTot NUMERIC(19, 5),
@OrTaxAmtTot NUMERIC(19, 5),
@TrDisTax NUMERIC(19, 5),
@TrDisTaxDif NUMERIC(19, 5),
@OrTrDisTax NUMERIC(19, 5),
@OrTrDisTaxDif NUMERIC(19, 5),
@BckRunTax NUMERIC(19, 5),
@BckRunFrt NUMERIC(19, 5),
@BckRunMsc NUMERIC(19, 5),
@BckRunLn NUMERIC(19, 5),
@POPRCTNM CHAR(17),
@RCPTLNNM INT,
@TAXDTLID CHAR(15),
@ACTINDX INT,
@LocRcptLine INT,
@DECPLUSED INT,
@VENDSTTS TINYINT,
@MCINSTALLED SMALLINT,
@Total_Landed_Cost_Amount NUMERIC(19, 5),
@CURNCYID CHAR(15),
@INTERID CHAR(5),
@TRDDISCT NUMERIC(19, 5),
@TRDPCTPR NUMERIC(25, 0),
@TRDPCTPRNUM NUMERIC(25, 24),
@TRDISAMT NUMERIC(19, 5),
@POPALWOP_1 TINYINT,
@PONUMBER CHAR(17),
@ADUPINNM SMALLINT,
@TEN99TYPE SMALLINT,
@TEN99BOXNUMBER SMALLINT,
@ORCASAMT NUMERIC(19, 5),
@ORCHKAMT NUMERIC(19, 5),
@ORCCDAMT NUMERIC(19, 5),
@ORDISTKN NUMERIC(19, 5),
@CAMPMTNM CHAR(21),
@CAMPYNBR CHAR(21),
@CHEKNMBR CHAR(21),
@CCAMPYNM CHAR(21),
@SUMEXTDCOST NUMERIC(19, 5),
@MS_ITEM_1 INT,
@DBName CHAR(50),
@NGTaxes TINYINT,
@DCSTATUS TINYINT;
SELECT @RCPTNOTE_1 = 0,
@RCPTNOTE_2 = 0,
@RCPTNOTE_3 = 0,
@RCPTNOTE_4 = 0,
@RCPTNOTE_5 = 0,
@RCPTNOTE_6 = 0,
@RCPTNOTE_7 = 0,
@RCPTNOTE_8 = 0,
@dDUEDATE = '',
@dDISCDATE = '',
@VENDNAME = '',
@PYMTRMID = '',
@DSCLCTYP = 0,
@DSCDLRAM = 0,
@DSCPCTAM = 0,
@SALPURCH = 1,
@DISCNTCB = 1,
@FREIGHT = 1,
@MISC = 1,
@TAX = 1,
@PymtTermAmnt = 0,
@ACCTAMNT = 0,
@FUNACCTAMNT = 0,
@EXTDCOST = 0,
@dtDEFAULT = '',
@CURRNIDX = 0,
@FCURRNIDX = 0,
@BCHSOURC = 'Rcvg Trx Entry',
@iStatus = 0,
@iError = 0,
@O_oErrorState = 0,
@iUpdtBthErrState = 0,
@iCreateBatchErrString = '',
@iUpdDistErrState = 0,
@iCalcDueDateErrState = 0,
@iCalcDueDateErrString = '',
@iGetNextNoteIdxErrState = 0,
@sCompanyID = '',
@TAXAMNTL = 0,
@TAXAMNTH = 0,
@FRTTXAMT = 0,
@ORFRTTAX = 0,
@MSCTXAMT = 0,
@ORMSCTAX = 0,
@iAddErrState = 0,
@FUNLCURR = '',
@EXGTBLID = '',
@ISMCTRX = 0,
@ORSUBTOT = 0,
@ORTDISAM = 0,
@ORFRTAMT = 0,
@ORMISCAMT = 0,
@ORTAXAMT = 0,
@OR1099AM = 0,
@ORDDLRAT = 0,
@ORDAVAMT = 0,
@OBTAXAMT = 0,
@OrigBackoutFreightTaxAmt = 0,
@OrigBackoutMiscTaxAmt = 0,
@OrigBackoutTradeDiscTax = 0,
@DECPLCUR = 0,
@ORDECPLCUR = 0,
@linecount = 0,
@BCKTXAMT = 0,
@BackoutFreightTaxAmt = 0,
@BackoutMiscTaxAmt = 0,
@SumLineORTAXAMT = 0,
@TaxAmtTot = 0,
@OrTaxAmtTot = 0,
@TrDisTax = 0,
@TrDisTaxDif = 0,
@OrTrDisTax = 0,
@OrTrDisTaxDif = 0,
@BckRunTax = 0,
@BckRunFrt = 0,
@BckRunMsc = 0,
@BckRunLn = 0,
@POPRCTNM = '',
@RCPTLNNM = 0,
@TAXDTLID = '',
@ACTINDX = 0,
@LocRcptLine = 0,
@O_iErrorState = 0,
@DECPLUSED = 0,
@VENDSTTS = 0,
@MCINSTALLED = 1,
@Total_Landed_Cost_Amount = 0,
@CURNCYID = '',
@INTERID = '',
@TRDDISCT = 0,
@TRDPCTPR = 0,
@TRDPCTPRNUM = 0,
@TRDISAMT = 0,
@POPALWOP_1 = 0,
@PONUMBER = '',
@ADUPINNM = 0,
@TEN99TYPE = 0,
@TEN99BOXNUMBER = 0,
@ORCASAMT = 0,
@ORCHKAMT = 0,
@ORCCDAMT = 0,
@ORDISTKN = 0,
@CAMPMTNM = '',
@CAMPYNBR = '',
@CHEKNMBR = '',
@CAMPMTNM = '',
@CCAMPYNM = '',
@SUMEXTDCOST = 0,
@MS_ITEM_1 = POWER(2, 20),
@DBName = '',
@DCSTATUS = 0;
IF (@oErrString IS NULL)
BEGIN
SELECT @oErrString = '';
END;
EXEC @iStatus = taPopRcptHdrInsertPre @I_vPOPRCTNM OUTPUT,
@I_vPOPTYPE OUTPUT,
@I_vVNDDOCNM OUTPUT,
@I_vreceiptdate OUTPUT,
@I_vACTLSHIP OUTPUT,
@I_vBACHNUMB OUTPUT,
@I_vVENDORID OUTPUT,
@I_vVENDNAME OUTPUT,
@I_vSUBTOTAL OUTPUT,
@I_vTRDISAMT OUTPUT,
@I_vFRTAMNT OUTPUT,
@I_vMISCAMNT OUTPUT,
@I_vTAXAMNT OUTPUT,
@I_vTEN99AMNT OUTPUT,
@I_vPYMTRMID OUTPUT,
@I_vDSCPCTAM OUTPUT,
@I_vDSCDLRAM OUTPUT,
@I_vDISAVAMT OUTPUT,
@I_vREFRENCE OUTPUT,
@I_vUSER2ENT OUTPUT,
@I_vVCHRNMBR OUTPUT,
@I_vTax_Date OUTPUT,
@I_vTIME1 OUTPUT,
@I_vWITHHAMT OUTPUT,
@I_vTXRGNNUM OUTPUT,
@I_vAUTOCOST OUTPUT,
@I_vTAXSCHID OUTPUT,
@I_vPurchase_Freight_Taxable OUTPUT,
@I_vPurchase_Misc_Taxable OUTPUT,
@I_vFRTSCHID OUTPUT,
@I_vMSCSCHID OUTPUT,
@I_vFRTTXAMT OUTPUT,
@I_vMSCTXAMT OUTPUT,
@I_vBCKTXAMT OUTPUT,
@I_vBackoutTradeDiscTax OUTPUT,
@I_vSHIPMTHD OUTPUT,
@I_vUSINGHEADERLEVELTAXES OUTPUT,
@I_vCREATEDIST OUTPUT,
@I_vCURNCYID OUTPUT,
@I_vXCHGRATE OUTPUT,
@I_vRATETPID OUTPUT,
@I_vEXPNDATE OUTPUT,
@I_vEXCHDATE OUTPUT,
@I_vEXGTBDSC OUTPUT,
@I_vEXTBLSRC OUTPUT,
@I_vRATEEXPR OUTPUT,
@I_vDYSTINCR OUTPUT,
@I_vRATEVARC OUTPUT,
@I_vTRXDTDEF OUTPUT,
@I_vRTCLCMTD OUTPUT,
@I_vPRVDSLMT OUTPUT,
@I_vDATELMTS OUTPUT,
@I_vDUEDATE OUTPUT,
@I_vDISCDATE OUTPUT,
@I_vNOTETEXT OUTPUT,
@I_vVADCDTRO OUTPUT,
@I_vCASHAMNT OUTPUT,
@I_vCAMCBKID OUTPUT,
@I_vCDOCNMBR OUTPUT,
@I_vCAMTDATE OUTPUT,
@I_vCAMPMTNM OUTPUT,
@I_vCHEKAMNT OUTPUT,
@I_vCHAMCBID OUTPUT,
@I_vCHEKNMBR OUTPUT,
@I_vCHEKDATE OUTPUT,
@I_vCAMPYNBR OUTPUT,
@I_vCRCRDAMT OUTPUT,
@I_vCARDNAME OUTPUT,
@I_vCCRCTNUM OUTPUT,
@I_vCRCARDDT OUTPUT,
@I_vCCAMPYNM OUTPUT,
@I_vDISTKNAM OUTPUT,
@I_vRequesterTrx OUTPUT,
@I_vUSRDEFND1 OUTPUT,
@I_vUSRDEFND2 OUTPUT,
@I_vUSRDEFND3 OUTPUT,
@I_vUSRDEFND4 OUTPUT,
@I_vUSRDEFND5 OUTPUT,
@O_iErrorState = @iCustomState OUTPUT,
@oErrString = @iCustomErrString OUTPUT;
SELECT @iError = @@error;
IF ((@iStatus = 0) AND (@iError <> 0))
BEGIN
SELECT @iStatus = @iError;
END;
IF (@iStatus <> 0)
OR (@iCustomState <> 0)
BEGIN
SELECT @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@iCustomErrString));
SELECT @O_iErrorState = 147;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@iAddCodeErrState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (
@I_vACTLSHIP IS NULL
OR @I_vBACHNUMB IS NULL
OR @I_vFRTAMNT IS NULL
OR @I_vMISCAMNT IS NULL
OR @I_vPOPRCTNM IS NULL
OR @I_vPOPTYPE IS NULL
OR @I_vreceiptdate IS NULL
OR @I_vREFRENCE IS NULL
OR @I_vTax_Date IS NULL
OR @I_vTAXAMNT IS NULL
OR @I_vTEN99AMNT IS NULL
OR @I_vTIME1 IS NULL
OR @I_vTXRGNNUM IS NULL
OR @I_vUSER2ENT IS NULL
OR @I_vVCHRNMBR IS NULL
OR @I_vVENDNAME IS NULL
OR @I_vVENDORID IS NULL
OR @I_vVNDDOCNM IS NULL
OR @I_vWITHHAMT IS NULL
OR @I_vCASHAMNT IS NULL
OR @I_vCAMCBKID IS NULL
OR @I_vCDOCNMBR IS NULL
OR @I_vCAMTDATE IS NULL
OR @I_vCAMPMTNM IS NULL
OR @I_vCHEKAMNT IS NULL
OR @I_vCHAMCBID IS NULL
OR @I_vCHEKNMBR IS NULL
OR @I_vCHEKDATE IS NULL
OR @I_vCAMPYNBR IS NULL
OR @I_vCRCRDAMT IS NULL
OR @I_vCARDNAME IS NULL
OR @I_vCCRCTNUM IS NULL
OR @I_vCRCARDDT IS NULL
OR @I_vCCAMPYNM IS NULL
OR @I_vDISTKNAM IS NULL
)
BEGIN
SELECT @O_iErrorState = 2000;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (
@I_vPOPRCTNM = ''
OR @I_vreceiptdate = ''
OR @I_vVENDORID = ''
OR @I_vBACHNUMB = ''
OR @I_vPOPTYPE = 0
)
BEGIN
SELECT @O_iErrorState = 2001;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @I_vPOPRCTNM = UPPER(@I_vPOPRCTNM),
@I_vBACHNUMB = UPPER(@I_vBACHNUMB),
@I_vVENDORID = UPPER(@I_vVENDORID),
@I_vVNDDOCNM = UPPER(@I_vVNDDOCNM),
@I_vSHIPMTHD = UPPER(@I_vSHIPMTHD),
@I_vTAXSCHID = UPPER(@I_vTAXSCHID),
@I_vFRTSCHID = UPPER(@I_vFRTSCHID),
@I_vMSCSCHID = UPPER(@I_vMSCSCHID),
@I_vVADCDTRO = UPPER(@I_vVADCDTRO);
IF (@I_vACTLSHIP = '')
BEGIN
SELECT @I_vACTLSHIP = @dtDEFAULT;
END;
IF (@I_vTax_Date = '')
BEGIN
SELECT @I_vTax_Date = @I_vreceiptdate;
END;
SELECT @ADUPINNM = ADUPINNM
FROM PM40100 (NOLOCK);
IF ((@I_vAUTOCOST = 1) AND (@I_vSUBTOTAL > 0))
BEGIN
SELECT @O_iErrorState = 595;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF ((@I_vPOPTYPE <> 1) AND (@I_vPOPTYPE <> 3))
BEGIN
SELECT @O_iErrorState = 2002;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@I_vPOPTYPE = 1)
BEGIN
IF EXISTS (SELECT 1 FROM POP10360 (NOLOCK) WHERE POPRCTNM = @I_vPOPRCTNM)
BEGIN
SELECT @O_iErrorState = 394;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (
@I_vTAXAMNT <> 0
OR @I_vFRTAMNT <> 0
OR @I_vMISCAMNT <> 0
OR @I_vTRDISAMT <> 0
)
BEGIN
SELECT @O_iErrorState = 995;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
IF (@I_vPOPTYPE = 3)
BEGIN
IF (@I_vVNDDOCNM = '')
BEGIN
SELECT @O_iErrorState = 6357;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@ADUPINNM <> 0)
BEGIN
IF EXISTS
(
SELECT 1
FROM POP10300 (NOLOCK)
WHERE VENDORID = @I_vVENDORID
AND VNDDOCNM = @I_vVNDDOCNM
)
OR EXISTS
(
SELECT 1
FROM POP30300 (NOLOCK)
WHERE VENDORID = @I_vVENDORID
AND VNDDOCNM = @I_vVNDDOCNM
)
BEGIN
SELECT @O_iErrorState = 996;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
END;
SELECT @POPALWOP_1 = POPALWOP_1
FROM POP40100 (NOLOCK);
IF (@I_vCREATEDIST NOT IN ( 0, 1 ))
BEGIN
SELECT @O_iErrorState = 6170;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @DBName = DB_NAME();
SELECT @NGTaxes = ABS(SIGN(ISNULL(Company_Options, 0) & @MS_ITEM_1))
FROM DYNAMICS..SY01500 (NOLOCK)
WHERE INTERID = DB_NAME();
IF @NGTaxes = 0
BEGIN
IF EXISTS
(
SELECT TOP 1
1
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND TAXAMNT < 0
)
BEGIN
SELECT @O_iErrorState = 11485;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF EXISTS (SELECT 1 FROM POP10300 (NOLOCK) WHERE POPRCTNM = @I_vPOPRCTNM)
OR EXISTS
(
SELECT 1
FROM POP30300 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
)
BEGIN
SELECT @O_iErrorState = 2003;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@I_vDSCPCTAM > 100)
BEGIN
SELECT @O_iErrorState = 2015;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (NOT EXISTS
(
SELECT 1
FROM PM00200 (NOLOCK)
WHERE VENDORID = @I_vVENDORID
)
)
BEGIN
SELECT @O_iErrorState = 2005;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@I_vAUTOCOST = 1)
OR @I_vSUBTOTAL IS NULL
BEGIN
SELECT @I_vSUBTOTAL = ISNULL(SUM(EXTDCOST), 0.00)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @EXTDCOST = @I_vSUBTOTAL;
END;
SELECT TOP 1
@CURNCYID = CURNCYID
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @PYMTRMID = PYMTRMID,
@VENDNAME = VENDNAME,
@RCPTNOTE_3 = NOTEINDX,
@VENDSTTS = VENDSTTS,
@CURNCYID = CASE
WHEN @CURNCYID IS NULL
OR @CURNCYID = '' THEN
CURNCYID
ELSE
@CURNCYID
END,
@TRDDISCT = TRDDISCT,
@I_vVADCDTRO = CASE
WHEN @I_vVADCDTRO IS NULL THEN
VADCDTRO
ELSE
@I_vVADCDTRO
END,
@I_vSHIPMTHD = CASE
WHEN @I_vSHIPMTHD IS NULL THEN
SHIPMTHD
ELSE
@I_vSHIPMTHD
END,
@TEN99TYPE = TEN99TYPE,
@TEN99BOXNUMBER = TEN99BOXNUMBER
FROM PM00200 (NOLOCK)
WHERE VENDORID = @I_vVENDORID;
IF (@VENDSTTS = 2)
BEGIN
SELECT @O_iErrorState = 5418;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF @I_vVADCDTRO <> ''
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM PM00300 (NOLOCK)
WHERE VENDORID = @I_vVENDORID
AND ADRSCODE = @I_vVADCDTRO
)
BEGIN
SELECT @O_iErrorState = 462;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (@I_vCASHAMNT > 0)
BEGIN
IF (@I_vCAMPMTNM = '')
BEGIN
DECLARE @O_iPMNPYNBR VARCHAR(21);
EXEC @iStatus = taGetPMNextPaymentNumber 1, @O_iPMNPYNBR OUTPUT;
SELECT @I_vCAMPMTNM = @O_iPMNPYNBR,
@CAMPMTNM = @O_iPMNPYNBR;
IF EXISTS
(
SELECT CNTRLNUM
FROM PM00400
WHERE CNTRLNUM = @CAMPMTNM
AND DOCTYPE = 6
)
BEGIN
EXEC @iStatus = taGetPMNextPaymentNumber 1, @O_iPMNPYNBR OUTPUT;
SELECT @I_vCAMPMTNM = @O_iPMNPYNBR,
@CAMPMTNM = @O_iPMNPYNBR;
SELECT @iError = @@error;
IF (
@iError <> 0
OR @iStatus <> 0
OR @O_iErrorState <> 0
OR @CAMPMTNM = ''
OR @CAMPMTNM IS NULL
)
BEGIN
SELECT @O_iErrorState = 9578;
SELECT @CAMPMTNM = 0;
END;
END;
END;
SELECT @I_vCAMCBKID = CASE
WHEN @I_vCAMCBKID = '' THEN
CHEKBKID
ELSE
@I_vCAMCBKID
END,
@I_vCDOCNMBR = CASE
WHEN @I_vCDOCNMBR = '' THEN
'CASH'
ELSE
@I_vCDOCNMBR
END,
@I_vCAMTDATE = CASE
WHEN @I_vCAMTDATE = '' THEN
@I_vreceiptdate
ELSE
@I_vCAMTDATE
END
FROM PM40100 (NOLOCK);
END;
IF (@I_vCHEKAMNT > 0)
BEGIN
IF (@I_vCAMPYNBR = '')
BEGIN
EXEC @iStatus = taGetPMNextPaymentNumber 1, @O_iPMNPYNBR OUTPUT;
SELECT @I_vCAMPYNBR = @O_iPMNPYNBR,
@CAMPYNBR = @O_iPMNPYNBR;
IF EXISTS
(
SELECT CNTRLNUM
FROM PM00400
WHERE CNTRLNUM = @CAMPYNBR
AND DOCTYPE = 6
)
BEGIN
EXEC @iStatus = taGetPMNextPaymentNumber 1, @O_iPMNPYNBR OUTPUT;
SELECT @I_vCAMPYNBR = @O_iPMNPYNBR,
@CAMPYNBR = @O_iPMNPYNBR;
SELECT @iError = @@error;
IF (
@iError <> 0
OR @iStatus <> 0
OR @O_iErrorState <> 0
OR @CAMPYNBR = ''
OR @CAMPYNBR IS NULL
)
BEGIN
SELECT @O_iErrorState = 9579;
SELECT @CAMPYNBR = 0;
END;
END;
END;
IF (@I_vCHEKNMBR = '')
BEGIN
SELECT @I_vCHEKNMBR = NXTCHNUM,
@CHEKNMBR = NXTCHNUM
FROM CM00100 (UPDLOCK)
WHERE CHEKBKID = @I_vCHAMCBID;
EXEC @iStatus = ivNumber_Inc_Dec 1,
@CHEKNMBR OUTPUT,
@O_iErrorState OUTPUT;
SELECT @iError = @@error;
IF (
@iError <> 0
OR @iStatus <> 0
OR @O_iErrorState <> 0
OR @CHEKNMBR = ''
OR @CHEKNMBR IS NULL
)
BEGIN
SELECT @O_iErrorState = 9580;
SELECT @CHEKNMBR = 0;
END;
UPDATE CM00100
SET NXTCHNUM = @CHEKNMBR;
END;
SELECT @I_vCHAMCBID = CASE
WHEN @I_vCHAMCBID = '' THEN
CHEKBKID
ELSE
@I_vCHAMCBID
END,
@I_vCHEKDATE = CASE
WHEN @I_vCHEKDATE = '' THEN
@I_vreceiptdate
ELSE
@I_vCHEKDATE
END
FROM PM40100 (NOLOCK);
END;
IF (@I_vCRCRDAMT > 0)
BEGIN
IF (@I_vCCAMPYNM = '')
BEGIN
DECLARE @O_iNTVCHNUM VARCHAR(20);
EXEC @iStatus = taGetPMNextVoucherNumber @O_iNTVCHNUM OUTPUT, 0;
SELECT @I_vCCAMPYNM = @O_iNTVCHNUM,
@CCAMPYNM = @O_iNTVCHNUM;
IF EXISTS
(
SELECT CNTRLNUM
FROM PM00400
WHERE CNTRLNUM = @O_iNTVCHNUM
AND DOCTYPE = 1
)
BEGIN
EXEC @iStatus = taGetPMNextVoucherNumber @O_iNTVCHNUM OUTPUT, 0;
SELECT @I_vCCAMPYNM = @O_iNTVCHNUM,
@CCAMPYNM = @O_iNTVCHNUM;
SELECT @iError = @@error;
IF (
@iError <> 0
OR @iStatus <> 0
OR @O_iErrorState <> 0
OR @CCAMPYNM = ''
OR @CCAMPYNM IS NULL
)
BEGIN
SELECT @O_iErrorState = 9581;
SELECT @CCAMPYNM = 0;
END;
END;
END;
SELECT @I_vCCRCTNUM = CASE
WHEN @I_vCCRCTNUM = '' THEN
'CREDIT CARD'
ELSE
@I_vCCRCTNUM
END,
@I_vCRCARDDT = CASE
WHEN @I_vCRCARDDT = '' THEN
@I_vreceiptdate
ELSE
@I_vCRCARDDT
END
FROM PM40100 (NOLOCK);
END;
IF (@I_vCASHAMNT < 0)
BEGIN
SELECT @O_iErrorState = 9582;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vCHEKAMNT < 0)
BEGIN
SELECT @O_iErrorState = 9583;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vCRCRDAMT < 0)
BEGIN
SELECT @O_iErrorState = 9584;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vDISTKNAM < 0)
BEGIN
SELECT @O_iErrorState = 9585;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vCAMCBKID <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM CM00100 (NOLOCK)
WHERE CHEKBKID = @I_vCAMCBKID
)
BEGIN
SELECT @O_iErrorState = 9586;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (@I_vCHAMCBID <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM CM00100 (NOLOCK)
WHERE CHEKBKID = @I_vCAMCBKID
)
BEGIN
SELECT @O_iErrorState = 9587;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (@I_vCARDNAME <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM SY03100 (NOLOCK)
WHERE CARDNAME = @I_vCARDNAME
)
BEGIN
SELECT @O_iErrorState = 9588;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (
(@I_vCASHAMNT > 0)
AND
(
(@I_vCAMCBKID = '')
OR (@I_vCDOCNMBR = '')
OR (@I_vCAMTDATE = '')
OR (@I_vCAMPMTNM = '')
)
)
BEGIN
SELECT @O_iErrorState = 9589;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (
(@I_vCHEKAMNT > 0)
AND
(
(@I_vCHAMCBID = '')
OR (@I_vCHEKNMBR = '')
OR (@I_vCHEKDATE = '')
OR (@I_vCAMPYNBR = '')
)
)
BEGIN
SELECT @O_iErrorState = 9590;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (
(@I_vCRCRDAMT > 0)
AND
(
(@I_vCARDNAME = '')
OR (@I_vCCRCTNUM = '')
OR (@I_vCRCARDDT = '')
OR (@I_vCCAMPYNM = '')
)
)
BEGIN
SELECT @O_iErrorState = 9591;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vSUBTOTAL < @I_vCASHAMNT + @I_vCHEKAMNT + @I_vCRCRDAMT)
BEGIN
SELECT @O_iErrorState = 9592;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vVENDNAME = '')
BEGIN
SELECT @I_vVENDNAME = @VENDNAME;
END;
IF (@I_vVENDNAME = '')
BEGIN
SELECT @O_iErrorState = 2009;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
SELECT @FUNLCURR = FUNLCURR,
@FCURRNIDX = ISNULL(FUNCRIDX, 0)
FROM MC40000 (NOLOCK);
SELECT @DECPLCUR = DECPLCUR - 1
FROM DYNAMICS..MC40200 (NOLOCK)
WHERE CURNCYID = @FUNLCURR;
IF (@I_vCURNCYID = '')
BEGIN
SELECT @I_vCURNCYID = @CURNCYID;
IF (@I_vCURNCYID = '')
BEGIN
SELECT @I_vCURNCYID = @FUNLCURR,
@CURRNIDX = @FCURRNIDX;
END;
END;
IF (@CURRNIDX = 0)
BEGIN
SELECT @CURRNIDX = ISNULL(CURRNIDX, 0)
FROM DYNAMICS..MC40200 (NOLOCK)
WHERE CURNCYID = @I_vCURNCYID;
END;
IF ((@CURRNIDX = 0) OR (@I_vCURNCYID = ''))
BEGIN
SELECT @O_iErrorState = 980;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF ((@FUNLCURR <> '') OR (@I_vCURNCYID <> ''))
BEGIN
IF (@I_vCURNCYID <> '')
SELECT @DECPLUSED = DECPLCUR - 1
FROM DYNAMICS..MC40200 (NOLOCK)
WHERE CURNCYID = @I_vCURNCYID;
ELSE
SELECT @DECPLUSED = DECPLCUR - 1
FROM DYNAMICS..MC40200 (NOLOCK)
WHERE CURNCYID = @FUNLCURR;
IF (
(@I_vSUBTOTAL <> ROUND(@I_vSUBTOTAL, @DECPLUSED))
OR (@I_vTRDISAMT <> ROUND(@I_vTRDISAMT, @DECPLUSED))
OR (@I_vFRTAMNT <> ROUND(@I_vFRTAMNT, @DECPLUSED))
OR (@I_vMISCAMNT <> ROUND(@I_vMISCAMNT, @DECPLUSED))
OR (@I_vTAXAMNT <> ROUND(@I_vTAXAMNT, @DECPLUSED))
OR (@I_vTEN99AMNT <> ROUND(@I_vTEN99AMNT, @DECPLUSED))
OR (@I_vDSCDLRAM <> ROUND(@I_vDSCDLRAM, @DECPLUSED))
OR (@I_vDISAVAMT <> ROUND(@I_vDISAVAMT, @DECPLUSED))
OR (@I_vWITHHAMT <> ROUND(@I_vWITHHAMT, @DECPLUSED))
OR (@I_vFRTTXAMT <> ROUND(@I_vFRTTXAMT, @DECPLUSED))
OR (@I_vMSCTXAMT <> ROUND(@I_vMSCTXAMT, @DECPLUSED))
OR (@I_vBCKTXAMT <> ROUND(@I_vBCKTXAMT, @DECPLUSED))
OR (@I_vBackoutTradeDiscTax <> ROUND(@I_vBackoutTradeDiscTax, @DECPLUSED))
)
BEGIN
SELECT @O_iErrorState = 7323;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
SELECT @ORDECPLCUR = DECPLCUR - 1,
@RCPTNOTE_5 = NOTEINDX
FROM DYNAMICS..MC40200 (NOLOCK)
WHERE CURNCYID = @I_vCURNCYID;
IF (@I_vCURNCYID <> '')
AND (@I_vCURNCYID <> @FUNLCURR)
BEGIN
SELECT @ISMCTRX = 1;
EXEC @iStatus = taMCCurrencyValidate @I_vMASTERID = @I_vVENDORID,
@I_vDOCDATE = @I_vreceiptdate,
@I_vCURNCYID = @I_vCURNCYID,
@I_vEXCHDATE = @I_vEXCHDATE OUTPUT,
@I_vEXGTBDSC = @I_vEXGTBDSC,
@I_vEXTBLSRC = @I_vEXTBLSRC,
@I_vRATEEXPR = @I_vRATEEXPR OUTPUT,
@I_vDYSTINCR = @I_vDYSTINCR OUTPUT,
@I_vRATEVARC = @I_vRATEVARC,
@I_vTRXDTDEF = @I_vTRXDTDEF,
@I_vPRVDSLMT = @I_vPRVDSLMT,
@I_vDATELMTS = @I_vDATELMTS,
@I_vMODULE = 0,
@I_vTIME1 = @I_vTIME1 OUTPUT,
@I_vXCHGRATE = @I_vXCHGRATE OUTPUT,
@I_vEXPNDATE = @I_vEXPNDATE OUTPUT,
@I_vRATETPID = @I_vRATETPID OUTPUT,
@I_vRTCLCMTD = @I_vRTCLCMTD OUTPUT,
@I_vEXGTBLID = @EXGTBLID OUTPUT,
@oErrString = @oErrString OUTPUT,
@O_iErrorState = @O_iErrorState OUTPUT;
SELECT @iError = @@error;
IF @iStatus = 0
AND @iError <> 0
SELECT @iStatus = @iError;
IF (@iStatus <> 0)
OR (@O_iErrorState <> 0)
BEGIN
IF (@O_iErrorState <> 0)
BEGIN
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @O_iErrorState = 981;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 982;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
ELSE
BEGIN
SELECT @ISMCTRX = 0,
@I_vRATEEXPR = 0,
@I_vDYSTINCR = 0,
@I_vRTCLCMTD = 0;
END;
SELECT @PONUMBER = PONUMBER
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@I_vPYMTRMID IS NULL)
BEGIN
SELECT @I_vPYMTRMID = @PYMTRMID;
END;
IF ((@I_vTRDISAMT IS NULL) AND (@I_vPOPTYPE = 3))
BEGIN
SELECT @TRDISAMT = ROUND(@I_vSUBTOTAL * (@TRDDISCT / 10000), @DECPLUSED);
END;
ELSE
BEGIN
IF @I_vTRDISAMT IS NULL
BEGIN
SELECT @I_vTRDISAMT = 0;
END;
END;
IF (@I_vTRDISAMT > @I_vSUBTOTAL)
BEGIN
SELECT @O_iErrorState = 5300;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vSUBTOTAL <> 0)
BEGIN
IF (@I_vTRDISAMT IS NULL)
BEGIN
SELECT @I_vTRDISAMT = @TRDISAMT;
IF (@I_vTRDISAMT = 0)
BEGIN
SELECT @TRDPCTPR = 0;
END;
ELSE
BEGIN
SELECT @TRDPCTPR = TRDDISCT * 100000000000000000
FROM PM00200 (NOLOCK)
WHERE VENDORID = @I_vVENDORID;
END;
END;
ELSE
BEGIN
IF ((@I_vTRDISAMT = 0) AND (@TRDISAMT = 0))
BEGIN
SELECT @TRDPCTPR = 0;
END;
ELSE
BEGIN
SELECT @TRDPCTPRNUM = ROUND(@I_vTRDISAMT / @I_vSUBTOTAL, 15);
IF (@TRDPCTPRNUM < 1)
BEGIN
SELECT @TRDPCTPR = CAST(SUBSTRING(CAST(@TRDPCTPRNUM AS VARCHAR(27)), 3, 21) AS NUMERIC(21, 0));
END;
ELSE
BEGIN
SELECT @TRDPCTPR
= CAST(SUBSTRING(CAST(@TRDPCTPRNUM AS VARCHAR(27)), 1, 1)
+ SUBSTRING(CAST(@TRDPCTPRNUM AS VARCHAR(27)), 3, 20) AS NUMERIC(23, 0));
END;
END;
END;
END;
ELSE
BEGIN
SELECT @TRDPCTPR = TRDDISCT * 100000000000000000
FROM PM00200 (NOLOCK)
WHERE VENDORID = @I_vVENDORID;
END;
IF (@I_vAUTOCOST = 0)
BEGIN
SELECT @EXTDCOST = ISNULL(SUM(EXTDCOST), 0.00)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@EXTDCOST <> @I_vSUBTOTAL)
BEGIN
SELECT @O_iErrorState = 2006;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
SELECT @ACCTAMNT = @EXTDCOST + @I_vTAXAMNT + @I_vFRTAMNT + @I_vMISCAMNT - @I_vTRDISAMT;
SELECT @FUNACCTAMNT = @ACCTAMNT;
IF (@I_vSUBTOTAL = 0 AND @I_vPOPTYPE = 3 AND @I_vTRDISAMT IS NULL)
BEGIN
SELECT @I_vTRDISAMT = 0;
END;
IF (@FUNACCTAMNT IS NULL)
BEGIN
SELECT @FUNACCTAMNT = 0;
END;
IF (@I_vDISAVAMT > (@EXTDCOST + @I_vTAXAMNT + @I_vFRTAMNT + @I_vMISCAMNT - @I_vTRDISAMT))
BEGIN
SELECT @O_iErrorState = 2016;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@oErrString <> '')
RETURN (@O_iErrorState);
SELECT @SALPURCH = SALPURCH,
@DISCNTCB = DISCNTCB,
@FREIGHT = FREIGHT,
@MISC = MISC,
@TAX = TAX,
@RCPTNOTE_4 = NOTEINDX
FROM SY03300 (NOLOCK)
WHERE PYMTRMID = @I_vPYMTRMID;
SELECT @PymtTermAmnt = @PymtTermAmnt + (@I_vSUBTOTAL * @SALPURCH),
@PymtTermAmnt = @PymtTermAmnt - (@I_vTRDISAMT * @DISCNTCB),
@PymtTermAmnt = @PymtTermAmnt + (@I_vFRTAMNT * @FREIGHT),
@PymtTermAmnt = @PymtTermAmnt + (@I_vMISCAMNT * @MISC),
@PymtTermAmnt = @PymtTermAmnt + ((@I_vTAXAMNT + @I_vFRTTXAMT + @I_vMSCTXAMT) * (@TAX));
IF (
(@I_vPYMTRMID = '')
AND (@I_vDISAVAMT IS NULL)
AND (@I_vDSCDLRAM IS NULL)
AND (@I_vDSCPCTAM IS NULL)
)
BEGIN
SELECT @I_vDISAVAMT = 0,
@I_vDSCDLRAM = 0,
@I_vDSCPCTAM = 0;
END;
IF (
(@I_vDISAVAMT IS NOT NULL)
AND
(
@I_vDSCDLRAM IS NULL
OR @I_vDSCDLRAM <> @I_vDISAVAMT
)
)
BEGIN
SELECT @I_vDSCDLRAM = 0;
END;
IF (
(@I_vDISAVAMT IS NOT NULL)
AND
(
@I_vDSCPCTAM IS NULL
OR ROUND((@I_vDSCPCTAM / 100) * @PymtTermAmnt, @ORDECPLCUR) <> @I_vDISAVAMT
)
)
BEGIN
SELECT @I_vDSCPCTAM = 0;
END;
IF (
(
@I_vDSCDLRAM IS NOT NULL
AND @I_vDSCDLRAM <> 0
)
AND
(
@I_vDSCPCTAM IS NOT NULL
AND @I_vDSCPCTAM <> 0
)
)
BEGIN
SELECT @O_iErrorState = 5380;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF ((@I_vDSCDLRAM IS NOT NULL) AND (@I_vDISAVAMT IS NULL))
BEGIN
SELECT @I_vDISAVAMT = @I_vDSCDLRAM;
SELECT @ORDAVAMT = @I_vDISAVAMT,
@I_vDSCPCTAM = 0;
END;
IF ((@I_vDSCPCTAM IS NOT NULL) AND (@I_vDISAVAMT IS NULL))
BEGIN
SELECT @I_vDISAVAMT = ((@I_vDSCPCTAM / 100) * @PymtTermAmnt);
SELECT @ORDAVAMT = @I_vDISAVAMT,
@I_vDSCDLRAM = 0;
END;
SELECT @DSCLCTYP = DSCLCTYP,
@DSCDLRAM = DSCDLRAM,
@DSCPCTAM = DSCPCTAM
FROM SY03300 (NOLOCK)
WHERE PYMTRMID = @I_vPYMTRMID;
IF (
(@I_vPYMTRMID <> '')
AND (@I_vDISAVAMT IS NULL)
AND (@I_vDSCDLRAM IS NULL)
AND (@I_vDSCPCTAM IS NULL)
)
BEGIN
IF (@DSCLCTYP = 1)
BEGIN
SELECT @I_vDSCPCTAM = @DSCPCTAM / 100.0,
@I_vDSCDLRAM = 0;
IF (@ISMCTRX = 1)
BEGIN
SELECT @ORDAVAMT = ROUND((@I_vDSCPCTAM / 100.0) * @PymtTermAmnt, @DECPLUSED);
SELECT @ORDDLRAT = 0;
SELECT @I_vDISAVAMT = CASE
WHEN (@I_vRTCLCMTD = 0) THEN
ROUND(@ORDAVAMT * @I_vXCHGRATE, @DECPLCUR)
WHEN (@I_vRTCLCMTD = 1) THEN
ROUND(@ORDAVAMT / @I_vXCHGRATE, @DECPLCUR)
ELSE
0
END;
END;
ELSE
BEGIN
SELECT @I_vDISAVAMT = ROUND((@I_vDSCPCTAM / 100.0) * @PymtTermAmnt, @DECPLCUR);
SELECT @ORDAVAMT = @I_vDISAVAMT,
@ORDDLRAT = 0;
END;
END;
ELSE IF (@DSCLCTYP = 2)
BEGIN
SELECT @I_vDSCPCTAM = 0;
IF (@ISMCTRX = 1)
BEGIN
SELECT @I_vDISAVAMT = @DSCDLRAM,
@I_vDSCDLRAM = @DSCDLRAM;
SELECT @ORDAVAMT = CASE
WHEN (@I_vRTCLCMTD = 0) THEN
ROUND(@I_vDISAVAMT / @I_vXCHGRATE, @DECPLUSED)
WHEN (@I_vRTCLCMTD = 1) THEN
ROUND(@I_vDISAVAMT * @I_vXCHGRATE, @DECPLUSED)
ELSE
0
END;
SELECT @ORDDLRAT = @ORDAVAMT;
END;
ELSE
BEGIN
SELECT @I_vDSCDLRAM = @DSCDLRAM,
@I_vDISAVAMT = @DSCDLRAM;
SELECT @ORDDLRAT = @I_vDSCDLRAM,
@ORDAVAMT = @I_vDISAVAMT;
END;
END;
END;
ELSE IF (@ISMCTRX = 1)
BEGIN
SELECT @ORDAVAMT = @I_vDISAVAMT;
SELECT @I_vDISAVAMT = CASE
WHEN (@I_vRTCLCMTD = 0) THEN
ROUND(@ORDAVAMT * @I_vXCHGRATE, @DECPLCUR)
WHEN (@I_vRTCLCMTD = 1) THEN
ROUND(@ORDAVAMT / @I_vXCHGRATE, @DECPLCUR)
ELSE
0
END;
SELECT @ORDAVAMT = ROUND(@ORDAVAMT, @DECPLUSED);
IF (@I_vDSCPCTAM = 0)
BEGIN
SELECT @ORDDLRAT = @ORDAVAMT,
@I_vDSCDLRAM = @I_vDISAVAMT;
END;
END;
ELSE
BEGIN
SELECT @I_vDISAVAMT = ROUND(@I_vDISAVAMT, @DECPLCUR),
@ORDAVAMT = @I_vDISAVAMT;
IF (@I_vDSCPCTAM = 0)
BEGIN
SELECT @I_vDSCDLRAM = @I_vDISAVAMT,
@ORDDLRAT = @I_vDISAVAMT;
END;
END;
IF (@I_vPYMTRMID <> '')
BEGIN
IF (NOT EXISTS
(
SELECT 1
FROM SY03300 (NOLOCK)
WHERE PYMTRMID = @I_vPYMTRMID
)
)
BEGIN
SELECT @O_iErrorState = 7036;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
IF ((@I_vPYMTRMID <> '') AND (@I_vDUEDATE = '' OR @I_vDISCDATE = ''))
BEGIN
EXEC @iStatus = taCalcDueDatePM @I_vVENDORID = @I_vVENDORID,
@I_vPYMTRMID = @I_vPYMTRMID,
@I_vDOCDATE = @I_vreceiptdate,
@O_dDISCDATE = @dDISCDATE OUTPUT,
@O_dDUEDATE = @dDUEDATE OUTPUT,
@O_iErrorState = @iCalcDueDateErrState OUTPUT,
@oErrString = @iCalcDueDateErrString OUTPUT;
SELECT @iError = @@error;
IF @iStatus = 0
AND @iError <> 0
BEGIN
SELECT @iStatus = @iError;
END;
IF (@iStatus <> 0)
OR
(
@iCalcDueDateErrState <> 0
OR @dDISCDATE = NULL
OR @dDUEDATE = NULL
)
BEGIN
SELECT @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@iCalcDueDateErrString));
SELECT @O_iErrorState = 2010;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@iAddCodeErrState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vDUEDATE = '')
SELECT @I_vDUEDATE = @dDUEDATE;
IF (@I_vDISCDATE = '')
SELECT @I_vDISCDATE = @dDISCDATE;
END;
IF (@I_vSHIPMTHD <> '')
BEGIN
IF (NOT EXISTS
(
SELECT 1
FROM SY03000 (NOLOCK)
WHERE SHIPMTHD = @I_vSHIPMTHD
)
)
BEGIN
EXEC @iStatus = taCreateShippingMethod @I_vSHIPMTHD = @I_vSHIPMTHD,
@I_vUpdateIfExists = 0,
@O_iErrorState = @iAddErrState OUTPUT,
@oErrString = @oErrString OUTPUT;
SELECT @iError = @@error;
IF @iStatus = 0
AND @iError <> 0
BEGIN
SELECT @iStatus = @iError;
END;
IF (@iStatus <> 0)
OR (@iAddErrState <> 0)
BEGIN
SELECT @O_iErrorState = 838;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
IF (@I_vPurchase_Misc_Taxable < 1 OR @I_vPurchase_Misc_Taxable > 3)
BEGIN
SELECT @O_iErrorState = 839;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
ELSE
BEGIN
IF (@I_vPurchase_Misc_Taxable <> 1)
BEGIN
SELECT @I_vMSCSCHID = '';
END;
END;
IF (@I_vPurchase_Freight_Taxable < 1 OR @I_vPurchase_Freight_Taxable > 3)
BEGIN
SELECT @O_iErrorState = 840;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
ELSE
BEGIN
IF (@I_vPurchase_Freight_Taxable <> 1)
BEGIN
SELECT @I_vFRTSCHID = '';
END;
END;
IF (@I_vTAXSCHID <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vTAXSCHID
)
BEGIN
SELECT @O_iErrorState = 841;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
ELSE
BEGIN
IF (@I_vTAXAMNT > 0.00)
BEGIN
SELECT @O_iErrorState = 842;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
SELECT @TAXAMNTL = ISNULL(SUM(ORTAXAMT), 0.00) + ISNULL(SUM(ORFRTTAX), 0.00) + ISNULL(SUM(ORMSCTAX), 0.00)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 0
AND BKOUTTAX = 0;
IF (@TAXAMNTL <> @I_vTAXAMNT + @I_vFRTTXAMT + @I_vMSCTXAMT)
BEGIN
SELECT @O_iErrorState = 843;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@I_vUSINGHEADERLEVELTAXES = 0)
BEGIN
SELECT @SumLineORTAXAMT = ISNULL(SUM(ORTAXAMT), 0.00)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@SumLineORTAXAMT <> @I_vTAXAMNT)
BEGIN
SELECT @O_iErrorState = 7194;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @TAXAMNTH = ISNULL(SUM(TXDTOTTX), 0.00)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM <> 0
AND BKOUTTAX = 0;
IF (@TAXAMNTH <> @I_vTAXAMNT + @I_vFRTTXAMT + @I_vMSCTXAMT)
BEGIN
SELECT @O_iErrorState = 844;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
IF (@I_vFRTSCHID <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vFRTSCHID
)
BEGIN
SELECT @O_iErrorState = 845;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
ELSE
BEGIN
IF (@I_vFRTTXAMT > 0.00)
BEGIN
SELECT @O_iErrorState = 846;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
SELECT @FRTTXAMT = ISNULL(SUM(FRTTXAMT), 0),
@ORFRTTAX = ISNULL(SUM(ORFRTTAX), 0)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 2147483646
AND BKOUTTAX = 0;
IF ((@I_vFRTTXAMT <> @FRTTXAMT) OR (@I_vFRTTXAMT <> @ORFRTTAX))
BEGIN
SELECT @O_iErrorState = 847;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@I_vMSCSCHID <> '')
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vMSCSCHID
)
BEGIN
SELECT @O_iErrorState = 848;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
ELSE
BEGIN
IF (@I_vMSCTXAMT > 0.00)
BEGIN
SELECT @O_iErrorState = 849;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
END;
SELECT @MSCTXAMT = ISNULL(SUM(MSCTXAMT), 0),
@ORMSCTAX = ISNULL(SUM(ORMSCTAX), 0)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 2147483645
AND BKOUTTAX = 0;
IF ((@I_vMSCTXAMT <> @MSCTXAMT) OR (@I_vMSCTXAMT <> @ORMSCTAX))
BEGIN
SELECT @O_iErrorState = 836;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @ORSUBTOT = @I_vSUBTOTAL,
@ORFRTTAX = @I_vFRTTXAMT,
@ORMSCTAX = @I_vMSCTXAMT,
@ORTDISAM = @I_vTRDISAMT,
@ORFRTAMT = @I_vFRTAMNT,
@ORMISCAMT = @I_vMISCAMNT,
@ORTAXAMT = @I_vTAXAMNT,
@OR1099AM = @I_vTEN99AMNT,
@OBTAXAMT = @I_vBCKTXAMT,
@OrigBackoutTradeDiscTax = @I_vBackoutTradeDiscTax,
@ORCASAMT = @I_vCASHAMNT,
@ORCHKAMT = @I_vCHEKAMNT,
@ORCCDAMT = @I_vCRCRDAMT,
@ORDISTKN = @I_vDISTKNAM;
IF (@I_vBackoutTradeDiscTax > 0)
BEGIN
UPDATE POP10310
SET BackoutTradeDiscTax = ROUND((EXTDCOST / @I_vSUBTOTAL) * @I_vBackoutTradeDiscTax, @DECPLCUR),
OrigBackoutTradeDiscTax = ROUND((OREXTCST / @ORSUBTOT) * @OrigBackoutTradeDiscTax, @ORDECPLCUR)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 2628;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
SELECT @TrDisTax = ISNULL(SUM(BackoutTradeDiscTax), 0)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @TrDisTaxDif = @I_vBackoutTradeDiscTax - @TrDisTax;
SELECT @OrTrDisTax = ISNULL(SUM(OrigBackoutTradeDiscTax), 0)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @OrTrDisTaxDif = @OrigBackoutTradeDiscTax - @OrTrDisTax;
IF ((@TrDisTaxDif <> 0) OR (@OrTrDisTaxDif <> 0))
BEGIN
UPDATE b
SET BackoutTradeDiscTax = BackoutTradeDiscTax + @TrDisTaxDif,
OrigBackoutTradeDiscTax = OrigBackoutTradeDiscTax + @OrTrDisTaxDif
FROM POP10310 b (NOLOCK),
(
SELECT MAX(DEX_ROW_ID) AS Dex
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
) AS t1
WHERE b.POPRCTNM = @I_vPOPRCTNM
AND b.DEX_ROW_ID = t1.Dex;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 6263;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
SELECT @linecount = COUNT(POPRCTNM) + 2
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @INTERID = INTERID,
@sCompanyID = CMPANYID
FROM DYNAMICS..SY01500 (NOLOCK)
WHERE INTERID = DB_NAME();
EXEC @iStatus = DYNAMICS..tasmGetNextNoteIndex @I_sCompanyID = @sCompanyID,
@I_iSQLSessionID = 0,
@I_noteincrement = @linecount,
@O_mNoteIndex = @RCPTNOTE_1 OUTPUT,
@O_iErrorState = @iGetNextNoteIdxErrState OUTPUT;
SELECT @iError = @@error;
IF ((@iStatus = 0) AND (@iError <> 0))
BEGIN
SELECT @iStatus = @iError;
END;
IF ((@iStatus <> 0) OR (@iGetNextNoteIdxErrState <> 0))
BEGIN
IF (@iGetNextNoteIdxErrState <> 0)
BEGIN
EXEC @iStatus = taUpdateString @iGetNextNoteIdxErrState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @O_iErrorState = 247;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
SELECT @RCPTNOTE_2 = NOTEINDX
FROM SY00500 (NOLOCK)
WHERE BACHNUMB = @I_vBACHNUMB
AND BCHSOURC = @BCHSOURC;
SELECT @RCPTNOTE_6 = NOTEINDX
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vTAXSCHID;
SELECT @RCPTNOTE_7 = NOTEINDX
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vFRTSCHID;
SELECT @RCPTNOTE_8 = NOTEINDX
FROM TX00101 (NOLOCK)
WHERE TAXSCHID = @I_vMSCSCHID;
IF (@I_vRequesterTrx = 0)
BEGIN
EXEC @iStatus = eConnectOutVerify @I_vDOCTYPE = 'PO_Receiving_Transaction',
@I_vINDEX1 = @I_vPOPRCTNM,
@I_vINDEX2 = '',
@I_vINDEX3 = '',
@I_vINDEX4 = '',
@I_vINDEX5 = '',
@I_vINDEX6 = '',
@I_vINDEX7 = '',
@I_vINDEX8 = '',
@I_vINDEX9 = '',
@I_vINDEX10 = '',
@I_vINDEX11 = '',
@I_vINDEX12 = '',
@I_vINDEX13 = '',
@I_vINDEX14 = '',
@I_vINDEX15 = '',
@I_vDelete = 0,
@O_iErrorState = @iCustomState OUTPUT;
SELECT @iError = @@error;
IF ((@iStatus = 0) AND (@iError <> 0))
BEGIN
SELECT @iStatus = @iError;
END;
IF ((@iStatus <> 0) OR (@iCustomState <> 0))
BEGIN
SELECT @O_iErrorState = 1287;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (
EXISTS
(
SELECT 1
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND BKOUTTAX = 1
)
AND (@I_vBackoutTradeDiscTax = 0)
)
BEGIN
SELECT @BckRunTax = @I_vSUBTOTAL + @I_vFRTAMNT + @I_vMISCAMNT,
@BckRunFrt = @I_vFRTAMNT,
@BckRunMsc = @I_vMISCAMNT;
DECLARE PopTax INSENSITIVE CURSOR FOR
SELECT POPRCTNM,
RCPTLNNM,
TAXDTLID,
ACTINDX
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
ORDER BY RCPTLNNM ASC,
BKOUTTAX DESC,
TAXDTLID ASC;
OPEN PopTax;
SELECT @iCursorError = @@cursor_rows;
IF (@iCursorError > 0)
BEGIN
FETCH NEXT FROM PopTax
INTO @POPRCTNM,
@RCPTLNNM,
@TAXDTLID,
@ACTINDX;
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status = -2)
BEGIN
SELECT @O_iErrorState = 6233;
BREAK;
END;
IF (
(@RCPTLNNM <> @LocRcptLine)
AND (@RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ))
)
BEGIN
SELECT @BckRunLn = OREXTCST
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @POPRCTNM
AND RCPTLNNM = @RCPTLNNM
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 );
END;
UPDATE POP10360
SET ORGTXPCH = CASE
WHEN BKOUTTAX = 1
AND @BckRunTax = @I_vSUBTOTAL + @I_vFRTAMNT + @I_vMISCAMNT
AND RCPTLNNM = 0 THEN
@BckRunTax - ORTAXAMT - ORFRTTAX - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 0 THEN
@BckRunTax
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc = @I_vMISCAMNT THEN
@BckRunMsc - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc <> @I_vMISCAMNT THEN
@BckRunMsc
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483645 THEN
@BckRunMsc
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt = @I_vFRTAMNT THEN
@BckRunFrt - ORFRTTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt <> @I_vFRTAMNT THEN
@BckRunFrt
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483646 THEN
@BckRunFrt
WHEN BKOUTTAX = 1
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
WHEN BKOUTTAX = 0
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
ELSE
@BckRunTax
END,
TAXPURCH = CASE
WHEN BKOUTTAX = 1
AND @BckRunTax = @I_vSUBTOTAL + @I_vFRTAMNT + @I_vMISCAMNT
AND RCPTLNNM = 0 THEN
@BckRunTax - ORTAXAMT - ORFRTTAX - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 0 THEN
@BckRunTax
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc = @I_vMISCAMNT THEN
@BckRunMsc - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc <> @I_vMISCAMNT THEN
@BckRunMsc
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483645 THEN
@BckRunMsc
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt = @I_vFRTAMNT THEN
@BckRunFrt - ORFRTTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt <> @I_vFRTAMNT THEN
@BckRunFrt
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483646 THEN
@BckRunFrt
WHEN BKOUTTAX = 1
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
WHEN BKOUTTAX = 0
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
ELSE
@BckRunTax
END,
TOTPURCH = CASE
WHEN BKOUTTAX = 1
AND @BckRunTax = @I_vSUBTOTAL + @I_vFRTAMNT + @I_vMISCAMNT
AND RCPTLNNM = 0 THEN
@BckRunTax - ORTAXAMT - ORFRTTAX - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 0 THEN
@BckRunTax
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc = @I_vMISCAMNT THEN
@BckRunMsc - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc <> @I_vMISCAMNT THEN
@BckRunMsc
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483645 THEN
@BckRunMsc
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt = @I_vFRTAMNT THEN
@BckRunFrt - ORFRTTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt <> @I_vFRTAMNT THEN
@BckRunFrt
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483646 THEN
@BckRunFrt
WHEN BKOUTTAX = 1
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
WHEN BKOUTTAX = 0
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
ELSE
@BckRunTax
END,
ORTOTPUR = CASE
WHEN BKOUTTAX = 1
AND @BckRunTax = @I_vSUBTOTAL + @I_vFRTAMNT + @I_vMISCAMNT
AND RCPTLNNM = 0 THEN
@BckRunTax - ORTAXAMT - ORFRTTAX - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 0 THEN
@BckRunTax
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc = @I_vMISCAMNT THEN
@BckRunMsc - ORMSCTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645
AND @BckRunMsc <> @I_vMISCAMNT THEN
@BckRunMsc
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483645 THEN
@BckRunMsc
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt = @I_vFRTAMNT THEN
@BckRunFrt - ORFRTTAX
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646
AND @BckRunFrt <> @I_vFRTAMNT THEN
@BckRunFrt
WHEN BKOUTTAX = 0
AND RCPTLNNM = 2147483646 THEN
@BckRunFrt
WHEN BKOUTTAX = 1
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
WHEN BKOUTTAX = 0
AND RCPTLNNM NOT IN ( 0, 2147483645, 2147483646 ) THEN
@BckRunLn
ELSE
@BckRunTax
END,
@BckRunTax = CASE
WHEN BKOUTTAX = 1
AND RCPTLNNM = 0 THEN
@BckRunTax - ORTAXAMT - ORFRTTAX - ORMSCTAX
ELSE
@BckRunTax
END,
@BckRunFrt = CASE
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483646 THEN
@BckRunFrt - ORFRTTAX
ELSE
@BckRunFrt
END,
@BckRunMsc = CASE
WHEN BKOUTTAX = 1
AND RCPTLNNM = 2147483645 THEN
@BckRunMsc - ORMSCTAX
ELSE
@BckRunMsc
END,
@BckRunLn = CASE
WHEN BKOUTTAX = 1
AND RCPTLNNM NOT IN ( 0, 2147483646, 2147483645 ) THEN
@BckRunLn - ORTAXAMT
ELSE
@BckRunLn
END
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @POPRCTNM
AND RCPTLNNM = @RCPTLNNM
AND TAXDTLID = @TAXDTLID
AND ACTINDX = @ACTINDX;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 2614;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
DEALLOCATE PopTax;
RETURN (@O_iErrorState);
END;
SELECT @LocRcptLine = @RCPTLNNM;
FETCH NEXT FROM PopTax
INTO @POPRCTNM,
@RCPTLNNM,
@TAXDTLID,
@ACTINDX;
END;
END;
DEALLOCATE PopTax;
END;
IF (EXISTS
(
SELECT 1
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND CURNCYID <> @I_vCURNCYID
AND CURNCYID <> ''
AND @POPALWOP_1 = 0
)
)
BEGIN
SELECT @O_iErrorState = 970;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@ISMCTRX = 1)
BEGIN
IF (@I_vXCHGRATE = 0)
BEGIN
SELECT @O_iErrorState = 983;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vRTCLCMTD = 0)
BEGIN
SELECT @I_vSUBTOTAL = ROUND(@I_vSUBTOTAL * @I_vXCHGRATE, @DECPLCUR),
@I_vFRTTXAMT = ROUND(@I_vFRTTXAMT * @I_vXCHGRATE, @DECPLCUR),
@I_vMSCTXAMT = ROUND(@I_vMSCTXAMT * @I_vXCHGRATE, @DECPLCUR),
@I_vTRDISAMT = ROUND(@I_vTRDISAMT * @I_vXCHGRATE, @DECPLCUR),
@I_vFRTAMNT = ROUND(@I_vFRTAMNT * @I_vXCHGRATE, @DECPLCUR),
@I_vMISCAMNT = ROUND(@I_vMISCAMNT * @I_vXCHGRATE, @DECPLCUR),
@I_vTAXAMNT = ROUND(@I_vTAXAMNT * @I_vXCHGRATE, @DECPLCUR),
@I_vTEN99AMNT = ROUND(@I_vTEN99AMNT * @I_vXCHGRATE, @DECPLCUR),
@I_vBackoutTradeDiscTax = ROUND(@I_vBackoutTradeDiscTax * @I_vXCHGRATE, @DECPLCUR),
@FUNACCTAMNT = ROUND(@ACCTAMNT * @I_vXCHGRATE, @DECPLCUR);
END;
ELSE IF (@I_vRTCLCMTD = 1)
BEGIN
SELECT @I_vSUBTOTAL = ROUND(@I_vSUBTOTAL / @I_vXCHGRATE, @DECPLCUR),
@I_vFRTTXAMT = ROUND(@I_vFRTTXAMT / @I_vXCHGRATE, @DECPLCUR),
@I_vMSCTXAMT = ROUND(@I_vMSCTXAMT / @I_vXCHGRATE, @DECPLCUR),
@I_vTRDISAMT = ROUND(@I_vTRDISAMT / @I_vXCHGRATE, @DECPLCUR),
@I_vFRTAMNT = ROUND(@I_vFRTAMNT / @I_vXCHGRATE, @DECPLCUR),
@I_vMISCAMNT = ROUND(@I_vMISCAMNT / @I_vXCHGRATE, @DECPLCUR),
@I_vTAXAMNT = ROUND(@I_vTAXAMNT / @I_vXCHGRATE, @DECPLCUR),
@I_vTEN99AMNT = ROUND(@I_vTEN99AMNT / @I_vXCHGRATE, @DECPLCUR),
@I_vBackoutTradeDiscTax = ROUND(@I_vBackoutTradeDiscTax / @I_vXCHGRATE, @DECPLCUR),
@FUNACCTAMNT = ROUND(@ACCTAMNT / @I_vXCHGRATE, @DECPLCUR);
END;
IF (@I_vRTCLCMTD = 0)
BEGIN
UPDATE POP10100
SET REMSUBTO = ROUND(REMSUBTO * @I_vXCHGRATE, @DECPLCUR)
WHERE PONUMBER = @PONUMBER;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 9377;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10310
SET UNITCOST = ROUND(UNITCOST * @I_vXCHGRATE, (DECPLCUR - 7)),
ORUNTCST = UNITCOST,
EXTDCOST = ROUND(EXTDCOST * @I_vXCHGRATE, @DECPLCUR),
OREXTCST = EXTDCOST,
TAXAMNT = ROUND(TAXAMNT * @I_vXCHGRATE, @DECPLCUR),
ORTAXAMT = TAXAMNT,
BCKTXAMT = ROUND(BCKTXAMT * @I_vXCHGRATE, @DECPLCUR),
OBTAXAMT = BCKTXAMT,
BackoutTradeDiscTax = ROUND(BackoutTradeDiscTax * @I_vXCHGRATE, @DECPLCUR),
OrigBackoutTradeDiscTax = BackoutTradeDiscTax,
CURNCYID = @I_vCURNCYID,
CURRNIDX = @CURRNIDX,
RATETPID = @I_vRATETPID,
XCHGRATE = @I_vXCHGRATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 984;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10360
SET TAXAMNT = ROUND(TAXAMNT * @I_vXCHGRATE, @DECPLCUR),
ORTAXAMT = TAXAMNT,
TAXPURCH = ROUND(TAXPURCH * @I_vXCHGRATE, @DECPLCUR),
ORGTXPCH = TAXPURCH,
TOTPURCH = ROUND(TOTPURCH * @I_vXCHGRATE, @DECPLCUR),
ORTOTPUR = TOTPURCH,
FRTTXAMT = ROUND(FRTTXAMT * @I_vXCHGRATE, @DECPLCUR),
ORFRTTAX = FRTTXAMT,
MSCTXAMT = ROUND(MSCTXAMT * @I_vXCHGRATE, @DECPLCUR),
ORMSCTAX = MSCTXAMT,
TXDTOTTX = ROUND(TXDTOTTX * @I_vXCHGRATE, @DECPLCUR),
OTTAXPON = TXDTOTTX,
CURRNIDX = @CURRNIDX
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 985;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10390
SET CURRNIDX = @CURRNIDX,
XCHGRATE = @I_vXCHGRATE,
CURNCYID = @I_vCURNCYID,
RATETPID = @I_vRATETPID,
EXGTBLID = @EXGTBLID,
EXCHDATE = @I_vEXCHDATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0,
MCTRXSTT = 0,
DEBITAMT = ROUND(DEBITAMT * @I_vXCHGRATE, @DECPLCUR),
ORDBTAMT = DEBITAMT,
CRDTAMNT = ROUND(CRDTAMNT * @I_vXCHGRATE, @DECPLCUR),
ORCRDAMT = CRDTAMNT
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 7051;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10500
SET CURNCYID = @I_vCURNCYID,
CURRNIDX = @CURRNIDX,
XCHGRATE = @I_vXCHGRATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0,
RATETPID = @I_vRATETPID,
EXGTBLID = @EXGTBLID,
OSTDCOST = ROUND(OSTDCOST / @I_vXCHGRATE, @DECPLCUR)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 1999;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
ELSE IF (@I_vRTCLCMTD = 1)
BEGIN
UPDATE POP10100
SET REMSUBTO = ROUND(REMSUBTO / @I_vXCHGRATE, @DECPLCUR)
WHERE PONUMBER = @PONUMBER;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 9378;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10310
SET UNITCOST = ROUND(UNITCOST / @I_vXCHGRATE, (DECPLCUR - 7)),
ORUNTCST = UNITCOST,
EXTDCOST = ROUND(EXTDCOST / @I_vXCHGRATE, @DECPLCUR),
OREXTCST = EXTDCOST,
TAXAMNT = ROUND(TAXAMNT / @I_vXCHGRATE, @DECPLCUR),
ORTAXAMT = TAXAMNT,
BCKTXAMT = ROUND(BCKTXAMT / @I_vXCHGRATE, @DECPLCUR),
OBTAXAMT = BCKTXAMT,
BackoutTradeDiscTax = ROUND(BackoutTradeDiscTax / @I_vXCHGRATE, @DECPLCUR),
OrigBackoutTradeDiscTax = BackoutTradeDiscTax,
CURNCYID = @I_vCURNCYID,
CURRNIDX = @CURRNIDX,
RATETPID = @I_vRATETPID,
XCHGRATE = @I_vXCHGRATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 986;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10360
SET TAXAMNT = ROUND(TAXAMNT / @I_vXCHGRATE, @DECPLCUR),
ORTAXAMT = TAXAMNT,
TAXPURCH = ROUND(TAXPURCH / @I_vXCHGRATE, @DECPLCUR),
ORGTXPCH = TAXPURCH,
TOTPURCH = ROUND(TOTPURCH / @I_vXCHGRATE, @DECPLCUR),
ORTOTPUR = TOTPURCH,
FRTTXAMT = ROUND(FRTTXAMT / @I_vXCHGRATE, @DECPLCUR),
ORFRTTAX = FRTTXAMT,
MSCTXAMT = ROUND(MSCTXAMT / @I_vXCHGRATE, @DECPLCUR),
ORMSCTAX = MSCTXAMT,
TXDTOTTX = ROUND(TXDTOTTX / @I_vXCHGRATE, @DECPLCUR),
OTTAXPON = TXDTOTTX,
CURRNIDX = @CURRNIDX
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 987;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10390
SET CURRNIDX = @CURRNIDX,
XCHGRATE = @I_vXCHGRATE,
CURNCYID = @I_vCURNCYID,
RATETPID = @I_vRATETPID,
EXGTBLID = @EXGTBLID,
EXCHDATE = @I_vEXCHDATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0,
MCTRXSTT = 0,
DEBITAMT = ROUND(DEBITAMT / @I_vXCHGRATE, @DECPLCUR),
ORDBTAMT = DEBITAMT,
CRDTAMNT = ROUND(CRDTAMNT / @I_vXCHGRATE, @DECPLCUR),
ORCRDAMT = CRDTAMNT
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 7052;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10500
SET CURNCYID = @I_vCURNCYID,
CURRNIDX = @CURRNIDX,
XCHGRATE = @I_vXCHGRATE,
RATECALC = @I_vRTCLCMTD,
DENXRATE = 0,
RATETPID = @I_vRATETPID,
EXGTBLID = @EXGTBLID,
OSTDCOST = ROUND(OSTDCOST * @I_vXCHGRATE, @DECPLCUR)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 2007;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
ELSE
BEGIN
IF (NOT EXISTS
(
SELECT 1
FROM PM00200 (NOLOCK)
WHERE VENDORID = @I_vVENDORID
AND
(
CURNCYID = @I_vCURNCYID
OR CURNCYID = ''
)
)
)
BEGIN
UPDATE POP10390
SET CURNCYID = @I_vCURNCYID,
CURRNIDX = @CURRNIDX
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 7053;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
UPDATE POP10360
SET CURRNIDX = @CURRNIDX
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 4023;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
UPDATE s
SET s.RUPPVAMT = ((s.ORCPTCOST - (s.OSTDCOST * s.UMQTYINB)) * (s.QTYSHPPD - s.QTYREJ - s.QTYINVCD))
FROM POP10500 s (NOLOCK),
IV00101 b (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND s.ITEMNMBR = b.ITEMNMBR
AND b.VCTNMTHD IN ( 4, 5 );
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 6661;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vREFRENCE = '')
BEGIN
SELECT @I_vREFRENCE = 'Receivings Transaction Entry';
END;
IF @ISMCTRX = 1
BEGIN
UPDATE POP10700
SET Total_Landed_Cost_Amount = CASE
WHEN @I_vRTCLCMTD = 0 THEN
ROUND( Total_Landed_Cost_Amount * CASE
WHEN CURNCYID = @FUNLCURR THEN
@I_vXCHGRATE
ELSE
XCHGRATE
END,
@DECPLCUR
)
ELSE
ROUND( Total_Landed_Cost_Amount / CASE
WHEN CURNCYID = @FUNLCURR THEN
@I_vXCHGRATE
ELSE
XCHGRATE
END,
@DECPLCUR
)
END,
Orig_TotalLandedCostAmt = CASE
WHEN @I_vRTCLCMTD = 0 THEN
ROUND( Orig_TotalLandedCostAmt * CASE
WHEN CURNCYID = @FUNLCURR THEN
@I_vXCHGRATE
ELSE
XCHGRATE
END,
@DECPLCUR
)
ELSE
ROUND( Orig_TotalLandedCostAmt / CASE
WHEN CURNCYID = @FUNLCURR THEN
@I_vXCHGRATE
ELSE
XCHGRATE
END,
@DECPLCUR
)
END
WHERE POPRCTNM = @I_vPOPRCTNM
AND
(
(CURNCYID <> @FUNLCURR)
OR
(
@FUNLCURR <> @I_vCURNCYID
AND CURNCYID = @FUNLCURR
)
);
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 8054;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
UPDATE a
SET a.Total_Landed_Cost_Amount = t1.Total_Landed_Cost_Amount
FROM POP10500 a (NOLOCK),
(
SELECT SUM(a.Total_Landed_Cost_Amount) Total_Landed_Cost_Amount,
a.RCPTLNNM
FROM POP10700 a (NOLOCK)
WHERE a.POPRCTNM = @I_vPOPRCTNM
GROUP BY a.POPRCTNM,
a.RCPTLNNM
) t1
WHERE a.POPRCTNM = @I_vPOPRCTNM
AND a.RCPTLNNM = t1.RCPTLNNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 7906;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
SELECT @Total_Landed_Cost_Amount = ROUND(ISNULL(SUM(Total_Landed_Cost_Amount), 0), @DECPLCUR)
FROM POP10700 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
SELECT @BCKTXAMT = ROUND(ISNULL(SUM(TXDTOTTX), 0), @DECPLCUR),
@OBTAXAMT = ROUND(ISNULL(SUM(OTTAXPON), 0), @ORDECPLCUR)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 0
AND BKOUTTAX = 1;
SELECT @BackoutFreightTaxAmt = ROUND(ISNULL(SUM(TXDTOTTX), 0), @DECPLCUR),
@OrigBackoutFreightTaxAmt = ROUND(ISNULL(SUM(OTTAXPON), 0), @ORDECPLCUR)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 2147483646
AND BKOUTTAX = 1;
SELECT @BackoutMiscTaxAmt = ROUND(ISNULL(SUM(TXDTOTTX), 0), @DECPLCUR),
@OrigBackoutMiscTaxAmt = ROUND(ISNULL(SUM(OTTAXPON), 0), @ORDECPLCUR)
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM = 2147483645
AND BKOUTTAX = 1;
SELECT @TaxAmtTot = @I_vTAXAMNT + @I_vFRTTXAMT + @I_vMSCTXAMT,
@OrTaxAmtTot = @ORTAXAMT + @ORFRTTAX + @ORMSCTAX;
IF (@BCKTXAMT <> 0 OR @OBTAXAMT <> 0)
BEGIN
UPDATE b
SET b.BCKTXAMT = t1.TAX + b.BackoutTradeDiscTax,
b.OBTAXAMT = t1.ORTAX + b.OrigBackoutTradeDiscTax
FROM POP10310 b (NOLOCK),
(
SELECT ISNULL(SUM(TAXAMNT), 0) AS TAX,
ISNULL(SUM(ORTAXAMT), 0) AS ORTAX,
RCPTLNNM,
POPRCTNM
FROM POP10360 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND RCPTLNNM <> 0
AND BKOUTTAX = 1
GROUP BY POPRCTNM,
RCPTLNNM
) AS t1
WHERE b.POPRCTNM = @I_vPOPRCTNM
AND b.RCPTLNNM = t1.RCPTLNNM
AND b.POPRCTNM = t1.POPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 6667;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF (@ISMCTRX = 0)
BEGIN
IF (EXISTS
(
SELECT DISTINCT
1
FROM IV00105 a (NOLOCK),
POP10310 b (NOLOCK)
WHERE b.POPRCTNM = @I_vPOPRCTNM
AND b.ITEMNMBR = a.ITEMNMBR
)
)
BEGIN
IF (NOT EXISTS
(
SELECT 1
FROM IV00105 a (NOLOCK),
POP10310 b (NOLOCK)
WHERE b.POPRCTNM = @I_vPOPRCTNM
AND b.ITEMNMBR = a.ITEMNMBR
AND a.CURNCYID <> ''
)
)
BEGIN
SELECT @MCINSTALLED = 0;
END;
END;
ELSE
BEGIN
IF (NOT EXISTS
(
SELECT DISTINCT
1
FROM IV00105 a (NOLOCK)
WHERE CURNCYID <> ''
)
)
BEGIN
SELECT @MCINSTALLED = 0;
END;
END;
END;
INSERT POP10300
(
POPRCTNM,
POPTYPE,
VNDDOCNM,
receiptdate,
GLPOSTDT,
ACTLSHIP,
BCHSOURC,
BACHNUMB,
VENDORID,
VENDNAME,
SUBTOTAL,
TRDISAMT,
TRDPCTPR,
FRTAMNT,
MISCAMNT,
TAXAMNT,
TEN99AMNT,
PYMTRMID,
DSCPCTAM,
DSCDLRAM,
DISAVAMT,
DISCDATE,
DUEDATE,
REFRENCE,
RCPTNOTE_1,
RCPTNOTE_2,
RCPTNOTE_3,
RCPTNOTE_4,
RCPTNOTE_5,
RCPTNOTE_6,
RCPTNOTE_7,
RCPTNOTE_8,
POPHDR1,
POPHDR2,
POPLNERR,
POSTEDDT,
PTDUSRID,
USER2ENT,
CREATDDT,
MODIFDT,
TRXSORCE,
VCHRNMBR,
Tax_Date,
CURNCYID,
CURRNIDX,
RATETPID,
EXGTBLID,
XCHGRATE,
EXCHDATE,
TIME1,
RATECALC,
DENXRATE,
MCTRXSTT,
ORSUBTOT,
ORTDISAM,
ORFRTAMT,
ORMISCAMT,
ORTAXAMT,
OR1099AM,
ORDDLRAT,
ORDAVAMT,
WITHHAMT,
SIMPLIFD,
BNKRCAMT,
ECTRX,
TXRGNNUM,
TAXSCHID,
TXENGCLD,
BSIVCTTL,
Purchase_Freight_Taxable,
Purchase_Misc_Taxable,
FRTSCHID,
MSCSCHID,
FRTTXAMT,
ORFRTTAX,
MSCTXAMT,
ORMSCTAX,
BCKTXAMT,
OBTAXAMT,
BackoutFreightTaxAmt,
OrigBackoutFreightTaxAmt,
BackoutMiscTaxAmt,
OrigBackoutMiscTaxAmt,
TaxInvReqd,
TaxInvRecvd,
APLYWITH,
PPSTAXRT,
SHIPMTHD,
DocPrinted,
Total_Landed_Cost_Amount,
BackoutTradeDiscTax,
OrigBackoutTradeDiscTax,
CBVAT,
VADCDTRO,
TEN99TYPE,
TEN99BOXNUMBER,
REPLACEGOODS,
INVOICEEXPECTED,
Workflow_Status
)
SELECT @I_vPOPRCTNM,
@I_vPOPTYPE,
@I_vVNDDOCNM,
@I_vreceiptdate,
@I_vreceiptdate,
@I_vACTLSHIP,
@BCHSOURC,
@I_vBACHNUMB,
@I_vVENDORID,
@I_vVENDNAME,
@I_vSUBTOTAL,
CASE
WHEN @I_vTRDISAMT IS NULL THEN
0
ELSE
@I_vTRDISAMT
END,
@TRDPCTPR,
@I_vFRTAMNT,
@I_vMISCAMNT,
@TaxAmtTot,
@I_vTEN99AMNT,
@I_vPYMTRMID,
@I_vDSCPCTAM * 100,
@I_vDSCDLRAM,
CASE
WHEN @I_vPOPTYPE = 1 THEN
0
WHEN @I_vDISAVAMT IS NULL THEN
0
ELSE
@I_vDISAVAMT
END,
CASE
WHEN @I_vPOPTYPE = 1 THEN
''
ELSE
@I_vDISCDATE
END,
CASE
WHEN @dDUEDATE = @dtDEFAULT
AND @I_vDUEDATE = '' THEN
@I_vreceiptdate
ELSE
@I_vDUEDATE
END,
@I_vREFRENCE,
@RCPTNOTE_1,
@RCPTNOTE_2,
@RCPTNOTE_3,
@RCPTNOTE_4,
@RCPTNOTE_5,
@RCPTNOTE_6,
@RCPTNOTE_7,
@RCPTNOTE_8,
0,
0,
0,
'',
'',
@I_vUSER2ENT,
CONVERT(VARCHAR(12), GETDATE()),
CONVERT(VARCHAR(12), GETDATE()),
'',
'',
@I_vreceiptdate,
CASE
WHEN @MCINSTALLED = 1 THEN
@I_vCURNCYID
ELSE
''
END,
CASE
WHEN @MCINSTALLED = 1 THEN
@CURRNIDX
ELSE
0
END,
@I_vRATETPID,
@EXGTBLID,
@I_vXCHGRATE,
@I_vEXCHDATE,
CASE
WHEN (@ISMCTRX = 1) THEN
@I_vTIME1
ELSE
@dtDEFAULT
END,
@I_vRTCLCMTD,
0,
0,
@ORSUBTOT,
CASE
WHEN @ORTDISAM IS NULL THEN
0
ELSE
@ORTDISAM
END,
@ORFRTAMT,
@ORMISCAMT,
@OrTaxAmtTot,
@OR1099AM,
@ORDDLRAT,
CASE
WHEN @I_vPOPTYPE = 1 THEN
0
WHEN @ORDAVAMT IS NULL THEN
0
ELSE
@ORDAVAMT
END,
0,
0,
0,
0,
@I_vTXRGNNUM,
@I_vTAXSCHID,
1,
0,
@I_vPurchase_Freight_Taxable,
@I_vPurchase_Misc_Taxable,
@I_vFRTSCHID,
@I_vMSCSCHID,
@I_vFRTTXAMT,
@ORFRTTAX,
@I_vMSCTXAMT,
@ORMSCTAX,
@BCKTXAMT,
@OBTAXAMT,
@BackoutFreightTaxAmt,
@OrigBackoutFreightTaxAmt,
@BackoutMiscTaxAmt,
@OrigBackoutMiscTaxAmt,
0,
0,
0,
0,
@I_vSHIPMTHD,
0,
@Total_Landed_Cost_Amount,
@I_vBackoutTradeDiscTax,
@OrigBackoutTradeDiscTax,
0,
@I_vVADCDTRO,
@TEN99TYPE,
@TEN99BOXNUMBER,
0,
0,
9;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 2011;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF EXISTS (SELECT 1 FROM dbo.sysobjects (NOLOCK) WHERE name = 'PA01901')
AND EXISTS
(
SELECT 1
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
)
BEGIN
SELECT @DCSTATUS = 1
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND ProjNum <> ''
AND CostCatID <> '';
INSERT PA01901
(
PATranType,
DOCNUMBR,
CUSTNMBR,
PADOCDT,
PACOSTOWNER,
RMDTYPAL,
PABILLTRXT,
PADocnumber20,
DCSTATUS
)
SELECT 4,
'',
'',
'',
'',
0,
0,
@I_vPOPRCTNM,
@DCSTATUS;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 8180;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF EXISTS
(
SELECT 1
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND
(
(
ProjNum <> ''
AND CostCatID <> ''
)
OR
(
@I_vCASHAMNT <> 0
OR @I_vCHEKAMNT <> 0
OR @I_vCRCRDAMT <> 0
)
)
)
BEGIN
INSERT PA10701
(
PAVIDN,
CARDNAME,
CASHAMNT,
CAMCBKID,
CAMTDATE,
CAMPMTNM,
CDOCNMBR,
CHEKAMNT,
CHAMCBID,
CAMPYNBR,
CHEKDATE,
CHEKNMBR,
CRCRDAMT,
CCAMPYNM,
CRCARDDT,
CCRCTNUM,
DISTKNAM,
NOTEINDX,
ORCASAMT,
ORCHKAMT,
ORCCDAMT,
ORDISTKN,
PACOMM,
PAFreight_Taxable_P,
PAMisc_Taxable_P,
PApostoDynPM,
PA_Trade_Discount_Pcnt,
PAUD1,
PAUD2,
TRXTYPE,
USEADVTX
)
SELECT @I_vPOPRCTNM,
@I_vCARDNAME,
@I_vCASHAMNT,
@I_vCAMCBKID,
@I_vCAMTDATE,
@I_vCAMPMTNM,
@I_vCDOCNMBR,
@I_vCHEKAMNT,
@I_vCHAMCBID,
@I_vCAMPYNBR,
@I_vCHEKDATE,
@I_vCHEKNMBR,
@I_vCRCRDAMT,
@I_vCCAMPYNM,
@I_vCRCARDDT,
@I_vCCRCTNUM,
@I_vDISTKNAM,
0,
@ORCASAMT,
@ORCHKAMT,
@ORCCDAMT,
@ORDISTKN,
'Receivings Transaction Entry',
@I_vPurchase_Freight_Taxable,
@I_vPurchase_Misc_Taxable,
1,
@I_vDSCPCTAM,
'',
'',
0,
0;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 8179;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
IF EXISTS
(
SELECT 1
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM
AND ProjNum <> ''
AND CostCatID <> ''
)
AND (@I_vTRDISAMT > 0)
BEGIN
SELECT @SUMEXTDCOST = ISNULL(SUM(EXTDCOST), 0)
FROM POP10310 (NOLOCK)
WHERE POPRCTNM = @I_vPOPRCTNM;
IF @SUMEXTDCOST > 0
BEGIN
UPDATE a
SET a.TRDISAMT = ROUND(b.EXTDCOST / @SUMEXTDCOST, 2) * @I_vTRDISAMT,
a.ORTDISAM = ROUND(b.EXTDCOST / @SUMEXTDCOST, 2) * @I_vTRDISAMT
FROM PA10702 a (NOLOCK),
POP10310 b (NOLOCK)
WHERE a.PAVIDN = b.POPRCTNM
AND b.POPRCTNM = @I_vPOPRCTNM
AND a.RCPTLNNM = b.RCPTLNNM;
UPDATE a
SET a.TRDISAMT = a.TRDISAMT + t3.diff
FROM PA10702 a (NOLOCK),
(
SELECT @I_vTRDISAMT - SUM(TRDISAMT) AS diff
FROM PA10702 (NOLOCK)
WHERE PAVIDN = @I_vPOPRCTNM
) t3 ,
(
SELECT MAX(DEX_ROW_ID) AS row
FROM PA10702 (NOLOCK)
WHERE PAVIDN = @I_vPOPRCTNM
) t2
WHERE a.PAVIDN = @I_vPOPRCTNM
AND a.DEX_ROW_ID = t2.row;
END;
END;
EXEC @iStatus = taCreateUpdateBatchHeaderRcd @I_vBACHNUMB = @I_vBACHNUMB,
@I_vSERIES = 4,
@I_vGLPOSTDT = @I_vreceiptdate,
@I_vBCHSOURC = @BCHSOURC,
@I_vDOCAMT = @FUNACCTAMNT,
@I_vORIGIN = 1,
@I_vNUMOFTRX = 1,
@I_vCHEKBKID = '',
@I_vUSERID = @I_vUSER2ENT,
@O_iErrorState = @iUpdtBthErrState OUTPUT,
@oErrString = @iCreateBatchErrString OUTPUT;
SELECT @iError = @@error;
IF ((@iStatus = 0) AND (@iError <> 0))
SELECT @iStatus = @iError;
IF (@iStatus <> 0)
OR (@iUpdtBthErrState <> 0)
BEGIN
IF (@iUpdtBthErrState <> 0)
BEGIN
EXEC @iStatus = taUpdateString @iUpdtBthErrState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @O_iErrorState = 2008;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vPOPTYPE = 1)
BEGIN
SELECT @I_vDISAVAMT = 0,
@ORDAVAMT = 0;
END;
EXEC @iStatus = taPopCreateDistributions @I_vPOPTYPE,
@I_vPOPRCTNM,
@I_vVENDORID,
@CURRNIDX,
@I_vTRDISAMT,
@I_vFRTAMNT,
@I_vMISCAMNT,
@TaxAmtTot,
@I_vDISAVAMT,
@ORTDISAM,
@ORFRTAMT,
@ORMISCAMT,
@OrTaxAmtTot,
@ORDAVAMT,
@I_vCASHAMNT,
@I_vCHEKAMNT,
@I_vCRCRDAMT,
@I_vDISTKNAM,
@I_vCURNCYID,
@I_vRATETPID,
@EXGTBLID,
@I_vXCHGRATE,
@I_vEXCHDATE,
@I_vTIME1,
@I_vRTCLCMTD,
@DECPLUSED,
@INTERID,
@sCompanyID,
@I_vCREATEDIST,
@iUpdDistErrState OUTPUT,
@oErrString OUTPUT;
SELECT @iError = @@error;
IF ((@iStatus = 0) AND (@iError <> 0))
SELECT @iStatus = @iError;
IF ((@iStatus <> 0) OR (@iUpdDistErrState <> 0))
BEGIN
IF (@iUpdDistErrState <> 0)
BEGIN
EXEC @iStatus = taUpdateString @iUpdDistErrState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
SELECT @O_iErrorState = 2012;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
IF (@I_vNOTETEXT <> '')
BEGIN
INSERT SY03900
(
NOTEINDX,
DATE1,
TIME1,
TXTFIELD
)
SELECT @RCPTNOTE_1,
CONVERT(VARCHAR(12), GETDATE()),
@I_vTIME1,
@I_vNOTETEXT;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 6126;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
SELECT @RCPTNOTE_1 = @RCPTNOTE_1 + 1;
UPDATE POP10310
SET RcptLineNoteIDArray_5 = @RCPTNOTE_1,
@RCPTNOTE_1 = @RCPTNOTE_1 + 1
WHERE POPRCTNM = @I_vPOPRCTNM;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 1794;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
END;
IF (@O_iErrorState <> 0)
BEGIN
RETURN (@O_iErrorState);
END;
IF @I_vCASHAMNT > 0
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM PM00400
WHERE CNTRLNUM = @I_vCAMPMTNM
AND DOCTYPE = 6
)
BEGIN
INSERT PM00400
(
CNTRLNUM,
CNTRLTYP,
DCSTATUS,
DOCTYPE,
VENDORID,
DOCNUMBR,
CHEKBKID,
DUEDATE,
DISCDATE,
BCHSOURC,
DOCDATE
)
SELECT @I_vCAMPMTNM,
1,
0,
6,
@I_vVENDORID,
@I_vCDOCNMBR,
@I_vCAMCBKID,
'',
'',
'PM_Trxent',
@I_vCAMTDATE;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 11500;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
IF @I_vCHEKAMNT > 0
BEGIN
IF NOT EXISTS
(
SELECT 1
FROM PM00400
WHERE CNTRLNUM = @I_vCAMPYNBR
AND DOCTYPE = 6
)
BEGIN
INSERT PM00400
(
CNTRLNUM,
CNTRLTYP,
DCSTATUS,
DOCTYPE,
VENDORID,
DOCNUMBR,
CHEKBKID,
DUEDATE,
DISCDATE,
BCHSOURC,
DOCDATE
)
SELECT @I_vCAMPYNBR,
1,
0,
6,
@I_vVENDORID,
@I_vCHEKNMBR,
@I_vCHAMCBID,
'',
'',
'',
@I_vCHEKDATE;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 11501;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
IF @I_vCRCRDAMT > 0
BEGIN
DECLARE @VENDORID CHAR(15);
SELECT @VENDORID = VENDORID
FROM SY03100
WHERE CARDNAME = @I_vCARDNAME;
IF NOT EXISTS
(
SELECT 1
FROM PM00400
WHERE CNTRLNUM = @I_vCCAMPYNM
AND DOCTYPE = 1
)
BEGIN
INSERT PM00400
(
CNTRLNUM,
CNTRLTYP,
DCSTATUS,
DOCTYPE,
VENDORID,
DOCNUMBR,
CHEKBKID,
DUEDATE,
DISCDATE,
BCHSOURC,
DOCDATE
)
SELECT @I_vCCAMPYNM,
0,
0,
1,
@VENDORID,
@I_vCCRCTNUM,
'',
'',
'',
'PM_Trxent',
@I_vCRCARDDT;
IF (@@error <> 0)
BEGIN
SELECT @O_iErrorState = 11502;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
END;
EXEC @iStatus = taPopRcptHdrInsertPost @I_vPOPRCTNM,
@I_vPOPTYPE,
@I_vVNDDOCNM,
@I_vreceiptdate,
@I_vACTLSHIP,
@I_vBACHNUMB,
@I_vVENDORID,
@I_vVENDNAME,
@I_vSUBTOTAL,
@I_vTRDISAMT,
@I_vFRTAMNT,
@I_vMISCAMNT,
@I_vTAXAMNT,
@I_vTEN99AMNT,
@I_vPYMTRMID,
@I_vDSCPCTAM,
@I_vDSCDLRAM,
@I_vDISAVAMT,
@I_vREFRENCE,
@I_vUSER2ENT,
@I_vVCHRNMBR,
@I_vTax_Date,
@I_vTIME1,
@I_vWITHHAMT,
@I_vTXRGNNUM,
@I_vAUTOCOST,
@I_vTAXSCHID,
@I_vPurchase_Freight_Taxable,
@I_vPurchase_Misc_Taxable,
@I_vFRTSCHID,
@I_vMSCSCHID,
@I_vFRTTXAMT,
@I_vMSCTXAMT,
@I_vBCKTXAMT,
@I_vBackoutTradeDiscTax,
@I_vSHIPMTHD,
@I_vUSINGHEADERLEVELTAXES,
@I_vCREATEDIST,
@I_vCURNCYID,
@I_vXCHGRATE,
@I_vRATETPID,
@I_vEXPNDATE,
@I_vEXCHDATE,
@I_vEXGTBDSC,
@I_vEXTBLSRC,
@I_vRATEEXPR,
@I_vDYSTINCR,
@I_vRATEVARC,
@I_vTRXDTDEF,
@I_vRTCLCMTD,
@I_vPRVDSLMT,
@I_vDATELMTS,
@I_vDUEDATE,
@I_vDISCDATE,
@I_vNOTETEXT,
@I_vVADCDTRO,
@I_vCASHAMNT,
@I_vCAMCBKID,
@I_vCDOCNMBR,
@I_vCAMTDATE,
@I_vCAMPMTNM,
@I_vCHEKAMNT,
@I_vCHAMCBID,
@I_vCHEKNMBR,
@I_vCHEKDATE,
@I_vCAMPYNBR,
@I_vCRCRDAMT,
@I_vCARDNAME,
@I_vCCRCTNUM,
@I_vCRCARDDT,
@I_vCCAMPYNM,
@I_vDISTKNAM,
@I_vRequesterTrx,
@I_vUSRDEFND1,
@I_vUSRDEFND2,
@I_vUSRDEFND3,
@I_vUSRDEFND4,
@I_vUSRDEFND5,
@O_iErrorState = @iCustomState OUTPUT,
@oErrString = @iCustomErrString OUTPUT;
SELECT @iError = @@error;
IF @iStatus = 0
AND @iError <> 0
BEGIN
SELECT @iStatus = @iError;
END;
IF (@iStatus <> 0)
OR (@iCustomState <> 0)
BEGIN
SELECT @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@iCustomErrString));
SELECT @O_iErrorState = 148;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@iAddCodeErrState OUTPUT;
RETURN (@O_iErrorState);
END;
IF @@error = 0
AND @O_iErrorState = 0
AND @O_oErrorState = 0
SELECT @O_iErrorState = 0;
IF (@I_vRequesterTrx = 0)
BEGIN
EXEC @iStatus = eConnectOutVerify @I_vDOCTYPE = 'PO_Receiving_Transaction',
@I_vINDEX1 = @I_vPOPRCTNM,
@I_vINDEX2 = '',
@I_vINDEX3 = '',
@I_vINDEX4 = '',
@I_vINDEX5 = '',
@I_vINDEX6 = '',
@I_vINDEX7 = '',
@I_vINDEX8 = '',
@I_vINDEX9 = '',
@I_vINDEX10 = '',
@I_vINDEX11 = '',
@I_vINDEX12 = '',
@I_vINDEX13 = '',
@I_vINDEX14 = '',
@I_vINDEX15 = '',
@I_vDelete = 1,
@O_iErrorState = @iCustomState OUTPUT;
SELECT @iError = @@error;
IF @iStatus = 0
AND @iError <> 0
BEGIN
SELECT @iStatus = @iError;
END;
IF (@iStatus <> 0)
OR (@iCustomState <> 0)
BEGIN
SELECT @O_iErrorState = 1288;
EXEC @iStatus = taUpdateString @O_iErrorState,
@oErrString,
@oErrString OUTPUT,
@O_oErrorState OUTPUT;
RETURN (@O_iErrorState);
END;
END;
RETURN (@O_iErrorState);
GO