Description
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.MG_MS_MOLTS_INVOICE_ITEM_MAPPING_AUTO
@PARAMETER xml=''
---XencX---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'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@ms_molts_invoice_id bigint
,@re_new_map bit
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
, @ms_molts_invoice_id=isnull(tempTable.item.value('ms_molts_invoice_id[1]', 'bigint'),-1)
, @re_new_map=isnull(tempTable.item.value('re_new_map[1]', 'bit'),0)
FROM @PARAMETER.nodes('param/field') tempTable(item)
--declare @c_ms_molts_invoice_id bigint
--,@c_status_tpb_out_id int
--,@c_status_tpb_out_name varchar(255)
--,@c_NOMOR_AJU varchar(255)
--,@c_TANGGAL_DAFTAR date
--,@c_NOMOR_DAFTAR varchar(255)
--,@c_ms_molts_invoice_id_ORI bigint
--,@c_CUST_CODE varchar(255)
--,@c_mode_source bigint
--,@c_is_get bit
--declare @c_KODE_STATUS varchar(10)
--if @c_ms_molts_invoice_id =-1
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Header dokumen tidak di temukan(-1)' ;
-- goto f
--end
--declare @KODE_DOKUMEN_PABEAN varchar(255)
--SELECT top (1)
-- @c_ms_molts_invoice_id=ms_molts_invoice_id
--,@c_status_tpb_out_id= status_tpb_out_id
--,@c_status_tpb_out_name= status_tpb_out_name
--,@c_NOMOR_AJU=NOMOR_AJU
--,@c_TANGGAL_DAFTAR= TANGGAL_DAFTAR
--,@c_NOMOR_DAFTAR= NOMOR_DAFTAR
--,@c_ms_molts_invoice_id_ORI =ms_molts_invoice_id_ORI
--,@c_KODE_STATUS= KODE_STATUS
--,@c_CUST_CODE= CUST_CODE
--,@c_mode_source = mode_source
--,@KODE_DOKUMEN_PABEAN= KODE_DOKUMEN_PABEAN
--,@c_is_get=is_get
--FROM vw_t_header_bc_out
--WHERE (ms_molts_invoice_id = @ms_molts_invoice_id)
--if @c_ms_molts_invoice_id is null
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Header dokumen tidak di temukan' ;
-- goto f
--end
--if @c_status_tpb_out_id = -1 -- CANCEL
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Dokumen dalam Status ' + @c_status_tpb_out_name ;
-- goto f
--end
--if not ( @c_status_tpb_out_id = 1 or @c_status_tpb_out_id = 2)
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Hanya dokumen dengan status MAPPING yang bisa di edit ';
-- goto f
--end
--if @c_is_get=0
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Dokumen yang berasal dari SA tidak bisa di mapping ';
-- goto f
--end
declare @cur_KODE_BARANG varchar(255)
,@cur_URAIAN varchar(255)
,@cur_ID bigint
declare @total_match int=0 ,
@total_notmatch int=0
declare @new_map_ms_item_id bigint
,@new_map_type_ms_item_id int
BEGIN TRANSACTION;
DECLARE map_cursor CURSOR FOR
SELECT dt_ms_molts_invoice_detail.ms_molts_invoice_detail_id, LTRIM(RTRIM(dt_ms_molts_invoice_detail.description_1)) AS URAIAN
FROM dt_ms_molts_invoice_detail INNER JOIN
vw_ms_molts_invoce ON dt_ms_molts_invoice_detail.ms_molts_invoice_id = vw_ms_molts_invoce.ms_molts_invoice_id
WHERE (dt_ms_molts_invoice_detail.ms_molts_invoice_id = @ms_molts_invoice_id) AND (@re_new_map = 1) AND (vw_ms_molts_invoce.used = 0) OR
(dt_ms_molts_invoice_detail.ms_molts_invoice_id = @ms_molts_invoice_id) AND (@re_new_map = 0) AND (NULLIF (dt_ms_molts_invoice_detail.mapping_ms_item_id, - 1) IS NULL)
OPEN map_cursor
FETCH NEXT FROM map_cursor INTO @cur_ID,@cur_KODE_BARANG
WHILE @@FETCH_STATUS = 0
BEGIN
set @new_map_ms_item_id=null
--CHECK BERDASARKAN KODE DAN NAMA
select top (1)
@new_map_ms_item_id=ms_item_id
from dt_ms_item
where ltrim(rtrim(part_no))=@cur_KODE_BARANG
--if @new_map_ms_item_id is null
--begin
-- select top (1)
-- @new_map_ms_item_id=ms_item_id
-- from dt_ms_item
-- where part_name=@cur_URAIAN
--end
if @new_map_ms_item_id is null
begin
set @total_notmatch=@total_notmatch + 1
end
else
begin
set @total_match=@total_match + 1
end
--CHECK BERDASARKAN KODE
update dt_ms_molts_invoice_detail
set mapping_ms_item_id =@new_map_ms_item_id
, mapping_date=@NOW
, mapping_by =@data_by
where ms_molts_invoice_detail_id =@cur_ID
FETCH NEXT FROM map_cursor INTO @cur_ID,@cur_KODE_BARANG
END
CLOSE map_cursor
DEALLOCATE map_cursor
COMMIT TRANSACTION;
set @xStsdes=@xStsdes + char(13) + char(10) + 'Match = ' + cast(@total_match as varchar(255))+ char(13) + char(10) + 'Not Match = ' + cast(@total_notmatch as varchar(255))
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 MG_MS_MOLTS_INVOICE_ITEM_MAPPING_AUTO
--'1 2 json 2 ::1 67 '
GO
GO
create procedure dbo.MG_MS_MOLTS_INVOICE_ITEM_MAPPING_AUTO
@PARAMETER xml=''
---XencX---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'
BEGIN TRY
SET NOCOUNT ON
DECLARE @NOW datetime
set @NOW =GETDATE()
DECLARE
@data_by varchar(50)
,@ms_molts_invoice_id bigint
,@re_new_map bit
SELECT
@data_by=left(ltrim(rtrim(isnull(tempTable.item.value('data_by[1]', 'varchar(100)'),''))),50)
, @ms_molts_invoice_id=isnull(tempTable.item.value('ms_molts_invoice_id[1]', 'bigint'),-1)
, @re_new_map=isnull(tempTable.item.value('re_new_map[1]', 'bit'),0)
FROM @PARAMETER.nodes('param/field') tempTable(item)
--declare @c_ms_molts_invoice_id bigint
--,@c_status_tpb_out_id int
--,@c_status_tpb_out_name varchar(255)
--,@c_NOMOR_AJU varchar(255)
--,@c_TANGGAL_DAFTAR date
--,@c_NOMOR_DAFTAR varchar(255)
--,@c_ms_molts_invoice_id_ORI bigint
--,@c_CUST_CODE varchar(255)
--,@c_mode_source bigint
--,@c_is_get bit
--declare @c_KODE_STATUS varchar(10)
--if @c_ms_molts_invoice_id =-1
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Header dokumen tidak di temukan(-1)' ;
-- goto f
--end
--declare @KODE_DOKUMEN_PABEAN varchar(255)
--SELECT top (1)
-- @c_ms_molts_invoice_id=ms_molts_invoice_id
--,@c_status_tpb_out_id= status_tpb_out_id
--,@c_status_tpb_out_name= status_tpb_out_name
--,@c_NOMOR_AJU=NOMOR_AJU
--,@c_TANGGAL_DAFTAR= TANGGAL_DAFTAR
--,@c_NOMOR_DAFTAR= NOMOR_DAFTAR
--,@c_ms_molts_invoice_id_ORI =ms_molts_invoice_id_ORI
--,@c_KODE_STATUS= KODE_STATUS
--,@c_CUST_CODE= CUST_CODE
--,@c_mode_source = mode_source
--,@KODE_DOKUMEN_PABEAN= KODE_DOKUMEN_PABEAN
--,@c_is_get=is_get
--FROM vw_t_header_bc_out
--WHERE (ms_molts_invoice_id = @ms_molts_invoice_id)
--if @c_ms_molts_invoice_id is null
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Header dokumen tidak di temukan' ;
-- goto f
--end
--if @c_status_tpb_out_id = -1 -- CANCEL
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Dokumen dalam Status ' + @c_status_tpb_out_name ;
-- goto f
--end
--if not ( @c_status_tpb_out_id = 1 or @c_status_tpb_out_id = 2)
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Hanya dokumen dengan status MAPPING yang bisa di edit ';
-- goto f
--end
--if @c_is_get=0
--begin
-- set @xStsno='02';
-- set @xStsdes='Gagal, Dokumen yang berasal dari SA tidak bisa di mapping ';
-- goto f
--end
declare @cur_KODE_BARANG varchar(255)
,@cur_URAIAN varchar(255)
,@cur_ID bigint
declare @total_match int=0 ,
@total_notmatch int=0
declare @new_map_ms_item_id bigint
,@new_map_type_ms_item_id int
BEGIN TRANSACTION;
DECLARE map_cursor CURSOR FOR
SELECT dt_ms_molts_invoice_detail.ms_molts_invoice_detail_id, LTRIM(RTRIM(dt_ms_molts_invoice_detail.description_1)) AS URAIAN
FROM dt_ms_molts_invoice_detail INNER JOIN
vw_ms_molts_invoce ON dt_ms_molts_invoice_detail.ms_molts_invoice_id = vw_ms_molts_invoce.ms_molts_invoice_id
WHERE (dt_ms_molts_invoice_detail.ms_molts_invoice_id = @ms_molts_invoice_id) AND (@re_new_map = 1) AND (vw_ms_molts_invoce.used = 0) OR
(dt_ms_molts_invoice_detail.ms_molts_invoice_id = @ms_molts_invoice_id) AND (@re_new_map = 0) AND (NULLIF (dt_ms_molts_invoice_detail.mapping_ms_item_id, - 1) IS NULL)
OPEN map_cursor
FETCH NEXT FROM map_cursor INTO @cur_ID,@cur_KODE_BARANG
WHILE @@FETCH_STATUS = 0
BEGIN
set @new_map_ms_item_id=null
--CHECK BERDASARKAN KODE DAN NAMA
select top (1)
@new_map_ms_item_id=ms_item_id
from dt_ms_item
where ltrim(rtrim(part_no))=@cur_KODE_BARANG
--if @new_map_ms_item_id is null
--begin
-- select top (1)
-- @new_map_ms_item_id=ms_item_id
-- from dt_ms_item
-- where part_name=@cur_URAIAN
--end
if @new_map_ms_item_id is null
begin
set @total_notmatch=@total_notmatch + 1
end
else
begin
set @total_match=@total_match + 1
end
--CHECK BERDASARKAN KODE
update dt_ms_molts_invoice_detail
set mapping_ms_item_id =@new_map_ms_item_id
, mapping_date=@NOW
, mapping_by =@data_by
where ms_molts_invoice_detail_id =@cur_ID
FETCH NEXT FROM map_cursor INTO @cur_ID,@cur_KODE_BARANG
END
CLOSE map_cursor
DEALLOCATE map_cursor
COMMIT TRANSACTION;
set @xStsdes=@xStsdes + char(13) + char(10) + 'Match = ' + cast(@total_match as varchar(255))+ char(13) + char(10) + 'Not Match = ' + cast(@total_notmatch as varchar(255))
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 MG_MS_MOLTS_INVOICE_ITEM_MAPPING_AUTO
--'
GO
Used By
No items found