0% found this document useful (0 votes)
14 views4 pages

Shifting SP

This document contains the code for a stored procedure that processes container data and generates EDI messages. The procedure declares many variables, opens cursors to loop through container and message data, replaces variables in message templates, and inserts the processed messages into a temporary table to be returned.

Uploaded by

rakesh2390p
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views4 pages

Shifting SP

This document contains the code for a stored procedure that processes container data and generates EDI messages. The procedure declares many variables, opens cursors to loop through container and message data, replaces variables in message templates, and inserts the processed messages into a temporary table to be returned.

Uploaded by

rakesh2390p
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

---[codecoMastEYardIN_SHIFTING] 17,'CMA CGM',''

alter procEDURE [dbo].[codecoMastEYardIN_SHIFTING]


(@LINE_ID INT,
@REFCode varchar(20),
@containerNo varchar(20)=null
) AS
BEGIN
DECLARE @EDI_NO VARCHAR(20)
DECLARE @EDI_NO_S VARCHAR(20)
DECLARE @V_VOY_NO VARCHAR(20)
DECLARE @V_VESSEL VARCHAR(20)
DECLARE @V_CONT_NO VARCHAR(20)
DECLARE @V_ISO_CODE VARCHAR(20)
DECLARE @V_OUT_DATE VARCHAR(20)
DECLARE @V_TOT_WT NUMERIC(10)
DECLARE @V_SEAL_NO VARCHAR(20)
DECLARE @V_TRUCK_NO VARCHAR(20)
DECLARE @CUR_POSS INT
DECLARE @MSGCOUNT INT
DECLARE @SEQ_NO INT
DECLARE @SEQ_NO_C INT
DECLARE @CURR_DT VARCHAR(20)
DECLARE @codeco_data varchar(max)
DECLARE @LINEBUFFER varchar(max)
declare @ctr_wt NUMERIC
DECLARE @FROM_DATE_l DATETIME
DECLARE @TO_DATE_l DATETIME
DECLARE @ctr_no VARCHAR(20)
DECLARE @life_no INT
DECLARE @CTR_SIZE INT
DECLARE @CTR_TYPE VARCHAR(5)
DECLARE @iso_cd VARCHAR(20)
DECLARE @line_cd VARCHAR(50)
DECLARE @entry_dttm DATETIME
DECLARE @exit_dttm DATETIME
DECLARE @entry_mode VARCHAR(1)
DECLARE @exit_mode VARCHAR(1)
DECLARE @fe_ind VARCHAR(1)
DECLARE @VENDOR VARCHAR(20)
DECLARE @SOURCE VARCHAR(50)
DECLARE @AGENT_SEAL_NO VARCHAR(50)
DECLARE @DMG_CD VARCHAR(10)
DECLARE @base_sts VARCHAR(1)
DECLARE @ctr_tare_wt NUMERIC(18,3)
DECLARE @destination VARCHAR(20)
DECLARE @booking_no VARCHAR(50)
DECLARE @Fcl_Lcl_Ind VARCHAR(1)
DECLARE @EXCISE_FLG VARCHAR(2)
DECLARE @TRUCK_REG_NO VARCHAR(20)
DECLARE @voy_no VARCHAR(20)
DECLARE @VSL_NM VARCHAR(50)
DECLARE @VIA_NO VARCHAR(10)
DECLARE @SEAL_NO_1 VARCHAR(20)
DECLARE @LOCATION_ID INT
DECLARE @V_Condition NVARCHAR(100)
DECLARE @SEQDD INT=0;
SET @FROM_DATE_l = FORMAT (getdate()-1,'yyyy-MM-dd') + ' 00:00';
SET @TO_DATE_l =FORMAT (getdate()-1,'yyyy-MM-dd') + ' 23:59';
DECLARE CODECO_CUR CURSOR LOCAL FOR
SELECT A.CODECO_DATA
FROM CODECO_PARTY_SEQ A
WHERE A.CUSTOMER_REF_CODE=@REFCode
AND A.CODECO_TYPE='SHIFTINGIN'
and sr_no > 2
ORDER BY A.SR_NO
DECLARE ctrdtls_cur CURSOR LOCAL FOR
SELECT DISTINCT Y.ContainerNo ctr_no,
Y.EntryID life_no,
Y.Size CTR_SIZE,
'' CTR_TYPE,
iso.ISOCode iso_cd,
'' line_cd,
SS.ShiftingIndate entry_dttm,
SS.ShiftingIndate exit_dttm,
'G' entry_mode,
'W' exit_mode,
'F' fe_ind,
'NAHA' VENDOR,
'' SOURCE,
Y.AgentSeal AGENT_SEAL_NO,
'' DMG_CD,
'I' base_sts,
0 ctr_wt,
iso.weight ctr_tare_wt,
Location destination,
isnull(LocationID,0) LOCATION_ID,
Y.BKNO booking_no,
'' Fcl_Lcl_Ind,
'RD' EXCISE_FLG,
SUBSTRING(Y.TruckNo,0,9) TRUCK_REG_NO,
'' voy_no, '' VSL_NM,
'' VIA_NO,
y.Condition
from EYard_In Y
inner join Depot_Shifting_D SS on ss.EntryID=y.EntryID and ss.ContainerNo
=y.ContainerNo
and FromID =1
inner join ISOCodes iso on iso.ISOID=Y.IsocodeID
where y.LineID=@LINE_ID
and SS.IsAutoMailedline=0 and y.entrytype not in ('Factory','Do Not Received')
and Y.ContainerNo = (CASE @containerNo WHEN '' THEN Y.ContainerNo ELSE
@containerNo END)
AND Y.Iscancel=0
--- and y.LocationID =2
begin
SET @CUR_POSS = 0
SET @MSGCOUNT = 0
SET @SEQ_NO=0
SET @SEQ_NO_C=0
IF OBJECT_ID('#TBL','U') IS NOT NULL --EXISTS ( SELECT * FROM sys.objects
WHERE NAME = '#TBL' AND TYPE IN (N'U'))
DROP TABLE #TBL
ELSE
CREATE TABLE #TBL (CONT_DATA VARCHAR(max),SEQ_NO INT,ContainerNO nvarchar(20))

SELECT @EDI_NO = NEXT VALUE FOR TEMP_CODECCO_EDINO ;


SET @SEQ_NO=@SEQ_NO + 1
SELECT @LINEBUFFER=A.CODECO_DATA
FROM CODECO_PARTY_SEQ A
WHERE A.CUSTOMER_REF_CODE=@REFCode
AND A.CODECO_TYPE='PARKIN'
and sr_no =1
IF @LINEBUFFER <> '0'
BEGIN
INSERT INTO #TBL (CONT_DATA,SEQ_NO) VALUES (@LINEBUFFER,@SEQ_NO);
SELECT @CURR_DT = FORMAT(GETDATE(),'yyMMdd:HHmm')
SET @SEQ_NO=@SEQ_NO + 1
END
SELECT @LINEBUFFER=A.CODECO_DATA
FROM CODECO_PARTY_SEQ A
WHERE A.CUSTOMER_REF_CODE=@REFCode
AND A.CODECO_TYPE='PARKIN'
and sr_no =2
SET @LINEBUFFER = replace(@LINEBUFFER,'V_EDINO1',@EDI_NO);
SET @LINEBUFFER = replace(@LINEBUFFER,'V_CURR_DT',@CURR_DT);
INSERT INTO #TBL (CONT_DATA,SEQ_NO,ContainerNO) VALUES
(@LINEBUFFER,@SEQ_NO,@ctr_no);
OPEN ctrdtls_cur
FETCH ctrdtls_cur INTO
@ctr_no,@life_no,@CTR_SIZE,@CTR_TYPE,@iso_cd,@line_cd,@entry_dttm,

@exit_dttm,@entry_mode,@exit_mode,@fe_ind,@VENDOR,@SOURCE,@AGENT_SEAL_NO,@DMG_CD,

@base_sts,@ctr_wt,@ctr_tare_wt,@destination,@LOCATION_ID,
@booking_no,@Fcl_Lcl_Ind,@EXCISE_FLG,@TRUCK_REG_NO,@voy_no,@VSL_NM,@VIA_NO,@V_Condi
tion;
WHILE @@FETCH_STATUS <> -1
BEGIN
declare @exit_dttm1 as varchar(20)
set @exit_dttm1=FORMAT(@exit_dttm,'yyyyMMddHHmm')
SET @SEQDD=0;
BEGIN
SELECT @EDI_NO_S = NEXT VALUE FOR TEMP_CODECCO_EDINO_s ;
OPEN codeco_cur
FETCH codeco_cur into @codeco_data
WHILE @@FETCH_STATUS <> -1
BEGIN
set @ctr_wt = isnull(@ctr_tare_wt,0)
SET @SEQDD=ISNULL(@SEQDD,0)+1;
SET @LINEBUFFER = replace(@codeco_data,'V_EDINO',@edi_no_s);
SET @linebuffer = replace(@linebuffer,'v_voy',@voy_no);
SET @linebuffer = replace(@linebuffer,'v_vessel',substring(@VSL_NM,1,3));

SET @linebuffer = replace(@linebuffer,'v_cont_no',@ctr_no);


SET @linebuffer = replace(@linebuffer,'v_iso_code',@iso_cd);
SET @linebuffer = replace(@linebuffer,'v_out_dt',@exit_dttm1);
SET @linebuffer = replace(@linebuffer,'v_tot_wt',@ctr_wt);
SET @linebuffer = replace(@linebuffer,'v_seal_no',ISNULL(@AGENT_SEAL_NO,''));

SET @linebuffer = replace(@linebuffer,'v_truck_no',ISNULL(@TRUCK_REG_NO,''));

SET @linebuffer = replace(@linebuffer,'v_vendor',ISNULL(@VENDOR,''));


SET @linebuffer = replace(@linebuffer,'v_booking_no',ISNULL(@booking_no,''));

SET @linebuffer = replace(@linebuffer,'v_gate_pass_no',ISNULL(@life_no,''));


IF @V_Condition NOT IN('N/WASH','SOUND','AV') AND @REFCode='RCL'
BEGIN
SET @linebuffer = replace(@linebuffer,'V_DAM',ISNULL(17,''));
END
ELSE IF @V_Condition IN('N/WASH','SOUND','AV') AND @REFCode='RCL'
BEGIN
SET @linebuffer = replace(@linebuffer,'V_DAM',ISNULL(15,''));
END
SET @CUR_POSS = @CUR_POSS + 1
SET @SEQ_NO=@SEQ_NO + 1
INSERT INTO #TBL (CONT_DATA,SEQ_NO,ContainerNO) VALUES
(@LINEBUFFER,@SEQ_NO,@ctr_no);
IF @V_Condition NOT IN('N/WASH','SOUND','AV') AND @SEQDD=11 AND @REFCode='RCL'
BEGIN
PRINT 'IN DAMAGE'
INSERT INTO #TBL (CONT_DATA,SEQ_NO,ContainerNO) VALUES ('FTX+DAR+
+5''',@SEQ_NO,@ctr_no);
INSERT INTO #TBL (CONT_DATA,SEQ_NO,ContainerNO) VALUES
('DAM+1+DD''',@SEQ_NO,@ctr_no);
END
FETCH codeco_cur into @codeco_data
end
CLOSE codeco_cur
SET @SEQ_NO_C=@SEQ_NO_C + 1
END
FETCH ctrdtls_cur INTO
@ctr_no,@life_no,@CTR_SIZE,@CTR_TYPE,@iso_cd,@line_cd,@entry_dttm,@exit_dttm,@entry
_mode,
@exit_mode,@fe_ind,@VENDOR,@SOURCE,@AGENT_SEAL_NO,@DMG_CD,
@base_sts,@ctr_wt,@ctr_tare_wt,@destination,@LOCATION_ID,
@booking_no,@Fcl_Lcl_Ind,@EXCISE_FLG,@TRUCK_REG_NO,@voy_no,@VSL_NM,@VIA_NO,@V_Condi
tion;
END
CLOSE ctrdtls_cur
DEALLOCATE ctrdtls_cur
SET @SEQ_NO=@SEQ_NO + 1
SET @LINEBUFFER = 'UNZ+' + CAST(@SEQ_NO_C AS VARCHAR(20)) + '+'+ CAST(@EDI_NO
AS VARCHAR(20)) +'''';
INSERT INTO #TBL (CONT_DATA,SEQ_NO,ContainerNO) VALUES
(@LINEBUFFER,@SEQ_NO,@ctr_no);
END
IF @CUR_POSS > 0
BEGIN
SELECT CONT_DATA,ContainerNO FROM #TBL WHERE CONT_DATA IS NOT NULL
ORDER BY SEQ_NO
END
ELSE
BEGIN
SELECT CONT_DATA,ContainerNO FROM #TBL WHERE CONT_DATA IS NULL
END
end

You might also like