CE PLUS - Nota 004755

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Outros

Data/Hora da Publicação: 18/09/2007 00:00:00

Data/Hora Última Alteração: 04/03/2010 11:06:17

Descrição da Nota: CRIAÇÃO DE FUNÇÃO PARA SELEÇÃO DE ITENS DO DOCUMENTO CONTÁBIL DA FATURA

Sintoma

 

Criar uma função que retorne os itens do documento contábil de uma fatura.

 

Solução

 

Implementação de uma função que realiza a seleção do período contábil, verifica o número do

documento contábil com base no número da fatura e seleciona os itens do documento contábil

encontrado.

Versões Tratadas

7.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 04755 Data: 18/09/2007 Hora: 16:20:30

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 04755

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

Texto Rápido:

CRIAÇÃO DE FUNÇÃO PARA SELEÇÃO DE ITENS DO DOCUMENTO CONTÁBIL DA FATURA

----------------------------------------------------------------------------------------------------

Palavras Chave:

FUNÇÃO, DOCUMENTO, CONTÁBIL, ITENS, FATURA

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUGR /PWS/ZYCEGF6

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUGR /PWS/ZYCEGF6

 

CRIAR MÓDULO DE FUNÇÃO: /PWS/ZYCE_SELECT_DOC_CONTABIL

 

CARACTERÍSTICAS

 

CLASSIFICAÇÃO:

GRUPO DE FUNÇÕES: /PWS/ZYCEGF6

TEXTO BREVE: Seleciona Documento Contábil do Faturamento

 

 

TIPO DE EXECUÇÃO:

(X) - MÓDULO DE FUNÇÃO NORMAL

(_) - MÓDULO DE ACESSO REMOTO

(_) - MÓDULO DE ATUALIZAÇÃO

     (X) - INÍCIO IMEDIATO

     (_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.

     (_) - INÍC. RETARDADO

     (_) - PROCES. CLOETIVO

 

 

DADOS GERAIS:

(_) - BLOQUEIO PROCESSO

(_) - GLOBAL

 

 

IMPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

P_AWKEY       TYPE   BKPF-AWKEY                    ( )      ( )     Chave referência

P_BUKRS       TYPE   BKPF-BUKRS                    ( )      ( )     Empresa

P_DATE        TYPE   BKPF-BLDAT                    ( )      ( )     Data no documento

 

 

EXPORTAÇÃO:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA   TRANSF.  TEXTO BREVE

 

MODIFIC.:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  VL. PROPOSTO OPCIONAL TRANSF. TEXT

 

TABELAS:

NOME PARAM.   ATRIB. TIPO REFERÊNCIA  OPCIONAL TEXTO BREVE

ITAB_BSEG     LIKE   BSEG             ( )      Segmento do documento contabilidade financeira

 

 

EXCEÇÃO                    TEXTO BREVE

DOCUMENTO_NAO_ENCONTRADO   Documento Contábil não Encontrado

ITENS_NAO_ENCONTRADOS      Nenhum item de documento Contábil Encontrado

VARIANTE_DE_EXERCICIO      Variante de exercício não encontrada

DATA_NAO_ENCONTRADA        Data Não Encontrada

EMPRESA_NAO_ENCONTRADA     Empresa Não Encontrada

ERRO_PERIODO               Erro na determinação do período

 

 

TEXTO FONTE PARA MÓDULO DE FUNÇÃO:

 

* >> Início da inclusão: FUNCTION /PWS/ZYCE_SELECT_DOC_CONTABIL

 

FUNCTION /pws/zyce_select_doc_contabil.

*"----------------------------------------------------------------------

*"*"Interface local:

*"  IMPORTING

*"     REFERENCE(P_AWKEY) TYPE  BKPF-AWKEY

*"     REFERENCE(P_BUKRS) TYPE  BKPF-BUKRS

*"     REFERENCE(P_DATE) TYPE  BKPF-BLDAT

*"  TABLES

*"      ITAB_BSEG STRUCTURE  BSEG

*"  EXCEPTIONS

*"      DOCUMENTO_NAO_ENCONTRADO

*"      ITENS_NAO_ENCONTRADOS

*"      VARIANTE_DE_EXERCICIO

*"      DATA_NAO_ENCONTRADA

*"      EMPRESA_NAO_ENCONTRADA

*"      ERRO_PERIODO

*"----------------------------------------------------------------------

 

* Cabeçalho do Documento Contábil

  TYPES: BEGIN OF t_bkpf,

          belnr TYPE bkpf-belnr,

          blart TYPE bkpf-blart,

          bldat TYPE bkpf-bldat,

          budat TYPE bkpf-budat,

        END OF t_bkpf.

 

  DATA: it_bkpf TYPE STANDARD TABLE OF t_bkpf.

 

* Item de Documento Contábil

  DATA: it_bseg TYPE STANDARD TABLE OF bseg.

 

*  Variáveis:

  DATA: v_periv TYPE t001-periv,

        v_gjahr TYPE bkpf-gjahr.

 

* Seleciona Exercício.

  SELECT SINGLE periv FROM t001

               INTO v_periv

               WHERE bukrs EQ p_bukrs.

 

  IF p_bukrs IS INITIAL.

    RAISE empresa_nao_encontrada.

    EXIT.

  ELSEIF p_date IS INITIAL.

    RAISE data_nao_encontrada.

    EXIT.

  ELSEIF v_periv IS INITIAL.

    RAISE variante_de_exercicio.

    EXIT.

  ENDIF.

 

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = p_date

            version             = v_periv

       IMPORTING

            year                = v_gjahr

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

 

  IF sy-subrc NE 0.

    RAISE erro_periodo.

    EXIT.

  ENDIF.

 

* Seleção do cabeçalho do documento contábil:

  SELECT belnr blart

         bldat budat

      FROM bkpf

      INTO TABLE it_bkpf[]

      WHERE bukrs = p_bukrs AND

            gjahr = v_gjahr AND

            awtyp  = 'VBRK' AND

            awkey = p_awkey AND

            awsys = ' '.

 

  IF sy-subrc NE 0.

    RAISE documento_nao_encontrado.

    EXIT.

  ENDIF.

 

* Seleção de itens do documento Contábil.

  SELECT * FROM bseg

           INTO TABLE it_bseg[]

           FOR ALL ENTRIES IN it_bkpf[]

           WHERE belnr = it_bkpf-belnr AND

                 bukrs = p_bukrs       AND

                 gjahr = v_gjahr.

 

  IF sy-subrc NE 0.

 

    RAISE itens_nao_encontrados.

    EXIT.

 

  ELSE.

 

    itab_bseg[] = it_bseg[].

 

  ENDIF.

 

 

ENDFUNCTION.

 

* << Fim da inclusão