CE PLUS - Nota 003132

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: BL

Data/Hora da Publicação: 22/02/2007 00:00:00

Data/Hora Última Alteração: 08/03/2010 16:59:03

Descrição da Nota: DETALHE DO ITEM DA PASTA CONTAINER PROPÕE QUANTIDADE ERRADA

Sintoma

 

Ao colocar dois containers na pasta container do B/L, permite normalmente colocar e vincular o

pedido no primeiro container, porém no segundo container o sistema coloca a quantidade total ao

invés de colocar a quantidade que sobrou e aparece a mensagem que Qtd informada excedeu a Qtd total

do Embarque.

 

Solução

 

propor a quantidade que ainda não foi utilizada para novos detalhes de item.

Versões Tratadas

6.0

Informações Complementares

 

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

Nota Número 03132 Data: 22/02/2007 Hora: 15:12:36

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

 

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

Nota Número              : 03132

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00154

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

DETALHE DO ITEM DA PASTA CONTAINER PROPÕE QUANTIDADE ERRADA

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

Palavras Chave:

DETALHE DO ITEM - CONTAINER - BL - PROPOSIÇÃO DE VALORES

 

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

Objetos da nota:

REPS /PWS/MZYCI002F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI002F02

 

...

    IF NOT itab_zycit094[] IS INITIAL.

      SELECT * FROM /pws/zycit003

      INTO TABLE itab_zycit003

      FOR ALL ENTRIES IN itab_zycit094

      WHERE nrseq = itab_zycit094-nrseq.

    ENDIF.

  ENDIF.

ENDFORM.

FORM move_dados201.

  DATA: ln TYPE i.

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

  DATA: itab_zycit383_temp TYPE /pws/zycit383 OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

  marc = ' '.

  IF NOT itab_zycit003 IS INITIAL.

    LOOP AT itab_zycit003.

      MOVE: itab_zycit003-nrseq    TO itab_zycit383c-nrseq,

            itab_zycit003-ebeln    TO itab_zycit383c-ebeln,

            itab_zycit003-ebelp    TO itab_zycit383c-ebelp,

            itab_zycit003-matnr    TO itab_zycit383c-matnr,

            itab_zycit003-descr    TO itab_zycit383c-descr,

            itab_zycit003-werks    TO itab_zycit383c-werks,

            itab_zycit003-qtd_iten TO itab_zycit383c-qtd_iten,

...

 

...

            itab_zycit003-qtd_iten TO itab_zycit383c-qtd_iten,

            marc                   TO itab_zycit383c-marc.

      APPEND itab_zycit383c.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_zycit383.

    DELETE itab_zycit383c WHERE nrseq = itab_zycit383-nrseq AND

                                ebeln = itab_zycit383-ebeln AND

                                ebelp = itab_zycit383-ebelp.

  ENDLOOP.

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

  SELECT * FROM /pws/zycit383 INTO TABLE itab_zycit383_temp

      FOR ALL ENTRIES IN itab_zycit383c

      WHERE nrseq = itab_zycit383c-nrseq

        AND ebeln = itab_zycit383c-ebeln

        AND ebelp = itab_zycit383c-ebelp.

  LOOP AT itab_zycit383_temp.

    CHECK itab_zycit383_temp-nrcontainer

           NE /pws/zycie383-nrcontainer.

    READ TABLE itab_zycit383c WITH KEY

                          nrseq = itab_zycit383_temp-nrseq

                          ebeln = itab_zycit383_temp-ebeln

                          ebelp = itab_zycit383_temp-ebelp.

    SUBTRACT itab_zycit383_temp-qtd_iten

              FROM itab_zycit383c-qtd_iten.

    IF itab_zycit383c-qtd_iten <= 0.

      DELETE itab_zycit383c

                    WHERE nrseq = itab_zycit383_temp-nrseq

                      AND ebeln = itab_zycit383_temp-ebeln

                      AND ebelp = itab_zycit383_temp-ebelp.

    ELSE.

      MODIFY itab_zycit383c TRANSPORTING qtd_iten

                    WHERE nrseq = itab_zycit383_temp-nrseq

                      AND ebeln = itab_zycit383_temp-ebeln

                      AND ebelp = itab_zycit383_temp-ebelp.

    ENDIF.

  ENDLOOP.

* << Fim da inclusão

  DESCRIBE TABLE itab_zycit383c LINES tc_selitem-lines.

  SORT itab_zycit383c BY nrseq ebeln ebelp.

ENDFORM.

FORM trata_selitem.

  LOOP AT itab_zycit383c WHERE marc = 'X'.

    MOVE: itab_zycit383c-nrseq    TO itab_zycit383-nrseq,

          itab_zycit383c-ebeln    TO itab_zycit383-ebeln,

          itab_zycit383c-ebelp    TO itab_zycit383-ebelp,

          itab_zycit383c-matnr    TO itab_zycit383-matnr,

          itab_zycit383c-descr    TO itab_zycit383-descr,

...