Description
Post to Internal DB, Retrieving data from local Purchase System.
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @PARAMETER | xml | -1 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.TEST_GRN_POST
@PARAMETER xml=''
--with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DECLARE @pemisah varchar(255)
DECLARE @pemisah_replace varchar(255)
SET @pemisah_replace='<br />'
--SET @pemisah=CHAR(13) + CHAR(10) + '
'
SET @pemisah = '
'
DECLARE @resultX varchar(max)
DECLARE @resultX2 varchar(max)
DECLARE @XmlSts xml
DECLARE @raw xml
DECLARE @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
SET @xStsnoheader='07'
SET @xStsno='00';
SET @xStsdes='sukses'
SET NOCOUNT ON
exec MG_CHECK_CREATE_PERIODE @xStsno output,@xStsdes output;
IF not(
@xStsno ='00'
)
BEGIN
SET @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
GOto g
end
SET NOCOUNT OFF
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
SET @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@status varchar(50)
,@partnumber varchar(50)
,@partcode varchar(50)
,@start_date DATE
,@end_date DATE
,@grdate DATE
,@parteta DATE
,@podate DATE
,@inv_date DATE
,@faktur_date DATE
,@grnumber varchar(50)
,@grqty DECIMAL(38,4)
,@bruto DECIMAL(38,4)
,@netto DECIMAL(38,4)
,@partcoa varchar(50)
,@partprice decimal(38, 4)
,@netamount decimal(38, 4)
,@partunit varchar(50)
,@surat_jalan varchar(50)
,@faktur_no varchar(50)
,@inv_no varchar(50)
,@ponumber varchar(50)
,@shipping varchar(50)
,@shipper varchar(50)
,@stock_info varchar(1000)
--AddField($xmldoc,'parteta',$new_date3);
-- AddField($xmldoc,'podate',$new_date4);
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@partnumber=left(ltrim(rtrim(isnull(tempTable.item.value('partnumber[1]', 'varchar(100)'),''))),50)
,@partcode=left(ltrim(rtrim(isnull(tempTable.item.value('partcode[1]', 'varchar(100)'),''))),50)
,@start_date=dbo.str_to_date(isnull(tempTable.item.value('start_date[1]', 'varchar(255)'),''))
,@end_date=dbo.str_to_date(isnull(tempTable.item.value('end_date[1]', 'varchar(255)'),''))
,@grdate=dbo.str_to_date(isnull(tempTable.item.value('grdate[1]', 'varchar(255)'),''))
,@parteta=dbo.str_to_date(isnull(tempTable.item.value('parteta[1]', 'varchar(255)'),''))
,@podate=dbo.str_to_date(isnull(tempTable.item.value('podate[1]', 'varchar(255)'),''))
,@faktur_date=dbo.str_to_date(isnull(tempTable.item.value('faktur_date[1]', 'varchar(255)'),''))
,@inv_date=dbo.str_to_date(isnull(tempTable.item.value('inv_date[1]', 'varchar(255)'),''))
,@grnumber=left(ltrim(rtrim(isnull(tempTable.item.value('grnumber[1]', 'varchar(100)'),''))),50)
,@grqty=left(ltrim(rtrim(isnull(tempTable.item.value('grqty[1]', 'varchar(100)'),''))),50)
,@bruto=left(ltrim(rtrim(isnull(tempTable.item.value('bruto[1]', 'varchar(100)'),''))),50)
,@netto=left(ltrim(rtrim(isnull(tempTable.item.value('netto[1]', 'varchar(100)'),''))),50)
,@partprice=left(ltrim(rtrim(isnull(tempTable.item.value('partprice[1]', 'varchar(100)'),''))),50)
,@netamount=left(ltrim(rtrim(isnull(tempTable.item.value('netamount[1]', 'varchar(100)'),''))),50)
,@partunit=left(ltrim(rtrim(isnull(tempTable.item.value('partunit[1]', 'varchar(100)'),''))),50)
,@ponumber=left(ltrim(rtrim(isnull(tempTable.item.value('ponumber[1]', 'varchar(100)'),''))),50)
,@faktur_no=left(ltrim(rtrim(isnull(tempTable.item.value('faktur_no[1]', 'varchar(100)'),''))),50)
,@inv_no=left(ltrim(rtrim(isnull(tempTable.item.value('inv_no[1]', 'varchar(100)'),''))),50)
,@surat_jalan=left(ltrim(rtrim(isnull(tempTable.item.value('surat_jalan[1]', 'varchar(100)'),''))),50)
,@shipping=left(ltrim(rtrim(isnull(tempTable.item.value('shipping[1]', 'varchar(100)'),''))),50)
,@shipper=left(ltrim(rtrim(isnull(tempTable.item.value('shipper[1]', 'varchar(100)'),''))),50)
,@partcoa=left(ltrim(rtrim(isnull(tempTable.item.value('partcoa[1]', 'varchar(100)'),''))),50)
,@status=left(ltrim(rtrim(isnull(tempTable.item.value('status[1]', 'varchar(100)'),''))),50)
FROM @PARAMETER.nodes('param/field') tempTable(item)
exec MG_CHECK_USER @data_by, 0, @xStsno output,@xStsdes output;
IF @xStsno <>'00'
GOto f;
--SET @xStsDes =(SELECT count(*)
--FROM test_compare
--WHERE ( GRDATE BETWEEN @start_date AND @end_date )
--AND
--PARTNUMBER = @partnumber)
IF (SELECT count(*)
FROM test_compare
WHERE ( GRDATE BETWEEN @start_date AND @end_date )
AND
PARTNUMBER = @partnumber
AND
GRNUMBER = @grnumber
)>0
BEGIN
SET @xStsno='02';
SET @xStsdes='Data Sudah Ada';
GOto f
END
BEGIN TRANSACTION;
INSERT INTO [DB_PEMI].dbo.test_compare (
status,
GRNUMBER,
GRDATE,
GRQTY,
PARTNUMBER,
PARTCODE,
PARTCOA,
PARTPRICE,
NETAMOUNT,
PARTUNIT,
PARTETA,
PONUMBER,
PODATE,
SHIPPING,
SHIPPER,
create_by,
create_date,
bruto,
netto,
inv_no,
inv_date,
faktur_no,
faktur_date,
surat_jalan
)
VALUES
(
@status
,@grnumber
,@grdate
,@grqty
,@partnumber
,@partcode
,@partcoa
,@partprice
,@netamount
,@partunit
,@parteta
,@ponumber
,@podate
,@shipping
,@shipper
,@data_by
,@NOW
,isnull(@bruto,0)
,isnull(@netto,0)
,@inv_no
,@inv_date
,@faktur_no
,@faktur_date
,@surat_jalan
)
--SET @xStsdes='ADA'
--status,
--GRNUMBER,
--GRDATE,
--GRQTY,
--PARTNUMBER,
--PARTCOA,
--PARTPRICE,
--NETAMOUNT,
--PARTUNIT,
--PARTETA,
--PONUMBER,
--PODATE,
--AJUNUMBER,
--AJUDATE,
--REGISTERNUMBER,
--REGISTERDATE,
--SHIPPING,
--SHIPPER
COMMIT TRANSACTION;
--select * from test_compare where GRNUMBER = @grnumber
f:
SET nocount off
end TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
SET @xStsno='88'
SET @xStsdes= ERROR_MESSAGE()
end CATCH
g:
SET @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
--go
--exec TEST_GRN_POST
--'
--1 2 json 120 2 ::1 0 admin BOTTOM - HINO HJP 022223 20200514 20200614 20200514 20200323 20200311 PEMI200514-001 10 6211501 41800 418000 PCS EDS/MKP/12G12003-004 DARAT MKP OK 0 0 MKP/SI/20/05-035 20200514 MKP/DO/20/05-034 070.002-20.59530262 20200514 '
GO
GO
CREATE PROCEDURE dbo.TEST_GRN_POST
@PARAMETER xml=''
--with encryption
as
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
DECLARE @pemisah varchar(255)
DECLARE @pemisah_replace varchar(255)
SET @pemisah_replace='<br />'
--SET @pemisah=CHAR(13) + CHAR(10) + '
'
SET @pemisah = '
'
DECLARE @resultX varchar(max)
DECLARE @resultX2 varchar(max)
DECLARE @XmlSts xml
DECLARE @raw xml
DECLARE @xStsnoheader varchar(2),
@xStsno varchar(2),
@xStsdes varchar(max)
SET @xStsnoheader='07'
SET @xStsno='00';
SET @xStsdes='sukses'
SET NOCOUNT ON
exec MG_CHECK_CREATE_PERIODE @xStsno output,@xStsdes output;
IF not(
@xStsno ='00'
)
BEGIN
SET @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
GOto g
end
SET NOCOUNT OFF
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
SET @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@status varchar(50)
,@partnumber varchar(50)
,@partcode varchar(50)
,@start_date DATE
,@end_date DATE
,@grdate DATE
,@parteta DATE
,@podate DATE
,@inv_date DATE
,@faktur_date DATE
,@grnumber varchar(50)
,@grqty DECIMAL(38,4)
,@bruto DECIMAL(38,4)
,@netto DECIMAL(38,4)
,@partcoa varchar(50)
,@partprice decimal(38, 4)
,@netamount decimal(38, 4)
,@partunit varchar(50)
,@surat_jalan varchar(50)
,@faktur_no varchar(50)
,@inv_no varchar(50)
,@ponumber varchar(50)
,@shipping varchar(50)
,@shipper varchar(50)
,@stock_info varchar(1000)
--AddField($xmldoc,'parteta',$new_date3);
-- AddField($xmldoc,'podate',$new_date4);
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
,@partnumber=left(ltrim(rtrim(isnull(tempTable.item.value('partnumber[1]', 'varchar(100)'),''))),50)
,@partcode=left(ltrim(rtrim(isnull(tempTable.item.value('partcode[1]', 'varchar(100)'),''))),50)
,@start_date=dbo.str_to_date(isnull(tempTable.item.value('start_date[1]', 'varchar(255)'),''))
,@end_date=dbo.str_to_date(isnull(tempTable.item.value('end_date[1]', 'varchar(255)'),''))
,@grdate=dbo.str_to_date(isnull(tempTable.item.value('grdate[1]', 'varchar(255)'),''))
,@parteta=dbo.str_to_date(isnull(tempTable.item.value('parteta[1]', 'varchar(255)'),''))
,@podate=dbo.str_to_date(isnull(tempTable.item.value('podate[1]', 'varchar(255)'),''))
,@faktur_date=dbo.str_to_date(isnull(tempTable.item.value('faktur_date[1]', 'varchar(255)'),''))
,@inv_date=dbo.str_to_date(isnull(tempTable.item.value('inv_date[1]', 'varchar(255)'),''))
,@grnumber=left(ltrim(rtrim(isnull(tempTable.item.value('grnumber[1]', 'varchar(100)'),''))),50)
,@grqty=left(ltrim(rtrim(isnull(tempTable.item.value('grqty[1]', 'varchar(100)'),''))),50)
,@bruto=left(ltrim(rtrim(isnull(tempTable.item.value('bruto[1]', 'varchar(100)'),''))),50)
,@netto=left(ltrim(rtrim(isnull(tempTable.item.value('netto[1]', 'varchar(100)'),''))),50)
,@partprice=left(ltrim(rtrim(isnull(tempTable.item.value('partprice[1]', 'varchar(100)'),''))),50)
,@netamount=left(ltrim(rtrim(isnull(tempTable.item.value('netamount[1]', 'varchar(100)'),''))),50)
,@partunit=left(ltrim(rtrim(isnull(tempTable.item.value('partunit[1]', 'varchar(100)'),''))),50)
,@ponumber=left(ltrim(rtrim(isnull(tempTable.item.value('ponumber[1]', 'varchar(100)'),''))),50)
,@faktur_no=left(ltrim(rtrim(isnull(tempTable.item.value('faktur_no[1]', 'varchar(100)'),''))),50)
,@inv_no=left(ltrim(rtrim(isnull(tempTable.item.value('inv_no[1]', 'varchar(100)'),''))),50)
,@surat_jalan=left(ltrim(rtrim(isnull(tempTable.item.value('surat_jalan[1]', 'varchar(100)'),''))),50)
,@shipping=left(ltrim(rtrim(isnull(tempTable.item.value('shipping[1]', 'varchar(100)'),''))),50)
,@shipper=left(ltrim(rtrim(isnull(tempTable.item.value('shipper[1]', 'varchar(100)'),''))),50)
,@partcoa=left(ltrim(rtrim(isnull(tempTable.item.value('partcoa[1]', 'varchar(100)'),''))),50)
,@status=left(ltrim(rtrim(isnull(tempTable.item.value('status[1]', 'varchar(100)'),''))),50)
FROM @PARAMETER.nodes('param/field') tempTable(item)
exec MG_CHECK_USER @data_by, 0, @xStsno output,@xStsdes output;
IF @xStsno <>'00'
GOto f;
--SET @xStsDes =(SELECT count(*)
--FROM test_compare
--WHERE ( GRDATE BETWEEN @start_date AND @end_date )
--AND
--PARTNUMBER = @partnumber)
IF (SELECT count(*)
FROM test_compare
WHERE ( GRDATE BETWEEN @start_date AND @end_date )
AND
PARTNUMBER = @partnumber
AND
GRNUMBER = @grnumber
)>0
BEGIN
SET @xStsno='02';
SET @xStsdes='Data Sudah Ada';
GOto f
END
BEGIN TRANSACTION;
INSERT INTO [DB_PEMI].dbo.test_compare (
status,
GRNUMBER,
GRDATE,
GRQTY,
PARTNUMBER,
PARTCODE,
PARTCOA,
PARTPRICE,
NETAMOUNT,
PARTUNIT,
PARTETA,
PONUMBER,
PODATE,
SHIPPING,
SHIPPER,
create_by,
create_date,
bruto,
netto,
inv_no,
inv_date,
faktur_no,
faktur_date,
surat_jalan
)
VALUES
(
@status
,@grnumber
,@grdate
,@grqty
,@partnumber
,@partcode
,@partcoa
,@partprice
,@netamount
,@partunit
,@parteta
,@ponumber
,@podate
,@shipping
,@shipper
,@data_by
,@NOW
,isnull(@bruto,0)
,isnull(@netto,0)
,@inv_no
,@inv_date
,@faktur_no
,@faktur_date
,@surat_jalan
)
--SET @xStsdes='ADA'
--status,
--GRNUMBER,
--GRDATE,
--GRQTY,
--PARTNUMBER,
--PARTCOA,
--PARTPRICE,
--NETAMOUNT,
--PARTUNIT,
--PARTETA,
--PONUMBER,
--PODATE,
--AJUNUMBER,
--AJUDATE,
--REGISTERNUMBER,
--REGISTERDATE,
--SHIPPING,
--SHIPPER
COMMIT TRANSACTION;
--select * from test_compare where GRNUMBER = @grnumber
f:
SET nocount off
end TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0) ROLLBACK TRAN;
SET @xStsno='88'
SET @xStsdes= ERROR_MESSAGE()
end CATCH
g:
SET @XmlSts=(select @xStsnoheader + @xStsno as 'no', @xStsdes as 'des' for xml path('sts'))
select CAST( (select @XmlSts,isnull(@raw ,'') for xml path ('result')
) as XML) as dt
--go
--exec TEST_GRN_POST
--'
--
GO
Used By
No items found