Zebra Plastic Card Printers.

Zebra Plastic Card Printers come in a variety of styles and price ranges, including single-sided printers, dual sided printers, and security printers

Healthy Solutions for Healthcare.

The healthcare industry benefits from barcoding. Barcoding enhances patient safety and operational efficiency.

Seagull Scientific Products

Seagull Scientific BarTender is an industry-leading label design and barcode software. Seagull Scientific also develops true Windows printer drivers for bar code and thermal printers.

MC 9190G

The Ability To Satisfy Your Company Software Requirements.

Wireless Broadband

The unrivalled Motorola portfolio of Point-to-Point (PTP), Point-to-Multipoint (PMP), and Mesh Wide Area Network (MWAN), WLAN and VoWLAN solutions make governments, enterprises, and service providers more agile by helping them deploy voice, video, and data applications right where they need them.

Friday, 8 July 2011

Identifying expensive SQLs using ST04 transaction

This article answers the following query:

How to identify expensive SQLs using ST04 transaction ?

As shown below, go to transaction ST04 and navigate to SQL statement analysis -> Shared cursor cache

 




Double-click on the shared cursor cache while leads you to the following screen.




In the above screen, please provide Buffer gets as 50,000 for example and in the List sort options select Buffer gets radio button and execute.

It displays all the SQL statements whose buffer gets are more than 50,000 and sorts them in descending of buffer gets as shown below






As highlighted in the above screen, identify the top 5 or 10 statements as per buffer gets. These are expensive or costly SQL statements. 

Also look at executions column and figure out the value. If value is greater for executions it means that the SQL is frequently getting executed and it is worth tuning that statement. 

Afterwards click on the corresponding SQL statement which opens the SQL statement as below




In the above screen,  click on explain icon (highlighted) which opens up another window as below





 
In the above window, you can view :

  • Estimated costs to execute the SQL
  • Estimated rows to be fetched
  • Estimated CPU costs
  • Estimated IO costs
Ideally, all of these parameter values should be low for an optimized SQL statement. For expensive SQL statements, these values will be of very high impacting system performance.
Also, in the above window find out whether FULL SCAN is present. If present it means indexing is not proper for the table involved in this SQL statement.

Please double click on the table name or index name which is going for full scan, to view similar window as below :


In the screen, you can note “Last statistics date”. If this date is too old, it is recommended to run update statistics for this table or index. This improves performance of the SQL statement as it provides correct recent statistics so that execution plans for SQL statement will be done properly.

Due to outdated statistics, execution plan won’t be proper leading to high row fetches, increasing CPU and IO costs.




Enter your email address:

Delivered by FeedBurner



Top 5 Reasons Why a Barcode Font Won't Scan

by Nate Schubert

There is nothing more frustrating than purchasing a barcode font package, patiently reading the instructions and creating a barcode that looks good, only to find that your barcode scanner doesn't read it. This may be due to a number of different factors, and thanks to the fine folks in our technical support department, we have outlined the top five reasons why your barcode fonts may not be scanning correctly.

Has the Data Been Encoded?
Unlike traditional letter-fonts, barcode fonts require special formatting so that the data will be scannable once the barcode font is applied to it. This is true of most barcode types, with the exception of Code 39 and a few others. Formatting the data may involve adding start/stop characters, or a check-digit to the data which essentially let the scanner know where the barcode begins and ends. Other ways of formatting the data include manipulating it so that it is interleaved to create a smaller barcode, or converting the data-to-encode to a special-character text string that the barcode font can understand, and will turn into a correct barcode once the text string and font are combined. There are a wide variety of font encoder tools that will format barcode data, with some being more automatic than others.




Is the Barcode Type Enabled in the Scanner?
It is a good idea to make sure that your barcode scanner is configured to read the type of barcode you are trying to scan. While some barcode types are enabled by default in a scanner, many others must be manually activated in order to read. If you have confirmed that the scanner is programmed to read that type and it still doesn't recognize the barcode, it may be a good idea to contact the scanner manufacturer.




What is the Quality of the Printed Barcode?
In some cases, barcodes that are displayed can lose quality once they are printed. It is important to be sure that the quality of the barcode remains high. IDAutomation barcode fonts focus on high-quality design to help minimize poor-quality barcodes. Even so, it may be a good idea to check print resolution as this may be a common cause.




Is the Font Being Printed to Specified Font Size Range?
Some barcode fonts must be printed at specific font sizes, or they will not scan properly. This is the case with certain barcode types or standards, and our technical support staff can help to determine which of those fonts requires precise printing in terms of size.




Encoding Too Many or Too Few Characters
If you are attempting to encode a small amount of characters, it may be a good idea to be sure that your scanner is capable of scanning the minimum amount, as many are set to read a minimum of 4 characters in a barcode. On the other hand, if there are too many characters being encoded in a barcode, then it will be too large and will not scan properly. Decreasing the font size and re-scanning may solve this issue.


There are a lot of different reasons why a barcode created from a font may not scan properly. If you are working with IDAutomation fonts, you can get direct support from our staff regarding these matters with an active Priority Support & Upgrade Subscription. Each product purchase comes with a 30-day complimentary support subscription with the option to purchase yearly thereafter.

Analyzing expensive SQLs using SM50/SM66

This article explains the following query :
How to analyze expensive SQL statement using SM50/SM66 ?
Go to transaction SM66 and have a look at the global workprocess overview.
i)             Have a look at Action column and identify any long running Sequential read/ direct read /insertion /updation etc.
ii)            If so, please note the respective report that is being run and the table that is being used for the same. From the report we can make whether it is SAP standard report or customized report. If it is customized, we can take help of ABAPer to see if the report can be finetuned in cases of bad programming. Table details can be used to figure out the size of the table and whether statistics are upto date for the table or not.
Please note :  "Updatestats job should run daily so that system will have recent statistics about all the tables. These statistics will be useful for Cost based optimizer to identify optimized execution plan for an SQL statement"
iii)               Also, please note the user who is running that process. So that, later user can be approached and a trace(ST05) can be kept for his activity to understand his transaction in detail which would help for finetuning.
iv)               SM50 transaction can be used to view the detailed display of the process and the SQL statement that is being executed

For example, Please refer below screenshot of SM66 :
In the below screenshot,
i)                 Highlighted user is running ZFI_TDS* report on RBKP table in dialog mode and sequential read action is happening on the same.
ii)                 user DDIC is running RBDMONI_* report (in  background mode) on table BDCP2 and direct read is happening on the same. It has already consumed 783 seconds of CPU time. 

To analyze point i) scenario in the above case, please note the server name on which this process is running. Go to that server through SM51 and have a look at SM50 transaction.

Identify the respective PID of the process which you have suspected as expensive SQL from the overview and double click on that process which opens up detailed display as below:










Enter your email address:

Delivered by FeedBurner



Thursday, 7 July 2011

NEW: Use Android for Data Acquisition with PCs or MACs

New Version!

As of today the new version of GetBlue, an Android app for automated data aquisition, is available.

GetBlue collects device data in the background and forwards captured data to adjustable destinations. The following devices and interfaces are supported in V2.8:

  • Bluetooth SPP (server and client mode),
  • TCP/IP sockets (server and client mode),
  • HTTP,
  • 3rd party camera scanners like the app Barcode Scanner from ZXing
Captured device data can be displayed, saved, uploaded or forwarded to
  • adjustable target devices or target applications (PCs with Microsoft Windows, MAC computers, Google Docs spreadsheets, other Bluetooth devices, web applications, ...),
  • files on the SD card,
  • or injected into 3rd party applications (software wedge mode).

Highlights of the new Version:

  • Bluetooth server support
    Previous GetBlue versions worked exclusively in Bluetooth client mode. Client mode is required to connect to other Bluetooth servers like a Bluetooth barcode scanner. The new Bluetooth server mode can now be used for establishing PC connections: Data captured or scanned with the Android device can automatically sent to a PC for further processing. Server mode is supported for TCP/IP connections as well.
  • Licensing without Android Market
    For users without access to Android Market or for bulk-licensing requirements GetBlue can now be licensed by manually installing license certificates. In order to use this feature you need to download GetBlue from tec-it.com and contact TEC-IT for a certificate (price on request). Please note that the version available on Android Market does not support manual licensing.
  • Transparent Proxy
    As mentioned above GetBlue works as transparent proxy between devices and/or protocols. Data from a Bluetooth device can be forwarded via TCP/IP or HTTP. This behavior is freely adjustable by means of data-source and data-sink configuration.

Give it a try!

Download GetBlue from Android market or from TEC-IT.COM. TEC-IT supports this app, in case of questions, problems or feature requests just get in touch with us!

About TEC-IT

About TEC-IT
TEC-IT Datenverarbeitung GmbH provides high quality software in the areas of automated data acquisition and data collection, bar-coding, barcode extensions for ERP systems, label and form printing and report generator software. TEC-IT products are available for all major platforms, thus customers benefit from complete and versatile software solutions for all possible requirements. The company is located in Austria / Europe and can be reached via www.tec-it.com.
All trademarks are the property of their respective owners.

Expensive SQL statements and their consequences

This article answers the following queries :

  • What are expensive SQL statements ?
  • What are the consequences of expensive SQL statements ?
  • What factors to be considered to tune expensive SQL statements?
  • What are the transactions or tools available in SAP to identify expensive SQL statements?
-----------------------------------------------------------------------------------------

A few SQL statements may reduce the performance of the database as well as the SAP system.It is the responsibility of Basis administrator/ Database administrator to identify those statements and action them accordingly. 


Expensive SQL statements are caused by many reasons like

i) Bad programming
ii) Inappropriate use of functions of SAP (like not specifying proper selection criteria while running reports)

Expensive SQL :

Expensive SQL statements are also known as expensive selects. Expensive statements are those statements which cause more disk reads or buffer reads to the database. 

As a rule of thumb, the statements which contribute to more than 5% of total block reads for answering are considered as expensive SQL statements.

Consequences of expensive SQL statements :

A few expensive statements can hamper the performance of the SAP system. Few consequences are listed below :

i) While an expensive SQL statement is being executed, as it has to fetch more blocks, already existing blocks in the database buffer are displaced to accommodate the blocks of this statement. This impacts performance of the other SQL statements and could impact performance of following requests

ii) As database will be busy ready many blocks to satisfy expensive SQL statement, there are chances of slowdown of other database tasks which eventually may impact the performance of the SAP system

iii) While an expensive SQL is being executed, a work process is blocked till the completion of the request. So, it is not available for other requests which increases the wait time of other processes (like waiting in the dispatcher queue)

Factors to be considered to tune expensive SQL 

It is not practically possible to tune each and every expensive SQL. So, we have to identify the statements to be tuned based on the impact of those. Impact of expensive SQL statements on the SAP system performance depends on many factors like 

i) On what frequency the expensive SQL is running?

(If an expensive SQL is running once in 6months, then it is acceptable to run but it an expensive statement is running more frequently like 24 times a day then it is worth tuning that statement)

ii) What is the time of expensive SQL execution?

(If an expensive SQL is running during peak load than it cause more performance issues leading to high response time and wait times to other processes/jobs. So it is important to consider at what time these expensive SQL are being executed. It is best to execute expensive SQL during periods of low work load on the system)

iii) Impact of the expensive SQL on the performance of the system

( It is worth taking note of the impacts the expensive SQL statement is creating on the response time, throughput and performance of the system. Also the duration of the performance problem also to be considered to figureout the impact of an expensive SQL)

SAP transactions to identify expensive SQL

Based on the above factors, an expensive SQL statement can be selected for tuning.

SAP provides so many tools or transactions to identify Expensive SQL statements.
Some of them are SM50, SM66, DBACOCKPIT, ST03, ST04 and ST05

Enter your email address:

Delivered by FeedBurner



Wednesday, 6 July 2011

How to post system message in SAP ?

This article answers the following queries :

  • How to post system message in SAP ?
  • How to delete the posted system message in SAP later?
----------------------------------------------------------------------------------------------
Occasionally, SAP system will be shut down due to various maintenance activities like kernel upgrade, offline backup, client copy etc. Before doing any of these activities it is best practice to communicate to SAP users that system won’t be available during that time so that users will plan their work accordingly.
This system message can be posted using SM02 transaction code in SAP.
A message like “R3 system won’t be accessible between 4:00am to 5:00am due to planned kernel upgrade activity. Please plan your work accordingly” can be posted to keep the customers informed about the downtime of the system.
Go to Transaction SM02 and click on create button as shown below :
 This pops up another window as shown below. In this window, you can compose the message that is to be published. In that window, you will have to provide details like client number, server name, logon language, expires on, delete on fields as shown below.






If specific client is specified in the above window, only users of that client can view the system message posted. If an SAP system consists of more than one application server, you need to select application server on which this message should appear. 
Specify expires on field to mention the system when this message should expire so that message won't be visible to users after that. 

The delete on field is used to mention the date and time on which the posted message should be deleted from the system. 







Incase you would like to delete the system message manually, you can even do so, by selecting the system message and clicking on delete icon as shown below.




System prompts to confirm deletion as below.  Message gets deleted if confirmed by pressing Yes button in the below screen.







Enter your email address:

Delivered by FeedBurner