CE PLUS - Nota 009619

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

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

Data/Hora Última Alteração: 20/06/2011 12:00:39

Descrição da Nota: IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

Sintoma

Implementação Drawback tipo embarcação

 

 

Solução

Implementação Drawback tipo embarcação

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

NA LI AO SAIR ESTA NÃO ESTA GRAVANDO A EMPRESA E O IMPORTADOR

NÃO ESTÁ PREENCHENDO A QUANTIDADE NAS INFORMAÇÕES DE DRAWBACK

IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

O PREÇO UNITÁRIO DA LI ESTÁ SENDO O FOB MESMO COM INCOTERM DIFERENTE.

Informações Complementares

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

Nota Número 09619 Data: 23/12/2009 Hora: 15:20:56

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

 

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

Nota Número              : 09619

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

04896  - 00001 - 7.0    - 00003  - O PREÇO UNITÁRIO DA LI ESTÁ SENDO O FOB MESMO COM INCOTERM DIFERE

07396  - 00002 - 7.0    - 00007  - NA LI AO SAIR ESTA NÃO ESTA GRAVANDO A EMPRESA E O IMPORTADOR

09297  - 00003 - 8.0    - 00001  - NÃO ESTÁ PREENCHENDO A QUANTIDADE NAS INFORMAÇÕES DE DRAWBACK

09618  - 00004 - 8.0    - 00002  - IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

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

IMPLEMENTAÇÃO DRAWBACK TIPO EMBARCAÇÃO

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

Palavras Chave:

LI - DRAWBACK - TIPO - EMBARCAÇÃO - VINCULAR - ATO - CONCESSÓRIO

/PWS/SAPMZYCI020

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

Objetos da nota:

REPS /PWS/MZYCI020F01

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F01

 

...

             WHERE nrseqd  EQ /pws/zycie078-nrseqd.

  ENDIF.

  LOOP AT it_zycit079.

    v_tabix = sy-tabix.

    IF /pws/zycie078-drawback EQ '1'.

      READ TABLE itab_itens_aux WITH KEY ebeln = it_zycit079-ebeln

                                         ebelp = it_zycit079-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE it_zycit245 WITH KEY nrseqd  = /pws/zycie078-nrseqd.

        IF sy-subrc EQ 0.

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

          IF  /pws/zycie078-tipodb = 'G'.

* << Fim da exclusão

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

          IF  /pws/zycie078-tipodb CA 'GD'.

* << Fim da inclusão

            it_zycit245-sdocomp_t = it_zycit245-netpr_t -

                                               /pws/zycie078-vltot.

            IF v_salvo_drawback IS INITIAL.

              it_zycit245-vinculado = it_zycit245-vinculado +

                                                /pws/zycie078-qtdest.

              it_zycit245-vlvinc = it_zycit245-vlvinc +

                                               v_vlfobli.

            ENDIF.

            MODIFY it_zycit245 TRANSPORTING sdocomp_t vinculado vlvinc

                             WHERE nrseqd = /pws/zycie078-nrseqd.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

             AND ddlanguage = sy-langu(1).

  SELECT SINGLE * FROM /pws/zycit321.

  SELECT SINGLE * FROM /pws/zycbt007

          WHERE bukrs EQ /pws/zycie078-bukrs.

  IF sy-subrc NE 0.

    SELECT SINGLE * FROM /pws/zycbt007

            WHERE bukrs EQ space.

  ENDIF.

  SELECT * FROM /pws/zycit244 INTO TABLE it_zycit244

         WHERE status  EQ 'D'

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

           AND ( tipo  EQ 'C' OR tipo EQ 'G' OR tipo EQ 'N' )

* << Fim da exclusão

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

           AND tipo IN ('C','G','N','E','D')

* << Fim da inclusão

           AND vcto_vg >= sy-datlo.                     "#EC CI_NOFIELD

  SELECT * FROM /pws/zycit245 INTO TABLE it_zycit245

         FOR ALL ENTRIES IN it_zycit244

         WHERE nrseqd EQ it_zycit244-nrseqd

           AND nritem < 90000.                            "#EC PORTABLE

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

    SELECT * FROM /pws/zycit433

   INTO TABLE itab_zycit433                             "#EC CI_NOFIELD

          WHERE dtde  <= sy-datlo

            AND dtate >= sy-datlo.

...

 

...

    /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.

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

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

       it_zycit244-tipo NE 'G'.

* << Fim da exclusão

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

       it_zycit244-tipo NA 'GD'.

* << Fim da inclusão

      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.

        ENDIF.

...

 

...

            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.

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

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

       it_zycit244-tipo NE 'G' AND

* << Fim da exclusão

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

       it_zycit244-tipo NA 'GD' AND

* << Fim da inclusão

       it_zycit245-j_1bnbm NE /pws/zycie078-steuc1.

      DELETE it_zycit245.

      CONTINUE.

    ENDIF.

    itab_atos-nrseqd     = it_zycit245-nrseqd    .

    itab_atos-nritem     = it_zycit245-nritem    .

    itab_atos-nratoc     = it_zycit244-nratoc    .

    itab_atos-matnr      = it_zycit245-codcomp   .

    itab_atos-grupo      = it_zycit245-grupo     .

    itab_atos-j_1bnbm    = it_zycit245-j_1bnbm   .

    itab_atos-tipo       = it_zycit244-tipo      .

    itab_atos-modalidade = it_zycit244-modalidade.

    itab_atos-data       = it_zycit244-dtatoc    .

    itab_atos-vlfob = it_zycit245-netpr_t - it_zycit245-vlvinc.

    itab_atos-qtd_tot =

            it_zycit245-qtd_ncm - it_zycit245-vinculado.

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

    IF itab_atos-vlfob <= 0 AND it_zycit244-tipo EQ 'G'.

* << Fim da exclusão

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

    IF itab_atos-vlfob <= 0 AND it_zycit244-tipo CA 'GD'.

* << Fim da inclusão

      CONTINUE.

    ENDIF.

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

    IF itab_atos-qtd_tot <= 0 AND it_zycit244-tipo NE 'G'.

* << Fim da exclusão

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

    IF itab_atos-qtd_tot <= 0 AND it_zycit244-tipo NA 'GD'.

* << Fim da inclusão

      CONTINUE.

    ENDIF.

...

 

...

      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.

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

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

       itab_atos-tipo NE 'G'.

* << Fim da exclusão

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

       itab_atos-tipo NA 'GD'.

* << Fim da inclusão

      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 +

                                  itab_zycit079-netpr .

...

 

...

        it_zycit245-qtd_ncm = it_zycit245-qtd_ncm +

                              itab_zycit079-qtd_iten.

        it_zycit245-netpr_t = it_zycit245-netpr_t +

                              itab_zycit079-netpr .

      ENDLOOP.

    ENDIF.

    IF itab_atos-vlfob < it_zycit245-netpr_t.

      itab_atos-status = 'E'.

    ENDIF.

    IF itab_atos-qtd_tot < it_zycit245-qtd_ncm AND

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

       itab_atos-tipo NE 'G'.

* << Fim da exclusão

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

       itab_atos-tipo NA 'GD'.

* << Fim da inclusão

      itab_atos-status = 'E'.

    ENDIF.

    IF itab_atos-status EQ 'E'.

      MODIFY itab_atos TRANSPORTING status

                              WHERE nrseqd EQ itab_atos-nrseqd.

      itab_atos2-status    = itab_atos-status.

      MODIFY itab_atos2 TRANSPORTING status

                              WHERE nrseqd EQ itab_atos-nrseqd.

    ENDIF.

    CLEAR: 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.

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

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

           itab_atos2-tipo NE 'G'.

* << Fim da exclusão

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

        itab_atos2-tipo NA 'GD'.

* << Fim da inclusão

      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.

            READ TABLE itab_atos WITH KEY

...

 

...

    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.

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

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

         itab_atos2-tipo NE 'G'.

* << Fim da exclusão

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

        itab_atos2-tipo NA 'GD'.

* << Fim da inclusão

        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,

                     itab_atos-nritem   TO it_zycit079-nritem_db.

...

 

...

            it_zycit172-digito     TO /pws/zycie078-digito.

      IF itab_atos2-modalidade = 'I'.

        /pws/zycie078-codregtri = '2'.

      ELSE.

        /pws/zycie078-codregtri = '5'.

      ENDIF.

      IF NOT /pws/zycie078-tipodb IS INITIAL.

        IF /pws/zycie078-modalidade EQ 'I'.

          /pws/zycie078-drawback = '3'.

        ELSE.

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

          IF /pws/zycie078-tipodb = 'G'.

* << Fim da exclusão

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

          IF /pws/zycie078-tipodb CA 'GD'.

* << Fim da inclusão

            /pws/zycie078-drawback = '1'.

          ELSE.

            /pws/zycie078-drawback = '2'.

          ENDIF.

        ENDIF.

      ENDIF.

      LOOP AT itab_atos2 WHERE nrseqd NE /pws/zycit078-nrseqd.

        CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT244'

             EXPORTING

                  nrseqd = itab_atos2-nrseqd.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

MODULE load_item OUTPUT.

  v_total = /pws/zycie079a-qtd_iten * /pws/zycie079a-netpr.

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

  DATA: v_steu LIKE it_zycit079-steuc1."#EC NEEDED

* << Fim da exclusão

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

  DATA: v_steu LIKE it_zycit079-steuc1.                     "#EC NEEDED

* << Fim da inclusão

  v_steu = it_zycit079-steuc1 .

  REPLACE '.' WITH '0' INTO v_steu.

  IF sy-subrc EQ 0.

    CONCATENATE it_zycit079-steuc1(4) it_zycit079-steuc1+5(2)

               it_zycit079-steuc1+8(2) INTO /pws/zycie079a-ncm.

  ELSE.

    /pws/zycie079a-ncm = it_zycit079-steuc1.

  ENDIF.

  IF v_txtki IS INITIAL.

    CONCATENATE /pws/zycie079a-nrseqli /pws/zycie079a-ebeln

...

 

...

MODULE load_cabec_110 OUTPUT.

  IF /pws/zycie078-modalidade EQ 'I'.

    /pws/zycie078-drawback = '3'.

  ELSE.

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

    IF /pws/zycie078-tipodb EQ 'G'.

* << Fim da exclusão

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

    IF /pws/zycie078-tipodb CA 'GD'.

* << Fim da inclusão

      /pws/zycie078-drawback = '1'.

    ELSEIF /pws/zycie078-tipodb IS INITIAL.

      /pws/zycie078-drawback = '3'.

    ELSE.

      /pws/zycie078-drawback = '2'.

    ENDIF.

  ENDIF.

  IF v_tcode = '/PWS/ZYCI020_C'.

    wa_zycit078-drawback = /pws/zycie078-drawback.

  ENDIF.

...

 

...

MODULE status_0810 OUTPUT.

  SET PF-STATUS '0810'.

  SET TITLEBAR  '0810'.

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

  LOOP AT it_vinculato WHERE tipo NE 'G'.

* << Fim da exclusão

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

  LOOP AT it_vinculato WHERE tipo NA 'GD'.

* << Fim da inclusão

    EXIT.

  ENDLOOP.

  IF sy-subrc NE 0.

    LOOP AT SCREEN.

      IF screen-name EQ '/PWS/ZYCIE079-SLQTDE' OR

         screen-name EQ '/PWS/ZYCIE079-MEINS' OR

         screen-name EQ '/PWS/ZYCIE079-DESC_COMPLEM' .

        screen-invisible = 1.

        MODIFY SCREEN.

      ENDIF.

...