CE PLUS - Nota 013130

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 02/08/2013 09:32:29

Data/Hora Última Alteração: 02/08/2013 09:32:29

Descrição da Nota: VINCULAÇÃO DE DRAWBACK ISENÇÃO

Sintoma

Ao tentar vincular um ato concessório o programa de LI está exibindo saldo de valor e quantidade

incorreto para os atos de isenção.

 

 

Solução

Ajustado programa para desconsiderar o parametro de controle por NCM quando o ato concessório for de

Isenção.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

PERMITIR VINCULÇÃO DE ITENS DA LI AO ATO CONCESSÓRIO

IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

Informações Complementares

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

Nota Número 13130 Data: 22/07/2013 Hora: 09:22:13

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

 

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

Nota Número              : 13130

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00005

Agrupamento              : 00159

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

Referência às notas relacionadas:

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

 

09619  - 00001 - 8.0    - 00002  - IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

12946  - 00002 - 9.0    - 00004  - PERMITIR VINCULÇÃO DE ITENS DA LI AO ATO CONCESSÓRIO

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

VINCULAÇÃO DE DRAWBACK ISENÇÃO

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

Palavras Chave:

LI - QUANTIDADE - VALOR - INCORRETO - PARAMETRO - CONTROLE - NCM

/PWS/SAPMZYCI020 - DRAWBACK - ISENÇÃO

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

Objetos da nota:

REPS /PWS/MZYCI020F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

    MODIFY itab_zycit079.

    /pws/zycie079-qtd_iten = /pws/zycie078-qtdest .

    /pws/zycit245-netpr_t = /pws/zycit245-netpr_t +

                            itab_zycit079-netpr.

    /pws/zycit245-waers =  /pws/zycbt007-waersa.

    /pws/zycie079-meins = itab_zycit079-meins.

  ENDLOOP.

  LOOP AT it_zycit245.

    CLEAR: itab_atos.

    READ TABLE it_zycit244 WITH KEY nrseqd = it_zycit245-nrseqd.

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

    IF /pws/zycit321-c_comum NE 'X' AND

* << Fim da exclusão

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

    IF  ( /pws/zycit321-c_comum NE 'X' OR

           it_zycit244-modalidade EQ 'I' ) AND

* << Fim da inclusão

       it_zycit244-tipo NA 'GD'.

      IF it_zycit245-codcomp IS INITIAL.

        CONTINUE.

      ENDIF.

      IF it_zycit245-grupo EQ space.

        READ TABLE itab_zycit433 WITH KEY matnr = it_zycit245-codcomp.

        IF sy-subrc EQ 0.

          it_zycit245-grupo = itab_zycit433-grupo.

          MODIFY it_zycit245 TRANSPORTING grupo

                  WHERE codcomp EQ it_zycit245-codcomp.

...

 

...

          IF it_zycit245-grupo NE space.

            LOOP AT itab_zycit433 WHERE grupo EQ it_zycit245-grupo.

              DELETE it_zycit245 WHERE

                      codcomp EQ itab_zycit433-matnr.

            ENDLOOP.

          ENDIF.

          CONTINUE.

        ENDIF.

      ENDIF.

    ENDIF.

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

    IF /pws/zycit321-c_comum EQ 'X' AND

* << Fim da exclusão

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

    IF  ( /pws/zycit321-c_comum NE 'X' OR

          it_zycit244-modalidade EQ 'I' ) AND

* << Fim da inclusão

       it_zycit244-tipo NA 'GD' AND

       it_zycit245-j_1bnbm NE /pws/zycie078-steuc1.

      DELETE it_zycit245.

      CONTINUE.

    ENDIF.

    itab_atos-nrseqd     = it_zycit245-nrseqd    .

    itab_atos-identify   = it_zycit244-identify  .

    itab_atos-nritem     = it_zycit245-nritem    .

    itab_atos-nratoc     = it_zycit244-nratoc    .

    itab_atos-matnr      = it_zycit245-codcomp   .

...

 

...

    IF itab_atos-qtd_tot < 0.

      CLEAR: itab_atos-qtd_tot.

    ENDIF.

    IF itab_atos-vlfob < 0.

      CLEAR: itab_atos-vlfob.

    ENDIF.

    APPEND itab_atos.

  ENDLOOP.

  LOOP AT itab_atos.

    CLEAR: it_zycit245.

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

    IF /pws/zycit321-c_comum NE 'X' AND

* << Fim da exclusão

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

    IF  ( /pws/zycit321-c_comum NE 'X' OR

           itab_atos-modalidade EQ 'I' ) AND

* << Fim da inclusão

       itab_atos-tipo NA 'GD'.

      IF itab_atos-grupo NE space.

        LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.

          v_dele = 'X'.

          LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.

            READ TABLE itab_zycit079 WITH KEY ebeln = it_ekpo-ebeln

                                              ebelp = it_ekpo-ebelp.

            it_zycit245-qtd_ncm = it_zycit245-qtd_ncm +

                                  itab_zycit079-qtd_iten.

            it_zycit245-netpr_t = it_zycit245-netpr_t +

...

 

...

        DELETE itab_atos2.

        CONTINUE.

      WHEN 2.

        MESSAGE a015 WITH text-153.

        .

    ENDCASE.

    IF itab_atos2-status EQ 'E'.

      PERFORM call_icon USING text-451

                              text-453

                  CHANGING itab_atos2-icon.

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

    ELSEIF /pws/zycit321-c_comum NE 'X' AND

* << Fim da exclusão

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

    ELSEIF  ( /pws/zycit321-c_comum NE 'X' OR

              itab_atos2-modalidade EQ 'I' ) AND

* << Fim da inclusão

        itab_atos2-tipo NA 'GD'.

      LOOP AT it_ekpo.

        READ TABLE itab_atos WITH KEY

                      nrseqd = itab_atos2-nrseqd

                      matnr  = it_ekpo-matnr.

        IF sy-subrc NE 0.

          v_dele = 'X'.

          CLEAR itab_zycit433.

          READ TABLE itab_zycit433 WITH KEY matnr = it_ekpo-matnr.

          IF sy-subrc EQ 0.

...

 

...

  CASE sy-ucomm.

    WHEN 'BACK'.

      LEAVE TO SCREEN 100.

    WHEN 'VINCULA'.

      READ TABLE itab_atos2 WITH KEY marc = 'X'.

      IF sy-subrc NE 0 OR itab_atos2-status EQ 'E'.

        MESSAGE i015 WITH text-457.

        EXIT.

      ENDIF.

      READ TABLE it_zycit244 WITH KEY nrseqd = itab_atos2-nrseqd.

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

      IF /pws/zycit321-c_comum NE 'X' AND

* << Fim da exclusão

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

      IF  ( /pws/zycit321-c_comum NE 'X' OR

            itab_atos2-modalidade EQ 'I' ) AND

* << Fim da inclusão

        itab_atos2-tipo NA 'GD'.

        LOOP AT itab_atos WHERE nrseqd EQ itab_atos2-nrseqd.

          IF itab_atos-grupo NE space.

            LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.

              LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.

                READ TABLE it_zycit079 WITH KEY

                                          ebeln = it_ekpo-ebeln

                                          ebelp = it_ekpo-ebelp.

                MOVE:

                     itab_atos-nritem+2 TO it_zycit079-item_drawback,

...

 

...

  LOOP AT it_zycit079 WHERE item_drawback EQ space.

    READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln

                                ebelp = it_zycit079-ebelp.

    v_vl_temp =  it_zycit079-qtd_iten * it_zycit079-netpr.

    PERFORM converter_moeda USING v_vl_temp

                               it_zycit079-waers

                               /pws/zycbt007-waersa

                               it_ekpo-aedat

                      CHANGING v_vl_temp2 .

    CLEAR it_zycit245.

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

    IF /pws/zycit321-c_comum NE 'X' AND

* << Fim da exclusão

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

    IF  ( /pws/zycit321-c_comum NE 'X' OR

          it_zycit244-modalidade EQ 'I' ) AND

* << Fim da inclusão

       it_zycit244-tipo NA 'GD'.

      READ TABLE itab_zycit433 WITH KEY matnr = it_zycit079-matnr.

      IF sy-subrc EQ 0.

        v_grupo = itab_zycit433-grupo.

        LOOP AT itab_zycit433 WHERE grupo EQ v_grupo.

          READ TABLE it_zycit245 WITH KEY

                                    codcomp = itab_zycit433-matnr

                                    j_1bnbm = /pws/zycie078-steuc1.

          IF sy-subrc EQ 0.

            v_saldo = it_zycit245-qtd_ncm - it_zycit245-vinculado.

...