Showing posts with label C#. Show all posts
Showing posts with label C#. Show all posts

Monday, 8 July 2019

Aplikasi Pembayaran SPP dan Daftar Ulang Dengan C# MySql

Postingan kali ini saya akan share aplikasi pembayaran SPP dan Daftar Ulang sederhana berbasis desktop yang dibuat deangan visual studio (C#) dan MySql. dalam aplikasi ini terdapat beberpa master data antara lain, data siswa, data spp siswa per-tahun ajaran, data biaya daftar ulang siswa per-tahun ajaran, data kelas siswa. untuk transaksinya ada dua yaitu pembayaran SPP dan Pembayaran Daftar ulang, dan terdapat laporan rekap pembayaran SPP dan rekap pembayaran Daftar ulang. Untuk tampilan aplikasi seperti berikut :

Tampilan awal adalah untuk konek ke server, pilih server lalu double klik tombol konek ke server atau bisa langsung double klik nama servernya.

 

Setelah berhasil konek ke server, selanjutnya memasukkan user ID dan password untuk login.


 Setelah login berhasil akan muncul tampilan utama dari aplikasi ini


menu untuk menambah, edit dan hapus data siswa



form untuk mengupdate kelas siswa


Form laporan data siswa, dalam laporan ini bisa menampilkan data siswa berdasarkan kelas




form master SPP siswa per-bulan dalam satu ajaran, untuk menambah data SPP siswa bisa kelik tombol tambah seperti yang ditandai kotak merah


setelah klik button tambah akan muncul form untuk mengisikan jumlah SPP perbulan siswa, kita masukkan nomer induk siswa lalu tekan enter dan isikan nominal SPP perbulan lalu tekan save.


setelah tekan save listnya akan langsung muncul seperti berikut


Master biaya daftar ulang siswa


 tambah biaya daftar ulang siswa


Master data kelas


Transaksi pembayaran SPP






Transaksi pembayaran biaya daftar ulang, dalam daftar ulang ini terdapat pembayaran SPP satu bulang, untuk otomatis melakukan pembayaran SPP satu bulang centang Lunasi SPP satu bulang lalu pilih bulan berapa yang mau di lunasi dan tekan save



berikut ini adalah laporan rekapitulasi pembayaran SPP, dimana ada yang dibayarkan dari daftar ulang dan daftar SPP secara langsung, akan ada keterangan jika SPP dibayar otomatis dari daftar ulang


laporan pembayaran daftar ulang



data rekapitulasi daftar ulang, pada laporan ini akan terlihat berapa jumlah daftar ulang yang sudah dibayarkan dan sisa tunggakan tinggal berapa serta ada keterangan tanggal pembayaran dan keterangan.





sekian postingan kali ini :D

Wednesday, 5 September 2018

Download SAP Data Dengan RFC & C# WCF Web Service dan SQL Server Part2

Ok melanjutkan postingan saya Sebelumnya untuk membuat wcf web service dengan Visual Studio 2015. langsung saja buka Visual Studio-nya dan buat project baru


Setelah membuat project baru, selanjutnya kita tambahkan libarary RFC Connector kedalam project dengan cara klik kanan pada References->Add Reference


lalu pilih sapnco.dll dan sapnco_util.dll, untuk library nya bisa di download DISINI


kemudian kita tambahkan satu class baru kedalam project dengan nama rfc_Connector


dan didalam class rfc_Connector kita implement interface IDestinationConfiguration dan jangan lupa import name space SAP.Middleware.Connector 




lalu pada bagian RfcConfigParameters tambahkan source code berikut :



lalu kita tambahkan dataset baru kedalam project :




kemudian kita tambahkan table adapter didalam dataset, ikuti gambar berikut untuk menambah table adapter














Kemudian kita tambahkan satu class baru lagi kedalam project dengan nama GlobalData



tambahkan global.asax




Buka file IService1 dan tambah source code berikut :


Buka file Service1.svc dan implement interface yang sudah kita tambahkan pada Iservice1 dan tambahkan name space seperti pada gambar


setelah kita implement interface maka akan terbentuk sebuah method baru dengan nama Download_ZMARA




Berikut Source Code lengkap didalam Service1.svc

string message;
        string status;
        public string Download_ZMARA(string matnr)
        {
            try
            {
                IRfcFunction getDataSAP = GlobalData.rfcRepository.CreateFunction("ZDLMARA");
                getDataSAP.SetValue("P_MATNR", matnr);

                try
                {
                    getDataSAP.Invoke(GlobalData.rfcDestination);
                }
                catch (Exception ex)
                {

                    if (ex.Message.Contains("DATA_NOT_FOUND"))
                    {
                        status = "sukses";
                    }
                    else
                    {
                        status = "gagal";
                    }


                    message = "SAP ZDLMARA ";
                    message += ex.Message;
                    return message;
                }


                IRfcTable IT_MARA = getDataSAP.GetTable("IT_MARA");
                DataSet1 dsUniversal = new DataSet1();

                DataTable dtMARA = dsUniversal.Tables["ZMARA"];

                dtMARA = CreateDataTable(dtMARA, IT_MARA);

                SqlConnection con = GetSQLConn();
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                SqlTransaction transaction = con.BeginTransaction();

                SqlCommand command = new SqlCommand("SP_Update_ZMARA", con);
                command.Transaction = transaction;
                command.Parameters.Add(new SqlParameter("@tblZmara", SqlDbType.Structured));
                command.Parameters["@tblZmara"].Value = dtMARA;
                command.Parameters["@tblZmara"].TypeName = "zmaraType";

                command.CommandType = System.Data.CommandType.StoredProcedure;
                command.CommandTimeout = 600000;
                int result = command.ExecuteNonQuery();

                transaction.Commit();
                transaction.Dispose();
                IT_MARA.Clear();
                message = "Download data completed. ";
                message += "ZMARA :" + dtMARA.Rows.Count + " rows. ";
            }
            catch (Exception x)
            {
                return x.Message;
            }

            return message;
        }


        public string GetAppSetting(string key)
        {
            try
            {
                return ConfigurationManager.AppSettings[key];
            }
            catch (Exception)
            {
                return "";
            }
        }

        public SqlConnection GetSQLConn()
        {
            string ConnString = GetAppSetting("ConnString");
            SqlConnection koneksi = new SqlConnection(ConnString);
            return koneksi;
        }

        rfc_Connector konstruktor = new rfc_Connector();

        //function for register to SAP server
        public void Register()
        {

            if (RfcDestinationManager.IsDestinationConfigurationRegistered())
            {
                rfc_Connector konstruktor = new rfc_Connector();
                RfcDestinationManager.UnregisterDestinationConfiguration(konstruktor);
            }
            RfcDestinationManager.RegisterDestinationConfiguration(konstruktor);

        }

        public static DataTable CreateDataTable(DataTable dt, IRfcTable rfcTable)
        {
            foreach (IRfcStructure row in rfcTable)
            {
                DataRow newRow = dt.NewRow();
                for (int element = 0; element < rfcTable.ElementCount; element++)
                {
                    RfcElementMetadata metadata = rfcTable.GetElementMetadata(element);
                    var nrow = newRow[element];
                    var rrow = row.GetString(metadata.Name);
                    newRow[element] = row.GetString(metadata.Name);

                }
                dt.Rows.Add(newRow);
            }

            return dt;

        }

Configurasi web config






sampai disini web service sudah bisa kita jalankan dan coba download data sap, kita cek apakah data berhasil masuk ke database SQL Server atau tidak.


tambahan sedikit, jika menemukan error kurang lebih seperti gambar berikut :


cara mengatasinya adalah masuk ke regedit :
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebProjects
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\WebProjects

terus double klik Use64BitIISExpress lalu ruba nilai 0 jadi 1 kemudia restart visual studio dan IIS lalu jalankan kembali web service nya.


ok cukup sekian sharing kali ini semoga bermanfaat. :D, yang berminat project lengkapnya bisa tulis email dikolom komentar :D

Belajar SAP ABAP RAP

  Belajar SAP ABAP RAP: Pengenalan dan Konsep Dasar Restful ABAP Programming Model Kalau kamu seorang ABAPer yang mulai terjun ke dunia SAP...