Guest User

Untitled

a guest
Apr 11th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.83 KB | None | 0 0
  1.  
  2.  
  3. FUNCTION computegovt(pempno,pdtpay,pgross)
  4. lempno = pempno
  5. ldtpay = pdtpay
  6. lgross = pgross
  7.  
  8. STORE 0 TO ltran_gross,ltran_ssr,ltran_ssy,ltran_mede,ltran_medr,ltran_ecc,ltran_hdmfe,ltran_pagr
  9.  
  10. SELECT dtpay,amt_gross,amt_tax,amt_ssy,amt_ssr,amt_ecc,amt_mede,amt_medr,amt_hdmf,amt_pagr ;
  11. FROM t_pay WHERE empno = lempno INTO CURSOR govtlst
  12.  
  13. SELECT govtlst
  14. GO TOP
  15. DO WHILE !EOF()
  16. IF LEFT(dtpay,2) = LEFT(ldtpay,2)
  17. IF dtpay = ldtpay
  18. SKIP
  19. LOOP
  20. ENDIF
  21. ltran_gross = ltran_gross + amt_gross
  22. ltran_ssr = ltran_ssr + amt_ssr
  23. ltran_ssy = ltran_ssy + amt_ssy
  24. ltran_mede = ltran_mede + amt_mede
  25. ltran_medr = ltran_medr + amt_medr
  26. ltran_ecc = ltran_ecc + amt_ecc
  27. ltran_hdmfe = ltran_hdmfe + amt_hdmf
  28. ltran_pagr = ltran_pagr + amt_pagr
  29. ENDIF
  30. SKIP
  31. ENDDO
  32.  
  33. lssr = (ssyer(ltran_gross+lgross) - ltran_ssr)
  34. lssy = (ssyee(ltran_gross+lgross) - ltran_ssy)
  35. lecc = (ecc(ltran_gross+lgross) - ltran_ecc)
  36. lmede = (mede(ltran_gross+lgross) - ltran_mede)
  37. lmedr = (medr(ltran_gross+lgross) - ltran_medr)
  38.  
  39. IF ltran_pagr > 100
  40. lpagr = 0.00
  41. ELSE
  42. lpagr = (ltran_gross+lgross)*.02
  43. lpagr = IIF(lpagr > 100,100-ltran_pagr,lpagr-ltran_pagr)
  44. ENDIF
  45.  
  46. lhdmfe = lpagr
  47.  
  48. SELECT t_pay
  49. REPLACE amt_ssy WITH lssy
  50. REPLACE amt_ssr WITH lssr
  51. REPLACE amt_ecc WITH lecc
  52. REPLACE amt_mede WITH lmede
  53. REPLACE amt_medr WITH lmedr
  54. REPLACE amt_hdmf WITH lhdmfe
  55. REPLACE amt_pagr WITH lpagr
  56.  
  57.  
  58. *annual tax computation
  59. SELECT cutoff
  60. SET ORDER TO dtpay
  61. SEEK ldtpay
  62.  
  63. STORE 0 TO lytax,lygross,lysss,lymede,lyhdmfe,ljntax,ldtax
  64.  
  65. Select govtlst
  66. Go Top
  67. Do While !Eof()
  68. If dtpay = ldtpay
  69. Skip
  70. Loop
  71. Endif
  72.  
  73. lygross = lygross + amt_gross
  74. lytax = lytax + amt_tax
  75. lysss = lysss + amt_ssy
  76. lymede = lymede + amt_mede
  77. lyhdmfe = lyhdmfe + amt_hdmf
  78.  
  79. If Left(dtpay,2)<'12'
  80. ljntax = ljntax + amt_tax
  81. Else
  82. ldtax = ldtax + amt_tax
  83. ENDIF
  84. SELECT govtlst
  85. Skip
  86. Enddo
  87.  
  88. ltotgross = (lygross+lgross+hrm.amt_pgross)-(lysss+lssy+hrm.amt_psss+lymede+lmede+hrm.amt_pmed+lyhdmfe+lhdmfe+ hrm.amt_phdmf)
  89.  
  90. If t_pay.lastpay = 'Y'
  91. Select tax_e
  92. Seek hrm.taxcode
  93. ltotex = Iif(Found(),tax_e.exem_amt,0.00)
  94.  
  95. ltotgross = ltotgross-ltotex
  96. ldue = anntax(ltotgross)
  97. ltax = ldue - (lytax + hrm.amt_ptax)
  98. Else
  99. ltotgross = (ltotgross*24)
  100. ltotgross = ltotgross/cutoff.divisor
  101. SELECT tax_e
  102. SEEK hrm.taxcode
  103. ltotex = IIF(FOUND(),tax_e.exem_amt,0.00)
  104. ltotgross = ltotgross-ltotex
  105. lamt_tax = anntax(ltotgross)
  106. ldue = (lamt_tax * cutoff.divisor)/24
  107. ltax = ldue - (lytax + hrm.amt_ptax)
  108.  
  109. IF hrm.taxexempt OR ltax<0
  110. ltax = 0
  111. ENDIF
  112. ENDIF
  113.  
  114. Select hrm
  115. Replace amt_ygross With lygross+lgross
  116. If Left(ldtpay,2)<'12'
  117. Replace amt_taxJN With ljntax + ltax
  118.  
  119. Else
  120. Replace amt_taxd With ldtax+ltax
  121. Endif
  122.  
  123. Select t_pay
  124. Replace amt_tax With ltax
  125.  
  126. SELECT t_pay
  127. REPLACE amt_tax WITH ltax
  128.  
  129. ENDFUNC
Advertisement
Add Comment
Please, Sign In to add comment