Produtos Soluções
Página Inicial Quem Somos Downloads Jornal CoSORT Contate a CoSORT Brasil

CoSORT: Acelerando Transformações Dentro de Aplicações ETI

Agora é muito mais fácil aprimorar a performance de transformação de altos volumes de dados, diretamente, dentro do pacote ETI*Extract. Os modelos de codificação do ETI*Extract podem ser utilizados para popular a linguagem de controle de sort do CoSORT (SortCL ) : layouts de campos, comandos de manipulação baseados em metadados ETI existentes e necessidades de transformação. Quando uma função de sort é necessária, por exemplo, o código ETI*Extract pode ser parecido com a função inicial abaixo :

** Template Function: CoSORT SortCL
** Function Purpose: Start Function
<NL
># SortCL Job Controls Section<NL
><TPL control-section><NL
># SortCL Input Section<NL
><COL 4>/INFILE=<TPL in-ifile-name><NL
><COL 6>/PROCESS=RECORD<NL
><COL 6>/LENGTH=<TPL rec-length in><NL
><TPL build-fields><NL
># SortCL Action Section<NL
><COL 4>/SORT<NL
><TPL key-fields><NL
># SortCL Output Section<NL
><COL 4>/OUTFILE=(<TPL out-ifile-name>)<NL
><COL 6>/PROCESS=RECORD<NL
><COL 6>/LENGTH=<TPL rec-length out><NL>

que pode ainda chamar outras funções, tais como :

<* Template function: control-section *>
<COL 4>/MONITOR=<CVAR CoSORT_monitor default 3><NL
><COL 4>/MEMORY-WORK=<CVAR CoSORT workspace default /export1/sorttemp><NL
><COL 4>/LOCALE= <CVAR sort_language default "English"><NL
><COL 4>/EXECUTE=<CVAR CoSORT_execute default "<QT>echo 'CoSORT began 'date'<QT>"><NL
><COL 4>/STATISTICS<NL
><COL 4>/WARNINGSON<NL>

Os códigos acima podem ser utilizados para produzir scripts completos de SortCL, prontos para serem invocados durante o ETL. Por exemplo, o código abaixo utiliza metadados ETI existentes para produzir este job script CoSORT pronto para ser executado :

# SortCL Job Controls Section
/MONITOR=0
/MEMORY-WORK=/tmp
/LOCALE= English
/EXECUTE="echo 'CoSORT began 'date'"
/STATISTICS
/WARNINGSON

# SortCL Input Section
/INFILE=(ARCHIVE01_FIXED)
/PROCESS=RECORD
/LENGTH=195
/FIELD=(genkey0,POSITION=1,SIZE=10,ASCII)
/FIELD=(REC_TYPE,POS=11,SIZE=2,ASCII)
/FIELD=(TP_OPRC,POS=13,SIZE=4,ASCII)
/FIELD=(NR_OPRC,POS=17,SIZE=28,ASCII)
/FIELD=(NR_OPRC_DE,POS=45,SIZE=28,ASCII)
/FIELD=(NR_OPRC_PARA,POS=73,SIZE=28,ASCII)
/FIELD=(CD_UND,POS=101,SIZE=7,ASCII)
/FIELD=(NRCP,POS=108,SIZE=15,ASCII)
/FIELD=(QTGR,POS=123,SIZE=3,ASCII)
/FIELD=(CD_CTLG,POS=126,SIZE=8,ASCII)
/FIELD=(CDUND,POS=134,SIZE=8,ASCII)
/FIELD=(CH_OPRC,POS=142,SIZE=9,ASCII)
/FIELD=(CH_SRVC,POS=151,SIZE=9,ASCII)
/FIELD=(CH_NGC,POS=160,SIZE=9,ASCII)
/FIELD=(CH_CLNT,POS=169,SIZE=9,ASCII)
/FIELD=(CH_TMP,POS=178,SIZE=8,ASCII)
/FIELD=(CH_PRD,POSITION=186,SIZE=9,ASCII)

# SortCL Action Section
/SORT
/KEY=(NR_OPRC,ASCENDING,ASCII)

# SortCL Output Section
/OUTFILE=(ARQUIVO_OUT FIXED)
/CREATE
/PROCESS=RECORD
/LENGTH=195

 


© 2007 CoSORT Brasil / IRI Innovative Routines International, Inc.
mkt@cosort.com.br | Aviso Legal