Showing posts sorted by relevance for query PHP. Sort by date Show all posts
Showing posts sorted by relevance for query PHP. Sort by date Show all posts

Tuesday, 16 October 2018

PHP MySql CRUD Dengan Konsep MVC

Pada postingan kali ini saya akan sharing cara membuat CRUD dengan php menggunakan konsep MVC, ok langsung saja buka code editor (saya menggunakan sublime text) dan buat folder baru dengan nama phpmvc didalam folder htdocs kalian dan tambah folder seperti berikut : 



Setelah itu kita siapkan database di mysql, buat database dengan nama phpmvc dan tablenya seperti gambar berikut :



tambahkan file config.php didalam folder app/config :


<?php

define('BASEURL', 'http://localhost:8181/phpmvc/public');
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'phpmvc');

kemudian tambahkan 3 file controller didalam folder app/controllers, yaitu Home, About, dan Mahasiswa :

Home.php

<?php

class Home extends Controller {
public function index()
{
$data['nama'] = $this->model('User_model')->getUser();
$data['title'] = 'Halaman Home';

$this->view('templates/header', $data);
$this->view('home/index', $data);
$this->view('templates/footer');
}

}

About.php

<?php

class About extends Controller{

public function index($nama = 'bejo', $pekerjaan = 'guru'){
$data['title'] = 'Halaman About';
$this->view('templates/header', $data);
$this->view('about/index');
$this->view('templates/footer');
}

}

Mahasiswa.php

<?php

class Mahasiswa extends Controller {
public function index(){
$data['title'] = 'Data Mahasiswa';
$data['mhs'] = $this->model('Mahasiswa_model')->getAllMhasiswa();
$this->view('templates/header', $data);
$this->view('mahasiswa/index', $data);
$this->view('templates/header');
}

public function detail($id){

$data['title'] = 'Detail Mahasiswa';
$data['mhs'] = $this->model('Mahasiswa_model')->getAllMhasiswaById($id);
$this->view('templates/header', $data);
$this->view('mahasiswa/detail', $data);
$this->view('templates/header');
}

public function edit($id){

$data['title'] = 'Detail Mahasiswa';
$data['mhs'] = $this->model('Mahasiswa_model')->getAllMhasiswaById($id);
$this->view('templates/header', $data);
$this->view('mahasiswa/edit', $data);
$this->view('templates/header');
}

public function tambah(){
$data['title'] = 'Tambah Mahasiswa';
$this->view('templates/header', $data);
$this->view('mahasiswa/tambah');
$this->view('templates/header');
}

public function simpanmahasiswa(){
$nim     = $_POST['nim'];
$nama    = $_POST['nama'];
$jurusan = $_POST['jurusan'];
$data['mhs'] = $this->model('Mahasiswa_model')->tambahMahasiswa($nim,$nama,$jurusan);
// return $this->index();
header('location:../mahasiswa');
}

public function updateMahasiswa(){
$nim     = $_POST['nim'];
$nama    = $_POST['nama'];
$jurusan = $_POST['jurusan'];
$data['mhs'] = $this->model('Mahasiswa_model')->updateMahasiswa($nim,$nama,$jurusan);
// return $this->index();
header('location:../mahasiswa');
}

public function hapus($id){
$data['mhs'] = $this->model('Mahasiswa_model')->deleteMhs($id);
// return $this->index();
header('location:../../mahasiswa');
}
}

Tambah 3 file didalam folder app/core : App.php, Controller.php, Database.php

App.php

<?php

class App{

protected $controller = 'Home';
protected $method = 'index';
protected $params = [];

public function __construct(){
$url = $this->parseURL();

if(file_exists('../app/controllers/' . $url[0] . '.php')){
$this->controller = $url[0];
unset($url[0]);
}

require_once '../app/controllers/' . $this->controller . '.php';
$this->controller = new $this->controller;

if(isset($url[1])){
if(method_exists($this->controller, $url[1])){
$this->method = $url[1];
unset($url[1]);
}
}

if(!empty($url)){
$this->params = array_values($url);
}

//jalankan controller
call_user_func_array([$this->controller, $this->method], $this->params);
}

public function parseURL(){
if( isset($_GET['url'])){
$url = rtrim($_GET['url'], '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$url = explode('/',$url);
return $url;
}
}

}

Controller.php

<?php

class Controller{
public function view($view, $data = [])
{
require_once '../app/views/' . $view . '.php';
}

public function model($model)
{
require_once '../app/models/' . $model . '.php';
return new $model;
}

}

Database.php

<?php

class Database{
private $host = DB_HOST;
private $user = DB_USER;
private $pass = DB_PASS;
private $dbnm = DB_NAME;

private $dbh;
private $stmt;

public function __construct()
{
$dsn = 'mysql:host='. $this->host .';dbname='. $this->dbnm;

$option = [
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
];

try{
$this->dbh = new PDO($dsn,$this->user,$this->pass, $option);
}catch(PDOException $e){
die($e->getMessage());
}
}


public function query($query)
{
$this->stmt = $this->dbh->prepare($query);
}

public function bind($param, $value, $type = null){
if(is_null($type)){
switch (true) {
case is_int($value):
$type = PDO::PARAM_INT;
break;
case is_bool($value):
$type = PDO::PARAM_BOOL;
break;
case is_null($value):
$type = PDO::PARAM_NULL;
break;
default:
$type = PDO::PARAM_STR;
}
}

$this->stmt->bindValue($param, $value, $type);
}

public function execute()
{
$this->stmt->execute();
}

public function resultSet()
{
$this->execute();
return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
}

public function single()
{
$this->execute();
return $this->stmt->fetch(PDO::FETCH_ASSOC);
}
}



tambahkan model didalam folder models : Mahasiswa_model.php

<?php

class Mahasiswa_model{

private $table = 'mahasiswa';
private $db;

public function __construct()
{
$this->db = new Database;
}

public function getAllMhasiswa()
{
$this->db->query('SELECT * FROM ' . $this->table);
return $this->db->resultSet();
}

public function getAllMhasiswaById($id)
{
$this->db->query('SELECT * FROM ' . $this->table . ' WHERE id=:id');
$this->db->bind('id',$id);
return $this->db->single();
}

public function tambahMahasiswa($nim, $nama, $jurusan)
{
$this->db->query('INSERT INTO ' . $this->table . '(nim, nama, jurusan) VALUES(:nim, :nama, :jurusan)');
$this->db->bind('nim',$nim);
$this->db->bind('nama',$nama);
$this->db->bind('jurusan',$jurusan);
$this->db->execute();
}

public function updateMahasiswa($nim, $nama, $jurusan)
{
$this->db->query('UPDATE ' . $this->table . ' SET nama=:nama, jurusan=:jurusan WHERE nim=:nim');
$this->db->bind('nim',$nim);
$this->db->bind('nama',$nama);
$this->db->bind('jurusan',$jurusan);
$this->db->execute();
}

public function deleteMhs($id)
{
$this->db->query('DELETE FROM ' . $this->table . ' WHERE id=:id');
$this->db->bind('id',$id);
$this->db->execute();
}

}

didalam folder view tambahkan folder untuk masing-masing controller yaitu : folder home, about, mahasiswa dan satu foder tambahan yaitu templates 
didalam folder templates tambahkan dua file : header.php dan footer.php

header.php

<!DOCTYPE html>
<html>
<head>
<title><?= $data['title']; ?></title>
<link rel="stylesheet" href="<?= BASEURL; ?>/css/bootstrap.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
  <a class="navbar-brand" href="<?= BASEURL; ?>">Toekang Ketik</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
    <div class="navbar-nav">
      <!-- <a class="nav-item nav-link active" href="<?= BASEURL; ?>">Home <span class="sr-only">(current)</span></a> -->
      <a class="nav-item nav-link" href="<?= BASEURL; ?>/mahasiswa">Mahasiswa</a>
      <a class="nav-item nav-link" href="<?= BASEURL; ?>/about">About Me</a>
      
    </div>
  </div>
  </div>

</nav>

footer.php

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="<?= BASEURL; ?>/js/bootstrap.js"></script>
</body>

</html>

pada folder home tambahkan file index.php :

<div class="container mt-3">
<div class="jumbotron">
<h1 class="display-4">Belajar PHP MVC</h1>
<p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
<hr class="my-4">
<p>It uses utility classes for typography and spacing to space content out within the larger container.</p>
<a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
</div>

</div>

pada folder about juga tambahkan file index.php

<div class="container mt-3">
<div class="jumbotron jumbotron-fluid">
<div class="container" align="center">
<h1 class="display-4">About Me</h1>
<img src="<?= BASEURL ?>/img/husnulm.jpg" alt="Husnul M" width="200" height="250" class="rounded-circle shadow">

<p class="lead">
</p>
<table>
<tr>
<td>Nama Saya</td><td> : </td>
<td>Husnul Mub</td>
</tr>
<tr>
<td>Pekerjaan</td><td> : </td>
<td>SAP ABAP Consultant</td>
</tr>
</table>
</div>
</div>

</div>

kemudian didalam folder mahasiswa tambahkan file : index.php, detail.php, tambah.php dan edit.php 

index.php

<div class="container mt-3">
<div class="row">
<div class="col-12">
<h1>Data Mahasiswa</h1>
<ul class="list-group">
<table class="table table-stripped">
<thead>
<tr>
<th scope="col">Nama</th>
<th scope="col" width="200px">Action</th>
</tr>
</thead>
<tbody>
<?php foreach ($data['mhs'] as $mhs) :?>
<tr>
<td><?= $mhs['nama'];?></td>
<td>
<a href="<?= BASEURL; ?>/mahasiswa/detail/<?= $mhs['id'] ?>" class="badge badge-primary badge-pill">Detail</a>

<a href="<?= BASEURL; ?>/mahasiswa/edit/<?= $mhs['id'] ?>" class="badge badge-primary badge-pill">Edit</a>
<a href="<?= BASEURL; ?>/mahasiswa/hapus/<?= $mhs['id'] ?>" class="badge badge-primary badge-pill">Hapus</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</ul>
<a href="<?= BASEURL; ?>/mahasiswa/tambah" class="btn btn-success mt-2">Tambah Mahasiswa</a>
</div>
</div>
</div>

detail.php

<div class="container mt-3">
<div class="card" style="width: 18rem;">
<img class="card-img-top" src="<?= BASEURL ?>/img/husnulm.jpg" alt="Card image cap">
<div class="card-body">
<h5 class="card-title"><?= $data['mhs']['nama']; ?></h5>
<p class="card-text"><?= $data['mhs']['jurusan']; ?></p>
<a href="<?= BASEURL; ?>/mahasiswa" class="btn btn-primary">Kembali</a>
</div>
</div>

</div>

tambah.php

<div class="container mt-3">
<form action="<?= BASEURL; ?>/mahasiswa/simpanmahasiswa" method="POST" enctype="multipart/form-data">
<input class="form-control form-control-lg mt-2" type="text" name="nim" placeholder="NIM">
<input class="form-control form-control-lg mt-2" type="text" name="nama" placeholder="Nama">
<input class="form-control form-control-lg mt-2" type="text" name="jurusan" placeholder="Jurusan">
<input type="submit" value="simpan" class="btn btn-success mt-2">
<a href="<?= BASEURL; ?>/mahasiswa" class="btn btn-primary mt-2">Kembali</a>
</form>

</div>

edit.php

<div class="container mt-3">
<form action="<?= BASEURL; ?>/mahasiswa/updateMahasiswa" method="POST" enctype="multipart/form-data">
<input class="form-control form-control-lg mt-2" type="text" readonly="true" name="nim" placeholder="NIM" value="<?= $data['mhs']['nim']; ?>">
<input class="form-control form-control-lg mt-2" type="text" name="nama" placeholder="Nama" value="<?= $data['mhs']['nama']; ?>">
<input class="form-control form-control-lg mt-2" type="text" name="jurusan" placeholder="Jurusan" value="<?= $data['mhs']['jurusan']; ?>">
<input type="submit" value="simpan" class="btn btn-success mt-2">
<a href="<?= BASEURL; ?>/mahasiswa" class="btn btn-primary mt-2">Kembali</a>
</form>
</div>

kemudian tambah file init.php dan .htaccess didalam folder app

init.php

<?php

require_once 'core/App.php';
require_once 'core/Controller.php';
require_once 'core/Database.php';

require_once 'config/config.php';

.htaccess

Options -Indexes


kemudian pada folder public folder css dan js berisi bootstrap, silahkan di dowload di website bootstrap dan didalam folder img bisa kalian tambahkan image terserah teman2 mau pakai image apa saja dan tambah file index dan .htaccess


index.php

<?php

require_once '../app/init.php';


$app = new App;

.htaccess

Options -Multiviews

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f


RewriteRule ^(.*)$ index.php?url=$1 [L]


ok sudah selesai dan berikut hasilnya :













ok semoga bermanfaat :D



sumber : 
https://www.youtube.com/watch?v=tBKOb8Ib5nI&list=PLFIM0718LjIVEh_d-h5wAjsdv2W4SAtkx

https://www.facebook.com/WebProgrammingUNPAS/

Saturday, 19 January 2019

CRUD Sederhana PHP dan SQL Server

Selamat pagi, selamat menikmati sabtu pagi....

kali ini saya akan sharing cara membuat aplikasi crud sederhana denga PHP dan SQL Server Database, umumnya kita lebih sering menggunakan MySQL ketika kita membuat web dengan PHP.

Ok langsung saja

pertama kita buat database dulu di SQL Servernya, disini saya buat database dengan nama EXAM dan saya punya sebuah table dengan nama barang seperti berikut :

 



 
Selanjutnya kita setting di php nya agar kita bisa konek ke SQL Server, disini saya menggunakan PHP versi 5.3.8



Selanjutnya kita butuh library agar bisa mengakses SQL Server dengan php yaitu :
php_pdo_sqlsrv_53_ts.dll jika kita menggunakan PDO dan php_sqlsrv_53_ts jika kita tidak menggunakan PDO, jika teman2 tidak punya filenya bisa di download DISINI,

jika sudah didownload ekstrak filenya dan copy ke folder xampp/php/ext, setelah itu buka file php.ini yang ada di folder xampp/php lalu panggil library yang sudah kita tambahkan ke folder ext tadi dengan menuliskan source code seperti berikut :



dibagian extension kita tambahkan seperti diatas, lalu restart service apache pada xampp teman2, jika sudah kita buat folder baru didalam folder htdocs dengan nama crud-sqlsrv atau terserah teman2 bebas untuk nama foldernya. 

berikut isi dari file koneksi.php

<?php
$serverName="DESKTOP-EA2V86B";
$uid = "sa";
$pwd = "Admin12345";
$connectionInfo = array( "UID"=>$uid,
"PWD"=>$pwd,
"Database"=>"EXAM",
"CharacterSet"=>"UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if($conn){
echo "Koneksi Berhasil";
}else{
echo "koneksi gagal";
}
?>

kita coba jalankan localhost/crud-sqlsrv/koneksi.php jika muncul seperti berikut maka kita sudah berhasil konek ke database SQL Server


kita tambahkan 2 folder baru lagi didalam project kita yaitu folder css dan js, disini kita akan menggunakan bootstrap dan jquery, silahkan teman2 download dulu bootsrap dan jquerynya jika sudah kita buat file index.php dan tuliskan source code seperti berikut :

index.php

<!DOCTYPE html>
<html>
<head>
    <title>CRUD PHP - SQL Server</title>
    <link rel="stylesheet" href="css/bootstrap.css" />
</head>
<body>  
    <div class="container mt-3">
        <div class="row">
            <div class="col-sm-12">
                <button type="button"  
class="btn btn-primary btnTambahData" data-toggle="modal"  
data-target="#exampleModal" data-zurl="">
                    Tambah Barang
                </button>
                <h1>Data Barang</h1>
                <table class="table table-stripped">
                    <thead>
                        <tr>
                            <th scope="col">Nama</th>
                            <th scope="col">Nama Barang</th>
                            <th scope="col">Satuan</th>
                            <th scope="col" width="200px">Action</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        include "koneksi.php";
                        $conn = sqlsrv_connect( $serverName, $connectionInfo);

                        $tsql = "Select * From barang";
                        $stmt = sqlsrv_query( $conn, $tsql);

                        do {
                  while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {                                  
                                ?>
                                <tr>
                                    <td><?= $row['kodebarang'];?></td>
                                    <td><?= $row['namabarang'];?></td>
                                    <td><?= $row['satuan'];?></td>
                                    <td>
     <a href="" class="badge badge-primary badge-pill tampilModalUbah"  
data-toggle="modal" data-target="#exampleModal"  
data-id="<?= $row['kodebarang'];?>" data-zurl="">Edit</a>
   <a href="hapus.php?kodebarang=<?= $row['kodebarang']; ?>"  
class="badge badge-primary badge-pill" 
 onclick="return confirm('Hapus data?');">Hapus</a>
                                    </td>
                                </tr>
                                <?php
                            }
                        } while ( sqlsrv_next_result($stmt) );
                        ?>
                    </tbody>
                </table>        
            </div>
        </div>
    </div>

    <!-- Modal -->
    <div class="modal fade" id="exampleModal" tabindex="-1"  
role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Tambah Barang</h5>
                    <button type="button" class="close" 
 data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <form action="simpan.php" method="POST"  
enctype="multipart/form-data">
                        <div class="form-group">
                            <label for="kodebarang">Kode Barang</label>
                            <input type="text" name="kodebarang"  
id="kodebarang" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="namabarang">Nama Barang</label>
                            <input type="text" name="namabarang"  
id="namabarang" class="form-control" required="true">
                        </div>
                        <div class="form-group">
                            <label for="satuan">Satuan</label>
                            <select name="satuan" id="satuan" 
 class="form-control" required="true">
                                <option>-- Pilih Satuan--</option>
                                <option value="PC">Piece</option>
                                <option value="KG">Kilo Gram</option>
                                <option value="M">Meter</option>
                            </select>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary"  
data-dismiss="modal">Close</button>
                        <button type="submit"  
class="btn btn-primary">Simpan</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="js/jquery-3.2.1.min.js"></script>
    <script src="js/popper.min.js"></script>
    <script src="js/bootstrap.js"></script>

    <script type="text/javascript">
        $(function(){

     $('.btnTambahData').on('click', function(){
     $('#exampleModalLabel').html('Tambah Data Barang');
     $('.modal-footer button[type=submit]').html('Simpan');
     $('.modal-body form').attr('action', 'simpan.php');
     });

     $('.tampilModalUbah').on('click', function(){
     $('#exampleModalLabel').html('Ubah Data Baranng');
     $('.modal-footer button[type=submit]').html('Ubah Data');
     $('.modal-body form').attr('action', 'update.php');

     const kodebarang = $(this).data('id');
     $.ajax({
     url: 'getdata.php',
     data: {kodebarang : kodebarang},
     method: 'post',
     dataType: 'json',
     success: function(data){
     // alert(data[0].kodebarang);
     $('#kodebarang').val(data[0].kodebarang);
     $('#namabarang').val(data[0].namabarang);
     $('#satuan').val(data[0].satuan);
     }
     });
     });

    })
    </script>
</body>
</html>


setelah itu kita tambahkan file simpan.php seperti berikut :

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];
$namabarang = $_POST['namabarang'];
$satuan = $_POST['satuan'];

$tsql = "Insert into barang values('$kodebarang','$namabarang','$satuan')";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);


getdata.php -> untuk mengambil data yang akan di edit

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];

$tsql = "Select * From barang where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

$json = array();

do {
    while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
        $json[] = $row;
    }
} while ( sqlsrv_next_result($stmt) );

echo json_encode($json);

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);

?>


update.php

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_POST['kodebarang'];
$namabarang = $_POST['namabarang'];
$satuan = $_POST['satuan'];

$tsql = "Update barang set namabarang ='$namabarang', 
satuan = '$satuan' where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);

 hapus.php

<?php

include "koneksi.php";
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn === false ) {
    echo "Koneksi Gagal</br>";
    die( print_r( sqlsrv_errors(), true));
}

$kodebarang = $_GET['kodebarang'];

$tsql = "Delete barang where kodebarang = '$kodebarang'";
$stmt = sqlsrv_query( $conn, $tsql);

if( $stmt === false ) {
    echo "Error in executing query.</br>";
    die( print_r( sqlsrv_errors(), true));
}

header('location:index.php');

sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);


jika sudah semua ditambahkan seperti diatas, silahkan coba melakukan proses CRUD, berikut tampilan aplikasinya :

tampilan awal


tampilan Tambah Barang





Edit 

 




 hapus data


dan data sudah di hapus

 



Sekian semoga bermanfaat :D

SAP ABAP - Upload Count PID dengan BAPI

Upload Count PID dengan BAPI di ABAP — Contoh Program YMMC100 Upload Count PID dengan BAPI di ABAP — Progr...