CE PLUS - Nota 004038

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Associação

Data/Hora da Publicação: 26/06/2007 00:00:00

Data/Hora Última Alteração: 04/03/2010 13:48:05

Descrição da Nota: ASSOCIAÇÃO DE FATURAS - PONTOS DE EXIT ASS004 E ASS005

Sintoma

 

Incluir ponto de exit para permitir efetuar outra função de contabilização para pagamento

antecipado.

 

Solução

 

Pontos de exit ASS004 e ASS005

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 04038 Data: 26/06/2007 Hora: 10:16:55

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

 

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

Nota Número              : 04038

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00004

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ASSOCIAÇÃO DE FATURAS - PONTOS DE EXIT ASS004 E ASS005

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

Palavras Chave:

ASSOCIAÇÃO DE FATURAS - PONTOS DE EXIT ASS004 E ASS005

PAGAMENTO ANTECIPADO

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

Objetos da nota:

REPS /PWS/LZYCMGF2F01

REPS /PWS/LZYCMGF2TOP

REPS /PWS/LZYCMGF2X01

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i254(/pws/zycmm) WITH itab_zycbt034-descricao

                      v_codeven.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

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

    READ TABLE itab_zyglt100 WITH KEY zexit  = 'ASS004' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ELSE.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51N'

         EXPORTING

              v_modo          = v_modo_bi

              v_empresa       = /pws/zycbe117-bukrs

              v_zuonr         = itab_zycbe033-c_zuonr

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt036      = itab_zycbt036

              t_zycbt032      = itab_zycbt032

              t_zycbe035      = itab_zycbe035

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                        tabela = '/PWS/ZYCBT112'

                                        cpochv = /pws/zycbe117-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_rfin = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                          WHERE belnr EQ itab_zycbt108-belnr

...

 

...

    ENDIF.

    APPEND itab_zycbe033.

    LOOP AT itab_zycbt034.

      MESSAGE i254(/pws/zycmm) WITH itab_zycbt034-descricao

                        v_codeven.

    ENDLOOP.

    IF /pws/zycbe117-slpgant = 0.

      v_zuonr = itab_zycbe033-d_zuonr.

    ENDIF.

    IF itab_zycbt034 IS INITIAL.

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

      READ TABLE itab_zyglt100 WITH KEY zexit  = 'ASS004' BINARY SEARCH.

      IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

        PERFORM (itab_zyglt100-formulario)

                IN PROGRAM (itab_zyglt100-programa).

      ELSE.

* << Fim da inclusão

      CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51N'

           EXPORTING

                v_modo          = v_modo_bi

                v_empresa       = /pws/zycbe117-bukrs

                v_zuonr         = v_zuonr

           TABLES

                t_dados         = itab_zycbe033

                t_campo         = itab_zycbt034

                t_zycbt036      = itab_zycbt036

                t_zycbt032      = itab_zycbt032

                t_zycbe035      = itab_zycbe035

           EXCEPTIONS

                campo_em_branco = 1

                OTHERS          = 2.

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

      ENDIF.

* << Fim da inclusão

      IF sy-subrc = 0.

        READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                          tabela = '/PWS/ZYCBT112'

                                          cpochv = /pws/zycbe117-nrseq

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

          CLEAR itab_zycbt131-belnr_rfin.

          MODIFY itab_zycbt131 TRANSPORTING belnr_rfin

                               WHERE belnr EQ itab_zycbt131-belnr

...

 

...

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

    v_ok = ' '.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

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

    READ TABLE itab_zyglt100 WITH KEY zexit  = 'ASS005' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ELSE.

* << Fim da inclusão

   IF ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'IM' ) OR

           ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'ES'

                                               AND v_trans IS INITIAL ).

      CONCATENATE /pws/zycbe117-nrseq 'PA' INTO v_zuonr.

    ELSE.

      v_zuonr = /pws/zycbe117-nrseq.

    ENDIF.

   IF ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'IM' ) OR

           ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'ES'

                                               AND v_trans IS INITIAL ).

...

 

...

           EXPORTING

                v_modo     = v_modo_bi

           TABLES

                t_dados    = itab_zycbe033

                t_campo    = itab_zycbt034

                t_zycbt032 = itab_zycbt032

                t_zycbt036 = itab_zycbt036

           EXCEPTIONS

                campo_em_branco = 1

                OTHERS          = 2.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

...

 

...

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.

    v_ok = ' '.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

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

    READ TABLE itab_zyglt100 WITH KEY zexit  = 'ASS005' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

    ELSE.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51O'

         EXPORTING

              v_modo     = v_modo_bi

         TABLES

              t_dados    = itab_zycbe033

              t_campo    = itab_zycbt034

              t_zycbt032 = itab_zycbt032

              t_zycbt036 = itab_zycbt036

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                        tabela = '/PWS/ZYCBT108'

                                        cpochv = v_chave

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        v_ok = 'X'.

        MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.

        itab_zycbt131-belnr_as = itab_zycbt032-belnr.

        MODIFY itab_zycbt131 TRANSPORTING belnr_as

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2TOP

 

...

  v_ok           TYPE c,

  v_chave        LIKE /pws/zycbe033-cpochv,

  v_sempartida   TYPE c,

  v_saldototal   TYPE c   VALUE 'S',

  v_nrseq        LIKE /pws/zycbt112-nrseq,

  v_tpdoc        TYPE c,

  v_ind_msg2     TYPE c,

  v_ind_errocont TYPE c,

  v_saldo   LIKE /pws/zycbe112-slassoc,

  v_saldo_pa LIKE /pws/zycbe112-slassoc,

* >> Início da exclusão:

  v_modo_bi,

* << Fim da exclusão

  v_zuonr   LIKE bseg-zuonr,

  v_zuonr_fi LIKE bseg-zuonr,

  v_zuonr_fa LIKE bseg-zuonr,

  v_data    LIKE sy-datum,

  v_dtassoc LIKE sy-datum,

  v_moedadif,

  v_sucesso,

  v_linhas TYPE i,

  v_trans(1)   TYPE c,

  v_belnr_ult  LIKE bseg-belnr,

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2X01

 

...

        INCLUDE STRUCTURE /pws/zycbt108.

DATA: END OF itab_zycbt108.

DATA:

     itab_zycbt034  LIKE /pws/zycbt034 OCCURS 10 WITH HEADER LINE,

     itab_zycbt032  LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,

     itab_zycbe033  LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE,

     itab_zycbt013  LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,

     itab_zycbt012  LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE,

     itab_zycbt036  LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE,

     itab_zycbe035  type /pws/zycbe035 occurs 10 with header line.

* >> Início da exclusão:

DATA:  v_num LIKE itab_zycbt036-belnr.

* << Fim da exclusão

* >> Início da inclusão:

DATA:  v_num LIKE itab_zycbt036-belnr,

       v_modo_bi.

* << Fim da inclusão

DATA : wa_zycbe112 LIKE /pws/zycbe112,

       wa_zycbt112 LIKE /pws/zycbt112,

       wa_zycbe117 LIKE /pws/zycbe117,

       wa_zycbe119 LIKE /pws/zycbe119,

       wa_zycbt131 LIKE /pws/zycbt131,

       wa_zycbt131_aux LIKE /pws/zycbt131,

       wa_zycbt007 LIKE /pws/zycbt007,

       wa_zycbt011 LIKE /pws/zycbt011,

       wa_zyglt009 LIKE /pws/zyglt009.

DATA: END OF COMMON PART.