CE PLUS - Nota 000415

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 07/12/2005 00:00:00

Data/Hora Última Alteração: 21/02/2011 14:39:04

Descrição da Nota: ORDENS DE DEVOLUÇÃO CONSIDERADAS NO PROGRAMA DE CONTAINER

Sintoma

O programa está movendo ordem de devolução para a pasta container,enquanto não faturado o

item de devolução.

Após o faturamento o programa manteve a ordem de devolução na pasta container.

 

 

Solução

Atualizar o tratamento do status de cada item do embarque, através da aplicação da dessa nota de

atualização.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

SALVAR EMBARQUE ENVIADO PARA O CÂMBIO

ERRO NO EMBARQUE COM ESTORNO DA NOTA DE CRÉDITO

Informações Complementares

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

Nota Número 00415 Data: 07/12/2005 Hora: 15:25:22

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

 

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

Nota Número              : 00415

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00093

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

Referência às notas relacionadas:

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

 

00386  - 00001 - 6.0    - 00021  - ERRO NO EMBARQUE COM ESTORNO DA NOTA DE CRÉDITO

00396  - 00002 - 6.0    - 00022  - SALVAR EMBARQUE ENVIADO PARA O CÂMBIO

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

ORDENS DE DEVOLUÇÃO CONSIDERADAS NO PROGRAMA DE CONTAINER

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

Palavras Chave:

EXPORTAÇÃO CONTAINER EMBARQUE DEVOLUÇÃO

 

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

Objetos da nota:

FUNC /PWS/ZYCE_TRATA_ORDEM

REPS /PWS/MZYCE003F01

REPS /PWS/SAPMZYCE003

 

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

Modificações efetuadas em FUNC /PWS/ZYCE_TRATA_ORDEM

 

...

              ELSE.

 

                READ TABLE itab_estorno WITH KEY

                              sfakn = itab_zycee085_aux-vbeln_vf

                              fksto = ' '.

 

                IF sy-subrc EQ 0.

                  READ TABLE itab_zycee085_l WITH KEY

                                       vbeln_vf = itab_estorno-vbeln.

                  IF sy-subrc = 0.

                    MOVE-CORRESPONDING itab_zycee085_l TO t_estorno.

                    APPEND t_estorno.

                    CLEAR  t_estorno.

                  ENDIF.

 

                  DELETE itab_zycee085 WHERE

                                    vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_l WHERE

                                    vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085_l WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_aux WHERE

                                       vbeln_vf = itab_estorno-sfakn.

* >> Início da Exclusão <<

                  DELETE itab_zycee085_aux INDEX v_index.

 

* >> Fim da Exclusão <<

 

                  DELETE itab_zycee085_aux WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                ENDIF.

              ENDIF.

            ENDIF.

 

          WHEN 'OD' OR 'DR'.

 

            READ TABLE itab_estorno WITH KEY

                              vbeln = itab_zycee085_aux-vbeln_vf

                              fksto = 'X'.

...

 

                READ TABLE itab_estorno WITH KEY

                              sfakn = itab_zycee085_aux-vbeln_vf

                              fksto = ' '.

 

                IF sy-subrc EQ 0.

                  READ TABLE itab_zycee085_l WITH KEY

                                       vbeln_vf = itab_estorno-vbeln

 

                  DELETE itab_zycee085 WHERE

                                  vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_l WHERE

                                  vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085_l WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_aux WHERE

                                  vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085_aux WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

* >> Início da Exclusão <<

                  DELETE itab_zycee085_aux WHERE

                              vbeln_va = itab_zycee085_aux-vbeln_va AND

                              aupos    = itab_zycee085_aux-aupos    AND

                              vbeln_vf = itab_zycee085_aux-vbeln_vf AND

                              posnr    = itab_zycee085_aux-posnr    AND

                              vbeln_vl = itab_zycee085_aux-vbeln_vl AND

                              posnl    = itab_zycee085_aux-posnl.

* >> Fim da Exclusão <<

                ENDIF.

 

              ENDIF.

 

            ELSE.

 

              READ TABLE itab_vbfa WITH KEY

                                   vbeln = itab_zycee085_aux-vbeln_va

                                   posnn = itab_zycee085_aux-aupos.

 

              IF sy-subrc = 0.

                READ TABLE itab_zycee085 WITH KEY

                                   vbeln_vf = itab_vbfa-vbelv

                                   posnr    = itab_vbfa-posnv.

 

                IF sy-subrc = 0.

                  CLEAR : v_ntgew, v_brgew, v_vlme, v_fob, v_fkimg,

                          v_frete, v_seguro, v_despesa, v_agente,

                          v_desconto, v_acrescimo.

...

          WHEN 'OC'.

 

            READ TABLE itab_estorno WITH KEY

                                vbeln = itab_zycee085_aux-vbeln_vf

                                fksto = 'X'.

            IF sy-subrc = 0 .

              MOVE-CORRESPONDING itab_zycee085_aux TO t_estorno.

              APPEND t_estorno.

 

              READ TABLE itab_estorno WITH KEY

                                   kidno = itab_zycee085_aux-vbeln_vf

                                    fksto = ' '.

              IF sy-subrc EQ 0.

                DELETE itab_zycee085 WHERE

                                  vbeln_vf = itab_estorno-vbeln.

                DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_aux-vbeln_vf.

 

                DELETE itab_zycee085_l WHERE

                                  vbeln_vf = itab_estorno-vbeln.

 

                DELETE itab_zycee085_l WHERE

                                vbeln_vf = itab_zycee085_aux-vbeln_vf.

* >> Início da Inclusão <<

                DELETE itab_zycee085_aux WHERE

                                     vbeln_vf = itab_estorno-vbeln.

 

* >> Fim da Inclusão <<

                DELETE itab_zycee085_aux WHERE

                                     vbeln_vf = itab_estorno-vbeln.

 

...

 

                  DELETE itab_zycee085 WHERE

                                    vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_l WHERE

                                    vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085_l WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_aux WHERE

                                       vbeln_vf = itab_estorno-sfakn.

* >> Início da Exclusão <<

 

                  DELETE itab_zycee085_aux INDEX v_index.

* >> Fim da Exclusão <<

                  DELETE itab_zycee085_aux WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

                ENDIF.

              ENDIF.

            ELSE.

 

              READ TABLE itab_vbfa WITH KEY

                                   vbeln = itab_zycee085_aux-vbeln_va

                                   posnn = itab_zycee085_aux-aupos.

...

          WHEN 'OS'.

 

            READ TABLE itab_estorno WITH KEY

                                vbeln = itab_zycee085_aux-vbeln_vf

                                fksto = 'X'.

            IF sy-subrc = 0.

 

              MOVE-CORRESPONDING itab_zycee085_aux TO t_estorno.

              APPEND t_estorno.

              READ TABLE itab_estorno WITH KEY

                                   kidno = itab_zycee085_aux-vbeln_vf

                                    fksto = ' '.

              IF sy-subrc EQ 0.

                DELETE itab_zycee085 WHERE

                                  vbeln_vf = itab_estorno-vbeln.

 

                DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_aux-vbeln_vf.

 

                DELETE itab_zycee085_l WHERE

                                  vbeln_vf = itab_estorno-vbeln.

 

                DELETE itab_zycee085_l WHERE

                                vbeln_vf = itab_zycee085_aux-vbeln_vf.

 

                DELETE itab_zycee085_aux WHERE

                                     vbeln_vf = itab_estorno-vbeln.

* >> Início da Exclusão <<

                DELETE itab_zycee085_aux INDEX v_index.

* >> Fim da Exclusão <<

* >> Início da Inclusão <<

                DELETE itab_zycee085_aux WHERE

                                vbeln_vf = itab_zycee085_aux-vbeln_vf.

* >> Fim da Inclusão <<

              ELSE.

 

                READ TABLE itab_estorno WITH KEY

                              sfakn = itab_zycee085_aux-vbeln_vf

                              fksto = ' '.

                IF sy-subrc EQ 0.

* >> Início da Exclusão <<

                  READ TABLE itab_zycee085_aux WITH KEY

* >> Fim da Exclusão <<

* >> Início da Inclusão <<

                  READ TABLE itab_zycee085_l WITH KEY

* >> Fim da Inclusão <<

                                       vbeln_vf = itab_estorno-vbeln.

 

                  DELETE itab_zycee085_l WHERE

                                    vbeln_vf = itab_estorno-vbeln.

 

                  DELETE itab_zycee085_l WHERE

                                  vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085 WHERE

                                    vbeln_vf = itab_estorno-sfakn.

 

                  DELETE itab_zycee085 WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                  DELETE itab_zycee085_aux WHERE

                                       vbeln_vf = itab_estorno-sfakn.

* >> Início da Exclusão <<

                  DELETE itab_zycee085_aux INDEX v_index.

 

* >> Fim da Exclusão <<

                  DELETE itab_zycee085_aux WHERE

                                vbeln_vf = itab_zycee085_l-vbeln_vf.

 

                ENDIF.

 

              ENDIF.

 

            ENDIF.

 

        ENDCASE.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE003F01

 

...

    ENDLOOP.

  ENDLOOP.

  LOOP AT itab_002 WHERE devolucao = 'X'.

    LOOP AT itab_vbfa WHERE vbeln = itab_002-vbeln_vf AND

                            posnn = itab_002-posnr.

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

      READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart

                                        bukrs = itab_zycet002-bukrs.

      IF sy-subrc NE 0.

        READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.

      ENDIF.

      IF itab_zycet020-tipodoc EQ 'DR'.

        READ TABLE itab_zycet002 WITH KEY vbeln_vl = itab_vbfa-vbelv

                                          posnl    = itab_vbfa-posnv.

        IF NOT sy-subrc IS INITIAL.

          READ TABLE itab_zycet002 WITH KEY vbeln_va = itab_vbfa-vbelv

                                             aupos   = itab_vbfa-posnv.

        ENDIF.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_zycet002 WITH KEY vbeln_va = itab_vbfa-vbelv

                                        aupos    = itab_vbfa-posnv.

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

      ENDIF.

* << Fim da inclusão

      IF sy-subrc NE 0.

        CONTINUE.

      ENDIF.

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

      v_vbeln_va = itab_zycet002-vbeln_va.

      v_aupos    = itab_zycet002-aupos.

* << Fim da inclusão

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

      LOOP AT itab_vbfa2 WHERE vbeln = itab_vbfa-vbelv AND

                               posnn = itab_vbfa-posnv.

* << Fim da exclusão

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

      LOOP AT itab_vbfa2 WHERE vbeln = v_vbeln_va AND

                               posnn = v_aupos.

* << Fim da inclusão

        READ TABLE itab_zycet002 WITH KEY vbeln_vf = itab_vbfa2-vbelv

                                          posnr    = itab_vbfa2-posnv.

        IF sy-subrc NE 0.

          CONTINUE.

        ENDIF.

...

 

...

    IF sy-subrc EQ 0.

      v_fkimg = itab_vbrp-fkimg.

    ENDIF.

    LOOP AT itab_vbfa WHERE vbelv = itab_zycet002-vbeln_vf AND

                            posnv = itab_zycet002-posnr.

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

      READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart

                                        bukrs = itab_zycet002-bukrs.

      IF sy-subrc NE 0.

        READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.

      ENDIF.

      IF itab_zycet020-tipodoc EQ 'DR'.

        READ TABLE itab_002 WITH KEY vbeln_vl = itab_vbfa-vbelv

                                     posnl    = itab_vbfa-posnv.

        IF NOT sy-subrc IS INITIAL.

          READ TABLE itab_002 WITH KEY vbeln_va = itab_vbfa-vbelv

                                       aupos    = itab_vbfa-posnv.

        ENDIF.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_002 WITH KEY vbeln_va = itab_vbfa-vbeln

                                   aupos    = itab_vbfa-posnn.

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

      ENDIF.

* << Fim da inclusão

      IF sy-subrc NE 0.

        CONTINUE.

      ENDIF.

      READ TABLE itab_vbrp WITH KEY vbeln = itab_002-vbeln_vf

                                    posnr = itab_002-posnr.

...

 

...

      IF v_tipo_ov EQ 'V'.

        v_vbeln = itab_zycet002-ebeln.

        v_posnr = itab_zycet002-ebelp.

      ENDIF.

    ELSE.

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

      IF itab_zycet020-tipodoc NE 'OD' and

         itab_zycet020-tipodoc NE 'OC'.

* << Fim da inclusão

      v_vbeln = itab_zycet002-vbeln_vl.

      v_posnr = itab_zycet002-posnl.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    v_nao_achou = 'X'.

    LOOP AT itab_vbfa WHERE vbelv EQ v_vbeln AND

                            posnv EQ v_posnr.

      READ TABLE itab_vbrk WITH KEY vbeln = itab_vbfa-vbeln.

...