Python Forum
Fatal Python error: initfsencoding: unable to load the file system codec
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Fatal Python error: initfsencoding: unable to load the file system codec
#11
Look at zipimport.
In your first post you post there is a something not right about Python version.
Here 3.6.
(Nov-28-2018, 08:18 PM)gauravbhardwajee Wrote: Below is my current Python Version:
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
Then you post that Path is set about 3.7?
(Nov-28-2018, 08:18 PM)gauravbhardwajee Wrote: PYTHONHOME
C:\Users\gaurbhardwaj\AppData\Local\Programs\Python\Python37-32

PYTHONPATH
C:\Users\gaurbhardwaj\AppData\Local\Programs\Python\Python37-32\Lib\site-packages
Look at Python 3.6/3.7 and pip installation under Windows.
If you can post code,so can try it out.
Reply
#12
Hi Snippsat

I uninstalled the Python 3.6 and installed the Python 3.7:

Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.

I again did the pyinstall by using the below command :
pyinstaller.exe --onefile --windowed --name benefitenrollmentcompare benefitenrollmentcomparecoa.py

And tried to run the exe from cmd and got the below error:

File "benefitenrollmentcompare.exe", line 1
SyntaxError: Non-UTF-8 code starting with '\x90' in file benefitenrollmentcompare.exe on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details.

Below is the python script code:

#!/usr/local/bin/python
# coding: utf-8 -*-
import os, sys
import pandas
import sqlite3
from tkinter import *
import tkinter
import tkinter.messagebox
import csv
from xlsxwriter.workbook import Workbook
import urllib


def proces():
	
	conn = sqlite3.connect("bndb.db")
		
	c = conn.cursor()
	c.execute('''CREATE TABLE if not exists BEN_CONV_COMP_LEGACY_DATA
												(PERSON_NUMBER text, 
												PARTICIPANT_LAST_NAME text, 
												PARTICIPANT_FIRST_NAME text, 
												PGM_NAME text, 
												PLAN_TYPE text, 
												PLAN_NAME text, 
												OPTION_NAME text, 
												EFFECTIVE_START_DATE text, 
												EFFECTIVE_END_DATE	 text, 
												ENRT_CVG_THRU_DT text,	
												RT_STRT_DT text,		
												RT_END_DT text,	
												TX_TYP_CD	text,											
												CMCD_RT_VAL text, 
												--EMPLOYEE_PRETAX text, 
												--EMPLOYEE_AFTERTAX text, 
												--IMPUTED_INCOME text,
												COVERAGE_AMOUNT text, 
												SUSPENDED_ELECTIONS text, 
												PAYROLL_NAME text, 	
												ORGNL_ENRT_DT text,
												COVERAGE_STRT_DT text, 
												COVERAGE_END_DT text, 
												LIFE_EVT_NAME text, 
												LIFE_EVT_OCCURED_DT text,																		 
												ASSIGNMENT_STATUS text, 
												OTHER_PLAN_NAME text)''')
	c.execute('''delete from BEN_CONV_COMP_LEGACY_DATA''')	
	
	c.execute('''CREATE TABLE if not exists BEN_CONV_COMP_CLOUD_DATA
												(PERSON_NUMBER text, 
												PARTICIPANT_LAST_NAME text, 
												PARTICIPANT_FIRST_NAME text, 											
												PGM_NAME text, 
												PLAN_TYPE text, 
												PLAN_NAME text, 
												OPTION_NAME text, 
												TX_TYP_CD text, 
												RATE_VALUE text,
												COVERAGE_AMOUNT text,
												SUSPENDED_ELECTIONS text, 
												PAYROLL_NAME text,
												ORIGINAL_COVERAGE_STRT_DT text, 
												COVERAGE_STRT_DT text, 
												COVERAGE_END_DT text, 
												LIFE_EVT_NAME text, 
												LIFE_EVT_OCCURED_DT text, 
												ASSIGNMENT_STATUS text,																		
												OTHER_PLAN_NAME)''')
												
												
	c.execute('''delete from BEN_CONV_COMP_CLOUD_DATA''')
	c.execute('''CREATE TABLE if not exists BEN_CONV_CLOUD_PERSON_DATA(
								PERSON_NUMBER,
									PER_EFFECTIVE_START_DATE,
									PER_EFFECTIVE_END_DATE,
									LAST_NAME,
									FIRST_NAME,
									DATE_OF_BIRTH,
									DATE_OF_DEATH,
									USER_PERSON_TYPE,
									ORIGINAL_DATE_OF_HIRE,
									HIRE_DATE,
									TERMINATION_DATE,
									LEGAL_ENTITY_ID,
									LEGAL_EMPLOYER,
									PAYROLL_RELATIONSHIP_NUMBER,
									PPRD_START_DATE,
									PPRD_END_DATE,
									PAYROLL_NAME,
									ASSIGNMENT_NUMBER,
									ASG_EFFECTIVE_START_DATE,
									ASG_EFFECTIVE_END_DATE,
									ASSIGNMENT_STATUS_TYPE,
									EMPLOYMENT_CATEGORY,
									BARGAINING_UNIT,
									PEOPLE_GROUP,
									BENEFIT_BATCH_STATUS,
									SALARY,
									BENEFIT_RELATION_NAME,
									LOCATION,
									LOCATION_COUNTRY,
									LOCATION_COUNTY,
									LOCATION_STATE
									)''')
	c.execute('''delete from BEN_CONV_CLOUD_PERSON_DATA''')	
	
	c.execute('''CREATE TABLE if not exists STATIC_CROSS_REF
												(COUNTRY_CODE text,
												 REF_TYPE text, 
												LEGACY text, 
												CLOUD text)''')
	c.execute('''delete from STATIC_CROSS_REF''')												

											 
	df1 = pandas.read_csv("Legacy_Benefits_Employee.csv")
	df2 = pandas.read_csv("Cloud_Benefits_Employee.csv")
	df7 = pandas.read_csv("SCR.csv")
	df15 = pandas.read_csv("ALL Person Report.csv")#,encoding='latin-1')
	df1.to_sql("BEN_CONV_COMP_LEGACY_DATA", conn, if_exists='append', index=False)
	df2.to_sql("BEN_CONV_COMP_CLOUD_DATA", conn, if_exists='append', index=False)
	df7.to_sql("STATIC_CROSS_REF", conn, if_exists='append', index=False)
	df15.to_sql("BEN_CONV_CLOUD_PERSON_DATA", conn, if_exists='append', index=False)
	tkinter.messagebox.showwarning("Information","Please note that upload to staging table is complete, Compare is in progress.")
	c.execute('''select count(distinct person_number) from BEN_CONV_COMP_LEGACY_DATA''')
	(total_unique_person_num_legacy,) = c.fetchone()
	Entry.insert(E1,0,total_unique_person_num_legacy)
	print(total_unique_person_num_legacy)
		
	c.execute('''select distinct pgm_name from BEN_CONV_COMP_LEGACY_DATA''')
	legacy_pgm_name = c.fetchall()
	Entry.insert(E2,0,legacy_pgm_name)
	print(legacy_pgm_name)
		
	c.execute('''select count(distinct person_number) from BEN_CONV_COMP_CLOUD_DATA''')
	(total_unique_person_num_cloud,) = c.fetchone()
	Entry.insert(E3,0,total_unique_person_num_cloud)
	print(total_unique_person_num_cloud)
		
		
	c.execute('''select distinct pgm_name from BEN_CONV_COMP_CLOUD_DATA''')
	cloud_pgm_name = c.fetchall()
	Entry.insert(E4,0,cloud_pgm_name)
	print(legacy_pgm_name)
		
	c.execute('''select count(distinct cloud.person_number) total_person_
					from BEN_CONV_COMP_CLOUD_DATA cloud, BEN_CONV_COMP_LEGACY_DATA legacy
					where legacy.person_number=cloud.person_number''')
	unique_common_emp_count = c.fetchall()
	Entry.insert(E5,0,unique_common_emp_count)
	print(unique_common_emp_count)
	
	

	#Missing Plan Type in Cloud
	sql_statement16= '''
						select legacy2.* from BEN_CONV_COMP_LEGACY_DATA legacy2 ,( select  legacy.person_number,legacy.PGM_NAME PROGRAM_NAME,legacy.plan_type legacy_plan_type from BEN_CONV_COMP_LEGACY_DATA legacy, STATIC_CROSS_REF SCR
						where SCR.REF_TYPE = 'PLAN_TYPE'
						AND   LEGACY.PLAN_TYPE = SCR.LEGACY
						EXCEPT
						select cloud.person_number,cloud.PGM_NAME PROGRAM_NAME,scr.legacy legacy_plan_type
						from BEN_CONV_COMP_CLOUD_DATA CLOUD, STATIC_CROSS_REF SCR
						where 1=1
						AND   SCR.REF_TYPE = 'PLAN_TYPE'
						and SCR.CLOUD = CLOUD.PLAN_TYPE) det
						where legacy2.person_number=det.person_number
						and legacy2.pgm_name=det.PROGRAM_NAME
						and legacy2.plan_type=det.legacy_plan_type'''
	df16 = pandas.read_sql_query(sql_statement16,conn)	
	
	#Missing Plan Type in Legacy
	sql_statement17= '''
					select distinct cloud2.person_number,cloud2.pgm_name,cloud2.plan_type,cloud2.plan_name,
					cloud2.option_name,cloud2.coverage_amount,
					CLOUD2.ORIGINAL_COVERAGE_STRT_DT cloud_orig_enrt_date,
					CLOUD2.COVERAGE_STRT_dT cloud_cvg_start_date
					from BEN_CONV_COMP_CLOUD_DATA cloud2 ,( select cloud.person_number,cloud.PGM_NAME PROGRAM_NAME,scr.legacy missing_legacy_plan_type,CLOUD.plan_type cloud_plan_type 
										from BEN_CONV_COMP_CLOUD_DATA CLOUD, STATIC_CROSS_REF SCR
										where 1=1
										AND   SCR.REF_TYPE = 'PLAN_TYPE'
										and SCR.CLOUD = CLOUD.PLAN_TYPE
										EXCEPT
										select  legacy.person_number,legacy.PGM_NAME PROGRAM_NAME,legacy.plan_type missing_legacy_plan_type,SCR.CLOUD cloud_plan_type from BEN_CONV_COMP_LEGACY_DATA legacy, STATIC_CROSS_REF SCR
										where SCR.REF_TYPE = 'PLAN_TYPE'
										AND   LEGACY.PLAN_TYPE = SCR.LEGACY) det
					where cloud2.person_number=det.person_number
					and cloud2.pgm_name=det.PROGRAM_NAME
					and cloud2.plan_type=det.cloud_plan_type
					;'''
	df17 = pandas.read_sql_query(sql_statement17,conn)	
	#To validate Plans
	sql_statement1= '''select cloud.person_number,CLOUD.PGM_NAME PROGRAM_NAME, CLOUD.PLAN_NAME cloud_plan , LEGACY.PLAN_NAME legacy_plan_name,CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
						LEGACY.OPTION_NAME LEGACY_OPTION_NAME , CLOUD.ORIGINAL_COVERAGE_STRT_DT cloud_orig_enrt_date,LEGACY.ORGNL_ENRT_DT legacy_orig_enrt_date,
					CLOUD.COVERAGE_STRT_dT cloud_cvg_start_date ,   LEGACY.COVERAGE_STRT_dT legacy_cvg_start_date,
					 ( select BENEFIT_BATCH_STATUS from BEN_CONV_CLOUD_PERSON_DATA hr where hr.PERSON_NUMBER=cloud.person_number) benefit_conversion_status 
						FROM BEN_CONV_COMP_CLOUD_DATA CLOUD, BEN_CONV_COMP_LEGACY_DATA LEGACY, 
						STATIC_CROSS_REF SCR,STATIC_CROSS_REF SCR2
						WHERE CLOUD.PERSON_NUMBER=LEGACY.PERSON_NUMBER
						AND CLOUD.PGM_NAME=LEGACY.PGM_NAME
						AND SCR.CLOUD=CLOUD.PLAN_NAME
						AND SCR.REF_TYPE='PLAN_NAME'	
						AND   SCR2.REF_TYPE = 'PLAN_TYPE'
					    AND   CLOUD.PLAN_TYPE = SCR2.CLOUD
					    AND   LEGACY.PLAN_TYPE = SCR2.LEGACY						
						AND SCR.LEGACY <> LEGACY.PLAN_NAME'''
	df3 = pandas.read_sql_query(sql_statement1,conn)
	
	#Validate Option

	sql_statement2= '''select cloud.person_number,CLOUD.PGM_NAME PROGRAM_NAME, CLOUD.PLAN_NAME cloud_plan , LEGACY.PLAN_NAME legacy_plan_name,CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
						LEGACY.OPTION_NAME LEGACY_OPTION_NAME ,CLOUD.ORIGINAL_COVERAGE_STRT_DT cloud_orig_enrt_date,LEGACY.ORGNL_ENRT_DT legacy_orig_enrt_date,
					CLOUD.COVERAGE_STRT_dT cloud_cvg_start_date ,   LEGACY.COVERAGE_STRT_dT legacy_cvg_start_date,
					 ( select BENEFIT_BATCH_STATUS from BEN_CONV_CLOUD_PERSON_DATA hr where hr.PERSON_NUMBER=cloud.person_number) benefit_conversion_status 
						FROM BEN_CONV_COMP_CLOUD_DATA CLOUD, BEN_CONV_COMP_LEGACY_DATA LEGACY, STATIC_CROSS_REF SCR,
						STATIC_CROSS_REF SCr2,STATIC_CROSS_REF SCR3
						WHERE CLOUD.PERSON_NUMBER=LEGACY.PERSON_NUMBER
						AND CLOUD.PGM_NAME=LEGACY.PGM_NAME
						AND SCR.CLOUD=CLOUD.PLAN_NAME
						AND SCR.REF_TYPE='PLAN_NAME'
						AND SCR3.REF_TYPE='PLAN_TYPE'
                        AND CLOUD.PLAN_TYPE=SCR3.CLOUD
                        AND LEGACY.PLAN_TYPE=SCR3.LEGACY
						and scr2.cloud=cloud.option_name
						AND SCR2.REF_TYPE='OPTION_NAME'
						AND SCR2.LEGACY <> LEGACY.OPTION_NAME'''
	df4 = pandas.read_sql_query(sql_statement2,conn)
	
	#Emps_Missing_In_Cloud
	sql_statement3= '''SELECT  person_number,pgm_name,plan_type, plan_name, option_name,ORGNL_ENRT_DT,COVERAGE_STRT_dT,reason1,
    person_number reason2,
    CASE
            WHEN salary = 0  THEN 'Salary is null'
            ELSE 'Salary Exist'
        END
    reason3,
    CASE
            WHEN payroll_name = 'NA'  THEN 'Payroll is null'
            ELSE 'Payroll Exist'
        END
    reason4,
    CASE
            WHEN benefit_batch_status = 'ERROR'  THEN 'Benefit Conversion Error'
            ELSE null
        END
    reason5
	FROM
    (
        SELECT legacy.person_number,NULL reason1,hr.person_number,
            ifnull(hr.salary,0) salary,
            ifnull(hr.payroll_name,'NA') payroll_name,
            ifnull(hr.BENEFIT_BATCH_STATUS,'NA') benefit_batch_status,
            legacy.*
        FROM
            ben_conv_comp_legacy_data legacy,
            ben_conv_cloud_person_data hr
        WHERE
            legacy.person_number NOT IN (
                SELECT
                    person_number
                FROM
                    ben_conv_comp_cloud_data
            )
            AND   hr.person_number = legacy.person_number
            AND   hr.termination_date IS NULL
    ) a
UNION ALL
SELECT
    legacy.person_number,
    legacy.pgm_name,
    legacy.plan_type,
    legacy.plan_name,
    legacy.option_name,LEGACY.ORGNL_ENRT_DT, LEGACY.COVERAGE_STRT_dT,
    'Person is Terminated' reason1,
    NULL reason2,
    NULL reason3,
    NULL reason4,
    null reason5
FROM
    ben_conv_comp_legacy_data legacy,
    ben_conv_cloud_person_data hr
WHERE
    legacy.person_number NOT IN (
        SELECT
            person_number
        FROM
            ben_conv_comp_cloud_data
    )
    AND   hr.person_number = legacy.person_number
    AND   hr.termination_date IS NOT NULL
UNION ALL
SELECT
    legacy.person_number,
    legacy.pgm_name,
    legacy.plan_type,
    legacy.plan_name,
    legacy.option_name,LEGACY.ORGNL_ENRT_DT, LEGACY.COVERAGE_STRT_dt,
    'Person does not exist in HR' reason1,
    NULL reason2,
    NULL reason3,
    NULL reason4,
    null reason5
FROM
    ben_conv_comp_legacy_data legacy
WHERE
    legacy.person_number NOT IN (
        SELECT
            person_number
        FROM
            ben_conv_comp_cloud_data
    )
    AND   legacy.person_number NOT IN (
        SELECT
            hr.person_number
        FROM
            ben_conv_cloud_person_data hr
    );'''
	df5 = pandas.read_sql_query(sql_statement3,conn)
	
	#Emps_Missing_In_Legacy
	sql_statement4= '''select * from BEN_CONV_COMP_cloud_DATA
						where person_number not in (
						select person_number from BEN_CONV_COMP_LEGACY_DATA );'''
	df6 = pandas.read_sql_query(sql_statement4,conn)
	
	
	sql_statement5= '''select * from BEN_CONV_COMP_cloud_DATA
						where person_number not in (
						select person_number from BEN_CONV_COMP_LEGACY_DATA );'''
	df10 = pandas.read_sql_query(sql_statement5,conn)
	# VALDIATE EMPLOYER RATE
	sql_statement6= '''
					SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					CLOUD.RATE_VALUE CLOUD_EMPLOYER_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMPLOYER_RATE ,
					CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR2.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR2.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR2.LEGACY
					AND   SCR.LEGACY = LEGACY.PLAN_NAME
					AND   CLOUD.OPTION_NAME IS NULL
					AND   LEGACY.OPTION_NAME IS NULL
					AND   CLOUD.TX_TYP_CD = 'NOTAPPLICABLE'
					AND   LEGACY.TX_TYP_CD='NOTAPPLICABLE'
					AND   (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL)<>0
					AND   ROUND( (CLOUD.RATE_VALUE  - LEGACY.CMCD_RT_VAL),2) <>.01
					AND   ROUND( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>-.01
				UNION ALL
				SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE  CLOUD_EMPLOYER_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMPLOYER_RATE,
					CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2,
					STATIC_CROSS_REF SCR3
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   CLOUD.PLAN_TYPE = LEGACY.PLAN_TYPE
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR3.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR3.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR3.LEGACY
					AND   SCR2.CLOUD = CLOUD.OPTION_NAME
					AND   SCR2.REF_TYPE = 'OPTION_NAME'
					AND   SCR2.LEGACY = LEGACY.OPTION_NAME
					AND   CLOUD.TX_TYP_CD = 'NOTAPPLICABLE'
					AND   LEGACY.TX_TYP_CD='NOTAPPLICABLE'
					AND   (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL)<>0
					AND   ROUND( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>.01
					AND   ROUND( (CLOUD.RATE_VALUE  - LEGACY.CMCD_RT_VAL),2) <>-.01'''
	df11 = pandas.read_sql_query(sql_statement6,conn)
	# VALDIATE Employee Pre Tax RATE
	sql_statement7= '''
					SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE  CLOUD_EMP_PRETAX_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMP_PRETAX_RATE ,
                                 CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                                 LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT                        
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR2.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR2.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR2.LEGACY
					AND   SCR.LEGACY = LEGACY.PLAN_NAME
					AND   CLOUD.OPTION_NAME IS NULL
					AND   LEGACY.OPTION_NAME IS NULL
					AND   CLOUD.TX_TYP_CD = 'PRETAX'
					AND LEGACY.TX_TYP_CD ='PRETAX'
					AND  ( CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL) <>0
					AND   ROUND( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>.01
					AND   ROUND( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>-.01
				UNION ALL
				SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE  CLOUD_EMP_PRETAX_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMP_PRETAX_RATE,
                                 CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                                 LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT 
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2,
					STATIC_CROSS_REF SCR3
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   CLOUD.PLAN_TYPE = LEGACY.PLAN_TYPE
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR3.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR3.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR3.LEGACY
					AND   SCR2.CLOUD = CLOUD.OPTION_NAME
					AND   SCR2.REF_TYPE = 'OPTION_NAME'
					AND   SCR2.LEGACY = LEGACY.OPTION_NAME
					AND   CLOUD.TX_TYP_CD = 'PRETAX'
					AND LEGACY.TX_TYP_CD ='PRETAX'
					AND  (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL)<>0
					AND   ROUND( (CLOUD.RATE_VALUE- LEGACY.CMCD_RT_VAL),2) <>.01
					AND   ROUND( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>-.01'''
	df12 = pandas.read_sql_query(sql_statement7,conn)
	
	# VALDIATE Employee After Tax RATE
	sql_statement8= '''
					SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE CLOUD_EMP_AFTERTAX_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMP_AFTERTAX_RATE ,
                    CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT                        
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR2.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR2.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR2.LEGACY
					AND   SCR.LEGACY = LEGACY.PLAN_NAME
					AND   CLOUD.OPTION_NAME IS NULL
					AND   LEGACY.OPTION_NAME IS NULL
					AND   CLOUD.TX_TYP_CD = 'AFTERTAX'
					AND   LEGACY.TX_TYP_CD = 'AFTERTAX'
					AND   (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL)<>0
					AND  round( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>.01
					AND  round( (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>-.01
				UNION ALL
				SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE  CLOUD_EMP_AFTERTAX_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMP_AFTERTAX_RATE,
                    CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT 
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2,
					STATIC_CROSS_REF SCR3
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   CLOUD.PLAN_TYPE = LEGACY.PLAN_TYPE
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR3.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR3.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR3.LEGACY
					AND   SCR2.CLOUD = CLOUD.OPTION_NAME
					AND   SCR2.REF_TYPE = 'OPTION_NAME'
					AND   SCR2.LEGACY = LEGACY.OPTION_NAME
					AND   CLOUD.TX_TYP_CD = 'AFTERTAX'
					AND   LEGACY.TX_TYP_CD = 'AFTERTAX'
					AND      (CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL)<>0
					AND   round((CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>.01
					AND   round((CLOUD.RATE_VALUE - LEGACY.CMCD_RT_VAL),2) <>-.01'''
	df13 = pandas.read_sql_query(sql_statement8,conn)
	
	
	# VALDIATE Covergae Amount
	sql_statement9= '''SELECT distinct
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					CLOUD.RATE_VALUE CLOUD_EMPLOYER_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMPLOYER_RATE ,
					CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT,CLOUD.ORIGINAL_COVERAGE_STRT_DT cloud_orig_enrt_date,LEGACY.ORGNL_ENRT_DT legacy_orig_enrt_date,
					CLOUD.COVERAGE_STRT_dT cloud_cvg_start_date ,   LEGACY.COVERAGE_STRT_dT legacy_cvg_start_date
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR2.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR2.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR2.LEGACY
					AND   SCR.LEGACY = LEGACY.PLAN_NAME
					AND   CLOUD.OPTION_NAME IS NULL
					AND   LEGACY.OPTION_NAME IS NULL
					--AND   CLOUD.TX_TYP_CD = 'NOTAPPLICABLE'
					AND   ifnull(CLOUD.coverage_amount,0) - ifnull(LEGACY.coverage_amount,0)<>0					
				UNION ALL
				SELECT
					CLOUD.PERSON_NUMBER,
					CLOUD.PGM_NAME PROGRAM_NAME,
					CLOUD.PLAN_NAME CLOUD_PLAN,
					LEGACY.PLAN_NAME LEGACY_PLAN_NAME,
					CLOUD.OPTION_NAME CLOUD_OPTION_NAME,
					LEGACY.OPTION_NAME LEGACY_OPTION_NAME,
					--ROUND( ( (CLOUD.RATE_VALUE * 26) / 12),2) 
					CLOUD.RATE_VALUE  CLOUD_EMPLOYER_RATE,
					LEGACY.CMCD_RT_VAL LEGACY_EMPLOYER_RATE,
					CLOUD.COVERAGE_AMOUNT CLOUD_COVERAGE_AMOUNT,
                    LEGACY.COVERAGE_AMOUNT LEGACY_COVERAGE_AMOUNT,CLOUD.ORIGINAL_COVERAGE_STRT_DT,LEGACY.ORGNL_ENRT_DT, CLOUD.COVERAGE_STRT_dT,   LEGACY.COVERAGE_STRT_dT
				FROM
					BEN_CONV_COMP_CLOUD_DATA CLOUD,
					BEN_CONV_COMP_LEGACY_DATA LEGACY,
					STATIC_CROSS_REF SCR,
					STATIC_CROSS_REF SCR2,
					STATIC_CROSS_REF SCR3
				WHERE
					CLOUD.PERSON_NUMBER = LEGACY.PERSON_NUMBER
					AND   CLOUD.PGM_NAME = LEGACY.PGM_NAME
					AND   CLOUD.PLAN_TYPE = LEGACY.PLAN_TYPE
					AND   SCR.CLOUD = CLOUD.PLAN_NAME
					AND   SCR.REF_TYPE = 'PLAN_NAME'
					AND   SCR3.REF_TYPE = 'PLAN_TYPE'
					AND   CLOUD.PLAN_TYPE = SCR3.CLOUD
					AND   LEGACY.PLAN_TYPE = SCR3.LEGACY
					AND   SCR2.CLOUD = CLOUD.OPTION_NAME
					AND   SCR2.REF_TYPE = 'OPTION_NAME'
					AND   SCR2.LEGACY = LEGACY.OPTION_NAME
					--AND   CLOUD.TX_TYP_CD = 'NOTAPPLICABLE'
					AND   ifnull(CLOUD.coverage_amount,0) - ifnull(LEGACY.coverage_amount,0)<>0'''
	df14 = pandas.read_sql_query(sql_statement9,conn)
	
	with pandas.ExcelWriter("Enrollments.xlsx") as writer1:
			
		df3.to_excel(writer1, sheet_name="Plan_Mismatch",index=False)
		df4.to_excel(writer1, sheet_name="Option_Mismatch",index=False)	
		df5.to_excel(writer1, sheet_name="Emps_Missing_In_Cloud",index=False)
		df6.to_excel(writer1, sheet_name="Emps_Missing_In_Legacy",index=False)
		df11.to_excel(writer1, sheet_name="Employer Rate Mismatch",index=False)
		df12.to_excel(writer1, sheet_name="EE Pretax Rate Mismatch",index=False)
		df13.to_excel(writer1, sheet_name="EE Aftertax Rate Mismatch",index=False)
		df14.to_excel(writer1, sheet_name="Covergae Amount Mismatch",index=False)
		df16.to_excel(writer1, sheet_name="Plan Type missing in Cloud",index=False)
		df17.to_excel(writer1, sheet_name="Plan Type missing in Legacy",index=False)
		
		
	tkinter.messagebox.showwarning("Information","Benefit_Cloud_vs_Legacy_Enrollments.xlsx file generated successfully")		
	conn.commit()
	conn.close()
			

top = tkinter.Tk()	
top.title('Compare Tool')
top.iconbitmap('myicon.ico')
top.geometry("800x500")
top.configure(background='silver')

L1 = Label(top, text="Welcome to Tool!", fg="black",bg = "light green").grid(row=1,column=2,padx=20, pady=20)
L2 = Label(top,justify=CENTER, text="Total Unique Emps in Legacy", fg="black",bg = "light green").grid(row=2,column=0,sticky=E)
L3 = Label(top,justify=CENTER, text="Legacy Program Name", fg="black",bg = "light green").grid(row=3,column=0,sticky=E)
L4 = Label(top,justify=CENTER, text="Total Unique Emp in Cloud", fg="black",bg = "light green").grid(row=4,column=0,sticky=E)
L5 = Label(top,justify=CENTER, text="Cloud Program Name", fg="black",bg = "light green").grid(row=5,column=0,sticky=E)
L6 = Label(top,justify=CENTER, text="Total Common Emps in Cloud and Legacy", fg="black",bg = "light green").grid(row=6,column=0,sticky=E)
E1 = Entry(top, bd =5)
E1.grid(row=2,column=2)
E2 = Entry(top, bd =5)
E2.grid(row=3,column=2)
E3 = Entry(top, bd =5)
E3.grid(row=4,column=2)
E4 = Entry(top, bd =5)
E4.grid(row=5,column=2)
E5 = Entry(top, bd =5)
E5.grid(row=6,column=2)
B=Button(top, justify=CENTER,text ="Click here to Upload files and Compare",command = proces,bg = "grey").grid(row=10,column=2,sticky=E,padx=20, pady=20)

top.mainloop()
Thanks again for all your help!

Thanks
Gaurav
Reply
#13
Hi,

You may check:
(1) you may have installed the python at a different path,
(2) Currently, that path is unreachable
(3) look at the environment variables
(4) default installation path is user specific path, currently you are not logged-in using the same user.


Barkat P
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \ Jack_Sparrow 8 128,305 Jul-17-2021, 10:01 AM
Last Post: Afy555
  Error : (FileNotFoundError(2, 'The system cannot find the file specified', None, 2, Shipika 3 3,534 Nov-25-2019, 02:39 PM
Last Post: buran
  Fatal Python error: Aborted rohitlal125555 0 3,507 Nov-12-2019, 05:43 AM
Last Post: rohitlal125555
  Unable to identify Tuple index error appmkl 4 4,689 Jun-28-2019, 10:12 AM
Last Post: appmkl
  Is there any way to properly load fixed width file into a dataframe using Pandas? vicky53 1 3,064 Mar-29-2019, 06:04 PM
Last Post: Larz60+
  Load .abf file and for analysis with Pandas finalcode 0 2,995 Nov-10-2018, 09:51 AM
Last Post: finalcode
  save 2d array to file and load back ian 3 18,269 May-18-2018, 05:00 AM
Last Post: scidam
  Newbie, can't load csv file. david_ford 2 6,569 Apr-15-2018, 01:51 PM
Last Post: snippsat
  Unable to create vtu file from python tady57 2 4,619 Dec-01-2017, 09:58 PM
Last Post: Larz60+
  Unable to understand reason for error IndexError: tuple index out of range rajat2504 4 54,127 Dec-09-2016, 11:04 AM
Last Post: Kebap

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020