Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Prestação de Contas
Data/Hora da Publicação: 19/12/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 11:32:55
Descrição da Nota: BUSCA DE CONTAS DE DESPESAS PPC PELA VKOA
Sintoma
A busca de contas de despesas provisionadas (PPC) era feita transação /PWS/ZYGL012.
Solução
A busca dessas contas passa a ser feita diretamente pela transação VKOA.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05499 Data: 19/12/2007 Hora: 13:41:29
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05499
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00026
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05497 - 00001 - 7.0 - 00004 - ALTERAÇÃO FUNÇÃO /PWS/ZYCE_BUSCA_CONTA_VKOA, ADICIONADO PARÂMETRO
----------------------------------------------------------------------------------------------------
BUSCA DE CONTAS DE DESPESAS PPC PELA VKOA
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE013F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE013F01
...
ENDIF.
IF /pws/zycee033-dtdcto IS INITIAL.
/pws/zycee033-dtdcto = sy-datlo.
ENDIF.
ENDIF.
PERFORM seleciona_conta.
ENDCASE.
PERFORM busca_exit USING 'PDC008'.
ENDFORM.
FORM select_despesas.
* >> Início da inclusão: FORM SELECT_DESPESAS
DATA: v_conta1 TYPE ska1-saknr, "#EC NEEDED
v_conta2 TYPE ska1-saknr. "#EC NEEDED
* << Fim da inclusão
CLEAR itab_zycet002. REFRESH itab_zycet002.
PERFORM seleciona_itens_embarque
USING
/pws/zycee033-nrseq
CHANGING
itab_zycet002[].
IF NOT itab_zycet002[] IS INITIAL.
SELECT DISTINCT * FROM /pws/zycet016
APPENDING TABLE itab_zycet016
FOR ALL ENTRIES IN itab_zycet002
...
...
PERFORM read_account_number USING 'DPC'
itab_zycet021-tpdesp.
itab_zycet043-conta1 = itab_account-konts.
IF itab_zycet021-kschl IS INITIAL.
itab_zycet043-conta2 = itab_account-konth.
ELSE.
CLEAR itab_zycet016.
READ TABLE itab_zycet016 WITH KEY kschl =
itab_zycet021-kschl.
IF sy-subrc = 0.
* >> Início da exclusão: FORM SELECT_DESPESAS
PERFORM read_account_number USING 'PPC'
itab_zycet021-tpdesp.
itab_zycet043-conta2 = itab_account-konts.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECT_DESPESAS
PERFORM busca_conta
USING
itab_zycet021-kschl
itab_zycet002[]
CHANGING
v_conta1
v_conta2.
itab_zycet043-conta2 = v_conta1.
* << Fim da inclusão
ELSE.
itab_zycet043-conta2 = itab_account-konth.
ENDIF.
ENDIF.
itab_zycet043-codmod = c_module.
itab_zycet043-nrpres = /pws/zycee033-nrpres.
itab_zycet043-nradto = ' ' .
itab_zycet043-nrseq = /pws/zycee033-nrseq.
itab_zycet043-despach = /pws/zycee033-despach.
itab_zycet043-tpdesp = itab_zycet021-tpdesp.
...
...
ENDIF.
APPEND itab_zycbe035.
ENDIF.
ENDLOOP.
ENDFORM.
FORM preenche_f63_sem_exit.
LOOP AT it_zycet043 WHERE vldp NE 0.
CLEAR : itab_desp_prov.
REFRESH: itab_desp_prov.
LOOP AT itab_zycet016 WHERE kschl = it_zycet043-kschl.
* >> Início da exclusão: FORM PREENCHE_F63_SEM_EXIT
IF itab_zycet043-kschl IS INITIAL.
PERFORM read_account_number USING 'DPC'
it_zycet043-tpdesp.
ELSE.
PERFORM read_account_number USING 'PPC'
itab_zycet043-tpdesp.
ENDIF.
itab_zycet016-conta1 = itab_account-konts.
itab_zycet016-conta2 = itab_account-konth.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F63_SEM_EXIT
itab_zycet016-conta1 = it_zycet043-conta1.
itab_zycet016-conta2 = it_zycet043-conta2.
* << Fim da inclusão
itab_desp_prov-nrseq = itab_zycet016-nrseq.
itab_desp_prov-kwert = itab_zycet016-vlme.
itab_desp_prov-kschl = itab_zycet016-kschl.
PERFORM define_taxa_cambio USING sy-datlo
text-013
text-001
wa_zycbt011-ctmoed
CHANGING v_taxa.
itab_desp_prov-vlmi = itab_desp_prov-kwert * v_taxa.
COLLECT itab_desp_prov.
...
...
value(p_fieldname)
value(p_description).
IF p_field IS INITIAL.
itab_zycet004-campo = p_fieldname.
itab_zycet004-descricao = p_description.
APPEND itab_zycet004.
ENDIF.
ENDFORM.
FORM determina_contas.
LOOP AT itab_zycet043 WHERE vldp NE 0.
* >> Início da exclusão: FORM DETERMINA_CONTAS
IF itab_zycet043-kschl IS INITIAL.
PERFORM read_account_number USING 'DPC'
itab_zycet043-tpdesp.
ELSE.
PERFORM read_account_number USING 'PPC'
itab_zycet043-tpdesp.
ENDIF.
t_contas-conta = itab_account-konts.
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_CONTAS
t_contas-conta = itab_zycet043-conta1.
APPEND t_contas.
t_contas-conta = itab_zycet043-conta2.
* << Fim da inclusão
APPEND t_contas.
ENDLOOP.
ENDFORM.
FORM busca_taxa.
DATA v_taxa LIKE /pws/zycee033-kurrf.
SELECT SINGLE * FROM t001
WHERE bukrs EQ /pws/zycee033-bukrs.
IF t001-land1 = 'BR' AND
/pws/zycee033-waers <> 'BRL' AND
/pws/zycee033-kurrf IS INITIAL.
...
...
TABLES
tab_saida = it_saida[]
tab_complemento = it_complemento[]
tab_devolucao = it_devolucao[]
EXCEPTIONS
OTHERS = 0.
APPEND LINES OF: it_saida[] TO p_t_zycet002[],
it_complemento[] TO p_t_zycet002[],
it_devolucao[] TO p_t_zycet002[].
ENDFORM.
* >> Início da inclusão:
FORM busca_conta
USING
p_kschl TYPE /pws/zycet043-kschl
p_t_zycet002 LIKE itab_zycet002[]
CHANGING
p_sakn1 TYPE ska1-saknr
p_sakn2 TYPE ska1-saknr.
DATA: wa_zycet002 LIKE LINE OF p_t_zycet002[].
READ TABLE p_t_zycet002[]
INTO wa_zycet002
WITH KEY st_vd = 'VD'
TRANSPORTING auart
fkart
bukrs
kunag
matnr
werks
spara
vkorg_auft
vtweg_auft.
IF sy-subrc <> 0.
READ TABLE p_t_zycet002[]
INTO wa_zycet002
WITH KEY st_vd = 'DP'
TRANSPORTING auart
fkart
bukrs
kunag
matnr
werks
spara
vkorg_auft
vtweg_auft.
IF sy-subrc <> 0.
CLEAR: p_sakn1,
p_sakn2.
ENDIF.
ENDIF.
CALL FUNCTION '/PWS/ZYCE_BUSCA_CONTA_VKOA'
EXPORTING
auart = wa_zycet002-auart
fkart = wa_zycet002-fkart
bukrs = wa_zycet002-bukrs
matnr = wa_zycet002-matnr
werks = wa_zycet002-werks
kunnr = wa_zycet002-kunag
vkorg = wa_zycet002-vkorg_auft
vtweg = wa_zycet002-vtweg_auft
spart = wa_zycet002-spara
kschl = p_kschl
IMPORTING
sakn1 = p_sakn1
sakn2 = p_sakn2
EXCEPTIONS
account_not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
CLEAR: p_sakn1,
p_sakn2.
ENDIF.
ENDFORM.
* << Fim da inclusão