Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
| Name | Data Type | Length | Description |
|---|---|---|---|
| @ASSY_CODE | varchar | 255 |
SQL Script
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE PROCEDURE dbo.spi_update_bom_ora
(@ASSY_CODE varchar(255))
AS
BEGIN
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
Declare @tmp_bom_dtl TABLE(
ASSY_CODE varchar(255),
PART_NO varchar(255) NULL,
QTY decimal(38,4) NULL,
PARTNO2 varchar(255) NULL,
ASSY_NO varchar(255) NULL,
FLAG varchar(255) NULL,
STATUS varchar(255) NULL
)
DECLARE @TSQL varchar(8000)
, @itemcount int
, @TSQL2 varchar(8000)
SELECT @TSQL = 'SELECT ASSY_CODE, NULL, ''FROMORACC'', 0, GETDATE() FROM OPENQUERY(ORACC,''SELECT * FROM PARTLIST_VIEW WHERE ASSY_CODE = ''''' + @ASSY_CODE + ''''''') GROUP BY ASSY_CODE'
insert into dbo.tbl_bom_hdr ( ASSY_CODE, ASSY_NO, filename, itemcount, dateexec)
EXEC (@TSQL)
SELECT @TSQL2 = 'SELECT *, replace(PART_NO,'' '','''') AS PART_NO2 FROM OPENQUERY(ORACC,''SELECT * FROM PARTLIST_VIEW WHERE ASSY_CODE = ''''' + @ASSY_CODE + ''''''')'
insert into @tmp_bom_dtl ( ASSY_CODE, PART_NO, QTY, PARTNO2)
EXEC (@TSQL2)
MERGE dbo.tbl_bom_dtl AS TARGET
USING @tmp_bom_dtl AS SOURCE
ON ( SOURCE.ASSY_CODE = TARGET.ASSY_CODE and SOURCE.PARTNO2 = TARGET.PARTNO2 )
WHEN MATCHED
THEN
UPDATE set
TARGET.QTY = SOURCE.QTY
,TARGET.status_bom = (case when (select count(*) from dbo.tbl_data_part_hs where part_no2=SOURCE.PARTNO2 ) = 0 then 'not found part no' else 'ok' end)
WHEN NOT MATCHED BY TARGET THEN
INSERT (
ASSY_CODE, ASSY_NO,PART_NO, QTY, PARTNO2, FLAG, STATUS
,status_bom
) VALUES (
SOURCE.ASSY_CODE, SOURCE.ASSY_NO,SOURCE.PART_NO, SOURCE.QTY, SOURCE.PARTNO2, SOURCE.FLAG, SOURCE.STATUS
, (case when (select count(*) from dbo.tbl_data_part_hs where part_no2=SOURCE.PARTNO2 ) = 0 then 'not found part no' else 'ok' end)
);
select @itemcount = count(*) from tbl_bom_dtl where ASSY_CODE = @ASSY_CODE
update tbl_bom_hdr set itemcount = @itemcount where ASSY_CODE = @ASSY_CODE
END
--go
--exec('[spuload_bc25] @filepath=''C:/wamp/www/pemi/loaderfiles/exim/bc25/'', @filename=''PIB_BERKALA_242_1.csv'', @username=''admin'', @tipe=''bc25'', @trx=''add'', @id=0 ')
GO
GO
CREATE PROCEDURE dbo.spi_update_bom_ora
(@ASSY_CODE varchar(255))
AS
BEGIN
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
Declare @tmp_bom_dtl TABLE(
ASSY_CODE varchar(255),
PART_NO varchar(255) NULL,
QTY decimal(38,4) NULL,
PARTNO2 varchar(255) NULL,
ASSY_NO varchar(255) NULL,
FLAG varchar(255) NULL,
STATUS varchar(255) NULL
)
DECLARE @TSQL varchar(8000)
, @itemcount int
, @TSQL2 varchar(8000)
SELECT @TSQL = 'SELECT ASSY_CODE, NULL, ''FROMORACC'', 0, GETDATE() FROM OPENQUERY(ORACC,''SELECT * FROM PARTLIST_VIEW WHERE ASSY_CODE = ''''' + @ASSY_CODE + ''''''') GROUP BY ASSY_CODE'
insert into dbo.tbl_bom_hdr ( ASSY_CODE, ASSY_NO, filename, itemcount, dateexec)
EXEC (@TSQL)
SELECT @TSQL2 = 'SELECT *, replace(PART_NO,'' '','''') AS PART_NO2 FROM OPENQUERY(ORACC,''SELECT * FROM PARTLIST_VIEW WHERE ASSY_CODE = ''''' + @ASSY_CODE + ''''''')'
insert into @tmp_bom_dtl ( ASSY_CODE, PART_NO, QTY, PARTNO2)
EXEC (@TSQL2)
MERGE dbo.tbl_bom_dtl AS TARGET
USING @tmp_bom_dtl AS SOURCE
ON ( SOURCE.ASSY_CODE = TARGET.ASSY_CODE and SOURCE.PARTNO2 = TARGET.PARTNO2 )
WHEN MATCHED
THEN
UPDATE set
TARGET.QTY = SOURCE.QTY
,TARGET.status_bom = (case when (select count(*) from dbo.tbl_data_part_hs where part_no2=SOURCE.PARTNO2 ) = 0 then 'not found part no' else 'ok' end)
WHEN NOT MATCHED BY TARGET THEN
INSERT (
ASSY_CODE, ASSY_NO,PART_NO, QTY, PARTNO2, FLAG, STATUS
,status_bom
) VALUES (
SOURCE.ASSY_CODE, SOURCE.ASSY_NO,SOURCE.PART_NO, SOURCE.QTY, SOURCE.PARTNO2, SOURCE.FLAG, SOURCE.STATUS
, (case when (select count(*) from dbo.tbl_data_part_hs where part_no2=SOURCE.PARTNO2 ) = 0 then 'not found part no' else 'ok' end)
);
select @itemcount = count(*) from tbl_bom_dtl where ASSY_CODE = @ASSY_CODE
update tbl_bom_hdr set itemcount = @itemcount where ASSY_CODE = @ASSY_CODE
END
--go
--exec('[spuload_bc25] @filepath=''C:/wamp/www/pemi/loaderfiles/exim/bc25/'', @filename=''PIB_BERKALA_242_1.csv'', @username=''admin'', @tipe=''bc25'', @trx=''add'', @id=0 ')
GO