CE PLUS - Nota 002802

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Embarque

Data/Hora da Publicação: 03/01/2007 00:00:00

Data/Hora Última Alteração: 03/02/2010 17:55:48

Descrição da Nota: NÃO ELIMINAR ITEN NO EMBARUQE SE EXISTIR PC OU DC

Sintoma

 

Feito prestação de contas. F6Q e está deixando eliminar o item do embarque mesmo com prestação

aprovada. Favor verificar.

 

Solução

 

Atualizado o programa de embarque para so deixar eliminar o item caso não tenha debito e nem

prestação aprovados

Versões Tratadas

6.0

Informações Complementares

 

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

Nota Número 02802 Data: 03/01/2007 Hora: 09:13:38

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

 

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

Nota Número              : 02802

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00146

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

NÃO ELIMINAR ITEN NO EMBARUQE SE EXISTIR PC OU DC

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

Palavras Chave:

ITENS - EMBARQUE - DC - PC - ELIMINAR

 

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

Objetos da nota:

REPS /PWS/MZYCI001F03

REPT /PWS/SAPMZYCI001

 

REPS /PWS/MZYCI001I01

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

Modificações efetuadas em REPS /PWS/MZYCI001I01

 

...

                 where modalidade eq /pws/zycie001-modalidade.

          if not /pws/zycit120-checkdi is initial.

            select * from /pws/zycit100

                     into table it_100_temp

                     where nrseq eq /pws/zycie001-nrseq.

            if sy-subrc eq 0.

              message s015 with text-181 text-182.

              exit.

            endif.

          endif.

          call selection-screen '0300'.

        when 'DELP'.

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

          case ts_embar-activetab.

            when 'FC_PED'.

              loop at itab_zycit003 where mark = 'X'.

                if itab_zycit003-nrseqli is initial and

                   itab_zycit003-nrseqlsi is initial.

                  clear v_tabix.

                  v_tabix = sy-tabix.

                 read table itab_zycit094 with key

                                nrseq = itab_zycit003-nrseq.

                 if sy-subrc eq 0.

                    message w015 with text-246.

                    exit.

                 endif.

                  read table itab_zycit263 with key

                       ebeln     = itab_zycit003-ebeln

                       ebelp     = itab_zycit003-ebelp

                       eliminado = space.

                  if sy-subrc ne 0.

                    call function '/PWS/ZYCI_DEQUEUE_ZYCIT013'

                         exporting

                              ebeln = itab_zycit003-ebeln

                              ebelp = itab_zycit003-ebelp.

                    delete itab_zycit003 index v_tabix.

                    clear itab_zycit003.

                  else.

                    message w015 with text-043.

                    exit.

                  endif.

 

                 move:itab_zycit003-ebeln    to itab_zycit003_del-ebeln,

                      itab_zycit003-ebelp    to itab_zycit003_del-ebelp,

                   itab_zycit003-qtd_iten to itab_zycit003_del-qtd_iten.

                 append itab_zycit003_del.

                else.

                  message w015 with text-190.

                  exit.

                endif.

              endloop.

            when 'FC_FORNEC'.

              loop at itab_zycit125 where mark = 'X'.

                delete itab_zycit125 index sy-tabix.

                clear itab_zycit125.

              endloop.

          endcase.

* << Fim da exclusão

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

          PERFORM trata_delp.

* << Fim da inclusão

        when 'MARC'.

          case ts_embar-activetab .

            when 'FC_PED'.

              loop at itab_zycit003.

                itab_zycit003-mark = 'X'.

                modify itab_zycit003.

              endloop.

            when 'FC_FORNEC'.

              loop at itab_zycit125.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI001F03

 

FORM trata_delp.

  CASE ts_embar-activetab.

    WHEN 'FC_PED' .

      LOOP AT itab_zycit003 WHERE mark = 'X'.

        IF itab_zycit003-nrseqli IS INITIAL AND

           itab_zycit003-nrseqlsi IS INITIAL.

          CLEAR v_tabix.

          v_tabix = sy-tabix.

          READ TABLE itab_zycit094 WITH KEY

                         nrseq = itab_zycit003-nrseq.

          IF sy-subrc EQ 0.

            MESSAGE w015 WITH text-246.

            EXIT.

          ENDIF.

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

          SELECT SINGLE * FROM /pws/zycit008

            WHERE nrseq  EQ /pws/zycie001-nrseq

              AND status EQ 'A'

              AND tpgto  EQ 'D'.

          IF sy-subrc IS INITIAL.

            MESSAGE w015 WITH text-344.

            EXIT.

          ENDIF.

          SELECT SINGLE * FROM /pws/zycit026

            WHERE nrseq  EQ /pws/zycie001-nrseq

              AND status EQ 'A'.

          IF sy-subrc IS INITIAL.

            MESSAGE w015 WITH text-345.

            EXIT.

          ENDIF.

* << Fim da inclusão

          READ TABLE itab_zycit263 WITH KEY

               ebeln     = itab_zycit003-ebeln

               ebelp     = itab_zycit003-ebelp

               eliminado = space.

          IF sy-subrc NE 0.

            CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT013'

                 EXPORTING

                      ebeln = itab_zycit003-ebeln

                      ebelp = itab_zycit003-ebelp.

            DELETE itab_zycit003 INDEX v_tabix.

            CLEAR itab_zycit003.

          ELSE.

            MESSAGE w015 WITH text-043.

            EXIT.

          ENDIF.

 

          MOVE:itab_zycit003-ebeln    TO itab_zycit003_del-ebeln,

               itab_zycit003-ebelp    TO itab_zycit003_del-ebelp,

            itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten.

          APPEND itab_zycit003_del.

 

        ELSE.

          MESSAGE w015 WITH text-190.

          EXIT.

        ENDIF.

      ENDLOOP.

    when 'FC_FORNEC'.

      loop at itab_zycit125 where mark = 'X'.

        delete itab_zycit125 index sy-tabix.

        clear itab_zycit125.

      endloop.

  ENDCASE.

ENDFORM.                    " trata_delp

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI001

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 344

 

Texto: (56 caracteres)

"Não é possível deletar o item, pois existe Déb.em Conta!"

 

Comprimento máximo: 56

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 345

 

Texto: (59 caracteres)

"Não é possível deletar o item, pois existe Prest.de Contas!"

 

Comprimento máximo: 59