Great Plains    Dexterity    Dynamics     eEnterprise     Microsoft CRM    Microsoft RMS    Crystal Reports    SQL   .Net    C#      International    Chicago    Illinois    Customizations    Great Plains Programming    Development    Offshore Programming    FRx    ReportWriter    Integration Manager    POS    Upgrade    Data Recovery    Conversion    EDI    Barcoding    SQL    Multicurrency    Microsoft Business Solutions    Great Plains Certified Master    FAQ    Forum    Continuum for VB    Btrieve    Ctree    Pervasive SQL.2000    Great Plains Business Portal    eOrder    eView    eRequisition    Intellisol    Kampdata    Mekorma    Horizon    Wennsoft    Naperville    Schaumburg    Lombard    Hinsdale    Aurora    Rockford    Downers Grove    Brazil    Moscow    Montreal    Mexico    USA    Canada    California

 

Issue

Error - "Your previous transaction-level posting session has not finished processing. Please allow time for it to finish. If you believe it has failed, log out of Dynamics and log back in to recover transactions." occurs when accessing the Sales Transaction Entry window (Transactions | Sales | Sales Trx Entry).

Resolutions

Resolution 1 -
If you are using Btrieve or c-tree.

Try setting up a new User ID in User Setup, Setup | System | User. Delete the old User ID and set up a new one for this user.

Note -
 If the User ID is 'sa', do not delete the user. Call System Manager Technical Support for assistance.

Resolution 2 - If you are using SQL Server.

The main reason this error appears for users is because records get locked in the SY00500, SY00800, or SOP10100 tables. Records will have a Batch Number that is blank or it will actually have the User ID as the Batch Number.

1. Get all users out of eEnterprise and make a backup.

2. In SQL Query Analyzer, run this delete statement on the SY00800 against DYNAMICS database:

    DELETE SY00800

3. Look for the problem records in the SY00500 by running either of these statements against the company database:

     SELECT * from SY00500 where BACHNUMB = ''
     SELECT * from SY00500 where BACHNUMB = 'enter the User ID with error'

4. If you have records returned, delete either of these records from the SY00500:

     DELETE SY00500 where BACHNUMB = ''
     DELETE SY00500 where BACHNUMB ='enter the User ID with error'

5. Find either of these problem records from the SOP10100 table by running the script against the company database:

     SELECT BACHNUMB,* from SOP10100 where BACHNUMB = ''
     SELECT BACHNUMB,* from SOP10100 where BACHNUMB = 'enter the User ID with error'

6. Verify the results and delete the problem records. The error message should not appear when you enter the Sales Transaction Entry window, but it will not bring back the transaction that was posted. You may need to re-enter, or more likely just make sure that it was posted. You may also want to check out the SOP10200 to see if the one of these details is there or not.

     DELETE SOP10100 where BACHNUMB = ''
     DELETE SOP10100 where BACHNUMB = 'enter the User ID with error'

 

Issue


 

The taxes on sales transactions do not seem to be calculating correctly.  How are taxes calculated in Receivables, Sales Order Processing and Invoicing? 


 

Resolution


 

As a general rule, taxes are calculated based on the shipping method assigned to the transaction. 


 

TROUBLESHOOTING TAXES THAT ARE NOT CALCULATING OR ARE CALCULATING INCORRECTLY: 


 

Verify Setup information 

 

 

Issue

What steps need to be taken when a posting interruption occurs while posting a batch in Sales Order Processing?

Resolution

When a posting interruption occurs on a Sales Order Processing batch, the transactions that were posted before the interruption will not have the error message "this transaction has already been posted", on the Edit List/Posting Journal, when posting the batch again. These transactions will post. 001 gets appended to the Document Number and gets posted in RM and GL, resulting in a double posting (since the original document already posted in RM and GL).

Listed below is a diagnostic script to help identify SOP Invoices/Returns that got posted prior to the interruption, so that their information can be validated in RM and GL and if appropriate, removed from the SOP batch before the next posting attempt. This script is only helpful after a posting interruption, but before the batch is posted again. Please see the comments at the beginning of the script for more information.

Execute the following SQL commands against the appropriate Company database using the SQL Query window:

/* Beginning of SOP Diagnostic √ Batch Interruption */

Print 'This is a diagnostic script to help identify SOP documents that posted into RM and GL'
Print 'prior to an SOP posting interruption. RM and GL information on these documents should'
Print 'be verified in RM/GL for completeness, and the transaction removed from the SOP batch if'
Print 'necessary. This does not address Inventory. It is still recommended to restore and'
Print 'post the original batch in its entirety, rather than risk any data issues.'

/* SOP Invoice in RM */

print ' '
print 'Invoice in RM Open:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, RM20101 where
SOPTYPE = 3 and
RMDTYPAL = 1 and
SOPNUMBE = DOCNUMBR

go

/* SOP Invoice unposted in GL */

print ' '
print 'Invoice Unposted in GL:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, GL10001 where
SOPTYPE = 3 and
SOPTYPE = ORTRXTYP and
SOPNUMBE = ORDOCNUM

go

/* SOP Invoice posted in GL */

print ' '
print 'Invoice Posted in GL:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, GL20000 where
SOPTYPE = 3 and
SOPTYPE = ORTRXTYP and
SOPNUMBE = ORDOCNUM

go

/* SOP Return in RM */

print ' '
print 'Return in RM Open:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, RM20101 where
SOPTYPE = 4 and
RMDTYPAL = 8 and
SOPNUMBE = DOCNUMBR

go

/* SOP Return unposted in GL */

print ' '
print 'Return Unposted in GL:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, GL10001 where
SOPTYPE = 4 and
SOPTYPE = ORTRXTYP and
SOPNUMBE = ORDOCNUM

go

/* SOP Return posted in GL */

print ' '
print 'Return Posted in GL:'
select distinct(SOPNUMBE) as 'SOP Document Number' from SOP10100, GL20000 where
SOPTYPE = 4 and
SOPTYPE = ORTRXTYP and
SOPNUMBE = ORDOCNUM

go

/* End of SOP Diagnostic √ Batch Interruption */

 

Question:

The error Transaction Level Posting Has Not Completed appears for a specific user when going into the Sales Transaction Entry window (Transactions - Sales - Sales Trx Entry).  What is causing this and what can I do?

Answer:

In this case, there was a stranded record in the SY00500 that had a Batch ID of the user name.  To delete the batch out of the SY00500 table, perform the following statement in Query Analyzer:  delete SY00500 where BACHNUMB = 'X'

Replace X with the username of the user that is receiving the error.

If the error continues to appear, follow the steps in TechKnowledge #22667. 

 

 

Issue Summary:
SOP posting interruption - Can"t recover.

Issue Detail:
Follow these steps to recreate:
1. Enter and save 10 invoices in a batch in SOP.
2. Go to: Trx > Sales > Sales Batches. Timing is crucial on the following steps.
3. Pull up the batch and click post.
4. Print the posting journals to the screen.
5. When the batch is posting, you will receive a progress window.
6. When the progress window is at 100% and the first posting journal just begins to print. Shut the machine off.
7. Bring machine back up.
8. Go to file manager and in the Dynamics System folder, delete the activity files and the sy00800 files.
9. In the Two, Inc. Company folder, delete the sy00500 files.
10. Launch Dynamics
11. Go to: File>Maintenance>Checklinks
12. Checklink the Sales Work file.
13. Go to: Trx > Sales > Sales Trx Entry.
14. Click the document number lookup.
15. You will see your 10 trx here. Attempt to pull one up. You will receive a message that the document has been posted.
16. You cannot delete the batch either.
17. Go to: Inquiry > Sales > Sales Documents
18. Mark History and click Redisplay.
19. You will see your 10 trx here also.
20. At this point the trx are in both the work and history files in SOP.
21. General ledger has been posted to correctly and Receivables and Inventory have both been updated correctly.

Results: The problem is this - checklinks or reconciling does not remove the documents from the work file. There is no way to remove the trx that are still saved in the batch. The documents are marked as posted, so we can"t do anything with them.

Expected: The checklinks process should go through the sales work file and any documents that are marked as posted should be removed from the work file.

Notes: This is a very common occurance in SOP. I have not been able to narrow it down to see why people are getting the posting interruptions or even if it is more common on certain configurations. I do know that several customers do call in with the problem and there is no way to recover. Restoring or deleting the work file is not an option, these are large customers with hundreds of orders, invoices, back orders etc. We need to beef up checklinks to fix this.

 

Status of Resolution:
This problem report is scheduled for a service pack.

 

Issue


 

My workstation locked while I was entering transactions in Sales Order Processing.  Now when I try to select the transaction I was working on I receive the following message: Sorry, another user is editing this document.  How do I get this transaction unlocked so I can finish it? 


 

Resolution


 

Follow these steps: (make a backup before starting) 


 


 


 

1. Have all users exit eEnterprise. 


 


 


 

2. Within the SQL Query Tool, execute this statement against the DYNAMICS database to delete all records in the specified tables: 


 


 


 

DELETE SY00800 


 


 


 

DELETE SY00801 


 


 


 

DELETE ACTIVITY 


 


 


 

3. Within the SQL Query Tool, execute this statement against the tempdb database to delete all records in the specified tables: 


 


 


 

DELETE DEX_LOCK 


 


 


 

DELETE DEX_SESSION 

 

 

Issue

How to have more than four lines of Line Item Comments on a graphical SOP Blank Packing Slip form without white space appearing between lines?

Resolution

1. Go to Report Writer (Tools | Customize | Report Writer). Open the SOP Blank Packing Slip Form and go into the Layout.

2. Select Tools from the menu bar, then Report Section Options. In the Additional Footers section, highlight Comment 0, Comment 1, Comment 2, and Component Footer and Remove them. 

3. Modifying Calculated Fields:

A. Open (C) Suppress Comment 1.
B. Change the Conditional Expression type to Calculated.
C. Go to the Constants tab, select Integer and choose to Add the 0.
D. Repeat with (C) Suppress Comment 2, (C) Suppress Comment 3, and (C) Suppress Comment 4 calculated fields.

4. Layout:

A. In the Layout, enlarge section H7 to 3 lines.
B. In the H7 section, drag in the Comment field from the Sales Line Comment Work and History table 3 times.
C. Select array 1, 2, and 3 for each field.
D. In an available area in H4, drag the Comment field from the Sales Line Comment Work and History table and select array 4.
E. Double click on the field and select Invisible.
F. Enlarge section H8 to the maximum number of Line Item Comments you would like to print.
G. In the H8 section, drag the Comment Text from the Sales Line Comment Work and History. Make the field as wide as the section.

5. Creating Calculated Fields:

A. First New Calculated Field:

a. Name the calculated field Comment.
b. Result type is Integer.
c. Expression type is Conditional.
d. Expression: From the Fields tab, select Sales Line Comment Work and History.  For the field, select Comment, the array will be 1.  Add.
e. Select the <> Operator.  From the Constants tab, select String and leave the Constant blank.  Add.
f. Select the AND Operator.
g. From the Fields tab, select Sales Line Comment Work and History. For the field, select Comment, the array will be 4.  Add.
h. Select the = sign in the Operators section.
i. From the Constants tab, select String to leave the Constant blank.  Add.
j. True Case: Select the Constants tab.  Select Integer.  Add a 1.
k. False Case: Select the Constants tab.  Select Integer.  Add a 0.
l. Select OK to save the calculated field.

B. Second New Calculated Field:

a. Name the calculated field Comment 2.
b. Result type is Integer.
c. Expression type is Conditional.
d. Expression: From the Fields tab, select Sales Line Comment Work and History.  For the field, select Comment, the array will be 4.  Add.
e. Select the = sign in the Operators section.
f. From the Constants tab, select String to leave the Constant blank.  Add.
g. True Case: Select the Constants tab.  Select Integer.  Add a 0.
h. False Case: Select the Constants tab. Select Integer.  Add a 1.
i. Select OK to save the calculated field. 

6. Report Section Options:

A. Go to Report Section Options (Tools | Section Options).
B. In the Additional Header section, choose Dummy 2 and then choose Open.
C. Ensure the Suppress When Field Is Empty checkbox is marked.
D. In the dropdown box, select Comment (calculated field that was created above).
E. Choose OK.
F. Choose the Break Field 2 Additional Header.
G. Ensure the Suppress When Field Is Empty checkbox is marked.
H. In the dropdown box, select Comment 2 calculated field.
I. Save your changes.

7. Save your changes and return to Dynamics (File | Great Plains Dynamics).

8. Give yourself security to the report (Setup | System | Security).

9. When selecting to print the Packing Slip, you will not have to select Include Line Item Comments from the Packing Slip section.

Note - If you are using a graphical report you will have to make the Comment Text field as wide as the Line Items you need in the report or it will only print the first line of your Comment.

 

Question:

How do I void Invoices and Returns in Sales Order Processing?

Answer:

1. Remove SOP history (Utilities - Sales - Remove Sales History).

2. If this is an invoice, enter an increase adjustment in Inventory.

    If this is a return, enter a decrease adjustment in Inventory.

3. Now you can void the transaction in Receivables Management (Transactions - Sales - Posted Transactions).

 

Issue:


 

Can you clarify the difference between Allocation and Fulfillment? 


 

Resolution:


 

Allocation is a way of telling the Inventory module that the items entered are spoken for or reserved. For each document type setup in Sales Order Processing Setup (Setup|Sales|Sales Order Processing), you can specify whether to allocate by Line Item or by Document/Batch. If Line Item is specified, then as soon as entry of a Sales line item is completed within Sales Transaction Entry (Transaction|Sales|Sales Trx Entry), the item is allocated from inventory. If Document/Batch is specified, you can allocate entire documents or batches using the Sales Allocation/Fulfillment Options window. (With the Sales Trx Entry or Sales Batches Entry window open, select Options from the menu bar, then Allocate or Fulfill.) An advantage of allocating by Line Item is you know right away if it is not in stock. Allocating by Document/Batch allows faster data entry because items are not checked for quantity shortages until the entire document or batch is allocated; however, you could oversell an item (because you are not informed of any shortages when keying in the order/invoice).

Fulfillment is the process of marking an order or invoice as complete. This status indicates that the items have been picked and are ready for delivery. For each document type setup in Sales Order Processing Setup (Setup|Sales|Sales Order Processing), you can specify whether to use a separate fulfillment process. If not marked (the default), the item is fulfilled at the same time it is allocated. If marked, then you can fulfill using the Sales Allocation/Fulfillment Options window. Separate fulfillment is done for a business reason. It requires more resources (because it requires more work to key in/process in the application). Most customers do not have a separate fulfillment process

Question:  


 

We are receiving "A unique document number could not be found.  Please check setup" error and have located the Techknowledge entitled, "Unique Document Number Cannot be Found" (3691) that provides several solutions.  How can we narrow down the responsible field and get an idea of what value should be entered in the Sales Order Processing Setup window.


 

Answer:


 

Start by running a dexsql.log of the event (see Techknowledge entitled, "Dexsql.log - The Complete Reference").  In the dexsql.log a noticeable pattern should emerge like the example provide below (unnecessary dexsql.log data removed for this example).


 

/*  Date: 03/18/2002  Time: 9:22:11 
stmt(24523872):*/ 
EXEC TWO.dbo.zDP_SOP40500SS_1 12081 


 

/*  Date: 03/18/2002  Time: 9:22:11 
stmt(24523872):*/ 
EXEC TWO.dbo.zDP_SOP40500SS_1 12082 
.
.
.
/*  Date: 03/18/2002  Time: 9:22:11 
stmt(24523872):*/ 
EXEC TWO.dbo.zDP_SOP40500SS_1 12499 


 

In this example, the stored procedure, zDP_SOP40500SS_1, performs a number of repetitive selects on table SOP40500.  SQL object SOP40500 is the ⌠Sales Master Number Setup■ table and the repetitive selects are an attempt to find an unused document number (e.g. 12081, 12082...12499).  A look at the table or at the stored procedure informs us that field MSTRNUMB is the holder of numeric value being queried.  In this example, the following two selects were run to determine what number should be employed in the SOP Setup.


 

select count(*) from SOP40500


 

----------- 
101,046 (total number of rows in this table)
(1 row(s) affected)


 

select MAX(MSTRNUMB) from SOP40500


 

----------- 
101,102 (greatest value of field MSTRNUMB in this table)
(1 row(s) affected)


 

Given the results of those two queries, a MSTRNUMB greater than 101,102 will resolve the issue.
 

 

Issue 


 

The error Batch level errors were encountered occurs when users attempt to print an edit list.  I want to set security for users so they can just print edit lists, but not post.  What do I need to do?


 

Resolution


 

Be sure the user has access to the correct Series Posting Permissions for that series.

For example, to print the Sales Edit List you would need to go to Setup | System | Security, select the appropriate user, company and product. For the Type select Series Posting Permissions, then select Sales for Series and grant access to Sales Transaction Entry, Sales Voided Transactions and Sales Deposits. This will allow the user to print the Edit List.