Archive

Archive for the ‘Development’ Category

AUTONUMBER

October 15th, 2011 No comments

In Syteline form grid, if you have line# and you want it to be auto populated, you may use the AUTONUMBER function, just set the component default value property to AUTONUMBER.

Syntax

AUTONUMBER( [ STEP( ) ] [ FILTER( ) ] )

Remarks

During processing of the New standard operation, AUTONUMBER sets the value of the component to the highest value of a property, determined from both the collection and the application database, plus the increment specified by the argument of STEP.

If STEP( ) is omitted, AUTONUMBER uses a default increment of 1, setting the value of the component to one greater than the highest value in the collection and in the application database.

If FILTER is omitted, WinStudio attempts to construct filter criteria to retrieve the current maximum value from the application database.

Example

AUTONUMBER(STEP(1) FILTER(OrderNo=FP(OrderNo)))

No List Cache

October 15th, 2011 No comments

Sometime, in an In Collection Validator, you would get a “Cache Property not in Cache” error. 

Make sure to check the “No List Cache” check box.  This will force to refresh IDO collection in Cache.

image

Auto Expand Key# like Customer# and Invoice#

October 15th, 2011 No comments

In Syteline, many key number like Customer#, Invoice# and such, they have prefix and fixed length.  When key in the number, system can auto expand or auto fill the number based on its format, such as key in “C1”, it will expand to “C000001”. 

To get this auto expand function in a component field of a form, you need to do two things,

1) Give the component a proper component class.  For example, for customer#, it can use component class “CustNum”, "CustNumForBillTo” and quite a few other, depend on your other need (validation, populate other field like name). 

2) Set the component data type, underline type to “NUMSORTCHAR”.

How to debug problems with SyteLine e-mails not being sent out

October 15th, 2011 No comments

The Exchange server is primarily responsible for the broadcast of e-mails generated within SyteLine .

An Exchange server is a Microsoft messaging system including mail server, email client and groupware applications.  If e-mails are not being generated from SyteLine, for example when a purchase order is printed, then there are certain procedures to follow to establish where the error lies.

The first thing to check is the Exchange server itself.
Sign onto the utility server as administrator (sign into the domain and not the local machine)
Go to start-run-cmd
Try to ping the Exchange server (or whatever is running SMTP)
SMTP (Simple Mail Transfer Protocol) is a TCP/IP protocol used in sending and receiving e-mail.
This will return the IP address if all works okay.
Then type :
Telnet IP-address of exchange server 25
(Note that the 25 is the open port number)
Then type :
Helo (This command is used to identify the sender (client) to the SMTP server  use: ehlo if helo does not work.)
Then type :
Mail to:<e-mail address> press enter
(this e-mail address should be the ?SMTP from e-mail? on the intranets form)
Then type :
Rcpt to:< e-mail address> press enter
Then type :
Data
Then type your e-mail message
Once finished with your e-mail message body, then on a new line place a full stop.
NEXT you need to check that ‘RELAY’ is switched on, on the exchange server.
To do this , on the exchange server go to
system manager
admin groups
1st admin
Servers
Protocols
SMTP
Then right click on the exchange server name.
Go the the ‘Access’ tab
Into relay and then add.
Then go into SyteLine and into the vendor document profile
Set up a profile for the vendor and the destination e-mail address.
Ensure the vendor document profile is set to active.

Categories: Development Tags: , ,

Syteline 8 – Change Windows Administrator Account and/or Password

October 15th, 2011 No comments

I found this article is pretty useful on understanding various Syteline service too.

There are two types of logins used for Syteline 8.00, 8.01 and 8.02.  This article discussed the areas that use Windows Accounts and SQL ‘sa’ accounts would need to be updated.

  • Windows Login – This Login should be part of the Windows Administrator Group. This solution is specifically for the instance of changing which windows account is being used and/or changing the password of the windows account being used for Syteline.

  • SQL Server Login – This is a SQL Server login named ‘sa’ which is created with the installation of the SQL Server.  This solution can also be used if you are going to be changing the ‘sa’ password.  On some of the forms indicated below you may also be prompted to input the SQL Server Login ‘sa’ account and password.

This article focus is the basic Utility Server setup.  You may have more then one Utility Server or your environment may consist of one server that has the SQL Server and Utility Server installation combined.  The Syteline Installation Guide Chapter 2 – Setting Up the Utility Server – Configure the Utility Server is the page we will be starting with pags 28 – 44..

Start>All Programs>Infor>Setup>Infor ERP SL Configuration Wizard

1.  Click Once Deployment – This option builds the manifest for the Click Once Client web user interface.

     – This process creates  Virtual Directory ‘SLClientDeploy’, which requires a Windows Account for the ‘Service Logon’ – Domain\Administrator. 

     – You need to select this option to set the new Windows Administrator Account and\or  updatePassword.

     – No SQL login is required for this option.

2.   Syteline IDO Request Web Service – IDO Runtime Service using HTTP for the Click Once Client web user interface.  This process creates a Virtual Directory ‘IDRequestService’, which requires a Windows Account for the ‘Service Logon’ – Domain\Administrator

      – You need to select this option to set the new Windows Administrator Account and/or update Password

      – No SQL Login is required for this option.

3.   Inbound Queue Web Service – This is necessary for asynchronous or what is also called non-transactional replication.  If  your environment is NOT replicating data to an database that is not on the same intranet, you do not need to modify this option.  Please see Syteline Multi-site Planning Guide for more information.  This process creates a Virtual Directory ‘InboundQueue’, which requires a Windows Account for the ‘Service Logon’ – Domain\Administrator

     – You need to select this option to set the new Windows Administrator Account and/or update Password.

     – No SQL Login is required for this option.

4.  Infor Inbox Web Serviice – This web service allows users to access their Syteline system ‘Inbox’ using a Web interface without having to login to Syteline.  This is primarily used for Event System Emails.  If you are not using the Event System you would not need to modify this option.  This process creates a Virtual Directory ‘InforInbox’, which requires a Windows Account for the ‘Service Login’ – Domain\Administrator.

    – You need to select this option to set the new Windows Administrator Account and/or update Password

    – No SQL Login is required for this option.

5.  Infor Task Manager Service – This option is used for polling the _app databases for Active Tasks to complete, such a printing and previewing of reports, executing Background Tasks scheduled to run at specific times.  The Infor Task Man Service is located in the Windows Services Panel >Administrative Tools>Services.

    – You need to select this option to set the new Windows Administrator Account and/or update Password

    -  No SQL Login is required for this option.

6.  Replication Service – This option is used for multi-site environments.  If you are single site, you do not need to select this option.  This service is created and can be viewed in the Windows Services Panel>Administrative Tools>Services.

   – You need to select this option to set the new Windows Administrator Account and/or update Password.

   – No SQL Login is required for this option.

7.  Replication Listener Service – This option is used for multi-site environments.  If you are single site, you do not need to select this option.  This service is created and can be viewed in the Windows Services Panel>Administrative Tools>Services.

   – You need to select this option to set the new Windows Administrator Account and/or update Password.

   – No SQL Login is required for this option.

8.  Data Collection Web – This option is used for interfacing with remote Data Collection devices.  If you are not using Data Collection, you do not need to select this option.  This option creates a virtual directory ‘fsdatacollection’ , which requires a Windows Account for the ‘Service Login’ – Domain\Administrator.

   – You need to select this option to set the new Windows Administrator Account and/or update Password.

   – No SQL Login is required for this option.

Note:  The next 4 options are for APS – also known as Advanced Planning and Scheduling.  If you are not running APS, you do not need to complete the next 4 options (9, 10, 11 and 12). If you are running APS, please continue on with the next 4 options.  Also, if you are running APS, your environment may have a separate APS server, these steps would need to be completed on the APS server and not on the Utility Server.

9.  Planning and Scheduling COM + Components – This option is for the COM + Components (middleware) for the APS application.  This option creates a COM + Component Object in Component Services, which requires a Windows Account for the ‘Service Login’ – Domain\Administrator.

  – You need to select this option to set the new Windows Administrator Account and/or update Password.

  – No SQL Login is required for this option.

10.  Planning and Scheduling Gateway – This option creates a connection to the SQL Server Syteline Database and installs a Gateway service, which requires a Windows Account for the ‘Service Login’ – Domain\Administrator.. This service is created and can be viewed in the Windows Services Panel>Administrative Tools>Services.

   – You need to select this option to set the new Windows Administrator Account and/or update Password.

   – You need to select this option to update the password for the SQL ‘sa’ user.

   – There may be more then one Gateway to update with the password for the SQL ‘sa’ user and Windows Account.  Repeat for each Gateway.

11.  Planning and Scheduling Server – This option creates the Server Service controls which runs the APS Planning function and the Scheduler, which requires a Windows Account for the ‘Service Login’ – Domain\Administrator.. This service is created and can be viewed in the Windows Services Panel>Administrative Tools>Services.

   – You need to select his option to set the new Windows Administrator and/or update Password.

   – You need to select this option to update the password for the SQL ‘sa’ user.

   – There may be more then one Server to update with the password for the SQL ‘sa’ user and Windows Account.  Repeat for each Gateway.

12.  Planning and Scheduling Web -  This option creates a web page ‘Analyzer_Syteline’ to allow Planning and Scheduling analysis via the network.  This option allows you test the viability of alternative planning and scheduling situations using a copy of your database, without effecting your production database.

   – No Windows Account used for this option.

   – You need to select this option to update the password for the SQL ‘sa’ user.

   – There may be more then one Analyzer Web setup, repeat for each Analyzer.

13.  End-User Client/Administrative Clients – Option sets the Utility Server URL.

   – No Windows Account used for this option

   – No SQL Login is required for this option.

Categories: Development, VB .Net Tags:

How To Cancel Reports In Syteline 7 and 8

October 15th, 2011 No comments

There is no simple way for reports to be cancelled from the client in Syteline 7 and 8. The Cancel button for Print Previews only kills the client part of a Preview. The background task continues to run on the TaskMan machine (The TaskMan machine is typically the Utility Server where the TaskMan process is running.)

There is only one way to kill an individual report. When TaskMan starts a report or an EXE it fills in the Process ID field on the Background Task History form with the Windows Process ID. Log on to the TaskMan machine with the same account TaskMan runs under (or an Administrative account). Bring up the Windows Task Manager. On the Processes tab, select the PID. The Image Name will be RunReport (RunReport.exe) for all reports. Click the End Process button.

If the report is running a stored procedure, simply killing the RunReport process on the Utility Server will not kill the SQL process running within SQL Server. However, identifying this process is more complex. There are generally two main approaches.

1) The simple approach is to stop and re-start the MSSQLSERVER service under Administrative Tools on the SQL Server Box. Or simply re-boot the SQL Server box. However, these approaches will stop all databases and would disrupt business. So they are only appropriate after normal business hours or on a test system. Additionally, once the databases are running again, you would need to re-boot the Utility Server in order for it to properly re-connnect.

2) The more specific, less disruptive approach is most complex. You would need to go into Enterprise Manager, expand the Management folder, expand Current Activity and select Process Info. You would then sort the processes by database so you can reduce the number of processes to examine. You would then right-click on each process in that group, look at the properties and attempt to identify the stored procedure associated with the cancelled report. Most likely, you would only be able to make an educated guess as to what that stored procedure might be based on parts of its name sounding related to the type of report that was killed or cancelled. Once you have identified the process, you can then right-click on it and select Kill Process.

3) The following recommendations may assist with getting the information required to kill the SQL server process associated with the ‘bad’ report.

Firstly, log into Syteline and open the Background Task History form and review recent tasks that are currently in a Running status. For each running task, review the parameter detail information searching for the report or utility that was submitted with no Starting and/or Ending data parameters. Parameters are not labeled, so you may need to look at the Report screen to see what options are available and compare them to the parameters listed in the Background Task History form.

Once you know the Syteline report which is suspected of consuming SQL server resources, open Query Analyzer on your SQL Server, select the App database from which the report was submitted, and run the following query:

SELECT scn.ContextName, scn.ProcessID, ci.UserName
FROM SessionContextNames scn (readuncommitted)
LEFT OUTER JOIN ConnectionInformation ci (readuncommitted)
ON scn.SessionID = ci.ConnectionID
WHERE ci.ConnectionID IS NOT NULL


The above query will return a list of SQL server processes and the associated Syteline information. The column ContextName should return the Syteline form that initiated the process. Search the list of displayed ContextName records for the report which you identified from the Background Task History form. Identify the specific process associated with the desired form and User, and note that ProcessID.

You can then kill the process by running the following in Query Analyzer:

kill spid

where spid would be substituted with the ProcessID value returned in the query you ran. For example, ‘kill 109’.

Please note that killing the process will rollback the transaction so if it has been running for some time, it may take some time for SQL to rollback the transaction and for SQL server resources to return to normal usage levels.

Lead Time Processor algorithm

October 15th, 2011 No comments

The purpose of the Lead Time Processor (LTP) utility is to calculate an item’s fixed and variable lead times using the operations that make up its current routing. The fixed lead time is expressed in days. The variable in hours and is the run time for 1 piece.
Basic Algorithm
If you answer "No" to the "Use WC Calendar" and "Use Offset Hours" options, the LTP totals the run time for each operation in the routing and posts the result into the item master variable lead time field. If the work center is machine or machine and crew scheduled, the machine hours are accumulated. If it is purely crew scheduled, the labor hours are used.
If you leave the Shift ID blank it totals the move, queue, setup and finish hours for each operation, divides the total by the default shop calendar average hours per day and posts the resulting number of days into the item master fixed lead time field.  If you enter a Shift ID, the move, queue and finish hours are divided by the average number of hours per day from that shift rather than the default shop calendar.  The Shift ID field was added for the fix to APAR 107859 in the SQL versions (SL7 and higher).     
The variable time is adjusted by the operation efficiency (lead time / oper eff / 100) and work center utilization (lead time / wc util / 100).
If an operation has a value in the "Fixed Sched Hrs" field, that figure is added to the fixed lead in place of using the setup and run time.
Item master lead times are used by a number of functions in the system. One of the most important is the MRP module’s passing of planned orders from parent to component. The date assigned to the material requirement is calculated as:
PLN due date – (((PLN qty * var lead) / default shop cal hrs per day) + fixed lead)
The "Use WC Calendar" and "Use Offset Hrs" options exist so that the system’s lead time calculations will be more accurate if your are using operation overlapping and multiple shop calendars with varying hours per day. The following explains the how using those two options will affect the calculations.
Use WC Calendar
The "Use WC Calendars" option was designed to handle the situation where the various operations in an item’s routing use work centers that are tied to different shop calendars that have a varying number of hours per day. If you do not use this option, the LTP uses the hours per day from the default calendar when converting the fixed hours to days.
If some of the operations in the item’s standard routing had more (or less) hours per day than the default calendar, the date MRP arrives at when passing planned orders will often be different than the date at which scheduling would arrive since scheduling considers the extra (or less) time available in those work centers.
If you answer yes to the option, the LTP factors in the variable length calendars by calculating a "calendar factor" for each operation that does not use the default calendar. This factor is calculated as:
(avg hrs per day from default cal / avg hrs per day from oper’s calendar)
The resulting figure is then multiplied by the fixed and variable times for the operation in an attempt to compensate for the extra hours available per day. e.g. if an operation that uses a 10 hour/day work center has 1 hour per piece of run and the default calendar has 8 hours, there will per .8 hours added to the cumulative variable lead time for the item than 1.
Use Offset Hrs
The "Use Offset Hrs" option gives you the ability to factor the operation offset hours into the lead time calculations. If you answer "No" to the option, the LTP simply accumulates the setup and run for each operation as described above. This assumes each operation starts when the previous finishes and gives no consideration to operation overlapping which MAPICS handles with the Offset hours field.
When you answer "Yes" to "Use Offset Hrs", the algorithm changes dramatically in an attempt to compensate for the overlap. When the LTP encounters an operation with offset hours it will deduct the previous operation’s fixed and variable times from the running totals and add in the current operation’s offset to the fixed running total.
Basically, this means that the system will assume that the current operation’s offset is the duration of the previous operation. It will NOT change the actual values in the move, queue, setup and run hours fields of the previous operation.
For example, suppose you have an item with a typical lot size of 100 with 3 operations, each with 1 hour per piece of run time. Operations 20 and 30 have offset hours of 10 which means the begin 10 hours after the start of the previous operation.
If you elect not to have the LTP consider offset, it calculates fixed hours of 0 days and variable lead of 3 hours. When MRP passes a planned order for 100 it uses 300 hours (100 * 3 hr var lead) which comes to 38 days. When the planned order is turned into a job, the scheduling system would use the offset and arrive at 130 hours which is 16 days. The results in MRP showing the materials being needed 21 days earlier when the planned order is being passed then it will when the job is created.
Since operation 30 "covers" all but the non-overlapped time of operations 10 and 20, the offset hours from 20 can be considered a fixed duration for 10 and 30’s offset can be considered a fixed duration for 20.. Since offset does not vary with quantity, it makes sense to store this offset as fixed lead time.
In this example, if you tell the LTP to consider offset it would use operation 20’s offset of 20 hours as fixed time for 10 and ignore 10’s variable time. It would then use 30’s offset and use it for 20’s fixed and ignore 20’s variable. This would result in variable lead if 1 hour (30’s variable) and a fixed lead of 3 days (30 / 8 = 2.5 rounded to 3).
For a planned order for 100, MRP would pass the order using:
(100 pieces * 1 hr var lead) + 3 days fixed = 16 days
Using these two options, there may be a small difference between MRP’s calculation and scheduling’s calculation but it will certainly be more accurate than if not using them. It is important to realize that MRP is a planning tool, not a scheduling tool and cannot be expected to be as precise as the scheduling algorithm. To have MRP "schedule" each planned order using the item’s current routing would not be feasible purely from a processing time perspective.

Configuring Click-Once clients to access SyteLine 8 remotely

October 15th, 2011 No comments

For Report Previews to work, the SL 8 Click Once Client needs to authenticate to the Utility Server Syteline directory where the reports are actually generated.

Click Once Client users only require internet access to the Website to download the Click Once Client. They do not need network permissions to access the directory on the Utility Server where the Previews are generated to.

For Click Once Client users on the domain, you can adjust the security on the utility server directory to give the user’s access to the SyteLine report output directory:
C:\Program Files\Infor\SyteLine\Report\OutputFiles  

For Click Once Client users outside the domain and/or firewall, clients may not be able to download and the run the Click Once client unless changes are made to the client’s HOSTS file.  You may receive an error similar to the following when accessing the click-once URL: 

* [11/29/2007 1:24:54 PM] : Activation of http://10.21.1.46/SLClientDeploy/SyteLine.application has started.  ERROR DETAILS
   Following errors were detected during this operation.
* [11/29/2007 1:25:16 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
– Downloading http://sline_utl1/SLClientDeploy/SyteLine.application did not succeed.

Resolution

One way to resolve this is:  On the user’s computer running the Click Once client from outside of the domain, you will need to edit the file C:\WINDOWS\system32\drivers\etc\hosts. 
For example:

After the line:
127.0.0.1 localhost
Add the line:
10.21.1.46 SyteLine_UTIL1

Another way to resolve this is: Create an IIS Virtual Directory, is to create a virtual IIS directory on the Utility Server. Windows 2003 as follows:

On the SyteLine utility server, open IIS Manager
Right click Default Web Site
Select New>Virtual Directory
Name the folder ‘SLReports’ and designate the directory path C:\Program Files\Infor\SyteLine
Virtual Directory Access Permissions were set to READ, WRITE, and BROWSE.
Open Intranets form and go to the Reports/Taskman tab
Enter http://<servername>/SLReports in the Report URL field
or use http://ipaddressofserver/SLReports

On Windows 2008:

Right click Default Web Site
Select Add Virtual Directory
Set Alias as SLReports
Set Physical Path to the installation directory, usually: C:\Program Files\Infor\SyteLine
This should create the Virtual Dirctory for you. Click on it. In the middle pane there should be a Directory Browsing icon, double click that
In the right hand pane here, click Enable.
In SyteLIne, open Intranets form and go to the Reports/Taskman tab
Enter http://<servername>/SLReports in the Report URL field
or use http://ipaddressofserver/SLReports

Replace Report Logo

October 15th, 2011 No comments

Changing the Report Logo for Syteline is fairly easy.  Just place a new SLHeaderLogo.bmp (your company logo) in the C:\Program Files\Infor\SyteLine\Report\Reports folder in the utility server.

If you have multiple Syteline configurations for differ branch companies, and want to use differ logos, you can create folder under the above Reports directory.  Make the folder name matches exactly the configuration name, and put the logo inside the folder.  Syteline is smart enough to pick them for each configuration.  The same thing applies to report customization too.

Truncate SQL Log File

October 15th, 2011 No comments

Use the following script to shrink/truncate SQL database log file

USE [Database_Name]
GO
ALTER DATABASE [Database_Name] SET RECOVERY SIMPLE WITH NO_WAIT
DBCC SHRINKFILE(DB_Log_File_Logical_Name, 1)
ALTER DATABASE [Database_Name] SET RECOVERY FULL WITH NO_WAIT
GO

Use the following script to check the file size.

USE [Database_Name]
GO

select name,  size from sys.database_files

 

Categories: Development, SQL Tags: ,