CE PLUS - Nota 002595

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 05/12/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:44:44

Descrição da Nota: AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOSTOS

Sintoma

Valor C&F e dos impostos estava em duplicidade no custo efetivo.

Foi criado um documento para emissão de Nota Fiscal no PWCE e o mesmo somente

aparece no SAP.

 

 

Solução

Tratar programa da NF para atualizar dados do CE após contabilização.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO NA NF QUANDO POSSUI QUEBRAS DE ITENS. VALOR DUPLICADO NO CUSTO.

AO CRIAR NF NÃO APARECE O DOCNUM

Informações Complementares

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

Nota Número 02595 Data: 05/12/2006 Hora: 17:29:09

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

 

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

Nota Número              : 02595

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00142

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

Referência às notas relacionadas:

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

 

01972  - 00001 - 6.0    - 00024  - ERRO NA NF QUANDO POSSUI QUEBRAS DE ITENS. VALOR DUPLICADO NO CUS

02289  - 00002 - 6.0    - 00025  - AO CRIAR NF NÃO APARECE O DOCNUM

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

AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOSTOS

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

Palavras Chave:

CRIAÇÃO DE NF - ERRO AO ATUALIZAR TABELAS DO CE

DUPLICA VALORES DE IMPOSTOS - ELEMENTO PEP

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

 

 

 

                   CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B1N'

                        EXPORTING

                             v_modo          = v_modo_bi

                        TABLES

                             t_dados         = it_zycee005

                             t_itens         = it_zycee007

                             t_campos        = it_zycet004

                             t_zycet005      = it_zycet005

                             t_message       = it_zycee006

                        EXCEPTIONS

                             campo_em_branco = 1

                             OTHERS          = 2.

                   CLEAR v_contitm.

                   LOOP AT itab_zycit042

                     WHERE nrseq    EQ itab_zycit042_aux-nrseq

                       AND nfglobal EQ itab_zycit042_aux-nfglobal

                       AND tpnf     EQ itab_zycit042_aux-tpnf

                       AND lifnr    EQ itab_zycit042_aux-lifnr

                      AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

                       AND ( docnum   IS initial OR

                             docnum   = '9999999999' OR

                             docnum   = '8888888888' )

                        AND mark     =  'X'

                       AND processado = 'X'.

 

                     ADD 1 TO v_contitm.

                     itab_zycit042-itmnum = v_contitm * 10.

                     MODIFY itab_zycit042 INDEX sy-tabix.

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

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

                ELSE.

                  CLEAR v_contitm.

                  LOOP AT itab_zycit042

                    WHERE nrseq    EQ itab_zycit042_aux-nrseq

                      AND nfglobal EQ itab_zycit042_aux-nfglobal

                      AND tpnf     EQ itab_zycit042_aux-tpnf

                      AND lifnr    EQ itab_zycit042_aux-lifnr

                     AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

                      AND ( docnum   IS initial OR

                            docnum   = '9999999999' OR

                            docnum   = '8888888888' )

                       AND mark     =  'X'

                      AND processado = 'X'.

                    ADD 1 TO v_contitm.

* << Fim da inclusão

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

                    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                     tabela = text-014

                                       cpochv = /pws/zycie041-nfglobal

                                                          tpmsg  = 'S'.

                    IF sy-subrc EQ 0.

                      IF it_zycee005-belnr NE '0000000000'.

* << Fim da exclusão

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

                    itab_zycit042-itmnum = v_contitm * 10.

                    MODIFY itab_zycit042 INDEX sy-tabix.

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

* << Fim da inclusão

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

                        SELECT SINGLE * FROM j_1bnfdoc

                                      WHERE docnum EQ it_zycee005-belnr.

                   IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                                    OR it_zycet005-belnr = '8888888888'.

                          /pws/zycie041-docnum      = it_zycee005-belnr.

                          IF it_zycet005-belnr = '9999999999'.

                          /pws/zycie041-docnum      = it_zycet005-belnr.

                          ENDIF.

                          IF it_zycet005-belnr = '8888888888'.

                          /pws/zycie041-docnum      = it_zycet005-belnr.

                          ENDIF.

                        /pws/zycie041-nfnum       = itab_zycit042-nfnum.

                       /pws/zycie041-series      = itab_zycit042-series.

                       /pws/zycie041-subser      = itab_zycit042-subser.

                          /pws/zycie041-cancel      = ' '.

                          CLEAR: /pws/zycie041-belnr_mr1m,

                                 /pws/zycie041-mblnr_mb01,

                                 /pws/zycie041-belnr_f_51,

                                 /pws/zycie041-belnr_f_02,

                                 /pws/zycie041-statusp_mr1m,

                                 /pws/zycie041-statusp_mb01,

                                 /pws/zycie041-statusp_f_51,

                                 /pws/zycie041-statusp_f_02,

                                 /pws/zycie041-dt_mr1m,

                         /pws/zycie041-dt_mb01, /pws/zycie041-dt_f_51,

                         /pws/zycie041-dt_f_02,

                   /pws/zycie041-belnrf02seg, /pws/zycie041-dt_f02seg,

                   /pws/zycie041-belnrf02fre, /pws/zycie041-dt_f02fre.

                          itab_zycit042-docnum = it_zycee005-belnr.

                          IF it_zycet005-belnr = '9999999999'.

                            itab_zycit042-docnum = it_zycet005-belnr.

* << Fim da exclusão

                          ENDIF.

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

                          IF it_zycet005-belnr = '8888888888'.

                            /pws/zycit042-docnum = it_zycet005-belnr.

                          ENDIF.

                          itab_zycit042-mark   = ' '.

                          MODIFY /pws/zycit041 FROM /pws/zycie041.

                          IF NOT /pws/zycie041-docnum = '9999999999'

                          AND NOT /pws/zycie041-docnum = '8888888888'.

                            DELETE  FROM /pws/zycit041

                               WHERE nrseq = /pws/zycie041-nrseq AND

                                nfglobal = /pws/zycie041-nfglobal AND

                                     ( docnum = '9999999999' OR

                                    docnum = '8888888888' ).

                          ENDIF.

                          MODIFY itab_zycit042

                               TRANSPORTING docnum mark

                               WHERE nrseq    = itab_zycit042-nrseq

                                AND nfglobal = itab_zycit042-nfglobal

                                 AND ebeln    = itab_zycit042-ebeln

                                 AND ebelp    = itab_zycit042-ebelp

                                 AND tpnf     = itab_zycit042-tpnf

                                 AND lifnr    EQ itab_zycit042-lifnr

                           AND j_1bbranch EQ itab_zycit042-j_1bbranch

* << Fim da exclusão

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

              ELSE.

                CLEAR v_contitm.

                LOOP AT itab_zycit042

                  WHERE nrseq    EQ itab_zycit042_aux-nrseq

                    AND nfglobal EQ itab_zycit042_aux-nfglobal

                    AND tpnf     EQ itab_zycit042_aux-tpnf

                    AND lifnr    EQ itab_zycit042_aux-lifnr

                   AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

* << Fim da inclusão

                                AND ( docnum   IS initial OR

                                      docnum   = '9999999999' OR

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

                                      docnum = '8888888888' )

                                 AND mark     = 'X'

* << Fim da exclusão

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

                          docnum   = '8888888888' )

                     AND mark     =  'X'

* << Fim da inclusão

                                 AND processado = 'X'.

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

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

                          IF sy-subrc = 0.

                            MOVE itab_matuse_aux-matnr TO

                                 itab_zycit042-matnr.

                          ENDIF.

* << Fim da exclusão

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

                  ADD 1 TO v_contitm.

                  itab_zycit042-itmnum = v_contitm * 10.

                  MODIFY itab_zycit042 INDEX sy-tabix.

                  PERFORM atualiza_dados_nota.

* << Fim da inclusão

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

                          MOVE: j_1bnfdoc-nfnum  TO itab_zycit042-nfnum,

                               j_1bnfdoc-series TO itab_zycit042-series.

                          MODIFY /pws/zycit042 FROM itab_zycit042.

                     UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                                     WHERE nrseq  = itab_zycit042-nrseq

                                     AND   ebeln  = itab_zycit042-ebeln

                                     AND   ebelp  = itab_zycit042-ebelp.

                          IF v_modalidade = '99'

                      OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

                            UPDATE /pws/zycit043 SET docnumnfg =

                                            /pws/zycie041-docnum

                              WHERE nrseq = /pws/zycie041-nrseq AND

                                nfglobal = /pws/zycie041-nfglobal AND

                                    cancel = space.

                          ENDIF.

                          v_status_s = 0.

                          COMMIT WORK.

                        ENDIF.

                        IF v_modalidade NE '99' OR

                         ( v_modalidade = '99' AND

                           v_libera IS INITIAL ).

                          PERFORM congela_despesa.

                        ENDIF.

                      ENDIF.

                    ELSE.

                     READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                      tabela = text-014

                                        cpochv = /pws/zycie041-nfglobal

                                                           tpmsg  = 'E'.

                      IF sy-subrc EQ 0.

                        LOOP AT it_zycet004.

                          MESSAGE i019 WITH it_zycet004-descricao.

                        ENDLOOP.

                        it_erro-nrseq  = itab_zycit042-nrseq.

                        it_erro-branch = itab_zycit042-j_1bbranch.

                        it_erro-msg    = it_zycet005-msg.

                        APPEND it_erro.

                      ENDIF.

                    ENDIF.

* << Fim da exclusão

                  ENDLOOP.

                ENDIF.

              ENDIF.

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

            ENDIF.

* << Fim da exclusão

            IF  v_modalidade = '99'

             OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

              IF v_modalidade = '99' AND

                 v_libera IS INITIAL.

                it_zycet005-tcode  = text-065.

                 it_zycet005-tabela = text-014.

                 it_zycet005-cpochv = /pws/zycie041-nfglobal.

                 it_zycet005-tpmsg  = 'S'.

                 it_zycet005-belnr  = '9999999999'.

                 APPEND it_zycet005.

               ELSEIF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

                 it_zycet005-tcode  = text-065.

                 it_zycet005-tabela = text-014.

                 it_zycet005-cpochv = /pws/zycie041-nfglobal.

                 it_zycet005-tpmsg  = 'S'.

                 it_zycet005-belnr  = '8888888888'.

                 APPEND it_zycet005.

               ENDIF.

               CLEAR v_contitm.

               LOOP AT itab_zycit042

                 WHERE nrseq    EQ itab_zycit042_aux-nrseq

                   AND nfglobal EQ itab_zycit042_aux-nfglobal

                   AND tpnf     EQ itab_zycit042_aux-tpnf

                   AND lifnr    EQ itab_zycit042_aux-lifnr

                  AND j_1bbranch EQ itab_zycit042_aux-j_1bbranch

                   AND ( docnum   IS initial OR

                         docnum   = '9999999999' OR

                         docnum   = '8888888888' )

                    AND mark     =  'X'

                   AND processado = 'X'.

 

                 ADD 1 TO v_contitm.

                 itab_zycit042-itmnum = v_contitm * 10.

                 MODIFY itab_zycit042 INDEX sy-tabix.

 

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

                READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                 tabela = text-014

                                   cpochv = /pws/zycie041-nfglobal

                                                      tpmsg  = 'S'.

                IF sy-subrc EQ 0.

                  IF it_zycee005-belnr NE '0000000000'.

                    SELECT SINGLE * FROM j_1bnfdoc

                                  WHERE docnum EQ it_zycee005-belnr.

                   IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                                    OR it_zycet005-belnr = '8888888888'.

                      /pws/zycie041-docnum      = it_zycee005-belnr.

                      IF it_zycet005-belnr = '9999999999'.

                        /pws/zycie041-docnum      = it_zycet005-belnr.

                      ENDIF.

                      IF it_zycet005-belnr = '8888888888'.

                        /pws/zycie041-docnum      = it_zycet005-belnr.

                      ENDIF.

                      /pws/zycie041-nfnum       = itab_zycit042-nfnum.

                      /pws/zycie041-series      = itab_zycit042-series.

                      /pws/zycie041-subser      = itab_zycit042-subser.

                      /pws/zycie041-cancel      = ' '.

                      CLEAR: /pws/zycie041-belnr_mr1m,

                             /pws/zycie041-mblnr_mb01,

                             /pws/zycie041-belnr_f_51,

                             /pws/zycie041-belnr_f_02,

                             /pws/zycie041-statusp_mr1m,

                             /pws/zycie041-statusp_mb01,

                             /pws/zycie041-statusp_f_51,

                             /pws/zycie041-statusp_f_02,

                             /pws/zycie041-dt_mr1m,

                     /pws/zycie041-dt_mb01, /pws/zycie041-dt_f_51,

                     /pws/zycie041-dt_f_02,

               /pws/zycie041-belnrf02seg, /pws/zycie041-dt_f02seg,

               /pws/zycie041-belnrf02fre, /pws/zycie041-dt_f02fre.

                      itab_zycit042-docnum = it_zycee005-belnr.

                      IF it_zycet005-belnr = '9999999999'.

                        itab_zycit042-docnum = it_zycet005-belnr.

                      ENDIF.

                      IF it_zycet005-belnr = '8888888888'.

                        /pws/zycit042-docnum = it_zycet005-belnr.

                      ENDIF.

                      itab_zycit042-mark   = ' '.

                      MODIFY /pws/zycit041 FROM /pws/zycie041.

                      IF NOT /pws/zycie041-docnum = '9999999999'

                      AND NOT /pws/zycie041-docnum = '8888888888'.

                        DELETE  FROM /pws/zycit041

                           WHERE nrseq = /pws/zycie041-nrseq AND

                            nfglobal = /pws/zycie041-nfglobal AND

                                 ( docnum = '9999999999' OR

                                docnum = '8888888888' ).

                      ENDIF.

                      MODIFY itab_zycit042

                           TRANSPORTING docnum mark

                           WHERE nrseq    = itab_zycit042-nrseq

                            AND nfglobal = itab_zycit042-nfglobal

                             AND ebeln    = itab_zycit042-ebeln

                             AND ebelp    = itab_zycit042-ebelp

                             AND tpnf     = itab_zycit042-tpnf

                             AND lifnr    EQ itab_zycit042-lifnr

                       AND j_1bbranch EQ itab_zycit042-j_1bbranch

                            AND ( docnum   IS initial OR

                                  docnum   = '9999999999' OR

                                  docnum = '8888888888' )

                             AND mark     = 'X'

                             AND processado = 'X'.

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

                      IF sy-subrc = 0.

                        MOVE itab_matuse_aux-matnr TO

                             itab_zycit042-matnr.

                      ENDIF.

                      MOVE: j_1bnfdoc-nfnum  TO itab_zycit042-nfnum,

                           j_1bnfdoc-series TO itab_zycit042-series.

                      MODIFY /pws/zycit042 FROM itab_zycit042.

                     UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                                     WHERE nrseq  = itab_zycit042-nrseq

                                     AND   ebeln  = itab_zycit042-ebeln

                                     AND   ebelp  = itab_zycit042-ebelp.

                      IF v_modalidade = '99'

                  OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

                        UPDATE /pws/zycit043 SET docnumnfg =

                                        /pws/zycie041-docnum

                          WHERE nrseq = /pws/zycie041-nrseq AND

                            nfglobal = /pws/zycie041-nfglobal AND

                                cancel = space.

                      ENDIF.

                      v_status_s = 0.

                      COMMIT WORK.

                    ENDIF.

                    IF v_modalidade NE '99' OR

                     ( v_modalidade = '99' AND

                       v_libera IS INITIAL ).

                      PERFORM congela_despesa.

                    ENDIF.

                  ENDIF.

                ELSE.

                  READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                   tabela = text-014

                                     cpochv = /pws/zycie041-nfglobal

                                                        tpmsg  = 'E'.

                  IF sy-subrc EQ 0.

                    LOOP AT it_zycet004.

                      MESSAGE i019 WITH it_zycet004-descricao.

                    ENDLOOP.

                    it_erro-nrseq  = itab_zycit042-nrseq.

                    it_erro-branch = itab_zycit042-j_1bbranch.

                    it_erro-msg    = it_zycet005-msg.

                    APPEND it_erro.

                  ENDIF.

                ENDIF.

* << Fim da exclusão

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

                PERFORM atualiza_dados_nota.

* << Fim da inclusão

              ENDLOOP.

            ENDIF.

            v_qtditem = wa_zycit048-qtd_item.

            IF v_counter >= v_qtditem.

              v_tpnf = 0.

            ENDIF.

 

...

 

...

 

 

                   CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B1N'

                        EXPORTING

                             v_modo          = v_modo_bi

                        TABLES

                             t_dados         = it_zycee005

                             t_itens         = it_zycee007

                             t_campos        = it_zycet004

                             t_zycet005      = it_zycet005

                             t_message       = it_zycee006

                        EXCEPTIONS

                             campo_em_branco = 1

                             OTHERS          = 2.

 

                   CLEAR v_contitm.

                   LOOP AT itab_zycit042

                           WHERE nrseq    EQ itab_zycit042_aux-nrseq

                            AND nfglobal EQ itab_zycit042_aux-nfglobal

                         AND j_1bbranch = itab_zycit042_aux-j_1bbranch

                             AND lifnr = itab_zycit042_aux-lifnr

                             AND ( docnum   IS initial OR

                               docnum   = '9999999999' OR

                                 docnum = '8888888888' )

                             AND mark     = 'X'

                             AND processado = 'X'.

 

                     ADD 1 TO v_contitm.

                     itab_zycit042-itmnum = v_contitm * 10.

                     MODIFY itab_zycit042 INDEX sy-tabix.

 

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

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

                ELSE.

                  CLEAR v_contitm.

                  LOOP AT itab_zycit042

                          WHERE nrseq    EQ itab_zycit042_aux-nrseq

                           AND nfglobal EQ itab_zycit042_aux-nfglobal

                        AND j_1bbranch = itab_zycit042_aux-j_1bbranch

                            AND lifnr = itab_zycit042_aux-lifnr

                            AND ( docnum   IS initial OR

                              docnum   = '9999999999' OR

                                docnum = '8888888888' )

                            AND mark     = 'X'

                            AND processado = 'X'.

                    ADD 1 TO v_contitm.

* << Fim da inclusão

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

                    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                     tabela = text-014

                                       cpochv = /pws/zycie041-nfglobal

                                                       tpmsg  = 'S'.

                    IF sy-subrc EQ 0.

                      IF it_zycee005-belnr NE '0000000000'.

                        SELECT SINGLE * FROM j_1bnfdoc

                                      WHERE docnum EQ it_zycee005-belnr.

                   IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                                    OR it_zycet005-belnr = '8888888888'.

                          /pws/zycie041-docnum      = it_zycee005-belnr.

                          IF it_zycet005-belnr = '9999999999'.

                          /pws/zycie041-docnum      = it_zycet005-belnr.

* << Fim da exclusão

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

                    itab_zycit042-itmnum = v_contitm * 10.

                    MODIFY itab_zycit042 INDEX sy-tabix.

                    PERFORM atualiza_dados_nota.

                  ENDLOOP.

* << Fim da inclusão

                          ENDIF.

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

                          IF it_zycet005-belnr = '8888888888'.

                          /pws/zycie041-docnum      = it_zycet005-belnr.

                          ENDIF.

                        /pws/zycie041-nfnum       = itab_zycit042-nfnum.

                       /pws/zycie041-series      = itab_zycit042-series.

                       /pws/zycie041-subser      = itab_zycit042-subser.

                          /pws/zycie041-cancel      = ' '.

                          CLEAR: /pws/zycie041-belnr_mr1m,

                                 /pws/zycie041-mblnr_mb01,

                                 /pws/zycie041-belnr_f_51,

                                 /pws/zycie041-belnr_f_02,

                                 /pws/zycie041-statusp_mr1m,

                                 /pws/zycie041-statusp_mb01,

                                 /pws/zycie041-statusp_f_51,

                                 /pws/zycie041-statusp_f_02,

                                 /pws/zycie041-dt_mr1m,

                                 /pws/zycie041-dt_mb01,

                                 /pws/zycie041-dt_f_51,

                                 /pws/zycie041-dt_f_02,

                                 /pws/zycie041-belnrf02seg,

                                 /pws/zycie041-dt_f02seg,

                                 /pws/zycie041-belnrf02fre,

                                 /pws/zycie041-dt_f02fre.

                          itab_zycit042-docnum = it_zycee005-belnr.

                          IF it_zycet005-belnr = '9999999999'.

                            itab_zycit042-docnum = it_zycet005-belnr.

                          ENDIF.

                          IF it_zycet005-belnr = '8888888888'.

                            itab_zycit042-docnum = it_zycet005-belnr.

                          ENDIF.

                          itab_zycit042-mark   = ' '.

                          MODIFY /pws/zycit041 FROM /pws/zycie041.

                          IF NOT /pws/zycie041-docnum = '9999999999'

                          AND NOT /pws/zycie041-docnum = '8888888888'.

                            DELETE  FROM /pws/zycit041

                               WHERE nrseq = /pws/zycie041-nrseq AND

                                nfglobal = /pws/zycie041-nfglobal AND

                                     ( docnum = '9999999999' OR

                                     docnum = '8888888888' ).

                          ENDIF.

                          MODIFY itab_zycit042 TRANSPORTING docnum mark

                              WHERE nrseq    = itab_zycit042-nrseq

                                AND nfglobal = itab_zycit042-nfglobal

                              AND j_1bbranch = itab_zycit042-j_1bbranch

                                AND lifnr = itab_zycit042-lifnr

                                AND ebeln    = itab_zycit042-ebeln

                                AND ebelp    = itab_zycit042-ebelp

* << Fim da exclusão

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

              ELSE.

                CLEAR v_contitm.

                LOOP AT itab_zycit042

                        WHERE nrseq    EQ itab_zycit042_aux-nrseq

                         AND nfglobal EQ itab_zycit042_aux-nfglobal

                      AND j_1bbranch = itab_zycit042_aux-j_1bbranch

                          AND lifnr = itab_zycit042_aux-lifnr

* << Fim da inclusão

                                AND ( docnum   IS initial OR

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

                                      docnum   = '9999999999'  OR

* << Fim da exclusão

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

                            docnum   = '9999999999' OR

* << Fim da inclusão

                                      docnum = '8888888888' )

                                AND mark     = 'X'

                                AND processado = 'X'.

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

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

                          IF sy-subrc = 0.

                            MOVE itab_matuse_aux-matnr TO

                                 itab_zycit042-matnr.

                          ENDIF.

* << Fim da exclusão

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

                  ADD 1 TO v_contitm.

                  itab_zycit042-itmnum = v_contitm * 10.

                  MODIFY itab_zycit042 INDEX sy-tabix.

                  PERFORM atualiza_dados_nota.

* << Fim da inclusão

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

                          MOVE: j_1bnfdoc-nfnum  TO itab_zycit042-nfnum,

                               j_1bnfdoc-series TO itab_zycit042-series.

                          MODIFY /pws/zycit042 FROM itab_zycit042.

                     UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                                     WHERE nrseq  = itab_zycit042-nrseq

                                     AND   ebeln  = itab_zycit042-ebeln

                                     AND   ebelp  = itab_zycit042-ebelp.

                          IF v_modalidade = '99'

                      OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

                            UPDATE /pws/zycit043 SET docnumnfg =

                                   /pws/zycie041-docnum

                              WHERE nrseq = /pws/zycie041-nrseq AND

                                nfglobal = /pws/zycie041-nfglobal AND

                                    cancel = space.

                          ENDIF.

                          v_status_s = 0.

                          COMMIT WORK.

                        ENDIF.

                        IF v_modalidade NE '99' OR

                     ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' AND

                          v_modalidade NE '99' ) OR

                         ( v_modalidade = '99' AND

                           v_libera IS INITIAL ).

                          PERFORM congela_despesa.

                        ENDIF.

                      ENDIF.

                    ELSE.

                     READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                      tabela = text-014

                                        cpochv = /pws/zycie041-nfglobal

                                                           tpmsg  = 'E'.

                      IF sy-subrc EQ 0.

                        it_erro-nrseq  = itab_zycit042-nrseq.

                        it_erro-branch = itab_zycit042-j_1bbranch.

                        it_erro-msg    = it_zycet005-msg.

                        APPEND it_erro.

                      ENDIF.

                    ENDIF.

* << Fim da exclusão

                  ENDLOOP.

                ENDIF.

              ENDIF.

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

            ENDIF.

* << Fim da exclusão

            IF sy-subrc = 0 OR v_modalidade = '99' OR

               ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

              IF v_modalidade = '99' AND

                v_libera IS INITIAL.

                it_zycet005-tcode  = text-065.

                 it_zycet005-tabela = text-014.

                 it_zycet005-cpochv = /pws/zycie041-nfglobal.

                 it_zycet005-tpmsg  = 'S'.

                 it_zycet005-belnr  = '9999999999'.

                 APPEND it_zycet005.

               ELSEIF t001-land1 EQ 'AR' OR  t001-land1 EQ 'CL'.

                 it_zycet005-tcode  = text-065.

                 it_zycet005-tabela = text-014.

                 it_zycet005-cpochv = /pws/zycie041-nfglobal.

                 it_zycet005-tpmsg  = 'S'.

                 it_zycet005-belnr  = '8888888888'.

                 APPEND it_zycet005.

               ENDIF.

               CLEAR v_contitm.

               LOOP AT itab_zycit042

                       WHERE nrseq    EQ itab_zycit042_aux-nrseq

                        AND nfglobal EQ itab_zycit042_aux-nfglobal

                     AND j_1bbranch = itab_zycit042_aux-j_1bbranch

                         AND lifnr = itab_zycit042_aux-lifnr

                         AND ( docnum   IS initial OR

                           docnum   = '9999999999' OR

                             docnum = '8888888888' )

                         AND mark     = 'X'

                         AND processado = 'X'.

 

                 ADD 1 TO v_contitm.

                 itab_zycit042-itmnum = v_contitm * 10.

                 MODIFY itab_zycit042 INDEX sy-tabix.

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

                PERFORM atualiza_dados_nota.

* << Fim da inclusão

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

                READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                 tabela = text-014

                                   cpochv = /pws/zycie041-nfglobal

                                                   tpmsg  = 'S'.

                IF sy-subrc EQ 0.

                  IF it_zycee005-belnr NE '0000000000'.

                    SELECT SINGLE * FROM j_1bnfdoc

                                  WHERE docnum EQ it_zycee005-belnr.

                   IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                                    OR it_zycet005-belnr = '8888888888'.

                      /pws/zycie041-docnum      = it_zycee005-belnr.

                      IF it_zycet005-belnr = '9999999999'.

                        /pws/zycie041-docnum      = it_zycet005-belnr.

                      ENDIF.

                      IF it_zycet005-belnr = '8888888888'.

                        /pws/zycie041-docnum      = it_zycet005-belnr.

                      ENDIF.

                      /pws/zycie041-nfnum       = itab_zycit042-nfnum.

                      /pws/zycie041-series      = itab_zycit042-series.

                      /pws/zycie041-subser      = itab_zycit042-subser.

                      /pws/zycie041-cancel      = ' '.

                      CLEAR: /pws/zycie041-belnr_mr1m,

                             /pws/zycie041-mblnr_mb01,

                             /pws/zycie041-belnr_f_51,

                             /pws/zycie041-belnr_f_02,

                             /pws/zycie041-statusp_mr1m,

                             /pws/zycie041-statusp_mb01,

                             /pws/zycie041-statusp_f_51,

                             /pws/zycie041-statusp_f_02,

                             /pws/zycie041-dt_mr1m,

                             /pws/zycie041-dt_mb01,

                             /pws/zycie041-dt_f_51,

                             /pws/zycie041-dt_f_02,

                             /pws/zycie041-belnrf02seg,

                             /pws/zycie041-dt_f02seg,

                             /pws/zycie041-belnrf02fre,

                             /pws/zycie041-dt_f02fre.

                      itab_zycit042-docnum = it_zycee005-belnr.

                      IF it_zycet005-belnr = '9999999999'.

                        itab_zycit042-docnum = it_zycet005-belnr.

                      ENDIF.

                      IF it_zycet005-belnr = '8888888888'.

                        itab_zycit042-docnum = it_zycet005-belnr.

                      ENDIF.

                      itab_zycit042-mark   = ' '.

                      MODIFY /pws/zycit041 FROM /pws/zycie041.

                      IF NOT /pws/zycie041-docnum = '9999999999'

                      AND NOT /pws/zycie041-docnum = '8888888888'.

                        DELETE  FROM /pws/zycit041

                           WHERE nrseq = /pws/zycie041-nrseq AND

                            nfglobal = /pws/zycie041-nfglobal AND

                                 ( docnum = '9999999999' OR

                                 docnum = '8888888888' ).

                      ENDIF.

                      MODIFY itab_zycit042 TRANSPORTING docnum mark

                          WHERE nrseq    = itab_zycit042-nrseq

                            AND nfglobal = itab_zycit042-nfglobal

                          AND j_1bbranch = itab_zycit042-j_1bbranch

                            AND lifnr = itab_zycit042-lifnr

                            AND ebeln    = itab_zycit042-ebeln

                            AND ebelp    = itab_zycit042-ebelp

                            AND ( docnum   IS initial OR

                                  docnum   = '9999999999'  OR

                                  docnum = '8888888888' )

                            AND mark     = 'X'

                            AND processado = 'X'.

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

                      IF sy-subrc = 0.

                        MOVE itab_matuse_aux-matnr TO

                             itab_zycit042-matnr.

                      ENDIF.

                      MOVE: j_1bnfdoc-nfnum  TO itab_zycit042-nfnum,

                           j_1bnfdoc-series TO itab_zycit042-series.

                      MODIFY /pws/zycit042 FROM itab_zycit042.

                     UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                                     WHERE nrseq  = itab_zycit042-nrseq

                                     AND   ebeln  = itab_zycit042-ebeln

                                     AND   ebelp  = itab_zycit042-ebelp.

                      IF v_modalidade = '99'

                  OR ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

                        UPDATE /pws/zycit043 SET docnumnfg =

                               /pws/zycie041-docnum

                          WHERE nrseq = /pws/zycie041-nrseq AND

                            nfglobal = /pws/zycie041-nfglobal AND

                                cancel = space.

                      ENDIF.

                      v_status_s = 0.

                      COMMIT WORK.

                    ENDIF.

                    IF v_modalidade NE '99' OR

                 ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' AND

                      v_modalidade NE '99' ) OR

                     ( v_modalidade = '99' AND

                       v_libera IS INITIAL ).

                      PERFORM congela_despesa.

                    ENDIF.

                  ENDIF.

                ELSE.

                  READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                                   tabela = text-014

                                     cpochv = /pws/zycie041-nfglobal

                                                        tpmsg  = 'E'.

                  IF sy-subrc EQ 0.

                    it_erro-nrseq  = itab_zycit042-nrseq.

                    it_erro-branch = itab_zycit042-j_1bbranch.

                    it_erro-msg    = it_zycet005-msg.

                    APPEND it_erro.

                  ENDIF.

                ENDIF.

* << Fim da exclusão

              ENDLOOP.

            ENDIF.

          ENDIF.

        ELSE.

          CALL SCREEN '0050'.

 

 

...

 

 

 

...

 

          APPEND it_zycet005.

        ENDIF.

        LOOP AT itab_zycit044.

 

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

          PERFORM atualiza_dados_nota_r.

* << Fim da inclusão

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

          READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                           tabela = text-025

                                           cpochv =

                                           /pws/zycie043-nfremessa

                                           tpmsg  = 'S'.

          IF sy-subrc EQ 0.

            IF it_zycee005-belnr NE '0000000000'.

              SELECT SINGLE * FROM j_1bnfdoc

                            WHERE docnum EQ it_zycee005-belnr.

              IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                               OR it_zycet005-belnr = '8888888888'.

                /pws/zycie043-docnum      = it_zycee005-belnr.

                IF it_zycet005-belnr = '9999999999'.

                  /pws/zycie043-docnum      = it_zycet005-belnr.

                ENDIF.

                IF it_zycet005-belnr = '8888888888'.

                  /pws/zycie043-docnum      = it_zycet005-belnr.

                ENDIF.

                /pws/zycie043-nfnum       = itab_zycit044-nfnum.

                /pws/zycie043-series      = itab_zycit044-series.

                /pws/zycie043-subser      = itab_zycit044-subser.

                itab_zycit044-docnum = it_zycee005-belnr.

                IF it_zycet005-belnr = '9999999999'.

                  itab_zycit044-docnum = it_zycet005-belnr.

                ENDIF.

                IF it_zycet005-belnr = '8888888888'.

                  itab_zycit044-docnum = it_zycet005-belnr.

                ENDIF.

                CLEAR /pws/zycie043-cancel.

              CLEAR: /pws/zycie043-belnr_mr1m, /pws/zycie043-mblnr_mb01,

                                               /pws/zycie043-belnr_f_51,

                   /pws/zycie043-belnr_f_02, /pws/zycie043-statusp_mr1m,

                 /pws/zycie043-statusp_mb01, /pws/zycie043-statusp_f_51,

                      /pws/zycie043-statusp_f_02, /pws/zycie043-dt_mr1m,

                           /pws/zycie043-dt_mb01, /pws/zycie043-dt_f_51,

                                                  /pws/zycie043-dt_f_02,

                     /pws/zycie043-belnrf02seg, /pws/zycie043-dt_f02seg,

                     /pws/zycie043-belnrf02fre, /pws/zycie043-dt_f02fre.

                MODIFY /pws/zycit043 FROM /pws/zycie043.

                MODIFY itab_zycit044 TRANSPORTING docnum

                  WHERE nrseqnf = itab_zycit044-nrseqnf

                    AND nrseq     = itab_zycit044-nrseq

                    AND nfglobal  = itab_zycit044-nfglobal

                    AND nfremessa = itab_zycit044-nfremessa

                    AND ebeln     = itab_zycit044-ebeln

                    AND ebelp     = itab_zycit044-ebelp

                    AND tpnf      = itab_zycit044-tpnf.

                MODIFY /pws/zycit044 FROM TABLE itab_zycit044.

                v_sucesso = 'OK'.

                COMMIT WORK.

              ENDIF.

            ENDIF.

          ELSE.

            READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                             tabela = text-025

                                             cpochv =

                                             /pws/zycie043-nfremessa

                                             tpmsg  = 'E'.

            IF sy-subrc EQ 0.

              it_erro-nrseq  = itab_zycit042-nrseq.

              it_erro-branch = wa_zycit001-j_1bbranch.

              it_erro-msg    = it_zycet005-msg.

              APPEND it_erro.

            ENDIF.

          ENDIF.

* << Fim da exclusão

        ENDLOOP.

      ENDIF.

...

 

...

 

 

        CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B1N'

             EXPORTING

                  v_modo          = v_modo_bi

             TABLES

                  t_dados         = it_zycee005

                  t_itens         = it_zycee007

                  t_campos        = it_zycet004

                  t_zycet005      = it_zycet005

                  t_message       = it_zycee006

             EXCEPTIONS

                  campo_em_branco = 1

                  OTHERS          = 2.

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

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

        LOOP AT itab_zycit044.

* << Fim da inclusão

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

    IF sy-subrc = 0 OR v_modalidade = '99' OR

     ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

* << Fim da exclusão

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

          PERFORM atualiza_dados_nota_r.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycit044.

          PERFORM atualiza_dados_nota_r.

        ENDLOOP.

* << Fim da inclusão

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

      IF v_modalidade = '99'.

        it_zycet005-tcode  = text-065.

        it_zycet005-tabela = text-025.

        it_zycet005-cpochv = /pws/zycie043-nfremessa.

        it_zycet005-tpmsg  = 'S'.

        it_zycet005-belnr  = '9999999999'.

        APPEND it_zycet005.

      ELSEIF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

        it_zycet005-tcode  = text-065.

        it_zycet005-tabela = text-025.

        it_zycet005-cpochv = /pws/zycie043-nfremessa.

        it_zycet005-tpmsg  = 'S'.

        it_zycet005-belnr  = '8888888888'.

        APPEND it_zycet005.

* << Fim da exclusão

      ENDIF.

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

    ELSE.

* << Fim da inclusão

      LOOP AT itab_zycit044.

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

        PERFORM atualiza_dados_nota_r.

      ENDLOOP.

    ENDIF.

* << Fim da inclusão

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

        READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                         tabela = text-025

                                         cpochv =

                                         /pws/zycie043-nfremessa

                                         tpmsg  = 'S'.

        IF sy-subrc EQ 0.

          IF it_zycee005-belnr NE '0000000000'.

            SELECT SINGLE * FROM j_1bnfdoc

                          WHERE docnum EQ it_zycee005-belnr.

            IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                             OR it_zycet005-belnr = '8888888888'.

              /pws/zycie043-docnum      = it_zycee005-belnr.

              IF it_zycet005-belnr = '9999999999'.

                /pws/zycie043-docnum      = it_zycet005-belnr.

              ENDIF.

              IF it_zycet005-belnr = '8888888888'.

                /pws/zycie043-docnum      = it_zycet005-belnr.

              ENDIF.

              /pws/zycie043-nfnum       = itab_zycit044-nfnum.

              /pws/zycie043-series      = itab_zycit044-series.

              /pws/zycie043-subser      = itab_zycit044-subser.

              itab_zycit044-docnum = it_zycee005-belnr.

              IF it_zycet005-belnr = '9999999999'.

                itab_zycit044-docnum = it_zycet005-belnr.

              ENDIF.

              IF it_zycet005-belnr = '8888888888'.

                itab_zycit044-docnum = it_zycet005-belnr.

              ENDIF.

              CLEAR /pws/zycie043-cancel.

              CLEAR: /pws/zycie043-belnr_mr1m, /pws/zycie043-mblnr_mb01,

                                /pws/zycie043-belnr_f_51,

                   /pws/zycie043-belnr_f_02, /pws/zycie043-statusp_mr1m,

                 /pws/zycie043-statusp_mb01, /pws/zycie043-statusp_f_51,

                      /pws/zycie043-statusp_f_02, /pws/zycie043-dt_mr1m,

                           /pws/zycie043-dt_mb01, /pws/zycie043-dt_f_51,

                                /pws/zycie043-dt_f_02,

                     /pws/zycie043-belnrf02seg, /pws/zycie043-dt_f02seg,

                     /pws/zycie043-belnrf02fre, /pws/zycie043-dt_f02fre.

              MODIFY /pws/zycit043 FROM /pws/zycie043.

              MODIFY itab_zycit044 TRANSPORTING docnum

                WHERE nrseqnf = itab_zycit044-nrseqnf

                  AND nrseq     = itab_zycit044-nrseq

                  AND nfglobal  = itab_zycit044-nfglobal

                  AND nfremessa = itab_zycit044-nfremessa

                  AND ebeln     = itab_zycit044-ebeln

                  AND ebelp     = itab_zycit044-ebelp

                  AND tpnf      = itab_zycit044-tpnf.

              MODIFY /pws/zycit044 FROM TABLE itab_zycit044.

              v_sucesso = 'OK'.

              COMMIT WORK.

            ENDIF.

          ENDIF.

        ELSE.

          READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                           tabela = text-025

                                           cpochv =

                                           /pws/zycie043-nfremessa

                                           tpmsg  = 'E'.

          IF sy-subrc EQ 0.

            it_erro-nrseq  = itab_zycit042-nrseq.

            it_erro-branch = wa_zycit001-j_1bbranch.

            it_erro-msg    = it_zycet005-msg.

            APPEND it_erro.

          ENDIF.

        ENDIF.

      ENDLOOP.

    ENDIF.

* << Fim da exclusão

  ENDIF.

  CLEAR v_modo_bi.

ENDFORM.

 

FORM fill_data_j1b1_c.

 

...

 

 

...

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).

ENDFORM.

* >> Início da inclusão:

FORM atualiza_dados_nota.

  READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                   tabela = text-014

                     cpochv = /pws/zycie041-nfglobal

                                        tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    IF it_zycee005-belnr NE '0000000000'.

      SELECT SINGLE * FROM j_1bnfdoc

                    WHERE docnum EQ it_zycee005-belnr.

      IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                       OR it_zycet005-belnr = '8888888888'.

        /pws/zycie041-docnum      = it_zycee005-belnr.

        IF it_zycet005-belnr = '9999999999'.

          /pws/zycie041-docnum      = it_zycet005-belnr.

        ENDIF.

        IF it_zycet005-belnr = '8888888888'.

          /pws/zycie041-docnum      = it_zycet005-belnr.

        ENDIF.

        /pws/zycie041-nfnum       = itab_zycit042-nfnum.

        /pws/zycie041-series      = itab_zycit042-series.

        /pws/zycie041-subser      = itab_zycit042-subser.

        /pws/zycie041-cancel      = ' '.

        CLEAR: /pws/zycie041-belnr_mr1m,

               /pws/zycie041-mblnr_mb01,

               /pws/zycie041-belnr_f_51,

               /pws/zycie041-belnr_f_02,

               /pws/zycie041-statusp_mr1m,

               /pws/zycie041-statusp_mb01,

               /pws/zycie041-statusp_f_51,

               /pws/zycie041-statusp_f_02,

               /pws/zycie041-dt_mr1m,

               /pws/zycie041-dt_mb01,

               /pws/zycie041-dt_f_51,

               /pws/zycie041-dt_f_02,

               /pws/zycie041-belnrf02seg,

               /pws/zycie041-dt_f02seg,

               /pws/zycie041-belnrf02fre,

               /pws/zycie041-dt_f02fre.

        itab_zycit042-docnum = it_zycee005-belnr.

        IF it_zycet005-belnr = '9999999999'.

          itab_zycit042-docnum = it_zycet005-belnr.

        ENDIF.

        IF it_zycet005-belnr = '8888888888'.

          /pws/zycit042-docnum = it_zycet005-belnr.

        ENDIF.

        itab_zycit042-mark   = ' '.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF NOT /pws/zycie041-docnum = '9999999999'

        AND NOT /pws/zycie041-docnum = '8888888888'.

          DELETE  FROM /pws/zycit041

             WHERE nrseq = /pws/zycie041-nrseq AND

              nfglobal = /pws/zycie041-nfglobal AND

                   ( docnum = '9999999999' OR

                  docnum = '8888888888' ).

        ENDIF.

        MODIFY itab_zycit042

             TRANSPORTING docnum mark

             WHERE nrseq    = itab_zycit042-nrseq

              AND nfglobal = itab_zycit042-nfglobal

               AND ebeln    = itab_zycit042-ebeln

               AND ebelp    = itab_zycit042-ebelp

               AND tpnf     = itab_zycit042-tpnf

               AND lifnr    EQ itab_zycit042-lifnr

         AND j_1bbranch EQ itab_zycit042-j_1bbranch

              AND ( docnum   IS initial OR

                    docnum   = '9999999999' OR

                    docnum = '8888888888' )

               AND mark     = 'X'

               AND processado = 'X'.

        READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln

                                            ebelp = itab_zycit042-ebelp.

        IF sy-subrc = 0.

          MOVE itab_matuse_aux-matnr TO

               itab_zycit042-matnr.

        ENDIF.

        MOVE: j_1bnfdoc-nfnum  TO itab_zycit042-nfnum,

             j_1bnfdoc-series TO itab_zycit042-series.

        MODIFY /pws/zycit042 FROM itab_zycit042.

        UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf

                        WHERE nrseq  = itab_zycit042-nrseq

                        AND   ebeln  = itab_zycit042-ebeln

                        AND   ebelp  = itab_zycit042-ebelp.

        IF v_modalidade = '99' OR

         ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

          UPDATE /pws/zycit043 SET docnumnfg =

                          /pws/zycie041-docnum

            WHERE nrseq = /pws/zycie041-nrseq AND

              nfglobal = /pws/zycie041-nfglobal AND

                  cancel = space.

        ENDIF.

        v_status_s = 0.

        COMMIT WORK.

      IF v_modalidade NE '99' OR

       ( v_modalidade = '99' AND

         v_libera IS INITIAL ).

        PERFORM congela_despesa.

      ENDIF.

    endif.

    ENDIF.

  ELSE.

    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                     tabela = text-014

                       cpochv = /pws/zycie041-nfglobal

                                          tpmsg  = 'E'.

    IF sy-subrc EQ 0.

      LOOP AT it_zycet004.

        MESSAGE i019 WITH it_zycet004-descricao.

      ENDLOOP.

      it_erro-nrseq  = itab_zycit042-nrseq.

      it_erro-branch = itab_zycit042-j_1bbranch.

      it_erro-msg    = it_zycet005-msg.

      APPEND it_erro.

    ENDIF.

  ENDIF.

ENDFORM.

 

 

FORM atualiza_dados_nota_r.

  READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                   tabela = text-025

                                   cpochv =

                                   /pws/zycie043-nfremessa

                                   tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    IF it_zycee005-belnr NE '0000000000'.

      SELECT SINGLE * FROM j_1bnfdoc

                    WHERE docnum EQ it_zycee005-belnr.

      IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'

                       OR it_zycet005-belnr = '8888888888'.

        /pws/zycie043-docnum      = it_zycee005-belnr.

        IF it_zycet005-belnr = '9999999999'.

          /pws/zycie043-docnum      = it_zycet005-belnr.

        ENDIF.

        IF it_zycet005-belnr = '8888888888'.

          /pws/zycie043-docnum      = it_zycet005-belnr.

        ENDIF.

        /pws/zycie043-nfnum       = itab_zycit044-nfnum.

        /pws/zycie043-series      = itab_zycit044-series.

        /pws/zycie043-subser      = itab_zycit044-subser.

        itab_zycit044-docnum = it_zycee005-belnr.

        IF it_zycet005-belnr = '9999999999'.

          itab_zycit044-docnum = it_zycet005-belnr.

        ENDIF.

        IF it_zycet005-belnr = '8888888888'.

          itab_zycit044-docnum = it_zycet005-belnr.

        ENDIF.

        CLEAR /pws/zycie043-cancel.

        CLEAR: /pws/zycie043-belnr_mr1m, /pws/zycie043-mblnr_mb01,

                                         /pws/zycie043-belnr_f_51,

             /pws/zycie043-belnr_f_02, /pws/zycie043-statusp_mr1m,

           /pws/zycie043-statusp_mb01, /pws/zycie043-statusp_f_51,

                /pws/zycie043-statusp_f_02, /pws/zycie043-dt_mr1m,

                     /pws/zycie043-dt_mb01, /pws/zycie043-dt_f_51,

                                            /pws/zycie043-dt_f_02,

               /pws/zycie043-belnrf02seg, /pws/zycie043-dt_f02seg,

               /pws/zycie043-belnrf02fre, /pws/zycie043-dt_f02fre.

        MODIFY /pws/zycit043 FROM /pws/zycie043.

        MODIFY itab_zycit044 TRANSPORTING docnum

          WHERE nrseqnf = itab_zycit044-nrseqnf

            AND nrseq     = itab_zycit044-nrseq

            AND nfglobal  = itab_zycit044-nfglobal

            AND nfremessa = itab_zycit044-nfremessa

            AND ebeln     = itab_zycit044-ebeln

            AND ebelp     = itab_zycit044-ebelp

            AND tpnf      = itab_zycit044-tpnf.

        MODIFY /pws/zycit044 FROM TABLE itab_zycit044.

        v_sucesso = 'OK'.

        COMMIT WORK.

      ENDIF.

    ENDIF.

  ELSE.

    READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                     tabela = text-025

                                     cpochv =

                                     /pws/zycie043-nfremessa

                                     tpmsg  = 'E'.

    IF sy-subrc EQ 0.

      it_erro-nrseq  = itab_zycit042-nrseq.

      it_erro-branch = wa_zycit001-j_1bbranch.

      it_erro-msg    = it_zycet005-msg.

      APPEND it_erro.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

* << Fim da inclusão

* << Fim da inclusão

* << Fim da inclusão