CE PLUS - Nota 005499

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ALTERAÇÃO FUNÇÃO /PWS/ZYCE_BUSCA_CONTA_VKOA, ADICIONADO PARÂMETRO FKART

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