CE PLUS - Nota 004780

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 20/09/2007 00:00:00

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

Descrição da Nota: ERRO AO VINCULAR ITENS DA DA MANUALMENTE NO EMBARQUE

Sintoma

Erro ao vincular itens da DA manualmente no embarque

 

 

Solução

ajustar seleção e vinculação de itens no embarque.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DECLARAÇÃO DE IMPORTAÇÃO RECOF

CONTROLE DE SALDO DA DA POR LOTE

AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES

NO EMBARQUE REGIME 16 VERIFICAR SE A VINCULAÇÃO DA DA É MANUAL.

APÓS A EMISSÃO DA NF, NÃO FOI POSSÍVEL FAZER O RECEBIMENTO.

Informações Complementares

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

Nota Número 04780 Data: 20/09/2007 Hora: 17:11:34

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

 

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

Nota Número              : 04780

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00013

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

Referência às notas relacionadas:

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

 

01468  - 00001 - 6.0    - 00023  - CONTROLE DE SALDO DA DA POR LOTE

01603  - 00002 - 6.0    - 00023  - APÓS A EMISSÃO DA NF, NÃO FOI POSSÍVEL FAZER O RECEBIMENTO.

02291  - 00003 - 6.0    - 00025  - AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES

02314  - 00004 - 6.0    - 00025  - NO EMBARQUE REGIME 16 VERIFICAR SE A VINCULAÇÃO DA DA É MANUAL.

04312  - 00005 - 7.0    - 00002  - DECLARAÇÃO DE IMPORTAÇÃO RECOF

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

ERRO AO VINCULAR ITENS DA DA MANUALMENTE NO EMBARQUE

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

Palavras Chave:

ERRO - VINCULAÇÃO - ITENS DA DA - VINCULAÇÃO MANUAL - EMBARQUE - DA

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCI001

REPS /PWS/MZYCI001F03

REPS /PWS/MZYCI001O01

REPS /PWS/MZYCI001X01

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCI001

 

*Seguintes botões criados

Texto informativo  Teclas de função CI - Seleção DA

 

     Código de função     Tecla F Tecla de função                Código de função     Texto

 

     000016               00      ENTER                          ENTER                Selecionar

     000016               80      Ctrl-Page up                   P                    1ª página

     000016               81      Page up                        P-                   Página

anterior

     000016               82      Page down                      P+                   Página

seguinte

     000016               83      Ctrl-Page down                 P++                  Última página

 

 

 

Texto informativo  Funções ativas CI - Seleção DA

 

     Status               Código de função

 

     0003                 P+

     0003                 P++

     0003                 P-

     0003                 P

 

*Funções com textos estáticos

 

Código de função     Categoria Res. Nome campo p/texto GUI dinâmico

 

 

P+                                  ICON_NEXT_PAGE

P++                                 ICON_LAST_PAGE

P-                                  ICON_PREVIOUS_PAGE

P                                   ICON_FIRST_PAGE

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

...

          wa_cols-screen-input = '0'.

        ELSE.

          wa_cols-screen-input = '1'.

        ENDIF.

      ENDIF.

      MODIFY tc_ped-cols FROM wa_cols.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM selecionar_da.

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

  DATA: BEGIN OF itab_zycit003_saldo_aux OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit003.

  DATA: END OF itab_zycit003_saldo_aux.

* << Fim da inclusão

  LOOP AT itab_zycit467.

    itab_zycit467_aux1 = itab_zycit467.

    APPEND itab_zycit467_aux1.

  ENDLOOP.

  CLEAR   itab_zycit467.

  REFRESH itab_zycit467.

  IF NOT itab_zycit003[] IS INITIAL.

    IF NOT so_nrseq IS INITIAL.

      LOOP AT itab_zycit003 WHERE

                            nrseqda NE so_nrseq+3.

...

 

...

    ENDLOOP.

    DATA: itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0

          WITH HEADER LINE.

    IF NOT itab_da[] IS INITIAL.

      SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo

         FOR ALL ENTRIES IN itab_da

         WHERE ebeln EQ itab_da-ebeln

         AND   ebelp EQ itab_da-ebelp

         AND   nrseqda EQ itab_da-nrseqda.

      IF NOT itab_zycit003_saldo[] IS INITIAL.

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

        IF /pws/zycie001-regime EQ '16' .

          SELECT nrseq regime FROM /pws/zycit001

             INTO TABLE itab_zycit001_saldo

             FOR ALL ENTRIES IN itab_zycit003_saldo

             WHERE nrseq EQ itab_zycit003_saldo-nrseq

             AND   regime EQ '16'

             AND   tpdecl EQ 'DI'.

        ELSE.

* << Fim da inclusão

        SELECT nrseq regime FROM /pws/zycit001

           INTO TABLE itab_zycit001_saldo

           FOR ALL ENTRIES IN itab_zycit003_saldo

           WHERE nrseq EQ itab_zycit003_saldo-nrseq

           AND   regime EQ '04'

           AND   tpdecl EQ 'DI'.

      ENDIF.

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

      ENDIF.

      MOVE itab_zycit003_saldo[] TO itab_zycit003_saldo_aux[].

      CLEAR itab_zycit003_saldo.

      REFRESH itab_zycit003_saldo.

* << Fim da inclusão

      LOOP AT itab_zycit001_saldo.

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

        DELETE itab_zycit003_saldo

           WHERE nrseq EQ itab_zycit001_saldo-nrseq.

* << Fim da exclusão

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

        LOOP AT itab_zycit003_saldo_aux WHERE

         nrseq = itab_zycit001_saldo-nrseq.

          MOVE itab_zycit003_saldo_aux TO itab_zycit003_saldo.

          APPEND itab_zycit003_saldo.

        ENDLOOP.

* << Fim da inclusão

      ENDLOOP.

      CLEAR v_qtdutil_da.

      LOOP AT itab_da.

        v_index = sy-tabix.

        LOOP AT itab_zycit003_saldo WHERE ebeln EQ itab_da-ebeln

                                    AND   ebelp EQ itab_da-ebelp.

          v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten .

        ENDLOOP.

        itab_da-qtd_lote = itab_da-qtd_lote - v_qtdutil_da.

        IF itab_da-qtd_lote LE 0.

          DELETE itab_da.

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

        ELSE.

          MODIFY itab_da INDEX v_index.

* << Fim da inclusão

        ENDIF.

        CLEAR v_qtdutil_da.

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

        MODIFY itab_da INDEX v_index.

* << Fim da exclusão

      ENDLOOP.

    ENDIF.

  ELSE.

    IF NOT so_lifn IS INITIAL.

    SELECT /pws/zycit442~nrseqda /pws/zycit442~nrdi /pws/zycit442~bukrs

...

 

...

        IF v_saldo LE 0.

          DELETE itab_da INDEX v_tabix.

        ELSE.

          itab_da-qtd_lote = v_saldo.

          MODIFY itab_da INDEX v_tabix.

        ENDIF.

      ENDLOOP.

    ENDLOOP.

    IF v_manual EQ 'X'.

      v_caller = 'SELECIONAR_RC'.

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

      v_tela = 'X'.

* << Fim da inclusão

    ELSE.

      v_caller = 'SELECIONAR_DA'.

    ENDIF.

    CALL SCREEN '0003'.

  ELSE.

    MESSAGE s015 WITH text-259 text-264.

  ENDIF.

ENDFORM.

FORM trata_delp.

  DATA: v_werks_del LIKE /pws/zycbt001-werks.

...

 

...

      MESSAGE e061 WITH text-235 text-236.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM user_command_0003.

  CASE sy-ucomm.

    WHEN 'ENTER'.

      PERFORM:

               selecionar_itens_da.

      IF v_prod_dif NE 'X'.

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

         refresh control 'TC_SELDA' from screen sy-dynnr .

* << Fim da inclusão

        LEAVE TO SCREEN 0.

      ENDIF.

    WHEN 'CANCEL'.

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

         refresh control 'TC_SELDA' from screen sy-dynnr .

* << Fim da inclusão

      LEAVE TO SCREEN 0.

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

    WHEN 'P-'.

        tc_selda-top_line = tc_selda-top_line - 10.

    WHEN 'P--'.

        tc_selda-top_line = tc_selda-top_line - tc_selda-lines.

    WHEN 'P+'.

        tc_selda-top_line = tc_selda-top_line + 10.

    WHEN 'P++'.

        tc_selda-top_line = tc_selda-top_line + tc_selda-lines.

* << Fim da inclusão

  ENDCASE.

ENDFORM.

FORM carrega_estrutura_0003.

  MOVE :

      itab_da-nrseqda  TO /pws/zycie442-nrseqda ,

      itab_da-ebeln    TO /pws/zycie443-ebeln   ,

      itab_da-ebelp    TO /pws/zycit443-ebelp   ,

      itab_da-matnr    TO /pws/zycie443-matnr   ,

      itab_da-lote_forn TO /pws/zycie463-lote_forn,

      itab_da-qtd_lote TO /pws/zycie463-qtd_lote.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001O01

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI001X01

 

...

DATA: END OF itab_zycit003_util.

DATA: itab_zycit477 TYPE /pws/zycit477 OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF itab_zycit125 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit125.

DATA :    name1 LIKE lfa1-name1,

          mark(1).

DATA : END OF itab_zycit125.

DATA : BEGIN OF itab_zycit125_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit125.

DATA : END OF itab_zycit125_aux.

* >> Início da inclusão:

data v_tela.

* << Fim da inclusão

DATA: END OF COMMON PART a.