Академический Документы
Профессиональный Документы
Культура Документы
PROGRAM-ID. CST006.
AUTHOR. EU.
SECURITY. MONTAGEM DO CUSTO D PRODUTO.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. AT486.
OBJECT-COMPUTER. AT486.
SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
COPY "SEL\CSTCDMPR.SEL".
COPY "SEL\CSTCDFAT.SEL".
COPY "SEL\CSTCDMOB.SEL".
COPY "SEL\CSTCDCRE.SEL".
COPY "SEL\CSTCDPRD.SEL".
COPY "SEL\CSTCSPRD.SEL".
COPY "SEL\ACESSO.SEL".
DATA DIVISION.
FILE SECTION.
COPY "FDS\CSTCDMPR.FDS".
COPY "FDS\CSTCDFAT.FDS".
COPY "FDS\CSTCDMOB.FDS".
COPY "FDS\CSTCDCRE.FDS".
COPY "FDS\CSTCDPRD.FDS".
COPY "FDS\CSTCSPRD.FDS".
FD acesso.
01 reg-acs.
03 acs-filler PIC X.
WORKING-STORAGE SECTION.
01 prd-key.
05 prd-cdg-k PIC 9(05).
01 wst-prd-cdg PIC 9(05).
01 csp-key.
03 csp-prdcdg-k PIC 9(05).
03 csp-tipcst-k PIC 9(05).
03 csp-cdgcst-k PIC 9(05).
01 wst-variaveis-x.
03 wst-prd-nome PIC X(30).
01 wst-csp-prdcdg PIC 9(05).
01 wst-csp-qtd PIC ZZZ.ZZ9,999.
01 wst-percent PIC ZZ9,999.
SCREEN SECTION.
COPY "SCR\CSTACES.SCR".
COPY "SCR\CST006A.SCR".
COPY "SCR\CST006B.SCR".
COPY "SCR\CST006C.SCR".
COPY "SCR\CST006D.SCR".
COPY "SCR\CST006E.SCR".
PROCEDURE DIVISION.
secao-01 SECTION.
pf-permissao.
OPEN INPUT acesso
IF fs = "35"
DISPLAY G-CSTACES
STOP " "
CHAIN "CST900".
*******pf-cria.
********** OPEN OUTPUT cstcsprd cstcdmpr cstcdmob cstcdprd
********** display fs
********** CLOSE cstcsprd cstcdmpr cstcdmob cstcdprd.
pf-abre.
OPEN INPUT CSTCDMPR
CSTCDFAT
CSTCDMOB
CSTCDCRE
CSTCDPRD.
pfmenu-A.
DISPLAY SPACES AT 0101
DISPLAY G-CST006A.
ACCEPT wst-opcao AT 1324
IF wst-opcao = "F" GO secao-fim.
IF wst-opcao NOT = "I" AND
wst-opcao NOT = "A" AND
wst-opcao NOT = "V" AND
wst-opcao NOT = "D" GO PFMENU-A.
pfmenu-B.
ACCEPT wst-escop AT 1362
IF wst-escop = "R" GO pfmenu-A.
IF wst-escop NOT = "M" AND
wst-escop NOT = "C" AND
wst-escop NOT = "O" AND
wst-escop NOT = "F" GO PFMENU-B.
PF00.
OPEN I-O cstcsprd.
pf01.
DISPLAY SPACES AT 0101
IF wst-escop = "M" DISPLAY G-CST006B.
IF wst-escop = "F" DISPLAY G-CST006C.
IF wst-escop = "C" DISPLAY G-CST006D.
IF wst-escop = "O" DISPLAY G-CST006E.
DISPLAY WS-OPERA AT 0150
MOVE spaces TO reg-csp.
MOVE 00000 TO wst-csp-prdcdg
DISPLAY
"INFORME CODIGO DO PRODUTO OU 99999 PARA DESISTIR ... "
AT 2315
ACCEPT wst-csp-prdcdg AT 0215.
DISPLAY spaces AT 2301
IF wst-csp-prdcdg = ALL "9" CLOSE cstcsprd
GO pfmenu-a.
pf02.
MOVE wst-csp-prdcdg TO prd-cod
READ cstcdprd INVALID KEY DISPLAY
"Descricao de produto nao cadastrado c/este codigo!" AT 2301
STOP " "
GO pf01.
IF fs NOT = "00" DISPLAY
"E001 - cstcdprd TEMPORARIAMENTE BLOQUEADO ... " AT 2301
GO pf01.
******************************************************************************
SECAO-MAT-PRI SECTION.
******************************************************************************
pf-mp000.
DISPLAY SPACES AT 0101
DISPLAY G-CST006B.
DISPLAY WS-OPERA AT 0150
pf-mp01A.
READ cstcsprd NEXT RECORD AT END GO pf-mp02A.
ADD 1 TO ws-cont.
PERFORM pf-mp-lermpr.
COMPUTE wln = (ws-cont + 4)
MOVE 15 TO wcl
DISPLAY mpr-cdg AT wlncl.
MOVE 23 TO wcl
DISPLAY mpr-nome AT wlncl.
MOVE 56 TO wcl
MOVE csp-qtd TO wst-csp-qtd
DISPLAY wst-csp-qtd AT wlncl.
MOVE 70 TO wcl
DISPLAY mpr-unidade AT wlncl.
GO pf-mp01A.
pf-mp-limpa.
ADD 1 TO wln1
IF wln1 > 21 GO pf-mp-limpa-99.
MOVE 15 TO wcl1
DISPLAY
"_____ ______________________________ ___.___,___ ___"
AT wlncl1.
GO pf-mp-limpa.
pf-mp-limpa-99.
EXIT.
pf-mp-mostra-prod.
MOVE csp-prdcdg TO prd-cod
READ cstcdprd INVALID KEY DISPLAY spaces AT 2001
DISPLAY
"ERRO FATAL - DESCRICAO DE PRODUTO NAO CADASTRADA " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-prdcdg AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
DISPLAY prd-nome AT 0223.
pf-mp-lermpr.
MOVE csp-cdgcst TO mpr-cod
READ cstcdmpr INVALID KEY DISPLAY SPACES AT 2001
DISPLAY
"ERRO FATAL - PRODUTO COM MATERIA PRIMA INEXISTENTE " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-cdgcst AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
pf-mp02A.
MOVE 1 TO csp-tipcst.
IF wst-opcao = "I" OR
wst-opcao = "D" OR
wst-opcao = "A" GO pf-mp-acpt-01.
pf-mp-naoexiste.
MOVE 1 TO csp-tipcst.
IF wst-opcao NOT = "I" DISPLAY
"ERRO - MAT.PRIMA N/CADASTRADA P/ESTE PRODUTO TECLE <ENTER>"
AT 2301
STOP " "
GO pf-mp999.
pf-mp-acpt-01.
DISPLAY
"INFORME CODIGO DA MATERIA PRIMA OU 99999 PARA DESISTIR ! "
AT 2315
ACCEPT csp-cdgcst AT 0315.
DISPLAY spaces AT 2301
IF csp-cdgcst = ALL "9" GO pf-mp999.
pf-mp-acpt-02.
DISPLAY
"INFORME QUANTIDADE OU 999.9999,999 PARA DESISTIR ... "
AT 2315
MOVE zeros TO wst-csp-qtd.
ACCEPT wst-csp-qtd AT 0369.
DISPLAY spaces AT 2301
IF wst-csp-qtd = " 0,000" GO pf-mp-acpt-02.
IF wst-csp-qtd = "999.999,999" GO pf-mp-acpt-01.
MOVE wst-csp-qtd TO csp-qtd
GO pf-mp000.
pf-mp-grava-csp.
* ----- gravando cadastro custo produto --- *
WRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO FATAL A=Gravacao invalida custo. produto ! " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-mp-regrava-csp.
* ----- regravando cadastro custo produto ---- *
REWRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO PRDAL X=Regravacao Invalida Custo produto " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-mp-deleta.
DISPLAY "CONFIRMA DELECAO MAT.PRIMA [SIM/NAO]... " AT 2301
ACCEPT wst-confirma AT 2356
DISPLAY SPACES AT 2301
IF wst-confirma = "nao" OR
wst-confirma = "NAO" GO pf-mp-acpt-01.
IF wst-confirma NOT = "sim" AND
wst-confirma NOT = "SIM" GO pf-mp-deleta.
pf-ver-matpri.
MOVE csp-cdgcst TO mpr-cdg
MOVE "S" TO ws-existe
pf-ver-cstprd.
MOVE "S" TO ws-existe
pf-mp999.
EXIT.
******************************************************************************
SECAO-FAT-ACR SECTION.
******************************************************************************
pf-fa000.
DISPLAY SPACES AT 0101
DISPLAY G-CST006C.
DISPLAY WS-OPERA AT 0150
pf-fa01A.
READ cstcsprd NEXT RECORD AT END GO pf-fa02A.
ADD 1 TO ws-cont.
PERFORM pf-fa-lerfat.
COMPUTE wln = (ws-cont + 4)
MOVE 17 TO wcl
DISPLAY fat-cdg AT wlncl.
MOVE 23 TO wcl
DISPLAY fat-nome AT wlncl.
MOVE 47 TO wcl
MOVE csp-qtd TO wst-percent
DISPLAY wst-percent AT wlncl.
GO pf-fa01A.
pf-fa-limpa.
ADD 1 TO wln1
IF wln1 > 21 GO pf-fa-limpa-99.
MOVE 15 TO wcl1
DISPLAY
" ___ ____________________ ___,___ "
AT wlncl1.
GO pf-fa-limpa.
pf-fa-limpa-99.
EXIT.
pf-fa-mostra-prod.
MOVE csp-prdcdg TO prd-cod
READ cstcdprd INVALID KEY DISPLAY spaces AT 2001
DISPLAY
"ERRO FATAL - DESCRICAO DE PRODUTO NAO CADASTRADA " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-prdcdg AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
DISPLAY prd-nome AT 0223.
pf-fa-lerfat.
MOVE csp-cdgcst TO fat-cdg
READ cstcdfat INVALID KEY DISPLAY SPACES AT 2001
DISPLAY
"ERRO FATAL - PRODUTO C/FATOR ACRESCIMO INEXISTENTE " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-cdgcst AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
pf-fa02A.
MOVE 4 TO csp-tipcst.
IF wst-opcao = "I" OR
wst-opcao = "D" OR
wst-opcao = "A" GO pf-fa-acpt-01.
pf-fa-naoexiste.
MOVE 4 TO csp-tipcst.
IF wst-opcao NOT = "I" DISPLAY
"ERRO - FAT.ACRES.N/CADASTRADO P/ESTE PRODUTO TECLE <ENTER>"
AT 2301
STOP " "
GO pf-fa999.
DISPLAY
"*-> PRODUTO NOVO SENDO CADASTRADO, DESEJA ASSUMIR FATORES AC
- "RESCIMO PADRAO <-*" AT 2301
DISPLAY
" SIM = ASSUME VALORES PRE-DEFINIDOS NAO = CADASTRE-OS SEPA
- "RADAMENTE [ v ] " AT 2401
pf-fa-gera.
READ cstcdfat NEXT RECORD AT END GO pf-fa000.
MOVE fat-cdg TO csp-cdgcst.
MOVE fat-percentual TO csp-qtd.
PERFORM pf-fa-grava-csp.
GO pf-fa-gera.
pf-fa-acpt-01.
DISPLAY
"INFORME CODIGO DO FATOR ACRESCIMO OU 99999 PARA DESISTIR !"
AT 2310
ACCEPT csp-cdgcst AT 0315.
DISPLAY spaces AT 2301
IF csp-cdgcst = ALL "9" GO pf-fa999.
pf-fa-acpt-02.
DISPLAY
"INFORME PRECENTUAL OU 999,999 PARA DESISTIR ... "
AT 2315
MOVE fat-percentual TO wst-percent.
ACCEPT wst-percent WITH PROMPT UPDATE AT 0373.
DISPLAY spaces AT 2301
IF wst-percent = " 0,000" GO pf-fa-acpt-02.
IF wst-percent = "999,999" GO pf-fa-acpt-01.
MOVE wst-percent TO csp-qtd
GO pf-fa000.
pf-fa-grava-csp.
* ----- gravando cadastro custo produto --- *
WRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO FATAL A=Gravacao invalida custo. produto ! " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-fa-regrava-csp.
* ----- regravando cadastro custo produto ---- *
REWRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO PRDAL X=Regravacao Invalida Custo produto " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-fa-deleta.
DISPLAY "CONFIRMA DELECAO FAT.ACRESC.[SIM/NAO]... " AT 2301
ACCEPT wst-confirma AT 2356
DISPLAY SPACES AT 2301
IF wst-confirma = "nao" OR
wst-confirma = "NAO" GO pf-fa-acpt-01.
IF wst-confirma NOT = "sim" AND
wst-confirma NOT = "SIM" GO pf-fa-deleta.
pf-fa-ver-fatacr.
MOVE csp-cdgcst TO fat-cdg
MOVE "S" TO ws-existe
pf-fa-ver-cstprd.
MOVE "S" TO ws-existe
pf-fa999.
EXIT.
******************************************************************************
SECAO-CREDITO SECTION.
******************************************************************************
pf-cr000.
DISPLAY SPACES AT 0101
DISPLAY G-CST006D.
DISPLAY WS-OPERA AT 0150
pf-cr01A.
READ cstcsprd NEXT RECORD AT END GO pf-cr02A.
ADD 1 TO ws-cont.
PERFORM pf-cr-lercre.
COMPUTE wln = (ws-cont + 4)
MOVE 17 TO wcl
DISPLAY cre-cdg AT wlncl.
MOVE 23 TO wcl
DISPLAY cre-nome AT wlncl.
MOVE 47 TO wcl
MOVE csp-qtd TO wst-percent
DISPLAY wst-percent AT wlncl.
GO pf-cr01A.
pf-cr-limpa.
ADD 1 TO wln1
IF wln1 > 21 GO pf-cr-limpa-99.
MOVE 15 TO wcl1
DISPLAY
" ___ ____________________ ___,___ "
AT wlncl1.
GO pf-cr-limpa.
pf-cr-limpa-99.
EXIT.
pf-cr-mostra-prod.
MOVE csp-prdcdg TO prd-cod
READ cstcdprd INVALID KEY DISPLAY spaces AT 2001
DISPLAY
"ERRO FATAL - DESCRICAO DE PRODUTO NAO CADASTRADA " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-prdcdg AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
DISPLAY prd-nome AT 0223.
pf-cr-lercre.
MOVE csp-cdgcst TO cre-cdg
READ cstcdcre INVALID KEY DISPLAY SPACES AT 2001
DISPLAY
"ERRO FATAL - PRODUTO C/TIPO DE CREDITO INEXISTENTE " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-cdgcst AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
pf-cr02A.
MOVE 2 TO csp-tipcst.
IF wst-opcao = "I" OR
wst-opcao = "D" OR
wst-opcao = "A" GO pf-cr-acpt-01.
pf-cr-naoexiste.
MOVE 2 TO csp-tipcst.
IF wst-opcao NOT = "I" DISPLAY
"ERRO - CREDITO NAO CADASTRADO P/ESTE PRODUTO TECLE <ENTER>"
AT 2301
STOP " "
GO pf-cr999.
DISPLAY
"*-> PRODUTO NOVO SENDO CADASTRADO, DESEJA ASSUMIR CREDITO S/
- "PRODUTO PADRAO <-*" AT 2301
DISPLAY
" SIM = ASSUME VALORES PRE-DEFINIDOS NAO = CADASTRE-OS SEPA
- "RADAMENTE [___] " AT 2401
pf-cr-gera.
READ cstcdcre NEXT RECORD AT END GO pf-cr000.
PERFORM pf-cr-grava-csp.
GO pf-cr-gera.
pf-cr-acpt-01.
DISPLAY
"INFORME CODIGO DO CREDITO S/PROD OU 99999 PARA DESISTIR !"
AT 2315
ACCEPT csp-cdgcst AT 0315.
DISPLAY spaces AT 2301
IF csp-cdgcst = ALL "9" GO pf-cr999.
pf-cr-acpt-02.
DISPLAY
"INFORME PRECENTUAL OU 999,999 PARA DESISTIR ... "
AT 2315
MOVE cre-percentual TO wst-percent.
ACCEPT wst-percent WITH PROMPT UPDATE AT 0373.
DISPLAY spaces AT 2301
IF wst-percent = " 0,000" GO pf-cr-acpt-02.
IF wst-percent = "999,999" GO pf-cr-acpt-01.
MOVE wst-percent TO csp-qtd
GO pf-cr000.
pf-cr-grava-csp.
* ----- gravando cadastro custo produto --- *
WRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO FATAL A=Gravacao invalida custo. produto ! " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-cr-regrava-csp.
* ----- regravando cadastro custo produto ---- *
REWRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO PRDAL X=Regravacao Invalida Custo produto " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-cr-deleta.
DISPLAY "CONFIRMA DELECAO TP.CREDITO [SIM/NAO]... " AT 2301
ACCEPT wst-confirma AT 2356
DISPLAY SPACES AT 2301
IF wst-confirma = "nao" OR
wst-confirma = "NAO" GO pf-cr-acpt-01.
IF wst-confirma NOT = "sim" AND
wst-confirma NOT = "SIM" GO pf-cr-deleta.
pf-cr-ver-credito.
MOVE csp-cdgcst TO cre-cdg
MOVE "S" TO ws-existe
pf-cr-ver-cstprd.
MOVE "S" TO ws-existe
READ cstcsprd INVALID KEY MOVE "N" TO ws-existe
MOVE "00" TO fs.
pf-cr999.
EXIT.
******************************************************************************
SECAO-MAO-OBR SECTION.
******************************************************************************
pf-mo000.
DISPLAY SPACES AT 0101
DISPLAY G-CST006E.
DISPLAY WS-OPERA AT 0150
pf-mo01A.
READ cstcsprd NEXT RECORD AT END GO pf-mo02A.
ADD 1 TO ws-cont.
PERFORM pf-mo-lermob.
COMPUTE wln = (ws-cont + 4)
MOVE 17 TO wcl
DISPLAY mob-cdg AT wlncl.
MOVE 23 TO wcl
DISPLAY mob-nome AT wlncl.
MOVE 57 TO wcl
MOVE csp-qtd TO wst-csp-qtd
DISPLAY wst-csp-qtd AT wlncl.
GO pf-mo01A.
pf-mo-limpa.
ADD 1 TO wln1
IF wln1 > 21 GO pf-mo-limpa-99.
MOVE 15 TO wcl1
DISPLAY
" ___ ______________________________ ___.___,___ "
AT wlncl1.
GO pf-mo-limpa.
pf-mo-limpa-99.
EXIT.
pf-mo-mostra-prod.
MOVE csp-prdcdg TO prd-cod
READ cstcdprd INVALID KEY DISPLAY spaces AT 2001
DISPLAY
"ERRO FATAL - DESCRICAO DE PRODUTO NAO CADASTRADA " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-prdcdg AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
DISPLAY prd-nome AT 0223.
pf-mo-lermob.
MOVE csp-cdgcst TO mob-cdg
READ cstcdmob INVALID KEY DISPLAY SPACES AT 2001
DISPLAY
"ERRO FATAL - PRODUTO C/MAO DE OBRA INEXISTENTE !!! " AT 2001
DISPLAY
" ANOTE CODIGO : " AT 2101
DISPLAY csp-cdgcst AT 2130
DISPLAY
" E CADASTRE-O ! " AT 2140
GO SECAO-99.
pf-mo-naoexiste.
MOVE 3 TO csp-tipcst.
IF wst-opcao NOT = "I" DISPLAY
"ERRO - MAO OBRA N/CADASTRADA P/ESTE PRODUTO TECLE <ENTER>"
AT 2301
STOP " "
GO pf-mo999.
pf-mo-acpt-01.
DISPLAY
"INFORME CODIGO DA MAO DE OBRA OU 99999 PARA DESISTIR !"
AT 2315
ACCEPT csp-cdgcst AT 0315.
DISPLAY spaces AT 2301
IF csp-cdgcst = ALL "9" GO pf-mo999.
pf-mo-acpt-02.
DISPLAY
"INFORME QUANTIDADE DE HORAS OU 999.999,999 PARA DESISTIR !"
AT 2315
MOVE zeros TO wst-csp-qtd.
ACCEPT wst-csp-qtd WITH PROMPT UPDATE AT 0369.
DISPLAY spaces AT 2301
IF wst-csp-qtd = " 0,000" GO pf-mo-acpt-02.
IF wst-csp-qtd = "999.999,999" GO pf-mo-acpt-01.
MOVE wst-csp-qtd TO csp-qtd
GO pf-mo000.
pf-mo-grava-csp.
* ----- gravando cadastro custo produto --- *
WRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO FATAL A=Gravacao invalida custo. produto ! " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-mo-regrava-csp.
* ----- regravando cadastro custo produto ---- *
REWRITE reg-csp INVALID KEY DISPLAY SPACES AT 2201
DISPLAY
"ERRO PRDAL X=Regravacao Invalida Custo produto " AT 2201
DISPLAY fs AT 2277
GO secao-99.
pf-mo-deleta.
DISPLAY "CONFIRMA DELECAO MAO DE OBRA[SIM/NAO]... " AT 2301
ACCEPT wst-confirma AT 2356
DISPLAY SPACES AT 2301
IF wst-confirma = "nao" OR
wst-confirma = "NAO" GO pf-mo-acpt-01.
IF wst-confirma NOT = "sim" AND
wst-confirma NOT = "SIM" GO pf-mo-deleta.
pf-mo-ver-maoobr.
MOVE csp-cdgcst TO mob-cdg
MOVE "S" TO ws-existe
pf-mo-ver-cstprd.
MOVE "S" TO ws-existe
pf-mo999.
EXIT.
secao-99 SECTION.
pf-aborta.
DISPLAY "ERRO FATAL - OPERACAO ABORTADA " AT 2301
ACCEPT ws-senha-fim AT 2360
IF ws-senha-fim NOT = "ERROGRAVE" GO pf-aborta.
secao-fim SECTION.
pf-fim.
DISPLAY SPACES AT 0101
CLOSE CSTCDMPR CSTCDFAT CSTCDMOB
CSTCDCRE CSTCDPRD CSTCSPRD.
CHAIN "CST900".