Wednesday, December 10, 2025

.::: Troubleshoot MSSQL SQL Server Procedure or function 'spbuy' expects parameter '@p14', which was not supplied :::.

  


Dari gambar error tersebut terlihat jelas penyebabnya:

Incorrect number of arguments for FUNCTION ... expected 15, got 14

Artinya: FUNCTION atau Stored Procedure spbuy (atau sptaxsample) membutuhkan 15 parameter, tapi saat dipanggil hanya diberikan 14 parameter.

. Tujuan Anda

Anda ingin mensimulasikan kasus tersebut pada database sample SQL Server dengan database contoh bernama hris. 
Saya buatkan contoh struktur database, fungsi, dan pemanggilan yang benar & salah, sehingga error yang sama bisa direplikasi.

. SIMULASI DI SQL Server: Database hris

1. Buat Database Sample
CREATE DATABASE IF NOT EXISTS hris;
USE hris;


2. Buat Sample Stored Procedure spbuy

Ini sekedar contoh dengan 15 parameter seperti kebutuhan kasus Anda:

CREATE PROCEDURE spbuy
    @p1  INT,
    @p2  INT,
    @p3  INT,
    @p4  INT,
    @p5  INT,
    @p6  INT,
    @p7  INT,
    @p8  INT,
    @p9  INT,
    @p10 INT,
    @p11 INT,
    @p12 INT,
    @p13 INT,
    @p14 INT,
    @p15 INT
AS
BEGIN
    SELECT 'Simulasi spbuy berhasil dipanggil' AS result;
END;
GO


3. Contoh Kesalahan (pemicu error seperti di screenshot)

Hanya 14 parameter:

EXEC spbuy
    @p1 = 1,
    @p2 = 2,
    @p3 = 3,
    @p4 = 4,
    @p5 = 5,
    @p6 = 6,
    @p7 = 7,
    @p8 = 8,
    @p9 = 9,
    @p10 = 10,
    @p11 = 11,
    @p12 = 12,
    @p13 = 13,
    @p14 = 14;
    
EXEC spbuy
    @p1 = 1,
    @p2 = 2,
    @p3 = 3,
    @p5 = 5,
    @p6 = 6,
    @p7 = 7,
    @p8 = 8,
    @p9 = 9,
    @p10 = 10,
    @p11 = 11,
    @p12 = 12,
    @p13 = 13,
    @p14 = 14;

 


4. Contoh Pemanggilan yang Benar

Dengan 15 parameter lengkap:

EXEC spbuy
    @p1 = 1,
    @p2 = 2,
    @p3 = 3,
    @p4 = 4,
    @p5 = 5,
    @p6 = 6,
    @p7 = 7,
    @p8 = 8,
    @p9 = 9,
    @p10 = 10,
    @p11 = 11,
    @p12 = 12,
    @p13 = 13,
    @p14 = 14,
    @p15 = 15;

 


5. Rekomendasi Solusi untuk Kasus Asli Anda

5.1 Cek jumlah parameter SP di SQL Server:

EXEC sp_helptext 'spbuy';
 


5.2 Samakan jumlah parameter di aplikasi:

EXEC sp_helptext 'spbuy';

Jika SP/FUNCTION berubah versi (param nambah), aplikasi harus update.

Bila Anda Mau, Saya Bisa:

? Cocokkan SP spbuy Anda yang sebenarnya
? Analisa parameter masing-masing dan mapping dari aplikasi
? Deteksi versi mana yang tidak sinkron (Dev/QA/Prod)
? Generator template call otomatis untuk 13 param

Apakah Anda ingin saya bantu review struktur parameter SP Anda yang asli?
Jika ya, silakan kirim:

EXEC sp_helptext 'spbuy';

No comments:

Post a Comment

Popular Posts