SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
FG Costing update in ORION ERP.
For FG standard cost for AX grade inputted by the finance team in below window.
Menu Path- Mgt Customised costing sheet for PTY/POY/ITY/ACY.
For all other grade system will input entry using this procedure STD_FG_VALUE_INSERT.
In system, we have scheduled a procedure (STD_FG_COST_UPD_PRD) to run on interval of 3
minutes.
You can see it using this command.
Select * from all_jobs.
Note:- when the production is generated and that combination of item with grade and
shade code are not available in Standard costing sheet ,system will send daily alert of
pending item for costing.
1. CREATE OR REPLACE PROCEDURE MGTDAT.STD_FG_COST_UPD_PRD AS
CURSOR C1 IS
SELECT DISTINCT
ADJI_ITEM_CODE,adji_item_desc,ADJI_GRADE_CODE_1,ADJI_GRADE_CODE_2
FROM OT_ADJ_HEAD,OT_ADJ_ITEM
WHERE ADJI_ADJH_SYS_ID=ADJH_SYS_ID
AND TRUNC(ADJH_DT) between'01-JUL-2015' and TRUNC(SYSDATE)
AND ADJH_TXN_CODE='INVADJ'
AND NVL(ADJI_RATE,0)<=0
AND ADJH_POST_STATUS IS NULL
AND NOT EXISTS
(SELECT * FROM OT_STD_COST_PRODUCTS_MGT WHERE
ADJI_ITEM_CODE = FG_ITEM_CODE AND
ADJI_GRADE_CODE_1 = FG_ITEM_GRADE AND
ADJI_GRADE_CODE_2 = FG_ITEM_SHADE
);
BEGIN
IF C1%ISOPEN THEN
CLOSE C1;
END IF;
FOR R1 IN C1 LOOP
MGTDAT.STD_FG_VALUE_INSERT (R1.ADJI_ITEM_CODE, R1.ADJI_GRADE_CODE_1,
R1.ADJI_GRADE_CODE_2);
END LOOP;
END;
/
2. CREATE OR REPLACE PROCEDURE MGTDAT.STD_FG_VALUE_INSERT(P_ITEM_CODE
VARCHAR2,P_GRADE_CODE VARCHAR2,P_SHADE_CODE VARCHAR2) AS
M_FG_ITEM_CODE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_CODE%TYPE;
M_FG_ITEM_NAME OT_STD_COST_PRODUCTS_MGT.FG_ITEM_NAME%TYPE;
M_FG_CONVER_COST OT_STD_COST_PRODUCTS_MGT.FG_CONVER_COST%TYPE;
M_FG_SHADE_NAME OT_STD_COST_PRODUCTS_MGT.FG_SHADE_NAME%TYPE;
M_FG_CHP_ITEM_CODE OT_STD_COST_PRODUCTS_MGT.FG_CHP_ITEM_CODE%TYPE;
M_FG_CHP_CON_KG OT_STD_COST_PRODUCTS_MGT.FG_CHP_CON_KG%TYPE;
M_FG_CHP_COST OT_STD_COST_PRODUCTS_MGT.FG_CHP_COST%TYPE;
M_FG_COST_PER_KG OT_STD_COST_PRODUCTS_MGT.FG_COST_PER_KG%TYPE;
M_FG_ITEM_TYPE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_TYPE%TYPE;
M_ITEM_GRADE_CODE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_GRADE%TYPE;
M_ITEM_SHADE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_SHADE%TYPE;
M_ITEM_VALUE NUMBER;
M_ITEM_STD_VAL NUMBER:=0;
M_CONVER_COST NUMBER;
P_CONVER_COST NUMBER;
P_FLAG NUMBER;
P_FLAG_FOUND NUMBER;
M_CGCV_COST NUMBER;
FG_SHADE_NAME VARCHAR2(200);
FG_ITEM_NAME VARCHAR2(200);
M_FG_PRD_PER_DAY NUMBER;
CURSOR C1 IS
SELECT FG_ITEM_CODE, FG_ITEM_NAME, FG_CONVER_COST, FG_SHADE_NAME,
FG_CHP_ITEM_CODE, FG_CHP_CON_KG, FG_CHP_COST, FG_COST_PER_KG,
FG_ITEM_TYPE,NVL(FG_MS_BATCH_ITEM,0) FROM OT_STD_COST_PRODUCTS_MGT
WHERE FG_ITEM_GRADE ='AX' AND FG_ITEM_CODE = P_ITEM_CODE
AND FG_ITEM_SHADE = P_SHADE_CODE;
BEGIN
SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO
M_CGCV_COST
FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000030' AND
CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP');
--Manually add the chip grade code 2, if it is belong to new supplier. If
not set then all chip cost goes wrong and fg cost is wrong.
SELECT GRADE_NAME INTO FG_SHADE_NAME FROM OM_GRADE_CODE_2 WHERE
GRADE_CODE=P_SHADE_CODE;
SELECT ITEM_NAME INTO FG_ITEM_NAME FROM OM_ITEM WHERE ITEM_CODE =
P_ITEM_CODE;
M_FG_ITEM_CODE:=P_ITEM_CODE;
M_ITEM_GRADE_CODE :=P_GRADE_CODE ;
M_ITEM_SHADE :=P_SHADE_CODE;
IF C1%ISOPEN THEN
CLOSE C1;
END IF;
OPEN C1;
FETCH C1 INTO M_FG_ITEM_CODE, M_FG_ITEM_NAME, M_FG_CONVER_COST,
M_FG_SHADE_NAME,
M_FG_CHP_ITEM_CODE, M_FG_CHP_CON_KG, M_FG_CHP_COST, M_FG_COST_PER_KG,
M_FG_ITEM_TYPE ,M_FG_PRD_PER_DAY;
IF C1%FOUND THEN
P_FLAG:=1;
ELSE
P_FLAG:=0;
END IF;
CLOSE C1;
SELECT FG_CONVER_COST INTO P_CONVER_COST FROM OT_STD_COST_PRODUCTS_MGT
WHERE FG_ITEM_GRADE ='AX' AND FG_ITEM_CODE = 'PTY0000138'
AND FG_ITEM_SHADE ='NL' ; -- FOR DSD/OSD
IF SUBSTR(M_FG_ITEM_CODE,0,3) ='PTY' THEN -- FOR POY
IF P_SHADE_CODE IN ('NL','Z114S','Z414S','IR453') THEN -- FOR SD/BSD
PRODUCT
IF P_GRADE_CODE ='AE' THEN
M_ITEM_VALUE:= 0;
ELSIF P_GRADE_CODE ='AM' THEN
M_ITEM_VALUE:= 0.05;
ELSIF P_GRADE_CODE IN ('B','C') THEN
M_ITEM_VALUE:= 0.25;
ELSIF P_GRADE_CODE IN ('JLT','RW') THEN
M_ITEM_VALUE:= 0.35;
END IF;
ELSE
IF P_GRADE_CODE IN('AE','AM') THEN
M_ITEM_VALUE:= 0;
ELSIF P_GRADE_CODE IN ('B','C','JLT','RW') THEN
M_FG_CONVER_COST := P_CONVER_COST;
M_ITEM_VALUE:= 0;
END IF;
END IF;
END IF;
IF SUBSTR(M_FG_ITEM_CODE,0,3) ='ACY' THEN -- FOR ACY PRODUCT
IF P_GRADE_CODE IN('AE','AM') THEN
M_ITEM_VALUE:= 0;
ELSIF P_GRADE_CODE IN ('B','C','JLT') THEN
M_FG_CONVER_COST := P_CONVER_COST;
M_ITEM_VALUE:= 0;
END IF;
END IF;
IF SUBSTR(M_FG_ITEM_CODE,0,3) ='ITY' THEN -- FOR ITY PRODUCT
IF P_GRADE_CODE IN('AE','AM') THEN
M_ITEM_VALUE:= 0;
ELSIF P_GRADE_CODE IN ('B','C') THEN
M_ITEM_VALUE:= 0.25;
ELSIF P_GRADE_CODE IN ('JLT') THEN
M_ITEM_VALUE:= 0.35;
END IF;
END IF;
IF SUBSTR(M_FG_ITEM_CODE,0,3) ='POY' THEN -- FOR POY
IF P_GRADE_CODE IN ('B','B1','BB','B2','C','JLT') THEN
M_FG_ITEM_NAME :=FG_ITEM_NAME;
M_FG_CONVER_COST := 0;
M_FG_SHADE_NAME := FG_SHADE_NAME;
M_FG_CHP_ITEM_CODE := 'REG';
M_FG_CHP_CON_KG:=1;
M_FG_CHP_COST := M_CGCV_COST ;
M_FG_ITEM_TYPE:=SUBSTR(P_ITEM_CODE,0,3);
M_ITEM_VALUE:= 0;
P_FLAG:=1;
END IF;
IF P_GRADE_CODE LIKE 'A%' THEN
M_ITEM_VALUE:= 0;
END IF;
END IF;
M_CONVER_COST := ROUND(NVL(M_FG_CONVER_COST - (M_ITEM_VALUE*100),0),2);
M_ITEM_STD_VAL := ROUND((M_FG_CHP_COST * M_FG_CHP_CON_KG) +
(M_CONVER_COST/100),3);
IF P_FLAG <> 0 THEN
INSERT INTO OT_STD_COST_PRODUCTS_MGT(FG_ITEM_CODE, FG_ITEM_NAME,
FG_CONVER_COST, FG_ITEM_GRADE, FG_ITEM_SHADE, FG_SHADE_NAME,
FG_CHP_ITEM_CODE,
FG_CHP_CON_KG, FG_CHP_COST, FG_COST_PER_KG, FG_MS_BATCH_ITEM,
FG_ITEM_CR_DT, FG_ITEM_CR_UID, FG_ITEM_TYPE)
VALUES( M_FG_ITEM_CODE,
M_FG_ITEM_NAME,M_CONVER_COST,M_ITEM_GRADE_CODE,P_SHADE_CODE,
M_FG_SHADE_NAME, M_FG_CHP_ITEM_CODE,
M_FG_CHP_CON_KG, M_FG_CHP_COST,M_ITEM_STD_VAL
,M_FG_PRD_PER_DAY,SYSDATE,'SYSADMIN',M_FG_ITEM_TYPE);
END IF;
COMMIT;
END ;
/
3. CREATE OR REPLACE PROCEDURE MGTDAT.CHP_WAC_UPD
AS
M_CGCV_COST NUMBER;
M_STD_CHP_COST NUMBER;
M_CGCV_COST_BRT NUMBER;
M_STD_CHP_COST_BRT NUMBER;
-- Written by jitendra IT MGT ,for update the stand costing table fo chip
wac feild.
BEGIN
SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO
M_CGCV_COST
FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000030' AND
CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP');
SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO
M_CGCV_COST_BRT
FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000031' AND
CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP');
--Manually add the chip grade code 2, if it is belong to new supplier. If
not set then all chip cost goes wrong and fg cost is wrong.
UPDATE OT_STD_COST_PRODUCTS_MGT
SET FG_CHP_COST= ROUND(NVL(M_CGCV_COST,0),3)
WHERE FG_ITEM_CODE IS NOT NULL
AND FG_CHP_ITEM_CODE='REG'
AND FG_ITEM_TYPE IN ('POY','PTY','ACY','ITY');
--END IF;
--IF M_CGCV_COST_BRT <>M_STD_CHP_COST_BRT THEN
UPDATE OT_STD_COST_PRODUCTS_MGT
SET FG_CHP_COST= ROUND(NVL(M_CGCV_COST_BRT,0),3)
WHERE FG_ITEM_CODE IS NOT NULL
AND FG_CHP_ITEM_CODE='BRT'
AND FG_ITEM_TYPE IN ('POY','PTY','ACY','ITY');
--END IF;
COMMIT;
END;
/

Contenu connexe

Similaire à FG Costing update in ORION ERP

I need help to modify my code according to the instructions- Modify th.pdf
I need help to modify my code according to the instructions- Modify th.pdfI need help to modify my code according to the instructions- Modify th.pdf
I need help to modify my code according to the instructions- Modify th.pdf
pnaran46
 
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15
종인 전
 
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
mayank272369
 

Similaire à FG Costing update in ORION ERP (13)

Amadeus_Basic_Training_Manual.pdf
Amadeus_Basic_Training_Manual.pdfAmadeus_Basic_Training_Manual.pdf
Amadeus_Basic_Training_Manual.pdf
 
Amadeus Basic Training Manual
Amadeus Basic Training ManualAmadeus Basic Training Manual
Amadeus Basic Training Manual
 
Travel management configuration steps
Travel management configuration stepsTravel management configuration steps
Travel management configuration steps
 
Travelmanagementconfigurationsteps 140722061008-phpapp02
Travelmanagementconfigurationsteps 140722061008-phpapp02Travelmanagementconfigurationsteps 140722061008-phpapp02
Travelmanagementconfigurationsteps 140722061008-phpapp02
 
You are to write a program that computes customers bill for hisher.docx
 You are to write a program that computes customers bill for hisher.docx You are to write a program that computes customers bill for hisher.docx
You are to write a program that computes customers bill for hisher.docx
 
I need help to modify my code according to the instructions- Modify th.pdf
I need help to modify my code according to the instructions- Modify th.pdfI need help to modify my code according to the instructions- Modify th.pdf
I need help to modify my code according to the instructions- Modify th.pdf
 
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project ADN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
DN 2017 | Reducing pain in data engineering | Martin Loetzsch | Project A
 
C programming of an ARM microcontroller and writing UART serial communication...
C programming of an ARM microcontroller and writing UART serial communication...C programming of an ARM microcontroller and writing UART serial communication...
C programming of an ARM microcontroller and writing UART serial communication...
 
망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15망고100 보드로 놀아보자 15
망고100 보드로 놀아보자 15
 
An Oracle approach to the Taxi Fare problem
An Oracle approach to the Taxi Fare problemAn Oracle approach to the Taxi Fare problem
An Oracle approach to the Taxi Fare problem
 
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx# peripheral registers  .equ PWR_BASE0x40007000    .equ PWR_CR0x00  .docx
# peripheral registers .equ PWR_BASE0x40007000 .equ PWR_CR0x00 .docx
 
Inventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktopInventory aging report using oracle discoverer desktop
Inventory aging report using oracle discoverer desktop
 
How to transfer bad PLSQL into good (AAAPEKS23)
How to transfer bad PLSQL into good (AAAPEKS23)How to transfer bad PLSQL into good (AAAPEKS23)
How to transfer bad PLSQL into good (AAAPEKS23)
 

FG Costing update in ORION ERP

  • 1. FG Costing update in ORION ERP. For FG standard cost for AX grade inputted by the finance team in below window. Menu Path- Mgt Customised costing sheet for PTY/POY/ITY/ACY. For all other grade system will input entry using this procedure STD_FG_VALUE_INSERT. In system, we have scheduled a procedure (STD_FG_COST_UPD_PRD) to run on interval of 3 minutes. You can see it using this command. Select * from all_jobs. Note:- when the production is generated and that combination of item with grade and shade code are not available in Standard costing sheet ,system will send daily alert of pending item for costing.
  • 2. 1. CREATE OR REPLACE PROCEDURE MGTDAT.STD_FG_COST_UPD_PRD AS CURSOR C1 IS SELECT DISTINCT ADJI_ITEM_CODE,adji_item_desc,ADJI_GRADE_CODE_1,ADJI_GRADE_CODE_2 FROM OT_ADJ_HEAD,OT_ADJ_ITEM WHERE ADJI_ADJH_SYS_ID=ADJH_SYS_ID AND TRUNC(ADJH_DT) between'01-JUL-2015' and TRUNC(SYSDATE) AND ADJH_TXN_CODE='INVADJ' AND NVL(ADJI_RATE,0)<=0 AND ADJH_POST_STATUS IS NULL AND NOT EXISTS (SELECT * FROM OT_STD_COST_PRODUCTS_MGT WHERE ADJI_ITEM_CODE = FG_ITEM_CODE AND ADJI_GRADE_CODE_1 = FG_ITEM_GRADE AND ADJI_GRADE_CODE_2 = FG_ITEM_SHADE ); BEGIN IF C1%ISOPEN THEN CLOSE C1; END IF; FOR R1 IN C1 LOOP MGTDAT.STD_FG_VALUE_INSERT (R1.ADJI_ITEM_CODE, R1.ADJI_GRADE_CODE_1, R1.ADJI_GRADE_CODE_2); END LOOP; END; / 2. CREATE OR REPLACE PROCEDURE MGTDAT.STD_FG_VALUE_INSERT(P_ITEM_CODE VARCHAR2,P_GRADE_CODE VARCHAR2,P_SHADE_CODE VARCHAR2) AS M_FG_ITEM_CODE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_CODE%TYPE; M_FG_ITEM_NAME OT_STD_COST_PRODUCTS_MGT.FG_ITEM_NAME%TYPE; M_FG_CONVER_COST OT_STD_COST_PRODUCTS_MGT.FG_CONVER_COST%TYPE; M_FG_SHADE_NAME OT_STD_COST_PRODUCTS_MGT.FG_SHADE_NAME%TYPE; M_FG_CHP_ITEM_CODE OT_STD_COST_PRODUCTS_MGT.FG_CHP_ITEM_CODE%TYPE; M_FG_CHP_CON_KG OT_STD_COST_PRODUCTS_MGT.FG_CHP_CON_KG%TYPE; M_FG_CHP_COST OT_STD_COST_PRODUCTS_MGT.FG_CHP_COST%TYPE; M_FG_COST_PER_KG OT_STD_COST_PRODUCTS_MGT.FG_COST_PER_KG%TYPE; M_FG_ITEM_TYPE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_TYPE%TYPE; M_ITEM_GRADE_CODE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_GRADE%TYPE; M_ITEM_SHADE OT_STD_COST_PRODUCTS_MGT.FG_ITEM_SHADE%TYPE; M_ITEM_VALUE NUMBER; M_ITEM_STD_VAL NUMBER:=0; M_CONVER_COST NUMBER; P_CONVER_COST NUMBER; P_FLAG NUMBER; P_FLAG_FOUND NUMBER; M_CGCV_COST NUMBER; FG_SHADE_NAME VARCHAR2(200); FG_ITEM_NAME VARCHAR2(200); M_FG_PRD_PER_DAY NUMBER; CURSOR C1 IS SELECT FG_ITEM_CODE, FG_ITEM_NAME, FG_CONVER_COST, FG_SHADE_NAME, FG_CHP_ITEM_CODE, FG_CHP_CON_KG, FG_CHP_COST, FG_COST_PER_KG, FG_ITEM_TYPE,NVL(FG_MS_BATCH_ITEM,0) FROM OT_STD_COST_PRODUCTS_MGT
  • 3. WHERE FG_ITEM_GRADE ='AX' AND FG_ITEM_CODE = P_ITEM_CODE AND FG_ITEM_SHADE = P_SHADE_CODE; BEGIN SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO M_CGCV_COST FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000030' AND CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP'); --Manually add the chip grade code 2, if it is belong to new supplier. If not set then all chip cost goes wrong and fg cost is wrong. SELECT GRADE_NAME INTO FG_SHADE_NAME FROM OM_GRADE_CODE_2 WHERE GRADE_CODE=P_SHADE_CODE; SELECT ITEM_NAME INTO FG_ITEM_NAME FROM OM_ITEM WHERE ITEM_CODE = P_ITEM_CODE; M_FG_ITEM_CODE:=P_ITEM_CODE; M_ITEM_GRADE_CODE :=P_GRADE_CODE ; M_ITEM_SHADE :=P_SHADE_CODE; IF C1%ISOPEN THEN CLOSE C1; END IF; OPEN C1; FETCH C1 INTO M_FG_ITEM_CODE, M_FG_ITEM_NAME, M_FG_CONVER_COST, M_FG_SHADE_NAME, M_FG_CHP_ITEM_CODE, M_FG_CHP_CON_KG, M_FG_CHP_COST, M_FG_COST_PER_KG, M_FG_ITEM_TYPE ,M_FG_PRD_PER_DAY; IF C1%FOUND THEN P_FLAG:=1; ELSE P_FLAG:=0; END IF; CLOSE C1; SELECT FG_CONVER_COST INTO P_CONVER_COST FROM OT_STD_COST_PRODUCTS_MGT WHERE FG_ITEM_GRADE ='AX' AND FG_ITEM_CODE = 'PTY0000138' AND FG_ITEM_SHADE ='NL' ; -- FOR DSD/OSD IF SUBSTR(M_FG_ITEM_CODE,0,3) ='PTY' THEN -- FOR POY IF P_SHADE_CODE IN ('NL','Z114S','Z414S','IR453') THEN -- FOR SD/BSD PRODUCT IF P_GRADE_CODE ='AE' THEN M_ITEM_VALUE:= 0; ELSIF P_GRADE_CODE ='AM' THEN M_ITEM_VALUE:= 0.05; ELSIF P_GRADE_CODE IN ('B','C') THEN M_ITEM_VALUE:= 0.25; ELSIF P_GRADE_CODE IN ('JLT','RW') THEN M_ITEM_VALUE:= 0.35; END IF; ELSE
  • 4. IF P_GRADE_CODE IN('AE','AM') THEN M_ITEM_VALUE:= 0; ELSIF P_GRADE_CODE IN ('B','C','JLT','RW') THEN M_FG_CONVER_COST := P_CONVER_COST; M_ITEM_VALUE:= 0; END IF; END IF; END IF; IF SUBSTR(M_FG_ITEM_CODE,0,3) ='ACY' THEN -- FOR ACY PRODUCT IF P_GRADE_CODE IN('AE','AM') THEN M_ITEM_VALUE:= 0; ELSIF P_GRADE_CODE IN ('B','C','JLT') THEN M_FG_CONVER_COST := P_CONVER_COST; M_ITEM_VALUE:= 0; END IF; END IF; IF SUBSTR(M_FG_ITEM_CODE,0,3) ='ITY' THEN -- FOR ITY PRODUCT IF P_GRADE_CODE IN('AE','AM') THEN M_ITEM_VALUE:= 0; ELSIF P_GRADE_CODE IN ('B','C') THEN M_ITEM_VALUE:= 0.25; ELSIF P_GRADE_CODE IN ('JLT') THEN M_ITEM_VALUE:= 0.35; END IF; END IF; IF SUBSTR(M_FG_ITEM_CODE,0,3) ='POY' THEN -- FOR POY IF P_GRADE_CODE IN ('B','B1','BB','B2','C','JLT') THEN M_FG_ITEM_NAME :=FG_ITEM_NAME; M_FG_CONVER_COST := 0; M_FG_SHADE_NAME := FG_SHADE_NAME; M_FG_CHP_ITEM_CODE := 'REG'; M_FG_CHP_CON_KG:=1; M_FG_CHP_COST := M_CGCV_COST ; M_FG_ITEM_TYPE:=SUBSTR(P_ITEM_CODE,0,3); M_ITEM_VALUE:= 0; P_FLAG:=1; END IF; IF P_GRADE_CODE LIKE 'A%' THEN M_ITEM_VALUE:= 0; END IF; END IF; M_CONVER_COST := ROUND(NVL(M_FG_CONVER_COST - (M_ITEM_VALUE*100),0),2); M_ITEM_STD_VAL := ROUND((M_FG_CHP_COST * M_FG_CHP_CON_KG) + (M_CONVER_COST/100),3); IF P_FLAG <> 0 THEN
  • 5. INSERT INTO OT_STD_COST_PRODUCTS_MGT(FG_ITEM_CODE, FG_ITEM_NAME, FG_CONVER_COST, FG_ITEM_GRADE, FG_ITEM_SHADE, FG_SHADE_NAME, FG_CHP_ITEM_CODE, FG_CHP_CON_KG, FG_CHP_COST, FG_COST_PER_KG, FG_MS_BATCH_ITEM, FG_ITEM_CR_DT, FG_ITEM_CR_UID, FG_ITEM_TYPE) VALUES( M_FG_ITEM_CODE, M_FG_ITEM_NAME,M_CONVER_COST,M_ITEM_GRADE_CODE,P_SHADE_CODE, M_FG_SHADE_NAME, M_FG_CHP_ITEM_CODE, M_FG_CHP_CON_KG, M_FG_CHP_COST,M_ITEM_STD_VAL ,M_FG_PRD_PER_DAY,SYSDATE,'SYSADMIN',M_FG_ITEM_TYPE); END IF; COMMIT; END ; / 3. CREATE OR REPLACE PROCEDURE MGTDAT.CHP_WAC_UPD AS M_CGCV_COST NUMBER; M_STD_CHP_COST NUMBER; M_CGCV_COST_BRT NUMBER; M_STD_CHP_COST_BRT NUMBER; -- Written by jitendra IT MGT ,for update the stand costing table fo chip wac feild. BEGIN SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO M_CGCV_COST FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000030' AND CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP'); SELECT ROUND(SUM(CGCV_VALUE_1)/SUM(CGCV_STK_QTY_BU/1000),3) INTO M_CGCV_COST_BRT FROM OS_COST_GROUP_CURR_VAL WHERE CGCV_ITEM_CODE='CHP0000031' AND CGCV_GRADE_CODE_2 IN ('APF','IND','SLD','SPL','SGP'); --Manually add the chip grade code 2, if it is belong to new supplier. If not set then all chip cost goes wrong and fg cost is wrong. UPDATE OT_STD_COST_PRODUCTS_MGT SET FG_CHP_COST= ROUND(NVL(M_CGCV_COST,0),3) WHERE FG_ITEM_CODE IS NOT NULL AND FG_CHP_ITEM_CODE='REG' AND FG_ITEM_TYPE IN ('POY','PTY','ACY','ITY'); --END IF; --IF M_CGCV_COST_BRT <>M_STD_CHP_COST_BRT THEN UPDATE OT_STD_COST_PRODUCTS_MGT SET FG_CHP_COST= ROUND(NVL(M_CGCV_COST_BRT,0),3) WHERE FG_ITEM_CODE IS NOT NULL AND FG_CHP_ITEM_CODE='BRT' AND FG_ITEM_TYPE IN ('POY','PTY','ACY','ITY'); --END IF;