FUNCTION PISCOSalvaR0000()
   // *** Estrutura do Registro R0000 ***
   R0000->( dbAppend() )
   R0000->CAMPO01      := '0000' // 01 - Texto fixo contendo ?0000?.
   R0000->CAMPO02      := M->COD_VER              // 02 - Cdigo da verso do leiaute conforme a tabela 3.1.1.
   R0000->CAMPO03      := M->TIPO_ESCRIT          // 03 - Tipo de escriturao:
   R0000->CAMPO04      := M->IND_SIT_ESP          // 04 - Indicador de situao especial:
   R0000->CAMPO05      := M->NUM_REC_ANTERIOR     // 05 - Nmero do Recibo da Escriturao anterior a ser retificada, utilizado quando TIPO_ESCRIT for igual a
   R0000->CAMPO06      := M->DT_INI               // 06 - Data inicial das informaes contidas no arquivo.
   R0000->CAMPO07      := M->DT_FIN               // 07 - Data final das informaes contidas no arquivo.
   R0000->CAMPO08      := M->NOME                 // 08 - Nome empresarial da pessoa jurdica
   R0000->CAMPO09      := M->CNPJ                 // 09 - Nmero de inscrio do estabelecimento matriz da pessoa jurdica no CNPJ.
   R0000->CAMPO10      := M->UF                   // 10 - Sigla da Unidade da Federao da pessoa jurdica.
   R0000->CAMPO11      := M->COD_MUN              // 11 - Cdigo do municpio do domiclio fiscal da pessoa jurdica, conforme a tabela IBGE
   R0000->CAMPO12      := M->SUFRAMA              // 12 - Inscrio da pessoa jurdica na Suframa
   R0000->CAMPO13      := M->IND_NAT_PJ           // 13 - Indicador da natureza da pessoa jurdica:
   R0000->CAMPO14      := M->IND_ATIV             // 14 - Indicador de tipo de atividade preponderante:
   R0000->( dbCommit() )
   //
   M->AREA0000 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0000'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0000)
   RETURN nil

FUNCTION PISCOSalvaR0001()
   // *** Estrutura do Registro R0001 ***
   R0001->( dbAppend() )
   R0001->CAMPO01      := '0001' // 01 - Texto fixo contendo ?0001?.
   R0001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   R0001->( dbCommit() )
   //
   M->AREA0001 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0001)
   RETURN nil

FUNCTION PISCOSalvaR0100()
   // *** Estrutura do Registro R0100 ***
   R0100->( dbAppend() )
   R0100->CAMPO01      := '0100' // 01 - Texto fixo contendo ?0100?.
   R0100->CAMPO02      := M->NOME                 // 02 - Nome do contabilista.
   R0100->CAMPO03      := M->CPF                  // 03 - Nmero de inscrio do contabilista no CPF.
   R0100->CAMPO04      := M->CRC                  // 04 - Nmero de inscrio do contabilista no Conselho Regional de Contabilidade.
   R0100->CAMPO05      := M->CNPJ                 // 05 - Nmero de inscrio do escritrio de contabilidade no CNPJ, se houver.
   R0100->CAMPO06      := M->CEP                  // 06 - Cdigo de Endereamento Postal.
   R0100->CAMPO07      := M->END                  // 07 - Logradouro e endereo do imvel.
   R0100->CAMPO08      := M->NUM                  // 08 - Nmero do imvel.
   R0100->CAMPO09      := M->COMPL                // 09 - Dados complementares do endereo.
   R0100->CAMPO10      := M->BAIRRO               // 10 - Bairro em que o imvel est situado.
   R0100->CAMPO11      := M->FONE                 // 11 - Nmero do telefone.
   R0100->CAMPO12      := M->FAX                  // 12 - Nmero do fax.
   R0100->CAMPO13      := M->EMAIL                // 13 - Endereo do correio eletrnico.
   R0100->CAMPO14      := M->COD_MUN              // 14 - Cdigo do municpio, conforme tabela IBGE.
   R0100->( dbCommit() )
   //
   M->AREA0100 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0100)
   RETURN nil

FUNCTION PISCOSalvaR0110()
   // *** Estrutura do Registro R0110 ***
   R0110->( dbAppend() )
   R0110->CAMPO01      := '0110' // 01 - Texto fixo contendo ?0110?.
   R0110->CAMPO02      := M->COD_INC_TRIB         // 02 - Cdigo indicador da incidncia tributria no perodo:
   R0110->CAMPO03      := M->IND_APRO_CRED        // 03 - Cdigo indicador de mtodo de apropriao de crditos comuns, no caso de incidncia no regime no-cu
   R0110->CAMPO04      := M->COD_TIPO_CONT        // 04 - Cdigo indicador do Tipo de Contribuio Apurada no Perodo
   R0110->CAMPO05      := M->IND_REG_CUM          // 05 - Cdigo indicador do critrio de escriturao e apurao adotado, no caso de incidncia exclusivament
   R0110->( dbCommit() )
   //
   M->AREA0110 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0110'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0110)
   RETURN nil

FUNCTION PISCOSalvaR0111()
   // *** Estrutura do Registro R0111 ***
   R0111->( dbAppend() )
   R0111->CAMPO01      := '0111' // 01 - Texto fixo contendo ?0111?.
   R0111->CAMPO02      := M->REC_BRU_NCUM_TRIB_MI // 02 - Receita Bruta No-Cumulativa - Tributada no Mercado Interno
   R0111->CAMPO03      := M->REC_BRU_NCUM_NT_MI   // 03 - Receita Bruta No-Cumulativa ? No Tributada no Mercado Interno (Vendas com suspenso, alquota zero
   R0111->CAMPO04      := M->REC_BRU_NCUM_EXP     // 04 - Receita Bruta No-Cumulativa ? Exportao
   R0111->CAMPO05      := M->REC_BRU_CUM          // 05 - Receita Bruta Cumulativa
   R0111->CAMPO06      := M->REC_BRU_TOTAL        // 06 - Receita Bruta Total
   R0111->( dbCommit() )
   //
   M->AREA0111 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0111'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0111)
   RETURN nil

FUNCTION PISCOSalvaR0120()
   // *** Estrutura do Registro R0120 ***
   R0120->( dbAppend() )
   R0120->CAMPO01      := '0120' // 01 - Texto fixo contendo "0120?
   R0120->CAMPO02      := M->MES_DISPENSA         // 02 - Ms de referncia do  ano-calendrio da escriturao, dispensada da entrega.
   R0120->CAMPO03      := M->INF_COMP             // 03 - Informao complementar do registro.
   R0120->( dbCommit() )
   //
   M->AREA0120 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0120'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0120)
   RETURN nil

FUNCTION PISCOSalvaR0140()
   // *** Estrutura do Registro R0140 ***
   R0140->( dbAppend() )
   R0140->CAMPO01      := '0140' // 01 - Texto fixo contendo ?0140?.
   R0140->CAMPO02      := M->COD_EST              // 02 - Cdigo de identificao do estabelecimento
   R0140->CAMPO03      := M->NOME                 // 03 - Nome empresarial do estabelecimento
   R0140->CAMPO04      := M->CNPJ                 // 04 - Nmero de inscrio do estabelecimento no CNPJ.
   R0140->CAMPO05      := M->UF                   // 05 - Sigla da unidade da federao do estabelecimento.
   R0140->CAMPO06      := M->IE                   // 06 - Inscrio Estadual do estabelecimento, se contribuinte de ICMS.
   R0140->CAMPO07      := M->COD_MUN              // 07 - Cdigo do municpio do domiclio fiscal do estabelecimento, conforme a tabela IBGE
   R0140->CAMPO08      := M->IM                   // 08 - Inscrio Municipal do estabelecimento, se contribuinte do ISS.
   R0140->CAMPO09      := M->SUFRAMA              // 09 - Inscrio do estabelecimento na Suframa
   R0140->( dbCommit() )
   //
   M->AREA0140 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0140'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0140)
   RETURN nil

FUNCTION PISCOSalvaR0150()
   // *** Estrutura do Registro R0150 ***
   R0150->( dbAppend() )
   R0150->CAMPO01      := '0150' // 01 - Texto fixo contendo ?0150?.
   R0150->CAMPO02      := M->COD_PART             // 02 - Cdigo de identificao do participante no arquivo.
   R0150->CAMPO03      := M->NOME                 // 03 - Nome pessoal ou empresarial do participante.
   R0150->CAMPO04      := M->COD_PAIS             // 04 - Cdigo do pas do participante, conforme a tabela indicada no item 3.2.1.
   R0150->CAMPO05      := M->CNPJ                 // 05 - CNPJ do participante.
   R0150->CAMPO06      := M->CPF                  // 06 - CPF do participante.
   R0150->CAMPO07      := M->IE                   // 07 - Inscrio Estadual do participante.
   R0150->CAMPO08      := M->COD_MUN              // 08 - Cdigo do municpio, conforme a tabela IBGE
   R0150->CAMPO09      := M->SUFRAMA              // 09 - Nmero de inscrio do participante na Suframa
   R0150->CAMPO10      := M->END                  // 10 - Logradouro e endereo do imvel
   R0150->CAMPO11      := M->NUM                  // 11 - Nmero do imvel
   R0150->CAMPO12      := M->COMPL                // 12 - Dados complementares do endereo
   R0150->CAMPO13      := M->BAIRRO               // 13 - Bairro em que o imvel est situado
   R0150->( dbCommit() )
   //
   M->AREA0150 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0150'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0150)
   RETURN nil

FUNCTION PISCOSalvaR0190()
   // *** Estrutura do Registro R0190 ***
   R0190->( dbAppend() )
   R0190->CAMPO01      := '0190' // 01 - Texto fixo contendo "0190"
   R0190->CAMPO02      := M->UNID                 // 02 - Cdigo da unidade de medida
   R0190->CAMPO03      := M->DESCR                // 03 - Descrio da unidade de medida
   R0190->( dbCommit() )
   //
   M->AREA0190 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0190'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0190)
   RETURN nil

FUNCTION PISCOSalvaR0200()
   // *** Estrutura do Registro R0200 ***
   R0200->( dbAppend() )
   R0200->CAMPO01      := '0200' // 01 - Texto fixo contendo "0200"
   R0200->CAMPO02      := M->COD_ITEM             // 02 - Cdigo do item
   R0200->CAMPO03      := M->DESCR_ITEM           // 03 - Descrio do item
   R0200->CAMPO04      := M->COD_BARRA            // 04 - Representao alfanumrico do cdigo de barra do produto, se houver.
   R0200->CAMPO05      := M->COD_ANT_ITEM         // 05 - Cdigo anterior do item com relao  ltima informao apresentada.
   R0200->CAMPO06      := M->UNID_INV             // 06 - Unidade de medida utilizada na quantificao de estoques.
   R0200->CAMPO07      := M->TIPO_ITEM            // 07 - Tipo do item ? Atividades Industriais, Comerciais e Servios:
   R0200->CAMPO08      := M->COD_NCM              // 08 - Cdigo da Nomenclatura Comum do Mercosul
   R0200->CAMPO09      := M->EX_IPI               // 09 - Cdigo EX, conforme a TIPI
   R0200->CAMPO10      := M->COD_GEN              // 10 - Cdigo do gnero do item, conforme a Tabela 4.2.1.
   R0200->CAMPO11      := M->COD_LST              // 11 - Cdigo do servio conforme lista do Anexo I da Lei Complementar Federal n 116/03.
   R0200->CAMPO12      := M->ALIQ_ICMS            // 12 - Alquota de ICMS aplicvel ao item nas operaes internas
   R0200->( dbCommit() )
   //
   M->AREA0200 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0200)
   RETURN nil

FUNCTION PISCOSalvaR0205()
   // *** Estrutura do Registro R0205 ***
   R0205->( dbAppend() )
   R0205->CAMPO01      := '0205' // 01 - Texto fixo contendo "0205"
   R0205->CAMPO02      := M->DESCR_ANT_ITEM       // 02 - Descrio anterior do item
   R0205->CAMPO03      := M->DT_INI               // 03 - Data inicial de utilizao da descrio do item
   R0205->CAMPO04      := M->DT_FIM               // 04 - Data final de utilizao da descrio do item
   R0205->CAMPO05      := M->COD_ANT_ITEM         // 05 - Cdigo anterior do item com relao  ltima informao apresentada.
   R0205->( dbCommit() )
   //
   M->AREA0205 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0205'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0205)
   RETURN nil

FUNCTION PISCOSalvaR0206()
   // *** Estrutura do Registro R0206 ***
   R0206->( dbAppend() )
   R0206->CAMPO01      := '0206' // 01 - Texto fixo contendo "0206"
   R0206->CAMPO02      := M->COD_COMB             // 02 - Cdigo do combustvel, conforme tabela publicada pela ANP
   R0206->( dbCommit() )
   //
   M->AREA0206 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0206'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0206)
   RETURN nil

FUNCTION PISCOSalvaR0208()
   // *** Estrutura do Registro R0208 ***
   R0208->( dbAppend() )
   R0208->CAMPO01      := '0208' // 01 - Texto fixo contendo "0208"
   R0208->CAMPO02      := M->COD_TAB              // 02 - Cdigo indicador da Tabela de Incidncia, conforme Anexo III do Decreto n 6.707/08:
   R0208->CAMPO03      := M->COD_GRU              // 03 - Cdigo do grupo, conforme Anexo III do Decreto n 6.707/08.
   R0208->CAMPO04      := M->MARCA_COM            // 04 - Marca Comercial
   R0208->( dbCommit() )
   //
   M->AREA0208 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0208'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0208)
   RETURN nil

FUNCTION PISCOSalvaR0400()
   // *** Estrutura do Registro R0400 ***
   R0400->( dbAppend() )
   R0400->CAMPO01      := '0400' // 01 - Texto fixo contendo "0400"
   R0400->CAMPO02      := M->COD_NAT              // 02 - Cdigo da natureza da operao/prestao
   R0400->CAMPO03      := M->DESCR_NAT            // 03 - Descrio da natureza da operao/prestao
   R0400->( dbCommit() )
   //
   M->AREA0400 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0400'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0400)
   RETURN nil

FUNCTION PISCOSalvaR0450()
   // *** Estrutura do Registro R0450 ***
   R0450->( dbAppend() )
   R0450->CAMPO01      := '0450' // 01 - Texto fixo contendo "0450"
   R0450->CAMPO02      := M->COD_INF              // 02 - Cdigo da informao complementar do documento fiscal.
   R0450->CAMPO03      := M->TXT                  // 03 - Texto livre da informao complementar existente no documento fiscal, inclusive espcie de normas le
   R0450->( dbCommit() )
   //
   M->AREA0450 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0450'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0450)
   RETURN nil

FUNCTION PISCOSalvaR0500()
   // *** Estrutura do Registro R0500 ***
   R0500->( dbAppend() )
   R0500->CAMPO01      := '0500' // 01 - Texto fixo contendo ?0500?
   R0500->CAMPO02      := M->DT_ALT               // 02 - Data da incluso/alterao
   R0500->CAMPO03      := M->COD_NAT_CC           // 03 - Cdigo da natureza da conta/grupo de contas:
   R0500->CAMPO04      := M->IND_CTA              // 04 - Indicador do tipo de conta:
   R0500->CAMPO05      := M->NIVEL                // 05 - Nvel da conta analtica/grupo de contas.
   R0500->CAMPO06      := M->COD_CTA              // 06 - Cdigo da conta analtica/grupo de contas.
   R0500->CAMPO07      := M->NOME_CTA             // 07 - Nome da conta analtica/grupo de contas.
   R0500->CAMPO08      := M->COD_CTA_REF          // 08 - Cdigo da conta correlacionada no Plano de Contas Referenciado, publicado pela RFB.
   R0500->CAMPO09      := M->CNPJ_EST             // 09 - CNPJ do estabelecimento, no caso da conta informada no campo COD_CTA ser especfica de um estabeleci
   R0500->( dbCommit() )
   //
   M->AREA0500 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0500)
   RETURN nil

FUNCTION PISCOSalvaR0600()
   // *** Estrutura do Registro R0600 ***
   R0600->( dbAppend() )
   R0600->CAMPO01      := '0600' // 01 - Texto fixo contendo ?0600?.
   R0600->CAMPO02      := M->DT_ALT               // 02 - Data da incluso/alterao.
   R0600->CAMPO03      := M->COD_CCUS             // 03 - Cdigo do centro de custos.
   R0600->CAMPO04      := M->CCUS                 // 04 - Nome do centro de custos.
   R0600->( dbCommit() )
   //
   M->AREA0600 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R0990')
   PISCOSalvaR0990()
   M->REG_BLC := '0600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0600)
   RETURN nil

FUNCTION PISCOSalvaR0990()
   // *** Estrutura do Registro R0990 ***
   if recco() = 0
      M->QTD_LIN_0 := '1'
      R0990->( dbAppend() )
   else
      M->QTD_LIN_0 := alltrim(str(val(R0990->CAMPO02) + 1,6))
      R0990->( dbRLock() )
   endif
   R0990->CAMPO01      := '0990' // 01 - Texto fixo contendo "0990"
   R0990->CAMPO02      := M->QTD_LIN_0            // 02 - Quantidade total de linhas do Bloco 0
   R0990->( dbCommit() )
   //
   M->AREA0990 := Select()
   M->QTD_LIN_0 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := '0990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA0990)
   RETURN nil

FUNCTION PISCOSalvaR1001()
   // *** Estrutura do Registro R1001 ***
   R1001->( dbAppend() )
   R1001->CAMPO01      := '1001' // 01 - Texto fixo contendo "1001"
   R1001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   R1001->( dbCommit() )
   //
   M->AREA1001 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1001)
   RETURN nil

FUNCTION PISCOSalvaR1010()
   // *** Estrutura do Registro R1010 ***
   R1010->( dbAppend() )
   R1010->CAMPO01      := '1010' // 01 - Texto fixo contendo "1010"
   R1010->CAMPO02      := M->NUM_PROC             // 02 - Identificao do Nmero do Processo Judicial
   R1010->CAMPO03      := M->ID_SEC_JUD           // 03 - Identificao da Seo Judiciria
   R1010->CAMPO04      := M->ID_VARA              // 04 - Identificao da Vara
   R1010->CAMPO05      := M->IND_NAT_ACAO         // 05 - Indicador da Natureza da Ao Judicial, impetrada na Justia Federal:
   R1010->CAMPO06      := M->DESC_DEC_JUD         // 06 - Descrio Resumida dos Efeitos Tributrios abrangidos pela Deciso Judicial proferida.
   R1010->CAMPO07      := M->DT_SENT_JUD          // 07 - Data da Sentena/Deciso Judicial
   R1010->( dbCommit() )
   //
   M->AREA1010 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1010)
   RETURN nil

FUNCTION PISCOSalvaR1020()
   // *** Estrutura do Registro R1020 ***
   R1020->( dbAppend() )
   R1020->CAMPO01      := '1020' // 01 - *Texto fixo contendo "1020"
   R1020->CAMPO02      := M->NUM_PROC             // 02 - Identificao do Processo Administrativo ou da Deciso Administrativa
   R1020->CAMPO03      := M->IND_NAT_ACAO         // 03 - Indicador da Natureza da Ao, decorrente de Processo Administrativo na Secretaria da Receita Federa
   R1020->CAMPO04      := M->DT_DEC_ADM           // 04 - Data do Despacho/Deciso Administrativa
   R1020->( dbCommit() )
   //
   M->AREA1020 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1020'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1020)
   RETURN nil

FUNCTION PISCOSalvaR1100()
   // *** Estrutura do Registro R1100 ***
   R1100->( dbAppend() )
   R1100->CAMPO01      := '1100' // 01 - Texto fixo contendo "1100"
   R1100->CAMPO02      := M->PER_APU_CRED         // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   R1100->CAMPO03      := M->ORIG_CRED            // 03 - Indicador da origem do crdito:
   R1100->CAMPO04      := M->CNPJ_SUC             // 04 - CNPJ da pessoa jurdica cedente do crdito (se ORIG_CRED = 02).
   R1100->CAMPO05      := M->COD_CRED             // 05 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   R1100->CAMPO06      := M->VL_CRED_APU          // 06 - Valor do Crdito apurado na Escriturao Fiscal Digital ou em demonstrativo DACON de perodos anteri
   R1100->CAMPO07      := M->VL_CRED_EXT_APU      // 07 - Valor de Crdito Extemporneo Apurado (Registro 1101), referente a Perodo Anterior, Informado no Ca
   R1100->CAMPO08      := M->VL_TOT_CRED_APU      // 08 - Valor Total do Crdito Apurado (06 + 07)
   R1100->CAMPO09      := M->VL_CRED_DESC_PA_ANT  // 09 - Valor do Crdito utilizado mediante Desconto, em Perodo(s)  Anterior(es).
   R1100->CAMPO10      := M->VL_CRED_PER_PA_ANT   // 10 - Valor do Crdito utilizado mediante Pedido de Ressarcimento, em Perodo(s) Anterior(es).
   R1100->CAMPO11      := M->VL_CRED_DCOMP_PA_ANT // 11 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria (Crdito de Exportao),
   R1100->CAMPO12      := M->SD_CRED_DISP_EFD     // 12 - Saldo do Crdito Disponvel para Utilizao neste Perodo de Escriturao (08 ? 09 ? 10 - 11).
   R1100->CAMPO13      := M->VL_CRED_DESC_EFD     // 13 - Valor do Crdito descontado neste perodo de escriturao.
   R1100->CAMPO14      := M->VL_CRED_PER_EFD      // 14 - Valor do Crdito objeto de Pedido de Ressarcimento (PER) neste perodo de escriturao.
   R1100->CAMPO15      := M->VL_CRED_DCOMP_EFD    // 15 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria neste perodo de escritu
   R1100->CAMPO16      := M->VL_CRED_TRANS        // 16 - Valor do crdito transferido em evento de ciso, fuso ou incorporao.
   R1100->CAMPO17      := M->VL_CRED_OUT          // 17 - Valor do crdito utilizado por outras formas.
   R1100->CAMPO18      := M->SLD_CRED_FIM         // 18 - Saldo de crditos a utilizar em perodo de apurao futuro (12 ? 13 ? 14 ? 15 ? 16 - 17).
   R1100->( dbCommit() )
   //
   M->AREA1100 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1100)
   RETURN nil

FUNCTION PISCOSalvaR1101()
   // *** Estrutura do Registro R1101 ***
   R1101->( dbAppend() )
   R1101->CAMPO01      := '1101' // 01 - Texto fixo contendo "1101"
   R1101->CAMPO02      := M->COD_PART             // 02 - Cdigo do participante (Campo 02 do Registro 0150)
   R1101->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   R1101->CAMPO04      := M->COD_MOD              // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   R1101->CAMPO05      := M->SER                  // 05 - Srie do documento fiscal
   R1101->CAMPO06      := M->SUB_SER              // 06 - Subsrie do documento fiscal
   R1101->CAMPO07      := M->NUM_DOC              // 07 - Nmero do documento fiscal
   R1101->CAMPO08      := M->DT_OPER              // 08 - Data da Operao (ddmmaaaa)
   R1101->CAMPO09      := M->CHV_NFE              // 09 - Chave da Nota Fiscal Eletrnica
   R1101->CAMPO10      := M->VL_OPER              // 10 - Valor da Operao
   R1101->CAMPO11      := M->CFOP                 // 11 - Cdigo fiscal de operao e prestao
   R1101->CAMPO12      := M->NAT_BC_CRED          // 12 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   R1101->CAMPO13      := M->IND_ORIG_CRED        // 13 - Indicador da origem do crdito:
   R1101->CAMPO14      := M->CST_PIS              // 14 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   R1101->CAMPO15      := M->VL_BC_PIS            // 15 - Base de Clculo do Crdito de PIS/PASEP (em valor ou em quantidade).
   R1101->CAMPO16      := M->ALIQ_PIS             // 16 - Alquota do PIS/PASEP (em percentual ou em reais).
   R1101->CAMPO17      := M->VL_PIS               // 17 - Valor do Crdito de PIS/PASEP.
   R1101->CAMPO18      := M->COD_CTA              // 18 - Cdigo da conta analtica contbil debitada/creditada.
   R1101->CAMPO19      := M->COD_CCUS             // 19 - Cdigo do Centro de Custos.
   R1101->CAMPO20      := M->DESC_COMPL           // 20 - Descrio complementar do Documento/Operao.
   R1101->CAMPO21      := M->PER_ESCRIT           // 21 - Ms/Ano da Escriturao em que foi registrado o documento/operao (Crdito pelo mtodo da Apropria
   R1101->CAMPO22      := M->CNPJ                 // 22 - CNPJ do estabelecimento gerador do crdito extemporneo (Campo 04  do Registro 0140)
   R1101->( dbCommit() )
   //
   M->AREA1101 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1101'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1101)
   RETURN nil

FUNCTION PISCOSalvaR1102()
   // *** Estrutura do Registro R1102 ***
   R1102->( dbAppend() )
   R1102->CAMPO01      := '1102' // 01 - Texto fixo contendo "1102"
   R1102->CAMPO02      := M->VL_CRED_PIS_TRIB_MI  // 02 - Parcela do Crdito de PIS/PASEP, vinculada a Receita Tributada no Mercado Interno
   R1102->CAMPO03      := M->VL_CRED_PIS_NT_MI    // 03 - Parcela do Crdito de PIS/PASEP, vinculada a Receita No Tributada no Mercado Interno
   R1102->CAMPO04      := M->VL_CRED_PIS_EXP      // 04 - Parcela do Crdito de PIS/PASEP, vinculada a Receita de Exportao
   R1102->( dbCommit() )
   //
   M->AREA1102 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1102'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1102)
   RETURN nil

FUNCTION PISCOSalvaR1200()
   // *** Estrutura do Registro R1200 ***
   R1200->( dbAppend() )
   R1200->CAMPO01      := '1200' // 01 - Texto fixo contendo "1200"
   R1200->CAMPO02      := M->PER_APUR_ANT         // 02 - Perodo de Apurao da Contribuio Social Extempornea (MMAAAA).
   R1200->CAMPO03      := M->NAT_CONT_REC         // 03 - Natureza da Contribuio a Recolher, conforme Tabela 4.3.5.
   R1200->CAMPO04      := M->VL_CONT_APUR         // 04 - Valor da Contribuio Apurada.
   R1200->CAMPO05      := M->VL_CRED_PIS_DESC     // 05 - Valor do Crdito de PIS/PASEP a Descontar, da Contribuio Social Extempornea.
   R1200->CAMPO06      := M->VL_CONT_DEV          // 06 - Valor da Contribuio Social Extempornea Devida.
   R1200->CAMPO07      := M->VL_OUT_DED           // 07 - Valor de Outras Dedues.
   R1200->CAMPO08      := M->VL_CONT_EXT          // 08 - Valor da Contribuio Social Extempornea a pagar.
   R1200->CAMPO09      := M->VL_MUL               // 09 - Valor da Multa.
   R1200->CAMPO10      := M->VL_JUR               // 10 - Valor dos Juros.
   R1200->CAMPO11      := M->DT_RECOL             // 11 - Data do Recolhimento.
   R1200->( dbCommit() )
   //
   M->AREA1200 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1200)
   RETURN nil

FUNCTION PISCOSalvaR1210()
   // *** Estrutura do Registro R1210 ***
   R1210->( dbAppend() )
   R1210->CAMPO01      := '1210' // 01 - Texto fixo contendo ?1210?
   R1210->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ (Campo 04 do Registro 0140).
   R1210->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   R1210->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante (Campo 02 do Registro 0150)
   R1210->CAMPO05      := M->DT_OPER              // 05 - Data da Operao (ddmmaaaa)
   R1210->CAMPO06      := M->VL_OPER              // 06 - Valor da Operao
   R1210->CAMPO07      := M->VL_BC_PIS            // 07 - Base de clculo do PIS/PASEP (em valor ou em quantidade)
   R1210->CAMPO08      := M->ALIQ_PIS             // 08 - Alquota da PIS (em percentual ou em reais)
   R1210->CAMPO09      := M->VL_PIS               // 09 - Valor do PIS/PASEP
   R1210->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   R1210->CAMPO11      := M->DESC_COMPL           // 11 - Descrio complementar do Documento/Operao
   R1210->( dbCommit() )
   //
   M->AREA1210 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1210'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1210)
   RETURN nil

FUNCTION PISCOSalvaR1220()
   // *** Estrutura do Registro R1220 ***
   R1220->( dbAppend() )
   R1220->CAMPO01      := '1220' // 01 - Texto fixo contendo "1220"
   R1220->CAMPO02      := M->PER_APU_CRED         // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   R1220->CAMPO03      := M->ORIG_CRED            // 03 - Indicador da origem do crdito:
   R1220->CAMPO04      := M->COD_CRED             // 04 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   R1220->CAMPO05      := M->VL_CRED              // 05 - Valor do Crdito a Descontar
   R1220->( dbCommit() )
   //
   M->AREA1220 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1220'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1220)
   RETURN nil

FUNCTION PISCOSalvaR1300()
   // *** Estrutura do Registro R1300 ***
   R1300->( dbAppend() )
   R1300->CAMPO01      := '1300' // 01 - Texto fixo contendo "1300"
   R1300->CAMPO02      := M->IND_NAT_RET          // 02 - Indicador de Natureza da Reteno na Fonte:
   R1300->CAMPO03      := M->PR_REC_RET           // 03 - Perodo do Recebimento e da Reteno (MM/AAAA)
   R1300->CAMPO04      := M->VL_RET_APU           // 04 - Valor Total da Reteno
   R1300->CAMPO05      := M->VL_RET_DED           // 05 - Valor da Reteno deduzida da Contribuio devida no perodo da escriturao e em perodos anteriore
   R1300->CAMPO06      := M->VL_RET_PER           // 06 - Valor da Reteno utilizada mediante Pedido de Restituio.
   R1300->CAMPO07      := M->VL_RET_DCOMP         // 07 - Valor da Reteno utilizada mediante Declarao de Compensao.
   R1300->CAMPO08      := M->SLD_RET              // 08 - Saldo de Reteno a utilizar em perodos de apurao futuros (04 ? 05 - 06 - 07).
   R1300->( dbCommit() )
   //
   M->AREA1300 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1300'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1300)
   RETURN nil

FUNCTION PISCOSalvaR1500()
   // *** Estrutura do Registro R1500 ***
   R1500->( dbAppend() )
   R1500->CAMPO01      := '1500' // 01 - Texto fixo contendo "1500"
   R1500->CAMPO02      := M->PER_APU_CRED         // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   R1500->CAMPO03      := M->ORIG_CRED            // 03 - Indicador da origem do crdito:
   R1500->CAMPO04      := M->CNPJ_SUC             // 04 - CNPJ da pessoa jurdica cedente do crdito (se ORIG_CRED = 02).
   R1500->CAMPO05      := M->COD_CRED             // 05 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   R1500->CAMPO06      := M->VL_CRED_APU          // 06 - Valor do Crdito apurado na Escriturao Fiscal Digital ou em demonstrativo DACON de perodos anteri
   R1500->CAMPO07      := M->VL_CRED_EXT_APU      // 07 - Valor de Crdito Extemporneo Apurado (Registro 1501), referente a Perodo Anterior, Informado no Ca
   R1500->CAMPO08      := M->VL_TOT_CRED_APU      // 08 - Valor Total do Crdito Apurado (06 + 07)
   R1500->CAMPO09      := M->VL_CRED_DESC_PA_ANT  // 09 - Valor do Crdito utilizado mediante Desconto, em Perodo(s)  Anterior(es)
   R1500->CAMPO10      := M->VL_CRED_PER_PA_ANT   // 10 - Valor do Crdito utilizado mediante Pedido de Ressarcimento, em Perodo(s) Anterior(es).
   R1500->CAMPO11      := M->VL_CRED_DCOMP_PA_ANT // 11 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria (Crdito de Exportao),
   R1500->CAMPO12      := M->SD_CRED_DISP_EFD     // 12 - Saldo do Crdito Disponvel para Utilizao neste Perodo de Escriturao (08-09-10-11)
   R1500->CAMPO13      := M->VL_CRED_DESC_EFD     // 13 - Valor do Crdito descontado neste perodo de escriturao
   R1500->CAMPO14      := M->VL_CRED_PER_EFD      // 14 - Valor do Crdito objeto de Pedido de Ressarcimento (PER) neste perodo de escriturao
   R1500->CAMPO15      := M->VL_CRED_DCOMP_EFD    // 15 - Valor do Crdito utilizado mediante Declarao de Compensao Intermediria neste perodo de escritu
   R1500->CAMPO16      := M->VL_CRED_TRANS        // 16 - Valor do crdito transferido em evento de ciso, fuso ou incorporao
   R1500->CAMPO17      := M->VL_CRED_OUT          // 17 - Valor do crdito utilizado por outras formas
   R1500->CAMPO18      := M->SLD_CRED_FIM         // 18 - Saldo de crditos a utilizar em perodo de apurao futuro (12-13-14-15-16-17).
   R1500->( dbCommit() )
   //
   M->AREA1500 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1500)
   RETURN nil

FUNCTION PISCOSalvaR1501()
   // *** Estrutura do Registro R1501 ***
   R1501->( dbAppend() )
   R1501->CAMPO01      := '1501' // 01 - Texto fixo contendo "1501"
   R1501->CAMPO02      := M->COD_PART             // 02 - Cdigo do participante (Campo 02 do Registro 0150)
   R1501->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   R1501->CAMPO04      := M->COD_MOD              // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   R1501->CAMPO05      := M->SER                  // 05 - Srie do documento fiscal
   R1501->CAMPO06      := M->SUB_SER              // 06 - Subsrie do documento fiscal
   R1501->CAMPO07      := M->NUM_DOC              // 07 - Nmero do documento fiscal
   R1501->CAMPO08      := M->DT_OPER              // 08 - Data da Operao (ddmmaaaa)
   R1501->CAMPO09      := M->CHV_NFE              // 09 - Chave da Nota Fiscal Eletrnica
   R1501->CAMPO10      := M->VL_OPER              // 10 - Valor da Operao
   R1501->CAMPO11      := M->CFOP                 // 11 - Cdigo fiscal de operao e prestao
   R1501->CAMPO12      := M->NAT_BC_CRED          // 12 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   R1501->CAMPO13      := M->IND_ORIG_CRED        // 13 - Indicador da origem do crdito:
   R1501->CAMPO14      := M->CST_COFINS           // 14 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4.
   R1501->CAMPO15      := M->VL_BC_COFINS         // 15 - Base de Clculo do Crdito de COFINS (em valor ou em quantidade)
   R1501->CAMPO16      := M->ALIQ_COFINS          // 16 - Alquota do COFINS (em percentual ou em reais)
   R1501->CAMPO17      := M->VL_COFINS            // 17 - Valor do Crdito de COFINS
   R1501->CAMPO18      := M->COD_CTA              // 18 - Cdigo da conta analtica contbil debitada/creditada
   R1501->CAMPO19      := M->COD_CCUS             // 19 - Cdigo do Centro de Custos
   R1501->CAMPO20      := M->DESC_COMPL           // 20 - Descrio complementar do Documento/Operao
   R1501->CAMPO21      := M->PER_ESCRIT           // 21 - Ms/Ano da Escriturao em que foi registrado o documento/operao (Crdito pelo mtodo da Apropria
   R1501->CAMPO22      := M->CNPJ                 // 22 - CNPJ do estabelecimento gerador do crdito extemporneo (Campo 04  do Registro 0140)
   R1501->( dbCommit() )
   //
   M->AREA1501 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1501'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1501)
   RETURN nil

FUNCTION PISCOSalvaR1502()
   // *** Estrutura do Registro R1502 ***
   R1502->( dbAppend() )
   R1502->CAMPO01      := '1502' // 01 - Texto fixo contendo "1502"
   R1502->CAMPO02      := M->VL_CRED_COFINS_TRIB_MI // 02 - Parcela do Crdito de COFINS, vinculada a Receita Tributada no Mercado Interno
   R1502->CAMPO03      := M->VL_CRED_COFINS_NT_MI // 03 - Parcela do Crdito de COFINS, vinculada a Receita No Tributada no Mercado Interno
   R1502->CAMPO04      := M->VL_CRED_COFINS_EXP   // 04 - Parcela do Crdito de COFINS, vinculada a Receita de Exportao
   R1502->( dbCommit() )
   //
   M->AREA1502 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1502'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1502)
   RETURN nil

FUNCTION PISCOSalvaR1600()
   // *** Estrutura do Registro R1600 ***
   R1600->( dbAppend() )
   R1600->CAMPO01      := '1600' // 01 - Texto fixo contendo "1600"
   R1600->CAMPO02      := M->PER_APUR_ANT         // 02 - Perodo de Apurao da Contribuio Social Extempornea (MMAAAA)
   R1600->CAMPO03      := M->NAT_CONT_REC         // 03 - Natureza da Contribuio a Recolher, conforme Tabela 4.3.5.
   R1600->CAMPO04      := M->VL_CONT_APUR         // 04 - Valor da Contribuio Apurada
   R1600->CAMPO05      := M->VL_CRED_COFINS_DESC  // 05 - Valor do Crdito de COFINS a Descontar, da Contribuio Social Extempornea.
   R1600->CAMPO06      := M->VL_CONT_DEV          // 06 - Valor da Contribuio Social Extempornea Devida.
   R1600->CAMPO07      := M->VL_OUT_DED           // 07 - Valor de Outras Dedues.
   R1600->CAMPO08      := M->VL_CONT_EXT          // 08 - Valor da Contribuio Social Extempornea a pagar.
   R1600->CAMPO09      := M->VL_MUL               // 09 - Valor da Multa.
   R1600->CAMPO10      := M->VL_JUR               // 10 - Valor dos Juros.
   R1600->CAMPO11      := M->DT_RECOL             // 11 - Data do Recolhimento.
   R1600->( dbCommit() )
   //
   M->AREA1600 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1600)
   RETURN nil

FUNCTION PISCOSalvaR1610()
   // *** Estrutura do Registro R1610 ***
   R1610->( dbAppend() )
   R1610->CAMPO01      := '1610' // 01 - Texto fixo contendo ?1610?
   R1610->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ (Campo 04 do Registro 0140).
   R1610->CAMPO03      := M->CST_COFINS           // 03 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   R1610->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante (Campo 02 do Registro 0150)
   R1610->CAMPO05      := M->DT_OPER              // 05 - Data da Operao (ddmmaaaa)
   R1610->CAMPO06      := M->VL_OPER              // 06 - Valor da Operao
   R1610->CAMPO07      := M->VL_BC_COFINS         // 07 - Base de clculo da COFINS (em valor ou em quantidade)
   R1610->CAMPO08      := M->ALIQ_COFINS          // 08 - Alquota da COFINS (em percentual ou em reais)
   R1610->CAMPO09      := M->VL_COFINS            // 09 - Valor da COFINS
   R1610->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   R1610->CAMPO11      := M->DESC_COMPL           // 11 - Descrio complementar do Documento/Operao
   R1610->( dbCommit() )
   //
   M->AREA1610 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1610'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1610)
   RETURN nil

FUNCTION PISCOSalvaR1620()
   // *** Estrutura do Registro R1620 ***
   R1620->( dbAppend() )
   R1620->CAMPO01      := '1620' // 01 - Texto fixo contendo "1620"
   R1620->CAMPO02      := M->PER_APU_CRED         // 02 - Perodo de Apurao do Crdito (MM/AAAA)
   R1620->CAMPO03      := M->ORIG_CRED            // 03 - Indicador da origem do crdito:
   R1620->CAMPO04      := M->COD_CRED             // 04 - Cdigo do Tipo do Crdito, conforme Tabela 4.3.6.
   R1620->CAMPO05      := M->VL_CRED              // 05 - Valor do Crdito a Descontar
   R1620->( dbCommit() )
   //
   M->AREA1620 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1620'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1620)
   RETURN nil

FUNCTION PISCOSalvaR1700()
   // *** Estrutura do Registro R1700 ***
   R1700->( dbAppend() )
   R1700->CAMPO01      := '1700' // 01 - Texto fixo contendo "1700"
   R1700->CAMPO02      := M->IND_NAT_RET          // 02 - Indicador de Natureza da Reteno na Fonte:
   R1700->CAMPO03      := M->PR_REC_RET           // 03 - Perodo do Recebimento e da Reteno (MM/AAAA)
   R1700->CAMPO04      := M->VL_RET_APU           // 04 - Valor Total da Reteno
   R1700->CAMPO05      := M->VL_RET_DED           // 05 - Valor da Reteno deduzida da Contribuio devida no perodo da escriturao e em perodos anteriore
   R1700->CAMPO06      := M->VL_RET_PER           // 06 - Valor da Reteno utilizada mediante Pedido de Restituio.
   R1700->CAMPO07      := M->VL_RET_DCOMP         // 07 - Valor da Reteno utilizada mediante Declarao de Compensao.
   R1700->CAMPO08      := M->SLD_RET              // 08 - Saldo de Reteno a utilizar em perodos de apurao futuros (04 - 05 - 06 - 07).
   R1700->( dbCommit() )
   //
   M->AREA1700 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1700'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1700)
   RETURN nil

FUNCTION PISCOSalvaR1800()
   // *** Estrutura do Registro R1800 ***
   R1800->( dbAppend() )
   R1800->CAMPO01      := '1800' // 01 - Texto fixo contendo "1800"
   R1800->CAMPO02      := M->INC_IMOB             // 02 - Empreendimento objeto de Incorporao Imobiliria, optante pelo RET.
   R1800->CAMPO03      := M->REC_RECEB_RET        // 03 - Receitas recebidas pela incorporadora na venda das unidades imobilirias que compem a incorporao.
   R1800->CAMPO04      := M->REC_FIN_RET          // 04 - Receitas Financeiras e Variaes Monetrias decorrentes das vendas submetidas ao RET.
   R1800->CAMPO05      := M->BC_RET               // 05 - Base de Clculo do Recolhimento Unificado
   R1800->CAMPO06      := M->ALIQ_RET             // 06 - Alquota do Recolhimento Unificado.
   R1800->CAMPO07      := M->VL_REC_UNI           // 07 - Valor do Recolhimento Unificado.
   R1800->CAMPO08      := M->DT_REC_UNI           // 08 - Data do recolhimento unificado
   R1800->CAMPO09      := M->COD_REC              // 09 - Cdigo da Receita
   R1800->( dbCommit() )
   //
   M->AREA1800 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1800'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1800)
   RETURN nil

FUNCTION PISCOSalvaR1809()
   // *** Estrutura do Registro R1809 ***
   R1809->( dbAppend() )
   R1809->CAMPO01      := '1809' // 01 - Texto fixo contendo "1809"
   R1809->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   R1809->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   R1809->( dbCommit() )
   //
   M->AREA1809 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1809'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1809)
   RETURN nil

FUNCTION PISCOSalvaR1900()
   // *** Estrutura do Registro R1900 ***
   R1900->( dbAppend() )
   R1900->CAMPO01      := '1900' // 01 - Texto fixo contendo "1900?
   R1900->CAMPO02      := M->CNPJ                 // 02 - CNPJ do estabelecimento da pessoa jurdica, emitente dos documentos geradores de receita
   R1900->CAMPO03      := M->COD_MOD              // 03 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1, ou:
   R1900->CAMPO04      := M->SER                  // 04 - Srie do documento fiscal
   R1900->CAMPO05      := M->SUB_SER              // 05 - Subserie do documento fiscal
   R1900->CAMPO06      := M->COD_SIT              // 06 - Cdigo da situao do documento fiscal:
   R1900->CAMPO07      := M->VL_TOT_REC           // 07 - Valor total da receita, conforme os documentos emitidos no perodo, representativos da venda de bens
   R1900->CAMPO08      := M->QUANT_DOC            // 08 - Quantidade total de documentos emitidos no perodo
   R1900->CAMPO09      := M->CST_PIS              // 09 - Cdigo da Situao Tributria do PIS/Pasep
   R1900->CAMPO10      := M->CST_COFINS           // 10 - Cdigo da Situao Tributria da Cofins
   R1900->CAMPO11      := M->CFOP                 // 11 - Cdigo fiscal de operao e prestao
   R1900->CAMPO12      := M->INF_COMPL            // 12 - Informaes complementares
   R1900->CAMPO13      := M->COD_CTA              // 13 - Cdigo da conta analtica contbil representativa da receita
   R1900->( dbCommit() )
   //
   M->AREA1900 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('R1990')
   PISCOSalvaR1990()
   M->REG_BLC := '1900'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1900)
   RETURN nil

FUNCTION PISCOSalvaR1990()
   // *** Estrutura do Registro R1990 ***
   if recco() = 0
      M->QTD_LIN_1 := '1'
      R1990->( dbAppend() )
   else
      M->QTD_LIN_1 := alltrim(str(val(R1990->CAMPO02) + 1,6))
      R1990->( dbRLock() )
   endif
   R1990->CAMPO01      := '1990' // 01 - Texto fixo contendo "1990"
   R1990->CAMPO02      := M->QTD_LIN_1            // 02 - Quantidade total de linhas do Bloco 1
   R1990->( dbCommit() )
   //
   M->AREA1990 := Select()
   M->QTD_LIN_1 := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := '1990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREA1990)
   RETURN nil

FUNCTION PISCOSalvaRA001()
   // *** Estrutura do Registro RA001 ***
   RA001->( dbAppend() )
   RA001->CAMPO01      := 'A001' // 01 - Texto fixo contendo "A001"
   RA001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RA001->( dbCommit() )
   //
   M->AREAA001 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA001)
   RETURN nil

FUNCTION PISCOSalvaRA010()
   // *** Estrutura do Registro RA010 ***
   RA010->( dbAppend() )
   RA010->CAMPO01      := 'A010' // 01 - Texto fixo contendo ?A010?
   RA010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   RA010->( dbCommit() )
   //
   M->AREAA010 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA010)
   RETURN nil

FUNCTION PISCOSalvaRA100()
   // *** Estrutura do Registro RA100 ***
   RA100->( dbAppend() )
   RA100->CAMPO01      := 'A100' // 01 - Texto fixo contendo "A100"
   RA100->CAMPO02      := M->IND_OPER             // 02 - Indicador do tipo de operao:
   RA100->CAMPO03      := M->IND_EMIT             // 03 - Indicador do emitente do documento fiscal:
   RA100->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante (campo 02 do Registro 0150):
   RA100->CAMPO05      := M->COD_SIT              // 05 - Cdigo da situao do documento fiscal:
   RA100->CAMPO06      := M->SER                  // 06 - Srie do documento fiscal
   RA100->CAMPO07      := M->SUB                  // 07 - Subsrie do documento fiscal
   RA100->CAMPO08      := M->NUM_DOC              // 08 - Nmero do documento fiscal ou documento internacional equivalente
   RA100->CAMPO09      := M->CHV_NFSE             // 09 - Chave/Cdigo de Verificao da nota fiscal de servio eletrnica
   RA100->CAMPO10      := M->DT_DOC               // 10 - Data da emisso do documento fiscal
   RA100->CAMPO11      := M->DT_EXE_SERV          // 11 - Data de Execuo / Concluso do Servio
   RA100->CAMPO12      := M->VL_DOC               // 12 - Valor total do documento
   RA100->CAMPO13      := M->IND_PGTO             // 13 - Indicador do tipo de pagamento:
   RA100->CAMPO14      := M->VL_DESC              // 14 - Valor total do desconto
   RA100->CAMPO15      := M->VL_BC_PIS            // 15 - Valor da base de clculo do PIS/PASEP
   RA100->CAMPO16      := M->VL_PIS               // 16 - Valor total do PIS
   RA100->CAMPO17      := M->VL_BC_COFINS         // 17 - Valor da base de clculo da COFINS
   RA100->CAMPO18      := M->VL_COFINS            // 18 - Valor total da COFINS
   RA100->CAMPO19      := M->VL_PIS_RET           // 19 - Valor total do PIS retido na fonte
   RA100->CAMPO20      := M->VL_COFINS_RET        // 20 - Valor total da COFINS retido na fonte.
   RA100->CAMPO21      := M->VL_ISS               // 21 - Valor do ISS
   RA100->( dbCommit() )
   //
   M->AREAA100 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA100)
   RETURN nil

FUNCTION PISCOSalvaRA110()
   // *** Estrutura do Registro RA110 ***
   RA110->( dbAppend() )
   RA110->CAMPO01      := 'A110' // 01 - Texto fixo contendo "A110"
   RA110->CAMPO02      := M->COD_INF              // 02 - Cdigo da informao complementar do documento fiscal (Campo 02 do Registro 0450)
   RA110->CAMPO03      := M->TXT_COMPL            // 03 - Informao Complementar do Documento Fiscal
   RA110->( dbCommit() )
   //
   M->AREAA110 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A110'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA110)
   RETURN nil

FUNCTION PISCOSalvaRA111()
   // *** Estrutura do Registro RA111 ***
   RA111->( dbAppend() )
   RA111->CAMPO01      := 'A111' // 01 - Texto fixo contendo "A111"
   RA111->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RA111->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RA111->( dbCommit() )
   //
   M->AREAA111 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A111'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA111)
   RETURN nil

FUNCTION PISCOSalvaRA120()
   // *** Estrutura do Registro RA120 ***
   RA120->( dbAppend() )
   RA120->CAMPO01      := 'A120' // 01 - Texto fixo contendo "A120?
   RA120->CAMPO02      := M->VL_TOT_SERV          // 02 - Valor total do servio, prestado por pessoa fsica ou jurdica domiciliada no exterior.
   RA120->CAMPO03      := M->VL_BC_PIS            // 03 - Valor da base de clculo da Operao ? PIS/PASEP ? Importao
   RA120->CAMPO04      := M->VL_PIS_IMP           // 04 - Valor pago/recolhido de PIS/PASEP ? Importao
   RA120->CAMPO05      := M->DT_PAG_PIS           // 05 - Data de pagamento do PIS/PASEP ? Importao
   RA120->CAMPO06      := M->VL_BC_COFINS         // 06 - Valor da base de clculo da Operao ? COFINS ? Importao
   RA120->CAMPO07      := M->VL_COFINS_IMP        // 07 - Valor pago/recolhido de COFINS ? Importao
   RA120->CAMPO08      := M->DT_PAG_COFINS        // 08 - Data de pagamento do COFINS ? Importao
   RA120->CAMPO09      := M->LOC_EXE_SERV         // 09 - Local da execuo do servio:
   RA120->( dbCommit() )
   //
   M->AREAA120 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A120'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA120)
   RETURN nil

FUNCTION PISCOSalvaRA170()
   // *** Estrutura do Registro RA170 ***
   RA170->( dbAppend() )
   RA170->CAMPO01      := 'A170' // 01 - Texto fixo contendo "A170"
   RA170->CAMPO02      := M->NUM_ITEM             // 02 - Nmero seqencial do item no documento fiscal
   RA170->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   RA170->CAMPO04      := M->DESCR_COMPL          // 04 - Descrio complementar do item como adotado no documento fiscal
   RA170->CAMPO05      := M->VL_ITEM              // 05 - Valor total do item (mercadorias ou servios)
   RA170->CAMPO06      := M->VL_DESC              // 06 - Valor do desconto do item / Excluso
   RA170->CAMPO07      := M->NAT_BC_CRED          // 07 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7, caso seja informado
   RA170->CAMPO08      := M->IND_ORIG_CRED        // 08 - Indicador da origem do crdito:
   RA170->CAMPO09      := M->CST_PIS              // 09 - Cdigo da Situao Tributria referente ao PIS/PASEP ? Tabela 4.3.3.
   RA170->CAMPO10      := M->VL_BC_PIS            // 10 - Valor da base de clculo do PIS/PASEP.
   RA170->CAMPO11      := M->ALIQ_PIS             // 11 - Alquota do PIS/PASEP (em percentual)
   RA170->CAMPO12      := M->VL_PIS               // 12 - Valor do PIS/PASEP
   RA170->CAMPO13      := M->CST_COFINS           // 13 - Cdigo da Situao Tributria referente ao COFINS ? Tabela 4.3.4.
   RA170->CAMPO14      := M->VL_BC_COFINS         // 14 - Valor da base de clculo da COFINS
   RA170->CAMPO15      := M->ALIQ_COFINS          // 15 - Alquota do COFINS (em percentual)
   RA170->CAMPO16      := M->VL_COFINS            // 16 - Valor da COFINS
   RA170->CAMPO17      := M->COD_CTA              // 17 - Cdigo da conta analtica contbil debitada/creditada
   RA170->CAMPO18      := M->COD_CCUS             // 18 - Cdigo do centro de custos
   RA170->( dbCommit() )
   //
   M->AREAA170 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RA990')
   PISCOSalvaRA990()
   M->REG_BLC := 'A170'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA170)
   RETURN nil

FUNCTION PISCOSalvaRA990()
   // *** Estrutura do Registro RA990 ***
   if recco() = 0
      M->QTD_LIN_A := '1'
      RA990->( dbAppend() )
   else
      M->QTD_LIN_A := alltrim(str(val(RA990->CAMPO02) + 1,6))
      RA990->( dbRLock() )
   endif
   RA990->CAMPO01      := 'A990' // 01 - Texto fixo contendo "A990"
   RA990->CAMPO02      := M->QTD_LIN_A            // 02 - Quantidade total de linhas do Bloco A
   RA990->( dbCommit() )
   //
   M->AREAA990 := Select()
   M->QTD_LIN_A := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'A990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAA990)
   RETURN nil

FUNCTION PISCOSalvaRC001()
   // *** Estrutura do Registro RC001 ***
   RC001->( dbAppend() )
   RC001->CAMPO01      := 'C001' // 01 - Texto fixo contendo "C001"
   RC001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RC001->( dbCommit() )
   //
   M->AREAC001 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC001)
   RETURN nil

FUNCTION PISCOSalvaRC010()
   // *** Estrutura do Registro RC010 ***
   RC010->( dbAppend() )
   RC010->CAMPO01      := 'C010' // 01 - Texto fixo contendo ?C010?.
   RC010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   RC010->CAMPO03      := M->IND_ESCRI            // 03 - Indicador da apurao das contribuies e crditos, na escriturao das operaes por NF-e e ECF, no
   RC010->( dbCommit() )
   //
   M->AREAC010 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC010)
   RETURN nil

FUNCTION PISCOSalvaRC100()
   // *** Estrutura do Registro RC100 ***
   RC100->( dbAppend() )
   RC100->CAMPO01      := 'C100' // 01 - Texto fixo contendo "C100"
   RC100->CAMPO02      := M->IND_OPER             // 02 - Indicador do tipo de operao:
   RC100->CAMPO03      := M->IND_EMIT             // 03 - Indicador do emitente do documento fiscal:
   RC100->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante (campo 02 do Registro 0150):
   RC100->CAMPO05      := M->COD_MOD              // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC100->CAMPO06      := M->COD_SIT              // 06 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   RC100->CAMPO07      := M->SER                  // 07 - Srie do documento fiscal
   RC100->CAMPO08      := M->NUM_DOC              // 08 - Nmero do documento fiscal
   RC100->CAMPO09      := M->CHV_NFE              // 09 - Chave da Nota Fiscal Eletrnica
   RC100->CAMPO10      := M->DT_DOC               // 10 - Data da emisso do documento fiscal
   RC100->CAMPO11      := M->DT_E_S               // 11 - Data da entrada ou da sada
   RC100->CAMPO12      := M->VL_DOC               // 12 - Valor total do documento fiscal
   RC100->CAMPO13      := M->IND_PGTO             // 13 - Indicador do tipo de pagamento:
   RC100->CAMPO14      := M->VL_DESC              // 14 - Valor total do desconto
   RC100->CAMPO15      := M->VL_ABAT_NT           // 15 - Abatimento no tributado e no comercial Ex. desconto ICMS nas remessas para ZFM.
   RC100->CAMPO16      := M->VL_MERC              // 16 - Valor total das mercadorias e servios
   RC100->CAMPO17      := M->IND_FRT              // 17 - Indicador do tipo do frete:
   RC100->CAMPO18      := M->VL_FRT               // 18 - Valor do frete indicado no documento fiscal
   RC100->CAMPO19      := M->VL_SEG               // 19 - Valor do seguro indicado no documento fiscal
   RC100->CAMPO20      := M->VL_OUT_DA            // 20 - Valor de outras despesas acessrias
   RC100->CAMPO21      := M->VL_BC_ICMS           // 21 - Valor da base de clculo do ICMS
   RC100->CAMPO22      := M->VL_ICMS              // 22 - Valor do ICMS
   RC100->CAMPO23      := M->VL_BC_ICMS_ST        // 23 - Valor da base de clculo do ICMS substituio tributria
   RC100->CAMPO24      := M->VL_ICMS_ST           // 24 - Valor do ICMS retido por substituio tributria
   RC100->CAMPO25      := M->VL_IPI               // 25 - Valor total do IPI
   RC100->CAMPO26      := M->VL_PIS               // 26 - Valor total do PIS
   RC100->CAMPO27      := M->VL_COFINS            // 27 - Valor total da COFINS
   RC100->CAMPO28      := M->VL_PIS_ST            // 28 - Valor total do PIS retido por substituio tributria
   RC100->CAMPO29      := M->VL_COFINS_ST         // 29 - Valor total da COFINS retido por substituio tributria
   RC100->( dbCommit() )
   //
   M->AREAC100 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC100)
   RETURN nil

FUNCTION PISCOSalvaRC110()
   // *** Estrutura do Registro RC110 ***
   RC110->( dbAppend() )
   RC110->CAMPO01      := 'C110' // 01 - Texto fixo contendo "C110"
   RC110->CAMPO02      := M->COD_INF              // 02 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   RC110->CAMPO03      := M->TXT_COMPL            // 03 - Descrio complementar do cdigo de referncia.
   RC110->( dbCommit() )
   //
   M->AREAC110 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C110'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC110)
   RETURN nil

FUNCTION PISCOSalvaRC111()
   // *** Estrutura do Registro RC111 ***
   RC111->( dbAppend() )
   RC111->CAMPO01      := 'C111' // 01 - Texto fixo contendo "C111"
   RC111->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC111->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC111->( dbCommit() )
   //
   M->AREAC111 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C111'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC111)
   RETURN nil

FUNCTION PISCOSalvaRC120()
   // *** Estrutura do Registro RC120 ***
   RC120->( dbAppend() )
   RC120->CAMPO01      := 'C120' // 01 - Texto fixo contendo "C120"
   RC120->CAMPO02      := M->COD_DOC_IMP          // 02 - Documento de importao:
   RC120->CAMPO03      := M->NUM_DOC_IMP          // 03 - Nmero do documento de Importao.
   RC120->CAMPO04      := M->VL_PIS_IMP           // 04 - Valor pago de PIS na importao
   RC120->CAMPO05      := M->VL_COFINS_IMP        // 05 - Valor pago de COFINS na importao
   RC120->CAMPO06      := M->NUM_ACDRAW           // 06 - Nmero do Ato Concessrio do regime
   RC120->( dbCommit() )
   //
   M->AREAC120 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C120'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC120)
   RETURN nil

FUNCTION PISCOSalvaRC170()
   // *** Estrutura do Registro RC170 ***
   RC170->( dbAppend() )
   RC170->CAMPO01      := 'C170' // 01 - Texto fixo contendo "C170"
   RC170->CAMPO02      := M->NUM_ITEM             // 02 - Nmero seqencial do item no documento fiscal
   RC170->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   RC170->CAMPO04      := M->DESCR_COMPL          // 04 - Descrio complementar do item como adotado no documento fiscal
   RC170->CAMPO05      := M->QTD                  // 05 - Quantidade do item
   RC170->CAMPO06      := M->UNID                 // 06 - Unidade do item (Campo 02 do registro 0190)
   RC170->CAMPO07      := M->VL_ITEM              // 07 - Valor total do item (mercadorias ou servios)
   RC170->CAMPO08      := M->VL_DESC              // 08 - Valor do desconto comercial
   RC170->CAMPO09      := M->IND_MOV              // 09 - Movimentao fsica do ITEM/PRODUTO:
   RC170->CAMPO10      := M->CST_ICMS             // 10 - Cdigo da Situao Tributria referente ao ICMS, conforme a Tabela indicada no item 4.3.1
   RC170->CAMPO11      := M->CFOP                 // 11 - Cdigo Fiscal de Operao e Prestao
   RC170->CAMPO12      := M->COD_NAT              // 12 - Cdigo da natureza da operao (campo 02 do Registro 0400)
   RC170->CAMPO13      := M->VL_BC_ICMS           // 13 - Valor da base de clculo do ICMS
   RC170->CAMPO14      := M->ALIQ_ICMS            // 14 - Alquota do ICMS
   RC170->CAMPO15      := M->VL_ICMS              // 15 - Valor do ICMS creditado/debitado
   RC170->CAMPO16      := M->VL_BC_ICMS_ST        // 16 - Valor da base de clculo referente  substituio tributria
   RC170->CAMPO17      := M->ALIQ_ST              // 17 - Alquota do ICMS da substituio tributria na unidade da federao de destino
   RC170->CAMPO18      := M->VL_ICMS_ST           // 18 - Valor do ICMS referente  substituio tributria
   RC170->CAMPO19      := M->IND_APUR             // 19 - Indicador de perodo de apurao do IPI:
   RC170->CAMPO20      := M->CST_IPI              // 20 - Cdigo da Situao Tributria referente ao IPI, conforme a Tabela indicada no item 4.3.2.
   RC170->CAMPO21      := M->COD_ENQ              // 21 - Cdigo de enquadramento legal do IPI, conforme tabela indicada no item 4.5.3.
   RC170->CAMPO22      := M->VL_BC_IPI            // 22 - Valor da base de clculo do IPI
   RC170->CAMPO23      := M->ALIQ_IPI             // 23 - Alquota do IPI
   RC170->CAMPO24      := M->VL_IPI               // 24 - Valor do IPI creditado/debitado
   RC170->CAMPO25      := M->CST_PIS              // 25 - Cdigo da Situao Tributria referente ao PIS.
   RC170->CAMPO26      := M->VL_BC_PIS            // 26 - Valor da base de clculo do PIS
   RC170->CAMPO27      := M->ALIQ_PIS             // 27 - Alquota do PIS (em percentual)
   RC170->CAMPO28      := M->QUANT_BC_PIS         // 28 - Quantidade ? Base de clculo PIS/PASEP
   RC170->CAMPO29      := M->ALIQ_PIS_QUANT       // 29 - Alquota do PIS (em reais)
   RC170->CAMPO30      := M->VL_PIS               // 30 - Valor do PIS
   RC170->CAMPO31      := M->CST_COFINS           // 31 - Cdigo da Situao Tributria referente ao COFINS.
   RC170->CAMPO32      := M->VL_BC_COFINS         // 32 - Valor da base de clculo da COFINS
   RC170->CAMPO33      := M->ALIQ_COFINS          // 33 - Alquota do COFINS (em percentual)
   RC170->CAMPO34      := M->QUANT_BC_COFINS      // 34 - Quantidade ? Base de clculo COFINS
   RC170->CAMPO35      := M->ALIQ_COFINS_QUANT    // 35 - Alquota da COFINS (em reais)
   RC170->CAMPO36      := M->VL_COFINS            // 36 - Valor da COFINS
   RC170->CAMPO37      := M->COD_CTA              // 37 - Cdigo da conta analtica contbil debitada/creditada
   RC170->( dbCommit() )
   //
   M->AREAC170 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C170'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC170)
   RETURN nil

FUNCTION PISCOSalvaRC180()
   // *** Estrutura do Registro RC180 ***
   RC180->( dbAppend() )
   RC180->CAMPO01      := 'C180' // 01 - Texto fixo contendo "C180?
   RC180->CAMPO02      := M->COD_MOD              // 02 - Texto fixo contendo "55" (Cdigo da Nota Fiscal Eletrnica, modelo 55, conforme a Tabela 4.1.1)
   RC180->CAMPO03      := M->DT_DOC_INI           // 03 - Data de Emisso Inicial dos Documentos
   RC180->CAMPO04      := M->DT_DOC_FIN           // 04 - Data de Emisso Final dos Documentos
   RC180->CAMPO05      := M->COD_ITEM             // 05 - Cdigo do Item (campo 02 do Registro 0200)
   RC180->CAMPO06      := M->COD_NCM              // 06 - Cdigo da Nomenclatura Comum do Mercosul
   RC180->CAMPO07      := M->EX_IPI               // 07 - Cdigo EX, conforme a TIPI
   RC180->CAMPO08      := M->VL_TOT_ITEM          // 08 - Valor Total do Item
   RC180->( dbCommit() )
   //
   M->AREAC180 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C180'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC180)
   RETURN nil

FUNCTION PISCOSalvaRC181()
   // *** Estrutura do Registro RC181 ***
   RC181->( dbAppend() )
   RC181->CAMPO01      := 'C181' // 01 - Texto fixo contendo "C181?
   RC181->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RC181->CAMPO03      := M->CFOP                 // 03 - Cdigo fiscal de operao e prestao
   RC181->CAMPO04      := M->VL_ITEM              // 04 - Valor do item
   RC181->CAMPO05      := M->VL_DESC              // 05 - Valor do desconto comercial / Excluso
   RC181->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RC181->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RC181->CAMPO08      := M->QUANT_BC_PIS         // 08 - Quantidade ? Base de clculo PIS/PASEP
   RC181->CAMPO09      := M->ALIQ_PIS_QUANT       // 09 - Alquota do PIS/PASEP (em reais)
   RC181->CAMPO10      := M->VL_PIS               // 10 - Valor do PIS/PASEP
   RC181->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil debitada/creditada
   RC181->( dbCommit() )
   //
   M->AREAC181 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C181'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC181)
   RETURN nil

FUNCTION PISCOSalvaRC185()
   // *** Estrutura do Registro RC185 ***
   RC185->( dbAppend() )
   RC185->CAMPO01      := 'C185' // 01 - Texto fixo contendo "C185?
   RC185->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RC185->CAMPO03      := M->CFOP                 // 03 - Cdigo fiscal de operao e prestao
   RC185->CAMPO04      := M->VL_ITEM              // 04 - Valor do item
   RC185->CAMPO05      := M->VL_DESC              // 05 - Valor do desconto comercial / Excluso
   RC185->CAMPO06      := M->VL_BC_COFINS         // 06 - Valor da base de clculo da COFINS
   RC185->CAMPO07      := M->ALIQ_COFINS          // 07 - Alquota da COFINS (em percentual)
   RC185->CAMPO08      := M->QUANT_BC_COFINS      // 08 - Quantidade ? Base de clculo da COFINS
   RC185->CAMPO09      := M->ALIQ_COFINS_QUANT    // 09 - Alquota da COFINS (em reais)
   RC185->CAMPO10      := M->VL_COFINS            // 10 - Valor da COFINS
   RC185->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil debitada/creditada
   RC185->( dbCommit() )
   //
   M->AREAC185 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C185'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC185)
   RETURN nil

FUNCTION PISCOSalvaRC188()
   // *** Estrutura do Registro RC188 ***
   RC188->( dbAppend() )
   RC188->CAMPO01      := 'C188' // 01 - Texto fixo contendo "C188"
   RC188->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC188->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC188->( dbCommit() )
   //
   M->AREAC188 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C188'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC188)
   RETURN nil

FUNCTION PISCOSalvaRC190()
   // *** Estrutura do Registro RC190 ***
   RC190->( dbAppend() )
   RC190->CAMPO01      := 'C190' // 01 - Texto fixo contendo "C190?
   RC190->CAMPO02      := M->COD_MOD              // 02 - Texto fixo contendo "55" (Cdigo da Nota Fiscal Eletrnica, modelo 55, conforme a Tabela 4.1.1)
   RC190->CAMPO03      := M->DT_REF_INI           // 03 - Data Inicial de Referncia da Consolidao
   RC190->CAMPO04      := M->DT_REF_FIN           // 04 - Data Final de Referncia da Consolidao
   RC190->CAMPO05      := M->COD_ITEM             // 05 - Cdigo do item (campo 02 do Registro 0200)
   RC190->CAMPO06      := M->COD_NCM              // 06 - Cdigo da Nomenclatura Comum do Mercosul
   RC190->CAMPO07      := M->EX_IPI               // 07 - Cdigo EX, conforme a TIPI
   RC190->CAMPO08      := M->VL_TOT_ITEM          // 08 - Valor Total do Item
   RC190->( dbCommit() )
   //
   M->AREAC190 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C190'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC190)
   RETURN nil

FUNCTION PISCOSalvaRC191()
   // *** Estrutura do Registro RC191 ***
   RC191->( dbAppend() )
   RC191->CAMPO01      := 'C191' // 01 - Texto fixo contendo "C191?
   RC191->CAMPO02      := M->CNPJ_CPF_PART        // 02 - CNPJ/CPF do Participante a que se referem as operaes consolidadas neste registro (pessoa jurdica
   RC191->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC191->CAMPO04      := M->CFOP                 // 04 - Cdigo fiscal de operao e prestao
   RC191->CAMPO05      := M->VL_ITEM              // 05 - Valor do item
   RC191->CAMPO06      := M->VL_DESC              // 06 - Valor do desconto comercial / Excluso
   RC191->CAMPO07      := M->VL_BC_PIS            // 07 - Valor da base de clculo do PIS/PASEP
   RC191->CAMPO08      := M->ALIQ_PIS             // 08 - Alquota do PIS/PASEP (em percentual)
   RC191->CAMPO09      := M->QUANT_BC_PIS         // 09 - Quantidade ? Base de clculo PIS/PASEP
   RC191->CAMPO10      := M->ALIQ_PIS_QUANT       // 10 - Alquota do PIS/PASEP (em reais)
   RC191->CAMPO11      := M->VL_PIS               // 11 - Valor do PIS/PASEP
   RC191->CAMPO12      := M->COD_CTA              // 12 - Cdigo da conta analtica contbil debitada/creditada
   RC191->( dbCommit() )
   //
   M->AREAC191 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C191'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC191)
   RETURN nil

FUNCTION PISCOSalvaRC195()
   // *** Estrutura do Registro RC195 ***
   RC195->( dbAppend() )
   RC195->CAMPO01      := 'C195' // 01 - Texto fixo contendo "C195?
   RC195->CAMPO02      := M->CNPJ_CPF_PART        // 02 - CNPJ/CPF do Participante a que se referem as operaes consolidadas neste registro (pessoa jurdica
   RC195->CAMPO03      := M->CST_COFINS           // 03 - Cdigo da Situao Tributria referente a COFINS.
   RC195->CAMPO04      := M->CFOP                 // 04 - Cdigo fiscal de operao e prestao
   RC195->CAMPO05      := M->VL_ITEM              // 05 - Valor do item
   RC195->CAMPO06      := M->VL_DESC              // 06 - Valor do desconto comercial / Excluso
   RC195->CAMPO07      := M->VL_BC_COFINS         // 07 - Valor da base de clculo da COFINS
   RC195->CAMPO08      := M->ALIQ_COFINS          // 08 - Alquota da COFINS (em percentual)
   RC195->CAMPO09      := M->QUANT_BC_COFINS      // 09 - Quantidade ? Base de clculo da COFINS
   RC195->CAMPO10      := M->ALIQ_COFINS_QUANT    // 10 - Alquota da COFINS (em reais)
   RC195->CAMPO11      := M->VL_COFINS            // 11 - Valor da COFINS
   RC195->CAMPO12      := M->COD_CTA              // 12 - Cdigo da conta analtica contbil debitada/creditada
   RC195->( dbCommit() )
   //
   M->AREAC195 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C195'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC195)
   RETURN nil

FUNCTION PISCOSalvaRC198()
   // *** Estrutura do Registro RC198 ***
   RC198->( dbAppend() )
   RC198->CAMPO01      := 'C198' // 01 - Texto fixo contendo "C198"
   RC198->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC198->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC198->( dbCommit() )
   //
   M->AREAC198 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C198'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC198)
   RETURN nil

FUNCTION PISCOSalvaRC199()
   // *** Estrutura do Registro RC199 ***
   RC199->( dbAppend() )
   RC199->CAMPO01      := 'C199' // 01 - Texto fixo contendo "C199"
   RC199->CAMPO02      := M->COD_DOC_IMP          // 02 - Documento de importao:
   RC199->CAMPO03      := M->NUM_DOC__IMP         // 03 - Nmero do documento de Importao.
   RC199->CAMPO04      := M->VL_PIS_IMP           // 04 - Valor pago de PIS na importao
   RC199->CAMPO05      := M->VL_COFINS_IMP        // 05 - Valor pago de COFINS na importao
   RC199->CAMPO06      := M->NUM_ACDRAW           // 06 - Nmero do Ato Concessrio do regime Drawback
   RC199->( dbCommit() )
   //
   M->AREAC199 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C199'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC199)
   RETURN nil

FUNCTION PISCOSalvaRC380()
   // *** Estrutura do Registro RC380 ***
   RC380->( dbAppend() )
   RC380->CAMPO01      := 'C380' // 01 - Texto fixo contendo "C380?
   RC380->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1 (Cdigo 02 ? Nota Fiscal de Venda a Co
   RC380->CAMPO03      := M->DT_DOC_INI           // 03 - Data de Emisso Inicial dos Documentos
   RC380->CAMPO04      := M->DT_DOC_FIN           // 04 - Data de Emisso Final dos Documentos
   RC380->CAMPO05      := M->NUM_DOC_INI          // 05 - Nmero do documento fiscal inicial
   RC380->CAMPO06      := M->NUM_DOC_FIN          // 06 - Nmero do documento fiscal final
   RC380->CAMPO07      := M->VL_DOC               // 07 - Valor total dos documentos emitidos
   RC380->CAMPO08      := M->VL_DOC_CANC          // 08 - Valor total dos documentos cancelados
   RC380->( dbCommit() )
   //
   M->AREAC380 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C380'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC380)
   RETURN nil

FUNCTION PISCOSalvaRC381()
   // *** Estrutura do Registro RC381 ***
   RC381->( dbAppend() )
   RC381->CAMPO01      := 'C381' // 01 - Texto fixo contendo "C381?
   RC381->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC381->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   RC381->CAMPO04      := M->VL_ITEM              // 04 - Valor total dos itens
   RC381->CAMPO05      := M->VL_BC_PIS            // 05 - Valor da base de clculo do PIS/PASEP
   RC381->CAMPO06      := M->ALIQ_PIS             // 06 - Alquota do PIS/PASEP (em percentual)
   RC381->CAMPO07      := M->QUANT_BC_PIS         // 07 - Quantidade ? Base de clculo do PIS/PASEP
   RC381->CAMPO08      := M->ALIQ_PIS_QUANT       // 08 - Alquota do PIS/PASEP (em reais)
   RC381->CAMPO09      := M->VL_PIS               // 09 - Valor do PIS/PASEP
   RC381->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   RC381->( dbCommit() )
   //
   M->AREAC381 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C381'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC381)
   RETURN nil

FUNCTION PISCOSalvaRC385()
   // *** Estrutura do Registro RC385 ***
   RC385->( dbAppend() )
   RC385->CAMPO01      := 'C385' // 01 - Texto fixo contendo "C385?
   RC385->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS.
   RC385->CAMPO03      := M->COD_ITEM             // 03 - Cdigo do item (campo 02 do Registro 0200)
   RC385->CAMPO04      := M->VL_ITEM              // 04 - Valor total dos itens
   RC385->CAMPO05      := M->VL_BC_COFINS         // 05 - Valor da base de clculo da COFINS
   RC385->CAMPO06      := M->ALIQ_COFINS          // 06 - Alquota da COFINS (em percentual)
   RC385->CAMPO07      := M->QUANT_BC_COFINS      // 07 - Quantidade ? Base de clculo da COFINS
   RC385->CAMPO08      := M->ALIQ_COFINS_QUANT    // 08 - Alquota da COFINS (em reais)
   RC385->CAMPO09      := M->VL_COFINS            // 09 - Valor da COFINS
   RC385->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   RC385->( dbCommit() )
   //
   M->AREAC385 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C385'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC385)
   RETURN nil

FUNCTION PISCOSalvaRC395()
   // *** Estrutura do Registro RC395 ***
   RC395->( dbAppend() )
   RC395->CAMPO01      := 'C395' // 01 - Texto fixo contendo "C395"
   RC395->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC395->CAMPO03      := M->COD_PART             // 03 - Cdigo do participante emitente do documento (campo 02 do Registro 0150).
   RC395->CAMPO04      := M->SER                  // 04 - Srie do documento fiscal
   RC395->CAMPO05      := M->SUB_SER              // 05 - Subsrie do documento fiscal
   RC395->CAMPO06      := M->NUM_DOC              // 06 - Nmero do documento fiscal
   RC395->CAMPO07      := M->DT_DOC               // 07 - Data da emisso do documento fiscal
   RC395->CAMPO08      := M->VL_DOC               // 08 - Valor total do documento fiscal
   RC395->( dbCommit() )
   //
   M->AREAC395 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C395'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC395)
   RETURN nil

FUNCTION PISCOSalvaRC396()
   // *** Estrutura do Registro RC396 ***
   RC396->( dbAppend() )
   RC396->CAMPO01      := 'C396' // 01 - Texto fixo contendo "C396"
   RC396->CAMPO02      := M->COD_ITEM             // 02 - Cdigo do item (campo 02 do Registro 0200)
   RC396->CAMPO03      := M->VL_ITEM              // 03 - Valor total do item (mercadorias ou servios)
   RC396->CAMPO04      := M->VL_DESC              // 04 - Valor do desconto comercial do item
   RC396->CAMPO05      := M->NAT_BC_CRED          // 05 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   RC396->CAMPO06      := M->CST_PIS              // 06 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC396->CAMPO07      := M->VL_BC_PIS            // 07 - Valor da base de clculo do crdito de PIS/PASEP
   RC396->CAMPO08      := M->ALIQ_PIS             // 08 - Alquota do PIS/PASEP (em percentual)
   RC396->CAMPO09      := M->VL_PIS               // 09 - Valor do crdito de PIS/PASEP
   RC396->CAMPO10      := M->CST_COFINS           // 10 - Cdigo da Situao Tributria referente a COFINS
   RC396->CAMPO11      := M->VL_BC_COFINS         // 11 - Valor da base de clculo do crdito de COFINS
   RC396->CAMPO12      := M->ALIQ_COFINS          // 12 - Alquota da COFINS (em percentual)
   RC396->CAMPO13      := M->VL_COFINS            // 13 - Valor do crdito de COFINS
   RC396->CAMPO14      := M->COD_CTA              // 14 - Cdigo da conta analtica contbil debitada/creditada
   RC396->( dbCommit() )
   //
   M->AREAC396 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C396'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC396)
   RETURN nil

FUNCTION PISCOSalvaRC400()
   // *** Estrutura do Registro RC400 ***
   RC400->( dbAppend() )
   RC400->CAMPO01      := 'C400' // 01 - Texto fixo contendo "C400"
   RC400->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC400->CAMPO03      := M->ECF_MOD              // 03 - Modelo do equipamento
   RC400->CAMPO04      := M->ECF_FAB              // 04 - Nmero de srie de fabricao do ECF
   RC400->CAMPO05      := M->ECF_CX               // 05 - Nmero do caixa atribudo ao ECF
   RC400->( dbCommit() )
   //
   M->AREAC400 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C400'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC400)
   RETURN nil

FUNCTION PISCOSalvaRC405()
   // *** Estrutura do Registro RC405 ***
   RC405->( dbAppend() )
   RC405->CAMPO01      := 'C405' // 01 - Texto fixo contendo "C405"
   RC405->CAMPO02      := M->DT_DOC               // 02 - Data do movimento a que se refere a Reduo Z
   RC405->CAMPO03      := M->CRO                  // 03 - Posio do Contador de Reincio de Operao
   RC405->CAMPO04      := M->CRZ                  // 04 - Posio do Contador de Reduo Z
   RC405->CAMPO05      := M->NUM_COO_FIN          // 05 - Nmero do Contador de Ordem de Operao do ltimo documento emitido no dia (Nmero do COO na Reduo
   RC405->CAMPO06      := M->GT_FIN               // 06 - Valor do Grande Total final
   RC405->CAMPO07      := M->VL_BRT               // 07 - Valor da venda bruta
   RC405->( dbCommit() )
   //
   M->AREAC405 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C405'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC405)
   RETURN nil

FUNCTION PISCOSalvaRC481()
   // *** Estrutura do Registro RC481 ***
   RC481->( dbAppend() )
   RC481->CAMPO01      := 'C481' // 01 - Texto fixo contendo "C481?
   RC481->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC481->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC481->CAMPO04      := M->VL_BC_PIS            // 04 - Valor da base de clculo do PIS/PASEP
   RC481->CAMPO05      := M->ALIQ_PIS             // 05 - Alquota do PIS/PASEP (em percentual)
   RC481->CAMPO06      := M->QUANT_BC_PIS         // 06 - Quantidade ? Base de clculo PIS/PASEP
   RC481->CAMPO07      := M->ALIQ_PIS_QUANT       // 07 - Alquota do PIS/PASEP (em reais)
   RC481->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RC481->CAMPO09      := M->COD_ITEM             // 09 - Cdigo do item (campo 02 do Registro 0200)
   RC481->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   RC481->( dbCommit() )
   //
   M->AREAC481 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C481'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC481)
   RETURN nil

FUNCTION PISCOSalvaRC485()
   // *** Estrutura do Registro RC485 ***
   RC485->( dbAppend() )
   RC485->CAMPO01      := 'C485' // 01 - Texto fixo contendo "C485?
   RC485->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS.
   RC485->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC485->CAMPO04      := M->VL_BC_COFINS         // 04 - Valor da base de clculo da COFINS
   RC485->CAMPO05      := M->ALIQ_COFINS          // 05 - Alquota da COFINS (em percentual)
   RC485->CAMPO06      := M->QUANT_BC_COFINS      // 06 - Quantidade ? Base de clculo da COFINS
   RC485->CAMPO07      := M->ALIQ_COFINS_QUANT    // 07 - Alquota da COFINS (em reais)
   RC485->CAMPO08      := M->VL_COFINS            // 08 - Valor da COFINS
   RC485->CAMPO09      := M->COD_ITEM             // 09 - Cdigo do item (campo 02 do Registro 0200)
   RC485->CAMPO10      := M->COD_CTA              // 10 - Cdigo da conta analtica contbil debitada/creditada
   RC485->( dbCommit() )
   //
   M->AREAC485 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C485'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC485)
   RETURN nil

FUNCTION PISCOSalvaRC489()
   // *** Estrutura do Registro RC489 ***
   RC489->( dbAppend() )
   RC489->CAMPO01      := 'C489' // 01 - Texto fixo contendo "C489"
   RC489->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC489->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC489->( dbCommit() )
   //
   M->AREAC489 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C489'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC489)
   RETURN nil

FUNCTION PISCOSalvaRC490()
   // *** Estrutura do Registro RC490 ***
   RC490->( dbAppend() )
   RC490->CAMPO01      := 'C490' // 01 - Texto fixo contendo "C490?
   RC490->CAMPO02      := M->DT_DOC_INI           // 02 - Data de Emisso Inicial dos Documentos
   RC490->CAMPO03      := M->DT_DOC_FIN           // 03 - Data de Emisso Final dos Documentos
   RC490->CAMPO04      := M->COD_MOD              // 04 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC490->( dbCommit() )
   //
   M->AREAC490 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C490'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC490)
   RETURN nil

FUNCTION PISCOSalvaRC491()
   // *** Estrutura do Registro RC491 ***
   RC491->( dbAppend() )
   RC491->CAMPO01      := 'C491' // 01 - Texto fixo contendo "C491?
   RC491->CAMPO02      := M->COD_ITEM             // 02 - Cdigo do item (campo 02 do Registro 0200)
   RC491->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC491->CAMPO04      := M->CFOP                 // 04 - Cdigo fiscal de operao e prestao
   RC491->CAMPO05      := M->VL_ITEM              // 05 - Valor total dos itens
   RC491->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RC491->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RC491->CAMPO08      := M->QUANT_BC_PIS         // 08 - Quantidade ? Base de clculo PIS/PASEP
   RC491->CAMPO09      := M->ALIQ_PIS_QUANT       // 09 - Alquota do PIS/PASEP (em reais)
   RC491->CAMPO10      := M->VL_PIS               // 10 - Valor do PIS/PASEP
   RC491->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil debitada/creditada
   RC491->( dbCommit() )
   //
   M->AREAC491 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C491'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC491)
   RETURN nil

FUNCTION PISCOSalvaRC495()
   // *** Estrutura do Registro RC495 ***
   RC495->( dbAppend() )
   RC495->CAMPO01      := 'C495' // 01 - Texto fixo contendo "C495?
   RC495->CAMPO02      := M->COD_ITEM             // 02 - Cdigo do item (campo 02 do Registro 0200)
   RC495->CAMPO03      := M->CST_COFINS           // 03 - Cdigo da Situao Tributria referente a COFINS.
   RC495->CAMPO04      := M->CFOP                 // 04 - Cdigo fiscal de operao e prestao
   RC495->CAMPO05      := M->VL_ITEM              // 05 - Valor total dos itens
   RC495->CAMPO06      := M->VL_BC_COFINS         // 06 - Valor da base de clculo da COFINS
   RC495->CAMPO07      := M->ALIQ_COFINS          // 07 - Alquota da COFINS (em percentual)
   RC495->CAMPO08      := M->QUANT_BC_COFINS      // 08 - Quantidade ? Base de clculo da COFINS
   RC495->CAMPO09      := M->ALIQ_COFINS_QUANT    // 09 - Alquota da COFINS (em reais)
   RC495->CAMPO10      := M->VL_COFINS            // 10 - Valor da COFINS
   RC495->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil debitada/creditada
   RC495->( dbCommit() )
   //
   M->AREAC495 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C495'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC495)
   RETURN nil

FUNCTION PISCOSalvaRC499()
   // *** Estrutura do Registro RC499 ***
   RC499->( dbAppend() )
   RC499->CAMPO01      := 'C499' // 01 - Texto fixo contendo "C499"
   RC499->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC499->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC499->( dbCommit() )
   //
   M->AREAC499 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C499'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC499)
   RETURN nil

FUNCTION PISCOSalvaRC500()
   // *** Estrutura do Registro RC500 ***
   RC500->( dbAppend() )
   RC500->CAMPO01      := 'C500' // 01 - Texto fixo contendo "C500"
   RC500->CAMPO02      := M->COD_PART             // 02 - Cdigo do participante do fornecedor (campo 02 do Registro 0150).
   RC500->CAMPO03      := M->COD_MOD              // 03 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC500->CAMPO04      := M->COD_SIT              // 04 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   RC500->CAMPO05      := M->SER                  // 05 - Srie do documento fiscal
   RC500->CAMPO06      := M->SUB                  // 06 - Subsrie do documento fiscal
   RC500->CAMPO07      := M->NUM_DOC              // 07 - Nmero do documento fiscal
   RC500->CAMPO08      := M->DT_DOC               // 08 - Data da emisso do documento fiscal
   RC500->CAMPO09      := M->DT_ENT               // 09 - Data da entrada
   RC500->CAMPO10      := M->VL_DOC               // 10 - Valor total do documento fiscal
   RC500->CAMPO11      := M->VL_ICMS              // 11 - Valor acumulado do ICMS
   RC500->CAMPO12      := M->COD_INF              // 12 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   RC500->CAMPO13      := M->VL_PIS               // 13 - Valor do PIS/PASEP
   RC500->CAMPO14      := M->VL_COFINS            // 14 - Valor da COFINS
   RC500->( dbCommit() )
   //
   M->AREAC500 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC500)
   RETURN nil

FUNCTION PISCOSalvaRC501()
   // *** Estrutura do Registro RC501 ***
   RC501->( dbAppend() )
   RC501->CAMPO01      := 'C501' // 01 - Texto fixo contendo "C501?
   RC501->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC501->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC501->CAMPO04      := M->NAT_BC_CRED          // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   RC501->CAMPO05      := M->VL_BC_PIS            // 05 - Valor da base de clculo do PIS/PASEP
   RC501->CAMPO06      := M->ALIQ_PIS             // 06 - Alquota do PIS/PASEP (em percentual)
   RC501->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RC501->CAMPO08      := M->COD_CTA              // 08 - Cdigo da conta analtica contbil debitada/creditada
   RC501->( dbCommit() )
   //
   M->AREAC501 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C501'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC501)
   RETURN nil

FUNCTION PISCOSalvaRC505()
   // *** Estrutura do Registro RC505 ***
   RC505->( dbAppend() )
   RC505->CAMPO01      := 'C505' // 01 - Texto fixo contendo "C505?
   RC505->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS
   RC505->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC505->CAMPO04      := M->NAT_BC_CRED          // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7
   RC505->CAMPO05      := M->VL_BC_COFINS         // 05 - Valor da base de clculo da COFINS
   RC505->CAMPO06      := M->ALIQ_COFINS          // 06 - Alquota da COFINS  (em percentual)
   RC505->CAMPO07      := M->VL_COFINS            // 07 - Valor da COFINS
   RC505->CAMPO08      := M->COD_CTA              // 08 - Cdigo da conta analtica contbil debitada/creditada
   RC505->( dbCommit() )
   //
   M->AREAC505 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C505'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC505)
   RETURN nil

FUNCTION PISCOSalvaRC509()
   // *** Estrutura do Registro RC509 ***
   RC509->( dbAppend() )
   RC509->CAMPO01      := 'C509' // 01 - Texto fixo contendo "C509"
   RC509->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC509->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC509->( dbCommit() )
   //
   M->AREAC509 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C509'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC509)
   RETURN nil

FUNCTION PISCOSalvaRC600()
   // *** Estrutura do Registro RC600 ***
   RC600->( dbAppend() )
   RC600->CAMPO01      := 'C600' // 01 - Texto fixo contendo "C600"
   RC600->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC600->CAMPO03      := M->COD_MUN              // 03 - Cdigo do municpio dos pontos de consumo, conforme a tabela IBGE
   RC600->CAMPO04      := M->SER                  // 04 - Srie do documento fiscal
   RC600->CAMPO05      := M->SUB                  // 05 - Subsrie do documento fiscal
   RC600->CAMPO06      := M->COD_CONS             // 06 - Cdigo de classe de consumo de energia eltrica, conforme a Tabela 4.4.5, ou Cdigo de Consumo de Fo
   RC600->CAMPO07      := M->QTD_CONS             // 07 - Quantidade de documentos consolidados neste registro
   RC600->CAMPO08      := M->QTD_CANC             // 08 - Quantidade de documentos cancelados
   RC600->CAMPO09      := M->DT_DOC               // 09 - Data dos documentos consolidados
   RC600->CAMPO10      := M->VL_DOC               // 10 - Valor total dos documentos
   RC600->CAMPO11      := M->VL_DESC              // 11 - Valor acumulado dos descontos
   RC600->CAMPO12      := M->CONS                 // 12 - Consumo total acumulado, em kWh (Cdigo 06)
   RC600->CAMPO13      := M->VL_FORN              // 13 - Valor acumulado do fornecimento
   RC600->CAMPO14      := M->VL_SERV_NT           // 14 - Valor acumulado dos servios no-tributados pelo ICMS
   RC600->CAMPO15      := M->VL_TERC              // 15 - Valores cobrados em nome de terceiros
   RC600->CAMPO16      := M->VL_DA                // 16 - Valor acumulado das despesas acessrias
   RC600->CAMPO17      := M->VL_BC_ICMS           // 17 - Valor acumulado da base de clculo do ICMS
   RC600->CAMPO18      := M->VL_ICMS              // 18 - Valor acumulado do ICMS
   RC600->CAMPO19      := M->VL_BC_ICMS_ST        // 19 - Valor acumulado da base de clculo do ICMS substituio tributria
   RC600->CAMPO20      := M->VL_ICMS_ST           // 20 - Valor acumulado do ICMS retido por substituio tributria
   RC600->CAMPO21      := M->VL_PIS               // 21 - Valor acumulado do PIS/PASEP
   RC600->CAMPO22      := M->VL_COFINS            // 22 - Valor acumulado da COFINS
   RC600->( dbCommit() )
   //
   M->AREAC600 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC600)
   RETURN nil

FUNCTION PISCOSalvaRC601()
   // *** Estrutura do Registro RC601 ***
   RC601->( dbAppend() )
   RC601->CAMPO01      := 'C601' // 01 - Texto fixo contendo "C601?
   RC601->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC601->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC601->CAMPO04      := M->VL_BC_PIS            // 04 - Valor da base de clculo do PIS/PASEP
   RC601->CAMPO05      := M->ALIQ_PIS             // 05 - Alquota do PIS/PASEP (em percentual)
   RC601->CAMPO06      := M->VL_PIS               // 06 - Valor do PIS/PASEP
   RC601->CAMPO07      := M->COD_CTA              // 07 - Cdigo da conta analtica contbil debitada/creditada
   RC601->( dbCommit() )
   //
   M->AREAC601 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C601'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC601)
   RETURN nil

FUNCTION PISCOSalvaRC605()
   // *** Estrutura do Registro RC605 ***
   RC605->( dbAppend() )
   RC605->CAMPO01      := 'C605' // 01 - Texto fixo contendo "C605?
   RC605->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS
   RC605->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC605->CAMPO04      := M->VL_BC_COFINS         // 04 - Valor da base de clculo da COFINS
   RC605->CAMPO05      := M->ALIQ_COFINS          // 05 - Alquota da COFINS (em percentual)
   RC605->CAMPO06      := M->VL_COFINS            // 06 - Valor da COFINS
   RC605->CAMPO07      := M->COD_CTA              // 07 - Cdigo da conta analtica contbil debitada/creditada
   RC605->( dbCommit() )
   //
   M->AREAC605 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C605'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC605)
   RETURN nil

FUNCTION PISCOSalvaRC609()
   // *** Estrutura do Registro RC609 ***
   RC609->( dbAppend() )
   RC609->CAMPO01      := 'C609' // 01 - Texto fixo contendo "C609"
   RC609->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC609->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC609->( dbCommit() )
   //
   M->AREAC609 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C609'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC609)
   RETURN nil

FUNCTION PISCOSalvaRC800()
   // *** Estrutura do Registro RC800 ***
   RC800->( dbAppend() )
   RC800->CAMPO01      := 'C800' // 01 - Texto fixo contendo "C800"
   RC800->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC800->CAMPO03      := M->COD_SIT              // 03 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   RC800->CAMPO04      := M->NUM_CFE              // 04 - Nmero do Cupom Fiscal Eletrnico
   RC800->CAMPO05      := M->DT_DOC               // 05 - Data da emisso do Cupom Fiscal Eletrnico
   RC800->CAMPO06      := M->VL_CFE               // 06 - Valor total do Cupom Fiscal Eletrnico
   RC800->CAMPO07      := M->VL_PIS               // 07 - Valor total do PIS
   RC800->CAMPO08      := M->VL_COFINS            // 08 - Valor total da COFINS
   RC800->CAMPO09      := M->CNPJ_CPF             // 09 - CNPJ ou CPF do destinatrio
   RC800->CAMPO10      := M->NR_SAT               // 10 - Nmero de Srie do equipamento SAT
   RC800->CAMPO11      := M->CHV_CFE              // 11 - Chave do Cupom Fiscal Eletrnico
   RC800->CAMPO12      := M->VL_DESC              // 12 - Valor total do desconto/excluso sobre item
   RC800->CAMPO13      := M->VL_MERC              // 13 - Valor total das mercadorias e servios
   RC800->CAMPO14      := M->VL_OUT_DA            // 14 - Valor de outras desp. Acessrias (acrscimo)
   RC800->CAMPO15      := M->VL_ICMS              // 15 - Valor do ICMS
   RC800->CAMPO16      := M->VL_PIS_ST            // 16 - Valor total do PIS retido por subst. trib.
   RC800->CAMPO17      := M->VL_COFINS_ST         // 17 - Valor total da COFINS retido por subst. trib.
   RC800->( dbCommit() )
   //
   M->AREAC800 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C800'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC800)
   RETURN nil

FUNCTION PISCOSalvaRC810()
   // *** Estrutura do Registro RC810 ***
   RC810->( dbAppend() )
   RC810->CAMPO01      := 'C810' // 01 - Texto fixo contendo "C810"
   RC810->CAMPO02      := M->CFOP                 // 02 - Cdigo fiscal de operao e prestao
   RC810->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC810->CAMPO04      := M->COD_ITEM             // 04 - Cdigo do item (campo 02 do Registro 0200)
   RC810->CAMPO05      := M->CST_PIS              // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC810->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RC810->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RC810->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RC810->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria referente a COFINS
   RC810->CAMPO10      := M->VL_BC_COFINS         // 10 - Valor da base de clculo da COFINS
   RC810->CAMPO11      := M->ALIQ_COFINS          // 11 - Alquota da COFINS (em percentual)
   RC810->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RC810->CAMPO13      := M->COD_CTA              // 13 - Cdigo da conta analtica contbil debitada/creditada
   RC810->( dbCommit() )
   //
   M->AREAC810 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C810'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC810)
   RETURN nil

FUNCTION PISCOSalvaRC820()
   // *** Estrutura do Registro RC820 ***
   RC820->( dbAppend() )
   RC820->CAMPO01      := 'C820' // 01 - Texto fixo contendo "C820"
   RC820->CAMPO02      := M->CFOP                 // 02 - Cdigo fiscal de operao e prestao
   RC820->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC820->CAMPO04      := M->COD_ITEM             // 04 - Cdigo do item (campo 02 do Registro 0200)
   RC820->CAMPO05      := M->CST_PIS              // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC820->CAMPO06      := M->QUANT_BC_PIS         // 06 - Base de clculo em quantidade - PIS/PASEP
   RC820->CAMPO07      := M->ALIQ_PIS_QUANT       // 07 - Alquota do PIS/PASEP (em reais)
   RC820->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RC820->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria referente a COFINS
   RC820->CAMPO10      := M->QUANT_BC_COFINS      // 10 - Base de clculo em quantidade ? COFINS
   RC820->CAMPO11      := M->ALIQ_COFINS_QUANT    // 11 - Alquota da COFINS (em reais)
   RC820->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RC820->CAMPO13      := M->COD_CTA              // 13 - Cdigo da conta analtica contbil debitada/creditada
   RC820->( dbCommit() )
   //
   M->AREAC820 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C820'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC820)
   RETURN nil

FUNCTION PISCOSalvaRC830()
   // *** Estrutura do Registro RC830 ***
   RC830->( dbAppend() )
   RC830->CAMPO01      := 'C830' // 01 - Texto fixo contendo "C830?
   RC830->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC830->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC830->( dbCommit() )
   //
   M->AREAC830 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C830'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC830)
   RETURN nil

FUNCTION PISCOSalvaRC860()
   // *** Estrutura do Registro RC860 ***
   RC860->( dbAppend() )
   RC860->CAMPO01      := 'C860' // 01 - Texto fixo contendo "C860"
   RC860->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RC860->CAMPO03      := M->NR_SAT               // 03 - Nmero de Srie do equipamento SAT
   RC860->CAMPO04      := M->DT_DOC               // 04 - Data de emisso dos documentos fiscais
   RC860->CAMPO05      := M->DOC_INI              // 05 - Nmero do documento inicial
   RC860->CAMPO06      := M->DOC_FIM              // 06 - Nmero do documento final
   RC860->( dbCommit() )
   //
   M->AREAC860 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C860'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC860)
   RETURN nil

FUNCTION PISCOSalvaRC870()
   // *** Estrutura do Registro RC870 ***
   RC870->( dbAppend() )
   RC870->CAMPO01      := 'C870' // 01 - Texto fixo contendo "C870"
   RC870->CAMPO02      := M->CFOP                 // 02 - Cdigo fiscal de operao e prestao
   RC870->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RC870->CAMPO04      := M->COD_ITEM             // 04 - Cdigo do item (campo 02 do Registro 0200)
   RC870->CAMPO05      := M->CST_PIS              // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC870->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RC870->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RC870->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RC870->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria referente a COFINS
   RC870->CAMPO10      := M->VL_BC_COFINS         // 10 - Valor da base de clculo da COFINS
   RC870->CAMPO11      := M->ALIQ_COFINS          // 11 - Alquota da COFINS (em percentual)
   RC870->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RC870->CAMPO13      := M->COD_CTA              // 13 - Cdigo da conta analtica contbil debitada/creditada
   RC870->( dbCommit() )
   //
   M->AREAC870 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C870'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC870)
   RETURN nil

FUNCTION PISCOSalvaRC880()
   // *** Estrutura do Registro RC880 ***
   RC880->( dbAppend() )
   RC880->CAMPO01      := 'C880' // 01 - Texto fixo contendo "C880"
   RC880->CAMPO02      := M->COD_ITEM             // 02 - Cdigo do item (campo 02 do Registro 0200)
   RC880->CAMPO03      := M->CFOP                 // 03 - Cdigo fiscal de operao e prestao
   RC880->CAMPO04      := M->VL_ITEM              // 04 - Valor total dos itens
   RC880->CAMPO05      := M->CST_PIS              // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RC880->CAMPO06      := M->QUANT_BC_PIS         // 06 - Base de clculo em quantidade - PIS/PASEP
   RC880->CAMPO07      := M->ALIQ_PIS_QUANT       // 07 - Alquota do PIS/PASEP (em reais)
   RC880->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RC880->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria referente a COFINS
   RC880->CAMPO10      := M->QUANT_BC_COFINS      // 10 - Base de clculo em quantidade ? COFINS
   RC880->CAMPO11      := M->ALIQ_COFINS_QUANT    // 11 - Alquota da COFINS (em reais)
   RC880->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RC880->CAMPO13      := M->COD_CTA              // 13 - Cdigo da conta analtica contbil debitada/creditada
   RC880->( dbCommit() )
   //
   M->AREAC880 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C880'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC880)
   RETURN nil

FUNCTION PISCOSalvaRC890()
   // *** Estrutura do Registro RC890 ***
   RC890->( dbAppend() )
   RC890->CAMPO01      := 'C890' // 01 - Texto fixo contendo "C890?
   RC890->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RC890->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RC890->( dbCommit() )
   //
   M->AREAC890 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RC990')
   PISCOSalvaRC990()
   M->REG_BLC := 'C890'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC890)
   RETURN nil

FUNCTION PISCOSalvaRC990()
   // *** Estrutura do Registro RC990 ***
   if recco() = 0
      M->QTD_LIN_C := '1'
      RC990->( dbAppend() )
   else
      M->QTD_LIN_C := alltrim(str(val(RC990->CAMPO02) + 1,6))
      RC990->( dbRLock() )
   endif
   RC990->CAMPO01      := 'C990' // 01 - Texto fixo contendo "C990"
   RC990->CAMPO02      := M->QTD_LIN_C            // 02 - Quantidade total de linhas do Bloco C
   RC990->( dbCommit() )
   //
   M->AREAC990 := Select()
   M->QTD_LIN_C := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'C990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAC990)
   RETURN nil

FUNCTION PISCOSalvaRD001()
   // *** Estrutura do Registro RD001 ***
   RD001->( dbAppend() )
   RD001->CAMPO01      := 'D001' // 01 - Texto fixo contendo "D001"
   RD001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RD001->( dbCommit() )
   //
   M->AREAD001 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD001)
   RETURN nil

FUNCTION PISCOSalvaRD010()
   // *** Estrutura do Registro RD010 ***
   RD010->( dbAppend() )
   RD010->CAMPO01      := 'D010' // 01 - Texto fixo contendo ?D010?.
   RD010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   RD010->( dbCommit() )
   //
   M->AREAD010 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD010)
   RETURN nil

FUNCTION PISCOSalvaRD100()
   // *** Estrutura do Registro RD100 ***
   RD100->( dbAppend() )
   RD100->CAMPO01      := 'D100' // 01 - Texto fixo contendo "D100"
   RD100->CAMPO02      := M->IND_OPER             // 02 - Indicador do tipo de operao:
   RD100->CAMPO03      := M->IND_EMIT             // 03 - Indicador do emitente do documento fiscal:
   RD100->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante (campo 02 do Registro 0150).
   RD100->CAMPO05      := M->COD_MOD              // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RD100->CAMPO06      := M->COD_SIT              // 06 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   RD100->CAMPO07      := M->SER                  // 07 - Srie do documento fiscal
   RD100->CAMPO08      := M->SUB                  // 08 - Subsrie do documento fiscal
   RD100->CAMPO09      := M->NUM_DOC              // 09 - Nmero do documento fiscal
   RD100->CAMPO10      := M->CHV_CTE              // 10 - Chave do Conhecimento de Transporte Eletrnico
   RD100->CAMPO11      := M->DT_DOC               // 11 - Data de referncia/emisso dos documentos fiscais
   RD100->CAMPO12      := M->DT_A_P               // 12 - Data da aquisio ou da prestao do servio
   RD100->CAMPO13      := M->TP_CT-e              // 13 - Tipo de Conhecimento de Transporte Eletrnico conforme definido no Manual de Integrao do CT-e
   RD100->CAMPO14      := M->CHV_CTE_REF          // 14 - Chave do CT-e de referncia cujos valores foram complementados (opo ?1? do campo anterior) ou cujo
   RD100->CAMPO15      := M->VL_DOC               // 15 - Valor total do documento fiscal
   RD100->CAMPO16      := M->VL_DESC              // 16 - Valor total do desconto
   RD100->CAMPO17      := M->IND_FRT              // 17 - Indicador do tipo do frete:
   RD100->CAMPO18      := M->VL_SERV              // 18 - Valor total da prestao de servio
   RD100->CAMPO19      := M->VL_BC_ICMS           // 19 - Valor da base de clculo do ICMS
   RD100->CAMPO20      := M->VL_ICMS              // 20 - Valor do ICMS
   RD100->CAMPO21      := M->VL_NT                // 21 - Valor no-tributado do ICMS
   RD100->CAMPO22      := M->COD_INF              // 22 - Cdigo da informao complementar do documento fiscal (campo 02 do Registro 0450)
   RD100->CAMPO23      := M->COD_CTA              // 23 - Cdigo da conta analtica contbil debitada/creditada
   RD100->( dbCommit() )
   //
   M->AREAD100 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD100)
   RETURN nil

FUNCTION PISCOSalvaRD101()
   // *** Estrutura do Registro RD101 ***
   RD101->( dbAppend() )
   RD101->CAMPO01      := 'D101' // 01 - Texto fixo contendo "D101?
   RD101->CAMPO02      := M->IND_NAT_FRT          // 02 - Indicador da Natureza do Frete Contratado, referente a:
   RD101->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RD101->CAMPO04      := M->CST_PIS              // 04 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD101->CAMPO05      := M->NAT_BC_CRED          // 05 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   RD101->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RD101->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RD101->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RD101->CAMPO09      := M->COD_CTA              // 09 - Cdigo da conta analtica contbil debitada/creditada
   RD101->( dbCommit() )
   //
   M->AREAD101 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D101'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD101)
   RETURN nil

FUNCTION PISCOSalvaRD105()
   // *** Estrutura do Registro RD105 ***
   RD105->( dbAppend() )
   RD105->CAMPO01      := 'D105' // 01 - Texto fixo contendo "D105?
   RD105->CAMPO02      := M->IND_NAT_FRT          // 02 - Indicador da Natureza do Frete Contratado, referente a:
   RD105->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RD105->CAMPO04      := M->CST_COFINS           // 04 - Cdigo da Situao Tributria referente a COFINS
   RD105->CAMPO05      := M->NAT_BC_CRED          // 05 - Cdigo da base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7
   RD105->CAMPO06      := M->VL_BC_COFINS         // 06 - Valor da base de clculo da COFINS
   RD105->CAMPO07      := M->ALIQ_COFINS          // 07 - Alquota da COFINS (em percentual)
   RD105->CAMPO08      := M->VL_COFINS            // 08 - Valor da COFINS
   RD105->CAMPO09      := M->COD_CTA              // 09 - Cdigo da conta analtica contbil debitada/creditada
   RD105->( dbCommit() )
   //
   M->AREAD105 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D105'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD105)
   RETURN nil

FUNCTION PISCOSalvaRD111()
   // *** Estrutura do Registro RD111 ***
   RD111->( dbAppend() )
   RD111->CAMPO01      := 'D111' // 01 - Texto fixo contendo "D111"
   RD111->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD111->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD111->( dbCommit() )
   //
   M->AREAD111 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D111'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD111)
   RETURN nil

FUNCTION PISCOSalvaRD200()
   // *** Estrutura do Registro RD200 ***
   RD200->( dbAppend() )
   RD200->CAMPO01      := 'D200' // 01 - Texto fixo contendo "D200"
   RD200->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RD200->CAMPO03      := M->COD_SIT              // 03 - Cdigo da situao do documento fiscal, conforme a Tabela 4.1.2
   RD200->CAMPO04      := M->SER                  // 04 - Srie do documento fiscal
   RD200->CAMPO05      := M->SUB                  // 05 - Subsrie do documento fiscal
   RD200->CAMPO06      := M->NUM_DOC_INI          // 06 - Nmero do documento fiscal inicial emitido no perodo (mesmo modelo, srie e subsrie).
   RD200->CAMPO07      := M->NUM_DOC_FIN          // 07 - Nmero do documento fiscal final emitido no perodo (mesmo modelo, srie e subsrie).
   RD200->CAMPO08      := M->CFOP                 // 08 - Cdigo Fiscal de Operao e Prestao conforme tabela indicada no item 4.2.2
   RD200->CAMPO09      := M->DT_REF               // 09 - Data do dia de referncia do resumo dirio
   RD200->CAMPO10      := M->VL_DOC               // 10 - Valor total dos documentos fiscais
   RD200->CAMPO11      := M->VL_DESC              // 11 - Valor total dos descontos
   RD200->( dbCommit() )
   //
   M->AREAD200 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD200)
   RETURN nil

FUNCTION PISCOSalvaRD201()
   // *** Estrutura do Registro RD201 ***
   RD201->( dbAppend() )
   RD201->CAMPO01      := 'D201' // 01 - Texto fixo contendo "D201"
   RD201->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD201->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RD201->CAMPO04      := M->VL_BC_PIS            // 04 - Valor da base de clculo do PIS/PASEP
   RD201->CAMPO05      := M->ALIQ_PIS             // 05 - Alquota do PIS/PASEP (em percentual)
   RD201->CAMPO06      := M->VL_PIS               // 06 - Valor do PIS/PASEP
   RD201->CAMPO07      := M->COD_CTA              // 07 - Cdigo da conta analtica contbil debitada/creditada
   RD201->( dbCommit() )
   //
   M->AREAD201 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D201'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD201)
   RETURN nil

FUNCTION PISCOSalvaRD205()
   // *** Estrutura do Registro RD205 ***
   RD205->( dbAppend() )
   RD205->CAMPO01      := 'D205' // 01 - Texto fixo contendo "D205"
   RD205->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS.
   RD205->CAMPO03      := M->VL_ITEM              // 03 - Valor total dos itens
   RD205->CAMPO04      := M->VL_BC_COFINS         // 04 - Valor da base de clculo da COFINS
   RD205->CAMPO05      := M->ALIQ_COFINS          // 05 - Alquota da COFINS (em percentual)
   RD205->CAMPO06      := M->VL_COFINS            // 06 - Valor da COFINS
   RD205->CAMPO07      := M->COD_CTA              // 07 - Cdigo da conta analtica contbil debitada/creditada
   RD205->( dbCommit() )
   //
   M->AREAD205 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D205'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD205)
   RETURN nil

FUNCTION PISCOSalvaRD209()
   // *** Estrutura do Registro RD209 ***
   RD209->( dbAppend() )
   RD209->CAMPO01      := 'D209' // 01 - Texto fixo contendo "D209"
   RD209->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD209->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD209->( dbCommit() )
   //
   M->AREAD209 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D209'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD209)
   RETURN nil

FUNCTION PISCOSalvaRD300()
   // *** Estrutura do Registro RD300 ***
   RD300->( dbAppend() )
   RD300->CAMPO01      := 'D300' // 01 - Texto fixo contendo "D300"
   RD300->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   RD300->CAMPO03      := M->SER                  // 03 - Srie do documento fiscal
   RD300->CAMPO04      := M->SUB                  // 04 - Subsrie do documento fiscal
   RD300->CAMPO05      := M->NUM_DOC_INI          // 05 - Nmero do primeiro documento fiscal emitido no perodo (mesmo modelo, srie e subsrie)
   RD300->CAMPO06      := M->NUM_DOC_FIN          // 06 - Nmero do ltimo documento fiscal emitido no perodo (mesmo modelo, srie e subsrie)
   RD300->CAMPO07      := M->CFOP                 // 07 - Cdigo Fiscal de Operao e Prestao conforme tabela indicada no item 4.2.2
   RD300->CAMPO08      := M->DT_REF               // 08 - Data do dia de referncia do resumo dirio
   RD300->CAMPO09      := M->VL_DOC               // 09 - Valor total dos documentos fiscais emitidos
   RD300->CAMPO10      := M->VL_DESC              // 10 - Valor total dos descontos
   RD300->CAMPO11      := M->CST_PIS              // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD300->CAMPO12      := M->VL_BC_PIS            // 12 - Valor da base de clculo do PIS/PASEP
   RD300->CAMPO13      := M->ALIQ_PIS             // 13 - Alquota do PIS/PASEP (em percentual)
   RD300->CAMPO14      := M->VL_PIS               // 14 - Valor do PIS/PASEP
   RD300->CAMPO15      := M->CST_COFINS           // 15 - Cdigo da Situao Tributria referente a COFINS
   RD300->CAMPO16      := M->VL_BC_COFINS         // 16 - Valor da base de clculo da COFINS
   RD300->CAMPO17      := M->ALIQ_COFINS          // 17 - Alquota da COFINS (em percentual)
   RD300->CAMPO18      := M->VL_COFINS            // 18 - Valor da COFINS
   RD300->CAMPO19      := M->COD_CTA              // 19 - Cdigo da conta analtica contbil debitada/creditada
   RD300->( dbCommit() )
   //
   M->AREAD300 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D300'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD300)
   RETURN nil

FUNCTION PISCOSalvaRD309()
   // *** Estrutura do Registro RD309 ***
   RD309->( dbAppend() )
   RD309->CAMPO01      := 'D309' // 01 - Texto fixo contendo "D309"
   RD309->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD309->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD309->( dbCommit() )
   //
   M->AREAD309 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D309'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD309)
   RETURN nil

FUNCTION PISCOSalvaRD350()
   // *** Estrutura do Registro RD350 ***
   RD350->( dbAppend() )
   RD350->CAMPO01      := 'D350' // 01 - Texto fixo contendo "D350"
   RD350->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1
   RD350->CAMPO03      := M->ECF_MOD              // 03 - Modelo do equipamento
   RD350->CAMPO04      := M->ECF_FAB              // 04 - Nmero de srie de fabricao do ECF
   RD350->CAMPO05      := M->DT_DOC               // 05 - Data do movimento a que se refere a Reduo Z
   RD350->CAMPO06      := M->CRO                  // 06 - Posio do Contador de Reincio de Operao
   RD350->CAMPO07      := M->CRZ                  // 07 - Posio do Contador de Reduo Z
   RD350->CAMPO08      := M->NUM_COO_FIN          // 08 - Nmero do Contador de Ordem de Operao do ltimo documento emitido no dia. (Nmero do COO na Redu
   RD350->CAMPO09      := M->GT_FIN               // 09 - Valor do Grande Total final
   RD350->CAMPO10      := M->VL_BRT               // 10 - Valor da venda bruta
   RD350->CAMPO11      := M->CST_PIS              // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD350->CAMPO12      := M->VL_BC_PIS            // 12 - Valor da base de clculo do PIS/PASEP
   RD350->CAMPO13      := M->ALIQ_PIS             // 13 - Alquota do PIS/PASEP (em percentual)
   RD350->CAMPO14      := M->QUANT_BC_PIS         // 14 - Quantidade ? Base de clculo PIS/PASEP
   RD350->CAMPO15      := M->ALIQ_PIS_QUANT       // 15 - Alquota do PIS/PASEP (em reais)
   RD350->CAMPO16      := M->VL_PIS               // 16 - Valor do PIS/PASEP
   RD350->CAMPO17      := M->CST_COFINS           // 17 - Cdigo da Situao Tributria referente a COFINS
   RD350->CAMPO18      := M->VL_BC_COFINS         // 18 - Valor da base de clculo da COFINS
   RD350->CAMPO19      := M->ALIQ_COFINS          // 19 - Alquota da COFINS (em percentual)
   RD350->CAMPO20      := M->QUANT_BC_COFINS      // 20 - Quantidade ? Base de clculo da COFINS
   RD350->CAMPO21      := M->ALIQ_COFINS_QUANT    // 21 - Alquota da COFINS (em reais)
   RD350->CAMPO22      := M->VL_COFINS            // 22 - Valor da COFINS
   RD350->CAMPO23      := M->COD_CTA              // 23 - Cdigo da conta analtica contbil debitada/creditada
   RD350->( dbCommit() )
   //
   M->AREAD350 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D350'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD350)
   RETURN nil

FUNCTION PISCOSalvaRD359()
   // *** Estrutura do Registro RD359 ***
   RD359->( dbAppend() )
   RD359->CAMPO01      := 'D359' // 01 - Texto fixo contendo "D359"
   RD359->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD359->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD359->( dbCommit() )
   //
   M->AREAD359 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D359'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD359)
   RETURN nil

FUNCTION PISCOSalvaRD500()
   // *** Estrutura do Registro RD500 ***
   RD500->( dbAppend() )
   RD500->CAMPO01      := 'D500' // 01 - Texto fixo contendo "D500"
   RD500->CAMPO02      := M->IND_OPER             // 02 - Indicador do tipo de operao:
   RD500->CAMPO03      := M->IND_EMIT             // 03 - Indicador do emitente do documento fiscal:
   RD500->CAMPO04      := M->COD_PART             // 04 - Cdigo do participante prestador do servio (campo 02 do Registro 0150).
   RD500->CAMPO05      := M->COD_MOD              // 05 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   RD500->CAMPO06      := M->COD_SIT              // 06 - digo da situao do documento fiscal, conforme a Tabela 4.1.2.
   RD500->CAMPO07      := M->SER                  // 07 - Srie do documento fiscal
   RD500->CAMPO08      := M->SUB                  // 08 - Subsrie do documento fiscal
   RD500->CAMPO09      := M->NUM_DOC              // 09 - Nmero do documento fiscal
   RD500->CAMPO10      := M->DT_DOC               // 10 - Data da emisso do documento fiscal
   RD500->CAMPO11      := M->DT_A_P               // 11 - Data da entrada (aquisio)
   RD500->CAMPO12      := M->VL_DOC               // 12 - Valor total do documento fiscal
   RD500->CAMPO13      := M->VL_DESC              // 13 - Valor total do desconto
   RD500->CAMPO14      := M->VL_SERV              // 14 - Valor da prestao de servios
   RD500->CAMPO15      := M->VL_SERV_NT           // 15 - Valor total dos servios no-tributados pelo ICMS
   RD500->CAMPO16      := M->VL_TERC              // 16 - Valores cobrados em nome de terceiros
   RD500->CAMPO17      := M->VL_DA                // 17 - Valor de outras despesas indicadas no documento fiscal
   RD500->CAMPO18      := M->VL_BC_ICMS           // 18 - Valor da base de clculo do ICMS
   RD500->CAMPO19      := M->VL_ICMS              // 19 - Valor do ICMS
   RD500->CAMPO20      := M->COD_INF              // 20 - Cdigo da informao complementar (campo 02 do Registro 0450)
   RD500->CAMPO21      := M->VL_PIS               // 21 - Valor do PIS/PASEP
   RD500->CAMPO22      := M->VL_COFINS            // 22 - Valor da COFINS
   RD500->( dbCommit() )
   //
   M->AREAD500 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD500)
   RETURN nil

FUNCTION PISCOSalvaRD501()
   // *** Estrutura do Registro RD501 ***
   RD501->( dbAppend() )
   RD501->CAMPO01      := 'D501' // 01 - Texto fixo contendo "D501?
   RD501->CAMPO02      := M->CST_PIS              // 02 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD501->CAMPO03      := M->VL_ITEM              // 03 - Valor Total dos Itens (Servios)
   RD501->CAMPO04      := M->NAT_BC_CRED          // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   RD501->CAMPO05      := M->VL_BC_PIS            // 05 - Valor da base de clculo do PIS/PASEP
   RD501->CAMPO06      := M->ALIQ_PIS             // 06 - Alquota do PIS/PASEP (em percentual)
   RD501->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RD501->CAMPO08      := M->COD_CTA              // 08 - Cdigo da conta analtica contbil debitada/creditada
   RD501->( dbCommit() )
   //
   M->AREAD501 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D501'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD501)
   RETURN nil

FUNCTION PISCOSalvaRD505()
   // *** Estrutura do Registro RD505 ***
   RD505->( dbAppend() )
   RD505->CAMPO01      := 'D505' // 01 - Texto fixo contendo "D505?
   RD505->CAMPO02      := M->CST_COFINS           // 02 - Cdigo da Situao Tributria referente a COFINS
   RD505->CAMPO03      := M->VL_ITEM              // 03 - Valor Total dos Itens
   RD505->CAMPO04      := M->NAT_BC_CRED          // 04 - Cdigo da Base de Clculo do Crdito, conforme a Tabela indicada no item 4.3.7.
   RD505->CAMPO05      := M->VL_BC_COFINS         // 05 - Valor da base de clculo da COFINS
   RD505->CAMPO06      := M->ALIQ_COFINS          // 06 - Alquota da COFINS (em percentual)
   RD505->CAMPO07      := M->VL_COFINS            // 07 - Valor da COFINS
   RD505->CAMPO08      := M->COD_CTA              // 08 - Cdigo da conta analtica contbil debitada/creditada
   RD505->( dbCommit() )
   //
   M->AREAD505 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D505'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD505)
   RETURN nil

FUNCTION PISCOSalvaRD509()
   // *** Estrutura do Registro RD509 ***
   RD509->( dbAppend() )
   RD509->CAMPO01      := 'D509' // 01 - Texto fixo contendo "D509"
   RD509->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD509->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD509->( dbCommit() )
   //
   M->AREAD509 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D509'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD509)
   RETURN nil

FUNCTION PISCOSalvaRD600()
   // *** Estrutura do Registro RD600 ***
   RD600->( dbAppend() )
   RD600->CAMPO01      := 'D600' // 01 - Texto fixo contendo "D600"
   RD600->CAMPO02      := M->COD_MOD              // 02 - Cdigo do modelo do documento fiscal, conforme a Tabela 4.1.1.
   RD600->CAMPO03      := M->COD_MUN              // 03 - Cdigo do municpio dos terminais faturados, conforme a tabela IBGE
   RD600->CAMPO04      := M->SER                  // 04 - Srie do documento fiscal
   RD600->CAMPO05      := M->SUB                  // 05 - Subsrie do documento fiscal
   RD600->CAMPO06      := M->IND_REC              // 06 - Indicador do tipo de receita:
   RD600->CAMPO07      := M->QTD_CONS             // 07 - Quantidade de documentos consolidados neste registro
   RD600->CAMPO08      := M->DT_DOC_INI           // 08 - Data Inicial dos documentos consolidados no perodo
   RD600->CAMPO09      := M->DT_DOC_FIN           // 09 - Data Final dos documentos consolidados no perodo
   RD600->CAMPO10      := M->VL_DOC               // 10 - Valor total acumulado dos documentos fiscais
   RD600->CAMPO11      := M->VL_DESC              // 11 - Valor acumulado dos descontos
   RD600->CAMPO12      := M->VL_SERV              // 12 - Valor acumulado das prestaes de servios tributados pelo ICMS
   RD600->CAMPO13      := M->VL_SERV_NT           // 13 - Valor acumulado dos servios no-tributados pelo ICMS
   RD600->CAMPO14      := M->VL_TERC              // 14 - Valores cobrados em nome de terceiros
   RD600->CAMPO15      := M->VL_DA                // 15 - Valor acumulado das despesas acessrias
   RD600->CAMPO16      := M->VL_BC_ICMS           // 16 - Valor acumulado da base de clculo do ICMS
   RD600->CAMPO17      := M->VL_ICMS              // 17 - Valor acumulado do ICMS
   RD600->CAMPO18      := M->VL_PIS               // 18 - Valor do PIS/PASEP
   RD600->CAMPO19      := M->VL_COFINS            // 19 - Valor da COFINS
   RD600->( dbCommit() )
   //
   M->AREAD600 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD600)
   RETURN nil

FUNCTION PISCOSalvaRD601()
   // *** Estrutura do Registro RD601 ***
   RD601->( dbAppend() )
   RD601->CAMPO01      := 'D601' // 01 - Texto fixo contendo "D601?
   RD601->CAMPO02      := M->COD_CLASS            // 02 - Cdigo de classificao do item do servio de comunicao ou de telecomunicao, conforme a Tabela 4
   RD601->CAMPO03      := M->VL_ITEM              // 03 - Valor acumulado do item
   RD601->CAMPO04      := M->VL_DESC              // 04 - Valor acumulado dos descontos/excluses da base de clculo
   RD601->CAMPO05      := M->CST_PIS              // 05 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RD601->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RD601->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RD601->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RD601->CAMPO09      := M->COD_CTA              // 09 - Cdigo da conta contbil debitada/creditada
   RD601->( dbCommit() )
   //
   M->AREAD601 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D601'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD601)
   RETURN nil

FUNCTION PISCOSalvaRD605()
   // *** Estrutura do Registro RD605 ***
   RD605->( dbAppend() )
   RD605->CAMPO01      := 'D605' // 01 - Texto fixo contendo "D605?
   RD605->CAMPO02      := M->COD_CLASS            // 02 - Cdigo de classificao do item do servio de comunicao ou de telecomunicao, conforme a Tabela 4
   RD605->CAMPO03      := M->VL_ITEM              // 03 - Valor acumulado do item
   RD605->CAMPO04      := M->VL_DESC              // 04 - Valor acumulado dos descontos/excluses da base de clculo
   RD605->CAMPO05      := M->CST_COFINS           // 05 - Cdigo da Situao Tributria referente a COFINS
   RD605->CAMPO06      := M->VL_BC_COFINS         // 06 - Valor da base de clculo da COFINS
   RD605->CAMPO07      := M->ALIQ_COFINS          // 07 - Alquota da COFINS (em percentual)
   RD605->CAMPO08      := M->VL_COFINS            // 08 - Valor da COFINS
   RD605->CAMPO09      := M->COD_CTA              // 09 - Cdigo da conta contbil debitada/creditada
   RD605->( dbCommit() )
   //
   M->AREAD605 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D605'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD605)
   RETURN nil

FUNCTION PISCOSalvaRD609()
   // *** Estrutura do Registro RD609 ***
   RD609->( dbAppend() )
   RD609->CAMPO01      := 'D609' // 01 - Texto fixo contendo "D609"
   RD609->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RD609->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RD609->( dbCommit() )
   //
   M->AREAD609 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RD990')
   PISCOSalvaRD990()
   M->REG_BLC := 'D609'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD609)
   RETURN nil

FUNCTION PISCOSalvaRD990()
   // *** Estrutura do Registro RD990 ***
   if recco() = 0
      M->QTD_LIN_D := '1'
      RD990->( dbAppend() )
   else
      M->QTD_LIN_D := alltrim(str(val(RD990->CAMPO02) + 1,6))
      RD990->( dbRLock() )
   endif
   RD990->CAMPO01      := 'D990' // 01 - Texto fixo contendo "D990"
   RD990->CAMPO02      := M->QTD_LIN_D            // 02 - Quantidade total de linhas do Bloco D
   RD990->( dbCommit() )
   //
   M->AREAD990 := Select()
   M->QTD_LIN_D := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'D990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAD990)
   RETURN nil

FUNCTION PISCOSalvaRF001()
   // *** Estrutura do Registro RF001 ***
   RF001->( dbAppend() )
   RF001->CAMPO01      := 'F001' // 01 - Texto fixo contendo "F001"
   RF001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RF001->( dbCommit() )
   //
   M->AREAF001 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF001)
   RETURN nil

FUNCTION PISCOSalvaRF010()
   // *** Estrutura do Registro RF010 ***
   RF010->( dbAppend() )
   RF010->CAMPO01      := 'F010' // 01 - Texto fixo contendo ?F010?.
   RF010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   RF010->( dbCommit() )
   //
   M->AREAF010 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF010)
   RETURN nil

FUNCTION PISCOSalvaRF100()
   // *** Estrutura do Registro RF100 ***
   RF100->( dbAppend() )
   RF100->CAMPO01      := 'F100' // 01 - Texto fixo contendo "F100"
   RF100->CAMPO02      := M->IND_OPER             // 02 - Indicador do Tipo da Operao:
   RF100->CAMPO03      := M->COD_PART             // 03 - Cdigo do participante (Campo 02 do Registro 0150)
   RF100->CAMPO04      := M->COD_ITEM             // 04 - Cdigo do item (campo 02 do Registro 0200)
   RF100->CAMPO05      := M->DT_OPER              // 05 - Data da Operao (ddmmaaaa)
   RF100->CAMPO06      := M->VL_OPER              // 06 - Valor da Operao/Item
   RF100->CAMPO07      := M->CST_PIS              // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF100->CAMPO08      := M->VL_BC_PIS            // 08 - Base de clculo do PIS/PASEP
   RF100->CAMPO09      := M->ALIQ_PIS             // 09 - Alquota do PIS/PASEP
   RF100->CAMPO10      := M->VL_PIS               // 10 - Valor do PIS/PASEP
   RF100->CAMPO11      := M->CST_COFINS           // 11 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RF100->CAMPO12      := M->VL_BC_COFINS         // 12 - Base de clculo da COFINS
   RF100->CAMPO13      := M->ALIQ_COFINS          // 13 - Alquota da COFINS
   RF100->CAMPO14      := M->VL_COFINS            // 14 - Valor da COFINS
   RF100->CAMPO15      := M->NAT_BC_CRED          // 15 - Cdigo da Base de Clculo dos Crditos, conforme a tabela indicada no item 4.3.7, caso seja informad
   RF100->CAMPO16      := M->IND_ORIG_CRED        // 16 - Indicador da origem do crdito:
   RF100->CAMPO17      := M->COD_CTA              // 17 - Cdigo da conta analtica contbil debitada/creditada
   RF100->CAMPO18      := M->COD_CCUS             // 18 - Cdigo do Centro de Custos
   RF100->CAMPO19      := M->DESC_DOC_OPER        // 19 - Descrio do Documento/Operao
   RF100->( dbCommit() )
   //
   M->AREAF100 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF100)
   RETURN nil

FUNCTION PISCOSalvaRF111()
   // *** Estrutura do Registro RF111 ***
   RF111->( dbAppend() )
   RF111->CAMPO01      := 'F111' // 01 - Texto fixo contendo "F111"
   RF111->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio.
   RF111->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF111->( dbCommit() )
   //
   M->AREAF111 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F111'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF111)
   RETURN nil

FUNCTION PISCOSalvaRF120()
   // *** Estrutura do Registro RF120 ***
   RF120->( dbAppend() )
   RF120->CAMPO01      := 'F120' // 01 - Texto fixo contendo "F120"
   RF120->CAMPO02      := M->NAT_BC_CRED          // 02 - Cdigo da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imobilizado, conforme a Tabela
   RF120->CAMPO03      := M->IDENT_BEM_IMOB       // 03 - Identificao dos Bens/Grupo de Bens Incorporados ao Ativo Imobilizado:
   RF120->CAMPO04      := M->IND_ORIG_CRED        // 04 - Indicador da origem do bem incorporado ao ativo imobilizado, gerador de crdito:
   RF120->CAMPO05      := M->IND_UTIL_BEM_IMOB    // 05 - Indicador da Utilizao dos Bens Incorporados ao Ativo Imobilizado:
   RF120->CAMPO06      := M->VL_OPER_DEP          // 06 - Valor do Encargo de Depreciao/Amortizao Incorrido no Perodo
   RF120->CAMPO07      := M->PARC_OPER_NAO_BC_CRED // 07 - Parcela do Valor do Encargo de Depreciao/Amortizao a excluir da base de clculo de Crdito
   RF120->CAMPO08      := M->CST_PIS              // 08 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF120->CAMPO09      := M->VL_BC_PIS            // 09 - Base de clculo do Crdito de PIS/PASEP no perodo (06 ? 07)
   RF120->CAMPO10      := M->ALIQ_PIS             // 10 - Alquota do PIS/PASEP (em percentual)
   RF120->CAMPO11      := M->VL_PIS               // 11 - Valor do Crdito de PIS/PASEP
   RF120->CAMPO12      := M->CST_COFINS           // 12 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RF120->CAMPO13      := M->VL_BC_COFINS         // 13 - Base de Clculo do Crdito da COFINS no perodo (06 ? 07)
   RF120->CAMPO14      := M->ALIQ_COFINS          // 14 - Alquota da COFINS (em percentual)
   RF120->CAMPO15      := M->VL_COFINS            // 15 - Valor do crdito da COFINS
   RF120->CAMPO16      := M->COD_CTA              // 16 - Cdigo da conta analtica contbil debitada/creditada
   RF120->CAMPO17      := M->COD_CCUS             // 17 - Cdigo do Centro de Custos
   RF120->CAMPO18      := M->DESC_BEM_IMOB        // 18 - Descrio complementar do bem ou grupo de bens, com crdito apurado com base nos encargos de depreci
   RF120->( dbCommit() )
   //
   M->AREAF120 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F120'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF120)
   RETURN nil

FUNCTION PISCOSalvaRF129()
   // *** Estrutura do Registro RF129 ***
   RF129->( dbAppend() )
   RF129->CAMPO01      := 'F129' // 01 - Texto fixo contendo "F129"
   RF129->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio.
   RF129->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF129->( dbCommit() )
   //
   M->AREAF129 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F129'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF129)
   RETURN nil

FUNCTION PISCOSalvaRF130()
   // *** Estrutura do Registro RF130 ***
   RF130->( dbAppend() )
   RF130->CAMPO01      := 'F130' // 01 - Texto fixo contendo "F130"
   RF130->CAMPO02      := M->NAT_BC_CRED          // 02 - Texto fixo contendo "10" (Cdigo da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imob
   RF130->CAMPO03      := M->IDENT_BEM_IMOB       // 03 - Identificao dos Bens/Grupo de Bens Incorporados ao Ativo Imobilizado:
   RF130->CAMPO04      := M->IND_ORIG_CRED        // 04 - Indicador da origem do bem incorporado ao ativo imobilizado, gerador de crdito:
   RF130->CAMPO05      := M->IND_UTIL_BEM_IMOB    // 05 - Indicador da Utilizao dos Bens Incorporados ao Ativo Imobilizado:
   RF130->CAMPO06      := M->MES_OPER_AQUIS       // 06 - Ms/Ano de Aquisio dos Bens Incorporados ao Ativo Imobilizado, com apurao de crdito com base no
   RF130->CAMPO07      := M->VL_OPER_AQUIS        // 07 - Valor de Aquisio dos Bens Incorporados ao Ativo Imobilizado ? Crdito com base no valor de aquisi
   RF130->CAMPO08      := M->PARC_OPER_NAO_BC_CRED // 08 - Parcela do Valor de Aquisio a excluir da base de clculo de Crdito
   RF130->CAMPO09      := M->VL_BC_CRED           // 09 - Valor da Base de Clculo do Crdito sobre Bens Incorporados ao Ativo Imobilizado (07 ? 08)
   RF130->CAMPO10      := M->IND_NR_PARC          // 10 - Indicador do Nmero de Parcelas a serem apropriadas (Crdito sobre Valor de Aquisio):
   RF130->CAMPO11      := M->CST_PIS              // 11 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF130->CAMPO12      := M->VL_BC_PIS            // 12 - Base de clculo Mensal do Crdito de PIS/PASEP, conforme indicador informado no campo 10.
   RF130->CAMPO13      := M->ALIQ_PIS             // 13 - Alquota do PIS/PASEP
   RF130->CAMPO14      := M->VL_PIS               // 14 - Valor do Crdito de PIS/PASEP
   RF130->CAMPO15      := M->CST_COFINS           // 15 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RF130->CAMPO16      := M->VL_BC_COFINS         // 16 - Base de Clculo Mensal do Crdito da COFINS, conforme indicador informado no campo 10.
   RF130->CAMPO17      := M->ALIQ_COFINS          // 17 - Alquota da COFINS
   RF130->CAMPO18      := M->VL_COFINS            // 18 - Valor do crdito da COFINS
   RF130->CAMPO19      := M->COD_CTA              // 19 - Cdigo da conta analtica contbil debitada/creditada
   RF130->CAMPO20      := M->COD_CCUS             // 20 - Cdigo do Centro de Custos
   RF130->CAMPO21      := M->DESC_BEM_IMOB        // 21 - Descrio complementar do bem ou grupo de bens, com crdito apurado com base no valor de aquisio.
   RF130->( dbCommit() )
   //
   M->AREAF130 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F130'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF130)
   RETURN nil

FUNCTION PISCOSalvaRF139()
   // *** Estrutura do Registro RF139 ***
   RF139->( dbAppend() )
   RF139->CAMPO01      := 'F139' // 01 - Texto fixo contendo "F139"
   RF139->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio.
   RF139->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF139->( dbCommit() )
   //
   M->AREAF139 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F139'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF139)
   RETURN nil

FUNCTION PISCOSalvaRF150()
   // *** Estrutura do Registro RF150 ***
   RF150->( dbAppend() )
   RF150->CAMPO01      := 'F150' // 01 - Texto fixo contendo "F150"
   RF150->CAMPO02      := M->NAT_BC_CRED          // 02 - Texto fixo contendo "18"
   RF150->CAMPO03      := M->VL_TOT_EST           // 03 - Valor Total do Estoque de Abertura
   RF150->CAMPO04      := M->EST_IMP              // 04 - Parcela do estoque de abertura referente a bens, produtos e mercadorias importados, ou adquiridas no
   RF150->CAMPO05      := M->VL_BC_EST            // 05 - Valor da Base de Clculo do Crdito sobre o Estoque de Abertura (03 ? 04)
   RF150->CAMPO06      := M->VL_BC_MEN_EST        // 06 - Valor da Base de Clculo Mensal do Crdito sobre o Estoque de Abertura (1/12 avos do campo 05)
   RF150->CAMPO07      := M->CST_PIS              // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF150->CAMPO08      := M->ALIQ_PIS             // 08 - Alquota do PIS/PASEP (em percentual)
   RF150->CAMPO09      := M->VL_CRED_PIS          // 09 - Valor Mensal do Crdito Presumido Apurado para o Perodo -  PIS/PASEP  (06 x 08)
   RF150->CAMPO10      := M->CST_COFINS           // 10 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4
   RF150->CAMPO11      := M->ALIQ_COFINS          // 11 - Alquota do COFINS (em percentual)
   RF150->CAMPO12      := M->VL_CRED_COFINS       // 12 - Valor Mensal do Crdito Presumido Apurado para o Perodo - COFINS (06 x 11)
   RF150->CAMPO13      := M->DESC_EST             // 13 - Descrio do estoque
   RF150->CAMPO14      := M->COD_CTA              // 14 - Cdigo da conta analtica contbil debitada/creditada
   RF150->( dbCommit() )
   //
   M->AREAF150 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F150'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF150)
   RETURN nil

FUNCTION PISCOSalvaRF200()
   // *** Estrutura do Registro RF200 ***
   RF200->( dbAppend() )
   RF200->CAMPO01      := 'F200' // 01 - Texto fixo contendo "F200"
   RF200->CAMPO02      := M->IND_OPER             // 02 - Indicador do Tipo da Operao:
   RF200->CAMPO03      := M->UNID_IMOB            // 03 - Indicador do tipo de unidade imobiliria Vendida:
   RF200->CAMPO04      := M->IDENT_EMP            // 04 - Identificao/Nome do Empreendimento
   RF200->CAMPO05      := M->DESC_UNID_IMOB       // 05 - Descrio resumida da unidade imobiliria vendida
   RF200->CAMPO06      := M->NUM_CONT             // 06 - Nmero do Contrato/Documento que formaliza a Venda da Unidade Imobiliria
   RF200->CAMPO07      := M->CPF_CNPJ_ADQU        // 07 - Identificao da pessoa fsica (CPF) ou da pessoa jurdica (CNPJ) adquirente da unidade imobiliria
   RF200->CAMPO08      := M->DT_OPER              // 08 - Data da operao de venda da unidade imobiliria
   RF200->CAMPO09      := M->VL_TOT_VEND          // 09 - Valor total da unidade imobiliria vendida atualizado at o perodo da escriturao
   RF200->CAMPO10      := M->VL_REC_ACUM          // 10 - Valor recebido acumulado at o ms anterior ao da escriturao.
   RF200->CAMPO11      := M->VL_TOT_REC           // 11 - Valor total recebido no ms da escriturao
   RF200->CAMPO12      := M->CST_PIS              // 12 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF200->CAMPO13      := M->VL_BC_PIS            // 13 - Base de Clculo do PIS/PASEP
   RF200->CAMPO14      := M->ALIQ_PIS             // 14 - Alquota do PIS/PASEP (em percentual)
   RF200->CAMPO15      := M->VL_PIS               // 15 - Valor do PIS/PASEP
   RF200->CAMPO16      := M->CST_COFINS           // 16 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RF200->CAMPO17      := M->VL_BC_COFINS         // 17 - Base de Clculo da COFINS
   RF200->CAMPO18      := M->ALIQ_COFINS          // 18 - Alquota da COFINS (em percentual)
   RF200->CAMPO19      := M->VL_COFINS            // 19 - Valor da COFINS
   RF200->CAMPO20      := M->PERC_REC_RECEB       // 20 - Percentual da receita total recebida at o ms, da unidade imobiliria vendida ((Campo 10 + Campo 11
   RF200->CAMPO21      := M->IND_NAT_EMP          // 21 - Indicador da Natureza Especfica do Empreendimento:
   RF200->CAMPO22      := M->INF_COMP             // 22 - Informaes Complementares
   RF200->( dbCommit() )
   //
   M->AREAF200 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF200)
   RETURN nil

FUNCTION PISCOSalvaRF205()
   // *** Estrutura do Registro RF205 ***
   RF205->( dbAppend() )
   RF205->CAMPO01      := 'F205' // 01 - Texto fixo contendo "F205"
   RF205->CAMPO02      := M->VL_CUS_INC_ACUM_ANT  // 02 - Valor Total do Custo Incorrido da unidade imobiliria acumulado at o ms anterior ao da escritura
   RF205->CAMPO03      := M->VL_CUS_INC_PER_ESC   // 03 - Valor Total do Custo Incorrido da unidade imobiliria no ms da escriturao
   RF205->CAMPO04      := M->VL_CUS_INC_ACUM      // 04 - Valor Total do Custo Incorrido da unidade imobiliria acumulado at o ms da escriturao (Campo 02
   RF205->CAMPO05      := M->VL_EXC_BC_CUS_INC_ACUM // 05 - Parcela do Custo Incorrido sem direito ao crdito da atividade imobiliria, acumulado at o perodo.
   RF205->CAMPO06      := M->VL_BC_CUS_INC        // 06 - Valor da Base de Clculo do Crdito sobre o Custo Incorrido, acumulado at o perodo da escriturao
   RF205->CAMPO07      := M->CST_PIS              // 07 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF205->CAMPO08      := M->ALIQ_PIS             // 08 - Alquota do PIS/PASEP (em percentual)
   RF205->CAMPO09      := M->VL_CRED_PIS_ACUM     // 09 - Valor Total do Crdito Acumulado sobre o custo incorrido ? PIS/PASEP (Campo 06 x 08)
   RF205->CAMPO10      := M->VL_CRED_PIS_DESC_ANT // 10 - Parcela do crdito descontada at o perodo anterior da escriturao ? PIS/PASEP (proporcional  rec
   RF205->CAMPO11      := M->VL_CRED_PIS_DESC     // 11 - Parcela a descontar no perodo da escriturao  ? PIS/PASEP (proporcional  receita recebida no ms)
   RF205->CAMPO12      := M->VL_CRED_PIS_DESC_FUT // 12 - Parcela a descontar em perodos futuros  ? PIS/PASEP (Campo 09 ? 10 ? 11).
   RF205->CAMPO13      := M->CST_COFINS           // 13 - Cdigo da Situao Tributria referente ao COFINS, conforme a Tabela indicada no item 4.3.4.
   RF205->CAMPO14      := M->ALIQ_COFINS          // 14 - Alquota do COFINS (em percentual)
   RF205->CAMPO15      := M->VL_CRED_COFINS_ACUM  // 15 - Valor Total do Crdito Acumulado sobre o custo incorrido - COFINS (Campo 06 x 14)
   RF205->CAMPO16      := M->VL_CRED_COFINS_DESC_ANT // 16 - Parcela do crdito descontada at o perodo anterior da escriturao ? COFINS (proporcional  receit
   RF205->CAMPO17      := M->VL_CRED_COFINS_DESC  // 17 - Parcela a descontar no perodo da escriturao  ? COFINS (proporcional  receita recebida no ms).
   RF205->CAMPO18      := M->VL_CRED_COFINS_DESC_FUT // 18 - Parcela a descontar em perodos futuros  ? COFINS (Campo 15 ? 16 ? 17).
   RF205->( dbCommit() )
   //
   M->AREAF205 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F205'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF205)
   RETURN nil

FUNCTION PISCOSalvaRF210()
   // *** Estrutura do Registro RF210 ***
   RF210->( dbAppend() )
   RF210->CAMPO01      := 'F210' // 01 - Texto fixo contendo "F210"
   RF210->CAMPO02      := M->VL_CUS_ORC           // 02 - Valor Total do Custo Orado para Concluso da Unidade Vendida
   RF210->CAMPO03      := M->VL_EXC               // 03 - Valores Referentes a Pagamentos a Pessoas Fsicas, Encargos Trabalhistas, Sociais e Previdencirios
   RF210->CAMPO04      := M->VL_CUS_ORC_AJU       // 04 - Valor da Base de Calculo do Crdito sobre o Custo Orado Ajustado (Campo 02 ? 03).
   RF210->CAMPO05      := M->VL_BC_CRED           // 05 - Valor da Base de Clculo do Crdito sobre o Custo Orado referente ao ms da escriturao, proporcio
   RF210->CAMPO06      := M->CST_PIS              // 06 - Cdigo da Situao Tributria referente ao PIS/PASEP, conforme a Tabela indicada no item 4.3.3.
   RF210->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RF210->CAMPO08      := M->VL_CRED_PIS_UTIL     // 08 - Valor do Crdito sobre o custo orado a ser utilizado no perodo da escriturao - PIS/PASEP (Campo
   RF210->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria referente a COFINS, conforme a Tabela indicada no item 4.3.4.
   RF210->CAMPO10      := M->ALIQ_COFINS          // 10 - Alquota da COFINS (em percentual)
   RF210->CAMPO11      := M->VL_CRED_COFINS_UTIL  // 11 - Valor do Crdito sobre o custo orado a ser utilizado no perodo da escriturao - COFINS (Campo 05
   RF210->( dbCommit() )
   //
   M->AREAF210 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F210'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF210)
   RETURN nil

FUNCTION PISCOSalvaRF211()
   // *** Estrutura do Registro RF211 ***
   RF211->( dbAppend() )
   RF211->CAMPO01      := 'F211' // 01 - Texto fixo contendo "F211"
   RF211->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio.
   RF211->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF211->( dbCommit() )
   //
   M->AREAF211 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F211'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF211)
   RETURN nil

FUNCTION PISCOSalvaRF500()
   // *** Estrutura do Registro RF500 ***
   RF500->( dbAppend() )
   RF500->CAMPO01      := 'F500' // 01 - Texto fixo contendo "F500"
   RF500->CAMPO02      := M->VL_REC_CAIXA         // 02 - Valor total da receita recebida, referente  combinao de CST e Alquota.
   RF500->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RF500->CAMPO04      := M->VL_DESC_PIS          // 04 - Valor do desconto / excluso da base de clculo
   RF500->CAMPO05      := M->VL_BC_PIS            // 05 - Valor da base de clculo do PIS/PASEP
   RF500->CAMPO06      := M->ALIQ_PIS             // 06 - Alquota do PIS/PASEP (em percentual)
   RF500->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RF500->CAMPO08      := M->CST_COFINS           // 08 - Cdigo da Situao Tributria referente a COFINS
   RF500->CAMPO09      := M->VL_DESC_COFINS       // 09 - Valor do desconto / excluso da base de clculo
   RF500->CAMPO10      := M->VL_BC_COFINS         // 10 - Valor da base de clculo da COFINS
   RF500->CAMPO11      := M->ALIQ_COFINS          // 11 - Alquota da COFINS (em percentual)
   RF500->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RF500->CAMPO13      := M->COD_MOD              // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   RF500->CAMPO14      := M->CFOP                 // 14 - Cdigo fiscal de operao e prestao
   RF500->CAMPO15      := M->COD_CTA              // 15 - Cdigo da conta analtica contbil debitada/creditada
   RF500->CAMPO16      := M->INFO_COMPL           // 16 - Informao complementar
   RF500->( dbCommit() )
   //
   M->AREAF500 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF500)
   RETURN nil

FUNCTION PISCOSalvaRF509()
   // *** Estrutura do Registro RF509 ***
   RF509->( dbAppend() )
   RF509->CAMPO01      := 'F509' // 01 - Texto fixo contendo "F509?
   RF509->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RF509->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF509->( dbCommit() )
   //
   M->AREAF509 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F509'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF509)
   RETURN nil

FUNCTION PISCOSalvaRF510()
   // *** Estrutura do Registro RF510 ***
   RF510->( dbAppend() )
   RF510->CAMPO01      := 'F510' // 01 - Texto fixo contendo "F510"
   RF510->CAMPO02      := M->VL_REC_CAIXA         // 02 - Valor total da receita recebida, referente  combinao de CST e Alquota.
   RF510->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RF510->CAMPO04      := M->VL_DESC_PIS          // 04 - Valor do desconto / excluso
   RF510->CAMPO05      := M->QUANT_BC_PIS         // 05 - Base de clculo em quantidade - PIS/PASEP
   RF510->CAMPO06      := M->ALIQ_PIS_QUANT       // 06 - Alquota do PIS/PASEP (em reais)
   RF510->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RF510->CAMPO08      := M->CST_COFINS           // 08 - Cdigo da Situao Tributria referente a COFINS
   RF510->CAMPO09      := M->VL_DESC_COFINS       // 09 - Valor do desconto / excluso
   RF510->CAMPO10      := M->QUANT_BC_COFINS      // 10 - Base de clculo em quantidade - COFINS
   RF510->CAMPO11      := M->ALIQ_COFINS_QUANT    // 11 - Alquota da COFINS (em reais)
   RF510->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RF510->CAMPO13      := M->COD_MOD              // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   RF510->CAMPO14      := M->CFOP                 // 14 - Cdigo fiscal de operao e prestao
   RF510->CAMPO15      := M->COD_CTA              // 15 - Cdigo da conta analtica contbil debitada/creditada
   RF510->CAMPO16      := M->INFO_COMPL           // 16 - Informao complementar
   RF510->( dbCommit() )
   //
   M->AREAF510 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F510'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF510)
   RETURN nil

FUNCTION PISCOSalvaRF519()
   // *** Estrutura do Registro RF519 ***
   RF519->( dbAppend() )
   RF519->CAMPO01      := 'F519' // 01 - Texto fixo contendo "F519?
   RF519->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RF519->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF519->( dbCommit() )
   //
   M->AREAF519 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F519'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF519)
   RETURN nil

FUNCTION PISCOSalvaRF525()
   // *** Estrutura do Registro RF525 ***
   RF525->( dbAppend() )
   RF525->CAMPO01      := 'F525' // 01 - Texto fixo contendo "F525"
   RF525->CAMPO02      := M->VL_REC               // 02 - Valor total da receita recebida, correspondente ao indicador informado no campo 03 (IND_REC)
   RF525->CAMPO03      := M->IND_REC              // 03 - Indicador da composio da receita recebida no perodo (Campo 02), por:
   RF525->CAMPO04      := M->CNPJ_CPF             // 04 - CNPJ/CPF do participante (cliente/pessoa fsica ou jurdica pagadora) ou da administradora de carte
   RF525->CAMPO05      := M->NUM_DOC              // 05 - Nmero do ttulo de crdito ou do documento fiscal, no caso de detalhamento da receita recebida conf
   RF525->CAMPO06      := M->COD_ITEM             // 06 - Cdigo do item (campo 02 do Registro 0200), no caso de detalhamento da receita recebida por item ven
   RF525->CAMPO07      := M->VL_REC_DET           // 07 - Valor da receita detalhada, correspondente ao contedo informado no campo 04, 05 ou 06.
   RF525->CAMPO08      := M->CST_PIS              // 08 - Cdigo da Situao Tributria do PIS/Pasep
   RF525->CAMPO09      := M->CST_COFINS           // 09 - Cdigo da Situao Tributria da Cofins
   RF525->CAMPO10      := M->INFO_COMPL           // 10 - Informao complementar
   RF525->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil representativa da receita recebida
   RF525->( dbCommit() )
   //
   M->AREAF525 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F525'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF525)
   RETURN nil

FUNCTION PISCOSalvaRF550()
   // *** Estrutura do Registro RF550 ***
   RF550->( dbAppend() )
   RF550->CAMPO01      := 'F550' // 01 - Texto fixo contendo "F550"
   RF550->CAMPO02      := M->VL_REC_COMP          // 02 - Valor total da receita auferida, referente  combinao de CST e Alquota.
   RF550->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RF550->CAMPO04      := M->VL_DESC_PIS          // 04 - Valor do desconto / excluso da base de clculo
   RF550->CAMPO05      := M->VL_BC_PIS            // 05 - Valor da base de clculo do PIS/PASEP
   RF550->CAMPO06      := M->ALIQ_PIS             // 06 - Alquota do PIS/PASEP (em percentual)
   RF550->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RF550->CAMPO08      := M->CST_COFINS           // 08 - Cdigo da Situao Tributria referente a COFINS
   RF550->CAMPO09      := M->VL_DESC_COFINS       // 09 - Valor do desconto / excluso da base de clculo
   RF550->CAMPO10      := M->VL_BC_COFINS         // 10 - Valor da base de clculo da COFINS
   RF550->CAMPO11      := M->ALIQ_COFINS          // 11 - Alquota da COFINS (em percentual)
   RF550->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RF550->CAMPO13      := M->COD_MOD              // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   RF550->CAMPO14      := M->CFOP                 // 14 - Cdigo fiscal de operao e prestao
   RF550->CAMPO15      := M->COD_CTA              // 15 - Cdigo da conta analtica contbil debitada/creditada
   RF550->CAMPO16      := M->INFO_COMPL           // 16 - Informao complementar
   RF550->( dbCommit() )
   //
   M->AREAF550 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F550'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF550)
   RETURN nil

FUNCTION PISCOSalvaRF559()
   // *** Estrutura do Registro RF559 ***
   RF559->( dbAppend() )
   RF559->CAMPO01      := 'F559' // 01 - Texto fixo contendo "F559?
   RF559->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RF559->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF559->( dbCommit() )
   //
   M->AREAF559 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F559'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF559)
   RETURN nil

FUNCTION PISCOSalvaRF560()
   // *** Estrutura do Registro RF560 ***
   RF560->( dbAppend() )
   RF560->CAMPO01      := 'F560' // 01 - Texto fixo contendo "F560"
   RF560->CAMPO02      := M->VL_REC_COMP          // 02 - Valor total da receita auferida, referente  combinao de CST e Alquota.
   RF560->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao PIS/PASEP
   RF560->CAMPO04      := M->VL_DESC_PIS          // 04 - Valor do desconto / excluso
   RF560->CAMPO05      := M->QUANT_BC_PIS         // 05 - Base de clculo em quantidade - PIS/PASEP
   RF560->CAMPO06      := M->ALIQ_PIS_QUANT       // 06 - Alquota do PIS/PASEP (em reais)
   RF560->CAMPO07      := M->VL_PIS               // 07 - Valor do PIS/PASEP
   RF560->CAMPO08      := M->CST_COFINS           // 08 - Cdigo da Situao Tributria referente a COFINS
   RF560->CAMPO09      := M->VL_DESC_COFINS       // 09 - Valor do desconto / excluso
   RF560->CAMPO10      := M->QUANT_BC_COFINS      // 10 - Base de clculo em quantidade - COFINS
   RF560->CAMPO11      := M->ALIQ_COFINS_QUANT    // 11 - Alquota da COFINS (em reais)
   RF560->CAMPO12      := M->VL_COFINS            // 12 - Valor da COFINS
   RF560->CAMPO13      := M->COD_MOD              // 13 - Cdigo do modelo do documento fiscal conforme a Tabela 4.1.1
   RF560->CAMPO14      := M->CFOP                 // 14 - Cdigo fiscal de operao e prestao
   RF560->CAMPO15      := M->COD_CTA              // 15 - Cdigo da conta analtica contbil debitada/creditada
   RF560->CAMPO16      := M->INFO_COMPL           // 16 - Informao complementar
   RF560->( dbCommit() )
   //
   M->AREAF560 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F560'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF560)
   RETURN nil

FUNCTION PISCOSalvaRF569()
   // *** Estrutura do Registro RF569 ***
   RF569->( dbAppend() )
   RF569->CAMPO01      := 'F569' // 01 - Texto fixo contendo "F569?
   RF569->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RF569->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RF569->( dbCommit() )
   //
   M->AREAF569 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F569'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF569)
   RETURN nil

FUNCTION PISCOSalvaRF600()
   // *** Estrutura do Registro RF600 ***
   RF600->( dbAppend() )
   RF600->CAMPO01      := 'F600' // 01 - Texto fixo contendo "F600"
   RF600->CAMPO02      := M->IND_NAT_RET          // 02 - Indicador de Natureza da Reteno na Fonte:
   RF600->CAMPO03      := M->DT_RET               // 03 - Data da Reteno
   RF600->CAMPO04      := M->VL_BC_RET            // 04 - Base de calculo da reteno ou do recolhimento (sociedade cooperativa)
   RF600->CAMPO05      := M->VL_RET               // 05 - Valor Total Retido na Fonte / Recolhido (sociedade cooperativa)
   RF600->CAMPO06      := M->COD_REC              // 06 - Cdigo da Receita
   RF600->CAMPO07      := M->IND_NAT_REC          // 07 - Indicador da Natureza da Receita:
   RF600->CAMPO08      := M->CNPJ                 // 08 - CNPJ referente a:
   RF600->CAMPO09      := M->VL_RET_PIS           // 09 - Valor Retido na Fonte ? Parcela Referente ao PIS/Pasep
   RF600->CAMPO10      := M->VL_RET_COFINS        // 10 - Valor Retido na Fonte ? Parcela Referente a COFINS
   RF600->CAMPO11      := M->IND_DEC              // 11 - Indicador da condio da pessoa jurdica declarante:
   RF600->( dbCommit() )
   //
   M->AREAF600 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF600)
   RETURN nil

FUNCTION PISCOSalvaRF700()
   // *** Estrutura do Registro RF700 ***
   RF700->( dbAppend() )
   RF700->CAMPO01      := 'F700' // 01 - Texto fixo contendo "F700"
   RF700->CAMPO02      := M->IND_ORI_DED          // 02 - Indicador de Origem de Dedues Diversas:
   RF700->CAMPO03      := M->IND_NAT_DED          // 03 - Indicador da Natureza da Deduo:
   RF700->CAMPO04      := M->VL_DED_PIS           // 04 - Valor a Deduzir - PIS/PASEP
   RF700->CAMPO05      := M->VL_DED_COFINS        // 05 - Valor a Deduzir ? Cofins
   RF700->CAMPO06      := M->VL_BC_OPER           // 06 - Valor da Base de Clculo da Operao que ensejou o Valor a Deduzir informado nos Campos 04 e 05
   RF700->CAMPO07      := M->CNPJ                 // 07 - CNPJ da Pessoa Jurdica relacionada  Operao que ensejou o Valor a Deduzir informado nos Campos 04
   RF700->CAMPO08      := M->INF_COMP             // 08 - Informaes Complementares do Documento/Operao que ensejou o Valor a Deduzir informado nos Campos
   RF700->( dbCommit() )
   //
   M->AREAF700 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F700'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF700)
   RETURN nil

FUNCTION PISCOSalvaRF800()
   // *** Estrutura do Registro RF800 ***
   RF800->( dbAppend() )
   RF800->CAMPO01      := 'F800' // 01 - Texto fixo contendo "F800"
   RF800->CAMPO02      := M->IND_NAT_EVEN         // 02 - Indicador da Natureza do Evento de Sucesso:
   RF800->CAMPO03      := M->DT_EVEN              // 03 - Data do Evento
   RF800->CAMPO04      := M->CNPJ_SUCED           // 04 - CNPJ da Pessoa Jurdica Sucedida
   RF800->CAMPO05      := M->PA_CONT_CRED         // 05 - Perodo de Apurao do Crdito ? Ms/Ano (MM/AAAA)
   RF800->CAMPO06      := M->COD_CRED             // 06 - Cdigo do crdito transferido, conforme Tabela 4.3.6
   RF800->CAMPO07      := M->VL_CRED_PIS          // 07 - Valor do Crdito Transferido de PIS/Pasep
   RF800->CAMPO08      := M->VL_CRED_COFINS       // 08 - Valor do Crdito Transferido de Cofins
   RF800->CAMPO09      := M->PER_CRED_CIS         // 09 - Percentual do crdito original transferido, no caso de evento de Ciso.
   RF800->( dbCommit() )
   //
   M->AREAF800 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RF990')
   PISCOSalvaRF990()
   M->REG_BLC := 'F800'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF800)
   RETURN nil

FUNCTION PISCOSalvaRF990()
   // *** Estrutura do Registro RF990 ***
   if recco() = 0
      M->QTD_LIN_F := '1'
      RF990->( dbAppend() )
   else
      M->QTD_LIN_F := alltrim(str(val(RF990->CAMPO02) + 1,6))
      RF990->( dbRLock() )
   endif
   RF990->CAMPO01      := 'F990' // 01 - Texto fixo contendo "F990"
   RF990->CAMPO02      := M->QTD_LIN_F            // 02 - Quantidade total de linhas do Bloco F
   RF990->( dbCommit() )
   //
   M->AREAF990 := Select()
   M->QTD_LIN_F := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'F990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAF990)
   RETURN nil

FUNCTION PISCOSalvaRI001()
   // *** Estrutura do Registro RI001 ***
   RI001->( dbAppend() )
   RI001->CAMPO01      := 'I001' // 01 - Texto fixo contendo "I001"
   RI001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RI001->( dbCommit() )
   //
   M->AREAI001 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI001)
   RETURN nil

FUNCTION PISCOSalvaRI010()
   // *** Estrutura do Registro RI010 ***
   RI010->( dbAppend() )
   RI010->CAMPO01      := 'I010' // 01 - Texto fixo contendo ?I010?
   RI010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio da pessoa jurdica no CNPJ.
   RI010->CAMPO03      := M->IND_ATIV             // 03 - Indicador de operaes realizadas no perodo:
   RI010->CAMPO04      := M->INFO_COMPL           // 04 - Informao Complementar
   RI010->( dbCommit() )
   //
   M->AREAI010 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI010)
   RETURN nil

FUNCTION PISCOSalvaRI100()
   // *** Estrutura do Registro RI100 ***
   RI100->( dbAppend() )
   RI100->CAMPO01      := 'I100' // 01 - Texto fixo contendo "I100"
   RI100->CAMPO02      := M->VL_REC               // 02 - Valor Total do Faturamento/Receita Bruta no Perodo
   RI100->CAMPO03      := M->CST_PIS_COFINS       // 03 - Cdigo de Situao Tributria referente  Receita informada no Campo 02 (Tabelas 4.3.3 e 4.3.4)
   RI100->CAMPO04      := M->VL_TOT_DED_GER       // 04 - Valor Total das Dedues e Excluses de Carter Geral
   RI100->CAMPO05      := M->VL_TOT_DED_ESP       // 05 - Valor Total das Dedues e Excluses de Carter Especfico
   RI100->CAMPO06      := M->VL_BC_PIS            // 06 - Valor da base de clculo do PIS/PASEP
   RI100->CAMPO07      := M->ALIQ_PIS             // 07 - Alquota do PIS/PASEP (em percentual)
   RI100->CAMPO08      := M->VL_PIS               // 08 - Valor do PIS/PASEP
   RI100->CAMPO09      := M->VL_BC_COFINS         // 09 - Valor da base de clculo da Cofins
   RI100->CAMPO10      := M->ALIQ_COFINS          // 10 - Alquota da COFINS (em percentual)
   RI100->CAMPO11      := M->VL_COFINS            // 11 - Valor da COFINS
   RI100->CAMPO12      := M->INFO_COMPL           // 12 - Informao Complementar dos dados informados no registro
   RI100->( dbCommit() )
   //
   M->AREAI100 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI100)
   RETURN nil

FUNCTION PISCOSalvaRI200()
   // *** Estrutura do Registro RI200 ***
   RI200->( dbAppend() )
   RI200->CAMPO01      := 'I200' // 01 - Texto fixo contendo "I200"
   RI200->CAMPO02      := M->NUM_CAMPO            // 02 - Informar o nmero do campo do registro ?I100? (Campos 02, 04 ou 05), objeto de informao neste regi
   RI200->CAMPO03      := M->COD_DET              // 03 - Cdigo do tipo de detalhamento, conforme Tabelas 7.1.1 e/ou 7.1.2
   RI200->CAMPO04      := M->DET_VALOR            // 04 - Valor detalhado referente ao campo 03 (COD_DET) deste registro
   RI200->CAMPO05      := M->COD_CTA              // 05 - Cdigo da conta contbil referente ao valor informado no campo 04 (DET_VALOR)
   RI200->CAMPO06      := M->INFO_COMPL           // 06 - Informao Complementar dos dados informados no registro
   RI200->( dbCommit() )
   //
   M->AREAI200 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI200)
   RETURN nil

FUNCTION PISCOSalvaRI299()
   // *** Estrutura do Registro RI299 ***
   RI299->( dbAppend() )
   RI299->CAMPO01      := 'I299' // 01 - Texto fixo contendo "I299"
   RI299->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RI299->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RI299->( dbCommit() )
   //
   M->AREAI299 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I299'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI299)
   RETURN nil

FUNCTION PISCOSalvaRI300()
   // *** Estrutura do Registro RI300 ***
   RI300->( dbAppend() )
   RI300->CAMPO01      := 'I300' // 01 - Texto fixo contendo "I300"
   RI300->CAMPO02      := M->COD_COMP             // 02 - Cdigo das Tabelas 7.1.3 (Receitas ? Viso Analtica/Referenciada) e/ou 7.1.4 (Dedues e excluses
   RI300->CAMPO03      := M->DET_VALOR            // 03 - Valor da receita, deduo ou excluso, objeto de complemento/detalhamento neste registro, conforme c
   RI300->CAMPO04      := M->COD_CTA              // 04 - Cdigo da conta contbil referente ao valor informado no campo 03
   RI300->CAMPO05      := M->INFO_COMPL           // 05 - Informao Complementar dos dados informados no registro
   RI300->( dbCommit() )
   //
   M->AREAI300 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I300'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI300)
   RETURN nil

FUNCTION PISCOSalvaRI399()
   // *** Estrutura do Registro RI399 ***
   RI399->( dbAppend() )
   RI399->CAMPO01      := 'I399' // 01 - Texto fixo contendo "I399"
   RI399->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RI399->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo:
   RI399->( dbCommit() )
   //
   M->AREAI399 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RI990')
   PISCOSalvaRI990()
   M->REG_BLC := 'I399'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI399)
   RETURN nil

FUNCTION PISCOSalvaRI990()
   // *** Estrutura do Registro RI990 ***
   if recco() = 0
      M->QTD_LIN_I := '1'
      RI990->( dbAppend() )
   else
      M->QTD_LIN_I := alltrim(str(val(RI990->CAMPO02) + 1,6))
      RI990->( dbRLock() )
   endif
   RI990->CAMPO01      := 'I990' // 01 - Texto fixo contendo "I990"
   RI990->CAMPO02      := M->QTD_LIN_I            // 02 - Quantidade total de linhas do Bloco I
   RI990->( dbCommit() )
   //
   M->AREAI990 := Select()
   M->QTD_LIN_I := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'I990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAI990)
   RETURN nil

FUNCTION PISCOSalvaRM001()
   // *** Estrutura do Registro RM001 ***
   RM001->( dbAppend() )
   RM001->CAMPO01      := 'M001' // 01 - Texto fixo contendo "M001"
   RM001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RM001->( dbCommit() )
   //
   M->AREAM001 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM001)
   RETURN nil

FUNCTION PISCOSalvaRM100()
   // *** Estrutura do Registro RM100 ***
   RM100->( dbAppend() )
   RM100->CAMPO01      := 'M100' // 01 - Texto fixo contendo "M100"
   RM100->CAMPO02      := M->COD_CRED             // 02 - Cdigo de Tipo de Crdito apurado no perodo, conforme a Tabela 4.3.6.
   RM100->CAMPO03      := M->IND_CRED_ORI         // 03 - Indicador de Crdito Oriundo de:
   RM100->CAMPO04      := M->VL_BC_PIS            // 04 - Valor da Base de Clculo do Crdito
   RM100->CAMPO05      := M->ALIQ_PIS             // 05 - Alquota do PIS/PASEP (em percentual)
   RM100->CAMPO06      := M->QUANT_BC_PIS         // 06 - Quantidade ? Base de clculo PIS
   RM100->CAMPO07      := M->ALIQ_PIS_QUANT       // 07 - Alquota do PIS (em reais)
   RM100->CAMPO08      := M->VL_CRED              // 08 - Valor total do crdito apurado no perodo
   RM100->CAMPO09      := M->VL_AJUS_ACRES        // 09 - Valor total dos ajustes de acrscimo
   RM100->CAMPO10      := M->VL_AJUS_REDUC        // 10 - Valor total dos ajustes de reduo
   RM100->CAMPO11      := M->VL_CRED_DIF          // 11 - Valor total do crdito diferido no perodo
   RM100->CAMPO12      := M->VL_CRED_DISP         // 12 - Valor Total do Crdito Disponvel relativo ao Perodo (08 + 09 ? 10 ? 11)
   RM100->CAMPO13      := M->IND_DESC_CRED        // 13 - Indicador de opo de utilizao do crdito disponvel no perodo:
   RM100->CAMPO14      := M->VL_CRED_DESC         // 14 - Valor do Crdito disponvel, descontado  da contribuio apurada no prprio perodo.
   RM100->CAMPO15      := M->SLD_CRED             // 15 - Saldo de crditos a utilizar em perodos futuros (12 ? 14)
   RM100->( dbCommit() )
   //
   M->AREAM100 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM100)
   RETURN nil

FUNCTION PISCOSalvaRM105()
   // *** Estrutura do Registro RM105 ***
   RM105->( dbAppend() )
   RM105->CAMPO01      := 'M105' // 01 - Texto fixo contendo "M105"
   RM105->CAMPO02      := M->NAT_BC_CRED          // 02 - Cdigo da Base de Clculo do Crdito apurado no perodo, conforme a Tabela 4.3.7.
   RM105->CAMPO03      := M->CST_PIS              // 03 - Cdigo da Situao Tributria referente ao crdito de PIS/Pasep (Tabela 4.3.3) vinculado ao tipo de
   RM105->CAMPO04      := M->VL_BC_PIS_TOT        // 04 - Valor Total da Base de Clculo escriturada nos documentos e operaes (Blocos ?A?, ?C?, ?D? e ?F?),
   RM105->CAMPO05      := M->VL_BC_PIS_CUM        // 05 - Parcela do Valor Total da Base de Clculo informada no Campo 04, vinculada a receitas com incidncia
   RM105->CAMPO06      := M->VL_BC_PIS_NC         // 06 - Valor Total da Base de Clculo do Crdito, vinculada a receitas com incidncia no-cumulativa (Campo
   RM105->CAMPO07      := M->VL_BC_PIS            // 07 - Valor da Base de Clculo do Crdito, vinculada ao tipo de Crdito escriturado em M100.
   RM105->CAMPO08      := M->QUANT_BC_PIS_TOT     // 08 - Quantidade Total da Base de Clculo do Crdito apurado em Unidade de Medida de Produto, escriturada
   RM105->CAMPO09      := M->QUANT_BC_PIS         // 09 - Parcela da base de clculo do crdito em quantidade (campo 08) vinculada ao tipo de crdito escritur
   RM105->CAMPO10      := M->DESC_CRED            // 10 - Descrio do crdito
   RM105->( dbCommit() )
   //
   M->AREAM105 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M105'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM105)
   RETURN nil

FUNCTION PISCOSalvaRM110()
   // *** Estrutura do Registro RM110 ***
   RM110->( dbAppend() )
   RM110->CAMPO01      := 'M110' // 01 - Texto fixo contendo "M110"
   RM110->CAMPO02      := M->IND_AJ               // 02 - Indicador do tipo de ajuste:
   RM110->CAMPO03      := M->VL_AJ                // 03 - Valor do ajuste
   RM110->CAMPO04      := M->COD_AJ               // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   RM110->CAMPO05      := M->NUM_DOC              // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   RM110->CAMPO06      := M->DESCR_AJ             // 06 - Descrio resumida do ajuste.
   RM110->CAMPO07      := M->DT_REF               // 07 - Data de referncia do ajuste (ddmmaaaa)
   RM110->( dbCommit() )
   //
   M->AREAM110 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M110'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM110)
   RETURN nil

FUNCTION PISCOSalvaRM200()
   // *** Estrutura do Registro RM200 ***
   RM200->( dbAppend() )
   RM200->CAMPO01      := 'M200' // 01 - Texto fixo contendo "M200"
   RM200->CAMPO02      := M->VL_TOT_CONT_NC_PER   // 02 - Valor Total da Contribuio No Cumulativa do Perodo (recuperado do campo 13 do Registro M210, quan
   RM200->CAMPO03      := M->VL_TOT_CRED_DESC     // 03 - Valor do Crdito Descontado, Apurado no Prprio Perodo da Escriturao (recuperado do campo 14 do R
   RM200->CAMPO04      := M->VL_TOT_CRED_DESC_ANT // 04 - Valor do Crdito Descontado, Apurado em Perodo de Apurao Anterior (recuperado do campo 13 do Regi
   RM200->CAMPO05      := M->VL_TOT_CONT_NC_DEV   // 05 - Valor Total da Contribuio No Cumulativa Devida (02 ? 03 - 04)
   RM200->CAMPO06      := M->VL_RET_NC            // 06 - Valor Retido na Fonte Deduzido no Perodo
   RM200->CAMPO07      := M->VL_OUT_DED_NC        // 07 - Outras Dedues no Perodo
   RM200->CAMPO08      := M->VL_CONT_NC_REC       // 08 - Valor da Contribuio No Cumulativa a Recolher/Pagar (05 ? 06 - 07)
   RM200->CAMPO09      := M->VL_TOT_CONT_CUM_PER  // 09 - Valor Total da Contribuio Cumulativa do Perodo  (recuperado do campo 13 do Registro M210, quando
   RM200->CAMPO10      := M->VL_RET_CUM           // 10 - Valor Retido na Fonte Deduzido no Perodo
   RM200->CAMPO11      := M->VL_OUT_DED_CUM       // 11 - Outras Dedues no Perodo
   RM200->CAMPO12      := M->VL_CONT_CUM_REC      // 12 - Valor da Contribuio Cumulativa a Recolher/Pagar (09 - 10 ? 11)
   RM200->CAMPO13      := M->VL_TOT_CONT_REC      // 13 - Valor Total da Contribuio a Recolher/Pagar no Perodo (08 + 12)
   RM200->( dbCommit() )
   //
   M->AREAM200 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM200)
   RETURN nil

FUNCTION PISCOSalvaRM210()
   // *** Estrutura do Registro RM210 ***
   RM210->( dbAppend() )
   RM210->CAMPO01      := 'M210' // 01 - Texto fixo contendo "M210"
   RM210->CAMPO02      := M->COD_CONT             // 02 - Cdigo da contribuio social apurada no perodo, conforme a Tabela 4.3.5.
   RM210->CAMPO03      := M->VL_REC_BRT           // 03 - Valor da Receita Bruta
   RM210->CAMPO04      := M->VL_BC_CONT           // 04 - Valor da Base de Clculo da Contribuio
   RM210->CAMPO05      := M->ALIQ_PIS             // 05 - Alquota do PIS/PASEP (em percentual)
   RM210->CAMPO06      := M->QUANT_BC_PIS         // 06 - Quantidade ? Base de clculo PIS
   RM210->CAMPO07      := M->ALIQ_PIS_QUANT       // 07 - Alquota do PIS (em reais)
   RM210->CAMPO08      := M->VL_CONT_APUR         // 08 - Valor total da contribuio social apurada
   RM210->CAMPO09      := M->VL_AJUS_ACRES        // 09 - Valor total dos ajustes de acrscimo
   RM210->CAMPO10      := M->VL_AJUS_REDUC        // 10 - Valor total dos ajustes de reduo
   RM210->CAMPO11      := M->VL_CONT_DIFER        // 11 - Valor da contribuio a diferir no perodo
   RM210->CAMPO12      := M->VL_CONT_DIFER_ANT    // 12 - Valor da contribuio diferida em perodos anteriores
   RM210->CAMPO13      := M->VL_CONT_PER          // 13 - Valor Total da Contribuio do Perodo (08 + 09 ? 10 ? 11+12)
   RM210->( dbCommit() )
   //
   M->AREAM210 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M210'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM210)
   RETURN nil

FUNCTION PISCOSalvaRM211()
   // *** Estrutura do Registro RM211 ***
   RM211->( dbAppend() )
   RM211->CAMPO01      := 'M211' // 01 - Texto fixo contendo "M211"
   RM211->CAMPO02      := M->IND_TIP_COOP         // 02 - Indicador do Tipo de Sociedade Cooperativa:
   RM211->CAMPO03      := M->VL_BC_CONT_ANT_EXC_COOP // 03 - Valor da Base de Clculo da Contribuio, conforme Registros escriturados nos Blocos A, C, D e F, an
   RM211->CAMPO04      := M->VL_EXC_COOP_GER      // 04 - Valor de Excluso Especifica das Cooperativas em Geral, decorrente das Sobras Apuradas na DRE, desti
   RM211->CAMPO05      := M->VL_EXC_ESP_COOP      // 05 - Valor das Excluses da Base de Clculo Especifica do Tipo da Sociedade Cooperativa, conforme Campo 0
   RM211->CAMPO06      := M->VL_BC_CONT           // 06 - Valor da Base de Clculo, Aps as Excluses Especificas da Sociedade Cooperativa (04 ? 05 ? 06) ? Tr
   RM211->( dbCommit() )
   //
   M->AREAM211 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M211'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM211)
   RETURN nil

FUNCTION PISCOSalvaRM220()
   // *** Estrutura do Registro RM220 ***
   RM220->( dbAppend() )
   RM220->CAMPO01      := 'M220' // 01 - Texto fixo contendo "M220"
   RM220->CAMPO02      := M->IND_AJ               // 02 - Indicador do tipo de ajuste:
   RM220->CAMPO03      := M->VL_AJ                // 03 - Valor do ajuste
   RM220->CAMPO04      := M->COD_AJ               // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   RM220->CAMPO05      := M->NUM_DOC              // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   RM220->CAMPO06      := M->DESCR_AJ             // 06 - Descrio resumida do ajuste.
   RM220->CAMPO07      := M->DT_REF               // 07 - Data de referncia do ajuste (ddmmaaaa)
   RM220->( dbCommit() )
   //
   M->AREAM220 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M220'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM220)
   RETURN nil

FUNCTION PISCOSalvaRM230()
   // *** Estrutura do Registro RM230 ***
   RM230->( dbAppend() )
   RM230->CAMPO01      := 'M230' // 01 - Texto fixo contendo "M230"
   RM230->CAMPO02      := M->CNPJ                 // 02 - CNPJ da pessoa jurdica de direito pblico, empresa pblica, sociedade de economia mista ou suas sub
   RM230->CAMPO03      := M->VL_VEND              // 03 - Valor Total das vendas no perodo
   RM230->CAMPO04      := M->VL_NAO_RECEB         // 04 - Valor Total no recebido no perodo
   RM230->CAMPO05      := M->VL_CONT_DIF          // 05 - Valor da Contribuio diferida no perodo
   RM230->CAMPO06      := M->VL_CRED_DIF          // 06 - Valor do Crdito diferido no perodo
   RM230->CAMPO07      := M->COD_CRED             // 07 - Cdigo de Tipo de Crdito diferido no perodo, conforme a Tabela 4.3.6.
   RM230->( dbCommit() )
   //
   M->AREAM230 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M230'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM230)
   RETURN nil

FUNCTION PISCOSalvaRM300()
   // *** Estrutura do Registro RM300 ***
   RM300->( dbAppend() )
   RM300->CAMPO01      := 'M300' // 01 - Texto fixo contendo "M300"
   RM300->CAMPO02      := M->COD_CONT             // 02 - Cdigo da contribuio social diferida em perodos anteriores, conforme a Tabela 4.3.5.
   RM300->CAMPO03      := M->VL_CONT_APUR_DIFER   // 03 - Valor da Contribuio Apurada, diferida em perodos anteriores.
   RM300->CAMPO04      := M->NAT_CRED_DESC        // 04 - Natureza do Crdito Diferido, vinculado  receita tributada no mercado interno, a descontar:
   RM300->CAMPO05      := M->VL_CRED_DESC_DIFER   // 05 - Valor do Crdito a Descontar vinculado  contribuio diferida.
   RM300->CAMPO06      := M->VL_CONT_DIFER_ANT    // 06 - Valor da Contribuio a Recolher, diferida em perodos anteriores (Campo 03 ? Campo 05)
   RM300->CAMPO07      := M->PER_APUR             // 07 - Perodo de apurao da contribuio social e dos crditos diferidos (MMAAAA)
   RM300->CAMPO08      := M->DT_RECEB             // 08 - Data de recebimento da receita, objeto de diferimento
   RM300->( dbCommit() )
   //
   M->AREAM300 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M300'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM300)
   RETURN nil

FUNCTION PISCOSalvaRM350()
   // *** Estrutura do Registro RM350 ***
   RM350->( dbAppend() )
   RM350->CAMPO01      := 'M350' // 01 - Texto fixo contendo "M350"
   RM350->CAMPO02      := M->VL_TOT_FOL           // 02 - Valor Total da Folha de Salrios
   RM350->CAMPO03      := M->VL_EXC_BC            // 03 - Valor Total das Excluses  Base de Clculo
   RM350->CAMPO04      := M->VL_TOT_BC            // 04 - Valor Total da Base de Clculo
   RM350->CAMPO05      := M->ALIQ_PIS_FOL         // 05 - Alquota do PIS/PASEP ? Folha de Salrios
   RM350->CAMPO06      := M->VL_TOT_CONT_FOL      // 06 - Valor Total da Contribuio Social sobre a Folha de Salrios
   RM350->( dbCommit() )
   //
   M->AREAM350 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M350'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM350)
   RETURN nil

FUNCTION PISCOSalvaRM400()
   // *** Estrutura do Registro RM400 ***
   RM400->( dbAppend() )
   RM400->CAMPO01      := 'M400' // 01 - Texto fixo contendo "M400?
   RM400->CAMPO02      := M->CST_PIS              // 02 - Cdigo de Situao Tributria ? CST das demais receitas auferidas no perodo, sem incidncia da cont
   RM400->CAMPO03      := M->VL_TOT_REC           // 03 - Valor total da receita bruta no perodo.
   RM400->CAMPO04      := M->COD_CTA              // 04 - Cdigo da conta analtica contbil debitada/creditada.
   RM400->CAMPO05      := M->DESC_COMPL           // 05 - Descrio Complementar da Natureza da Receita.
   RM400->( dbCommit() )
   //
   M->AREAM400 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M400'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM400)
   RETURN nil

FUNCTION PISCOSalvaRM410()
   // *** Estrutura do Registro RM410 ***
   RM410->( dbAppend() )
   RM410->CAMPO01      := 'M410' // 01 - Texto fixo contendo "M410?
   RM410->CAMPO02      := M->NAT_REC              // 02 - Natureza da Receita, conforme relao constante nas Tabelas de Detalhamento da Natureza da Receita p
   RM410->CAMPO03      := M->VL_REC               // 03 - Valor da receita bruta no perodo, relativo a natureza da receita (NAT_REC)
   RM410->CAMPO04      := M->COD_CTA              // 04 - Cdigo da conta analtica contbil debitada/creditada.
   RM410->CAMPO05      := M->DESC_COMPL           // 05 - Descrio Complementar da Natureza da Receita.
   RM410->( dbCommit() )
   //
   M->AREAM410 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M410'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM410)
   RETURN nil

FUNCTION PISCOSalvaRM500()
   // *** Estrutura do Registro RM500 ***
   RM500->( dbAppend() )
   RM500->CAMPO01      := 'M500' // 01 - Texto fixo contendo "M500"
   RM500->CAMPO02      := M->COD_CRED             // 02 - Cdigo de Tipo de Crdito apurado no perodo, conforme a Tabela 4.3.6.
   RM500->CAMPO03      := M->IND_CRED_ORI         // 03 - Indicador de Crdito Oriundo de:
   RM500->CAMPO04      := M->VL_BC_COFINS         // 04 - Valor da Base de Clculo do Crdito
   RM500->CAMPO05      := M->ALIQ_COFINS          // 05 - Alquota da COFINS (em percentual)
   RM500->CAMPO06      := M->QUANT_BC_COFINS      // 06 - Quantidade ? Base de clculo COFINS
   RM500->CAMPO07      := M->ALIQ_COFINS_QUANT    // 07 - Alquota da COFINS (em reais)
   RM500->CAMPO08      := M->VL_CRED              // 08 - Valor total do crdito apurado no perodo
   RM500->CAMPO09      := M->VL_AJUS_ACRES        // 09 - Valor total dos ajustes de acrscimo
   RM500->CAMPO10      := M->VL_AJUS_REDUC        // 10 - Valor total dos ajustes de reduo
   RM500->CAMPO11      := M->VL_CRED_DIFER        // 11 - Valor total do crdito diferido no perodo
   RM500->CAMPO12      := M->VL_CRED_DISP         // 12 - Valor Total do Crdito Disponvel relativo ao Perodo (08 + 09 ? 10 ? 11)
   RM500->CAMPO13      := M->IND_DESC_CRED        // 13 - Indicador de utilizao do crdito disponvel no perodo:
   RM500->CAMPO14      := M->VL_CRED_DESC         // 14 - Valor do Crdito disponvel, descontado da contribuio apurada no prprio perodo.
   RM500->CAMPO15      := M->SLD_CRED             // 15 - Saldo de crditos a utilizar em perodos futuros (12 ? 14)
   RM500->( dbCommit() )
   //
   M->AREAM500 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M500'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM500)
   RETURN nil

FUNCTION PISCOSalvaRM505()
   // *** Estrutura do Registro RM505 ***
   RM505->( dbAppend() )
   RM505->CAMPO01      := 'M505' // 01 - Texto fixo contendo "M505"
   RM505->CAMPO02      := M->NAT_BC_CRED          // 02 - Cdigo da Base de Clculo do Crdito apurado no perodo, conforme a Tabela 4.3.7.
   RM505->CAMPO03      := M->CST_COFINS           // 03 - Cdigo da Situao Tributria referente ao crdito de COFINS (Tabela 4.3.4) vinculado ao tipo de cr
   RM505->CAMPO04      := M->VL_BC_COFINS_TOT     // 04 - Valor Total da Base de Clculo escriturada nos documentos e operaes (Blocos ?A?, ?C?, ?D? e ?F?),
   RM505->CAMPO05      := M->VL_BC_COFINS_CUM     // 05 - Parcela do Valor Total da Base de Clculo informada no Campo 04, vinculada a receitas com incidncia
   RM505->CAMPO06      := M->VL_BC_COFINS_NC      // 06 - Valor Total da Base de Clculo do Crdito, vinculada a receitas com incidncia no-cumulativa (Campo
   RM505->CAMPO07      := M->VL_BC_COFINS         // 07 - Valor da Base de Clculo do Crdito, vinculada ao tipo de Crdito escriturado em M500.
   RM505->CAMPO08      := M->QUANT_BC_COFINS_TOT  // 08 - Quantidade Total da Base de Clculo do Crdito apurado em Unidade de Medida de Produto, escriturada
   RM505->CAMPO09      := M->QUANT_BC_COFINS      // 09 - Parcela da base de clculo do crdito em quantidade (campo 08) vinculada ao tipo de crdito escritur
   RM505->CAMPO10      := M->DESC_CRED            // 10 - Descrio do crdito
   RM505->( dbCommit() )
   //
   M->AREAM505 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M505'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM505)
   RETURN nil

FUNCTION PISCOSalvaRM510()
   // *** Estrutura do Registro RM510 ***
   RM510->( dbAppend() )
   RM510->CAMPO01      := 'M510' // 01 - Texto fixo contendo "M510"
   RM510->CAMPO02      := M->IND_AJ               // 02 - Indicador do tipo de ajuste:
   RM510->CAMPO03      := M->VL_AJ                // 03 - Valor do ajuste
   RM510->CAMPO04      := M->COD_AJ               // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   RM510->CAMPO05      := M->NUM_DOC              // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   RM510->CAMPO06      := M->DESCR_AJ             // 06 - Descrio resumida do ajuste.
   RM510->CAMPO07      := M->DT_REF               // 07 - Data de referncia do ajuste (ddmmaaaa)
   RM510->( dbCommit() )
   //
   M->AREAM510 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M510'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM510)
   RETURN nil

FUNCTION PISCOSalvaRM600()
   // *** Estrutura do Registro RM600 ***
   RM600->( dbAppend() )
   RM600->CAMPO01      := 'M600' // 01 - Texto fixo contendo "M600"
   RM600->CAMPO02      := M->VL_TOT_CONT_NC_PER   // 02 - Valor Total da Contribuio No Cumulativa do Perodo (recuperado do campo 13 do Registro M610, quan
   RM600->CAMPO03      := M->VL_TOT_CRED_DESC     // 03 - Valor do Crdito Descontado, Apurado no Prprio Perodo da Escriturao (recuperado do campo 14 do R
   RM600->CAMPO04      := M->VL_TOT_CRED_DESC_ANT // 04 - Valor do Crdito Descontado, Apurado em Perodo de Apurao Anterior (recuperado do campo 13 do Regi
   RM600->CAMPO05      := M->VL_TOT_CONT_NC_DEV   // 05 - Valor Total da Contribuio No Cumulativa Devida (02 - 03 - 04)
   RM600->CAMPO06      := M->VL_RET_NC            // 06 - Valor Retido na Fonte Deduzido no Perodo
   RM600->CAMPO07      := M->VL_OUT_DED_NC        // 07 - Outras Dedues no Perodo
   RM600->CAMPO08      := M->VL_CONT_NC_REC       // 08 - Valor da Contribuio No Cumulativa a Recolher/Pagar (05 - 06 - 07)
   RM600->CAMPO09      := M->VL_TOT_CONT_CUM_PER  // 09 - Valor Total da Contribuio Cumulativa do Perodo (recuperado do campo 13 do Registro M610, quando o
   RM600->CAMPO10      := M->VL_RET_CUM           // 10 - Valor Retido na Fonte Deduzido no Perodo
   RM600->CAMPO11      := M->VL_OUT_DED_CUM       // 11 - Outras Dedues no Perodo
   RM600->CAMPO12      := M->VL_CONT_CUM_REC      // 12 - Valor da Contribuio Cumulativa a Recolher/Pagar (09 - 10 - 11)
   RM600->CAMPO13      := M->VL_TOT_CONT_REC      // 13 - Valor Total da Contribuio a Recolher/Pagar no Perodo (08 + 12)
   RM600->( dbCommit() )
   //
   M->AREAM600 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M600'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM600)
   RETURN nil

FUNCTION PISCOSalvaRM610()
   // *** Estrutura do Registro RM610 ***
   RM610->( dbAppend() )
   RM610->CAMPO01      := 'M610' // 01 - Texto fixo contendo "M610"
   RM610->CAMPO02      := M->COD_CONT             // 02 - Cdigo da contribuio social apurada no perodo, conforme a Tabela 4.3.5.
   RM610->CAMPO03      := M->VL_REC_BRT           // 03 - Valor da Receita Bruta
   RM610->CAMPO04      := M->VL_BC_CONT           // 04 - Valor da Base de Clculo da Contribuio
   RM610->CAMPO05      := M->ALIQ_COFINS          // 05 - Alquota do COFINS (em percentual)
   RM610->CAMPO06      := M->QUANT_BC_COFINS      // 06 - Quantidade ? Base de clculo COFINS
   RM610->CAMPO07      := M->ALIQ_COFINS_QUANT    // 07 - Alquota do COFINS (em reais)
   RM610->CAMPO08      := M->VL_CONT_APUR         // 08 - Valor total da contribuio social apurada
   RM610->CAMPO09      := M->VL_AJUS_ACRES        // 09 - Valor total dos ajustes de acrscimo
   RM610->CAMPO10      := M->VL_AJUS_REDUC        // 10 - Valor total dos ajustes de reduo
   RM610->CAMPO11      := M->VL_CONT_DIFER        // 11 - Valor da contribuio a diferir no perodo
   RM610->CAMPO12      := M->VL_CONT_DIFER_ANT    // 12 - Valor da contribuio diferida em perodos anteriores
   RM610->CAMPO13      := M->VL_CONT_PER          // 13 - Valor Total da Contribuio do Perodo (08 + 09 ? 10 ? 11 +12)
   RM610->( dbCommit() )
   //
   M->AREAM610 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M610'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM610)
   RETURN nil

FUNCTION PISCOSalvaRM611()
   // *** Estrutura do Registro RM611 ***
   RM611->( dbAppend() )
   RM611->CAMPO01      := 'M611' // 01 - Texto fixo contendo "M611"
   RM611->CAMPO02      := M->IND_TIP_COOP         // 02 - Indicador do Tipo de Sociedade Cooperativa:
   RM611->CAMPO03      := M->VL_BC_CONT_ANT_EXC_COOP // 03 - Valor da Base de Clculo da Contribuio, conforme Registros escriturados nos Blocos A, C, D e F, an
   RM611->CAMPO04      := M->VL_EXC_COOP_GER      // 04 - Valor de Excluso Especifica das Cooperativas em Geral, decorrente das Sobras Apuradas na DRE, desti
   RM611->CAMPO05      := M->VL_EXC_ESP_COOP      // 05 - Valor das Excluses da Base de Clculo Especifica do Tipo da Sociedade Cooperativa, conforme Campo 0
   RM611->CAMPO06      := M->VL_BC_CONT           // 06 - Valor da Base de Clculo, Aps as Excluses Especificas da Sociedade Cooperativa (04 ? 05 ? 06) ? Tr
   RM611->( dbCommit() )
   //
   M->AREAM611 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M611'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM611)
   RETURN nil

FUNCTION PISCOSalvaRM620()
   // *** Estrutura do Registro RM620 ***
   RM620->( dbAppend() )
   RM620->CAMPO01      := 'M620' // 01 - Texto fixo contendo "M620"
   RM620->CAMPO02      := M->IND_AJ               // 02 - Indicador do tipo de ajuste:
   RM620->CAMPO03      := M->VL_AJ                // 03 - Valor do ajuste
   RM620->CAMPO04      := M->COD_AJ               // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   RM620->CAMPO05      := M->NUM_DOC              // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   RM620->CAMPO06      := M->DESCR_AJ             // 06 - Descrio resumida do ajuste.
   RM620->CAMPO07      := M->DT_REF               // 07 - Data de referncia do ajuste (ddmmaaaa)
   RM620->( dbCommit() )
   //
   M->AREAM620 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M620'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM620)
   RETURN nil

FUNCTION PISCOSalvaRM630()
   // *** Estrutura do Registro RM630 ***
   RM630->( dbAppend() )
   RM630->CAMPO01      := 'M630' // 01 - Texto fixo contendo "M630"
   RM630->CAMPO02      := M->CNPJ                 // 02 - CNPJ da pessoa jurdica de direito pblico, empresa pblica, sociedade de economia mista ou suas sub
   RM630->CAMPO03      := M->VL_VEND              // 03 - Valor Total das vendas no perodo
   RM630->CAMPO04      := M->VL_NAO_RECEB         // 04 - Valor Total no recebido no perodo
   RM630->CAMPO05      := M->VL_CONT_DIF          // 05 - Valor da Contribuio diferida no perodo
   RM630->CAMPO06      := M->VL_CRED_DIF          // 06 - Valor do Crdito diferido no perodo
   RM630->CAMPO07      := M->COD_CRED             // 07 - Cdigo de Tipo de Crdito diferido no perodo, conforme a Tabela 4.3.6.
   RM630->( dbCommit() )
   //
   M->AREAM630 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M630'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM630)
   RETURN nil

FUNCTION PISCOSalvaRM700()
   // *** Estrutura do Registro RM700 ***
   RM700->( dbAppend() )
   RM700->CAMPO01      := 'M700' // 01 - Texto fixo contendo "M700"
   RM700->CAMPO02      := M->COD_CONT             // 02 - Cdigo da contribuio social diferida em perodos anteriores, conforme a Tabela 4.3.5.
   RM700->CAMPO03      := M->VL_CONT_APUR_DIFER   // 03 - Valor da Contribuio Apurada, diferida em perodos anteriores.
   RM700->CAMPO04      := M->NAT_CRED_DESC        // 04 - Natureza do Crdito Diferido, vinculado  receita tributada no mercado interno, a descontar:
   RM700->CAMPO05      := M->VL_CRED_DESC_DIFER   // 05 - Valor do Crdito a Descontar vinculado  contribuio diferida.
   RM700->CAMPO06      := M->VL_CONT_DIFER_ANT    // 06 - Valor da Contribuio a Recolher, diferida em perodos anteriores (Campo 03 ? Campo 05)
   RM700->CAMPO07      := M->PER_APUR             // 07 - Perodo de apurao da contribuio social e dos crditos diferidos (MMAAAA).
   RM700->CAMPO08      := M->DT_RECEB             // 08 - Data de recebimento da receita, objeto de diferimento.
   RM700->( dbCommit() )
   //
   M->AREAM700 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M700'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM700)
   RETURN nil

FUNCTION PISCOSalvaRM800()
   // *** Estrutura do Registro RM800 ***
   RM800->( dbAppend() )
   RM800->CAMPO01      := 'M800' // 01 - Texto fixo contendo "M800?
   RM800->CAMPO02      := M->CST_COFINS           // 02 - Cdigo de Situao Tributria ? CST das demais receitas auferidas no perodo, sem incidncia da cont
   RM800->CAMPO03      := M->VL_TOT_REC           // 03 - Valor total da receita bruta no perodo.
   RM800->CAMPO04      := M->COD_CTA              // 04 - Cdigo da conta analtica contbil debitada/creditada.
   RM800->CAMPO05      := M->DESC_COMPL           // 05 - Descrio Complementar da Natureza da Receita.
   RM800->( dbCommit() )
   //
   M->AREAM800 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M800'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM800)
   RETURN nil

FUNCTION PISCOSalvaRM810()
   // *** Estrutura do Registro RM810 ***
   RM810->( dbAppend() )
   RM810->CAMPO01      := 'M810' // 01 - Texto fixo contendo "M810?
   RM810->CAMPO02      := M->NAT_REC              // 02 - Natureza da Receita, conforme relao constante nas Tabelas de Detalhamento da Natureza da Receita p
   RM810->CAMPO03      := M->VL_REC               // 03 - Valor da receita bruta no perodo, relativo a natureza da receita (NAT_REC)
   RM810->CAMPO04      := M->COD_CTA              // 04 - Cdigo da conta analtica contbil debitada/creditada.
   RM810->CAMPO05      := M->DESC_COMPL           // 05 - Descrio Complementar da Natureza da Receita.
   RM810->( dbCommit() )
   //
   M->AREAM810 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RM990')
   PISCOSalvaRM990()
   M->REG_BLC := 'M810'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM810)
   RETURN nil

FUNCTION PISCOSalvaRM990()
   // *** Estrutura do Registro RM990 ***
   if recco() = 0
      M->QTD_LIN_M := '1'
      RM990->( dbAppend() )
   else
      M->QTD_LIN_M := alltrim(str(val(RM990->CAMPO02) + 1,6))
      RM990->( dbRLock() )
   endif
   RM990->CAMPO01      := 'M990' // 01 - Texto fixo contendo "M990"
   RM990->CAMPO02      := M->QTD_LIN_M            // 02 - Quantidade total de linhas do Bloco M
   RM990->( dbCommit() )
   //
   M->AREAM990 := Select()
   M->QTD_LIN_M := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'M990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAM990)
   RETURN nil

FUNCTION PISCOSalvaRP001()
   // *** Estrutura do Registro RP001 ***
   RP001->( dbAppend() )
   RP001->CAMPO01      := 'P001' // 01 - Texto fixo contendo "P001"
   RP001->CAMPO02      := M->IND_MOV              // 02 - Indicador de movimento:
   RP001->( dbCommit() )
   //
   M->AREAP001 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P001'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP001)
   RETURN nil

FUNCTION PISCOSalvaRP010()
   // *** Estrutura do Registro RP010 ***
   RP010->( dbAppend() )
   RP010->CAMPO01      := 'P010' // 01 - Texto fixo contendo ?P010?
   RP010->CAMPO02      := M->CNPJ                 // 02 - Nmero de inscrio do estabelecimento no CNPJ.
   RP010->( dbCommit() )
   //
   M->AREAP010 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P010'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP010)
   RETURN nil

FUNCTION PISCOSalvaRP100()
   // *** Estrutura do Registro RP100 ***
   RP100->( dbAppend() )
   RP100->CAMPO01      := 'P100' // 01 - Texto fixo contendo "P100"
   RP100->CAMPO02      := M->DT_INI               // 02 - Data inicial a que a apurao se refere
   RP100->CAMPO03      := M->DT_FIN               // 03 - Data final a que a apurao se refere
   RP100->CAMPO04      := M->VL_REC_TOT_EST       // 04 - Valor da Receita Bruta Total do Estabelecimento no Perodo
   RP100->CAMPO05      := M->COD_ATIV_ECON        // 05 - Cdigo indicador de atividade sujeita a incidncia da Contribuio Previdenciria sobre a Receita Br
   RP100->CAMPO06      := M->VL_REC_ATIV_ESTAB    // 06 - Valor da Receita Bruta do Estabelecimento, correspondente s atividades referidas no Campo 05 (COD_A
   RP100->CAMPO07      := M->VL_EXC               // 07 - Valor das Excluses da Receita Bruta informada no Campo 06
   RP100->CAMPO08      := M->VL_BC_CONT           // 08 - Valor da Base de Clculo da Contribuio Previdenciria sobre a Receita Bruta (Campo 08 = Campo 06 ?
   RP100->CAMPO09      := M->ALIQ_CONT            // 09 - Alquota da Contribuio Previdenciria sobre a Receita Bruta
   RP100->CAMPO10      := M->VL_CONT_APU          // 10 - Valor da Contribuio Previdenciria Apurada sobre a Receita Bruta
   RP100->CAMPO11      := M->COD_CTA              // 11 - Cdigo da conta analtica contbil referente  Contribuio Previdenciria sobre a Receita Bruta
   RP100->CAMPO12      := M->INFO_COMPL           // 12 - Informao complementar do registro
   RP100->( dbCommit() )
   //
   M->AREAP100 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P100'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP100)
   RETURN nil

FUNCTION PISCOSalvaRP110()
   // *** Estrutura do Registro RP110 ***
   RP110->( dbAppend() )
   RP110->CAMPO01      := 'P110' // 01 - Texto fixo contendo "P110"
   RP110->CAMPO02      := M->NUM_CAMPO            // 02 - Informar o nmero do campo do registro ?P100?, objeto de detalhamento neste registro.
   RP110->CAMPO03      := M->COD_DET              // 03 - Cdigo do tipo de detalhamento, conforme Tabela 5.1.2
   RP110->CAMPO04      := M->DET_VALOR            // 04 - Valor detalhado referente ao campo 02 deste registro
   RP110->CAMPO05      := M->INF_COMPL            // 05 - Informao complementar do detalhamento.
   RP110->( dbCommit() )
   //
   M->AREAP110 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P110'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP110)
   RETURN nil

FUNCTION PISCOSalvaRP199()
   // *** Estrutura do Registro RP199 ***
   RP199->( dbAppend() )
   RP199->CAMPO01      := 'P199' // 01 - Texto fixo contendo "P199"
   RP199->CAMPO02      := M->NUM_PROC             // 02 - Identificao do processo ou ato concessrio
   RP199->CAMPO03      := M->IND_PROC             // 03 - Indicador da origem do processo: 1 - Justia Federal; 3 ? Secretaria da Receita Federal do Brasil 9
   RP199->( dbCommit() )
   //
   M->AREAP199 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P199'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP199)
   RETURN nil

FUNCTION PISCOSalvaRP200()
   // *** Estrutura do Registro RP200 ***
   RP200->( dbAppend() )
   RP200->CAMPO01      := 'P200' // 01 - Texto fixo contendo "P200"
   RP200->CAMPO02      := M->PER_REF              // 02 - Perodo de referencia da escriturao (MMAAAA)
   RP200->CAMPO03      := M->VL_TOT_CONT_APU      // 03 - Valor total apurado Contribuio Previdenciria sobre Receita Bruta (Somatrio Campo 10 ?VL_CONT_APU
   RP200->CAMPO04      := M->VL_TOT_AJ_REDUC      // 04 - Valor total de ?Ajustes de reduo? (Registro P210, Campo 03, quando Campo 02 = ?0?)
   RP200->CAMPO05      := M->VL_TOT_AJ_ACRES      // 05 - Valor total de ?Ajustes de acrscimo? (Registro P210, Campo 03, quando Campo 02 = ?1?)
   RP200->CAMPO06      := M->VL_TOT_CONT_DEV      // 06 - Valor total da Contribuio Previdenciria sobre a Receita Bruta a recolher (Campo 03 ? Campo 04 + C
   RP200->CAMPO07      := M->COD_REC              // 07 - Cdigo de Receita referente  Contribuio Previdenciria, conforme informado em DCTF
   RP200->( dbCommit() )
   //
   M->AREAP200 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P200'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP200)
   RETURN nil

FUNCTION PISCOSalvaRP210()
   // *** Estrutura do Registro RP210 ***
   RP210->( dbAppend() )
   RP210->CAMPO01      := 'P210' // 01 - Texto fixo contendo "P210"
   RP210->CAMPO02      := M->IND_AJ               // 02 - Indicador do tipo de ajuste:
   RP210->CAMPO03      := M->VL_AJ                // 03 - Valor do ajuste
   RP210->CAMPO04      := M->COD_AJ               // 04 - Cdigo do ajuste, conforme a Tabela indicada no item 4.3.8.
   RP210->CAMPO05      := M->NUM_DOC              // 05 - Nmero do processo, documento ou ato concessrio ao qual o ajuste est vinculado, se houver.
   RP210->CAMPO06      := M->DESCR_AJ             // 06 - Descrio resumida do ajuste.
   RP210->CAMPO07      := M->DT_REF               // 07 - Data de referncia do ajuste (ddmmaaaa)
   RP210->( dbCommit() )
   //
   M->AREAP210 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   dbSelectArea('RP990')
   PISCOSalvaRP990()
   M->REG_BLC := 'P210'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP210)
   RETURN nil

FUNCTION PISCOSalvaRP990()
   // *** Estrutura do Registro RP990 ***
   if recco() = 0
      M->QTD_LIN_P := '1'
      RP990->( dbAppend() )
   else
      M->QTD_LIN_P := alltrim(str(val(RP990->CAMPO02) + 1,6))
      RP990->( dbRLock() )
   endif
   RP990->CAMPO01      := 'P990' // 01 - Texto fixo contendo "P990"
   RP990->CAMPO02      := M->QTD_LIN_P            // 02 - Quantidade total de linhas do Bloco P
   RP990->( dbCommit() )
   //
   M->AREAP990 := Select()
   M->QTD_LIN_P := '1'
   M->QTD_LIN_9 := '1'
   M->QTD_REG_BLC := '1'
   M->REG_BLC := 'P990'
   dbSelectArea('R9900')
   PISCOSalvaR9900()
   dbSelectArea(M->AREAP990)
   RETURN nil

