CE PLUS - Nota 008717

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 23/07/2009 00:00:00

Data/Hora Última Alteração: 09/03/2010 17:09:35

Descrição da Nota: TRATAMENTO PARA QUEBRAR ADIÇÃO DA DI POR INCOTERMS DIFERENTE.

Sintoma

 

Tratamento para quebrar adição da DI por incoterms diferente.

 

Solução

 

Tratar o incoterm por item para quebra de adição e contabilização da fatura.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 08717 Data: 23/07/2009 Hora: 10:40:56

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

 

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

Nota Número              : 08717

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00106

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

TRATAMENTO PARA QUEBRAR ADIÇÃO DA DI POR INCOTERMS DIFERENTE.

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

Palavras Chave:

ADIÇÃO - INCOTERM DIFERENTE - EMBARQUE - FATURA

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCI001                        0102

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001X01

REPS /PWS/MZYCI003O01

REPS /PWS/MZYCI003TOP

REPS /PWS/MZYCI003X01

REPS /PWS/MZYCI023F01

REPT /PWS/SAPMZYCI001

TABD /PWS/ZYCIT003

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI001                        0102

 

*Criado campo em tela 0102, no final da table control

 

INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-INCO1" em tbl.contr./tabstr.

Altura                   3

Comprimento Visível      3

Linha                    1

Coluna                   36

Formato                  CHAR

Linhas mínimas           3

Texto                    ___

 

INCLUIR TEXTO "/PWS/ZYCIE003-INCO1" em tbl.contr./tabstr.

Altura                   3

Comprimento Visível      15

Linha                    1

Coluna                   36

Formato                  CHAR

Texto                    Incoterms

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

              AND     itab_zycit003-ntgew    IS INITIAL

              AND NOT itab_zycit003-qtd_iten IS INITIAL.

                itab_zycit003-ntgew = itab_zycit003-qtd_iten

                          *      itab_itens_aux-ntgew.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

        itab_zycit003-gewei = 'KG'.

      ENDIF.

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

      move itab_itens_aux-inco1 to itab_zycit003-inco1.

* << Fim da inclusão

      PERFORM: aplicacao.

      PERFORM verifica_taxa.

      MODIFY itab_zycit003.

    ENDLOOP.

    IF /pws/zycit094 IS INITIAL.

      SELECT SINGLE * FROM /pws/zycit094                "#EC CI_NOFIRST

        WHERE nrseq = /pws/zycie001-nrseq.

    ENDIF.

    IF NOT /pws/zycit094 IS INITIAL.

      IF /pws/zycit093 IS INITIAL.

...

 

...

  DATA: v_flag_loop,

       e_status.

  DATA BEGIN OF itab_sele OCCURS 0.

  DATA: ebeln LIKE ekpo-ebeln,

        ebelp LIKE ekpo-ebelp.

  DATA END OF itab_sele.

  e_status = v_status_s.

  READ TABLE itab_zycit003 WITH KEY mark = 'X'.

  MOVE: itab_zycit003-lifnr TO v_lifnr,

        itab_zycit003-waers TO v_moeda.

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

  MOVE: itab_zycit003-inco1 TO v_inco1.

* << Fim da inclusão

...

 

...

    IF v_lifnr NE itab_zycit003-lifnr.

      MESSAGE i015 WITH text-070.

      v_flag_loop = 'X'.

      EXIT.

    ENDIF.

    IF v_moeda NE itab_zycit003-waers.

      MESSAGE s015 WITH text-237 text-238.

      v_flag_loop = 'X'.

      EXIT.

    ENDIF.

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

    IF v_inco1 NE itab_zycit003-inco1.

      MESSAGE i015 WITH text-495.

      v_flag_loop = 'X'.

      EXIT.

    ENDIF.

* << Fim da inclusão

    CLEAR vsaldo.

    LOOP AT itab_zycit263 WHERE

         nrseq = itab_zycit003-nrseq AND

         ebeln = itab_zycit003-ebeln AND

         ebelp = itab_zycit003-ebelp AND

         eliminado = space.

      vsaldo = vsaldo + itab_zycit263-qtd_iten.

    ENDLOOP.

    IF vsaldo >= itab_zycit003-qtd_iten.

      MESSAGE i015 WITH text-194.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

 

* >> Início da inclusão:

DATA : v_inco1 TYPE /pws/zycit003-inco1.

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

        READ TABLE itab_sele WITH

               KEY ebeln = itab_zycit003-ebeln

                   ebelp = itab_zycit003-ebelp.

        IF sy-subrc NE 0.

          DELETE itab_zycit003.

        ENDIF.

      ENDLOOP.

    ENDIF.

    CLEAR okcode.

    MOVE: /pws/zycie001-bukrs   TO /pws/zycie006-bukrs  ,

* >> Início da exclusão: MODULE LOAD_DATA

          /pws/zycie001-inco1   TO /pws/zycie006-inco1,

* << Fim da exclusão

          /pws/zycie001-waers   TO /pws/zycie006-waers_emb.

* >> Início da inclusão: MODULE LOAD_DATA

    IF NOT itab_zycit003-inco1 IS INITIAL.

      MOVE  itab_zycit003-inco1   TO /pws/zycie006-inco1.

    ELSE.

      MOVE  /pws/zycie001-inco1   TO /pws/zycie006-inco1.

    ENDIF.

* << Fim da inclusão

    IF  ( NOT /pws/zycie006-tpfatura EQ '02' OR

          NOT /pws/zycie006-tpfatura EQ '03' OR

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003TOP

 

...

 

DATA BEGIN OF wa_zycit003.

        INCLUDE STRUCTURE /pws/zycit003.

* >> Início da exclusão:

DATA  inco1 LIKE /pws/zycie001-inco1.

* << Fim da exclusão

DATA END OF wa_zycit003.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

 

DATA  BEGIN OF itab_zycit003_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit003.

* >> Início da exclusão:

DATA  inco1 LIKE /pws/zycie001-inco1.

* << Fim da exclusão

DATA  END   OF itab_zycit003_aux.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

      it_zycit001-status  = 'DS' .

      UPDATE /pws/zycit001 SET   status   = 'DS'

            WHERE nrseq = itab_it-nrseq.

      MODIFY it_zycit001 INDEX 1.

      MODIFY /pws/zycit001 FROM TABLE it_zycit001.

      IF sy-subrc = 0.

        PERFORM atualiza_status.

      ENDIF.

    ENDIF.

  ELSE.

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

    SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE

           nrseq  EQ /pws/zycie085-nrseqdi AND

           cancel EQ space.

    IF sy-subrc NE 0.

* << Fim da inclusão

    IF NOT itab_it-nrseq IS INITIAL.

      it_zycit001-status  = 'DB' .

      MODIFY it_zycit001 INDEX 1.

      MODIFY /pws/zycit001 FROM TABLE it_zycit001.

      IF sy-subrc = 0.

        PERFORM atualiza_status.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

...

 

...

 

  LOOP AT itab_it_aux.

    IF sy-tabix = 1.

      MOVE-CORRESPONDING itab_it_aux TO itab_itb.

    ENDIF.

    v_tabix = v_tabix + 1.

    CLEAR v_flag_quebra.

    v_cont = v_cont + 1.

    IF itab_it_aux-j_1bnbm           NE itab_itb-j_1bnbm     .

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

      PERFORM adic_next.

    ELSEIF itab_it_aux-inco1      NE itab_itb-inco1.

* << Fim da inclusão

      PERFORM adic_next.

...

 

...

        ENDIF.

        IF itab_it-advalicms IS INITIAL.

          itab_it-advalicms = itab_zycit003-aliqicms.

        ENDIF.

      ENDIF.

      IF itab_it-codmat IS INITIAL.

        itab_it-codmat = '01'.

      ENDIF.

      READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.

      IF sy-subrc EQ 0.

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

        itab_it-inco1  = itab_zycit001-inco1.

* << Fim da exclusão

        itab_it-agente = itab_zycit001-agente.

      ENDIF.

      IF NOT itab_it-qtd_itencacl IS INITIAL.

        IF itab_it-qtd_itencacl > itab_it-qtd_iten.

         itab_it-qtd_iten     = itab_it-qtd_itencacl - itab_it-qtd_iten.

         itab_it-qtd_itenc3 = itab_it-qtd_itencacl - itab_it-qtd_itenc3.

          itab_it-qtd_itencacl = 0.

          itab_it-cacl         = 'X'.

        ENDIF.

      ENDIF.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI001

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 495

 

Texto: (32 caracteres)

"Itens devem ter o mesmo Incoterm"

 

Comprimento máximo: 32

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIT003

 

*Acrescentado o campo ao final da tabela /PWS/ZYCIT003

CAMPO  TP.CAMPO    CHAVE INIC  CATEGORIA COMP  DECIMAIS   DESCRIÇÃO BREVE

INCO1 INCO1                 CHAR 3 0   Incoterms parte 1