CE PLUS - Nota 010027

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 31/03/2010 00:00:00

Data/Hora Última Alteração: 07/04/2010 10:59:16

Descrição da Nota: FATURA MERCADORIA SE PERDE NO TRATAMENTO DE FABRICANTE NO BOTÃO REPLICAR

Sintoma

 

A Fatura de mercadoria esta se perdendo no país do Fabricante no Botão Replicar

 

Solução

 

Verificar corretamente o item do pedido para replicar as informações

Versões Tratadas

8.0

Informações Complementares

 

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

Nota Número 10027 Data: 31/03/2010 Hora: 15:32:37

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

 

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

Nota Número              : 10027

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00016

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

FATURA MERCADORIA SE PERDE NO TRATAMENTO DE FABRICANTE NO BOTÃO REPLICAR

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

Palavras Chave:

FATURA - MERCADORIA - REPLICAR

 

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003I01

REPS /PWS/MZYCI003O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

        DELETE FROM /pws/zycit126 WHERE nrseq = /pws/zycie006-nrseq.

        DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.

        DELETE FROM /pws/zyglt209

        WHERE nrseq = /pws/zycie006-nrseq_pgfat

        AND   mdcorresp = 'IP'.

        IF /pws/zycie006-tpfatura = '05'.

          PERFORM salva_zycit130.

        ENDIF.

        IF ( /pws/zycie006-tpfatura = '01'

          OR /pws/zycie006-tpfatura = '11' ).

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

          CLEAR: itab_zycit003-paisfab,

                 itab_zycit003-porigem,

                 itab_zycit003-mfrpn.

          MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn

          WHERE nrseq_pgfat IS INITIAL.

* << Fim da inclusão

          CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal,

                 itab_zycit003-fabric.

          MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat

                        WHERE nrseq_pgfat = /pws/zycie006-nrseq_pgfat.

          MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

          PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

          LOOP AT itab_zycit003.

            UPDATE /pws/zycit263 SET eliminado   = 'X' WHERE

                      nrseq       = itab_zycit003-nrseq AND

                      ebeln       = itab_zycit003-ebeln AND

...

 

...

      DELETE FROM /pws/zycit130 WHERE nrseq = /pws/zycie006-nrseq.

      DELETE FROM /pws/zycit126 WHERE nrseq = /pws/zycie006-nrseq.

      DELETE FROM /pws/zycit129 WHERE nrseq = /pws/zycie006-nrseq.

      DELETE FROM /pws/zyglt209 WHERE

          nrseq = /pws/zycie006-nrseq_pgfat AND mdcorresp = 'IP'.

      IF /pws/zycie006-tpfatura = '05'.

        PERFORM salva_zycit130.

      ENDIF.

      IF ( /pws/zycie006-tpfatura = '01'

        OR /pws/zycie006-tpfatura = '11' ).

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

        CLEAR: itab_zycit003-paisfab,

               itab_zycit003-porigem,

               itab_zycit003-mfrpn.

        MODIFY itab_zycit003 TRANSPORTING paisfab porigem mfrpn

        WHERE nrseq_pgfat IS INITIAL.

* << Fim da inclusão

        CLEAR: itab_zycit003-nrseq_pgfat, itab_zycit003-vlreal.

        MODIFY itab_zycit003 TRANSPORTING vlreal nrseq_pgfat

                           WHERE nrseq_pgfat =

  /pws/zycie006-nrseq_pgfat.

        MODIFY /pws/zycit003 FROM TABLE itab_zycit003.

        PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

        LOOP AT itab_zycit003.

          UPDATE /pws/zycit263 SET eliminado   = 'X' WHERE

                    nrseq       = itab_zycit003-nrseq AND

                    ebeln       = itab_zycit003-ebeln AND

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

    IF NOT itab_zycit003-lifnrfabr IS INITIAL.

      SELECT SINGLE land1 FROM lfa1

        INTO itab_zycit003-porigem

        WHERE lifnr EQ itab_zycit003-lifnrfabr.

      IF sy-subrc EQ 0.

        itab_zycit003-flagfabr = 'S'.

      ELSE.

        CLEAR itab_zycit003-flagfabr.

      ENDIF.

    ELSE.

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

      IF NOT itab_zycit003-fabric EQ '3'.

* << Fim da exclusão

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

      IF NOT itab_zycit003-fabric EQ '3' AND

         NOT itab_zycit003-fabric EQ '2'.

* << Fim da inclusão

        CLEAR itab_zycit003-porigem.

      ENDIF.

      CLEAR itab_zycit003-flagfabr.

    ENDIF.

    MODIFY itab_zycit003.

  ENDLOOP.

ENDFORM.

FORM atualiza_novo_seq.

  IF /pws/zycie006-tpfatura EQ '04'.

    LOOP AT itab_zycit047.

...

 

...

    itab_zycit003_temp-qtd_iten =

      itab_zycit003_temp-qtd_iten - itab_zycit003_temp-invoiced.

    IF itab_zycit003-toinv > itab_zycit003_temp-qtd_iten.

      itab_zycit003_temp-toinv = itab_zycit003_temp-qtd_iten.

    ELSE.

      itab_zycit003_temp-toinv = itab_zycit003-toinv.

    ENDIF.

  ENDIF.

  IF check_02 EQ 'X'.

    itab_zycit003_temp-paisfab = itab_zycit003-paisfab.

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

    itab_zycit003_temp-porigem = itab_zycit003-porigem.

* << Fim da inclusão

  ENDIF.

  IF check_03 EQ 'X'  .

    itab_zycit003_temp-vlfre_fat = itab_zycit003-vlfre_fat.

  ENDIF.

  IF check_04 EQ 'X' .

    itab_zycit003_temp-vlseg_fat = itab_zycit003-vlseg_fat.

  ENDIF.

ENDFORM.

FORM tela_0116.

  IF check_01 EQ 'X'  .

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003I01

 

...

MODULE altera_itab_zycit003 INPUT.

  CHECK NOT itab_zycit003 IS INITIAL.

  v_tabix = v_tabix + 1.

  SELECT SINGLE * FROM tcurx WHERE currkey = /pws/zycie001-waers.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  CHECK /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11'

     OR /pws/zycie006-tpfatura = '  '.

  itab_zycit003-vlreal    = /pws/zycie003-vlreal.

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

  IF /pws/zycie006-fabricante EQ '2' AND

     /pws/zycie003-porigem IS INITIAL AND

     NOT /pws/zycie003-paisfab IS INITIAL.

       /pws/zycie003-porigem = /pws/zycie003-paisfab.

  ENDIF.

  IF /pws/zycie006-fabricante EQ '2' AND

     NOT /pws/zycie003-porigem IS INITIAL AND

        /pws/zycie003-paisfab IS INITIAL.

       CLEAR: /pws/zycie003-porigem.

  ENDIF.

* << Fim da inclusão

  itab_zycit003-porigem   = /pws/zycie003-porigem.

  itab_zycit003-paquis    = /pws/zycie003-paquis.

  itab_zycit003-mfrpn     = /pws/zycie003-mfrpn.

  PERFORM atualiza_fornecedor.

  IF /pws/zycie006-nrseq_pgfat IS INITIAL AND itab_zycit132[] IS

 INITIAL.

    vcalc2 = itab_zycit003-qtd_iten.

    IF vcalc > vcalc2.

      MESSAGE s015 WITH text-119.

  itab_zycit003-toinv = itab_zycit003-qtd_iten - itab_zycit003-invoiced.

...

 

...

      LOOP AT itab_zycit003_temp WHERE marc EQ 'X'.

        CASE sy-dynnr.

          WHEN '0115'.

            PERFORM tela_0115.

          WHEN '0116'.

            PERFORM tela_0116.

        ENDCASE.

        MODIFY itab_zycit003 FROM itab_zycit003_temp

               TRANSPORTING toinv paisfab vlfre_fat vlseg_fat ntgew

                            lifnrfabr mfrpn agente descfab flagfabr

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

                            porigem

* << Fim da inclusão

              WHERE ebeln EQ itab_zycit003_temp-ebeln

                AND ebelp EQ itab_zycit003_temp-ebelp.

      ENDLOOP.

      LEAVE TO SCREEN 0.

    WHEN 'EXIT'.

      LEAVE TO SCREEN 0.

    WHEN 'MALL'.

      itab_zycit003_temp-marc = 'X'.

      MODIFY itab_zycit003_temp TRANSPORTING marc

              WHERE marc EQ space.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003O01

 

...

          IF sy-subrc EQ 0.

            screen-input = 0.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

        IF v_existe_bol EQ 'X'

          AND screen-name EQ 'V_RATVAL' .

          screen-input = '0'.

          MODIFY SCREEN.

        ENDIF.

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

        IF screen-name = 'BTNT0106_08'.

          IF NOT /pws/zycie006-belnr_p IS INITIAL OR

             v_status_s = '0' OR sy-tcode = '/PWS/ZYCI003_M'.

            screen-invisible = '1'.

            MODIFY SCREEN.

          ELSE.

            screen-invisible = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

* << Fim da exclusão

        IF screen-name = 'BTNT0108_03'.

          IF NOT /pws/zycie006-belnr_p IS INITIAL OR

             v_importou2 = 'X'.

            screen-invisible = '1'.

            MODIFY SCREEN.

          ELSE.

            screen-invisible = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

...

 

...

    ENDIF.

  ENDIF.

  IF /pws/zycie001-modalidade EQ '02' AND

     /pws/zycie006-tpfatura EQ '04' .

    MOVE 'X' TO /pws/zycie006-vinserv.

  ENDIF.

  IF ( /pws/zycie006-tpfatura EQ '02' OR

       /pws/zycie006-tpfatura EQ '03' ) AND

     /pws/zycie006-iva IS INITIAL.

    /pws/zycie006-iva = /pws/zycit000-iva.

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

  ENDIF.

  IF sy-tcode = '/PWS/ZYCI003_C' AND

    NOT itab_zycit003-LIFNRFABR IS INITIAL.

      LOOP AT itab_zycit003.

        ON CHANGE OF itab_zycit003-lifnrfabr.

          SELECT SINGLE * FROM lfa1

          WHERE lifnr EQ itab_zycit003-lifnrfabr.

        ENDON.

        IF itab_zycit003-paisfab IS INITIAL.

          MOVE lfa1-land1 TO itab_zycit003-paisfab.

          MOVE lfa1-land1 TO itab_zycit003-porigem.

          MODIFY itab_zycit003.

        ENDIF.

     ENDLOOP.

* << Fim da inclusão

  ENDIF.

ENDMODULE.

MODULE atualiza_total OUTPUT.

  IF /pws/zycie006-ratval = '3'.

    PERFORM check_total.

  ENDIF.

  CLEAR: v_tot_aux , v_tot.

  PERFORM soma_total.

  LOOP AT itab_zycit003.

    v_tabix = sy-tabix.

...