Saturday, 7 November 2020

Wantok Payroll Demo 1 - Giving Ratings to Employees

One of the best Payroll Software in Papua New Guinea is the Wantok Payroll System. And this is created by no other than, ehem, your humble blogger, no other than myself. There are a lot of reason why I consider this to be "One of the Best" if not the best. 

I kid. 

One of which is that this is linked to an Attendance System with Biometric Attendance Machine and on the latest versions of Wantok Payroll, it is already gearing towards making it more like an HR-friendly payroll software.

In this post, I would like to show you how one can give ratings to a staff. As we know, in Papua New Guinea, it has become a norm that every year, the staffs' performance are evaluated and that any amount topped up to their salary thereafter will be based on their performance evaluation. The company that I'm working with has over 350+ employees so going through the papers for each of them could be a tedious job. So I simplified the process by incorporating the rating system into the Payroll. 

Let's check this out.

Monday, 14 September 2020

Celebrating 45th Year of Independence In Papua New Guinea

Looking back at my first entry for this blog, it feels like I'm getting old already. It's been 6 years since I wrote my first post "My Humble Beginning in PNG" and I must admit that I barely noticed how fast the years had gone by. I came here in 2008, went back home after a few months and came back again in 2011. And today, is my 9th year in this country that I consider my second home. 

I only started blogging about Papua New Guinea in 2014, and I wish I could have done earlier. But I have no regrets anyway. I think I've given my fair share of contributions to the blogosphere. Also, I'm under the notion that blogs are increasingly getting less popular than vlogs nowadays. And judging from the number of hits that this humble blog gets every now and then, I suppose that blogging, particularly my blogging, has seen its golden days. 

But I'm also a firm believer of this one verse in the Bible that says "That which is, already has been; that which is to be, already has been; and God seeks what has been driven away."  It basically implies that some things which have seen glories in the past might find their seats again in the arena of the future, especially, if those "things" had been of something great in the past. 

I guess if I were to predict which of the things from the past could make a comeback, I would say it was Blogging.

By the way, two days from now, the People of Papua New Guinea will be celebrating their motherland's 45th year of independence. I hope that we, despite the hardship and the current marginal lifestyle with which all of us are going through right now due to the COVID-19 pandemic, can still find a way to smile and celebrate this once-in-a-year chance to cherish the birth of this nation in our own style. 

Keep safe everyone. Until next post!


Tuesday, 24 December 2019

Merry Christmas

The year 2019 has brought us a concoction fun, hard work and mind-crushing challenges, but it also came with a couple of good rewards which I should talk about later in the upcoming posts.

They say that if a dragon or a "lion dance" has come to pass by and dances nearby, and someone happens to be present at its path, well not necessarily directly on its path, but somewhat closer to where it's at, then luck will come to that person.

I'm not sure if touching the lion costume will double that "luck" but it doesn't hurt to try.

Anyway, I just want to greet everyone a Merry Christmas and I wish you all good luck in 2020. Cheers!

Thursday, 4 July 2019

A Busy Life and A Little Experiment

A golden rule that I've come to learn over the course of my life is that there is no harm in trying. Thus, I and my IT staffs have gone to extra lengths just to try and test for a very common information that a Hikvision IP Camera will not run by a UTP cable of more than 50 meters away on a POE supply. While some people with glimmering technical background in this field will probably agree with it, I am not ready to jump on the bandwagon just yet without putting up a little pillow fight and proving how correct that information is.

So it has come to pass that I have asked my two staffs to cut an approximately 100 meter of CAT6 pure copper cable and to help me run a test of our own. Oh by the way, the person on the left side whose two hands are gripping a roll of orange cable is Sylvester and and that's his cousin Dickson on the right.

If Discovery Channel has Adam and Jamie for MythBusters, I have the back of  these two guys here to help me perpetuate an unscrupulous plan of busting some myths for fun; and to whom I had promised a bottle of cold Coke should we emerge victorious in the end.

The camera location is perhaps around 30 meters close to where we have set up our NVR (Network Video Recorder) so we still have the remaining 70 meters of CAT6 coiled under the table.

And look at that, it works! While it is not in my best intention to prove other people wrong, I do acknowledge that I wanted to prove something to myself. Things could be better understood if one chose to tackle the subject in an engaging manner.

Here's the detailed summary of our mini-experiment:
Success rate                             :  100%
Hostilities met along the way   :  0%
Casualties                                 :  0%
Minor Injuries Sustained          :  0%
Satisfied people                        : 3
 Oh we did go and drank some cold Coke afterwards. Happy weekend everyone!

Monday, 14 January 2019

Confidence in the Workplace

Having a job and doing the actual work is like being in a beach, trying to walk our way past against a series of waves. The water is your work environment and the waves are the problems you encounter each time.

Life in the workplace isn’t smooth, and you need to face the proverbial waves. No matter how small or big the waves are, you still take the courage to face them head on, even if they swat you like a bulldozer. But like the waves, those problems will come to pass, whether you’ve solved them or not. Like the waves, if you’re not able to stop it, something else will (thanks to the big rocks on the shore).

Or somebody else will.

The good thing however, is that each time you have courageously stood against the incoming waves, you gain experience. You build character. And those characters become you. You can even say, “Hey look, I’m The Hulk!” But I’m just kidding. What I actually mean to say is that the more problems you overcome, the more confident you may become.

Confidence is actually about thinking and saying, “I’ve done this before, and I know I can do it again.” That is, if you’ve been through that situation before. But when you’re about to face something that you have previously never come across of, confidence becomes believing in yourself.

So confidence is really about knowing what you can do and believing in yourself that you can do more. Apply that sense in the workplace, you won’t become unstoppable, but you’ll become adequately and confidently capable.

If not, then at least you become a "Papable."

Friday, 12 October 2018

Payroll Software for Papua New Guinea

From the word "Cinch" which means, easy; and from the word "Productivity," the CinchPro payroll came out with an aim to ease out the tediousness and the painstaking workflow of working on payroll reports that HR does every fortnight to meet the payroll deadlines. Designed to be a straightforward and to be a very user-friendly program, CinchPro is the robust solution to challenging payroll procedures.

Here are some of the examples of what this payroll program can do:

Main Menu. Sleek ribbon menu and big icons and a dashboard display that keeps track of the current workflows.

Employee Masterfile. Easy look-up of employees. With picture and a history of pay rates. It also shows the OFF day schedule.

Absences Reporting. Easy viewing of absences incurred by employees with display of used up Medical Certificates, off days and actual time per fornight from attendance software.

Item Booking Module. CinchPro payroll comes with a module for distributing bread booking if the shop using this program are also selling bread or any items that staffs can sometimes book for salary deduction later.

Item Booking Module in actual operation (with pos printer).

Sewer Jobs. This payroll comes with a module for paying staff that are paid not by the hours but by the pieces they make. This is perfect if the shop that is using this payroll has a factory that produces school uniforms or the likes where some employees in the factory are paid by the number of uniforms they make.

Timesheet Module. Quickly view employee's time records with CinchPro's timesheet module.

Biometric Connection Module. Easily download attendance logs from Fingerprint Biometric stand-alone readers and upload to Cinchpro's Timesheet module.

Supported Fingerprint Biometric Reader. Cinchpro supports the use of TX628 stand-alone fingerprint reader.

Supported Fingerprint Biometric Reader. It also supports the use of T480 stand-alone fingerprint reader.

Loans. CinchPro payroll comes with a module for handling loans by employees to the company. It's automatic deduction/pay features makes it easy for the company to take back payments through salary deductions.

Leave Pay Reports. CinchPro payroll can produce many reports and it can also generate reports for Leave Pay Candidates at one's whim.

Payroll Sheet. Easily export formatted reports to MS Excel for customized printing.

Leave Planner. CinchPro payroll comes with an Annual Leave Planner that makes it easy for the HR to create and approve leave requests. It has an easy to read graph and month views that highlights the days of leave.

Help/Manual. CinchPro program comes with a help file that has an easy to follow instructions, making it easy for the user to operate the system.

Our company is using CinchPro Payroll version 3.0 for more than a year now and a biometric attendance system bundled with it for over four years now. We have two business locations where this program is installed and serve more than 250 employees and by far things are going well and easy for us.

Demo Link Below:

Note: Once you download the demo file, send me an email (My Email) so I can send you the password for the zip file and let me assist you with the installation.


1. Windows 7 or later version
2. 180 MB of free disk space.

Third Party Software Requirements:

1. We will need to install SQL Server Express to your server or to your pc.

Monday, 25 June 2018

Some Programming Stuff

When time permits and I'm in one of my agreeable moods, I usually write a piece for my technical blog called Through The SQL. That blog is all about software programming and a few bits of troubleshooting stuff. Anyway, here's a post that I wrote for that blog sometime ago with its original content.
In Visual Foxpro 9 (VFP) and it’s lower versions, there exists a logical field with which a programmer can use to have some kind of a digital flip-type switch that we regularly use in queries or in a control, like a checkbox, for example. If one can imagine how a light switch works, the idea behind is the same with that of a logical field. The apparent difference emerging from the point being that is, the usual ON and OFF status that we regularly see on a common household light switch is omitted, the logical field in VFP uses a boolean value of either .T. or .F. instead, with “.T.” representing the value for TRUE and “.F.” for FALSE.

So it’s kind of like when your dad asks you if you have left the garage lights on overnight, you may probably hear, “Is it TRUE that you have left the lights on last night?”

Anyway, Creating a logical field in a VFP cursor is as simple as this.

Create Cursor curTest (field1 l)

Select curTest

But in MS SQL Server, with versions like 2008 or 2012, there is no Boolean or Logical field type. This is probably the reason why I see many software developers turning their trust to characters and integer types just to work around this inadequacy. 

For instance, a programmer can use several of the INT (integers) type field just to represent a value of 0 or 1. Because 0 and 1 can both respectively represent the ON and OFF nature of a basic switch. The idea makes sense until you add another value, like “2” then it loses the foremost characteristic of being a “flip-type” switch. 

The Workarounds in SQL Server

I’ve seen programmers use the int type, which has a range of -2^31 (-2,147,483,648) to  2^31-1 (2,147,483,647) and can take up storage of 4 Bytes in the table. Others use the smallint type, of which range is shorter than the int type but takes up 2 Bytes of storage space. There is also the tinyint that has a range of only 0 to 255 and takes up one Byte of storage space.

One thing to consider when you are feeling a bit determined to use these INT types for a simple switch is that each column of int created in a table will take up the storage space that I mentioned above. For example, if you have two columns of a tinyint field, each column will respectively take up one Byte of storage in a table.

At the other end of the spectrum, there are also those who use a character field to represent a switch in a similar fashion. These programmers, like I do in the early stages of my programming career, have liked the idea of using CHAR(1) type field to mimic the purpose of a logical field. The reason being is that it’s a straightforward solution and it’s easy to read. All that one needs to do is update the char field with a string having a value of “T” or an “F” character. 

The downside of using a char(1) field, however, is that it can take up other characters as well like “A” for instance, aside from the “T” or “F” characters. Also, each char(1) type column’s value in a table will take up 1 Byte of storage. Therefore, if you have two of this column in your table, the values will take up 2 Bytes and so on.

What I Think Is the Right Way to Do It

The best thing to do, in my humble opinion, is to use a bit type field in MS SQL Server. This type accepts integer data type like a bit value of 1 or 0, and it can have a NULL value as well.  

In this example, I’ve created a temporary table with a bit type field. I then inserted a 1 value.

If (Select name from sys.tables where name like '%#testTable%'is not null
            drop table #testTable;

            create table #testTable (field1 bit);
            insert into #testTable (field1values (1);
            select field1 from #testTable;     

The advantage of the bit type is that it can automatically convert the string values TRUE and FALSE to bit values.  The “TRUE” becomes 1 and “FALSE” becomes 0.

If (Select name from sys.tables where name like '%#testTable%'is not null
            drop table #testTable;

            create table #testTable (field1 bit);
            insert into #testTable (field1values ('TRUE');
            select field1 from #testTable;     

Sending Updates from Visual Foxpro

Luckily, MS SQL Server will convert the boolean value sent from Visual Foxpro by way of SQL-Pass Through or (SPT) connection.  

For this example, I have a table that I use for keeping LEAVE PAYS. It has a bit type column named isLeapYear. Let’s see what’s in it.

Notice that all other values in the isLeapYear column has zero values except for what’s in the fourth row, which has a bit value of 1.

Now, let’s try and change that into 0 (zero) by sending an UPDATE from Visual Foxpro with this command.

=SQLExec(oHandle.nHandle,'Update MyDatabase.dbo.MyTAble Set isLeapYear = .F.')

Now, we can see that all of the values in the isLeapYear column became zeros. 

Showing the Results with a Checkbox Control in a Grid

Let’s change the value of the fifth column, in the first row to 1. Then we’ll pull the records from MS SQL Server to a Visual Foxpro Grid that has a checkbox column.

=SQLExec(oHandle.nHandle,'Update MyDatabase.dbo.MyTAble Set isLeapYear = .F. where lpID = 9')

 So, this is how it should look like now. 

After we pulled the records from SQL Server, this is what a grid with a checkbox control would look like. Notice that the checkbox is automatically ticked because the underlying value in that column is .T. while the rest have .F. values. I will discuss how I created this checkbox in a grid  on a new post once I get a free time again.

Final Thoughts

Visual Foxpro is somehow lucky to have found its Logical values automatically converted by MS SQL Server to bit values. 

But another point worth considering for using a bit type field is that the SQL Server Database Engine optimizes storage of bit columns.  For example, if a table has less than 8 bit columns, all of the columns are stored as 1 byte. Having more than 8 bit columns but less than 16 will be stored as 2 bytes and so on.

As opposed to using an int type that always stores 1 byte or more per column, this is a great way to conserve server storage space if one is too concern about data normalization and storage conservation. 

Have a nice day!
Related Posts Plugin for WordPress, Blogger...