CE PLUS - Nota 008907

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina de Pagamento

Data/Hora da Publicação: 28/08/2009 00:00:00

Data/Hora Última Alteração: 18/02/2011 13:51:47

Descrição da Nota: PROCESSAR BOLETO - COMISSÃO DE AGENTE LIQUIDADA FORA DO PW.CE

Sintoma

Ao processar o boleto de uma comissão de agente, o campo Fatura Liquidada não esta flegado, mas a

fatura esta liquidada, só que fora do pw.CE, pois é um cenário de comissão de agente em que não

existe registro na tabela do câmbio /pws/zycbt030.

 

 

Solução

Voltar o tratamento de verificar se a fatura esta liquidada fora do pw.CE, ou seja, se não houver

registro na tabela /pws/zycbt030, seguir o caminho do código que analisa as tabelas /pws/zycet002,

bkpf e bsid.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PROCESSAR BOLETO - STATUS DA COMISSÃO

ROTINA DE PAGAMENTO(EXPORTAÇÃO) - SELEÇÃO EMPRESA

PROCESSAR BOLETO

Informações Complementares

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

Nota Número 08907 Data: 28/08/2009 Hora: 14:57:20

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

 

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

Nota Número              : 08907

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00111

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

03571  - 00001 - 7.0    - 00001  - ROTINA DE PAGAMENTO(EXPORTAÇÃO) - SELEÇÃO EMPRESA

04598  - 00002 - 7.0    - 00003  - PROCESSAR BOLETO

06404  - 00003 - 7.0    - 00005  - PROCESSAR BOLETO - STATUS DA COMISSÃO

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

PROCESSAR BOLETO - COMISSÃO DE AGENTE LIQUIDADA FORA DO PW.CE

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

Palavras Chave:

PROCESSAR BOLETO COMISSÃO DE AGENTE LIQUIDADA FORA DO PW.CE

 

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

Objetos da nota:

REPS /PWS/ZYGLR002

 

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

Modificações efetuadas em REPS /PWS/ZYGLR002

 

...

        DELETE itab_zycet010.

        CONTINUE.

      ENDIF.

      CONCATENATE text-031 itab_zycet010-nrseq INTO v_tipo.

      CLEAR: v_me, v_usd.

      v_me = itab_zycet010-vlcomis.

      READ TABLE itab_zycbt030

        WITH KEY nrinvoic = itab_zycbt017-nrinvoic

                 nrparcf  = itab_zycbt017-nrparcf

                 gsberf   = itab_zycbt017-gsberf.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

      if sy-subrc = 0.

* << Fim da inclusão

      IF itab_zycbt017-parvw EQ 'AR' OR

         itab_zycbt017-parvw EQ 'AT'.

        IF itab_zycbt089-liq_com_ar EQ 'L'.

          IF itab_zycbt030-kwert = itab_zycbt030-vlsltrans.

            CONTINUE.

          ENDIF.

        ENDIF.

      ENDIF.

      IF itab_zycbt030-kwert = itab_zycbt030-vlsltrans.

        MOVE 'Não Liquidada'(052) TO itab_selreg-statusf.

      ENDIF.

      IF itab_zycbt030-vlsltrans > 0 AND

         itab_zycbt030-vlsltrans < itab_zycbt030-kwert.

        MOVE 'Parc. Liquidada'(053) TO itab_selreg-statusf.

      ENDIF.

      IF itab_zycbt030-vlsltrans = 0.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

          move 'Total Liquidada'(054) to itab_selreg-statusf.

          move 'X' to itab_selreg-fat_liq.

        endif.

        if not itab_zycbt089-liq_com_ar eq ' '.

          move 'X' to itab_selreg-controle.

        endif.

      else.

        perform verifica_fatura.

        if not itab_selreg-fat_liq is initial.

* << Fim da inclusão

        MOVE 'Total Liquidada'(054) TO itab_selreg-statusf.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

        else.

          move 'Não Liquidada'(052) to itab_selreg-statusf.

        endif.

* << Fim da inclusão

      ENDIF.

      IF itab_zycbt089-ver_averb = 'X'.

        PERFORM verifica_averbacao.

        IF v_averb = 'X'.

...

 

...

      ENDIF.

    ENDIF.

    SORT itab_zycet013 BY nrseq lifnr gsber belnr.

    REFRESH itab_nrinvoic.

    LOOP AT itab_zycet013.

      itab_nrinvoic-nrinvoic = itab_zycet013-nrseq.

      APPEND itab_nrinvoic.

    ENDLOOP.

    DELETE ADJACENT DUPLICATES FROM itab_nrinvoic.

    IF NOT itab_nrinvoic[] IS INITIAL.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

      select nrseq bukrs vbeln_vf from /pws/zycet002

             appending table itab_zycet002

             for all entries in itab_zycet013

             where nrseq eq itab_zycet013-nrseq

               and bukrs in empresa.

* << Fim da inclusão

      SELECT * FROM /pws/zycbt017 INTO TABLE itab_zycbt017

               FOR ALL ENTRIES IN itab_nrinvoic

               WHERE nrinvoic EQ itab_nrinvoic-nrinvoic

                 AND bukrs    IN empresa.

      SELECT * FROM /pws/zycbt006 APPENDING TABLE itab_zycbt006

               FOR ALL ENTRIES IN itab_nrinvoic

               WHERE nrinvoic EQ itab_nrinvoic-nrinvoic

                 AND bukrs    IN empresa.               "#EC CI_NOFIRST

    ENDIF.

    IF NOT itab_zycbt017[] IS INITIAL.

...

 

...

        DELETE itab_zycet013.

        CONTINUE.

      ENDIF.

      CONCATENATE text-031 itab_zycet013-nrseq INTO v_tipo.

      CLEAR: v_me, v_usd.

      v_me = itab_zycet013-vlme.

      READ TABLE itab_zycbt030

        WITH KEY nrinvoic = itab_zycbt017-nrinvoic

                 nrparcf  = itab_zycbt017-nrparcf

                 gsberf   = itab_zycbt017-gsberf.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

      if sy-subrc = 0.

* << Fim da inclusão

      IF itab_zycbt017-parvw EQ 'AR' OR

         itab_zycbt017-parvw EQ 'AT'.

        IF itab_zycbt089-liq_com_ar EQ 'L'.

          IF itab_zycbt030-kwert = itab_zycbt030-vlsltrans.

            CONTINUE.

          ENDIF.

        ENDIF.

      ENDIF.

      IF itab_zycbt030-kwert = itab_zycbt030-vlsltrans.

        MOVE text-052 TO itab_selreg-statusf.

      ENDIF.

      IF itab_zycbt030-vlsltrans NE 0 AND

         itab_zycbt030-vlsltrans < itab_zycbt030-kwert.

        MOVE text-053 TO itab_selreg-statusf.

      ENDIF.

      IF itab_zycbt030-vlsltrans = 0.

        MOVE text-054 TO itab_selreg-statusf.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

          move 'X' to itab_selreg-fat_liq.

        endif.

        if not itab_zycbt089-liq_com_ar eq ' '.

          move 'X' to itab_selreg-controle.

        endif.

      else.

        perform verifica_fatura.

        if not itab_selreg-fat_liq is initial.

          move 'Total Liquidada'(054) to itab_selreg-statusf.

        else.

          move 'Não Liquidada'(052) to itab_selreg-statusf.

* << Fim da inclusão

      ENDIF.

* >> Início da inclusão: FORM SELECIONA_COMISSAO

      endif.

* << Fim da inclusão

      IF itab_zycbt089-ver_averb = 'X'.

        PERFORM verifica_averbacao.

        IF v_averb = 'X'.

          CONTINUE.

        ENDIF.

      ENDIF.

...

 

...

        itab_zycbt086-nrfat     TO itab_selreg-nrfat,

        itab_zycbt086-txtinf    TO itab_selreg-txtinf,

        'EJ'                    TO itab_selreg-fmd.

      APPEND itab_selreg.

    ENDLOOP.

    CLEAR: v_tipo, v_taxa_dia, itab_zycbt086, itab_selreg.

  ENDIF.

ENDFORM.

FORM verifica_fatura.

  DATA: v_vlliq LIKE /pws/zycbt006-vlme.

* >> Início da inclusão: FORM VERIFICA_FATURA

  data: v_num10(10) type n.

* << Fim da inclusão

  CLEAR: itab_selreg-fat_liq, itab_selreg-controle.

  READ TABLE itab_t001 WITH KEY bukrs = itab_zycbt017-bukrs.

  IF itab_t001-land1 NE 'BR'.

* >> Início da exclusão: FORM VERIFICA_FATURA

    IF NOT itab_zycbt089-liq_com_ar EQ 'N'.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_FATURA

    if not itab_zycbt089-liq_com_ar eq ' '.

* << Fim da inclusão

      MOVE 'X' TO itab_selreg-controle.

    ENDIF.

    READ TABLE itab_zycet002 WITH KEY nrseq = itab_zycet010-nrseq.

    IF sy-subrc NE 0.

      READ TABLE itab_zycet002 WITH KEY nrseq = itab_zycet013-nrseq.

    ENDIF.

    IF sy-subrc EQ 0.

* >> Início da inclusão: FORM VERIFICA_FATURA

      read table itab_bkpf with key bukrs = itab_zycet002-bukrs

                                    awkey = itab_zycet002-vbeln_vf

                                    awtyp = 'VBRK'

                                    awsys = ' '.

      if sy-subrc ne 0.

        v_num10 = itab_zycet002-vbeln_vf.

        itab_zycet002-vbeln_vf = v_num10.

* << Fim da inclusão

      READ TABLE itab_bkpf WITH KEY bukrs = itab_zycet002-bukrs

                                    awkey = itab_zycet002-vbeln_vf

                                    awtyp = 'VBRK'

                                    awsys = ' '.

* >> Início da inclusão: FORM VERIFICA_FATURA

      endif.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        READ TABLE itab_bsid WITH KEY bukrs = itab_bkpf-bukrs

                                      gjahr = itab_bkpf-gjahr

                                      belnr = itab_bkpf-belnr.

        IF sy-subrc NE 0.

          MOVE 'X' TO itab_selreg-fat_liq.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF itab_t001-land1 EQ 'BR'.

* >> Início da exclusão: FORM VERIFICA_FATURA

    IF NOT itab_zycbt089-liq_com_ar EQ 'N'.

* << Fim da exclusão

* >> Início da inclusão: FORM VERIFICA_FATURA

    if not itab_zycbt089-liq_com_ar eq ' '.

* << Fim da inclusão

      MOVE 'X' TO itab_selreg-controle.

    ENDIF.

    LOOP AT itab_zycbt006 WHERE nrinvoic = itab_zycbt017-nrinvoic

                            AND nrparcf  = itab_zycbt017-nrparcf

                            AND gsberf   = itab_zycbt017-gsberf.

      v_vlliq = itab_zycbt006-vlme + v_vlliq.

    ENDLOOP.

    IF itab_zycbt017-vlavinc = v_vlliq.

      MOVE 'X' TO itab_selreg-fat_liq.

    ENDIF.

...