CE PLUS - Nota 013596

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 21/01/2014 08:50:39

Data/Hora Última Alteração: 21/01/2014 08:52:21

Descrição da Nota: TRATAMENTO DE QUEBRA DA INBOUND EM LOTES

Sintoma

Está levando todas as linhas da partição de lote da inbound para o recebimento, inclusive com

quantidade zero.

 

 

Solução

Ajustado programa de recebimento para tratar processos de Inbound com quebra em lotes.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO NO BATCH-INPUT CAMPO QCERT_MIGO-ANSWER NÃO EXISTENTE NA TELA

ERRO NO RECEBIMENTO COM INBOUND

Informações Complementares

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

Nota Número 13596 Data: 20/01/2014 Hora: 10:02:21

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

 

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

Nota Número              : 13596

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00007

Agrupamento              : 00170

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

Referência às notas relacionadas:

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

 

12767  - 00001 - 9.0    - 00003  - ERRO NO BATCH-INPUT CAMPO QCERT_MIGO-ANSWER NÃO EXISTENTE NA TELA

13532  - 00002 - 9.0    - 00006  - ERRO NO RECEBIMENTO COM INBOUND

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

TRATAMENTO DE QUEBRA DA INBOUND EM LOTES

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

Palavras Chave:

REACEBIMENTO - INBOUND - QUEBRA - LOTE

/PWS/SAPMZYCI017

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

Objetos da nota:

FUNC /PWS/ZYCI_INBOUND_DELIVERY

FUNC /PWS/ZYCI_TRANSACAO_MIGO

REPS /PWS/MZYCI017F01

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_INBOUND_DELIVERY

 

...

        APPEND t_zycit032.

      ENDIF.

    ENDLOOP.

    IF NOT t_zycit032[] IS INITIAL.

      EXIT.

    ENDIF.

    CLEAR: t_ekes, t_ekes[].

    SELECT * FROM ekes INTO TABLE t_ekes

       FOR ALL ENTRIES IN t_zycit511

       WHERE vbeln = t_zycit511-inbound_delivery.       "#EC CI_NOFIELD

* >> Início da exclusão: FUNCTION /PWS/ZYCI_INBOUND_DELIVERY

    DELETE t_ekes WHERE dabmg <> '0.000'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_INBOUND_DELIVERY

    CLEAR t_ekes.

    DELETE t_ekes WHERE dabmg <> '0.000'

                     or menge EQ t_ekes-menge.

* << Fim da inclusão

    IF nf_remessa IS INITIAL.

      LOOP AT t_zycit042.

        CLEAR: lv_menge, lv_qtd_iten.

        lv_qtd_iten = t_zycit042-qtd_iten.

        LOOP AT t_ekes WHERE ebeln = t_zycit042-ebeln

                         AND ebelp = t_zycit042-ebelp.

          lv_menge = lv_menge + t_ekes-menge.

        ENDLOOP.

        IF lv_menge <> lv_qtd_iten.

          t_zycit032-msg = text-059.

...

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_MIGO

 

...

    ENDIF.

    PERFORM bdc_field  USING:

           'BDC_OKCODE'      '=OK_GO'.

    IF inbound EQ 'X'.

      LOOP AT t_zycit031.

        lt_ekes-vbeln = t_zycit031-vbeln.

        APPEND lt_ekes.

      ENDLOOP.

      SORT lt_ekes.

      DELETE ADJACENT DUPLICATES FROM lt_ekes.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO

      SORT t_zycit031 BY vbeln ebeln ebelp.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO

      SORT t_zycit031 BY vbeln ebeln ebelp vbelp.

* << Fim da inclusão

      LOOP AT lt_ekes.

        PERFORM bdc_screen USING 'SAPLMIGO' '0001'.

        PERFORM bdc_field USING:

            'BDC_OKCODE'                 '=OK_GO',

            'BDC_CURSOR'                 'GODYNPRO-INBOUND_DELIVERY',

            'GODYNPRO-INBOUND_DELIVERY'  lt_ekes-vbeln.

        IF v_ok = 'S'.

          PERFORM bdc_field USING:

           'GOHEAD-OIB_BLTIME'   v_time.

        ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

      READ TABLE itab_itens_nf WITH KEY ebeln = itab_ekes-ebeln

                                        ebelp = itab_ekes-ebelp.

      itab_zycit031-tcode  = itab_zycie033-tcode.

      itab_zycit031-tabela = itab_zycie033-tabela.

      itab_zycit031-cpochv = itab_zycie033-cpochv.

      itab_zycit031-ebeln  = itab_itens_nf-ebeln.

      itab_zycit031-ebelp  = itab_itens_nf-ebelp.

      itab_zycit031-lgort  = itab_itens_nf-lgort.

      itab_zycit031-vbeln  = itab_ekes-vbeln.

      itab_zycit031-menge  = itab_ekes-menge.

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

      itab_zycit031-vbelp = itab_ekes-etens.

* << Fim da inclusão

      CLEAR: itab_cert, v_cert_ativ.

      READ TABLE itab_cert

            WITH KEY ebeln = itab_itens_nf-ebeln

                     ebelp = itab_itens_nf-ebelp.

      IF sy-subrc EQ 0 AND NOT itab_cert-zgtyp IS INITIAL.

        CALL FUNCTION 'QBCK_MIGO_CERT_REL_CHECK'

             EXPORTING

                  i_tq05_zgtyp  = itab_cert-zgtyp

                  i_wemng      = itab_zycit031-menge

                  i_xblnr      = itab_zycie033-lfsnr

...