CE PLUS - Nota 007616

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: LI

Data/Hora da Publicação: 21/11/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 10:03:39

Descrição da Nota: VINCULAÇÃO DE ATO CONCESSÓRIO NA LI

Sintoma

Ajustado programa de LI para que possa ser realizada a vunculação a um Ato concessório sem que tenha

sido feita a vinculação prévia dos pedidos a um Ato Concessório.

 

 

Solução

Ajustado programa de LI para que possa ser realizada a vunculação a um Ato concessório sem que tenha

sido feita a vinculação prévia dos pedidos a um Ato Concessório.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

VINCULAÇÃO DE ATO CONCESSÓRIO NA LI

Informações Complementares

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

Nota Número 07616 Data: 21/11/2008 Hora: 11:09:24

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

 

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

Nota Número              : 07616

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00074

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

Referência às notas relacionadas:

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

 

07581  - 00001 - 7.0    - 00007  - VINCULAÇÃO DE ATO CONCESSÓRIO NA LI

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

VINCULAÇÃO DE ATO CONCESSÓRIO NA LI

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

Palavras Chave:

VINCULAÇÃO - LI - ATO - CONCESSÓRIO -

/PWS/SAPMZYCI020

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

Objetos da nota:

REPS /PWS/MZYCI020F02

REPS /PWS/MZYCI020O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI020F02

 

...

          it_zycit245-grupo = itab_zycit433-grupo.

          MODIFY it_zycit245 TRANSPORTING grupo

                  WHERE codcomp EQ it_zycit245-codcomp.

        ENDIF.

      ENDIF.

      READ TABLE it_ekpo WITH KEY matnr = it_zycit245-codcomp.

      IF sy-subrc NE 0.

        v_dele = 'X'.

        IF it_zycit245-grupo NE space.

          LOOP AT itab_zycit433 WHERE grupo EQ it_zycit245-grupo.

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

            READ TABLE it_ekpo WITH KEY matnr = it_zycit245-codcomp.

* << Fim da exclusão

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

            READ TABLE it_ekpo WITH KEY matnr = itab_zycit433-matnr.

* << Fim da inclusão

            IF sy-subrc EQ 0.

              CLEAR v_dele.

              EXIT.

            ENDIF.

          ENDLOOP.

        ENDIF.

        IF v_dele EQ 'X'.

          DELETE it_zycit245 WHERE

                  codcomp EQ it_zycit245-codcomp.

          IF it_zycit245-grupo NE space.

...

 

...

    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

       itab_atos-tipo NE 'G'.

      IF itab_atos-grupo NE space.

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

        LOOP AT itab_zycit433 WHERE grupo EQ it_zycit245-grupo.

* << Fim da exclusão

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

        LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.

* << Fim da inclusão

          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 .

            CLEAR v_dele.

          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

       itab_atos-tipo NE 'G'.

      itab_atos-status = 'E'.

    ENDIF.

    IF itab_atos-status EQ 'E'.

      MODIFY itab_atos TRANSPORTING status

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

                              WHERE nrseqd EQ itab_atos-nrseqd.

      itab_atos2-status    = itab_atos-status.

      MODIFY itab_atos2 TRANSPORTING status

* << Fim da inclusão

                              WHERE nrseqd EQ itab_atos-nrseqd.

    ENDIF.

    CLEAR: itab_atos2.

    itab_atos2-nrseqd     = itab_atos-nrseqd.

    itab_atos2-nratoc     = itab_atos-nratoc.

    itab_atos2-data       = itab_atos-data.

    itab_atos2-modalidade = itab_atos-modalidade.

    itab_atos2-tipo       = itab_atos-tipo.

    itab_atos2-qtd_tot    = itab_atos-qtd_tot.

    itab_atos2-vlfob      = itab_atos-vlfob.

...

 

...

  LOOP AT itab_atos2.

    CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT244'

         EXPORTING

              nrseqd         = itab_atos2-nrseqd

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2.

    CASE sy-subrc.

      WHEN 1.

        DELETE itab_atos2.

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

        CONTINUE.

* << Fim da inclusão

      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

           itab_atos2-tipo NE 'G'.

      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.

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

          READ TABLE itab_zycit433 WITH KEY grupo = it_ekpo-matnr.

* << Fim da exclusão

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

          READ TABLE itab_zycit433 WITH KEY matnr = it_ekpo-matnr.

* << Fim da inclusão

          IF sy-subrc EQ 0.

            READ TABLE itab_atos WITH KEY

                          nrseqd = itab_atos2-nrseqd

                          grupo  = itab_zycit433-grupo.

            IF sy-subrc EQ 0.

              CLEAR: v_dele.

            ENDIF.

          ENDIF.

          IF v_dele EQ 'X'.

            PERFORM call_icon USING text-451

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI020O01

 

...

 

MODULE ordena_lista OUTPUT.

  SORT it_vinculato ASCENDING BY dtatoc nrseqd.

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

  DESCRIBE TABLE it_vinculato LINES tc_vinculato-lines.

* << Fim da exclusão

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

  DESCRIBE TABLE itab_atos2 LINES tc_vinculato-lines.

* << Fim da inclusão

ENDMODULE.

...