CE PLUS - Nota 001598

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 16/06/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:40:16

Descrição da Nota: AO SELECIOANR O ITEM E CLICAR PARA CRIAR O RECEBIMENTO, APARECE A MENSAG

Sintoma

Ao selecionar o item e clicar para criar o recebimento, aparece a mensagem Preenchimento do campo

Depósito obrigatório!

Mas o campo depósito já esta preenchido, e não deixar criar o recebimento.

 

 

 

Solução

Ajustado para mover corretamente para a itab.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01598 Data: 16/06/2006 Hora: 15:31:54

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

 

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

Nota Número              : 01598

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00117

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

AO SELECIOANR O ITEM E CLICAR PARA CRIAR O RECEBIMENTO, APARECE A MENSAG

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

Palavras Chave:

ITEM - CRIAR - RECEBIMENTO - DEPÓSITO

 

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

Objetos da nota:

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI017I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

 

            PERFORM fill_date_j1b2.         "Atualiza data da NF Remessa

            PERFORM fill_date_j1b2_global.  "Atualiza data da NF Global

          ENDIF.

 

          LOOP AT itab_itens_nf.

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

            IF v_existe_nfr = 'S'.

              UPDATE /pws/zycit044 SET lgort = itab_itens_nf-lgort

              WHERE nrseqnf   = itab_itens_nf-nrseqnf

               AND  nrseq     = itab_itens_nf-nrseq

               AND  nfglobal  = itab_itens_nf-nfglobal

               AND  nfremessa = itab_itens_nf-nfremessa

               AND  ebeln     = itab_itens_nf-ebeln

               AND  ebelp     = itab_itens_nf-ebelp.

            ELSE.

              UPDATE /pws/zycit042 SET lgort = itab_itens_nf-lgort

              WHERE nrseqnf   = itab_itens_nf-nrseqnf

               AND  nrseq     = itab_itens_nf-nrseq

               AND  nfglobal  = itab_itens_nf-nfglobal

               AND  ebeln     = itab_itens_nf-ebeln

               AND  ebelp     = itab_itens_nf-ebelp.

            ENDIF.

* << Fim da inclusão

            UPDATE /pws/zycit036 SET congelamov = 'X'

              WHERE nrseq = itab_itens_nf-nrseq

                AND ebelp = itab_itens_nf-ebelp

                AND ebeln = itab_itens_nf-ebeln

                AND origem NE 'PED'.

          ENDLOOP.

        LOOP AT itab_zycit036_aux2.            "Congelando o movimentado

            IF itab_zycit036_aux2-origem = 'PED'.

...

 

 

 

...

 

    IF NOT itab_zycit044[] IS INITIAL.

      SELECT ebeln ebelp matnr lgort knttp

             FROM ekpo INTO TABLE itab_deposito

             FOR ALL ENTRIES IN itab_zycit044

             WHERE ebeln = itab_zycit044-ebeln

               AND ebelp = itab_zycit044-ebelp.

    ENDIF.

 

    CLEAR: v_tabix.

    CLEAR itab_deposito.

    LOOP AT itab_deposito.

      IF itab_deposito-knttp IS INITIAL.

        CLEAR itab_zycit044.

        READ TABLE itab_zycit044 WITH KEY ebeln = itab_deposito-ebeln

                                          ebelp = itab_deposito-ebelp.

        IF sy-subrc = 0.

          v_tabix = sy-tabix.

* >> Início da inclusão: FORM  chamar_nfremessa.

          IF NOT /pws/zycie044-lgort IS INITIAL.

            MOVE: /pws/zycie044-lgort TO itab_zycit044-lgort,

                  /pws/zycie044-lgort TO itab_deposito-lgort.

            MODIFY itab_zycit044 INDEX v_tabix.

            MODIFY itab_deposito INDEX v_tabix.

 

          ELSE.

* << Fim da inclusão

 

            IF itab_zycit044-lgort IS INITIAL AND

               NOT itab_deposito-lgort IS INITIAL.

              MOVE itab_deposito-lgort TO itab_zycit044-lgort.

              MODIFY itab_zycit044 INDEX v_tabix.

             ENDIF.

          ENDIF.

* >> Início da inclusão: FORM  chamar_nfremessa.

 

         ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDLOOP.

    DATA: v_nrseq LIKE /pws/zycit041-nrseq.

    READ TABLE itab_zycit044 INDEX 1.

    CLEAR v_nrseq.

    v_nrseq = itab_zycit044-nrseq.

    SET PARAMETER ID '/PWS/ZYCIP001' FIELD v_nrseq.

 

...

 

 

....

 

 

...

 

    CLEAR: v_tabix.

    CLEAR itab_deposito.

    LOOP AT itab_deposito.

      IF itab_deposito-knttp IS INITIAL.

        CLEAR itab_zycit042.

        READ TABLE itab_zycit042 WITH KEY ebeln = itab_deposito-ebeln

                                          ebelp = itab_deposito-ebelp.

        IF sy-subrc = 0.

          v_tabix = sy-tabix.

          IF itab_zycit042-lgort IS INITIAL AND

              NOT itab_deposito-lgort IS INITIAL.

             MOVE itab_deposito-lgort TO itab_zycit042-lgort.

             MODIFY itab_zycit042 INDEX v_tabix.

* >> Início da inclusão: FORM  chamar_nfglobal.

           ELSE.

             MOVE itab_zycit042-lgort TO itab_deposito-lgort.

             MODIFY itab_deposito INDEX sy-tabix.

* << Fim da inclusão

           ENDIF.

         ENDIF.

       ENDIF.

     ENDLOOP.

 

     DATA: v_nrseq LIKE /pws/zycit041-nrseq.

     READ TABLE itab_zycit042 INDEX 1.

     CLEAR v_nrseq.

     v_nrseq = itab_zycit042-nrseq.

     SET PARAMETER ID '/PWS/ZYCIP001' FIELD v_nrseq.

     SUBMIT /pws/zycir006 AND RETURN.

 

     FREE itab_zycit003.

     IF NOT itab_zycit042[] IS INITIAL.

       SELECT * FROM /pws/zycit003

         INTO TABLE itab_zycit003

 

...

 

 

...

 

 

  IF NOT itab_zycit263[] IS INITIAL.

    SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006

             FOR ALL ENTRIES IN itab_zycit263 WHERE

             nrseq_pgfat = itab_zycit263-nrseq_pgfat.

  ENDIF.

 

 

  CLEAR v_clnf.                    "Classifica de NF sempre Global

  IF v_existe_nfr EQ 'S'.

    v_clnf = 'R'.

  ELSE.

    v_clnf = 'G'.

  ENDIF.

 

 

* >> Início da inclusão: FORM get_parameters_mrm1_receb.

  CLEAR: itab_zycit036_plan, itab_zycit036.

  REFRESH: itab_zycit036_plan, itab_zycit036.

* << Fim da inclusão

 

  "Buscando custos

  FREE itab_zycit036.

  IF NOT itab_itens_nf[] IS INITIAL.

    SELECT * FROM /pws/zycit036

      INTO TABLE itab_zycit036

      FOR ALL ENTRIES IN itab_itens_nf

      WHERE nrseq = itab_itens_nf-nrseq

        AND ebeln = itab_itens_nf-ebeln

        AND ebelp = itab_itens_nf-ebelp.

    IF sy-subrc NE 0.

      MESSAGE e015 WITH text-002.

    ENDIF.

 

    "Buscando qtd da global

    FREE itab_zycit042_aux.

    SELECT * FROM /pws/zycit042

      INTO TABLE itab_zycit042_aux

      FOR ALL ENTRIES IN itab_itens_nf

      WHERE nrseq = itab_itens_nf-nrseq

        AND ebeln = itab_itens_nf-ebeln

        AND ebelp = itab_itens_nf-ebelp.

  ENDIF.

 

...

 

...

 

 

  CLEAR: v_visualiza.

  PERFORM prepara_dados_batch.

 

  "Se não foi feito o recebimento

  IF  wa_nf-belnr_mr1m IS INITIAL AND

      wa_nf-mblnr_mb01 IS INITIAL AND

      wa_nf-belnr_f_51 IS INITIAL AND

      wa_nf-belnr_f_02 IS INITIAL.

 

    CLEAR v_receb.

    IF v_existe_nfr EQ 'S'.

* >> Início da exclusão: FORM executa_batch_input.

*      LOOP AT itab_zycit044 WHERE lgort IS initial.

* << Fim da exclusão

* >> Início da inclusão: FORM executa_batch_input.

      LOOP AT itab_zycit044.

* << Fim da inclusão

 

        READ TABLE itab_deposito WITH KEY ebeln = itab_zycit044-ebeln

                                    ebelp = itab_zycit044-ebelp.

* >> Início da inclusão: FORM executa_batch_input.

        IF sy-subrc = 0.

          MOVE: itab_zycit044-lgort TO itab_deposito-lgort.

          MODIFY itab_deposito INDEX sy-tabix.

 

        ENDIF.

        IF itab_deposito-lgort IS INITIAL.

* << Fim da inclusão

 

* >> Início da exclusão: FORM executa_batch_input.

*        IF itab_deposito-knttp IS INITIAL.

* << Fim da exclusão

 

          v_receb = 'X'.

        ENDIF.

      ENDLOOP.

    ELSE.

 

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI017I01

 

 

 

...

  SELECT SINGLE * FROM /pws/zycit044

           WHERE nrseq = itab_zycit044-nrseq

             AND ebeln = itab_zycit044-ebeln

             AND ebelp = itab_zycit044-ebelp.

  IF sy-subrc = 0 AND

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

     NOT itab_zycit042-lgort IS INITIAL.

* << Fim da exclusão

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

       NOT itab_zycit044-lgort IS INITIAL.

* << Fim da inclusão

    MOVE itab_zycit044-lgort TO /pws/zycit044-lgort.

    MODIFY /pws/zycit044.

  ENDIF.

ENDMODULE.

MODULE user_command_0110 INPUT.

...

 

...

  ENDIF.

ENDMODULE.

MODULE user_command_0050 INPUT.

  CLEAR:  e_exec_okcode,

          r_okcode.

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

  okcode = sy-ucomm.

* << Fim da exclusão

  CALL METHOD cl_gui_cfw=>dispatch.

  IF NOT r_okcode IS INITIAL.

    okcode = r_okcode.

  ENDIF.

  IF gc_subscreen-prog EQ '0200'.

...