CE PLUS - Nota 002944

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 23/01/2007 00:00:00

Data/Hora Última Alteração: 22/02/2011 15:09:53

Descrição da Nota: EMBARQUE ESTÁ SE PERDENDO AO VINCULAR ITENS DO PEDIDO OU SCHEDULE

Sintoma

Ao vincular o schedule agreement ou o pedido no embarque, salvar e sair do embarque e depois

precisar alterar a quantidade do schedule agreement ou  do pedido, ao entrar no embarque, eliminar

os itens e vincular de novo fica com quantidade do schedule ou do pedido no embarque negativa ou

zerada.

 

 

 

Solução

atualizar quantidade de itens conforme selecionado.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

SALDO EMBARQUE

Informações Complementares

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

Nota Número 02944 Data: 23/01/2007 Hora: 10:37:16

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

 

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

Nota Número              : 02944

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00149

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

Referência às notas relacionadas:

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

 

02234  - 00001 - 6.0    - 00025  - SALDO EMBARQUE

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

EMBARQUE ESTÁ SE PERDENDO AO VINCULAR ITENS DO PEDIDO OU SCHEDULE

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

Palavras Chave:

VINCULAÇÃO - SCHEDULE AGREEMENT - PEDIDO - EXCEDER SALDO

 

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

Objetos da nota:

REPS /PWS/MZYCI001F01

REPS /PWS/MZYCI001F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F01

 

...

           b~spart

           c~gsber

      INTO CORRESPONDING FIELDS OF TABLE itab_divisao2

      FROM ( (  ekpo AS a INNER JOIN mara AS b

             ON a~ematn = b~matnr )

        INNER JOIN t134h AS c ON b~spart = c~spart

                              AND a~werks = c~bwkey )

        FOR ALL ENTRIES IN itab_itens

      WHERE a~ebeln = itab_itens-ebeln

        AND a~ebelp = itab_itens-ebelp.

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

refresh: itab_zycit013.

* << Fim da inclusão

    SELECT * FROM /pws/zycit013 INTO TABLE itab_zycit013

           FOR ALL ENTRIES IN itab_itens WHERE

           ebeln = itab_itens-ebeln AND

           ebelp = itab_itens-ebelp.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

    DATA: v_qtdemb TYPE /pws/zycit003-qtd_iten,

          v_slqtde TYPE /pws/zycit013-slqtde  .

    DATA: BEGIN OF itab_zycit003_util OCCURS 0.

            INCLUDE STRUCTURE /pws/zycit003.

    DATA: END OF itab_zycit003_util.

    SELECT ebeln ebelp menge bstyp FROM ekpo

    INTO TABLE itab_pedido

    FOR ALL ENTRIES IN itab_zycit013

    WHERE ebeln EQ itab_zycit013-ebeln

      AND ebelp EQ itab_zycit013-ebelp.

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

    REFRESH: itab_zycit003_util.

    itab_zycit003_util[] = itab_zycit003[].

* << Fim da inclusão

    SELECT * FROM /pws/zycit003

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

    INTO TABLE itab_zycit003_util

* << Fim da exclusão

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

    APPENDING TABLE itab_zycit003_util

* << Fim da inclusão

      FOR ALL ENTRIES IN itab_zycit013

      WHERE ebeln EQ itab_zycit013-ebeln

        AND ebelp EQ itab_zycit013-ebelp

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

      AND nrseqli NE /pws/zycie001-nrseq.

* << Fim da exclusão

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

        AND nrseq NE /pws/zycie001-nrseq.

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_zycit013.

    CLEAR: itab_pedido, itab_zycit003_util.

    READ TABLE itab_pedido WITH KEY ebeln = itab_zycit013-ebeln

                                    ebelp = itab_zycit013-ebelp.

    IF sy-subrc EQ 0.

      CLEAR v_qtdemb.

      LOOP AT itab_zycit003_util WHERE ebeln EQ itab_zycit013-ebeln

                                 AND   ebelp EQ itab_zycit013-ebelp.

        v_qtdemb = v_qtdemb + itab_zycit003_util-qtd_iten.

      ENDLOOP.

    ENDIF.

    v_slqtde = itab_pedido-menge - v_qtdemb.

    itab_zycit013-slqtde = v_slqtde.

    UPDATE /pws/zycit013 SET slqtde  = itab_zycit013-slqtde

                             menge   = itab_pedido-menge

                       WHERE ebeln   = itab_zycit013-ebeln

                         AND ebelp   = itab_zycit013-ebelp .

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

    itab_zycit013-menge   = itab_pedido-menge.

* << Fim da inclusão

    MODIFY itab_zycit013.

  ENDLOOP.

ENDFORM.

...