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.
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