Dear All,
mohon bantuannya dong....URGENT Banget nih
saya punya scrip terbilang dalam bahasa indonesia yang saya jalankan di
fucntion SQL 2000 sudah berhasil, masalahnya bagaimana merubah scrip ini supaya
bisa terbilang dalam bahasa Inggris, terbilang bhs Inddonesianya seperti ini :
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE FUNCTION dbo.F_TERBILANG_ENGLISH(@NVAL NUMERIC(18,2))
RETURNS VARCHAR(1000)
AS
BEGIN
DECLARE
@aBIL VARCHAR(100),
@aBIL1 VARCHAR(100),
@cVAR1 VARCHAR(500),
@cVAR2 VARCHAR(500),
@cVAR3 VARCHAR(500),
@cVAR4 VARCHAR(500),
@HASIL VARCHAR(1000),
@KOMA VARCHAR(5),
@I INT,
@J INT,
@ANGKA BIGINT,
@P2 NUMERIC(30),
@ZB INT,
@ZB0 CHAR(3),
@ZB1 INT,
@ZB2 INT,
@ZB3 INT
SET @HASIL = ''
SET @aBIL='SATU DUA TIGA EMPAT LIMA ENAM TUJUH DELAPAN
SEMBILAN'
SET @aBIL1=' RIBU JUTA MILYARDTRILIUN '
IF @nVAL=0
SET @Hasil='NOL'
SET @Angka=CAST((@nVAL) AS BIGINT )
SET @Koma=LTRIM(SUBSTRING(STR(@nval,18,2),16,3))
SET @i=5
WHILE ( @ANGKA<>0 )
BEGIN
SET @cVAR1=''
SET @cVAR2=''
SET @cVAR3=''
SET @i = @i - 1
/* Buat P2 = 1000^i */
SET @J = 1
IF @i = 0
SET @P2 = 1
ELSE
BEGIN
SET @P2 = 1000
WHILE @J < @I
BEGIN
SET @P2 = @P2 * 1000
SET @J = @J + 1
END
END
SET @ZB=CAST((@Angka/@P2) AS INT )
IF @ZB=0
CONTINUE
SET @ZB0=STR(@ZB,3,0) /*ambil 3 angka dari awal */
SET @ZB1=CAST((SUBSTRING(@ZB0,1,1)) AS INT )
SET @ZB2=CAST((SUBSTRING(@ZB0,2,1)) AS INT )
SET @ZB3=CAST((SUBSTRING(@ZB0,3,1)) AS INT )
/* test ratusan */
IF @ZB1<>0
BEGIN
IF @ZB1=1
SET @cVAR1=' SERATUS '
ELSE
SET @cVAR1=' '+RTRIM(SUBSTRING(@aBIL,(@ZB1-1)*8+1,8))+' RATUS '
END
/* test puluhan & belasan */
IF @ZB2=1
BEGIN
IF @ZB3=0
SET @cVAR2=' SEPULUH '
ELSE
BEGIN
IF @ZB3=1
SET @cVAR2=' SEBELAS '
ELSE
SET @cVAR2=' '+RTRIM(SUBSTRING(@aBIL,(@ZB3-1)*8+1,8))+' BELAS '
END
END
ELSE
BEGIN
IF @ZB3<>0
SET @cVAR3=' '+RTRIM(SUBSTRING(@aBIL,(@ZB3-1)*8+1,8))
IF @ZB2<>0
SET @cVAR2=RTRIM(SUBSTRING(@aBIL,(@ZB2-1)*8+1,8))+' PULUH '
END
IF @i>0
SET @[EMAIL PROTECTED]@[EMAIL PROTECTED]@cVar3+'
'+RTRIM(SUBSTRING(@aBIL1,@i*7+1,7))
ELSE
SET @[EMAIL PROTECTED]@[EMAIL PROTECTED]@cVar3
SET @Angka = @Angka -(@[EMAIL PROTECTED])
END
-- End Loop ------------------
IF SUBSTRING(ltrim(@Hasil),1,9)='SATU RIBU'
SET @Hasil='SERIBU '+RTRIM(Right(@Hasil,LEN(LTRIM(@Hasil))-9))
ELSE
SET @Hasil=RTRIM(@Hasil)
SET @cVar4=' '
IF SUBSTRING(STR(@nVAL,18,2),16,1)='.' and right(@koma,2)<>'00'
BEGIN
SET @i = 1
WHILE @i <= 2
BEGIN
IF SUBSTRING(@KOMA,@i,1)='0'
SET @[EMAIL PROTECTED]'NOL '
else
SET @cVAR4=LTRIM(@cVar4)+'
'+RTRIM(SUBSTRING(@aBIL,(CAST(SUBSTRING(right(@koma,2),@i,1) AS INTEGER ) -
1)*8+1,8))
SET @i = @i + 1
END
END
IF @cVAR4<>' '
SET @HASIL = @HASIL+' KOMA '[EMAIL PROTECTED]
RETURN (LTRIM(RTRIM(@HASIL)))
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
bagaimana caranya syntak tersebut supaya hasilnya dalam bahasan Inggris..
atas bantuan teman2 sebelumnya banyak terimakasih
rgds,
mc
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
Check outnew cars at Yahoo! Autos.