CE PLUS - Nota 008787

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 05/08/2009 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:20:11

Descrição da Nota: CRIADA MELHORIA DE NF DE CONTINGÊNCIA.

Sintoma

Criada melhoria de NF de contingência.

 

 

Solução

Criado tela para substituição de NF .

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

NOTA FISCAL ELETRÔNICA NFE PARA O EMBARQUE ANTIGO

VERIFICA CAMPO NFENUM PARA O BATCH INPUT

FRETE NACIONAL FALHA NA COMPOSIÇÃO DO NUMERO DA NOTA FISCAL ELETRONICA

RELATÓRIO IMPOSTOS PAGOS - TRATAMENTO NOTA FISCAL ELETRÔNICA

ADEQUAÇÃO DO NUMERO DA NFE NAS MENSAGENS DA NF DE REMESSA E COMPLEMENTAR

CODE INSPECTOR NAS CLASSES /PWS/ZYCI E /PWS/ZYCF

AJUSTE PARA UTILIZAR AS TRANSAÇÕES J1B2N E J1B3N

DUMP AO CRIAR NOTA FISCAL ELETRÔNICA

UNIDADE DA QUANTIDADE - NOTA FISCAL ELETRÔNICA - NFE - BL

VERIF. SE NFE APROVADA ANTES DE CRIAR FISCAL DE REMESSA E COMPLEMENTAR

EXIT PARA ATUALIZAÇÃO DE DADOS DE RECEBIMENTO QUANDO FOR NF ELETRÔNICA

NF COMPLEMENTAR NÃO APRESENTA NÚMERO NOTA FISCAL ELETRONICA NO CABEÇALHO

DUMP AO TENTAR CRIAR NOTA FISCAL DE REMESSA

ALTERAR A BUSCA DA NF ELETRÔNICA UTILIZANDO FUNÇÃO

DUMP NO MOMENTO DE EMITIR A NOTA FISCAL, QUANDO AMBIENTE POSSUI NFE

DUMP AO CRIAR FRETE NACIONAL COM NFE NOTA FISCAL ELETRONICA

Informações Complementares

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

Nota Número 08787 Data: 05/08/2009 Hora: 17:09:09

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

 

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

Nota Número              : 08787

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00109

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

Referência às notas relacionadas:

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

 

06619  - 00001 - 7.0    - 00005  - CODE INSPECTOR NAS CLASSES /PWS/ZYCI E /PWS/ZYCF

06651  - 00002 - 7.0    - 00005  - DUMP NO MOMENTO DE EMITIR A NOTA FISCAL, QUANDO AMBIENTE POSSUI N

07109  - 00003 - 7.0    - 00006  - AJUSTE PARA UTILIZAR AS TRANSAÇÕES J1B2N E J1B3N

07244  - 00004 - 7.0    - 00006  - VERIF. SE NFE APROVADA ANTES DE CRIAR FISCAL DE REMESSA E COMPLEM

07270  - 00005 - 7.0    - 00006  - NOTA FISCAL ELETRÔNICA NFE PARA O EMBARQUE ANTIGO

07276  - 00006 - 7.0    - 00006  - DUMP AO TENTAR CRIAR NOTA FISCAL DE REMESSA

07377  - 00007 - 3.0    - 00001  - CAMPOS ADICIONAIS NA GERAÇÃO DO TXT DA NFE

07399  - 00008 - 7.0    - 00007  - ALTERAR A BUSCA DA NF ELETRÔNICA UTILIZANDO FUNÇÃO

07405  - 00009 - 7.0    - 00007  - FRETE NACIONAL FALHA NA COMPOSIÇÃO DO NUMERO DA NOTA FISCAL ELETR

07557  - 00010 - 7.0    - 00007  - ADEQUAÇÃO DO NUMERO DA NFE NAS MENSAGENS DA NF DE REMESSA E COMPL

07637  - 00011 - 7.0    - 00007  - EXIT PARA ATUALIZAÇÃO DE DADOS DE RECEBIMENTO QUANDO FOR NF ELETR

07666  - 00012 - 7.0    - 00007  - UNIDADE DA QUANTIDADE - NOTA FISCAL ELETRÔNICA - NFE - BL

08013  - 00013 - 7.0    - 00008  - DUMP AO CRIAR NOTA FISCAL ELETRÔNICA

08374  - 00014 - 7.0    - 00009  - DUMP AO CRIAR FRETE NACIONAL COM NFE NOTA FISCAL ELETRONICA

08532  - 00015 - 7.0    - 00009  - RELATÓRIO IMPOSTOS PAGOS - TRATAMENTO NOTA FISCAL ELETRÔNICA

08599  - 00016 - 7.0    - 00010  - NF COMPLEMENTAR NÃO APRESENTA NÚMERO NOTA FISCAL ELETRONICA NO CA

08723  - 00017 - 7.0    - 00010  - VERIFICA CAMPO NFENUM PARA O BATCH INPUT

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

CRIADA MELHORIA DE NF DE CONTINGÊNCIA.

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

Palavras Chave:

NFE - NF ELETRÔNICA - CONTINGÊNCIA

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCI016

CUAD /PWS/SAPMZYCI029

DYNP /PWS/SAPMZYCI016                        0140

DYNP /PWS/SAPMZYCI029                        0102

MESS /PWS/ZYCIM143

MESS /PWS/ZYCIM144

MESS /PWS/ZYCIM145

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016I01

REPS /PWS/MZYCI016O01

REPS /PWS/MZYCI016X01

REPS /PWS/MZYCI029F01

REPS /PWS/MZYCI029I01

REPS /PWS/MZYCI029X01

REPT /PWS/SAPMZYCI016

REPT /PWS/SAPMZYCI029

TABD /PWS/ZYCIE042

TABD /PWS/ZYCIE044

TABD /PWS/ZYCIE265

TABD /PWS/ZYCIT042

TABD /PWS/ZYCIT044

TABD /PWS/ZYCIT265

 

 

*****OBSERVAÇÃO

*não esquecer de parametrizar as mensagens configuráveis (I, W, E) na tabela /PWS/ZYGLT217

 

 

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

CUAD /PWS/SAPMZYCI016

 

*Tela 0100

*Acrescentar no Status GUI 0100 - teclas de função

*Acrescentar na Barra de Botões

Código de função        CONT

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      NF de Contingência

   Nome de ícone        ICON_OTHER_OBJECT

   Modificação          Original

 

*Teclas de função  CI - Criar NF Remessa

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

000006               33      Ctrl-F9                        CONT                 NF de Contingência

 

 

 

*Acrescentar no Status GUI 0140

 

*PF-Status

Status      Tipo Code de objeto       Code de objeto            Descrição

0140         D    000009              000014               0001 CI - Contigência NF-Eletrônica

 

 

*Teclas de função CI - Contigência NF-Eletrônica

 

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

 

000014               00      ENTER                          ENTE                 Enter

 

000014               12      F12                            EXIT                 Cancelar

Icone - ICON_CANCEL

 

 

*Acrescentar no Status GUI 0200 - teclas de função

*Acrescentar na Barra de Botões

Código de função        CONT_NFR

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      NF de Contingência

   Nome de ícone        ICON_OTHER_OBJECT

   Modificação          Original

 

 

 

*Teclas de função  CI - Criar NF Remessa

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

000001               33      Ctrl-F9                        CONT_NFR             NF Contingência

 

*Botões CI - Criar NF Remessa

Code de objeto  Code Item Tecla de função                Código de função     Id   Exibição Texto de

 

000001          0003 11   Ctrl-F9                        CONT_NFR

 

 

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

CUAD /PWS/SAPMZYCI029

 

 

*Acrescentar no Status GUI 0100 - teclas de função

*Acrescentar na Barra de Botões

Código de função        CONT

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      NF de Contingência

   Nome de ícone        ICON_OTHER_OBJECT

   Modificação          Original

 

 

*Acrescentar no Status GUI 0102

 

*PF-Status

Status      Tipo Code de objeto       Code de objeto            Descrição

0102         D    000006              000006               0001 CI - Contigência NF-Eletrônica

 

 

*Teclas de função CI - Contigência NF-Eletrônica

 

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

 

000006               00      ENTER                          ENTE                 Enter

 

000006               12      F12                            EXIT                 Cancelar

 

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI016                        0140

 

*Criada tela 0140

 

*Acrescentar campo em tela v_conting

 

 

INCLUIR CX.DIÁLOGO Modal 0140

Descrição                CI - Contigência de NF-Eletrônica

Tela seguinte            0140

Altura atual (linhas)    27

Largura atual (colunas)  120

 

INCLUIR TEXTO "%#AUTOTEXT001"

Comprimento Visível      19

Linha                    3

Coluna                   4

Formato                  CHAR

Texto                    Núm.NF Contingência

Código função

 

INCLUIR CAMPO TEXTO "V_CONTING"

Comprimento Visível      10

Linha                    3

Coluna                   24

Formato                  NUMC

Texto                    __________

 

INCLUIR OKCODE ""

 

*Criar Status GUI 0140 - teclas de função

*Acrescentar na Barra de Botões

Código de função        ENTE

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      Enter

   Nome de ícone        ICON_OKAY

   Modificação          Original

 

Código de função        Exit

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      Cancelar

   Nome de ícone        ICON_CANCEL

   Modificação          Original

 

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0140

* >> Início da inclusão:

PROCESS BEFORE OUTPUT.

 MODULE STATUS.

PROCESS AFTER INPUT.

 MODULE USER_COMMAND.

* << Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCI029                        0102

 

 

*Criada tela 0102

 

*Acrescentar campo em tela v_conting

 

 

INCLUIR CX.DIÁLOGO 0102

Descrição                CI - Contigência de NF-Eletrônica

Tela seguinte            0102

Altura atual (linhas)    27

Largura atual (colunas)  120

 

INCLUIR TEXTO "%#AUTOTEXT001"

Comprimento Visível      19

Linha                    3

Coluna                   4

Formato                  CHAR

Texto                    Núm.NF Contingência

Código função

 

INCLUIR CAMPO TEXTO "V_CONTING"

Comprimento Visível      10

Linha                    3

Coluna                   24

Formato                  NUMC

Texto                    __________

 

INCLUIR OKCODE ""

 

*Criar Status GUI 0102 - teclas de função

*Acrescentar na Barra de Botões

Código de função        ENTE

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      Enter

   Nome de ícone        ICON_OKAY

   Modificação          Original

 

Código de função        Exit

Categoria de função     Função de aplicação

Modificação             Original

 

 

   Texto de função      Cancelar

   Nome de ícone        ICON_CANCEL

   Modificação          Original

 

MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0102

* >> Início da inclusão:

PROCESS BEFORE OUTPUT.

 MODULE STATUS.

PROCESS AFTER INPUT.

 MODULE USER_COMMAND_0102.

* << Fim da inclusão

 

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

Modificações efetuadas em MESS /PWS/ZYCIM143

*Criar a mensagem na classe de mensagens /pws/zycim

*Parametrizar na tabela /PWS/ZYGLT217 com código 143.

 

143 Núm.NF de Contingência deve ser posterior ao Núm.NF antiga.

 

*Tradução:  Contingency NF number must be higher than older NF number

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

Modificações efetuadas em MESS /PWS/ZYCIM144

 

*Criar a mensagem na classe de mensagens /pws/zycim

*Parametrizar na tabela /PWS/ZYGLT217 com código 144.

 

144 NF a ser substituída não está cancelada.

*Tradução : NF to be replaced must be canceled.

 

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

Modificações efetuadas em MESS /PWS/ZYCIM145

 

*Criar a mensagem na classe de mensagens /pws/zycim

*Parametrizar na tabela /PWS/ZYGLT217 com código 145.

 

145 Notas diferentes. Verificar: Empresa,Loc.Neg.e Exp.,Parceiro e Movimento.

*Tradução: Differ.NF.Check:Company,Business Place,Shipping point,Partner,Direction

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

 

...

 

* >> Início da inclusão:

FORM nf_contingencia USING v_valor.

  DATA: wa_zycie041 TYPE /pws/zycie041,

        wa_zycie042 TYPE /pws/zycie042,

        wa_zycie043 TYPE /pws/zycie043.

  IF NOT v_conting IS INITIAL.

    SELECT SINGLE * FROM j_1bnfdoc

        WHERE docnum EQ v_valor.

    SELECT SINGLE * FROM j_1bnfdoc

    INTO wa_j1bnfdoc

        WHERE docnum EQ v_conting

        AND   cancel EQ space .

    IF sy-subrc EQ 0.

      IF v_campo EQ '/PWS/ZYCIE042-DOCNUM'.

        PERFORM consiste_msg.

        MOVE :  /pws/zycie041 TO wa_zycie041.

        DELETE FROM /pws/zycit041

          WHERE nrseq    = /pws/zycie041-nrseq

            AND nfglobal = /pws/zycie041-nfglobal

            AND docnum   = v_valor.

        MOVE  v_conting TO wa_zycie041-docnum.

        LOOP AT itab_zycit042 WHERE docnum EQ v_valor.

          IF itab_zycit042-docnum_cont IS INITIAL.

            MOVE: itab_zycit042-docnum TO itab_zycit042-docnum_cont,

                  v_conting TO itab_zycit042-docnum.

            MODIFY itab_zycit042.

            DELETE FROM /pws/zycit042

              WHERE nrseqnf   = itab_zycit042-nrseqnf

                AND nrseq     = itab_zycit042-nrseq

                AND nfglobal  = itab_zycit042-nfglobal

                AND ebeln     = itab_zycit042-ebeln

                AND ebelp     = itab_zycit042-ebelp.

          ENDIF.

        ENDLOOP.

        IF NOT itab_zycit042[] IS INITIAL.

          SELECT * FROM /pws/zycit036

          INTO TABLE itab_zycit036

          FOR ALL ENTRIES IN itab_zycit042

          WHERE nrseq   = itab_zycit042-nrseq

           AND ebeln    = itab_zycit042-ebeln

           AND ebelp    = itab_zycit042-ebelp

           AND nrseqori = v_valor

           AND origem   = 'NF'.

        ENDIF.

        MODIFY :

              /pws/zycit041 FROM wa_zycie041 ,

              /pws/zycit042 FROM TABLE itab_zycit042[] .

        LOOP AT itab_zycit036.

          DELETE FROM /pws/zycit036

            WHERE nrseq   = itab_zycit036-nrseq

             AND ebeln    = itab_zycit036-ebeln

             AND ebelp    = itab_zycit036-ebelp

             AND nrseqori = itab_zycit036-nrseqori

             AND origem   = 'NF'.

          itab_zycit036-nrseqori = v_conting.

          MODIFY itab_zycit036.

        ENDLOOP.

        MODIFY /pws/zycit036 FROM TABLE itab_zycit036[].

      ELSEIF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.

        PERFORM consiste_msg.

        MOVE :  /pws/zycie043 TO wa_zycie043.

        DELETE FROM /pws/zycit043

          WHERE nrseq     = /pws/zycie043-nrseq

            AND nfglobal  = /pws/zycie043-nfglobal

            AND nfremessa = /pws/zycie043-nfremessa

            AND docnum    = v_valor.

        MOVE v_conting TO wa_zycie043-docnum.

        LOOP AT itab_zycit044 WHERE docnum EQ v_valor.

            MOVE: itab_zycit044-docnum TO itab_zycit044-docnum_cont,

                  v_conting TO itab_zycit044-docnum.

            MODIFY itab_zycit044.

            DELETE FROM /pws/zycit044

              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.

        ENDLOOP.

        MODIFY :

             /pws/zycit043 FROM wa_zycie043 ,

             /pws/zycit044 FROM TABLE itab_zycit044[] .

      ENDIF.

      COMMIT WORK.

    ELSE.

      MESSAGE i015 WITH text-112.

    ENDIF.

  ENDIF.

ENDFORM.

FORM consiste_msg.

  IF v_conting LE v_valor .

    SELECT SINGLE * FROM /pws/zyglt217

      WHERE arbgb EQ '/PWS/ZYCIM'

             AND   msgnr EQ '143'.

    IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

      MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '143'.

    ENDIF.

  ENDIF.

  IF j_1bnfdoc-cancel IS INITIAL.

    SELECT SINGLE * FROM /pws/zyglt217

       WHERE arbgb EQ '/PWS/ZYCIM'

       AND   msgnr EQ '144'.

    IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

      MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '144'.

    ENDIF.

  ENDIF.

  IF j_1bnfdoc-bukrs NE wa_j1bnfdoc-bukrs

  OR j_1bnfdoc-branch NE wa_j1bnfdoc-branch

  OR j_1bnfdoc-vstel NE wa_j1bnfdoc-vstel

  OR j_1bnfdoc-parid NE wa_j1bnfdoc-parid

  OR j_1bnfdoc-partyp NE wa_j1bnfdoc-partyp

  OR j_1bnfdoc-direct NE wa_j1bnfdoc-direct.

    SELECT SINGLE * FROM /pws/zyglt217

       WHERE arbgb EQ '/PWS/ZYCIM'

       AND   msgnr EQ '145'.

    IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

      MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '145'.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016I01

 

...

        WHEN 'P-'.

          tc_itens_nfg-top_line = tc_itens_nfg-top_line - 9.

        WHEN 'P--'.

          tc_itens_nfg-top_line =

                tc_itens_nfg-top_line - tc_itens_nfg-lines.

        WHEN 'P+'.

          tc_itens_nfg-top_line = tc_itens_nfg-top_line + 9.

        WHEN 'P++'.

          tc_itens_nfg-top_line =

                tc_itens_nfg-top_line + tc_itens_nfg-lines.

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

        WHEN 'CONT' .

          GET CURSOR FIELD v_campo VALUE v_valor.

          IF v_campo EQ '/PWS/ZYCIE042-DOCNUM'.

            READ TABLE itab_zycit041 WITH KEY docnum = v_valor.

            IF sy-subrc EQ 0 AND

            ( itab_zycit041-belnr_mr1m IS INITIAL AND

              itab_zycit041-mblnr_mb01 IS INITIAL AND

              itab_zycit041-belnr_f_51 IS INITIAL AND

              itab_zycit041-belnr_f_02 IS INITIAL ) .

              SELECT SINGLE * FROM /pws/zycit043

                WHERE nrseq     EQ itab_zycit041-nrseq

                  AND nfglobal  EQ itab_zycit041-nfglobal

                  AND docnumnfg EQ v_valor

                  AND cancel    EQ space.

              IF sy-subrc NE 0 .

                LOOP AT itab_zycit042 WHERE docnum EQ v_valor

                AND docnum_cont NE space.

                ENDLOOP.

                IF sy-subrc EQ 0.

                  MESSAGE i015 WITH text-113.

                  EXIT.

                ENDIF.

                CALL SCREEN '0140' STARTING AT 5 15.

              ELSE.

                MESSAGE i015 WITH text-111 text-114.

              ENDIF.

            ELSE.

              MESSAGE i015 WITH text-111 text-051.

            ENDIF.

          ELSE.

            MESSAGE s015 WITH text-052.

          ENDIF.

* << Fim da inclusão

      ENDCASE.

    ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.

...

 

...

 

        WHEN 'CANCR'.

          PERFORM efetua_cancelamento_r.

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

        WHEN 'CONT_NFR' .

          GET CURSOR FIELD v_campo VALUE v_valor.

          IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.

            IF ( /pws/zycie043-belnr_mr1m IS INITIAL AND

                 /pws/zycie043-belnr_f_51 EQ space AND

                 /pws/zycie043-mblnr_mb01 EQ space AND

                 /pws/zycie043-belnr_f_02 EQ space  )  .

              LOOP AT itab_zycit044 WHERE docnum EQ v_valor

                      AND docnum_cont NE space.

              ENDLOOP.

              IF sy-subrc EQ 0.

                MESSAGE i015 WITH text-113.

                EXIT.

              ENDIF.

              CALL SCREEN '0140' STARTING AT 5 15.

            ELSE.

              MESSAGE i015 WITH text-111 text-051.

            ENDIF.

          ELSE.

            MESSAGE s015 WITH text-052.

          ENDIF.

* << Fim da inclusão

      ENDCASE.

    ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.

...

 

 

...

 

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

 

MODULE user_command INPUT.

  CASE sy-dynnr .

    WHEN '0140' .

      CASE sy-ucomm.

        WHEN 'ENTE'.

          IF  v_campo EQ '/PWS/ZYCIE042-DOCNUM'  OR

              v_campo EQ '/PWS/ZYCIE044-DOCNUM'  .

            PERFORM nf_contingencia USING v_valor.

            IF v_message = 'X'.

              MESSAGE i015 WITH text-113.

            ENDIF.

            LEAVE TO SCREEN 0.

          ELSE.

            MESSAGE i015 WITH text-111 text-051.

          ENDIF.

        WHEN 'EXIT'.

          LEAVE TO SCREEN 0.

      ENDCASE.

  ENDCASE.

ENDMODULE.                 " USER_COMMAND  INPUT

* << Fim da inclusão

 

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI016O01

 

 

MODULE status_0200 OUTPUT.

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

  CLEAR v_nfe.

  SELECT SINGLE * FROM dd03l

    WHERE tabname = 'J_1BNFDOC' AND

          fieldname = 'NFE'.

  IF sy-subrc EQ 0.

    v_nfe = 'X' .

  ENDIF.

* << Fim da inclusão

  FREE itab_pf_status.

  IF sy-tcode = '/PWS/ZYCI016_E'.

    v_status_s_nfr = 0.

    itab_pf_status-fcode = 'CANCR'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CRIARNFR'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DELE'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'MARC'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DESM'.

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

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CONT_NFR' .

* << Fim da inclusão

    APPEND itab_pf_status.

  ENDIF.

  IF v_status_s_nfr = 1.

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

    SET PF-STATUS '0200'.

* << Fim da exclusão

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

    IF v_nfe = ' '.

      itab_pf_status-fcode = 'CONT_NFR' .

      APPEND itab_pf_status.

    ENDIF.

    SET PF-STATUS '0200' EXCLUDING itab_pf_status.

* << Fim da inclusão

    SET TITLEBAR '200C'.

  ELSEIF v_status_s_nfr = 0.

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

    itab_pf_status-fcode = 'CONT_NFR' .

    APPEND itab_pf_status.

* << Fim da inclusão

    itab_pf_status-fcode = 'SAVE'.

    APPEND itab_pf_status.

    SET PF-STATUS '0200' EXCLUDING itab_pf_status.

    SET TITLEBAR '200E'.

...

 

...

 

MODULE status_0050 OUTPUT.

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

  CLEAR v_nfe.

  SELECT SINGLE * FROM dd03l

    WHERE tabname = 'J_1BNFDOC' AND

          fieldname = 'NFE'.

  IF sy-subrc EQ 0.

    v_nfe = 'X' .

  ENDIF.

* << Fim da inclusão

  FREE itab_pf_status.

  IF sy-tcode EQ '/PWS/ZYCI016_C' OR sy-tcode = '/PWS/ZYCI016_A'

     OR v_status_s = 1.

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

    IF v_nfe = ' '.

      itab_pf_status-fcode = 'CONT' .

      APPEND itab_pf_status.

    ENDIF.

* << Fim da inclusão

    IF ( /pws/zycie001-modalidade NE '05' OR

...

 

...

    ENDIF.

    itab_pf_status-fcode = 'SAVE'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CANCG'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CRIARNF'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'MARC'.

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'DESM'.

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

    APPEND itab_pf_status.

    itab_pf_status-fcode = 'CONT' .

* << Fim da inclusão

    APPEND itab_pf_status.

    SET PF-STATUS '0100' EXCLUDING itab_pf_status.

    SET TITLEBAR '100E'.

  ENDIF.

ENDMODULE.

 

* >> Início da inclusão:

MODULE status OUTPUT.

  CASE sy-dynnr.

    WHEN '0140' .

      SET PF-STATUS '0140'.

  ENDCASE.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI016X01

 

 

...

 

* >> Início da inclusão:

DATA wa_j1bnfdoc TYPE j_1bnfdoc.

DATA: v_conting TYPE /pws/zycie042-docnum.

* << Fim da inclusão

DATA: END OF COMMON PART a.

 

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

Modificações efetuadas em REPS /PWS/MZYCI029F01

 

FORM status.

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

tables dd03l.

  CLEAR v_nfe.

  SELECT SINGLE * FROM dd03l

    WHERE tabname = 'J_1BNFDOC' AND

          fieldname = 'NFE'.

  IF sy-subrc EQ 0.

    v_nfe = 'X' .

  ENDIF.

* << Fim da inclusão

  FREE:    itab_pf_status.

  REFRESH: itab_pf_status.

  CLEAR:   itab_pf_status.

  CASE sy-dynnr.

    WHEN '0001'.

      SET PF-STATUS '0001'.

      SET TITLEBAR  '0001'.

    WHEN '0010'.

      IF sy-tcode = '/PWS/ZYCI029_E'.

        itab_pf_status-fcode = 'NFC'.

        APPEND itab_pf_status.

      ENDIF.

      SET PF-STATUS '0010' EXCLUDING itab_pf_status .

      SET TITLEBAR  '0010'.

    WHEN '0100'.

      IF sy-tcode = '/PWS/ZYCI029_E'.

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

        itab_pf_status-fcode = 'CONT' .

        APPEND itab_pf_status.

* << Fim da inclusão

        itab_pf_status-fcode = 'CRIARNFC'.

        APPEND itab_pf_status.

        itab_pf_status-fcode = 'CANCC'.

        APPEND itab_pf_status.

      ELSE.

        LOOP AT itab_zycit265_c WHERE docnum IS initial.

        ENDLOOP.

        IF sy-subrc NE 0 AND NOT

           /pws/zycie264-belnr_f_02_c IS INITIAL.

          itab_pf_status-fcode = 'CRIARNFC'.

          APPEND itab_pf_status.

        ENDIF.

      ENDIF.

      LOOP AT itab_zycit265_c WHERE NOT docnum IS initial.

      ENDLOOP.

      IF sy-subrc NE 0.

        itab_pf_status-fcode = 'ATUALNFC'.

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

        APPEND itab_pf_status.

      ENDIF.

    IF v_nfe = ' '.

      itab_pf_status-fcode = 'CONT' .

* << Fim da inclusão

        APPEND itab_pf_status.

      ENDIF.

      SET PF-STATUS '0100' EXCLUDING itab_pf_status .

      SET TITLEBAR  '0100'.

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

    WHEN '0102'.

      SET PF-STATUS '0102'.

      SET TITLEBAR  '0102'.

* << Fim da inclusão

    WHEN '0200'.

...

 

...

 

* >> Início da inclusão:

 

FORM nf_contingencia USING    v_valor.

  TABLES /pws/zyglt217.

  DATA wa_j1bnfdoc TYPE j_1bnfdoc.

  DATA: wa_zycie265 TYPE /pws/zycie265.

  IF NOT v_conting IS INITIAL.

    SELECT SINGLE * FROM j_1bnfdoc

        WHERE docnum EQ v_valor.

    SELECT SINGLE * FROM j_1bnfdoc

    INTO wa_j1bnfdoc

        WHERE docnum EQ v_conting.

    IF sy-subrc EQ 0.

      LOOP AT itab_zycit265_c WHERE docnum EQ v_valor

              AND docnum_cont NE space.

      ENDLOOP.

      IF sy-subrc EQ 0.

        v_message = 'X' .

        EXIT.

      ENDIF.

      IF v_conting LE v_valor .

        SELECT SINGLE * FROM /pws/zyglt217

          WHERE arbgb EQ '/PWS/ZYCIM'

                 AND   msgnr EQ '143'.

        IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '143'.

        ENDIF.

      ENDIF.

      IF j_1bnfdoc-cancel IS INITIAL.

        SELECT SINGLE * FROM /pws/zyglt217

           WHERE arbgb EQ '/PWS/ZYCIM'

           AND   msgnr EQ '144'.

        IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '144'.

        ENDIF.

      ENDIF.

      IF j_1bnfdoc-bukrs NE wa_j1bnfdoc-bukrs

      OR j_1bnfdoc-branch NE wa_j1bnfdoc-branch

      OR j_1bnfdoc-vstel NE wa_j1bnfdoc-vstel

      OR j_1bnfdoc-parid NE wa_j1bnfdoc-parid

      OR j_1bnfdoc-partyp NE wa_j1bnfdoc-partyp

      OR j_1bnfdoc-direct NE wa_j1bnfdoc-direct.

        SELECT SINGLE * FROM /pws/zyglt217

           WHERE arbgb EQ '/PWS/ZYCIM'

           AND   msgnr EQ '145'.

        IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.

          MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '145'.

        ENDIF.

      ENDIF.

      LOOP AT itab_zycit265_c WHERE docnum EQ v_valor.

          MOVE: itab_zycit265_c-docnum TO itab_zycit265_c-docnum_cont,

          v_conting TO itab_zycit265_c-docnum.

          DELETE FROM /pws/zycit265

            WHERE nrseqnf    = itab_zycit265_C-nrseqnf

              AND nrseqc     = itab_zycit265_c-nrseqc

              AND nrseq      = itab_zycit265_C-nrseq

              AND ebeln      = itab_zycit265_C-ebeln

              AND ebelp      = itab_zycit265_C-ebelp.

          MODIFY itab_zycit265_c.

      ENDLOOP.

      MODIFY  /pws/zycit265 FROM TABLE itab_zycit265_c[] .

      COMMIT WORK.

    ELSE.

      MESSAGE i015 WITH text-044.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI029I01

 

...

 

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

    WHEN 'CONT' .

      GET CURSOR FIELD v_campo VALUE v_docnum.

      IF v_campo EQ '/PWS/ZYCIE265-DOCNUM'.

        CALL SCREEN '0102' STARTING AT 5 15.

      ELSE.

        MESSAGE s015 WITH text-043.

      ENDIF.

* << Fim da inclusão

  ENDCASE.

  CLEAR okcode.

ENDMODULE.

...

 

* >> Início da inclusão:

MODULE user_command_0102 INPUT.

  CASE sy-ucomm.

    WHEN 'ENTE'.

      PERFORM nf_contingencia USING v_docnum.

      IF v_message = 'X'.

        MESSAGE i015 WITH text-045.

      ENDIF.

      LEAVE TO SCREEN 0.

    WHEN 'EXIT'.

      LEAVE TO SCREEN 0.

  ENDCASE.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI029X01

 

 

...

 

* >> Início da inclusão:

DATA : V_CONTING TYPE /PWS/ZYCIE265-DOCNUM,

       v_message ,

       v_docnum type /pws/zycie265-docnum,

       v_nfe.

* << Fim da inclusão

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI016

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 111

 

Texto: (45 caracteres)

"Isn't possible to creat Contingency. Document"

 

Comprimento máximo: 49

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 111

 

Texto: (43 caracteres)

"Não é possível criar Contigência. Documento"

 

Comprimento máximo: 49

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 112

 

Texto: (19 caracteres)

"Document not found."

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 112

 

Texto: (25 caracteres)

"Documento não encontrado."

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 113

 

Texto: (30 caracteres)

"PO already have Contingency NF"

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 113

 

Texto: (41 caracteres)

"Pedido/Item já possui NF de Contingência."

 

Comprimento máximo: 47

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 114

 

Texto: (16 caracteres)

"have NF Remessa."

 

Comprimento máximo: 18

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 114

 

Texto: (18 caracteres)

"possui NF Remessa."

 

Comprimento máximo: 18

 

 

 

 

 

 

 

 

 

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI029

 

 

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

Incluído símbolo de texto:

 

Idioma: EN

 

Símbolo: 043

 

Texto: (39 caracteres)

"Locate the cursor at number of purchase"

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 043

 

Texto: (41 caracteres)

"Posicione o cursor no número de Documento"

 

Comprimento máximo: 41

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 044

 

Texto: (25 caracteres)

"Documento não encontrado."

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 045

 

Texto: (41 caracteres)

"Pedido/Item já possui NF de Contingência."

 

Comprimento máximo: 41

 

 

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

Modificações efetuadas em TABD /PWS/ZYCIE042

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM

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

Modificações efetuadas em TABD /PWS/ZYCIE044

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM

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

Modificações efetuadas em TABD /PWS/ZYCIE265

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM

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

Modificações efetuadas em TABD /PWS/ZYCIT042

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM

 

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

Modificações efetuadas em TABD /PWS/ZYCIT044

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM

 

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

Modificações efetuadas em TABD /PWS/ZYCIT265

 

*Ao final da tabela criar campo

 

CAMPO         TIPO DE CAMPO

DOCNUM_CONT J_1BDOCNUM