tag:blogger.com,1999:blog-21893163274308102862024-03-12T17:14:54.363-07:00Mohammad R. DaoudMicrosoft Dynamics GP/AX BlogMohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.comBlogger588125tag:blogger.com,1999:blog-2189316327430810286.post-56437268410336271642017-08-24T00:12:00.001-07:002017-08-24T00:12:45.114-07:00Payment Document Management Link to General Ledger<p>For customers who are using Payment Document Management module, they will be in a big need to reconcile their post dated checks against general ledger, and this is almost requested by all our customers.</p> <p>The below view works to get this resolved! It brings the journal entry number and GL details for each Post Date Document and for both Receivables and Payables checks.</p> <p> </p> <p>/****** Object: View [dbo].[DI_PDC_GL_Link] Script Date: 8/24/2017 10:13:57 AM ******/<br>CREATE VIEW [dbo].[DI_PDC_GL_Link] AS -- Sales Checks (Checks Under Collections)</p> <p>SELECT GL20000.JRNENTRY AS [Journal Number],<br> GL20000.SEQNUMBR AS [GL Line Sequence Number],<br> dbo.CM20600.CMXFRNUM AS [Transfer Number],<br> dbo.RVLPD011.CMRecordNumber AS [Transfer Record Number],<br> dbo.RVLPD011.REMITID AS [Remitance ID],<br> dbo.RVLPD011.PMTDOCID AS [Payment Document],<br> dbo.RVLPD011.ORICBOOK AS [From Checkbook],<br> dbo.RVLPD011.DESCBOOK AS [To Checkbook],<br> dbo.RVLPD011.CURNCYID AS Currency,<br> dbo.RVLPD011.TRXDATE AS [Transaction Date],<br> dbo.RVLPD011.NUMOFTRX AS [Number of Checks],<br> dbo.RVLPD011.FUNCTAMT AS [Functional Total Amount],<br> dbo.RVLPD011.ORIGAMT AS [Originating Total Amount],<br> RVLPD013Sorted.RMDTYPAL AS [Document Type],<br> RVLPD013Sorted.DOCNUMBR AS [Document Number],<br> dbo.RVLPD009.CUSTNMBR AS [Customer Number],<br> dbo.RVLPD009.CUSTNAME AS [Customer Name],<br> dbo.RVLPD009.STMTNAME AS [Statement Name],<br> dbo.RVLPD009.CHEKNMBR AS [Check Number],<br> dbo.RVLPD009.CHEKBKID AS [Checkbook ID],<br> dbo.RVLPD009.DOCDATE AS [Check Date],<br> dbo.RVLPD009.DUEDATE AS [Due Date],<br> RVLPD009.DOCAMNT AS [Check Amount],<br> RVLPD013Sorted.Sequence<br>FROM dbo.CM20600<br>LEFT OUTER JOIN dbo.RVLPD011 ON dbo.CM20600.Xfr_Record_Number = dbo.RVLPD011.CMRecordNumber<br>LEFT OUTER JOIN<br> (SELECT *,<br> CASE<br> WHEN ROW_NUMBER() OVER (Partition BY REMITID<br> ORDER BY Dex_Row_ID) = 1 THEN 1<br> ELSE (ROW_NUMBER() OVER (Partition BY REMITID<br> ORDER BY Dex_Row_ID)*2+1)-2<br> END * 16384 AS SEQUENCE<br> FROM RVLPD013) RVLPD013Sorted ON dbo.RVLPD011.REMITID = RVLPD013Sorted.REMITID<br>LEFT OUTER JOIN dbo.RVLPD009 ON RVLPD013Sorted.DOCNUMBR = dbo.RVLPD009.DOCNUMBR<br>LEFT OUTER JOIN GL20000 ON ORCTRNUM = dbo.RVLPD011.REMITID<br>AND SOURCDOC = 'RMPDC'<br>AND RVLPD013Sorted.Sequence = SEQNUMBR<br>WHERE GL20000.JRNENTRY IS NOT NULL<br>UNION ALL --Purchasing Checks (Deferred Checks)</p> <p>SELECT GL20000.JRNENTRY AS [Journal Number],<br> GL20000.SEQNUMBR AS [GL Line Sequence Number],<br> dbo.CM20600.CMXFRNUM AS [Transfer Number],<br> dbo.RVLPD027.CMRecordNumber AS [Transfer Record Number],<br> dbo.RVLPD027.REMITID AS [Remitance ID],<br> dbo.RVLPD027.PMTDOCID AS [Payment Document],<br> dbo.RVLPD027.ORICBOOK AS [From Checkbook],<br> dbo.RVLPD027.DESCBOOK AS [To Checkbook],<br> dbo.RVLPD027.CURNCYID AS Currency,<br> dbo.RVLPD027.TRXDATE AS [Transaction Date],<br> dbo.RVLPD027.NUMOFTRX AS [Number of Checks],<br> dbo.RVLPD027.FUNCTAMT AS [Functional Total Amount],<br> dbo.RVLPD027.ORIGAMT AS [Originating Total Amount],<br> RVLPD029Sorted.DOCTYPE AS [Document Type],<br> RVLPD029Sorted.DOCNUMBR AS [Document Number],<br> RVLPD025.VENDORID AS [Vendor Number],<br> RVLPD025.VENDNAME AS [Vendor Name],<br> RVLPD025.VNDCHKNM AS [Statement Name],<br> RVLPD025.CHEKNMBR AS [Check Number],<br> RVLPD025.CHEKBKID AS [Checkbook ID],<br> RVLPD025.DOCDATE AS [Check Date],<br> RVLPD025.DUEDATE AS [Due Date],<br> RVLPD025.DOCAMNT AS [Check Amount],<br> RVLPD029Sorted.Sequence<br>FROM dbo.CM20600<br>LEFT OUTER JOIN dbo.RVLPD027 ON dbo.CM20600.Xfr_Record_Number = dbo.RVLPD027.CMRecordNumber<br>LEFT OUTER JOIN<br> (SELECT *,<br> CASE<br> WHEN ROW_NUMBER() OVER (Partition BY REMITID<br> ORDER BY Dex_Row_ID) = 1 THEN 1<br> ELSE (ROW_NUMBER() OVER (Partition BY REMITID<br> ORDER BY Dex_Row_ID)*2+1)-2<br> END * 16384 AS SEQUENCE<br> FROM RVLPD029) RVLPD029Sorted ON dbo.RVLPD027.REMITID = RVLPD029Sorted.REMITID<br>LEFT OUTER JOIN<br> (SELECT *<br> FROM RVLPD025<br> UNION ALL SELECT *<br> FROM RVLPD026) RVLPD025 ON RVLPD029Sorted.DOCNUMBR = RVLPD025.DOCNUMBR<br>LEFT OUTER JOIN GL20000 ON ORCTRNUM = dbo.RVLPD027.REMITID<br>AND SOURCDOC = 'PMPDC'<br>AND RVLPD029Sorted.Sequence = SEQNUMBR<br>WHERE GL20000.JRNENTRY IS NOT NULL </p> <p>Hope that this helps.</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a>me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com2tag:blogger.com,1999:blog-2189316327430810286.post-29081845711235408262017-03-13T06:13:00.001-07:002017-03-13T06:13:31.291-07:00taAnalyticsDistribution Procedure Not working!<p>Today I been working on an interesting case with eConnect, I been trying to call taAnalyticsDistribution using normal SQL Query but I didn’t find the impact of the run on Dynamics GP and it was always returning the value “0” in ErrorState which should mean that the command was executed properly:</p> <blockquote> <p>EXEC @return_value = [dbo].[taAnalyticsDistribution]<br> @I_vDOCNMBR = N'3464',<br> @I_vDOCTYPE = 0,<br> @I_vAMOUNT = 50.35,<br> @I_vACTNUMST = N'000-1100-00',<br> @I_vaaTrxDim = N'DEPARTMENT',<br> @I_vaaTrxDimCode = N'1',<br> @I_vaaSubLedgerAssignID=1,<br> @I_vUpdateIfExists=1,<br> @O_iErrorState = @O_iErrorState OUTPUT,<br> @oErrString = @oErrString OUTPUT</p></blockquote> <p>I tried to break the code to see what’s going on and therefore installed a decryption application to decrypt the SP and ran an SQL trace, where I realized that the procedure is indeed not working as expected and not retuning anything due to a misplaced “RETURN” Command below:</p> <p><a href="https://lh3.googleusercontent.com/-gN3h_YT8JmM/WMaa96yZyxI/AAAAAAAANKE/hOzk9gRJtb0/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-MzEy9wPKfEc/WMaa-enpaKI/AAAAAAAANKI/H1-kgSbcf9w/image_thumb%25255B1%25255D.png?imgmax=800" width="534" height="357"></a></p> <p>Removing this command fixed my case! I don’t want to publish the full code of the procedure as might be having differences between every version of the eConnect and therefore I am providing a way to get this resolved on your environment.</p> <p>Hope that this helps.</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a>me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com1tag:blogger.com,1999:blog-2189316327430810286.post-64658420566148514272016-08-31T11:42:00.001-07:002016-08-31T11:42:22.828-07:00Dynamics GP Users: the creation of login failed for unknown reason. Contact your SQL Server Administrator for assistance.<p> </p> <p>One of my community fellows has reported a challenging case this evening, he been trying to add a user to Dynamics GP and unable to succeed with this operation, and the obvious cause for this message was that the user could be already added to your database and not added to your GP nor your SQL level logins but wasn’t the case, the message is showing on any name you selects and while running under the “sa” user.</p> <p>When you create the user at the SQL level it creates with no issues, you only have a problem while creating the user from Dynamics GP, therefore I tried a fresh copy of Dynamics GP and tried to create users with no luck, been sure that the “sa” is a system administrator on the SQL level and the “sa” is the owner of the DYNAMICS and other companies databases.</p> <p>Digging deeply into this I ran SQL profiler trace to see what’s going on and realized that everything is working as desired, I tried to create the user using the CREATE LOGIN command and it creates the user perfectly! But noticed upon creating the user by using the command that the returned message wasn’t “Command Completed Successfully” it was “Mail Queued”, where I looked further into this and realized that the customer was having a DDL Trigger on the server level that tracks the changes on the Logins and sends an email to the Administrators informing them about this change following the best practices! And this was the real cause behind the issue, it seems that GP wasn’t receiving the expected result from adding this user and been generating unknown error, disabling the trigger got this issue to be fixed!</p> <p>Hope that this helps.</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com1tag:blogger.com,1999:blog-2189316327430810286.post-51161987819199991272016-06-21T06:16:00.001-07:002016-06-21T06:16:33.248-07:00Msg 515, Level 16, State 2, Procedure aagCreateGLWorkSLRealTimePostForApply, Line 82 Cannot insert the value NULL into column 'GLPOSTDT', table 'AFDCO.dbo.AAG10000'; column does not allow nulls. INSERT fails.<p>This morning I an issue reported from one of my customers, they are getting the below message when they try to apply multi-currency transactions:</p> <p><a href="https://lh3.googleusercontent.com/-VlAazgoSMW4/V2k-KQ4PSmI/AAAAAAAAIt4/tfvJo3dVo6U/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/--ZN8t6t8MMs/V2k-LMk5IHI/AAAAAAAAIuA/Wom-LZ8XPrg/image_thumb%25255B1%25255D.png?imgmax=800" width="471" height="399"></a></p> <p>I went through a long investigation process, after few hours it turned to be orphaned records in GL100001 with JRNENTRY = 0!</p> <p><a href="https://lh3.googleusercontent.com/-jN_jDnFO0IQ/V2k-LtJWdeI/AAAAAAAAIuI/FBLUUkIoshs/s1600-h/image%25255B10%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-pu3tmp2hBpk/V2k-LziysNI/AAAAAAAAIuQ/d0qbbQc-4qE/image_thumb%25255B4%25255D.png?imgmax=800" width="508" height="281"></a></p> <p>Deleting these record fixed the problem! Hope that this helps.</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com2tag:blogger.com,1999:blog-2189316327430810286.post-44359756197428954902016-06-06T03:50:00.001-07:002016-08-31T11:41:52.997-07:00Inventory not changing account to the correct site account for all transactions<p>A wired case was reported this morning, our customer is having several inventory accounts one for each warehouse, they wanted the system to change the account upon changing the site, which is covered in the default Dynamics GP functionality, the setup for this is explained in the following article:</p> <p><a title="https://community.dynamics.com/gp/f/32/t/157821" href="https://community.dynamics.com/gp/f/32/t/157821">https://community.dynamics.com/gp/f/32/t/157821</a></p> <p>The customer was having the correct setup, but the system wasn’t changing the account, which is normally occurs if the target account doesn’t exist, after checking I realized that accounts were there, but the system is also not flipping the accounts.</p> <p>After further investigations it turned to be missing accounts in GL00105, accounts were exist in GL00100 but not in GL00105, I ran check links for financials and everything worked as expected!</p> <p>Hope that this helps.</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com1tag:blogger.com,1999:blog-2189316327430810286.post-50432055202475125632016-05-30T07:56:00.001-07:002016-05-30T07:56:05.471-07:00Dynamics GP Notes for Arabic Characters<p>I been away from community for the last few months, been engaged in several projects and in learning Dynamics AX following the treand!</p> <p>Back to track, I installed back the “Open Live Writer” as the “Windows Live Writer” is not supporting blogger! And blogging now about issues I seen worth to be posted.</p> <p>In this article I am covering an old issue that comes with Dynamics GP, whenever you type Arabic to Dynamics GP notes you realize the paid behind this which leaves users using NOTEPAD to type and then paste it back to GP.</p> <p><a href="https://lh3.googleusercontent.com/-m4Fw73PaaJE/V0xUfnx_lOI/AAAAAAAAGNQ/rvq-w6K6BZ0/s1600-h/image%25255B12%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="image" src="https://lh3.googleusercontent.com/-uZuvpHotbng/V0xUgONY0BI/AAAAAAAAGNU/DkZFzcm38PQ/image_thumb%25255B5%25255D.png?imgmax=800" width="451" height="342"></a></p> <p>I have created an small AddOn that fixes this for users and I am sharing this over the community, you just email me to send you the package, the tool is just allowing you to write your text inside a user-friendly textbox and whenever you are done it copies back your text to the original note:</p> <p><a href="https://lh3.googleusercontent.com/-2xR1U0bZoc0/V0xUgf9MqdI/AAAAAAAAGNY/WVvYaMhmAck/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-eOOvwyeATRI/V0xUg6I6A5I/AAAAAAAAGNc/6xunmqU1TJ0/image_thumb%25255B1%25255D.png?imgmax=800" width="541" height="326"></a></p> <p>Hope that this helps!</p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p>Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-31845751060338870372015-05-20T02:21:00.001-07:002015-05-20T02:21:12.693-07:00Dynamics GP 2015 eConnect error: There is an active Purchase Order Approval workflow. Use Dynamics GP to enter this data<p> This morning I got an issue with one of my customers, they were getting the following error upon integrating Receiving Transactions <blockquote> <p>Sql procedure error codes returned: <p>Error Number = 12013 Stored Procedure= taPopRcptLineInsert Error Description = <font color="#ff0000">There is an active Purchase Order Approval workflow. Use Dynamics GP to enter this data<br></font>Node Identifier Parameters: taPopRcptLineInsert<br>PONUMBER = 150686 <p><taPopRcptLineInsert><br> <POPTYPE>1</POPTYPE><br> <POPRCTNM>PMRR000000004316</POPRCTNM><br> <PONUMBER>150686</PONUMBER><br> <ITEMNMBR>P-XXXXX</ITEMNMBR><br> <VENDORID>2042 </VENDORID><br> <VNDITNUM>P-XXXX</VNDITNUM><br> <UOFM>UNIT </UOFM><br> <UNITCOST>30.500</UNITCOST><br> <EXTDCOST>7320.000</EXTDCOST><br> <QTYSHPPD>240.000</QTYSHPPD><br> <LOCNCODE>MAIN </LOCNCODE><br> <POLNENUM>32768</POLNENUM><br></taPopRcptLineInsert></p></blockquote> <p>This doesn’t make sense, the workflow is activated for the workflow and the Purchase Order used for this receiving is approved! <p>Nothing on the internet is available explaining this issue, and no place else to look as eConnect Stored Procedures are encrypted. <p>To get this invistigated, I installed <a href="http://www.devart.com/dbforge/sql/sqldecryptor/">dbFrog SQL Decryptor</a> to decrypt the eConnect procedure and to see whats going on, and found that the procedure is checking if the workflow is activated and if it was activated it checks if the purchase order workflow_status is not equal to “<font color="#ff0000">9</font>”, while the purchase order “<font color="#ff0000">Completed</font>” status is “<font color="#ff0000">6</font>” not “<font color="#ff0000">9</font>”: <p><a href="http://lh3.googleusercontent.com/-g3Ql6y-lCMw/VVxR-GDVl0I/AAAAAAAAEsg/Y99xtHO8unM/s1600-h/image3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-7YN7yhPJMxM/VVxR_fKrwPI/AAAAAAAAEso/6IVVZdKROBA/image_thumb1.png?imgmax=800" width="501" height="461"></a></p> <p>I modified the procedure to reflect my customer change and it worked like a charm, below is the updated procedure after the change if your system database name is <font color="#ff0000">DYNAMICS</font>, otherwise you need to change it: </p> <blockquote> <p><em>ALTER PROCEDURE dbo.taPopRcptLineInsert @I_vPOPTYPE smallint, @I_vPOPRCTNM char(17), @I_vPONUMBER char(17) = '', @I_vITEMNMBR char(30) = '', @I_vITEMDESC char(100) = NULL, @I_vVENDORID char(15), @I_vRCPTLNNM int = 0, @I_vVNDITNUM char(30) = '', @I_vVNDITDSC char(100) = '', @I_vACTLSHIP datetime = '', @I_vINVINDX int = 0, @I_vInventoryAccount varchar(75) = '', @I_vUOFM char(8) = '', @I_vUNITCOST numeric(19, 5) = NULL, @I_vEXTDCOST numeric(19, 5) = NULL, @I_vNONINVEN smallint = 0, @I_vJOBNUMBR char(17) = '', @I_vBOLPRONUMBER char(30) = '', @I_vQTYSHPPD numeric(19, 5), @I_vQTYINVCD numeric(19, 5) = 0, @I_vAUTOCOST int = 0, @I_vPurchase_IV_Item_Taxable smallint = 2, @I_vPurchase_Item_Tax_Schedu char(15) = '', @I_vPurchase_Site_Tax_Schedu char(15) = '', @I_vTAXAMNT numeric(19, 5) = 0, @I_vLanded_Cost_Group_ID char(15) = NULL, @I_vLOCNCODE char(10) = '', @I_vPOLNENUM int = 0, @I_vreceiptdate datetime = '', @I_vCURNCYID char(15) = '', @I_vProjNum char(15) = NULL, @I_vCostCatID char(15) = NULL, @I_vAutoAssignBin smallint = 1, @I_vCMMTTEXT varchar(500) = NULL, @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 WITH ENCRYPTION<br>AS<br> SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED<br> SET NOCOUNT ON<br> DECLARE @PACONTNUMBER char(11),<br> @LCCOST numeric(19, 5),<br> @Total_Landed_Cost_Amount numeric(19, 5),<br> @LCLINENUMBER int,<br> @Landed_Cost_ID char(15),<br> @LOFSGMNT int,<br> @LOFSGMNTALL int,<br> @LOFSGMNTEND int,<br> @ACCNT_STRING char(100),<br> @NEW_ACCNT_STRING varchar(100),<br> @MAXSEG int,<br> @ACTINDX int,<br> @ACSGFLOC smallint,<br> @Location_Segment char(67),<br> @RcptLineNoteIDArray_1 numeric(19, 5),<br> @RcptLineNoteIDArray_2 numeric(19, 5),<br> @RcptLineNoteIDArray_3 numeric(19, 5),<br> @RcptLineNoteIDArray_4 numeric(19, 5),<br> @RcptLineNoteIDArray_5 numeric(19, 5),<br> @RcptLineNoteIDArray_6 numeric(19, 5),<br> @RcptLineNoteIDArray_7 numeric(19, 5),<br> @RcptLineNoteIDArray_8 numeric(19, 5),<br> @DECPLCUR smallint,<br> @DECPLQTY smallint,<br> @ODECPLCU smallint,<br> @JOBNUMBR char(17),<br> @INVINDX int,<br> @VCTNMTHD smallint,<br> @ITMTRKOP smallint,<br> @UOFM char(8),<br> @PRCHSUOM char(8),<br> @UMQTYINB numeric(19, 5),<br> @ITEMNMBR char(30),<br> @ITEMDESC char(100),<br> @VNDITNUM char(30),<br> @VNDITDSC char(100),<br> @Capital_Item tinyint,<br> @LOCNCODE char(10),<br> @LOCNCODEREG char(10),<br> @POLNENUM int,<br> @POSTATUS smallint,<br> @POLNESTA smallint,<br> @POTYPE smallint,<br> @CURNCYID char(15),<br> @PO_CURNCYID char(15),<br> @CURRNIDX int,<br> @PO_CURRNIDX int,<br> @iStatus int,<br> @iError int,<br> @iCustomState int,<br> @iCustomErrString varchar(255),<br> @iCursorError int,<br> @O_oErrorState int,<br> @O_iUpdCrtItemErrState int,<br> @O_iPOLineInsrErrState int,<br> @O_iPOHdrErrState int,<br> @O_iCommentMstErrState int,<br> @O_iLineIvcInsrtErrState int,<br> @UNITCOST numeric(19, 5),<br> @ORUNTCST numeric(19, 5),<br> @iGetNextNoteIdxErrState int,<br> @sCompanyID smallint,<br> @RCPTLNNM smallint,<br> @SHIPMTHD char(15),<br> @VADCDPAD char(15),<br> @PURPVIDX int,<br> @Revalue_Inventory int,<br> @Tolerance_Percentage int,<br> @POPALWOP_2 tinyint,<br> @SERLTQTY numeric(19, 5),<br> @VENDORID char(15),<br> @STNDCOST numeric(19, 5),<br> @UPPVIDX int,<br> @RUPPVAMT numeric(19, 5),<br> @OLDCUCST numeric(19, 5),<br> @ACPURIDX int,<br> @ISMCTRX tinyint,<br> @FUNLCURR char(15),<br> @DECPLCURItem smallint,<br> @EDITDECPLCUR smallint,<br> @FUNDECPLCUR smallint,<br> @MCINSTALLED smallint,<br> @LandedCostErrState int,<br> @LandedCostErrString varchar(255),<br> @projectexists smallint,<br> @PASTAT smallint,<br> @PAcloseProjcosts smallint,<br> @costcatexists smallint,<br> @PATU smallint,<br> @PAinactive smallint,<br> @CUSTNMBR char(15),<br> @ENABLEMULTIBIN smallint,<br> @ITEMTYPE tinyint,<br> @count int,<br> @PassedExtCost tinyint,<br> @PAProjectType smallint,<br> @PAAcctgMethod smallint,<br> @PACOSTCATID char(15),<br> @PATMProfitType int,<br> @l_ProjNum char(15),<br> @PAbllngtype int,<br> @PAOverhead_Amount numeric(19, 5),<br> @PAOverheaPercentage numeric(19, 5),<br> @PABILRATE numeric(19, 5),<br> @PAProfitType smallint,<br> @PABaselinePTaxOptions smallint,<br> @PAPurchase_Tax_Options smallint,<br> @PAProfitAmount numeric(19, 5),<br> @PAProfitPercent numeric(19, 5),<br> @PA_Variance_QTY_Accrued_ numeric(19, 5),<br> @PA_Variance_Accrued_Reve numeric(19, 5),<br> @PO_UOMSCHDL char(11),<br> @PO_UOFM char(9),<br> @PO_ITMTSHID char(15),<br> @PO_TRDISAMT numeric(19, 5),<br> @PO_PALineItemSeq int,<br> @PO_PAIV_Item_Checkbox smallint,<br> @PO_PATU smallint,<br> @PO_PAPurchase_Tax_Options smallint,<br> @PO_PRICELVL char(15),<br> @PO_PACHGORDNO char(17),<br> @PACOSTCATNME char(31),<br> @PA_Variance_Cost tinyint,<br> @Status smallint,<br> @PABilling_StatusN smallint,<br> @PAMARKPERCENT numeric(19, 5),<br> @PAviprofittypefrom smallint,<br> @use_billing_rate smallint,<br> @use_markup_percentage smallint,<br> @PAINCPRCHTXPRJCST smallint,<br> @PA_Base_Billing_Rate numeric(19, 5),<br> @PABaseOvhdCost numeric(19, 5),<br> @PAShipmentExtCost numeric(19, 5),<br> @tax_amount numeric(19, 5),<br> @PAOverhead_IDX int,<br> @PATotalProfit numeric(19, 5),<br> @PATOTALOVERH numeric(19, 5),<br> @PAACREV numeric(19, 5),<br> @PA00901_PATMProfitType int,<br> @PA01001_PATMProfitType smallint,<br> @PAsetupkey smallint,<br> @PO_PACogs_Idx integer,<br> @PO_PACGBWIPIDX integer,<br> @PABase_Unit_Cost numeric(19, 5),<br> @PABase_Qty numeric(19, 5),<br> @PAPostedBillingsN numeric(19, 5),<br> @PACogs_Idx integer,<br> @PACGBWIPIDX integer,<br> @PAUnbilled_AR_Idx integer,<br> @PAUnbilled_Proj_Rev_Idx integer,<br> @PAContra_Account_IDX integer,<br> @PO_INVINDX integer,<br> @PA_MC_Accrued_Revenue numeric(19, 5),<br> @PROJECTLOADED integer,<br> @PA_MC_Base_Billing_Rate numeric(19, 5),<br> @PA_MC_Billing_Rate numeric(19, 5),<br> @PA_MC_VarianceAccruedRev numeric(19, 5),<br> @UNITPRCE numeric(19, 5),<br> @PRICMTHD smallint,<br> @LISTPRCE numeric(19, 5),<br> @QTYBSUOM numeric(19, 5),<br> @UOMSCHDL char(10),<br> @UOFMBASE char(8),<br> @CURRCOST numeric(19, 5),<br> @ROUNDTO smallint,<br> @ROUNDHOW smallint,<br> @RNDGAMNT numeric(19, 5),<br> @PADECPLQTY smallint,<br> @NOTEINDX numeric(19, 5),<br> @POLNEARY_3 numeric(19, 5),<br> @DATE1 datetime,<br> @TIME1 datetime,<br> @TOOKACCTOFFPOORPASSED tinyint,<br> @UserDate datetime,<br> @PeriodID int,<br> @Closed int,<br> @Year int,<br> @iCustomGLPeriodErr int,<br> @iCustomGLPeriodState int,<br> @O_glCalculateGLPeriodErrorState1 int,<br> @O_glCalculateGLPeriodErrorState2 int,<br> @PA_Create_Periodic_Budget_RecordsErrorState int,<br> @PA_IVCreate_Periodic_Budget_RecordsErrorState int,<br> @PABBeginDate_Period int,<br> @PABEndDate_YEAR int,<br> @PAFBeginDate_Period int,<br> @PAFEndDate_YEAR int,<br> @PABBeginDate_YEAR int,<br> @PAFBeginDate_YEAR int,<br> @NUMOFPER int,<br> @l_fore_ctr int,<br> @l_base_ctr int,<br> @PABBeginDate datetime,<br> @PABEndDate datetime,<br> @PAFBeginDate datetime,<br> @PAFEndDate datetime,<br> @PAFEndDate_Period int,<br> @PABEndDate_Period int,<br> @i_startyearupdate int,<br> @i_endyearupdate int,<br> @i_baselinestartyearupdate int,<br> @i_forecaststartyearupdate int,<br> @ACTIVE tinyint,<br> @NOACCTONITEM tinyint,<br> @UseQtyOverageTolerance tinyint,<br> @QtyOverTolerancePercent int,<br> @CurrentQtyShipped numeric(19, 5),<br> @QtyOnPO numeric(19, 5),<br> @MaxToleranceAmount numeric(19, 5),<br> @RemainingQtyOnPO numeric(19, 5),<br> @SITEINACTIVE tinyint,<br> @ITEMSITEINACTIVE tinyint<br> SELECT<br> @PACONTNUMBER = '',<br> @LCCOST = 0,<br> @Total_Landed_Cost_Amount = 0,<br> @LCLINENUMBER = 0,<br> @Landed_Cost_ID = '',<br> @LOFSGMNT = 0,<br> @LOFSGMNTALL = 0,<br> @LOFSGMNTEND = 0,<br> @ACCNT_STRING = '',<br> @NEW_ACCNT_STRING = '',<br> @MAXSEG = 0,<br> @ACTINDX = 0,<br> @ACSGFLOC = 0,<br> @Location_Segment = '',<br> @UNITCOST = 0,<br> @ORUNTCST = 0,<br> @ITMTRKOP = 1,<br> @LOCNCODE = '',<br> @DECPLCUR = 0,<br> @DECPLQTY = 0,<br> @iGetNextNoteIdxErrState = 0,<br> @sCompanyID = '',<br> @RcptLineNoteIDArray_1 = 0,<br> @RcptLineNoteIDArray_2 = 0,<br> @RcptLineNoteIDArray_3 = 0,<br> @RcptLineNoteIDArray_4 = 0,<br> @RcptLineNoteIDArray_5 = 0,<br> @RcptLineNoteIDArray_6 = 0,<br> @RcptLineNoteIDArray_7 = 0,<br> @RcptLineNoteIDArray_8 = 0,<br> @UMQTYINB = 0,<br> @UOFM = '',<br> @POLNENUM = 0,<br> @POSTATUS = 0,<br> @POLNESTA = 0,<br> @POTYPE = 0,<br> @DECPLQTY = 0,<br> @VCTNMTHD = 0,<br> @DECPLCUR = 0,<br> @JOBNUMBR = '',<br> @INVINDX = 0,<br> @VNDITNUM = '',<br> @VNDITDSC = '',<br> @Capital_Item = 0,<br> @O_oErrorState = 0,<br> @PO_CURNCYID = '',<br> @CURRNIDX = 0,<br> @PO_CURRNIDX = 0,<br> @O_iErrorState = 0,<br> @iStatus = 0,<br> @O_iUpdCrtItemErrState = 0,<br> @O_iPOLineInsrErrState = 0,<br> @O_iPOHdrErrState = 0,<br> @O_iCommentMstErrState = 0,<br> @O_iLineIvcInsrtErrState = 0,<br> @iGetNextNoteIdxErrState = 0,<br> @RCPTLNNM = 0,<br> @SHIPMTHD = '',<br> @VADCDPAD = '',<br> @PURPVIDX = 0,<br> @Revalue_Inventory = 0,<br> @Tolerance_Percentage = 0,<br> @POPALWOP_2 = 0,<br> @SERLTQTY = 0,<br> @VENDORID = '',<br> @ITEMNMBR = '',<br> @PRCHSUOM = '',<br> @LOCNCODEREG = '',<br> @ITEMDESC = '',<br> @STNDCOST = 0,<br> @UPPVIDX = 0,<br> @RUPPVAMT = 0,<br> @OLDCUCST = 0,<br> @ACPURIDX = 0,<br> @ISMCTRX = 0,<br> @FUNLCURR = '',<br> @DECPLCURItem = 0,<br> @EDITDECPLCUR = 0,<br> @FUNDECPLCUR = 0,<br> @MCINSTALLED = 1,<br> @LandedCostErrState = 0,<br> @LandedCostErrString = '',<br> @projectexists = 0,<br> @PASTAT = 0,<br> @PAcloseProjcosts = 0,<br> @costcatexists = 0,<br> @PATU = 0,<br> @PAinactive = 0,<br> @CUSTNMBR = '',<br> @ENABLEMULTIBIN = 0,<br> @ITEMTYPE = 0,<br> @count = 0,<br> @PassedExtCost = 0,<br> @PAProjectType = 0,<br> @PAAcctgMethod = 0,<br> @PACOSTCATID = '',<br> @PATMProfitType = 0,<br> @l_ProjNum = '',<br> @PAbllngtype = 0,<br> @PAOverhead_Amount = 0,<br> @PAOverheaPercentage = 0,<br> @PABILRATE = 0,<br> @PAProfitType = 0,<br> @PABaselinePTaxOptions = 0,<br> @PAPurchase_Tax_Options = 0,<br> @PAProfitAmount = 0,<br> @PAProfitPercent = 0,<br> @PA_Variance_QTY_Accrued_ = 0,<br> @PA_Variance_Accrued_Reve = 0,<br> @PO_UOMSCHDL = '',<br> @PO_UOFM = '',<br> @PO_ITMTSHID = '',<br> @PO_TRDISAMT = 0,<br> @PO_PALineItemSeq = 0,<br> @PO_PAIV_Item_Checkbox = 0,<br> @PO_PATU = 4,<br> @PO_PAPurchase_Tax_Options = 0,<br> @PO_PRICELVL = '',<br> @PO_PACHGORDNO = '',<br> @PACOSTCATNME = '',<br> @PA_Variance_Cost = 0,<br> @Status = 0,<br> @PABilling_StatusN = 0,<br> @PAMARKPERCENT = 0,<br> @PAviprofittypefrom = 0,<br> @use_billing_rate = 0,<br> @use_markup_percentage = 0,<br> @PAINCPRCHTXPRJCST = 0,<br> @PA_Base_Billing_Rate = 0,<br> @PABaseOvhdCost = 0,<br> @PAShipmentExtCost = 0,<br> @tax_amount = 0,<br> @PAOverhead_IDX = 0,<br> @PATotalProfit = 0,<br> @PATOTALOVERH = 0,<br> @PAACREV = 0,<br> @PA00901_PATMProfitType = 0,<br> @PA01001_PATMProfitType = 0,<br> @PAsetupkey = 0,<br> @PO_PACogs_Idx = 0,<br> @PO_PACGBWIPIDX = 0,<br> @PABase_Unit_Cost = 0,<br> @PABase_Qty = 0,<br> @PAPostedBillingsN = 0,<br> @PACogs_Idx = 0,<br> @PACGBWIPIDX = 0,<br> @PAUnbilled_AR_Idx = 0,<br> @PAUnbilled_Proj_Rev_Idx = 0,<br> @PAContra_Account_IDX = 0,<br> @PO_INVINDX = 0,<br> @PA_MC_Accrued_Revenue = 0,<br> @PROJECTLOADED = 0,<br> @PA_MC_Base_Billing_Rate = 0,<br> @PA_MC_Billing_Rate = 0,<br> @PA_MC_VarianceAccruedRev = 0,<br> @UNITPRCE = 0,<br> @PRICMTHD = 0,<br> @LISTPRCE = 0,<br> @QTYBSUOM = 1,<br> @UOMSCHDL = '',<br> @UOFMBASE = '',<br> @CURRCOST = 0,<br> @ROUNDTO = 0,<br> @ROUNDHOW = 0,<br> @RNDGAMNT = 0,<br> @PADECPLQTY = 0,<br> @NOTEINDX = 0,<br> @POLNEARY_3 = 0,<br> @DATE1 = '',<br> @TIME1 = '',<br> @TOOKACCTOFFPOORPASSED = 0,<br> @UserDate = CAST(GETDATE() AS varchar(12)),<br> @PeriodID = 0,<br> @Closed = 0,<br> @Year = 0,<br> @iCustomGLPeriodErr = 0,<br> @iCustomGLPeriodState = 0,<br> @O_glCalculateGLPeriodErrorState1 = 0,<br> @O_glCalculateGLPeriodErrorState2 = 0,<br> @PA_Create_Periodic_Budget_RecordsErrorState = 0,<br> @PA_IVCreate_Periodic_Budget_RecordsErrorState = 0,<br> @PABBeginDate = '',<br> @PABEndDate = '',<br> @PAFBeginDate = '',<br> @PAFEndDate = '',<br> @PABBeginDate_Period = 0,<br> @PABEndDate_YEAR = 0,<br> @PAFBeginDate_Period = 0,<br> @PAFEndDate_YEAR = 0,<br> @PABBeginDate_YEAR = 0,<br> @PAFBeginDate_YEAR = 0,<br> @NUMOFPER = 0,<br> @l_fore_ctr = 0,<br> @l_base_ctr = 0,<br> @PAFEndDate_Period = 0,<br> @PABEndDate_Period = 0,<br> @i_startyearupdate = 0,<br> @i_endyearupdate = 0,<br> @i_baselinestartyearupdate = 0,<br> @i_forecaststartyearupdate = 0,<br> @ACTIVE = 0,<br> @NOACCTONITEM = 0,<br> @UseQtyOverageTolerance = 0,<br> @QtyOverTolerancePercent = 0,<br> @CurrentQtyShipped = 0,<br> @SITEINACTIVE = 0,<br> @ITEMSITEINACTIVE = 0<br> IF (@oErrString IS NULL)<br> BEGIN<br> SELECT<br> @oErrString = ''<br> END<br> EXEC @iStatus = taPopRcptLineInsertPre @I_vPOPTYPE OUTPUT,<br> @I_vPOPRCTNM OUTPUT,<br> @I_vPONUMBER OUTPUT,<br> @I_vITEMNMBR OUTPUT,<br> @I_vITEMDESC OUTPUT,<br> @I_vVENDORID OUTPUT,<br> @I_vRCPTLNNM OUTPUT,<br> @I_vVNDITNUM OUTPUT,<br> @I_vVNDITDSC OUTPUT,<br> @I_vACTLSHIP OUTPUT,<br> @I_vINVINDX OUTPUT,<br> @I_vInventoryAccount OUTPUT,<br> @I_vUOFM OUTPUT,<br> @I_vUNITCOST OUTPUT,<br> @I_vEXTDCOST OUTPUT,<br> @I_vNONINVEN OUTPUT,<br> @I_vJOBNUMBR OUTPUT,<br> @I_vBOLPRONUMBER OUTPUT,<br> @I_vQTYSHPPD OUTPUT,<br> @I_vQTYINVCD OUTPUT,<br> @I_vAUTOCOST OUTPUT,<br> @I_vPurchase_IV_Item_Taxable OUTPUT,<br> @I_vPurchase_Item_Tax_Schedu OUTPUT,<br> @I_vPurchase_Site_Tax_Schedu OUTPUT,<br> @I_vTAXAMNT OUTPUT,<br> @I_vLanded_Cost_Group_ID OUTPUT,<br> @I_vLOCNCODE OUTPUT,<br> @I_vPOLNENUM OUTPUT,<br> @I_vreceiptdate OUTPUT,<br> @I_vCURNCYID OUTPUT,<br> @I_vProjNum OUTPUT,<br> @I_vCostCatID OUTPUT,<br> @I_vAutoAssignBin OUTPUT,<br> @I_vCMMTTEXT OUTPUT,<br> @I_vRequesterTrx OUTPUT,<br> @I_vUSRDEFND1 OUTPUT,<br> @I_vUSRDEFND2 OUTPUT,<br> @I_vUSRDEFND3 OUTPUT,<br> @I_vUSRDEFND4 OUTPUT,<br> @I_vUSRDEFND5 OUTPUT,<br> @O_iErrorState = @iCustomState OUTPUT,<br> @oErrString = @iCustomErrString OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus = 0)<br> AND (@iError <> 0))<br> BEGIN<br> SELECT<br> @iStatus = @iError<br> END<br> IF ((@iStatus <> 0)<br> OR (@iCustomState <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@iCustomErrString))<br> SELECT<br> @O_iErrorState = 149<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> IF (@I_vACTLSHIP IS NULL<br> OR @I_vBOLPRONUMBER IS NULL<br> OR @I_vINVINDX IS NULL<br> OR @I_vInventoryAccount IS NULL<br> OR @I_vITEMNMBR IS NULL<br> OR @I_vJOBNUMBR IS NULL<br> OR @I_vNONINVEN IS NULL<br> OR @I_vPONUMBER IS NULL<br> OR @I_vPOPRCTNM IS NULL<br> OR @I_vRCPTLNNM IS NULL<br> OR @I_vUOFM IS NULL<br> OR @I_vVNDITDSC IS NULL<br> OR @I_vVNDITNUM IS NULL<br> OR @I_vPOPTYPE IS NULL<br> OR @I_vCURNCYID IS NULL<br> OR @I_vAutoAssignBin IS NULL)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2050<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> IF (@I_vPOPRCTNM = ''<br> OR (@I_vITEMNMBR = ''<br> AND @I_vVNDITNUM = ''))<br> BEGIN<br> SELECT<br> @O_iErrorState = 2051<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> SELECT<br> @I_vPONUMBER = UPPER(@I_vPONUMBER),<br> @I_vITEMNMBR = UPPER(@I_vITEMNMBR),<br> @I_vVENDORID = UPPER(@I_vVENDORID),<br> @I_vPOPRCTNM = UPPER(@I_vPOPRCTNM),<br> @I_vCURNCYID = UPPER(@I_vCURNCYID)<br> SELECT<br> @POPALWOP_2 = POPALWOP_2<br> FROM POP40100(nolock)<br> WHERE INDEX1 = 1<br> IF (@I_vCostCatID IS NOT NULL)<br> BEGIN<br> BEGIN<br> SELECT<br> @PAINCPRCHTXPRJCST = PAINCPRCHTXPRJCST<br> FROM PA41701(nolock)<br> WHERE PAsetupkey = 1<br> SELECT<br> @PROJECTLOADED = 1<br> SELECT<br> @PAsetupkey = PAsetupkey,<br> @PAviprofittypefrom = PAviprofittypefrom<br> FROM PA42201(nolock)<br> END<br> IF (@PAsetupkey <> 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8181<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF EXISTS (SELECT<br> 1<br> FROM POP10300(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM)<br> OR EXISTS (SELECT<br> 1<br> FROM POP30300(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8053<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF @I_vINVINDX <> 0<br> BEGIN<br> SELECT<br> @TOOKACCTOFFPOORPASSED = 1<br> END<br> IF ((@I_vAUTOCOST = 1)<br> AND ((@I_vUNITCOST > 0)<br> OR (@I_vEXTDCOST > 0)))<br> BEGIN<br> SELECT<br> @O_iErrorState = 594<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vPOPTYPE NOT IN (1, 3))<br> BEGIN<br> SELECT<br> @O_iErrorState = 5455<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> IF NOT EXISTS (SELECT<br> 1<br> FROM POP10100(nolock)<br> WHERE PONUMBER = @I_vPONUMBER)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2052<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF EXISTS (SELECT<br> 1<br> FROM POP10170(nolock)<br> WHERE PONUMBER = @I_vPONUMBER)<br> BEGIN<br> SELECT<br> @O_iErrorState = 11971<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> SELECT<br> @POSTATUS = POSTATUS,<br> @CUSTNMBR = CUSTNMBR<br> FROM POP10100(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> IF (@POSTATUS IN (4, 5, 6))<br> BEGIN<br> SELECT<br> @O_iErrorState = 589<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vPOLNENUM < 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 3810<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @FUNLCURR = FUNLCURR<br> FROM MC40000(nolock)<br> IF (@O_iErrorState <> 0)<br> BEGIN<br> RETURN (@O_iErrorState)<br> END<br> IF (@I_vNONINVEN = 0)<br> BEGIN<br> IF (@I_vVNDITNUM = '')<br> BEGIN<br> SELECT<br> @I_vVNDITNUM = VNDITNUM<br> FROM IV00103(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND VENDORID = @I_vVENDORID<br> END<br> IF (@I_vITEMNMBR = '')<br> BEGIN<br> SELECT<br> @count = COUNT(ITEMNMBR)<br> FROM IV00103(nolock)<br> WHERE VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> IF (@count > 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9008<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @I_vITEMNMBR = ITEMNMBR<br> FROM IV00103(nolock)<br> WHERE VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> END<br> END<br> END<br> IF ((@I_vNONINVEN = 1)<br> AND (@I_vVNDITNUM = ''))<br> BEGIN<br> SELECT<br> @I_vVNDITNUM = @I_vITEMNMBR<br> END<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> IF (@I_vPOLNENUM <> 0)<br> BEGIN<br> IF NOT EXISTS (SELECT<br> 1<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 3808<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @ITEMDESC = ITEMDESC,<br> @VNDITDSC = VNDITDSC,<br> @VNDITNUM = VNDITNUM,<br> @UOFM = UOFM,<br> @INVINDX = INVINDX,<br> @JOBNUMBR = JOBNUMBR,<br> @Capital_Item = Capital_Item,<br> @DECPLCUR = DECPLCUR,<br> @DECPLQTY = DECPLQTY,<br> @ODECPLCU = ODECPLCU,<br> @LOCNCODE = LOCNCODE,<br> @UMQTYINB = UMQTYINB,<br> @UNITCOST = UNITCOST,<br> @ORUNTCST = ORUNTCST,<br> @POLNESTA = POLNESTA,<br> @POTYPE = POTYPE,<br> @VENDORID = VENDORID,<br> @ITEMNMBR = ITEMNMBR,<br> @I_vLanded_Cost_Group_ID =<br> CASE<br> WHEN @I_vLanded_Cost_Group_ID IS NULL THEN Landed_Cost_Group_ID<br> ELSE @I_vLanded_Cost_Group_ID<br> END,<br> @I_vProjNum =<br> CASE<br> WHEN @I_vProjNum IS NULL THEN ProjNum<br> ELSE @I_vProjNum<br> END,<br> @I_vCostCatID =<br> CASE<br> WHEN @I_vCostCatID IS NULL THEN CostCatID<br> ELSE @I_vCostCatID<br> END,<br> @POLNEARY_3 = POLNEARY_3<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> IF @I_vCostCatID <> ''<br> BEGIN<br> SELECT<br> @PROJECTLOADED = 1<br> END<br> IF (@I_vITEMNMBR <> @ITEMNMBR)<br> BEGIN<br> SELECT<br> @O_iErrorState = 3809<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vUOFM <> '')<br> BEGIN<br> IF (@I_vUOFM <> @UOFM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 6663<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vVENDORID <> @VENDORID)<br> BEGIN<br> SELECT<br> @O_iErrorState = 6662<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> ELSE<br> BEGIN<br> IF (@I_vLOCNCODE <> '')<br> AND (@POPALWOP_2 = 0)<br> BEGIN<br> SELECT<br> @count = COUNT(ORD)<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> AND LOCNCODE = @I_vLOCNCODE<br> SELECT<br> @ITEMDESC = ITEMDESC,<br> @VNDITDSC = VNDITDSC,<br> @VNDITNUM = VNDITNUM,<br> @UOFM = UOFM,<br> @INVINDX = INVINDX,<br> @JOBNUMBR = JOBNUMBR,<br> @Capital_Item = Capital_Item,<br> @DECPLCUR = DECPLCUR,<br> @DECPLQTY = DECPLQTY,<br> @ODECPLCU = ODECPLCU,<br> @POLNENUM = ORD,<br> @LOCNCODE = LOCNCODE,<br> @UMQTYINB = UMQTYINB,<br> @UNITCOST = UNITCOST,<br> @ORUNTCST = ORUNTCST,<br> @POLNESTA = POLNESTA,<br> @POTYPE = POTYPE,<br> @VENDORID = VENDORID,<br> @I_vLanded_Cost_Group_ID =<br> CASE<br> WHEN @I_vLanded_Cost_Group_ID IS NULL THEN Landed_Cost_Group_ID<br> ELSE @I_vLanded_Cost_Group_ID<br> END,<br> @I_vProjNum =<br> CASE<br> WHEN @I_vProjNum IS NULL THEN ProjNum<br> ELSE @I_vProjNum<br> END,<br> @I_vCostCatID =<br> CASE<br> WHEN @I_vCostCatID IS NULL THEN CostCatID<br> ELSE @I_vCostCatID<br> END,<br> @POLNEARY_3 = POLNEARY_3<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> AND LOCNCODE = @I_vLOCNCODE<br> IF @I_vCostCatID <> ''<br> BEGIN<br> SELECT<br> @PROJECTLOADED = 1<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @count = COUNT(ORD)<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> SELECT<br> @ITEMDESC = ITEMDESC,<br> @VNDITDSC = VNDITDSC,<br> @VNDITNUM = VNDITNUM,<br> @UOFM = UOFM,<br> @INVINDX = INVINDX,<br> @JOBNUMBR = JOBNUMBR,<br> @Capital_Item = Capital_Item,<br> @DECPLCUR = DECPLCUR,<br> @DECPLQTY = DECPLQTY,<br> @ODECPLCU = ODECPLCU,<br> @POLNENUM = ORD,<br> @LOCNCODE = LOCNCODE,<br> @UMQTYINB = UMQTYINB,<br> @UNITCOST = UNITCOST,<br> @ORUNTCST = ORUNTCST,<br> @POLNESTA = POLNESTA,<br> @POTYPE = POTYPE,<br> @VENDORID = VENDORID,<br> @I_vLanded_Cost_Group_ID =<br> CASE<br> WHEN @I_vLanded_Cost_Group_ID IS NULL THEN Landed_Cost_Group_ID<br> ELSE @I_vLanded_Cost_Group_ID<br> END,<br> @I_vProjNum =<br> CASE<br> WHEN @I_vProjNum IS NULL THEN ProjNum<br> ELSE @I_vProjNum<br> END,<br> @I_vCostCatID =<br> CASE<br> WHEN @I_vCostCatID IS NULL THEN CostCatID<br> ELSE @I_vCostCatID<br> END,<br> @POLNEARY_3 = POLNEARY_3<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> IF @I_vCostCatID <> ''<br> BEGIN<br> SELECT<br> @PROJECTLOADED = 1<br> END<br> END<br> IF (@count = 1)<br> BEGIN<br> SELECT<br> @I_vPOLNENUM = @POLNENUM<br> END<br> ELSE<br> BEGIN<br> IF (@count > 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9344<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@count = 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9343<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> SELECT<br> @INVINDX = PACGBWIPIDX<br> FROM PA10601(nolock)<br> WHERE PApurordnum = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @POTYPE =<br> CASE<br> WHEN (@PROJECTLOADED = 1) AND<br> (@I_vPOPTYPE = 3) THEN 1<br> WHEN (@PROJECTLOADED = 1) AND<br> (@I_vPOPTYPE = 3) AND<br> (@I_vNONINVEN = 1) THEN 0<br> ELSE 0<br> END,<br> @I_vUOFM =<br> CASE<br> WHEN (@I_vNONINVEN = 1) AND<br> (@I_vUOFM = '') THEN 'Each'<br> ELSE @I_vUOFM<br> END,<br> @UMQTYINB =<br> CASE<br> WHEN @I_vNONINVEN = 1 THEN 1<br> ELSE 0<br> END,<br> @I_vLanded_Cost_Group_ID =<br> CASE<br> WHEN @I_vLanded_Cost_Group_ID IS NULL THEN ''<br> ELSE @I_vLanded_Cost_Group_ID<br> END,<br> @I_vProjNum =<br> CASE<br> WHEN @I_vProjNum IS NULL THEN ''<br> ELSE @I_vProjNum<br> END,<br> @I_vCostCatID =<br> CASE<br> WHEN @I_vCostCatID IS NULL THEN ''<br> ELSE @I_vCostCatID<br> END<br> END<br> IF (@POLNEARY_3 = 0)<br> BEGIN<br> SELECT<br> @I_vCMMTTEXT = ''<br> END<br> IF (@I_vProjNum <> '')<br> AND (@I_vCostCatID = '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 8173<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vProjNum = '')<br> AND (@I_vCostCatID <> '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 8174<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @sCompanyID = CMPANYID<br> FROM DYNAMICS..SY01500(nolock)<br> WHERE INTERID = DB_NAME()<br> IF (@I_vProjNum <> '')<br> AND (@I_vCostCatID <> '')<br> BEGIN<br> EXEC @iStatus = DYNAMICS..tasmGetNextNoteIndex @I_sCompanyID = @sCompanyID,<br> @I_iSQLSessionID = 0,<br> @I_noteincrement = 1,<br> @O_mNoteIndex = @NOTEINDX OUTPUT,<br> @O_iErrorState = @iGetNextNoteIdxErrState OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@iGetNextNoteIdxErrState <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + @iGetNextNoteIdxErrState<br> SELECT<br> @O_iErrorState = 8239<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> IF (@I_vProjNum <> '')<br> AND (@I_vProjNum <> '<NONE>')<br> BEGIN<br> IF (@I_vPOPTYPE IN (1, 3))<br> BEGIN<br> SELECT<br> @projectexists = 1,<br> @PASTAT = PASTAT,<br> @PAcloseProjcosts = PAcloseProjcosts,<br> @PACONTNUMBER = PACONTNUMBER,<br> @PAProjectType = PAProjectType,<br> @PAAcctgMethod = PAAcctgMethod,<br> @CUSTNMBR =<br> CASE<br> WHEN @CUSTNMBR = '' AND<br> @I_vPONUMBER = '' THEN CUSTNMBR<br> ELSE ''<br> END<br> FROM PA01201(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> END<br> IF (@projectexists <> 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8095<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PASTAT > 1<br> AND @PASTAT < 5)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8096<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PAcloseProjcosts = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8097<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @PASTAT = PASTAT,<br> @PAcloseProjcosts = PAcloseProjcosts,<br> @PACONTNUMBER = PACONTNUMBER<br> FROM PA01101(nolock)<br> WHERE PACONTNUMBER = @PACONTNUMBER<br> IF (@PASTAT > 1<br> AND @PASTAT < 5)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8098<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PAcloseProjcosts = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8099<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF EXISTS (SELECT<br> 1<br> FROM PA00501(nolock)<br> WHERE CUSTNMBR = @CUSTNMBR<br> AND PAcloseProjcosts = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8100<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vCostCatID <> '')<br> AND (@I_vCostCatID <> '<NONE>')<br> BEGIN<br> SELECT<br> @costcatexists = 1,<br> @PATU = PATU,<br> @PAinactive = PAinactive,<br> @PACOSTCATID = PACOSTCATID,<br> @PATMProfitType = PATMProfitType,<br> @PAPurchase_Tax_Options = PAPurchase_Tax_Options,<br> @PACOSTCATNME = PACOSTCATNME<br> FROM PA01001(nolock)<br> WHERE PACOSTCATID = @I_vCostCatID<br> IF (@costcatexists <> 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8101<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PATU <> 4)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8102<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PAinactive = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8103<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vProjNum <> '<NONE>')<br> AND (@I_vProjNum <> '')<br> AND (@I_vPONUMBER <> '')<br> BEGIN<br> IF (EXISTS (SELECT<br> 1<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> AND ProjNum = '')<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 8193<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vProjNum <> '<NONE>')<br> AND (@I_vProjNum <> '')<br> AND (@I_vPONUMBER <> '')<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> AND ProjNum = @I_vProjNum)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 8696<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@I_vProjNum <> '<NONE>')<br> AND (@I_vProjNum <> '')<br> BEGIN<br> IF (@I_vCostCatID <> '<NONE>')<br> BEGIN<br> SELECT<br> @l_ProjNum = ISNULL(PAPROJNUMBER, ''),<br> @PASTAT = ISNULL(PASTAT, 0),<br> @PAbllngtype = ISNULL(PAbllngtype, 0),<br> @PAOverhead_Amount = ISNULL(PAForecastOvrhdAmtPerUnt, 0),<br> @PAOverheaPercentage = ISNULL(PAForecastOvrhdPct, 0),<br> @PABILRATE = ISNULL(PAForecastBaseProfitAmt, 0),<br> @PAProfitType = ISNULL(PAProfitType, 0),<br> @PABaselinePTaxOptions = ISNULL(PABaselinePTaxOptions, 0),<br> @PO_CURNCYID = PAMCCURNCYID<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> SELECT<br> @PO_CURRNIDX = CURRNIDX<br> FROM DYNAMICS..MC40200(nolock)<br> WHERE CURNCYID = @PO_CURNCYID<br> IF (@l_ProjNum = '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 8177<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> ELSE<br> BEGIN<br> IF (@PASTAT IN (2, 3, 4, 5))<br> BEGIN<br> SELECT<br> @O_iErrorState = 8178<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> END<br> SELECT<br> @FUNDECPLCUR = DECPLCUR - 1<br> FROM MC40000 a (NOLOCK),<br> DYNAMICS..MC40200 b (NOLOCK)<br> WHERE a.FUNCRIDX = b.CURRNIDX<br> AND a.FUNLCURR = b.CURNCYID<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@I_vPONUMBER <> '')<br> AND (@I_vProjNum <> '')<br> AND (@I_vCostCatID <> '')<br> AND (@I_vVNDITNUM <> '')<br> BEGIN<br> IF (@I_vPOLNENUM <> '')<br> BEGIN<br> SELECT<br> @PO_UOMSCHDL = UOMSCHDL,<br> @PO_PATU = PATU,<br> @PO_PAPurchase_Tax_Options = PAPurchase_Tax_Options,<br> @PO_ITMTSHID = ITMTSHID,<br> @PO_TRDISAMT = TRDISAMT,<br> @PO_PAIV_Item_Checkbox = PAIV_Item_Checkbox,<br> @PO_PALineItemSeq = PALineItemSeq,<br> @PO_PRICELVL = PRICELVL,<br> @PO_PACHGORDNO = PACHGORDNO<br> FROM PA10601(nolock)<br> WHERE PApurordnum = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PO_UOMSCHDL = UOMSCHDL,<br> @PO_PATU = PATU,<br> @PO_PAPurchase_Tax_Options = PAPurchase_Tax_Options,<br> @PO_ITMTSHID = ITMTSHID,<br> @PO_TRDISAMT = TRDISAMT,<br> @PO_PAIV_Item_Checkbox = PAIV_Item_Checkbox,<br> @PO_PALineItemSeq = PALineItemSeq,<br> @PO_PRICELVL = PRICELVL,<br> @PO_PACHGORDNO = PACHGORDNO<br> FROM PA10601(nolock)<br> WHERE PApurordnum = @I_vPONUMBER<br> AND PAPROJNUMBER = @I_vProjNum<br> AND VNDITNUM = @I_vVNDITNUM<br> AND PACOSTCATID = @I_vCostCatID<br> END<br> IF @PAPurchase_Tax_Options = 0<br> BEGIN<br> SELECT<br> @PAPurchase_Tax_Options = @PO_PAPurchase_Tax_Options<br> END<br> SELECT TOP 1<br> @PO_PRICELVL = PRICELVL<br> FROM PA01303(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND ITEMNMBR = @I_vITEMNMBR<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PO_PAIV_Item_Checkbox = ISNULL(PAIV_Item_Checkbox, 0)<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PO_PATU<br> SELECT TOP 1<br> @PO_PRICELVL = ISNULL(PRICELVL, ''),<br> @PO_PALineItemSeq = ISNULL(PALineItemSeq, 0)<br> FROM PA01303(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND ITEMNMBR = @I_vITEMNMBR<br> END<br> IF (@I_vreceiptdate = '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 21042<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> EXEC @iStatus = glCalculateGLPeriod @I_sSeries = 7,<br> @I_cOrigin = 'PA Receivings Trx Entry',<br> @I_dDate = @I_vreceiptdate,<br> @I_dUserDate = @UserDate,<br> @O_sPeriodID = @PABBeginDate_Period OUTPUT,<br> @O_tClosed = @Closed OUTPUT,<br> @O_sYear = @PABBeginDate_YEAR OUTPUT,<br> @O_iOUTErr = @iCustomGLPeriodErr OUTPUT,<br> @O_iErrorState = @O_glCalculateGLPeriodErrorState1 OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@O_glCalculateGLPeriodErrorState1 <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@O_glCalculateGLPeriodErrorState1))<br> SELECT<br> @O_iErrorState = 21043<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> EXEC @iStatus = glCalculateGLPeriod @I_sSeries = 7,<br> @I_cOrigin = 'PA Receivings Trx Entry',<br> @I_dDate = @I_vreceiptdate,<br> @I_dUserDate = @UserDate,<br> @O_sPeriodID = @PABEndDate_Period OUTPUT,<br> @O_tClosed = @Closed OUTPUT,<br> @O_sYear = @PABEndDate_YEAR OUTPUT,<br> @O_iOUTErr = @iCustomGLPeriodErr OUTPUT,<br> @O_iErrorState = @O_glCalculateGLPeriodErrorState2 OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@O_glCalculateGLPeriodErrorState2 <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@O_glCalculateGLPeriodErrorState2))<br> SELECT<br> @O_iErrorState = 20144<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> SELECT<br> @PAFBeginDate_Period = @PABBeginDate_Period,<br> @PAFBeginDate_YEAR = @PABBeginDate_YEAR,<br> @PAFEndDate_Period = @PABEndDate_Period,<br> @PAFEndDate_YEAR = @PABEndDate_YEAR,<br> @i_startyearupdate = @PABBeginDate_YEAR,<br> @i_endyearupdate = @PABEndDate_YEAR,<br> @i_baselinestartyearupdate = @PABEndDate_YEAR,<br> @i_forecaststartyearupdate = @PABEndDate_YEAR<br> SELECT<br> @NUMOFPER = NUMOFPER<br> FROM SY40101(nolock)<br> WHERE YEAR1 = @PABEndDate_YEAR<br> IF (@PABEndDate_YEAR - @PABBeginDate_YEAR) = 1<br> BEGIN<br> SET @l_base_ctr = (@NUMOFPER - @PABBeginDate_Period) + (@PABEndDate_Period) + 1<br> END<br> ELSE<br> IF (@PABEndDate_YEAR = @PABBeginDate_YEAR)<br> BEGIN<br> SET @l_base_ctr = (@PABEndDate_Period - @PABBeginDate_Period) + 1<br> END<br> ELSE<br> BEGIN<br> SET @l_base_ctr = (((@PABEndDate_YEAR - @PABBeginDate_YEAR) * @NUMOFPER) + (@NUMOFPER - @PABBeginDate_Period) + (@NUMOFPER - @PABBeginDate_Period))<br> END<br> IF (@PABEndDate_YEAR <> @PABBeginDate_YEAR)<br> BEGIN<br> SET @l_fore_ctr = (@NUMOFPER - @PAFBeginDate_Period) + (@PAFEndDate_Period) + 1<br> END<br> ELSE<br> IF (@PABEndDate_YEAR = @PABBeginDate_YEAR)<br> BEGIN<br> SET @l_fore_ctr = (@PAFEndDate_Period - @PAFBeginDate_Period) + 1<br> END<br> ELSE<br> BEGIN<br> SET @l_fore_ctr = (((@PAFEndDate_YEAR - @PAFBeginDate_YEAR - 1) * @NUMOFPER) + (@NUMOFPER - @PAFBeginDate_Period) + (@NUMOFPER - @PABBeginDate_Period))<br> END<br> IF (@costcatexists = 1<br> AND @CUSTNMBR <> '')<br> BEGIN<br> IF (@PO_PAIV_Item_Checkbox = 1)<br> BEGIN<br> EXEC @iStatus = PA_IVCreate_Periodic_Budget_Records @I_projectnumber = @I_vProjNum,<br> @I_transactionusage = @PATU,<br> @I_costcategory = @I_vCostCatID,<br> @I_contractnumber = @PACONTNUMBER,<br> @I_customernumber = @CUSTNMBR,<br> @I_sourcefileID = 0,<br> @I_basestartdate = @PABBeginDate,<br> @I_baseenddate = @PABEndDate,<br> @I_forestartdate = @PAFBeginDate,<br> @I_foreenddate = @PAFEndDate,<br> @I_actualstartdate = @I_vreceiptdate,<br> @I_actualenddate = '',<br> @I_userdate = @UserDate,<br> @I_deciqty = @DECPLQTY,<br> @I_functionaldeciglobals = @FUNDECPLCUR,<br> @I_create = 0,<br> @I_change_baseline = 1,<br> @I_change_forecast = 1,<br> @i_firstdate = '',<br> @i_lastdate = '',<br> @i_year_start = 0,<br> @i_year_end = 0,<br> @i_startyearupdate = @i_startyearupdate,<br> @i_endyearupdate = @i_endyearupdate,<br> @i_baselinestartyearupdate = @i_baselinestartyearupdate,<br> @i_baseline_period = @PABEndDate_Period,<br> @i_forecaststartyearupdate = @i_forecaststartyearupdate,<br> @i_forecast_period = @PAFEndDate_Period,<br> @l_base_ctr = @l_base_ctr,<br> @l_fore_ctr = @l_base_ctr,<br> @I_err = @PA_IVCreate_Periodic_Budget_RecordsErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@PA_IVCreate_Periodic_Budget_RecordsErrorState <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@PA_IVCreate_Periodic_Budget_RecordsErrorState))<br> SELECT<br> @O_iErrorState = 20145<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> ELSE<br> BEGIN<br> EXECUTE @iStatus = PA_Create_Periodic_Budget_Records @I_projectnumber = @I_vProjNum,<br> @I_transactionusage = @PATU,<br> @I_costcategory = @I_vCostCatID,<br> @I_contractnumber = @PACONTNUMBER,<br> @I_customernumber = @CUSTNMBR,<br> @I_sourcefileID = 0,<br> @I_basestartdate = @PABBeginDate,<br> @I_baseenddate = @PABEndDate,<br> @I_forestartdate = @PAFBeginDate,<br> @I_foreenddate = @PAFEndDate,<br> @I_actualstartdate = @I_vreceiptdate,<br> @I_actualenddate = '',<br> @I_userdate = @UserDate,<br> @I_deciqty = @DECPLQTY,<br> @I_functionaldeciglobals = @FUNDECPLCUR,<br> @I_create = 0,<br> @I_change_baseline = 1,<br> @I_change_forecast = 1,<br> @i_firstdate = '',<br> @i_lastdate = '',<br> @i_year_start = 0,<br> @i_year_end = 0,<br> @i_startyearupdate = @i_startyearupdate,<br> @i_endyearupdate = @i_endyearupdate,<br> @i_baselinestartyearupdate = @i_baselinestartyearupdate,<br> @i_baseline_period = @PABEndDate_Period,<br> @i_forecaststartyearupdate = @i_forecaststartyearupdate,<br> @i_forecast_period = @PAFEndDate_Period,<br> @l_base_ctr = @l_base_ctr,<br> @l_fore_ctr = @l_base_ctr,<br> @I_err = @PA_Create_Periodic_Budget_RecordsErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@PA_Create_Periodic_Budget_RecordsErrorState <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@PA_Create_Periodic_Budget_RecordsErrorState))<br> SELECT<br> @O_iErrorState = 20146<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> END<br> END<br> SELECT TOP 1<br> @LOCNCODEREG = LOCNCODE<br> FROM IV40700(nolock)<br> WHERE LOCNCODE <> ''<br> IF ((@LOCNCODEREG = '')<br> AND (@I_vLOCNCODE <> ''))<br> BEGIN<br> SELECT<br> @O_iErrorState = 4605<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@LOCNCODEREG <> '')<br> AND (@I_vLOCNCODE <> ''))<br> BEGIN<br> IF ((@I_vPONUMBER <> '')<br> AND (NOT EXISTS (SELECT<br> 1<br> FROM IV40700(nolock)<br> WHERE LOCNCODE = @I_vLOCNCODE)<br> ))<br> BEGIN<br> SELECT<br> @O_iErrorState = 1277<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@I_vNONINVEN = 0)<br> AND (NOT EXISTS (SELECT<br> 1<br> FROM IV00102(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND LOCNCODE = @I_vLOCNCODE)<br> ))<br> BEGIN<br> SELECT<br> @O_iErrorState = 4604<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vNONINVEN = 0)<br> BEGIN<br> IF (@I_vPONUMBER = '')<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM IV00103(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 1779<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> ELSE<br> BEGIN<br> IF (@I_vPOLNENUM <> 0)<br> AND (NOT EXISTS (SELECT<br> 1<br> FROM POP10110(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> AND VENDORID = @I_vVENDORID<br> AND PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 7922<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> IF (@I_vPONUMBER = '')<br> BEGIN<br> IF (@I_vNONINVEN = 0)<br> BEGIN<br> SELECT<br> @DECPLCUR = ((DECPLCUR - 1) + 7),<br> @ODECPLCU = (DECPLCUR - 1),<br> @DECPLQTY = ((DECPLQTY - 1) + 1)<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> IF (@I_vUOFM <> '')<br> BEGIN<br> IF NOT EXISTS (SELECT<br> 1<br> FROM IV00106(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND UOFM = @I_vUOFM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9373<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @UOFM = @I_vUOFM<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PRCHSUOM = PRCHSUOM<br> FROM IV00103(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND VNDITNUM = @I_vVNDITNUM<br> IF (@PRCHSUOM = '')<br> BEGIN<br> SELECT<br> @PRCHSUOM = PRCHSUOM<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> END<br> IF (@PRCHSUOM = '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 9374<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @UOFM = @PRCHSUOM<br> END<br> SELECT<br> @UMQTYINB = QTYBSUOM<br> FROM IV00106(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND UOFM = @UOFM<br> IF (@I_vVNDITDSC = '')<br> BEGIN<br> SELECT<br> @I_vVNDITDSC = VNDITDSC<br> FROM IV00103(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> AND ITEMNMBR = @I_vITEMNMBR<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @DECPLQTY = DECPLQTY,<br> @DECPLCUR = ((DECPLCUR - 1) + 7),<br> @ODECPLCU = (DECPLCUR - 1)<br> FROM POP40100(nolock)<br> WHERE INDEX1 = 1<br> SELECT<br> @UOFM = @I_vUOFM<br> END<br> IF (@I_vCURNCYID = '')<br> BEGIN<br> SELECT<br> @I_vCURNCYID = ISNULL(CURNCYID, '')<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> END<br> IF (@I_vCURNCYID <> '')<br> BEGIN<br> SELECT<br> @CURRNIDX = ISNULL(CURRNIDX, 0)<br> FROM DYNAMICS..MC40200(nolock)<br> WHERE CURNCYID = @I_vCURNCYID<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @I_vCURNCYID = ISNULL(FUNLCURR, ''),<br> @CURRNIDX = ISNULL(FUNCRIDX, 0)<br> FROM MC40000(nolock)<br> END<br> IF ((@I_vLOCNCODE = '')<br> AND (@LOCNCODEREG <> ''))<br> BEGIN<br> SELECT<br> @O_iErrorState = 4601<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vAUTOCOST = 1)<br> BEGIN<br> SELECT<br> @ORUNTCST = Last_Originating_Cost<br> FROM IV00103(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND Last_Currency_ID = @I_vCURNCYID<br> END<br> END<br> IF (@POLNESTA IN (4, 5, 6))<br> BEGIN<br> SELECT<br> @O_iErrorState = 591<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@POTYPE = 2)<br> BEGIN<br> SELECT<br> @O_iErrorState = 590<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@VENDORID <> @I_vVENDORID)<br> AND (@I_vPONUMBER <> ''))<br> BEGIN<br> SELECT<br> @O_iErrorState = 3799<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vJOBNUMBR = '')<br> BEGIN<br> SELECT<br> @I_vJOBNUMBR = @JOBNUMBR<br> END<br> IF (@I_vUOFM = '')<br> BEGIN<br> SELECT<br> @I_vUOFM = @UOFM<br> END<br> IF (@I_vPOLNENUM = 0)<br> BEGIN<br> SELECT<br> @I_vPOLNENUM = @POLNENUM<br> END<br> IF (@I_vLOCNCODE = '')<br> BEGIN<br> SELECT<br> @I_vLOCNCODE = @LOCNCODE<br> END<br> ELSE<br> BEGIN<br> IF ((@I_vLOCNCODE <> @LOCNCODE)<br> AND (@I_vPONUMBER <> ''))<br> BEGIN<br> IF (@POPALWOP_2 = 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 1276<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> IF ((@I_vPONUMBER <> '')<br> AND (@I_vUOFM <> ''))<br> BEGIN<br> IF (@I_vUOFM <> @UOFM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 4606<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (((@VNDITNUM = '')<br> OR (@VNDITNUM IS NULL))<br> AND (@I_vPONUMBER <> ''))<br> BEGIN<br> SELECT<br> @O_iErrorState = 2053<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@I_vNONINVEN = 0)<br> AND (NOT EXISTS (SELECT<br> 1<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR)<br> ))<br> BEGIN<br> SELECT<br> @O_iErrorState = 2054<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> SELECT<br> @CURNCYID = ISNULL(CURNCYID, 0)<br> FROM POP10100(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> SELECT<br> @CURRNIDX = ISNULL(CURRNIDX, 0)<br> FROM DYNAMICS..MC40200(nolock)<br> WHERE CURNCYID = @CURNCYID<br> IF ((@I_vCURNCYID <> '')<br> AND (@I_vCURNCYID <> @CURNCYID))<br> BEGIN<br> SELECT<br> @O_iErrorState = 7320<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vCURNCYID = '')<br> BEGIN<br> SELECT<br> @I_vCURNCYID = @CURNCYID<br> END<br> END </em> <p><em> IF (EXISTS (SELECT<br> 1<br> FROM WF100001<br> WHERE FormID = 829)<br> )<br> AND (EXISTS (SELECT<br> 1<br> FROM WF100002<br> WHERE WF100002.ACTIVE = 1)<br> )<br> BEGIN<br> IF (EXISTS (SELECT<br> 1<br> FROM POP10100<br> WHERE Workflow_Status <> 6<br> AND PONUMBER = @I_vPONUMBER)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 12013<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF ((@I_vCURNCYID <> '')<br> AND (@I_vCURNCYID <> @FUNLCURR))<br> BEGIN<br> SELECT<br> @ISMCTRX = 1<br> END<br> IF @I_vNONINVEN = 0<br> BEGIN<br> SELECT<br> @I_vITEMDESC =<br> CASE<br> WHEN @I_vITEMDESC IS NULL THEN ITEMDESC<br> ELSE @I_vITEMDESC<br> END,<br> @ITMTRKOP = ITMTRKOP,<br> @ITEMTYPE = ITEMTYPE,<br> @VCTNMTHD = VCTNMTHD,<br> @INVINDX = IVIVINDX,<br> @STNDCOST = STNDCOST,<br> @PURPVIDX = PURPVIDX,<br> @UPPVIDX = UPPVIDX,<br> @Revalue_Inventory = Revalue_Inventory,<br> @Tolerance_Percentage = Tolerance_Percentage,<br> @PO_UOMSCHDL = UOMSCHDL,<br> @PRICMTHD = PRICMTHD,<br> @UOMSCHDL = UOMSCHDL,<br> @CURRCOST = CURRCOST<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> IF (@VCTNMTHD NOT IN (4, 5))<br> BEGIN<br> SELECT<br> @UPPVIDX = 0<br> END<br> ELSE<br> BEGIN<br> IF (@UPPVIDX = 0)<br> BEGIN<br> SELECT<br> @UPPVIDX = ACTINDX<br> FROM SY01100(nolock)<br> WHERE SERIES = 5<br> AND SEQNUMBR = 1250<br> END<br> END<br> IF @I_vVNDITDSC = ''<br> BEGIN<br> SELECT<br> @I_vVNDITDSC = @VNDITDSC<br> END<br> IF @I_vINVINDX = 0<br> BEGIN<br> IF @I_vINVINDX = 0<br> BEGIN<br> SELECT<br> @I_vINVINDX = INVINDX<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> IF @I_vINVINDX <> 0<br> BEGIN<br> SELECT<br> @TOOKACCTOFFPOORPASSED = 1<br> END<br> END<br> IF @I_vINVINDX = 0<br> BEGIN<br> SELECT<br> @I_vINVINDX = @INVINDX<br> END<br> IF @I_vINVINDX = 0<br> BEGIN<br> SELECT<br> @I_vINVINDX = ACTINDX<br> FROM SY01100(nolock)<br> WHERE SERIES = 5<br> AND SEQNUMBR = 100<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> IF @I_vITEMDESC IS NULL<br> BEGIN<br> SELECT<br> @I_vITEMDESC = @ITEMDESC<br> END<br> IF @I_vITEMDESC = ''<br> BEGIN<br> SELECT<br> @I_vITEMDESC = @I_vVNDITDSC<br> END<br> IF @I_vVNDITDSC = ''<br> BEGIN<br> SELECT<br> @I_vVNDITDSC = @VNDITDSC<br> END<br> IF @I_vINVINDX = 0<br> BEGIN<br> SELECT<br> @I_vINVINDX = @INVINDX<br> IF (@I_vINVINDX = 0)<br> AND (@I_vCostCatID = '')<br> BEGIN<br> SELECT<br> @I_vINVINDX = PMPRCHIX<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> END<br> ELSE<br> BEGIN<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@I_vPOLNENUM <> '')<br> BEGIN<br> SELECT<br> @I_vINVINDX = INVINDX<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> END<br> ELSE<br> BEGIN<br> IF (@PAProjectType = 3)<br> BEGIN<br> SELECT<br> @I_vINVINDX = PAACTINDX<br> FROM PA43001(nolock)<br> WHERE PAsfid = 26<br> AND PArecordid = @I_vCostCatID<br> AND PAaccttype = 30<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @I_vINVINDX = PAACTINDX<br> FROM PA43001(nolock)<br> WHERE PAsfid = 26<br> AND PArecordid = @I_vCostCatID<br> AND PAaccttype = 1<br> END<br> END<br> END<br> END<br> END<br> END<br> IF (@ITEMTYPE = 3)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9337<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> SELECT<br> @SITEINACTIVE = INACTIVE<br> FROM IV40700(nolock)<br> WHERE LOCNCODE = @I_vLOCNCODE<br> SELECT<br> @ITEMSITEINACTIVE = INACTIVE<br> FROM IV00102(nolock)<br> WHERE (ITEMNMBR = @I_vITEMNMBR<br> AND LOCNCODE = @I_vLOCNCODE)<br> IF (@I_vLOCNCODE <> ''<br> AND @SITEINACTIVE = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 11819<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vLOCNCODE <> ''<br> AND @I_vITEMNMBR <> ''<br> AND @ITEMSITEINACTIVE = 1)<br> BEGIN<br> SELECT<br> @O_iErrorState = 11820<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vInventoryAccount <> '')<br> BEGIN<br> SELECT<br> @I_vINVINDX = 0<br> SELECT<br> @I_vINVINDX = ACTINDX<br> FROM GL00105(nolock)<br> WHERE ACTNUMST = @I_vInventoryAccount<br> IF (@I_vINVINDX = 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 446<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF NOT EXISTS (SELECT<br> 1<br> FROM GL00105(nolock)<br> WHERE ACTINDX = @I_vINVINDX)<br> BEGIN<br> SELECT<br> @O_iErrorState = 4612<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vUNITCOST < 0)<br> OR (@I_vUNITCOST IS NULL<br> AND @I_vAUTOCOST = 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8052<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@ISMCTRX = 0)<br> BEGIN<br> IF (EXISTS (SELECT DISTINCT<br> 1<br> FROM IV00105(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR)<br> )<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM IV00105(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND CURNCYID <> '')<br> )<br> BEGIN<br> SELECT<br> @MCINSTALLED = 0<br> END<br> END<br> ELSE<br> BEGIN<br> IF ((NOT EXISTS (SELECT TOP 1<br> CURNCYID<br> FROM IV00105(nolock)<br> WHERE CURNCYID <> '')<br> )<br> AND (NOT EXISTS (SELECT TOP 1<br> CURNCYID<br> FROM CM00100(nolock)<br> WHERE CURNCYID <> '')<br> ))<br> BEGIN<br> SELECT<br> @MCINSTALLED = 0<br> END<br> END<br> END<br> IF (@I_vNONINVEN = 0)<br> BEGIN<br> IF (@ISMCTRX = 1)<br> BEGIN<br> SELECT<br> @DECPLCURItem = DECPLCUR - 1,<br> @ODECPLCU = DECPLCUR - 1,<br> @LISTPRCE = LISTPRCE<br> FROM IV00105(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND CURNCYID = @I_vCURNCYID<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @DECPLCURItem = DECPLCUR - 1,<br> @ODECPLCU = DECPLCUR - 1,<br> @LISTPRCE = LISTPRCE<br> FROM IV00105(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND (CURNCYID = ''<br> OR CURNCYID = @I_vCURNCYID)<br> END<br> END<br> ELSE<br> BEGIN<br> IF (@MCINSTALLED = 0)<br> BEGIN<br> SELECT<br> @DECPLCURItem = DECPLCUR - 1<br> FROM POP40100(nolock)<br> WHERE INDEX1 = 1<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @DECPLCURItem = DECPLCUR - 1<br> FROM POP40600(nolock)<br> WHERE CURNCYID = @I_vCURNCYID<br> END<br> END<br> IF (@ISMCTRX = 1)<br> BEGIN<br> SELECT<br> @EDITDECPLCUR = DECPLCUR - 1<br> FROM DYNAMICS..MC40200(nolock)<br> WHERE CURNCYID = @I_vCURNCYID<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @EDITDECPLCUR = @FUNDECPLCUR<br> END<br> IF (@I_vPONUMBER = '')<br> BEGIN<br> SELECT<br> @ORUNTCST = ROUND((@ORUNTCST * @UMQTYINB), @DECPLCURItem)<br> END<br> IF (@I_vUNITCOST IS NULL<br> OR @I_vUNITCOST = 0)<br> AND (@I_vAUTOCOST = 1)<br> BEGIN<br> SELECT<br> @I_vUNITCOST = @ORUNTCST<br> END<br> IF (@I_vAUTOCOST = 0)<br> BEGIN<br> IF @I_vEXTDCOST IS NULL<br> BEGIN<br> SELECT<br> @I_vEXTDCOST =<br> CASE<br> WHEN @I_vPOPTYPE = 1 THEN ROUND((@I_vUNITCOST) * @I_vQTYSHPPD, @EDITDECPLCUR)<br> ELSE ROUND((@I_vUNITCOST) * @I_vQTYINVCD, @EDITDECPLCUR)<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PassedExtCost = 1<br> END<br> IF ((@I_vQTYSHPPD = 0)<br> AND (@I_vPOPTYPE = 1))<br> BEGIN<br> IF (@I_vEXTDCOST > 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 5446<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF ((@I_vQTYINVCD = 0)<br> AND (@I_vPOPTYPE = 3))<br> BEGIN<br> IF (@I_vEXTDCOST > 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 7993<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF ((@I_vPOPTYPE = 1)<br> AND (@I_vQTYSHPPD <> 0))<br> BEGIN<br> IF ((ROUND(ABS((@I_vUNITCOST) - ROUND((@I_vEXTDCOST / @I_vQTYSHPPD), @DECPLCURItem)) * @I_vQTYSHPPD, @EDITDECPLCUR)) <> 0)<br> BEGIN<br> IF ((ROUND(ABS(ROUND((@I_vUNITCOST) * @I_vQTYSHPPD, @EDITDECPLCUR) - @I_vEXTDCOST) * @I_vQTYSHPPD, @EDITDECPLCUR)) <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2057<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> IF ((@I_vPOPTYPE = 3)<br> AND (@I_vQTYINVCD <> 0))<br> BEGIN<br> IF ((ROUND(ABS((@I_vUNITCOST) - ROUND((@I_vEXTDCOST / @I_vQTYINVCD), @DECPLCURItem)) * @I_vQTYINVCD, @EDITDECPLCUR)) <> 0)<br> BEGIN<br> IF ((ROUND(ABS(ROUND((@I_vUNITCOST) * @I_vQTYINVCD, @EDITDECPLCUR) - @I_vEXTDCOST) * @I_vQTYINVCD, @EDITDECPLCUR)) <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8051<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> IF (@I_vRCPTLNNM = 0)<br> BEGIN<br> SELECT<br> @I_vRCPTLNNM = ISNULL(MAX(RCPTLNNM), 0) + 16384<br> FROM POP10310(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM<br> END<br> IF EXISTS (SELECT<br> 1<br> FROM POP10310(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM<br> AND RCPTLNNM = @I_vRCPTLNNM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2061<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@I_vQTYINVCD > @I_vQTYSHPPD)<br> AND (@I_vPOPTYPE = 3))<br> BEGIN<br> SELECT<br> @O_iErrorState = 2062<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@I_vQTYINVCD > 0)<br> AND (@I_vPOPTYPE = 1))<br> BEGIN<br> SELECT<br> @O_iErrorState = 734<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF ((@I_vPurchase_IV_Item_Taxable < 1)<br> OR (@I_vPurchase_IV_Item_Taxable > 3))<br> BEGIN<br> SELECT<br> @O_iErrorState = 2045<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF EXISTS (SELECT<br> 1<br> FROM POP10360(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM<br> AND RCPTLNNM = @I_vRCPTLNNM)<br> BEGIN<br> SELECT<br> @I_vPurchase_IV_Item_Taxable = 1<br> END<br> IF (@I_vPurchase_IV_Item_Taxable <> 1)<br> BEGIN<br> SELECT<br> @I_vPurchase_Item_Tax_Schedu = ''<br> END<br> IF (@I_vPurchase_Item_Tax_Schedu <> '')<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM TX00101(nolock)<br> WHERE TAXSCHID = @I_vPurchase_Item_Tax_Schedu)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 833<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vPurchase_Site_Tax_Schedu <> '')<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM TX00101(nolock)<br> WHERE TAXSCHID = @I_vPurchase_Site_Tax_Schedu)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 834<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vLanded_Cost_Group_ID <> '')<br> BEGIN<br> IF (NOT EXISTS (SELECT<br> 1<br> FROM IV41101(nolock)<br> WHERE Landed_Cost_Group_ID = @I_vLanded_Cost_Group_ID)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 837<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> SELECT<br> @SHIPMTHD = ISNULL(SHIPMTHD, '')<br> FROM POP10100(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @VADCDPAD = ISNULL(VADCDPAD, '')<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> SELECT<br> @SHIPMTHD = ISNULL(SHIPMTHD, '')<br> FROM PM00300(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> AND ADRSCODE = @VADCDPAD<br> END<br> IF (@I_vNONINVEN = 1)<br> BEGIN<br> SELECT<br> @PURPVIDX = ISNULL(PURPVIDX, 0)<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> IF (@PURPVIDX = 0)<br> BEGIN<br> SELECT<br> @PURPVIDX = ACTINDX<br> FROM SY01100(nolock)<br> WHERE SERIES = 4<br> AND SEQNUMBR = 1400<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PURPVIDX = ISNULL(PURPVIDX, 0)<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> IF (@PURPVIDX = 0)<br> BEGIN<br> SELECT<br> @PURPVIDX = ACTINDX,<br> @NOACCTONITEM = 1<br> FROM SY01100(nolock)<br> WHERE SERIES = 5<br> AND SEQNUMBR = 1200<br> END<br> END<br> IF (@I_vNONINVEN = 1)<br> BEGIN<br> IF (EXISTS (SELECT<br> ITEMNMBR<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR)<br> )<br> BEGIN<br> SELECT<br> @O_iErrorState = 8162<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> IF (ROUND(@I_vUNITCOST, @DECPLCURItem) <> (@I_vUNITCOST))<br> BEGIN<br> SELECT<br> @O_iErrorState = 7321<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (ROUND(@I_vEXTDCOST, @EDITDECPLCUR) <> (@I_vEXTDCOST))<br> BEGIN<br> SELECT<br> @O_iErrorState = 7322<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@POTYPE IN (1, 3))<br> BEGIN<br> IF (@I_vNONINVEN = 1)<br> BEGIN<br> SELECT<br> @UseQtyOverageTolerance = UseQtyOverageTolerance,<br> @QtyOverTolerancePercent = QtyOverTolerancePercent<br> FROM POP40100(nolock)<br> IF (@UseQtyOverageTolerance = 1<br> AND @QtyOverTolerancePercent > 0)<br> BEGIN<br> SELECT<br> @CurrentQtyShipped = ISNULL(SUM(QTYSHPPD), 0)<br> FROM POP10500(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND POLNENUM = @I_vPOLNENUM<br> SELECT<br> @QtyOnPO = QTYORDER - QTYCANCE<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> SELECT<br> @MaxToleranceAmount = CEILING((CAST(@QtyOverTolerancePercent AS decimal(8, 3)) / 100000 * @QtyOnPO) * POWER(10, @DECPLQTY - 1)) / POWER(10, @DECPLQTY - 1) + @QtyOnPO<br> SELECT<br> @RemainingQtyOnPO = @QtyOnPO - @CurrentQtyShipped<br> IF (@I_vQTYSHPPD + (@QtyOnPO - @RemainingQtyOnPO) >= @MaxToleranceAmount)<br> BEGIN<br> SELECT<br> @O_iErrorState = 11780<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> ELSE<br> IF (@I_vNONINVEN = 0)<br> BEGIN<br> SELECT<br> @UseQtyOverageTolerance = UseQtyOverageTolerance,<br> @QtyOverTolerancePercent = QtyOverTolerancePercent<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> IF (@UseQtyOverageTolerance = 1<br> AND @QtyOverTolerancePercent > 0)<br> BEGIN<br> SELECT<br> @CurrentQtyShipped = ISNULL(SUM(QTYSHPPD), 0)<br> FROM POP10500(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND POLNENUM = @I_vPOLNENUM<br> SELECT<br> @QtyOnPO = QTYORDER - QTYCANCE<br> FROM POP10110(nolock)<br> WHERE PONUMBER = @I_vPONUMBER<br> AND ORD = @I_vPOLNENUM<br> SELECT<br> @MaxToleranceAmount = CEILING((CAST(@QtyOverTolerancePercent AS decimal(8, 3)) / 100000 * @QtyOnPO) * POWER(10, @DECPLQTY - 1)) / POWER(10, @DECPLQTY - 1) + @QtyOnPO<br> SELECT<br> @RemainingQtyOnPO = @QtyOnPO - @CurrentQtyShipped<br> IF (@I_vQTYSHPPD + (@QtyOnPO - @RemainingQtyOnPO) >= @MaxToleranceAmount)<br> BEGIN<br> SELECT<br> @O_iErrorState = 11781<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> IF (@POTYPE = 1)<br> AND (@PROJECTLOADED = 1)<br> AND (@I_vNONINVEN = 0)<br> BEGIN<br> SELECT<br> @PAbllngtype = 3,<br> @PABilling_StatusN = 4<br> END<br> ELSE<br> BEGIN<br> IF (@POTYPE = 2)<br> BEGIN<br> IF (@I_vProjNum <> '<NONE>')<br> BEGIN<br> SELECT<br> @PAbllngtype = PAbllngtype<br> FROM PA01303(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND PALineItemSeq = @PO_PALineItemSeq<br> SELECT<br> @PABilling_StatusN =<br> CASE<br> WHEN @PAbllngtype = 3 THEN 4<br> ELSE 1<br> END<br> IF (@PAProjectType <> 1)<br> BEGIN<br> SELECT<br> @PAbllngtype = 1,<br> @PABilling_StatusN = 5<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PASTAT = 4,<br> @PAbllngtype = 3,<br> @PABILRATE = 0,<br> @PAMARKPERCENT = 0,<br> @PAACREV = 0<br> END<br> END<br> END<br> IF (@I_vPOPTYPE <> 1)<br> BEGIN<br> SELECT<br> @PATOTALOVERH = ROUND((@PAOverhead_Amount + (@PABase_Unit_Cost * (@PAOverheaPercentage / 100))) * @PABase_Qty, 2)<br> END<br> IF (@POTYPE IN (0, 1))<br> AND (@PROJECTLOADED = 1)<br> AND (@I_vNONINVEN = 1)<br> BEGIN<br> IF (@PAProjectType <> 1)<br> BEGIN<br> SELECT<br> @PAbllngtype = 1,<br> @PABilling_StatusN = 5<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PAbllngtype = 1,<br> @PABilling_StatusN = 1<br> END<br> END<br> IF (@I_vNONINVEN = 1)<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> IF NOT EXISTS (SELECT<br> 1<br> FROM PA10702(nolock)<br> WHERE POPTYPE = @I_vPOPTYPE<br> AND PAVIDN = @I_vPOPRCTNM<br> AND RCPTLNNM = @I_vRCPTLNNM)<br> BEGIN<br> IF (@PAviprofittypefrom = 1)<br> AND (@I_vProjNum <> '<NONE>')<br> BEGIN<br> IF @PAProjectType = 1<br> BEGIN<br> IF @PAProfitType = 1<br> BEGIN<br> SELECT<br> @use_billing_rate = 1<br> SELECT<br> @PABILRATE = PAFProfitAmt,<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> END<br> ELSE<br> IF @PAProfitType = 2<br> BEGIN<br> SELECT<br> @use_markup_percentage = 1<br> SELECT<br> @PAMARKPERCENT = PAFProfitPcnt,<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> END<br> ELSE<br> IF @PAProfitType = 8<br> BEGIN<br> SELECT<br> @use_markup_percentage = 0<br> SELECT<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> END<br> END<br> END<br> ELSE<br> IF (@PAviprofittypefrom = 2)<br> BEGIN<br> SELECT<br> @PA00901_PATMProfitType = PATMProfitType,<br> @PABILRATE = PATMProfitAmount,<br> @PAMARKPERCENT = PATMProfitPercent<br> FROM PA00901(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> IF (@PA00901_PATMProfitType <> 0)<br> BEGIN<br> IF @PAProjectType = 1<br> BEGIN<br> IF (@PA00901_PATMProfitType = 1)<br> BEGIN<br> SELECT<br> @use_billing_rate = 1,<br> @PAMARKPERCENT = 0<br> SELECT<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> IF (@PAProfitType = 8<br> AND @PA00901_PATMProfitType = 1<br> AND @PAAcctgMethod = 2)<br> BEGIN<br> SELECT<br> @PABILRATE = 0,<br> @PAProfitType = 1<br> END<br> ELSE<br> BEGIN<br> IF (@PAProfitType = 8<br> AND @PA00901_PATMProfitType = 1<br> AND @PAAcctgMethod = 1)<br> BEGIN<br> SELECT<br> @PAProfitType = 1<br> END<br> END<br> END<br> ELSE<br> IF (@PA00901_PATMProfitType = 2)<br> BEGIN<br> SELECT<br> @use_markup_percentage = 1,<br> @PABILRATE = 0<br> END<br> ELSE<br> IF (@PA00901_PATMProfitType = 8)<br> BEGIN<br> SELECT<br> @use_markup_percentage = 0<br> SELECT<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> END<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PA01001_PATMProfitType = PATMProfitType,<br> @PABILRATE = PATMProfitAmount,<br> @PAMARKPERCENT = PATMProfitPercent<br> FROM PA01001(nolock)<br> WHERE PACOSTCATID = @I_vCostCatID<br> IF @PAProjectType = 1<br> BEGIN<br> SELECT<br> @PAbllngtype = PAbllngtype<br> FROM PA01301(nolock)<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PATU<br> IF @PA01001_PATMProfitType = 1<br> BEGIN<br> SELECT<br> @use_billing_rate = 1,<br> @PAMARKPERCENT = 0<br> END<br> ELSE<br> IF @PA01001_PATMProfitType = 2<br> BEGIN<br> SELECT<br> @use_markup_percentage = 1,<br> @PABILRATE = 0<br> END<br> ELSE<br> IF @PA01001_PATMProfitType = 8<br> BEGIN<br> SELECT<br> @use_markup_percentage = 0<br> END<br> END<br> END<br> END<br> END<br> IF (@PAbllngtype = 1)<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@use_billing_rate = 1)<br> AND (@use_markup_percentage = 0)<br> BEGIN<br> IF (@I_vNONINVEN = 1)<br> OR (@POTYPE = 2)<br> BEGIN<br> SELECT<br> @PAMARKPERCENT = 0<br> SELECT<br> @PAACREV = (@PABILRATE * @I_vQTYSHPPD)<br> END<br> END<br> ELSE<br> IF (@use_billing_rate = 0)<br> AND (@use_markup_percentage = 1)<br> BEGIN<br> IF (@I_vNONINVEN = 1)<br> OR (@POTYPE = 2)<br> BEGIN<br> SELECT<br> @PABILRATE = 0<br> IF (@I_vEXTDCOST IS NOT NULL)<br> BEGIN<br> SELECT<br> @PAACREV = ROUND(@I_vEXTDCOST * (1 + (@PAMARKPERCENT / 100)), @DECPLCUR)<br> END<br> ELSE<br> BEGIN<br> IF (@I_vPOPTYPE = 1)<br> BEGIN<br> SELECT<br> @I_vEXTDCOST = ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> SELECT<br> @PAACREV = ROUND(@I_vEXTDCOST * (1 + (@PAMARKPERCENT / 100)), @DECPLCUR)<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @I_vEXTDCOST = ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> SELECT<br> @PAACREV = ROUND(@I_vEXTDCOST * (1 + (@PAMARKPERCENT / 100)), @DECPLCUR)<br> END<br> END<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PAACREV = 0<br> END<br> IF (@PAACREV <> 0)<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@PAINCPRCHTXPRJCST = 1)<br> BEGIN<br> SELECT<br> @tax_amount = @I_vTAXAMNT<br> END<br> SELECT<br> @PATotalProfit = @PAPostedBillingsN - (@PAShipmentExtCost + @tax_amount)<br> END<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> SELECT<br> @PA_Base_Billing_Rate =<br> CASE<br> WHEN @I_vUOFM <> '' AND<br> (@PABILRATE = 0 OR<br> @UMQTYINB = 0) THEN 0<br> WHEN @I_vUOFM <> '' AND<br> @PABILRATE <> 0 AND<br> @UMQTYINB <> 0 THEN (@PABILRATE / @UMQTYINB)<br> ELSE @PABILRATE<br> END,<br> @PABaseOvhdCost =<br> CASE<br> WHEN @I_vUOFM <> '' AND<br> (@PAOverhead_Amount = 0 OR<br> @UMQTYINB = 0) THEN 0<br> WHEN @I_vUOFM <> '' AND<br> @PAOverhead_Amount <> 0 AND<br> @UMQTYINB <> 0 THEN (@PAOverhead_Amount / @UMQTYINB)<br> ELSE @PAOverhead_Amount<br> END,<br> @PAShipmentExtCost =<br> CASE<br> WHEN (@I_vPOPTYPE = 1 OR<br> @I_vPOPTYPE = 3) THEN (@I_vQTYSHPPD * @I_vUNITCOST)<br> ELSE 0<br> END<br> END<br> IF (@I_vCostCatID <> '<NONE>')<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@PAProjectType = 1)<br> OR (@I_vProjNum = '<NONE>')<br> BEGIN<br> IF ((@I_vPOPTYPE = 1)<br> AND (@PO_PAIV_Item_Checkbox = 0))<br> OR ((@I_vPOPTYPE <> 1)<br> AND (@PO_PAIV_Item_Checkbox = 0))<br> OR ((@I_vPOPTYPE <> 1)<br> AND (@PO_PAIV_Item_Checkbox = 1)<br> AND (@POTYPE = 2))<br> BEGIN<br> IF (@PAAcctgMethod = 1)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 2,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PO_PACogs_Idx OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8184<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> ELSE<br> IF (@PAAcctgMethod = 2)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 1,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PACGBWIPIDX OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8185<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PACGBWIPIDX = 0)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 2,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PO_PACogs_Idx OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8186<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> IF (@PO_PACogs_Idx = 0)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 2,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PO_PACogs_Idx OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8187<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@PAAcctgMethod <> 2)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 4,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PAUnbilled_AR_Idx OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8188<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PAUnbilled_AR_Idx <> 0)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 5,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PAUnbilled_Proj_Rev_Idx OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8189<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@PAUnbilled_Proj_Rev_Idx = 0)<br> SELECT<br> @PAUnbilled_AR_Idx = 0<br> END<br> END<br> IF (@PO_PAIV_Item_Checkbox <> 1)<br> BEGIN<br> IF (@I_vPOPTYPE <> 1)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 3,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PAContra_Account_IDX OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8190<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> IF (@PACGBWIPIDX = 0)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 30,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PACGBWIPIDX OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF ((@O_oErrorState = 2055)<br> OR (@iStatus = 2055))<br> AND (@PO_PAIV_Item_Checkbox = 1)<br> SELECT<br> @O_oErrorState = 0,<br> @iStatus = 0<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8191<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF ((@I_vPOPTYPE <> 1)<br> AND (@PO_PAIV_Item_Checkbox = 0))<br> BEGIN<br> IF (@PACGBWIPIDX <> 0)<br> BEGIN<br> IF (@PAContra_Account_IDX = 0)<br> BEGIN<br> EXEC @iStatus = taPAAuxAcctsGetIdx @I_vPAPROJNUMBER = @I_vProjNum,<br> @I_vPACOSTCATID = @I_vCostCatID,<br> @I_vEMPLOYID = @I_vVENDORID,<br> @I_vPATU = 4,<br> @I_vPAcosttrxid = 'VI',<br> @I_vTYPE = 31,<br> @I_vCUSTNMBR = @CUSTNMBR,<br> @I_vPACONTNUMBER = @PACONTNUMBER,<br> @O_iINDEX = @PAContra_Account_IDX OUTPUT,<br> @O_iErrorState = @O_oErrorState OUTPUT<br> SELECT<br> @iError = @@error<br> IF @iStatus = 0<br> AND @iError <> 0<br> SELECT<br> @iStatus = @iError<br> IF (@iStatus <> 0)<br> OR (@O_oErrorState <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8192<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> END<br> END<br> END<br> IF (@PO_PACGBWIPIDX = 0)<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> SELECT<br> @PO_PACGBWIPIDX = @PACGBWIPIDX<br> END<br> IF (@I_vNONINVEN = 1)<br> AND (@PROJECTLOADED = 1)<br> BEGIN<br> IF (@I_vProjNum <> '<NONE>')<br> AND (@I_vCostCatID <> '<NONE>')<br> BEGIN<br> IF (@PAAcctgMethod = 1)<br> BEGIN<br> SELECT<br> @PO_INVINDX = @PO_PACogs_Idx<br> END<br> ELSE<br> BEGIN<br> IF (@PACGBWIPIDX = 0)<br> BEGIN<br> SELECT<br> @PO_INVINDX = @PACGBWIPIDX<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PO_INVINDX = @PO_PACogs_Idx<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @PO_INVINDX = PMPRCHIX<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> END<br> END<br> IF (@PROJECTLOADED = 1)<br> AND (@I_vCostCatID <> '')<br> AND (@I_vNONINVEN = 1)<br> BEGIN<br> SELECT<br> @PADECPLQTY = DECPLQTY<br> FROM PA01001(nolock)<br> WHERE PACOSTCATID = @I_vCostCatID<br> END<br> IF (@PROJECTLOADED = 1)<br> AND (@I_vNONINVEN = 0)<br> BEGIN<br> IF ((@PAContra_Account_IDX = 0)<br> AND (@I_vPOPTYPE = 3))<br> BEGIN<br> SELECT<br> @PAContra_Account_IDX = PMAPINDX<br> FROM PM00200(nolock)<br> WHERE VENDORID = @I_vVENDORID<br> END<br> IF ((@PAContra_Account_IDX = 0)<br> AND (@I_vPOPTYPE = 3))<br> BEGIN<br> SELECT<br> @PAContra_Account_IDX = ACTINDX<br> FROM SY01100(nolock)<br> WHERE SERIES = 5<br> AND SEQNUMBR = 200<br> END<br> END<br> IF (@PROJECTLOADED = 1)<br> BEGIN<br> SELECT<br> @UOFMBASE = BASEUOFM<br> FROM IV40201(nolock)<br> WHERE UOMSCHDL = @UOMSCHDL<br> SELECT<br> @QTYBSUOM = QTYBSUOM<br> FROM IV40202(nolock)<br> WHERE UOMSCHDL = @UOMSCHDL<br> AND EQUIVUOM = @UOFMBASE<br> AND UOFM = @I_vUOFM<br> SELECT<br> @PABILRATE =<br> CASE<br> WHEN @PRICMTHD = 1 THEN ISNULL(UOMPRICE, 0)<br> WHEN @PRICMTHD = 2 THEN ISNULL(ROUND((@LISTPRCE * @QTYBSUOM) * (UOMPRICE / 100), @DECPLCURItem), 0)<br> WHEN @PRICMTHD = 3 THEN ISNULL(ROUND((@CURRCOST * @QTYBSUOM) * (1 + (UOMPRICE / 100)), @DECPLCURItem), 0)<br> WHEN @PRICMTHD = 4 THEN ISNULL(ROUND((@STNDCOST * @QTYBSUOM) * (1 + (UOMPRICE / 100)), @DECPLCURItem), 0)<br> WHEN @PRICMTHD = 5 THEN ISNULL(ROUND((@CURRCOST * @QTYBSUOM) / (1 - (UOMPRICE / 100)), @DECPLCURItem), 0)<br> WHEN @PRICMTHD = 6 THEN ISNULL(ROUND((@STNDCOST * @QTYBSUOM) / (1 - (UOMPRICE / 100)), @DECPLCURItem), 0)<br> ELSE 0<br> END<br> FROM IV00108(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND CURNCYID = @CURNCYID<br> AND PRCLEVEL = @PO_PRICELVL<br> AND UOFM = @I_vUOFM<br> AND QTYBSUOM = @QTYBSUOM<br> AND FROMQTY <= @I_vQTYSHPPD<br> AND TOQTY >= @I_vQTYSHPPD<br> END<br> SELECT<br> @RNDGAMNT = ISNULL(RNDGAMNT, 0),<br> @ROUNDHOW = ISNULL(ROUNDHOW, 0),<br> @ROUNDTO = ISNULL(ROUNDTO, 0)<br> FROM IV00107(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> AND CURNCYID = @CURNCYID<br> AND PRCLEVEL = @PO_PRICELVL<br> AND UOFM = @I_vUOFM<br> AND QTYBSUOM = @QTYBSUOM<br> IF (@ROUNDTO > 1<br> AND @ROUNDTO < 5)<br> BEGIN<br> EXEC @iStatus = taPricingGetRoundPrice @ROUNDTO,<br> @ROUNDHOW,<br> @RNDGAMNT,<br> @PABILRATE OUTPUT<br> SELECT<br> @iError = @@error<br> IF (@iError <> 0)<br> OR (@iStatus <> 0)<br> BEGIN<br> IF (@iStatus <> 0)<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + @iStatus<br> END<br> SELECT<br> @O_iErrorState = 8182<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> IF (@I_vRequesterTrx = 0)<br> BEGIN<br> EXEC @iStatus = eConnectOutVerify @I_vDOCTYPE = 'PO_Receiving_Transaction',<br> @I_vINDEX1 = @I_vPOPRCTNM,<br> @I_vINDEX2 = '',<br> @I_vINDEX3 = '',<br> @I_vINDEX4 = '',<br> @I_vINDEX5 = '',<br> @I_vINDEX6 = '',<br> @I_vINDEX7 = '',<br> @I_vINDEX8 = '',<br> @I_vINDEX9 = '',<br> @I_vINDEX10 = '',<br> @I_vINDEX11 = '',<br> @I_vINDEX12 = '',<br> @I_vINDEX13 = '',<br> @I_vINDEX14 = '',<br> @I_vINDEX15 = '',<br> @I_vDelete = 0,<br> @O_iErrorState = @iCustomState OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus = 0)<br> AND (@iError <> 0))<br> BEGIN<br> SELECT<br> @iStatus = @iError<br> END<br> IF ((@iStatus <> 0)<br> OR (@iCustomState <> 0))<br> BEGIN<br> SELECT<br> @O_iErrorState = 1289<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> SELECT<br> @MAXSEG = MAX(SGMTNUMB)<br> FROM SY00300(nolock)<br> SELECT<br> @Location_Segment = ISNULL(Location_Segment, '')<br> FROM IV40700(nolock)<br> WHERE LOCNCODE = @I_vLOCNCODE<br> SELECT<br> @ACSGFLOC = ACSGFLOC,<br> @ENABLEMULTIBIN = ENABLEMULTIBIN<br> FROM IV40100(nolock)<br> WHERE SETUPKEY = 1<br> IF ((@I_vINVINDX <> 0)<br> AND (@Location_Segment <> '')<br> AND (@ACSGFLOC <> 0)<br> AND (@TOOKACCTOFFPOORPASSED = 0))<br> BEGIN<br> SELECT<br> @ACCNT_STRING = ''<br> SELECT<br> @ACCNT_STRING = ACTNUMST<br> FROM GL00105(nolock)<br> WHERE ACTINDX = @I_vINVINDX<br> IF (@ACSGFLOC < @MAXSEG)<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB >= @ACSGFLOC<br> SELECT<br> @LOFSGMNTEND = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB > @ACSGFLOC<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB = @ACSGFLOC<br> END<br> SELECT<br> @LOFSGMNTALL = SUM(LOFSGMNT) + (@MAXSEG - 1)<br> FROM SY00300(nolock)<br> IF (@ACSGFLOC = @MAXSEG)<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment))<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment)) + SUBSTRING(@ACCNT_STRING, @LOFSGMNTALL - @LOFSGMNTEND + 1, @LOFSGMNTALL)<br> END<br> SELECT<br> @ACTINDX = ISNULL(ACTINDX, 0)<br> FROM GL00105(nolock)<br> WHERE ACTNUMST = @NEW_ACCNT_STRING<br> IF (@ACTINDX <> 0)<br> BEGIN<br> SELECT<br> @ACTIVE = ACTIVE<br> FROM GL00100(nolock)<br> WHERE ACTINDX = @ACTINDX<br> END<br> IF (@ACTINDX <> 0)<br> AND (@ACTIVE = 1)<br> BEGIN<br> SELECT<br> @I_vINVINDX = @ACTINDX<br> END<br> END<br> IF ((@PURPVIDX <> 0)<br> AND (@Location_Segment <> '')<br> AND (@ACSGFLOC <> 0)<br> AND (@TOOKACCTOFFPOORPASSED = 1)<br> AND (@NOACCTONITEM = 0))<br> BEGIN<br> SELECT<br> @ACCNT_STRING = ''<br> SELECT<br> @ACTINDX = 0<br> SELECT<br> @ACCNT_STRING = ACTNUMST<br> FROM GL00105(nolock)<br> WHERE ACTINDX = @PURPVIDX<br> IF (@ACSGFLOC < @MAXSEG)<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB >= @ACSGFLOC<br> SELECT<br> @LOFSGMNTEND = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB > @ACSGFLOC<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB = @ACSGFLOC<br> END<br> SELECT<br> @LOFSGMNTALL = SUM(LOFSGMNT) + (@MAXSEG - 1)<br> FROM SY00300(nolock)<br> IF (@ACSGFLOC = @MAXSEG)<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment))<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment)) + SUBSTRING(@ACCNT_STRING, @LOFSGMNTALL - @LOFSGMNTEND + 1, @LOFSGMNTALL)<br> END<br> SELECT<br> @ACTINDX = ISNULL(ACTINDX, 0)<br> FROM GL00105(nolock)<br> WHERE ACTNUMST = @NEW_ACCNT_STRING<br> IF (@ACTINDX <> 0)<br> BEGIN<br> SELECT<br> @PURPVIDX = @ACTINDX<br> END<br> END<br> IF ((@UPPVIDX <> 0)<br> AND (@Location_Segment <> '')<br> AND (@ACSGFLOC <> 0)<br> AND (@TOOKACCTOFFPOORPASSED = 1)<br> AND (@NOACCTONITEM = 0))<br> BEGIN<br> SELECT<br> @ACCNT_STRING = ''<br> SELECT<br> @ACTINDX = 0<br> SELECT<br> @ACCNT_STRING = ACTNUMST<br> FROM GL00105(nolock)<br> WHERE ACTINDX = @UPPVIDX<br> IF (@ACSGFLOC < @MAXSEG)<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB >= @ACSGFLOC<br> SELECT<br> @LOFSGMNTEND = SUM(LOFSGMNT) + (@MAXSEG - @ACSGFLOC)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB > @ACSGFLOC<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @LOFSGMNT = SUM(LOFSGMNT)<br> FROM SY00300(nolock)<br> WHERE SGMTNUMB = @ACSGFLOC<br> END<br> SELECT<br> @LOFSGMNTALL = SUM(LOFSGMNT) + (@MAXSEG - 1)<br> FROM SY00300(nolock)<br> IF (@ACSGFLOC = @MAXSEG)<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment))<br> END<br> ELSE<br> BEGIN<br> SELECT<br> @NEW_ACCNT_STRING = SUBSTRING(@ACCNT_STRING, 1, @LOFSGMNTALL - @LOFSGMNT) + RTRIM(LTRIM(@Location_Segment)) + SUBSTRING(@ACCNT_STRING, @LOFSGMNTALL - @LOFSGMNTEND + 1, @LOFSGMNTALL)<br> END<br> SELECT<br> @ACTINDX = ISNULL(ACTINDX, 0)<br> FROM GL00105(nolock)<br> WHERE ACTNUMST = @NEW_ACCNT_STRING<br> IF (@ACTINDX <> 0)<br> BEGIN<br> SELECT<br> @UPPVIDX = @ACTINDX<br> END<br> END<br> SELECT<br> @RcptLineNoteIDArray_1 = NOTEINDX<br> FROM IV00101(nolock)<br> WHERE ITEMNMBR = @I_vITEMNMBR<br> SELECT<br> @RcptLineNoteIDArray_2 = NOTEINDX<br> FROM IV40700(nolock)<br> WHERE LOCNCODE = @I_vLOCNCODE<br> SELECT<br> @RcptLineNoteIDArray_3 = ISNULL(NOTEINDX, 0)<br> FROM GL00100(nolock)<br> WHERE ACTINDX = @I_vINVINDX<br> SELECT<br> @RcptLineNoteIDArray_4 = 0<br> SELECT<br> @RcptLineNoteIDArray_5 = 0<br> SELECT<br> @RcptLineNoteIDArray_6 = NOTEINDX<br> FROM TX00101(nolock)<br> WHERE TAXSCHID = @I_vPurchase_Item_Tax_Schedu<br> SELECT<br> @RcptLineNoteIDArray_7 = NOTEINDX<br> FROM TX00101(nolock)<br> WHERE TAXSCHID = @I_vPurchase_Site_Tax_Schedu<br> SELECT<br> @RcptLineNoteIDArray_8 = NOTEINDX<br> FROM IV41101(nolock)<br> WHERE Landed_Cost_Group_ID = @I_vLanded_Cost_Group_ID<br> IF (@O_iErrorState <> 0)<br> BEGIN<br> RETURN (@O_iErrorState)<br> END<br> WHILE (1 = 1)<br> BEGIN<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> UPDATE POP10100<br> SET REMSUBTO = ROUND(OREMSUBT - ROUND((@ORUNTCST * @I_vQTYINVCD), @EDITDECPLCUR), @EDITDECPLCUR),<br> OREMSUBT = ROUND(OREMSUBT - ROUND((@ORUNTCST * @I_vQTYINVCD), @EDITDECPLCUR), @EDITDECPLCUR)<br> WHERE PONUMBER = @I_vPONUMBER<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9379<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> INSERT POP10310 (POPRCTNM, RCPTLNNM, PONUMBER, ITEMNMBR, ITEMDESC, VNDITNUM, VNDITDSC, UMQTYINB, ACTLSHIP, COMMNTID, INVINDX, UOFM, UNITCOST, EXTDCOST, LOCNCODE, RcptLineNoteIDArray_1, RcptLineNoteIDArray_2, RcptLineNoteIDArray_3, RcptLineNoteIDArray_4, RcptLineNoteIDArray_5, RcptLineNoteIDArray_6, RcptLineNoteIDArray_7, RcptLineNoteIDArray_8, NONINVEN, DECPLCUR, DECPLQTY, ITMTRKOP, VCTNMTHD, TRXSORCE, JOBNUMBR, COSTCODE, COSTTYPE, CURNCYID, CURRNIDX, RATETPID, XCHGRATE, RATECALC, DENXRATE, ORUNTCST, OREXTCST, ODECPLCU, BOLPRONUMBER, Capital_Item, Product_Indicator, Purchase_IV_Item_Taxable, Purchase_Item_Tax_Schedu, Purchase_Site_Tax_Schedu, BSIVCTTL, TAXAMNT, ORTAXAMT, BCKTXAMT, OBTAXAMT, Revalue_Inventory, Tolerance_Percentage, PURPVIDX, Remaining_AP_Amount, SHIPMTHD, Landed_Cost_Group_ID, Landed_Cost_Warnings, BackoutTradeDiscTax, OrigBackoutTradeDiscTax, Landed_Cost, Invoice_Match, RCPTRETNUM, RCPTRETLNNUM, INVRETNUM, INVRETLNNUM, ISLINEINTRA, ProjNum, CostCatID)<br> SELECT<br> @I_vPOPRCTNM,<br> @I_vRCPTLNNM,<br> @I_vPONUMBER,<br> @I_vITEMNMBR,<br> @I_vITEMDESC,<br> @I_vVNDITNUM,<br> @I_vVNDITDSC,<br> @UMQTYINB,<br> @I_vACTLSHIP,<br> '',<br> @I_vINVINDX,<br> @I_vUOFM,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END,<br> CASE<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 1) OR<br> (@PassedExtCost = 1) THEN @I_vEXTDCOST<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@I_vUNITCOST * @I_vQTYINVCD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @I_vLOCNCODE,<br> @RcptLineNoteIDArray_1,<br> @RcptLineNoteIDArray_2,<br> @RcptLineNoteIDArray_3,<br> @RcptLineNoteIDArray_4,<br> @RcptLineNoteIDArray_5,<br> @RcptLineNoteIDArray_6,<br> @RcptLineNoteIDArray_7,<br> @RcptLineNoteIDArray_8,<br> @I_vNONINVEN,<br> @DECPLCUR,<br> CASE<br> WHEN (@I_vNONINVEN = 1) AND<br> (@PROJECTLOADED = 1) THEN @PADECPLQTY<br> ELSE @DECPLQTY<br> END,<br> @ITMTRKOP,<br> @VCTNMTHD,<br> '',<br> @I_vJOBNUMBR,<br> '',<br> 0,<br> CASE<br> WHEN @MCINSTALLED = 1 THEN @I_vCURNCYID<br> ELSE ''<br> END,<br> CASE<br> WHEN @MCINSTALLED = 1 THEN @CURRNIDX<br> ELSE 0<br> END,<br> '',<br> 0,<br> 0,<br> 0,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END,<br> CASE<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 1) OR<br> (@PassedExtCost = 1) THEN @I_vEXTDCOST<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@I_vUNITCOST * @I_vQTYINVCD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @ODECPLCU,<br> @I_vBOLPRONUMBER,<br> @Capital_Item,<br> 0,<br> @I_vPurchase_IV_Item_Taxable,<br> @I_vPurchase_Item_Tax_Schedu,<br> @I_vPurchase_Site_Tax_Schedu,<br> 0,<br> @I_vTAXAMNT,<br> @I_vTAXAMNT,<br> 0,<br> 0,<br> @Revalue_Inventory,<br> @Tolerance_Percentage,<br> @PURPVIDX,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vEXTDCOST<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @SHIPMTHD,<br> @I_vLanded_Cost_Group_ID,<br> 0,<br> 0,<br> 0,<br> 0,<br> 0,<br> '',<br> 0,<br> '',<br> 0,<br> 0,<br> @I_vProjNum,<br> @I_vCostCatID<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2075<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> INSERT POP10500 (PONUMBER, POLNENUM, POPRCTNM, RCPTLNNM, QTYSHPPD, QTYINVCD, QTYREJ, QTYMATCH, QTYRESERVED, QTYINVRESERVE, Status, UMQTYINB, OLDCUCST, JOBNUMBR, COSTCODE, COSTTYPE, ORCPTCOST, OSTDCOST, APPYTYPE, POPTYPE, VENDORID, ITEMNMBR, UOFM, TRXLOCTN, DATERECD, RCTSEQNM, SPRCTSEQ, PCHRPTCT, SPRCPTCT, OREXTCST, RUPPVAMT, ACPURIDX, INVINDX, UPPVIDX, NOTEINDX, CURNCYID, CURRNIDX, XCHGRATE, RATECALC, DENXRATE, RATETPID, EXGTBLID, Capital_Item, Product_Indicator, Total_Landed_Cost_Amount, QTYTYPE, Posted_LC_PPV_Amount, QTYREPLACED, QTYINVADJ)<br> SELECT<br> @I_vPONUMBER,<br> CASE<br> WHEN (@I_vPONUMBER = '') THEN 0<br> ELSE @I_vPOLNENUM<br> END,<br> @I_vPOPRCTNM,<br> @I_vRCPTLNNM,<br> @I_vQTYSHPPD,<br> @I_vQTYINVCD,<br> 0,<br> 0,<br> 0,<br> 0,<br> 0,<br> @UMQTYINB,<br> @OLDCUCST,<br> @JOBNUMBR,<br> '',<br> 0,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END,<br> @STNDCOST,<br> 1,<br> @I_vPOPTYPE,<br> @I_vVENDORID,<br> @I_vITEMNMBR,<br> @UOFM,<br> @I_vLOCNCODE,<br> '',<br> 0,<br> 0,<br> 0,<br> 0,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN ROUND(@I_vUNITCOST * (@I_vQTYSHPPD - @I_vQTYINVCD), @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1) THEN ROUND(@ORUNTCST * (@I_vQTYSHPPD - @I_vQTYINVCD), @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @RUPPVAMT,<br> @ACPURIDX,<br> @I_vINVINDX,<br> @UPPVIDX,<br> 0,<br> CASE<br> WHEN @MCINSTALLED = 1 THEN @I_vCURNCYID<br> ELSE ''<br> END,<br> CASE<br> WHEN @MCINSTALLED = 1 THEN @CURRNIDX<br> ELSE 0<br> END,<br> 0,<br> 0,<br> 0,<br> '',<br> '',<br> @Capital_Item,<br> 0,<br> 0,<br> 1,<br> 0,<br> 0,<br> 0<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 2076<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> IF (@I_vProjNum <> '')<br> BEGIN<br> INSERT PA10702 (PAVIDN, RCPTLNNM, PApurordnum, ITEMNMBR, CURRNIDX, DATEVAL, DENXRATE, EXCHDATE, XCHGRATE, EXGTBLID, ITMTSHID, MCTRXSTT, ORD, ORTDISAM, PAAcctgMethod, PAACREV, PA_Base_Billing_Rate, PABaseOvhdCost, PABase_Qty, PABase_Unit_Cost, PAbillnoteidx, PABILRATE, PABilling_StatusN, PAbllngtype, PACBADDFRMFLY, PACHGORDNO, PACogs_Idx, PAContra_Account_IDX, PACONTNUMBER, PACOSTCATID, PACOSTCATNME, PAIV_Item_Checkbox, PALineItemSeq, PAMARKPERCENT, PA_MC_Accrued_Revenue, PA_MC_Base_Billing_Rate, PA_MC_Billing_Rate, PAMCCURNCYID, PA_MC_VarianceAccruedRev, PAORIACCRREV, PAORIGBASEOVRHCST, PAORIGBILLRATE, PAORIGOVHDAMT, PAORIGPROFAMT, PAOrigSEC, PAORIGTOTOVRHD, PAORIGTOTPROF, PAOrigVarExt, PAOverhead_Amount, PAOverhead_IDX, PAOverheaPercentage, PAPO_Line_Errors, PAProfitAmount, PAProfitPercent, PAProfitType, PAPROJNUMBER, PAProjectType, PAPurchase_Tax_Options, PAShipmentExtCost, PATOTALOVERH, PATotalProfit, PATU, PAUnbilled_AR_Idx, PAUnbilled_Proj_Rev_Idx, PAUD1, PAUD2, PA_Variance_Cost, PA_Variance_Accrued_Reve, PA_Variance_QTY_Accrued_, PACGBWIPIDX, POTYPE, POPTYPE, PRICELVL, RATECALC, RATETPID, receiptdate, TIME1, TRDISAMT, UOMSCHDL, VENDORID)<br> SELECT<br> @I_vPOPRCTNM,<br> @I_vRCPTLNNM,<br> @I_vPONUMBER,<br> @I_vITEMNMBR,<br> @PO_CURRNIDX,<br> CASE<br> WHEN @I_vreceiptdate = '' THEN CONVERT(varchar(12), GETDATE())<br> ELSE @I_vreceiptdate<br> END,<br> 0,<br> '',<br> 0,<br> '',<br> CASE<br> WHEN @PAPurchase_Tax_Options <> 1 THEN ''<br> ELSE @PO_ITMTSHID<br> END,<br> 0,<br> @I_vPOLNENUM,<br> @PO_TRDISAMT,<br> @PAAcctgMethod,<br> @PAACREV,<br> @PA_Base_Billing_Rate,<br> @PABaseOvhdCost,<br> @I_vQTYSHPPD,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END,<br> @NOTEINDX,<br> @PABILRATE,<br> CASE<br> WHEN @PAbllngtype = 3 THEN 4<br> ELSE @PABilling_StatusN<br> END,<br> @PAbllngtype,<br> 0,<br> @PO_PACHGORDNO,<br> CASE<br> WHEN @I_vNONINVEN = 1 THEN @PO_PACogs_Idx<br> ELSE @PACogs_Idx<br> END,<br> @PAContra_Account_IDX,<br> @PACONTNUMBER,<br> @I_vCostCatID,<br> @PACOSTCATNME,<br> @PO_PAIV_Item_Checkbox,<br> @PO_PALineItemSeq,<br> @PAMARKPERCENT,<br> @PA_MC_Accrued_Revenue,<br> @PA_MC_Base_Billing_Rate,<br> @PA_MC_Billing_Rate,<br> @PO_CURNCYID,<br> @PA_MC_VarianceAccruedRev,<br> @PAACREV,<br> @PABaseOvhdCost,<br> @PABILRATE,<br> @PAOverhead_Amount,<br> @PAProfitAmount,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @PATOTALOVERH,<br> @PATotalProfit,<br> @PA_Variance_Accrued_Reve,<br> @PAOverhead_Amount,<br> @PAOverhead_IDX,<br> @PAOverheaPercentage,<br> 0,<br> @PAProfitAmount,<br> @PAProfitPercent,<br> @PAProfitType,<br> @I_vProjNum,<br> @PAProjectType,<br> @PAPurchase_Tax_Options,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> @PATOTALOVERH,<br> @PATotalProfit,<br> @PO_PATU,<br> @PAUnbilled_AR_Idx,<br> @PAUnbilled_Proj_Rev_Idx,<br> '',<br> '',<br> @PA_Variance_Cost,<br> @PA_Variance_Accrued_Reve,<br> @PA_Variance_QTY_Accrued_,<br> @PO_PACGBWIPIDX,<br> @POTYPE,<br> @I_vPOPTYPE,<br> @PO_PRICELVL,<br> 0,<br> '',<br> CASE<br> WHEN @I_vreceiptdate = '' THEN CONVERT(varchar(12), GETDATE())<br> ELSE @I_vreceiptdate<br> END,<br> '',<br> @PO_TRDISAMT,<br> @PO_UOMSCHDL,<br> @I_vVENDORID<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 8175<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> INSERT PA10721 (PApurordnum, POLNENUM, PAVIDN, RCPTLNNM, VENDORID, Status, ITEMNMBR, UOFM, APPYTYPE, EXTDCOST, ORUNTCST, PACOSTCATID, PAPROJNUMBER, RCPTCOST, UNITCOST)<br> SELECT<br> @I_vPONUMBER,<br> CASE<br> WHEN (@I_vPONUMBER = '') THEN 0<br> ELSE @I_vPOLNENUM<br> END,<br> @I_vPOPRCTNM,<br> @I_vRCPTLNNM,<br> @I_vVENDORID,<br> @Status,<br> @I_vITEMNMBR,<br> @I_vUOFM,<br> 1,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vEXTDCOST<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> ELSE 0<br> END,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END,<br> @I_vCostCatID,<br> @I_vProjNum,<br> 0,<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN @I_vUNITCOST<br> ELSE @ORUNTCST<br> END<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 8176<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> IF (@I_vProjNum <> '')<br> AND (@I_vCostCatID <> '')<br> AND (@I_vNONINVEN = 1)<br> BEGIN<br> UPDATE PA01301<br> SET PAUnpostedQty = PAUnpostedQty + @I_vQTYSHPPD,<br> PAUnpostedTotalCostN = PAUnpostedTotalCostN + ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR),<br> PAUnpostAccrRevN = PAUnpostAccrRevN + @PAACREV<br> WHERE PAPROJNUMBER = @I_vProjNum<br> AND PACOSTCATID = @I_vCostCatID<br> AND PATU = @PO_PATU<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 10408<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> UPDATE PA01201<br> SET PAUnpostedQty = PAUnpostedQty + @I_vQTYSHPPD,<br> PAUnpostedTotalCostN = PAUnpostedTotalCostN + ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR),<br> PAUnpostAccrRevN = PAUnpostAccrRevN + @PAACREV<br> WHERE PAPROJNUMBER = @I_vProjNum<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 10417<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> UPDATE PA01101<br> SET PAUnpostedQty = PAUnpostedQty + @I_vQTYSHPPD,<br> PAUnpostedTotalCostN = PAUnpostedTotalCostN + ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR),<br> PAUnpostAccrRevN = PAUnpostAccrRevN + @PAACREV<br> WHERE PACONTNUMBER = @PACONTNUMBER<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 10418<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> UPDATE PA00501<br> SET PAUnpostedQty = PAUnpostedQty + @I_vQTYSHPPD,<br> PAUnpostedTotalCostN = PAUnpostedTotalCostN + ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHERE CUSTNMBR = @CUSTNMBR<br> IF @@error <> 0<br> BEGIN<br> SELECT<br> @O_iErrorState = 10419<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> IF ((@ENABLEMULTIBIN = 1)<br> AND (@ITMTRKOP = 1)<br> AND (@I_vAutoAssignBin = 1)<br> AND (@I_vNONINVEN = 0))<br> BEGIN<br> IF EXISTS (SELECT<br> 1<br> FROM POP10340(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM<br> AND ITEMNMBR = @I_vITEMNMBR<br> AND RCPTLNNM = @I_vRCPTLNNM)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9335<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vQTYSHPPD > 0)<br> BEGIN<br> EXEC @iStatus = taPopRcptMultiBin @I_vPOPRCTNM = @I_vPOPRCTNM,<br> @I_vRCPTLNNM = @I_vRCPTLNNM,<br> @I_vITEMNMBR = @I_vITEMNMBR,<br> @I_vBIN = '',<br> @I_vQUANTITY = @I_vQTYSHPPD,<br> @I_vUOFM = @I_vUOFM,<br> @I_vCreateBin = 0,<br> @I_vRequesterTrx = 1,<br> @O_iErrorState = @iCustomState OUTPUT,<br> @oErrString = @iCustomErrString OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@iCustomState <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + @iCustomErrString<br> SELECT<br> @O_iErrorState = 9336<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> END<br> END<br> IF (@ITMTRKOP IN (2, 3))<br> BEGIN<br> SELECT<br> @SERLTQTY = ISNULL(SUM(SERLTQTY), 0)<br> FROM POP10330(nolock)<br> WHERE POPRCTNM = @I_vPOPRCTNM<br> AND RCPTLNNM = @I_vRCPTLNNM<br> IF (ROUND((@I_vQTYSHPPD * @UMQTYINB), (@DECPLQTY - 1)) <> @SERLTQTY)<br> BEGIN<br> SELECT<br> @O_iErrorState = 3389<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> SELECT<br> @I_vEXTDCOST =<br> CASE<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 1) THEN @I_vEXTDCOST<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 0 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@I_vUNITCOST * @I_vQTYINVCD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1 AND<br> @I_vPOPTYPE = 3) THEN ROUND(@ORUNTCST * @I_vQTYINVCD, @EDITDECPLCUR)<br> ELSE 0<br> END<br> IF (@I_vLanded_Cost_Group_ID <> '')<br> BEGIN<br> IF (@I_vreceiptdate = '')<br> BEGIN<br> SELECT<br> @O_iErrorState = 9339<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> DECLARE LCIDS INSENSITIVE CURSOR FOR<br> SELECT<br> Landed_Cost_ID<br> FROM IV41102(nolock)<br> WHERE Landed_Cost_Group_ID = @I_vLanded_Cost_Group_ID<br> ORDER BY Landed_Cost_ID<br> SET NOCOUNT ON<br> OPEN LCIDS<br> SELECT<br> @iCursorError = @@cursor_rows<br> IF @iCursorError = 0<br> BEGIN<br> DEALLOCATE LCIDS<br> END<br> ELSE<br> BEGIN<br> FETCH NEXT FROM LCIDS INTO @Landed_Cost_ID<br> WHILE (@@FETCH_STATUS <> -1)<br> BEGIN<br> IF (@@fetch_status = -2)<br> BEGIN<br> SELECT<br> @O_iErrorState = 9235<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> SELECT<br> @LCCOST =<br> CASE<br> WHEN (@I_vAUTOCOST = 0) THEN ROUND(@I_vUNITCOST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> WHEN (@I_vAUTOCOST = 1) THEN ROUND(@ORUNTCST * @I_vQTYSHPPD, @EDITDECPLCUR)<br> ELSE 0<br> END<br> SELECT<br> @LCLINENUMBER = @LCLINENUMBER + 16384<br> EXEC @iStatus = taPopRcptLandedCost @I_vPOPRCTNM = @I_vPOPRCTNM,<br> @I_vLanded_Cost_ID = @Landed_Cost_ID,<br> @I_vRCPTLNNM = @I_vRCPTLNNM,<br> @I_vLCLINENUMBER = @LCLINENUMBER,<br> @I_vQTYSHPPD = @I_vQTYSHPPD,<br> @I_vEXTDCOST = @LCCOST,<br> @I_vreceiptdate = @I_vreceiptdate,<br> @I_vRequesterTrx = 1,<br> @O_iErrorState = @LandedCostErrState OUTPUT,<br> @oErrString = @LandedCostErrString OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus <> 0)<br> OR (@LandedCostErrState <> 0)<br> OR (@iError <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + @LandedCostErrString<br> SELECT<br> @O_iErrorState = 8050<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> FETCH NEXT FROM LCIDS INTO @Landed_Cost_ID<br> END<br> DEALLOCATE LCIDS<br> END<br> END<br> IF (@I_vPONUMBER <> '')<br> BEGIN<br> IF (@I_vCMMTTEXT <> '')<br> BEGIN<br> IF (EXISTS (SELECT<br> NOTEINDX<br> FROM SY03900(nolock)<br> WHERE NOTEINDX = @POLNEARY_3)<br> )<br> BEGIN<br> UPDATE SY03900<br> SET TXTFIELD = @I_vCMMTTEXT,<br> DATE1 = CONVERT(varchar(12), GETDATE()),<br> TIME1 = SUBSTRING(CONVERT(varchar(25), GETDATE()), 12, 12)<br> WHERE NOTEINDX = @POLNEARY_3<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8272<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> ELSE<br> BEGIN<br> INSERT SY03900 (NOTEINDX, DATE1, TIME1, TXTFIELD)<br> SELECT<br> @POLNEARY_3,<br> CONVERT(varchar(12), GETDATE()),<br> SUBSTRING(CONVERT(varchar(25), GETDATE()), 12, 12),<br> @I_vCMMTTEXT<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8271<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> END<br> ELSE<br> BEGIN<br> IF (@I_vCMMTTEXT = '')<br> BEGIN<br> DELETE SY03900<br> WHERE NOTEINDX = @POLNEARY_3<br> IF (@@error <> 0)<br> BEGIN<br> SELECT<br> @O_iErrorState = 8273<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> BREAK<br> END<br> END<br> END<br> END<br> BREAK<br> END<br> EXEC @iStatus = taPopRcptLineInsertPost @I_vPOPTYPE,<br> @I_vPOPRCTNM,<br> @I_vPONUMBER,<br> @I_vITEMNMBR,<br> @I_vITEMDESC,<br> @I_vVENDORID,<br> @I_vRCPTLNNM,<br> @I_vVNDITNUM,<br> @I_vVNDITDSC,<br> @I_vACTLSHIP,<br> @I_vINVINDX,<br> @I_vInventoryAccount,<br> @I_vUOFM,<br> @I_vUNITCOST,<br> @I_vEXTDCOST,<br> @I_vNONINVEN,<br> @I_vJOBNUMBR,<br> @I_vBOLPRONUMBER,<br> @I_vQTYSHPPD,<br> @I_vQTYINVCD,<br> @I_vAUTOCOST,<br> @I_vPurchase_IV_Item_Taxable,<br> @I_vPurchase_Item_Tax_Schedu,<br> @I_vPurchase_Site_Tax_Schedu,<br> @I_vTAXAMNT,<br> @I_vLanded_Cost_Group_ID,<br> @I_vLOCNCODE,<br> @I_vPOLNENUM,<br> @I_vreceiptdate,<br> @I_vCURNCYID,<br> @I_vProjNum,<br> @I_vCostCatID,<br> @I_vAutoAssignBin,<br> @I_vCMMTTEXT,<br> @I_vRequesterTrx,<br> @I_vUSRDEFND1,<br> @I_vUSRDEFND2,<br> @I_vUSRDEFND3,<br> @I_vUSRDEFND4,<br> @I_vUSRDEFND5,<br> @O_iErrorState = @iCustomState OUTPUT,<br> @oErrString = @iCustomErrString OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus = 0)<br> AND (@iError <> 0))<br> BEGIN<br> SELECT<br> @iStatus = @iError<br> END<br> IF ((@iStatus <> 0)<br> OR (@iCustomState <> 0))<br> BEGIN<br> SELECT<br> @oErrString = RTRIM(@oErrString) + ' ' + LTRIM(RTRIM(@iCustomErrString))<br> SELECT<br> @O_iErrorState = 150<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> END<br> IF (@I_vRequesterTrx = 0)<br> BEGIN<br> EXEC @iStatus = eConnectOutVerify @I_vDOCTYPE = 'PO_Receiving_Transaction',<br> @I_vINDEX1 = @I_vPOPRCTNM,<br> @I_vINDEX2 = '',<br> @I_vINDEX3 = '',<br> @I_vINDEX4 = '',<br> @I_vINDEX5 = '',<br> @I_vINDEX6 = '',<br> @I_vINDEX7 = '',<br> @I_vINDEX8 = '',<br> @I_vINDEX9 = '',<br> @I_vINDEX10 = '',<br> @I_vINDEX11 = '',<br> @I_vINDEX12 = '',<br> @I_vINDEX13 = '',<br> @I_vINDEX14 = '',<br> @I_vINDEX15 = '',<br> @I_vDelete = 1,<br> @O_iErrorState = @iCustomState OUTPUT<br> SELECT<br> @iError = @@error<br> IF ((@iStatus = 0)<br> AND (@iError <> 0))<br> BEGIN<br> SELECT<br> @iStatus = @iError<br> END<br> IF ((@iStatus <> 0)<br> OR (@iCustomState <> 0))<br> BEGIN<br> SELECT<br> @O_iErrorState = 1290<br> EXEC @iStatus = taUpdateString @O_iErrorState,<br> @oErrString,<br> @oErrString OUTPUT,<br> @O_oErrorState OUTPUT<br> RETURN (@O_iErrorState)<br> END<br> END<br> RETURN (@O_iErrorState)<br>GO</em></p></blockquote> <p>Hope that this helps.</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com3tag:blogger.com,1999:blog-2189316327430810286.post-15737248495512465742015-04-05T23:42:00.001-07:002015-04-05T23:42:37.553-07:00[Microsoft][SQL Server Native Client 10.0][SQL Server]A.NET Framework error occurred during execution of user-defined routine or aggregate "GetAssignedUsers". System.IO.FileLoadException: Could not load file or assembly 'System.DirectoryServices<p> </p> <p>Yesterday I have upgraded one of my customers SQL Server from SQL 2008 R2 to SQL 2012, the upgrade went smoothly with now issues, however this morning one of the user reported that they are getting an issue upon using the Requisitions module, below the error:</p> <p><a href="http://lh6.ggpht.com/-qtzERNy6gNw/VSIq16F4tlI/AAAAAAAAEo4/UZZGvGHMILk/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-2Os2cpAWRiw/VSIq2zMBjZI/AAAAAAAAEpA/NWPi6yx1DNE/image_thumb.png?imgmax=800" width="496" height="216"></a> </p> <p>Few researches over the internet returned this <a href="https://community.dynamics.com/gp/f/32/t/138112.aspx?pi50426=2#responses">community discussion</a> and <a href="https://community.dynamics.com/gp/f/32/t/141934.aspx">this one as well</a> about several errors finally turned to be an issue with the SQL Assemblies and in my case was “outdated” assemblies, answered by <a href="https://community.dynamics.com/members/Jonathan-Fear/default.aspx">Jonathan Fear</a> to use the command below against DYNAMICS database and it worked:</p> <p>exec wfDeployClrAssemblies <p>Hope that helps other users!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com2tag:blogger.com,1999:blog-2189316327430810286.post-26236073817897582002015-04-01T07:38:00.001-07:002015-04-01T07:38:03.944-07:00Mahmoud Al Saadi – Dynamics GP MVP!!<p> </p> <p>I am proud to inform you that my colleague “Mahmoud M. Al Saadi” is now Dynamics GP MVP! </p> <p>Well deserved and well expected!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-42818154622094132942015-03-23T03:39:00.001-07:002015-03-23T03:39:43.210-07:00Dynamics GP Analysis Cubes Error: The column "INTERID" cannot be processed because more than one code page (1252 and 1256) are specified for it<p> </p> <p>I am sure if were in the non-English countries, you might need to use code pages other than CP1252 to support your characters, and 1256 would your right choice for example if you been in Arab speaking countries, but this makes a problem when it comes to Analysis Cubes installation.</p> <p>Once you install the Analysis Cubes and finish all wizard issues you feel like things are becoming easy and will proceed to start your job getting your cubes inititalized and then you will be start getting below errors:</p> <blockquote> <p>Results to CompanyMaster Task OLE DB Destination [22] <br>Description: The column "INTERID" cannot be processed because more than one code page (1252 and 1256) are specified for it. <br>End Error <p>Error: 2015-03-23 10:18:58.26 <br>Code: 0xC02020F4 <br>Source: Copy Data from Results to CompanyMaster Task OLE DB Destination [22] <br>Description: The column "CMPNYNAM" cannot be processed because more than one code page (1252 and 1256) are specified for it. <br>End Error <p>Warning: 2015-03-23 10:18:58.26 <br>Code: 0x800470C8 <br>Source: Copy Data from Results to CompanyMaster Task OLE DB Destination [22] <br>Description: The external columns for component "OLE DB Destination" (22) are out of synchronization with the data source columns. The external column "CompanyID" needs to be updated. The external column "CompanyName" needs to be updated. <br>End Warning <p>Error: 2015-03-23 10:18:58.26 <br>Code: 0xC004706B <br>Source: Copy Data from Results to CompanyMaster Task SSIS.Pipeline <br>Description: "component "OLE DB Destination" (22)" failed validation and returned validation status "VS_ISBROKEN". <br>End Error <p>Progress: 2015-03-23 10:18:58.26 <br>Source: Copy Data from Results to CompanyMaster Task <br>Validating: 50% complete <br>End Progress <p>Error: 2015-03-23 10:18:58.26 <br>Code: 0xC004700C <br>Source: Copy Data from Results to CompanyMaster Task SSIS.Pipeline <br>Description: One or more component failed validation. <br>End Error <p>Error: 2015-03-23 10:18:58.26 <br>Code: 0xC0024107 <br>Source: Copy Data from Results to CompanyMaster Task <br>Description: There were errors during task validation. <br>End Error <p>Error: 2015-03-23 10:18:58.26 <br>Code: 0xC00220E4 <br>Source: Run Company <br>Description: Error 0xC0012050 while preparing to load the package. Package failed validation from the ExecutePackage task. The package cannot run. . <br>End Error <p>Warning: 2015-03-23 10:18:58.26 <br>Code: 0x80019002 <br>Source: DynamicsGP_TWO_to_DynamicsGPWarehouse_Package_Master <br>Description: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. <br>The Execution method succeeded, but the number of errors raised (6) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. End Warning DTExec: The package execution returned DTSER_FAILURE (1). <br>Started: 10:18:57 AM <br>Finished: 10:18:58 AM <br>Elapsed: 0.842 seconds. <br>The package execution failed. <br>The step failed.</p></blockquote> <p>Obviously it is all about the first error, different code pages are exist and therefore your data cannot be copied from the production database to the data warehouse, going further with investigations I been able to get around this error by unifying the code page in my packages, and this is by simply allowing a flag in cubes SSIS packages to use the default code page “AlwaysUseDefaultCodePage” to be “True” and your issues will no longer be shown: <p><a href="http://lh6.ggpht.com/-oWk31MT804M/VQ_taFt62KI/AAAAAAAAEnE/JgJjqEVjyOg/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-SvlXPDRZ9Rs/VQ_tbINkpII/AAAAAAAAEnM/d41UUK-fDCY/image_thumb.png?imgmax=800" width="562" height="299"></a> <p>Now the challenge here you need to extract the packages from the MSDB store, to your Visual Studio and perform this change, save your package and re-import this back to your MSDB, this will need to be done to the following packages: <blockquote> <p>DynamicsGP_DynamicsGPWarehouse_FiscalPeriods.dtsx<br>DynamicsGP_DynamicsGPWarehouse_GLBudgets.dtsx<br>DynamicsGP_DynamicsGPWarehouse_GLMDAGroups.dtsx<br>DynamicsGP_DynamicsGPWarehouse_GLMDATransactions.dtsx<br>DynamicsGP_DynamicsGPWarehouse_GLTransactions.dtsx<br>DynamicsGP_DynamicsGPWarehouse_ItemCurrentQuantity.dtsx<br>DynamicsGP_DynamicsGPWarehouse_ItemMaster.dtsx<br>DynamicsGP_DynamicsGPWarehouse_PendingPurchaseOrders.dtsx<br>DynamicsGP_DynamicsGPWarehouse_PendingSalesOrders.dtsx<br>DynamicsGP_DynamicsGPWarehouse_PurchaseOrderDetail.dtsx<br>DynamicsGP_DynamicsGPWarehouse_SalesDetail.dtsx<br>DynamicsGP_DynamicsGPWarehouse_SalesPerson.dtsx<br>DynamicsGP_DynamicsGPWarehouse_SalesTerritory.dtsx<br>DynamicsGP_DynamicsGPWarehouse_TotalExpense.dtsx<br>DynamicsGP_DynamicsGPWarehouse_TotalRevenue.dtsx<br>DynamicsGP_DynamicsGPWarehouse_AgingDetails.dtsx<br>DynamicsGP_DynamicsGPWarehouse_AgingPeriodAmounts.dtsx<br>DynamicsGP_DynamicsGPWarehouse_AgingPeriods.dtsx<br>DynamicsGP_DynamicsGPWarehouse_CheckbookRegister.dtsx<br>DynamicsGP_DynamicsGPWarehouse_CompanyMaster.dtsx</p></blockquote> <p>Luckily, I found a script that makes this easier, it allows you to extract all your SSIS packages from MSDB to file system instead of pulling these one by one, it will save the packages to a folder on your “C:\” drive, and all what you need to do then is copying these to your visual studio and start changing the flag, below the script: <blockquote> <p>;<br>WITH FOLDERS AS<br>(<br> -- Capture root node<br> SELECT<br> cast(PF.foldername AS varchar(max)) AS FolderPath<br> , PF.folderid<br> , PF.parentfolderid<br> , PF.foldername<br> FROM<br> msdb.dbo.sysssispackagefolders PF<br> WHERE<br> PF.parentfolderid IS NULL <p> -- build recursive hierarchy<br> UNION ALL<br> SELECT<br> cast(F.FolderPath + '\' + PF.foldername AS varchar(max)) AS FolderPath<br> , PF.folderid<br> , PF.parentfolderid<br> , PF.foldername<br> FROM<br> msdb.dbo.sysssispackagefolders PF<br> INNER JOIN<br> FOLDERS F<br> ON F.folderid = PF.parentfolderid<br>)<br>, PACKAGES AS<br>(<br> -- pull information about stored SSIS packages<br> SELECT<br> P.name AS PackageName<br> , P.id AS PackageId<br> , P.description as PackageDescription<br> , P.folderid<br> , P.packageFormat<br> , P.packageType<br> , P.vermajor<br> , P.verminor<br> , P.verbuild<br> , suser_sname(P.ownersid) AS ownername<br> FROM<br> msdb.dbo.sysssispackages P<br>)<br>SELECT <br> -- assumes default instance and localhost<br> -- use serverproperty('servername') and serverproperty('instancename') <br> -- if you need to really make this generic<br> 'dtutil /sourceserver localhost /SQL "'+ F.FolderPath + '\' + P.PackageName + '" /copy file;"C:\Packages\' + P.PackageName +'.dtsx"' AS cmd<br>FROM <br> FOLDERS F<br> INNER JOIN<br> PACKAGES P<br> ON P.folderid = F.folderid<br>-- uncomment this if you want to filter out the <br>-- native Data Collector packages<br>-- WHERE<br>-- F.FolderPath <> '\Data Collector' <p></p></blockquote> <p>Once you run this on your SQL Server the result will be set of commands like the below, run these commands using CMD and go to find these in your C:\Packages folder:</p> <p>dtutil /sourceserver SERVERNAME /SQL "\DynamicsGPWarehouse\Package" /copy file;"C:\Packages\Package.dtsx"</p> <p>Execute these over CMD and find your files on C:\ drive, select all and paste the files inside your Visual Studio and start your modifications, once done import back updated packages to SQL Integration Services one by one and rerun your job.</p> <p>Hope that this helps.</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-74281167496250893342015-02-01T04:54:00.001-08:002015-02-03T07:05:45.667-08:00Dynamics GP 2015 – Printing Arabic Text<p>If you are planning to upgrade to GP 2015 and currently having Arabic text in your database need to be printed using report writer, make sure <font color="#ff0000"><strong>NOT TO UPGRADE</strong></font> to GP 2015.</p> <p>Normally for printing Arabic text in report writer, if your keyboard language was not set to Arabic, the text will be displayed as rubbish data, see below example:</p> <p><a href="https://community.dynamics.com/cfs-file.ashx/__key/communityserver-discussions-components-files/32/4113.Untitled.png"><img border="0" alt=" " src="https://community.dynamics.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/32/4113.Untitled.png"></a></p> <p>In order to get this printed properly, we used to switch the keyboard language to Arabic and the text will back to normal as below:</p> <p><a href="https://community.dynamics.com/cfs-file.ashx/__key/communityserver-discussions-components-files/32/0602.km_3B00_.png"><img border="0" alt=" " src="https://community.dynamics.com/resized-image.ashx/__size/550x0/__key/communityserver-discussions-components-files/32/0602.km_3B00_.png"></a></p> <p>However for GP 2015, the system will automatically switch the keyboard language to English upon the generation of the report, and unfortunately the same switch is occurred upon hitting the print button, therefore the Arabic text will never be printed in Arabic and customers will start nagging! </p> <p>Hope that Microsoft could resolve this soon!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com5tag:blogger.com,1999:blog-2189316327430810286.post-16894794672605212012015-01-25T07:27:00.001-08:002015-01-25T07:27:11.707-08:00Receiving Transaction Entry is not Printing – Dynamics GP 2013 R2<p>Got a wired case this morning with one of my customers, they said that “some” receiving’s are not printing and other are working fine!</p> <p>I tried the following:</p> <blockquote> <p>1. Created multiple receiving’s and none caused the issue.</p> <p>2. Compared the printable receiving and non-printable receiving in POP10300 and POP10310 and found them looks the same.</p> <p>3. The user was a power user, not a permission issue.</p> <p>4. The issue occurs on all machines, not a single machine.</p> <p>5. The “shared” dictionaries were fine, tried to delete customizations and the issue remain.</p></blockquote> <p>Finally it turned to be a batch status issue! The batch status were incorrect and reverting that to “0” in SY00500 table fixed the printing.</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-63710582990612592742014-12-07T11:08:00.001-08:002014-12-07T11:08:57.265-08:00Dynamics GP Web Client: Kill all web client sessions<p>A customer has reported an issue with web client that many sessions are open while no body is working, they wanted to kill all these sessions without restarting the server, few researches over the internet returned the following CMD commands that did the trick, just Right Click the cmd.exe and run as administrator, then paste the following commands:</p> <p>Taskkill /F /IM Microsoft.Dynamics.GP.Web.Services.Runtime.Process.exe<br>Taskkill /F /IM conhost.exe <p>Viola! You saved an hour of manually killing these in your task manager or session manager.</p> <p>Note: To make sure that the windows cleans all sessions at night, I saved these commands into Batch.bat file and scheduled this with windows scheduler to run every night 4 AM, so users can find a clear log next morning.</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com3tag:blogger.com,1999:blog-2189316327430810286.post-87080342068933130642014-12-07T11:03:00.001-08:002014-12-07T11:03:03.213-08:00Dynamics GP: You cannot print unauthorized Purchase Order and the Purchase order is not available in the commitment<p>One of my customers reported an issue with their purchase orders after upgrading to Dynamics GP 2013 R2, below the message they got:</p> <p><a href="http://lh3.ggpht.com/-WZP0zFkFMxg/VISkX-nnDHI/AAAAAAAAEew/1bqV6G6AV78/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-5gzh1K7kbrY/VISkZB3kjjI/AAAAAAAAEe4/e-E7nToCHuc/image_thumb.png?imgmax=800" width="504" height="279"></a></p> <p>The customer is using PO Commitment to validates budgets and somehow the purchase order was not available in “CPO10110” table, the script below will fix this for you by taking the record information from POP10110:</p> <blockquote> <p>INSERT INTO [CPO10110]<br> ([PONUMBER]<br> ,[ORD]<br> ,[ACTINDX]<br> ,[REQDATE]<br> ,[VENDORID]<br> ,[APPROVL]<br> ,[Committed_Amount]<br> ,[POLNESTA]<br> ,[QTYCANCE]<br> ,[UNITCOST]<br> ,[PostedSubtotal]) <p>SELECT [PONUMBER]<br> ,[ORD]<br> ,[INVINDX]<br> ,[REQDATE]<br> ,[VENDORID]<br> ,1 AS [APPROVL]<br> ,0 AS [Committed_Amount]<br> ,[POLNESTA]<br> ,[QTYCANCE]<br> ,[UNITCOST]<br> ,[EXTDCOST] AS [PostedSubtotal]<br>FROM POP10110 WHERE PONUMBER = @PONUMBER</p></blockquote> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-5550690339910691512014-12-03T05:44:00.001-08:002014-12-03T06:20:19.683-08:00Dynamics GP 2015 with 120+ enhancements!<p>As promised, Microsoft has released Dynamics GP 2015 on time! 120+ enhancements were introduced, see below the first look into the product:</p> <blockquote> <p><em>Before you plan your upgrade, keep in mind that SQL 2008 is no longer supported, you must upgrade at least to SQL 2012 or later.</em></p></blockquote> <p>1. Icons has been Changed!</p> <p><a href="http://lh5.ggpht.com/-dUMGLNaHST8/VH8MM6AaEaI/AAAAAAAAEds/DspYYKBE40k/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-0piftwmIvnE/VH8MOCxvlrI/AAAAAAAAEd0/sWNZNAu3Qw0/image_thumb.png?imgmax=800" width="309" height="280"></a> </p> <p>2. Login Page has been changed!</p> <p><a href="http://lh4.ggpht.com/-UR53n6jBWFc/VH8MtAFAlNI/AAAAAAAAEd8/V78rkQoBKOA/s1600-h/image5.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-6tmSWZd37gY/VH8TsTDtFRI/AAAAAAAAEeU/lthx4x4ihKk/image_thumb1.png?imgmax=800" width="541" height="356"></a></p> <p> <hr> <p></p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-38871310005333283502014-11-24T01:24:00.001-08:002014-11-24T01:24:16.079-08:00Requisitions Management Purchase – Item Cost Selection<p>One of my customers reported that when they transfer the Purchase Requisition to Purchase Order, the cost they specified in the requisition for their items is not being transferred to the purchase order.</p> <p>Checking the Requisition setup I didn’t find an option to keep the cost of requisition on Purchase Order, only the below options are available:</p> <p><a href="http://lh4.ggpht.com/-7SATW0_F6-w/VHL5NgSvrQI/AAAAAAAAC3M/loLf18R_Ero/s1600-h/image4.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-eVfzxbcQp18/VHL5PeSjIKI/AAAAAAAAC3U/_O7M2j79P-U/image_thumb2.png?imgmax=800" width="452" height="622"></a> </p> <p>For this particular customer, they are not using the “<strong><u>last vendor originating cost</u></strong>”, so I have created a Trigger that updates the field for each update occurs on requisition screen, below the trigger code if anybody is interested.</p> <blockquote><pre class="brush: sql; auto-links: true; collapse: false; first-line: 1; gutter: true; html-script: true; light: false; ruler: true; smart-tabs: true; tab-size: 4; toolbar: true;"><em>CREATE TRIGGER [dbo].[DI_UPDATEITEMCOST]<br />ON [dbo].[POP10210]<br />AFTER INSERT, UPDATE<br />AS<br /><br />DECLARE @ITEMNMBR VARCHAR(500)<br />DECLARE @UNITCOST numeric(18,5)<br />DECLARE CUR CURSOR FOR SELECT ITEMNMBR, UNITCOST FROM INSERTED<br /><br />OPEN CUR<br />FETCH NEXT FROM CUR INTO @ITEMNMBR, @UNITCOST<br /><br />WHILE @@FETCH_STATUS = 0<br />BEGIN<br /><br />UPDATE IV00103 SET Last_Originating_Cost = @UNITCOST WHERE ITEMNMBR = @ITEMNMBR AND @UNITCOST <> 0<br /><br />FETCH NEXT FROM CUR INTO @ITEMNMBR, @UNITCOST<br />END<br />CLOSE CUR<br />DEALLOCATE CUR<br />GO</em><br /><br /></pre></blockquote><br /><hr><br /> <br /><p>Regards, <br /><p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-40455020145669675592014-11-15T22:47:00.001-08:002014-11-15T22:54:05.664-08:00Dynamics GP Purchase Order Workflow: Approver requires A Full User not Limited<p> </p> <p>If you are looking to implement the Purchase Order Workflow, you must keep in mind that limited users <strong><u>will not be able</u></strong> to approve Purchase Orders, user should be FULL user to be able to process orders, I am not sure why Microsoft folks designed it this way but I got one of my customers to purchase additional 5 users to get this implemented!</p> <p>I have requested this enhancement from Microsoft and kindly asking for your votes to get this fixed, below is the article on MS Connect:</p> <p><a title="https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1030936/purchase-order-approval-to-work-with-limited-users" href="https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1030936/purchase-order-approval-to-work-with-limited-users">https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1030936/purchase-order-approval-to-work-with-limited-users</a></p> <p>Happy ordering!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com3tag:blogger.com,1999:blog-2189316327430810286.post-53647447279901299012014-11-14T23:11:00.001-08:002014-11-14T23:11:10.839-08:00Dynamics GP Purchasing - Request for Quotations module<p>Thinking about this subject, can’t find a company who does not follow the standards in their procurement process, everyone brings 3 quotations from 3 different suppliers and selects the best fit from requirements and pricing! </p> <p>I found this process on Connect requested since 2010 with very limited votes! I would kindly ask for your help in voting and getting this scheduled soon, below the description of the product suggestion:</p> <blockquote> <p><em>I think Dynamics GP is one of the few applications in the ERP world that does not have the request for quotation functionality, the process is like this: - RFQ (enter details for items willing to purchase) - Select one or more vendors and the system should print separate RFQ for each (and prepare the system to receive responses from each) - Receive quotes from Vendors and update on system - Compare vendor’s prices against same lines in RFQ - transfer one of the quotes to Purchase order Note: The is the simplest cycle possible and there are many other advanced consideration that can be added later on like: - Issuing PO against more than one vendor quote for same RFQ - Ability to update quotation with new discounts and data maintaining original information and changes (quote version control). - Ability to make the budget commitment from RFQ point rather than PO point (and this will be major advance for the application as most of the people in business or government would like to reserve budget before knowing the vendor and not after like it is currently acquiring in GP) - Specify a minimum number of quotations if the RFQ estimated price is more than a specific value. - Include in GP workflow if possible - Link to specific one or more requisitions created in Business Portal.</em></p></blockquote> <p>Below the link for the connect article:</p> <p><a title="https://connect.microsoft.com/dynamicssuggestions/Feedback/Details/537585" href="https://connect.microsoft.com/dynamicssuggestions/Feedback/Details/537585">https://connect.microsoft.com/dynamicssuggestions/Feedback/Details/537585</a></p> <p>Happy voting!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com1tag:blogger.com,1999:blog-2189316327430810286.post-73515998366034390272014-11-14T23:03:00.001-08:002014-11-14T23:03:59.686-08:00Web Client – Date Fields “Please check and reenter the date”<p>If you are using the web client, you might be going through the message in the subject, this is annoying for users with too many daily transactions!</p> <p><a href="http://lh5.ggpht.com/-73_iXmCNoHo/VGb60rI8qzI/AAAAAAAAC2Y/BE163_pzNSc/s1600-h/image4.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-olUvoKpvgC0/VGb61kj-e4I/AAAAAAAAC2g/wJistiTu2ME/image_thumb2.png?imgmax=800" width="562" height="356"></a> </p> <p>As reported by one of my customers! This issue occurs only when you have the date format with string month (dd-MMM-yy) like the below:</p> <p><a href="http://lh5.ggpht.com/-UNJNCw7DP_s/VGb62AM28II/AAAAAAAAC2o/ekjqjRyKPxE/s1600-h/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-tzJzvV7x8w8/VGb63JtLHsI/AAAAAAAAC2w/YjJIM676XkY/image_thumb3.png?imgmax=800" width="562" height="195"></a> </p> <p>Just make sure that the month is numeric (dd-MM-yyyy) and you will get rid of this message!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-85584137568408049782014-11-11T01:16:00.001-08:002014-11-11T01:16:47.733-08:00No Print for Purchase Requisitions!!<p>When you see the window print button you expect that the information of the window you are on is being printed on a report writer report, and when one of your customers inform you that no action is being taken upon pressing the report you just feel like the user is not aware whats going on and a privileges issue should take place!</p> <p>Well for Purchase Requisition Entry form this is not the case! the window print is not linked to any of the available reports, clicking the button will do nothing and you will feel a little bit confused about what to be done!</p> <p><a href="http://lh4.ggpht.com/-PRBuCR-Pdu4/VGHT8HfeJlI/AAAAAAAAC1s/OQnfVEdYTmA/s1600-h/image3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-pC5itmDkxec/VGHT9bCYG4I/AAAAAAAAC10/qO9ClZ9G8HI/image_thumb1.png?imgmax=800" width="581" height="428"></a> </p> <p>The button indeed does not have a report assigned, but you can design your report on SSRS and link it to this button! Just click the Small Arrow near the print button and hit “Assign Reports”, then select the report you need to link, see the below for clarification:</p> <p><a href="http://lh6.ggpht.com/-4sYfflgOi-Q/VGHT-NXg8EI/AAAAAAAAC18/CRDFbb5cqOo/s1600-h/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-ap65LnMttFo/VGHT_d1FbpI/AAAAAAAAC2E/lfLki-sBdQs/image_thumb3.png?imgmax=800" width="568" height="262"></a></p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com2tag:blogger.com,1999:blog-2189316327430810286.post-36787794850388691852014-11-10T07:05:00.001-08:002014-11-10T07:05:19.143-08:00Workflow 2.0 “OR” Operator not working<p>While working on the Dynamics GP 2013 R2 workflow, I realized that the “OR” operator is not working properly, take a look into the below example:</p> <p>Step 1: Approval By User X --> Only when the Requester is "User 1" OR "User 2"<br>Step 2: Approval By User Y --> Only when the Requester is "User 3" OR "User 4" <p>When you submit the requisition it goes for both User X & User Y, this is for both the Requisition and the Purchase Order as well! <p>I reported this to the connect website, hope they will fix this in the upcoming 2015 release. <p><a title="https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1026359/or-is-not-working-properly-in-dynamics-gp-2013-r2-workflows-po-requisition" href="https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1026359/or-is-not-working-properly-in-dynamics-gp-2013-r2-workflows-po-requisition">https://connect.microsoft.com/dynamicssuggestions/feedbackdetail/view/1026359/or-is-not-working-properly-in-dynamics-gp-2013-r2-workflows-po-requisition</a> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-69501584050193036732014-11-08T01:08:00.001-08:002014-11-08T01:08:27.235-08:00Management Reporter CU10 is available<p>For customers with complicated reports and huge sizes, you need to consider the upgrade to this release of Management Reporter, noticeable improvements has been made to fasten up the report generation process, along with many more features found below:</p> <p><a title="http://blogs.msdn.com/b/dynamics_financial_reporting/archive/2014/09/30/management-reporter-2012-cu-10-now-available.aspx" href="http://blogs.msdn.com/b/dynamics_financial_reporting/archive/2014/09/30/management-reporter-2012-cu-10-now-available.aspx">http://blogs.msdn.com/b/dynamics_financial_reporting/archive/2014/09/30/management-reporter-2012-cu-10-now-available.aspx</a></p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com0tag:blogger.com,1999:blog-2189316327430810286.post-58010255233633833942014-11-06T07:56:00.001-08:002014-11-06T07:56:25.134-08:00Excel to GP – GL Transactions with Analytical Accounting<p>I know Mahmoud M. AlSaadi very well! He is a colleague and friend, I know very well his experience in Excel and SQL, I been watching Mahmoud last few months hardly collecting his experiences to make something and expected the thing to be big, he finally worked out his master piece and it was really amazing finding such a process in Dynamics GP.</p> <p>He has created some refreshable sheets on a workbook that reads data directly from your GP database, and used this to validate a default sheet that represents your new GP GL Transaction Entry! Instead of manually creating transactions with complicated Analytical Accounting information, you just fill the Excel and his tool will automatically generate the macro needed to fill transactions inside GP.</p> <p>Needless to say, it is a free tool that is shared on his blog post below:</p> <p><a title="http://mahmoudsaadi.blogspot.com/2014/11/analytical-accounting-entry-excel-to.html" href="http://mahmoudsaadi.blogspot.com/2014/11/analytical-accounting-entry-excel-to.html">http://mahmoudsaadi.blogspot.com/2014/11/analytical-accounting-entry-excel-to.html</a></p> <p>I would advise you watch the below video and go to the download page to get your copy:</p> <p> <div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:18fb444b-102c-425f-8f59-78aadd2fa7fc" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"><div id="65a7a18c-955c-4589-b66c-5dac7ba52273" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=Z6xSYhF6aew#t=53" target="_new"><img src="http://lh5.ggpht.com/-Dn1BbBMede8/VFuaJqwrnXI/AAAAAAAAC1M/mYIumOrnNlA/video8ebb64ed35c2%25255B2%25255D.jpg?imgmax=800" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('65a7a18c-955c-4589-b66c-5dac7ba52273'); downlevelDiv.innerHTML = "<div><object width=\"425\" height=\"355\"><param name=\"movie\" value=\"http://www.youtube.com/v/Z6xSYhF6aew#t=53&hl=en\"><\/param><embed src=\"http://www.youtube.com/v/Z6xSYhF6aew#t=53&hl=en\" type=\"application/x-shockwave-flash\" width=\"425\" height=\"355\"><\/embed><\/object><\/div>";" alt=""></a></div></div></div></p> <p>I would say good job Mahmoud! Looking to see you with us at the MVPs board soon.</p> <p> <hr> </p> <p> </p> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com2tag:blogger.com,1999:blog-2189316327430810286.post-40521695430846146682014-08-24T04:28:00.001-07:002014-08-24T04:29:41.221-07:00Management Reporter 2012 Process Service Not being Started - The time zone ID 'Jerusalem Standard Time' was not found on the local computer.<p>Few days back I got a very wired case from one of my customers, the reports they are generating are not being processed and locked in the “Queued” state, which normally caused due to the fact that Management Reporter Services are not running, moving to the services I have noticed that the “Management Reporter 2012 Process Service” is not running and unable to be started.</p> <p>I moved to the Event Viewer trying to find the cause of the issue and found the following wired error:</p> <blockquote> <p><font size="1">Service cannot be started. System.<font color="#ff0000">TimeZoneNotFoundException: The time zone ID 'Jerusalem Standard Time' was not found on the local computer.<br></font> at System.TimeZoneInfo.GetTimeZone(String id)<br> at System.TimeZoneInfo.FindSystemTimeZoneById(String id) at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.ExtensionMethods.ToScheduler(Trigger taskTrigger)<br> at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.SchedulerTask.CreateFromDataTask(Task task, Guid schedulerId)<br> at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.LoadTasks()<br> at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.OnHeartbeat()<br> at Microsoft.Dynamics.Common.Scheduler.GenericScheduler.Scheduler.StartScheduler()<br> at Microsoft.Dynamics.Performance.Reporting.Scheduler.SchedulerService.OnStart()<br> at Microsoft.Dynamics.Performance.Common.ServiceComponent.StateChangeHandler(RequestedStateChange requestedState)<br> at Microsoft.Dynamics.Performance.Common.ServiceComponent.<Load>b__0(RequestedStateChange s)<br>...</font></p></blockquote> <p><a href="http://lh5.ggpht.com/-orvuzXSCmYA/U_nMZhPh2iI/AAAAAAAACyU/4mu27goW3aE/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-3QoLleU0N1w/U_nMbUNfr4I/AAAAAAAACyc/rEyHu2GeMAA/image_thumb.png?imgmax=800" width="562" height="324"></a> </p> <p>Tried to search everywhere looking what could cause this with no luck, that was indeed a very wired error that does not have any explanation.</p> <p>I tried to search the web on the location where the windows saves the times zones to see what’s going on and noticed that it is stored in the windows registry under the following path:</p> <blockquote> <p>HKLM\Software\Microsoft\Windows NT\CurrentVersion\Time Zones\</p></blockquote> <p>Tried to find “Jerusalem Standard Time” in the list with no luck, but noticed that there is a new time zone called “Israel Standard Time” that in-fact replaced the “Jerusalem Standard Time”.</p> <p><a href="http://lh6.ggpht.com/-MrebdB5SjCg/U_nMcICA5gI/AAAAAAAACyk/iWS8CZ_2Xo0/s1600-h/image5.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-FewyoRVSLTQ/U_nMc8R5psI/AAAAAAAACys/fs71FuYkZYI/image_thumb1.png?imgmax=800" width="464" height="331"></a></p> <p>I renamed the folder back to “Jerusalem Standard Time” and the service started properly, it looks like folks at Microsoft has changed this for political reasons and forgot to apply the change correctly!</p> <p><a href="http://lh5.ggpht.com/-sVbDvWbe5mw/U_nMmhNlrXI/AAAAAAAACy0/_FziwPinx7U/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; border-bottom: 0px; border-left: 0px; display: inline" border="0" alt="image" src="http://lh5.ggpht.com/-HIkRDAZdrus/U_nMnjFVhNI/AAAAAAAACy8/SPqdUwc-c3A/image_thumb%25255B1%25255D.png?imgmax=800" width="562" height="291"></a> </p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com1tag:blogger.com,1999:blog-2189316327430810286.post-20373350607452456012014-08-13T04:38:00.001-07:002014-08-13T04:38:20.007-07:00ARABIC & ENGLISH Amount in Words for Excel<p>5 years back I have published a script that allows you to view amount in words in Arabic, what we call it “TAFQEET”, the article is published under the following link:</p> <p><a title="http://mohdaoud.blogspot.com/2008/10/convert-numbers-to-arabic-words-tafqeet_5647.html" href="http://mohdaoud.blogspot.com/2008/10/convert-numbers-to-arabic-words-tafqeet_5647.html">http://mohdaoud.blogspot.com/2008/10/convert-numbers-to-arabic-words-tafqeet_5647.html</a></p> <p>I been getting many requests across the years on how to make this works for Excel and my answer was always that you cannot make it as it is an SQL based function and not a VBA.</p> <p>This morning I have see a comment sharing me a video that shows how to make a simple VBA script to achieve the ENGLISH amount in words and the video is below:</p> <p><a href="https://www.youtube.com/watch?v=fYAxYtzBi5A">https://www.youtube.com/watch?v=fYAxYtzBi5A</a></p> <p>Moving forward I decided to make the same for ARABIC language considering that I have a script that works on .NET does the same and all what I need to do is to make this works for Visual Basic for Applications and the result is below:</p> <p>1. Download the function from the following path:</p> <p><a title="http://www.di.jo/files/DI.bas" href="http://www.di.jo/files/DI.bas">http://www.di.jo/files/DI.bas</a></p> <p>If that file was viewed and not downloaded, please right click and click “Save Target AS”.</p> <p>2. Open Excel</p> <p><a href="http://lh5.ggpht.com/-LyIFOAODh_E/U-tOAp-TavI/AAAAAAAACsk/4HqhHN7fV2Q/s1600-h/image4.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-lWDD6avtebI/U-tOBR0mukI/AAAAAAAACss/oMx3GWDtWAk/image_thumb2.png?imgmax=800" width="562" height="466"></a> </p> <p>3. Hit “ALT+F11” to get into the VBA editor</p> <p>4. Right click the Microsoft Excel Objects Folder and click Import File</p> <p><a href="http://lh3.ggpht.com/-W6QP_gMG4jM/U-tOB0lsfXI/AAAAAAAACs0/6pXAtxnu5ng/s1600-h/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-XzNiNfpAqOw/U-tOCuXf9MI/AAAAAAAACs8/VNnHm2RoFQQ/image_thumb3.png?imgmax=800" width="562" height="399"></a> </p> <p></p> <p>5. Select the file you just downloaded “DI.bas” and close the VBA editor.</p> <p><a href="http://lh4.ggpht.com/-80TEm0L7RIs/U-tODfg3egI/AAAAAAAACtE/IFMsyHMCpPQ/s1600-h/image10.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-mc4XqrSfqCc/U-tOEZtJ4UI/AAAAAAAACtM/kMSoNowkX6w/image_thumb4.png?imgmax=800" width="562" height="288"></a> </p> <p>6. Get back to your excel and start typing “=DITAFQEET“ you will see that the function was added to your library and ready to be tested!</p> <p><a href="http://lh5.ggpht.com/-xIIlRBKPL0s/U-tOE4Um1HI/AAAAAAAACtQ/j9Uud1LtM_4/s1600-h/image13.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-dJ312bFy7gM/U-tOFtnTXyI/AAAAAAAACtc/NkD8XzpYLww/image_thumb5.png?imgmax=800" width="413" height="350"></a> </p> <p>7. Viola! Enjoy the below result</p> <p><a href="http://lh3.ggpht.com/-wIH2DRrjTug/U-tOGtLpSlI/AAAAAAAACtk/aM3y1gdgrww/s1600-h/image16.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-I-eFTvrgQGo/U-tOHdeJY2I/AAAAAAAACts/C_wtqSagmj4/image_thumb6.png?imgmax=800" width="562" height="196"></a> </p> <p></p> <p></p> <p>NOTE: upon saving the EXCEL you might be getting the following message:</p> <p><a href="http://lh6.ggpht.com/-P1Ffo3mdRf8/U-tOIL3apWI/AAAAAAAACt0/COB15kIck2c/s1600-h/image19.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-Z7aJ6XUHiyw/U-tOI8upt9I/AAAAAAAACt8/zrUvXu-8D4g/image_thumb7.png?imgmax=800" width="562" height="208"></a> </p> <p>Change the “Save As Type” to “Excel Macro-Enabled Workbook”</p> <p><a href="http://lh4.ggpht.com/-vdvO_wKNOlo/U-tOJpm6J_I/AAAAAAAACuE/RGkpCmyPr2o/s1600-h/image22.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-Auoc4tt9hvY/U-tOKXTuIaI/AAAAAAAACuM/fHq9j9DdYls/image_thumb8.png?imgmax=800" width="562" height="424"></a> </p> <p></p> <p>You can download a ready file from the below link:</p> <p><a title="http://www.di.jo/files/DI%20Tafqeet.zip" href="http://www.di.jo/files/DI%20Tafqeet.zip">http://www.di.jo/files/DI%20Tafqeet.zip</a></p> <p>Enjoy!</p> <hr> <p>Regards, <p>-- <br>Mohammad R. Daoud MVP - MCT <br>MCP, MCBMSP, MCTS, MCBMSS <br>+962 - 79 - 999 65 85 <br><a href="mailto:me@mohdaoud.com">me@mohdaoud.com</a><br><a href="http://www.di.jo/">http://www.di.jo</a></p> Mohammad R. Daoudhttp://www.blogger.com/profile/14714266024830204818noreply@blogger.com29