CE PLUS - Nota 012765

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 14/01/2013 00:00:00

Data/Hora Última Alteração: 04/04/2013 13:46:10

Descrição da Nota: AJUSTE PARA VERIFICAR TABELA T156Q CONFORME REALIZADO PELA MIGO

Sintoma

O sistema não deixa fazer o recebimento físico devido a falta de verificação em tabela standard

(T156Q).

 

 

Solução

Ajustado programa de recebimento para verificar o preenchimento de serie utilizando a tabela de

parametro t156q conforme realizado pela MIGO.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

NÚMERO DE SÉRIE NA MIGO - RECEBIMENTO

Informações Complementares

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

Nota Número 12765 Data: 14/01/2013 Hora: 14:37:22

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

 

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

Nota Número              : 12765

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00003

Agrupamento              : 00144

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

Referência às notas relacionadas:

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

 

12279  - 00001 - 8.0    - 00011  - NÚMERO DE SÉRIE NA MIGO - RECEBIMENTO

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

AJUSTE PARA VERIFICAR TABELA T156Q CONFORME REALIZADO PELA MIGO

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

Palavras Chave:

RECEBIMENTO - MIGO - SERIE - TABELA = PARAMETRO - T156Q

/PWS/SAPMZYCI017

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

Objetos da nota:

REPS /PWS/MZYCI017F03

REPS /PWS/MZYCI017F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F03

 

...

* >> Início da inclusão:

FORM ver_ad_serie.

  DATA: wa_t156q TYPE t156q.

  REFRESH itab_t377.

  IF NOT wa_nf-bwartwe IS INITIAL.

    itab_zycie033-bwartwe  = wa_nf-bwartwe.

  ELSE.

    SELECT SINGLE tp_movto

    FROM /pws/zycit507

    INTO itab_zycie033-bwartwe

    WHERE modalidade = /pws/zycit001-modalidade .

  ENDIF.

  IF t001-land1 = 'AR' OR t001-land1 ='CL' OR

     itab_zycie033-bwartwe IS INITIAL.

    itab_zycie033-bwartwe  = '101'.

  ENDIF.

  SELECT SINGLE * INTO  wa_t156q

                  FROM  t156q

                  WHERE bwart  = itab_zycie033-bwartwe

                  AND   sobkz  = ' '

                  AND   kzbew  = 'B'

                  AND   kzzug  = ' '

                  AND   kzvbr  = ' '.

  LOOP AT itab_serie WHERE sernp NE space.

    CLEAR itab_t377.

    READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.

    IF sy-subrc NE 0.

      CALL FUNCTION 'SERIAL_PROFILE_READ'

           EXPORTING

                profile_r      = itab_serie-sernp

                operation_r    = 'MMSL'

                snbwg_r        = wa_t156q-snbwg

                pflege         = 'X'

           IMPORTING

                t_377          = itab_t377

           EXCEPTIONS

                no_t377p_entry = 1

                no_t377_entry  = 2

                OTHERS         = 3.

      IF sy-subrc EQ 0.

        APPEND itab_t377.

      ENDIF.

    ENDIF.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

               AND ebelp = itab_zycit044-ebelp.

      PERFORM verif_lote.

      SELECT a~ebeln a~ebelp a~matnr b~sernp

       FROM ( ekpo AS a INNER JOIN marc AS b

            ON a~matnr EQ b~matnr AND

               a~werks EQ b~werks )

        INTO TABLE itab_serie

        FOR ALL ENTRIES IN itab_zycit044

        WHERE ebeln = itab_zycit044-ebeln

          AND ebelp = itab_zycit044-ebelp.

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

      IF NOT itab_serie[] IS INITIAL.

        CLEAR: itab_t377, itab_t377[].

        SELECT * FROM t377

          INTO TABLE itab_t377

          FOR ALL ENTRIES IN itab_serie

          WHERE serail = itab_serie-sernp

            AND beleg  = 'MMSL'.

      ENDIF.

* << Fim da exclusão

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

      PERFORM ver_ad_serie.

* << Fim da inclusão

      LOOP AT itab_zycit044.

        READ TABLE itab_serie WITH KEY

        ebeln = itab_zycit044-ebeln

        ebelp = itab_zycit044-ebelp.

        IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.

          CLEAR: itab_t377.

          READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.

          IF sy-subrc EQ 0 AND itab_t377-serpflicht NE '01'.

            itab_zycit044-serie = 'X'.

            MODIFY itab_zycit044 TRANSPORTING serie WHERE

...

 

...

               AND ebelp = itab_zycit042-ebelp.

      PERFORM verif_lote.

      SELECT a~ebeln a~ebelp a~matnr b~sernp

       FROM ( ekpo AS a INNER JOIN marc AS b

            ON a~matnr EQ b~matnr AND

               a~werks EQ b~werks )

        INTO TABLE itab_serie

        FOR ALL ENTRIES IN itab_zycit042

        WHERE ebeln = itab_zycit042-ebeln

          AND ebelp = itab_zycit042-ebelp.

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

      IF NOT itab_serie[] IS INITIAL.

        CLEAR: itab_t377, itab_t377[].

        SELECT * FROM t377

          INTO TABLE itab_t377

          FOR ALL ENTRIES IN itab_serie

          WHERE serail = itab_serie-sernp

            AND beleg  = 'MMSL'.

      ENDIF.

* << Fim da exclusão

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

      PERFORM ver_ad_serie.

* << Fim da inclusão

      LOOP AT itab_zycit042.

        READ TABLE itab_serie WITH KEY

        ebeln = itab_zycit042-ebeln

        ebelp = itab_zycit042-ebelp.

        IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.

          CLEAR: itab_t377.

          READ TABLE itab_t377 WITH KEY serail = itab_serie-sernp.

          IF sy-subrc EQ 0 AND itab_t377-serpflicht NE '01'.

            itab_zycit042-serie = 'X'.

            MODIFY itab_zycit042 TRANSPORTING serie WHERE

...

 

...

  CLEAR itab_ekpo_s.

  IF NOT itab_itens_nf[] IS INITIAL.

    SELECT a~ebeln a~ebelp a~matnr b~sernp

     FROM ( ekpo AS a INNER JOIN marc AS b

          ON a~matnr EQ b~matnr AND

             a~werks EQ b~werks )

      INTO TABLE itab_serie

      FOR ALL ENTRIES IN itab_itens_nf

      WHERE ebeln = itab_itens_nf-ebeln

        AND ebelp = itab_itens_nf-ebelp.

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

    IF NOT itab_serie[] IS INITIAL.

      CLEAR: itab_t377, itab_t377[].

      SELECT * FROM t377

      INTO TABLE itab_t377

      FOR ALL ENTRIES IN itab_serie

      WHERE serail = itab_serie-sernp

        AND beleg  = 'MMSL'.

    ENDIF.

* << Fim da exclusão

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

    PERFORM ver_ad_serie.

* << Fim da inclusão

  ENDIF.

  IF NOT itab_itens_nf[] IS INITIAL.

    SELECT ebeln ebelp zgtyp FROM ekpo

      INTO TABLE itab_cert

       FOR ALL ENTRIES IN itab_itens_nf

      WHERE ebeln EQ itab_itens_nf-ebeln

        AND ebelp EQ itab_itens_nf-ebelp.

  ENDIF.

  FREE itab_zycit031.

  IF v_inbound EQ 'X'.

...