CE PLUS - Nota 003596

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Registro de Exportação (RE)

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

Data/Hora Última Alteração: 03/03/2010 13:48:32

Descrição da Nota: VINCULAÇÃO DE RC NO RE

Sintoma

 

No RC não havia controle de saldo dos RE's vinculados.

 

Solução

 

Foi incluída a vinculação de RC no RE.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 03596 Data: 03/05/2007 Hora: 11:19:18

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

 

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

Nota Número              : 03596

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00027

Agrupamento              : 00164

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

VINCULAÇÃO DE RC NO RE

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

Palavras Chave:

RE RC VINCULAÇÃO

 

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

Objetos da nota:

CUAD /PWS/SAPMZYCE109

DYNP /PWS/SAPMZYCE105                        0101

DYNP /PWS/SAPMZYCE109                        0101

DYNP /PWS/SAPMZYCE109                        0102

DYNP /PWS/SAPMZYCE109                        0201

ENQU /PWS/EZYCET235

MESS /PWS/ZYCEM141

MESS /PWS/ZYCEM142

MESS /PWS/ZYCEM143

MESS /PWS/ZYCEM144

MESS /PWS/ZYCEM145

MESS /PWS/ZYCEM146

MESS /PWS/ZYCEM147

MESS /PWS/ZYCEM148

MESS /PWS/ZYCEM149

MESS /PWS/ZYCEM283

REPS /PWS/MZYCE105F01

REPS /PWS/MZYCE105I01

REPS /PWS/MZYCE105TOP

REPS /PWS/MZYCE109F01

REPS /PWS/MZYCE109I01

REPS /PWS/MZYCE109O01

REPS /PWS/MZYCE109TOP

REPT /PWS/SAPMZYCE105

REPT /PWS/SAPMZYCE109

TABD /PWS/ZYCEE116

TABD /PWS/ZYCET116

TABL /PWS/ZYCET322

VIEW /PWS/ZYCEV322

 

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

Modificações efetuadas em CUAD /PWS/SAPMZYCE109

 

Criado o PF-STATUS 0201

 

-Barra de botões

Item 1:

Código de função: BACK

 

-Teclas de função

Função: ENTER

Código de função:BACK

Texto de função (PT): Voltar

Nome de ícone: ICON_OKAY

 

Função: F2

Código de função: SELE

Texto de função (PT): Selecionar

Nome de ícone: ICON_SELECT_DETAIL

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE105                        0101

 

Alterações na Lista de elementos:

 

Inserido campo

Tipo: I/O

Nome: /PWS/ZYCEE116-NRSEQRC

Linha: 7

Coluna: 21

Utilizar características do dicionário?: 'X' (Sim)

 

Modificado campo

Tipo: I/O

Nome: /PWS/ZYCEE116-NRRC

Nova coluna: 32

Somente campo de saída: 'X' (Sim)

 

Alterações na Lógica de processamento:

 

PROCESS BEFORE OUTPUT.

 

  MODULE: set_screen,

          carrega_estrutura.

 

PROCESS AFTER INPUT.

 

  FIELD d_marge2 MODULE atualiza_margem ON REQUEST.

 

* >> Início da inclusão

  FIELD /pws/zycee116-nrseqrc MODULE vincular_rc ON REQUEST.

* << Fim da inclusão

 

  MODULE user_command.

 

* >> Início da inclusão

PROCESS ON VALUE-REQUEST.

 

  FIELD /pws/zycee116-nrseqrc MODULE shlp_nreqrc.

* << Fim da inclusão

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE109                        0101

 

-Lógica de processamento

 

PROCESS BEFORE OUTPUT.

 

  MODULE: set_cnpj,

          set_screen,

          set_screen_ort01,

          get_descriptions.

 

PROCESS AFTER INPUT.

 

  FIELD: /pws/zycee235-codenq   MODULE consiste_enquadramento,

         /pws/zycee235-codtomad MODULE consiste_tomador,

         /pws/zycee235-codorig  MODULE consiste_origem,

         /pws/zycee235-paisdest MODULE consiste_pais_dest,

         /pws/zycee235-inco1    MODULE consiste_incoterm,

         /pws/zycee235-codmoeda MODULE consiste_moeda,

         /pws/zycee235-paisimp  MODULE consiste_pais_imp,

         /pws/zycee235-codnat   MODULE consiste_natureza,

* >> Início da exclusão

         /pws/zycee235-kunnr    MODULE consiste_cliente.

* << Fim da exclusão

* >> Início da inclusão

         /pws/zycee235-kunnr    MODULE consiste_cliente,

         /pws/zycee235-vlcond   MODULE consiste_valor_condicao,

         /pws/zycee235-vlemb    MODULE consiste_valor_embarque.

* << Fim da inclusão

 

  MODULE atualiza_dados_0101.

 

  MODULE user_command_0101.

 

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

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

 

-Lógica de processamento

 

 

PROCESS BEFORE OUTPUT.

 

  MODULE: set_screen,

          recalcula,

          get_descriptions_0102.

 

PROCESS AFTER INPUT.

 

  CHAIN.

 

    FIELD: /pws/zycee236-fkimg,

           /pws/zycee236-vlunit,

           /pws/zycee236-vltot.

 

    MODULE: consiste_valores,

            consiste_valor_total.

 

  ENDCHAIN.

 

* >> Início da inclusão

  FIELD /pws/zycee236-fkimg MODULE consiste_quantidade_item.

 

  FIELD /pws/zycee236-vltot MODULE consiste_valor_item.

*<< Fim da inclusão

 

  MODULE: save_value,

          user_command_0102.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCE109                        0201

 

Criada nova tela

 

-Características

Número: 0201

Descrição (PT): CE - Vinculações de itens

Tipo: Caixa de diálogo normal

Tamanho: 15 linhas / 100 colunas

 

-Lista de elementos

 

Nome: TC_VINCULACOES

Tipo: Tabel

Linha: 1

Coluna: 1

 

Nome: /PWS/ZYCEV322-NRSEQ (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 1

Texto (PT): Seq._Emb.

 

Nome: /PWS/ZYCEV322-NRSEQRE (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 2

Texto (PT): Seq._Re

 

Nome: /PWS/ZYCEV322-NRRE (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 3

Texto (PT): Número_RE

 

Nome: /PWS/ZYCEV322-CODNRSEQRE (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 4

Texto (PT): An.

 

Nome: /PWS/ZYCEV322-VLCOND1 (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 5

Texto (PT): Vl._Condição_RE

 

Nome: /PWS/ZYCEV322-VLEMB1 (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 6

Texto (PT): Vl._Embarque_RE

 

Nome: /PWS/ZYCEV322-QTDCOM (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 7

Texto (PT): Quantidade

 

Nome: /PWS/ZYCEV322-GEWEI_3 (dentro do table control TC_VINCULACOES)

Tipo: Texto

Linha: 1

Coluna: 8

Texto (PT): Un.

 

Nome: /PWS/ZYCEV322-NRSEQ (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 1

 

Nome: /PWS/ZYCEV322-NRSEQRE (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 2

 

Nome: /PWS/ZYCEV322-NRRE (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 3

 

Nome: /PWS/ZYCEV322-CODNRSEQRE (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 4

 

Nome: /PWS/ZYCEV322-VLCOND1 (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 5

 

Nome: /PWS/ZYCEV322-VLEMB1 (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 6

 

Nome: /PWS/ZYCEV322-QTDCOM (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 7

 

Nome: /PWS/ZYCEV322-GEWEI_3 (dentro do table control TC_VINCULACOES)

Tipo: I/O

Linha: 1

Coluna: 8

 

Nome: OKCODE

Tipo: OK

 

-Lógica de processamento

 

* >> Início da inclusão

PROCESS BEFORE OUTPUT.

 

  MODULE status_0201.

 

  LOOP AT itab_zycev322 INTO /pws/zycev322

       WITH CONTROL tc_vinculacoes

       CURSOR tc_vinculacoes-current_line

       FROM item_zycev322_start

       TO item_zycev322_end.

 

  ENDLOOP.

 

PROCESS AFTER INPUT.

 

  LOOP.

 

  ENDLOOP.

 

  MODULE user_command_0201.

* << Fim da inclusão

 

 

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

Modificações efetuadas em ENQU /PWS/EZYCET235

 

Criado o objeto de bloqueio /PWS/EZYCET235

 

Descrição breve (PT): CE - Bloqueio do RC

Tabela primária: /PWS/ZYCET235

Modo de bloqueio: 'E' (Bloqueio de escrita)

 

Parâmetros de bloqueio:

MANDT

NRSEQRC

 

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

Modificações efetuadas em MESS /PWS/ZYCEM141

 

Criada a mensagem 141 na classe /PWS/ZYCEM

 

Texto (PT): Data de validade do RC (&1) inferior a data prevista de embarque (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM142

 

Criada a mensagem 142 na classe /PWS/ZYCEM

 

Texto (PT): Empresa do RC (&1) difere da empresa do embarque (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM143

 

Criada a mensagem 143 na classe /PWS/ZYCEM

 

Texto (PT): Centro do RC (&1) difere do centro do embarque (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM144

 

Criada a mensagem 144 na classe /PWS/ZYCEM

 

Texto (PT): Cliente pagador do RC (&1) difere do cliente pagador do embarque (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM145

 

Criada a mensagem 145 na classe /PWS/ZYCEM

 

Texto (PT): País de destino do RC (&1) difere do país do cliente pagador (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM146

 

Criada a mensagem 146 na classe /PWS/ZYCEM

 

Texto (PT): Moeda do RC (&1) difere da moeda do embarque (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM147

 

Criada a mensagem 147 na classe /PWS/ZYCEM

 

Texto (PT): Unidade de medida no RC (&1) difere da unidade de medida no RE (&2)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM148

 

Criada a mensagem 148 na classe /PWS/ZYCEM

 

Texto (PT): Nenhum item encontrado no RC com NCM &1

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM149

 

Criada a mensagem 149 na classe /PWS/ZYCEM

 

Texto (PT): Saldo / Quantidade insuficiente para vinculação (RC: &1 / &2 RE: &3 / &4)

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em MESS /PWS/ZYCEM283

 

Criada a mensagem 283 na classe /PWS/ZYCEM

 

Texto (PT): O item não possui vinculações

Auto-explicativa: 'X'

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE105F01

 

...

            MOVE 'X' TO rb2_sim.

          ELSEIF itab_zycet066-obsexp1 = 'N'.

            MOVE 'X' TO rb2_nao.

          ELSEIF  itab_zycet066-obsexp1 = space.

            MOVE 'X' TO rb2_nao.

          ENDIF.

        ENDIF.

      ENDIF.

      READ TABLE itab_zycet116 WITH KEY nrseqre = /pws/zycee116-nrseqre.

      IF sy-subrc EQ 0.

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

        MOVE: itab_zycet116 TO /pws/zycee116,

              itab_zycet117-nrseq TO /pws/zycee001-nrseq.

* << Fim da exclusão

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

        MOVE: itab_zycet116 TO /pws/zycee116.

        IF /pws/zycee001 IS INITIAL.

          SELECT SINGLE *

              INTO /pws/zycee001

              FROM /pws/zycet001

              WHERE nrseq = itab_zycet117-nrseq.

        ENDIF.

* << Fim da inclusão

        IF /pws/zycee116-name1 IS INITIAL AND

           sy-tcode            EQ c_code_c.

          PERFORM busca_importador.

        ENDIF.

      ENDIF.

    WHEN c_code_c.

      READ TABLE itab_zycet116 INDEX 1.

      IF sy-subrc = 0.

        MOVE itab_zycet116 TO /pws/zycee116.

      ENDIF.

...

 

...

        itab_scrprog_aux2-lines.

    APPEND itab_scrprog_aux2.

  ENDLOOP.

  CALL SCREEN '0115' STARTING AT 10  4.

  CLEAR itab_scrprog_aux2. REFRESH itab_scrprog_aux2.

  FREE itab_scrprog_aux2.

ENDFORM.

FORM salva_re.

  DATA: v_index LIKE sy-tabix,

        v_anexo2 LIKE sy-tabix.

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

  PERFORM rc_grava_vinculacao

          USING

            /pws/zycee116-nrseqrc

            /pws/zycee116-nrseqre

            /pws/zycee001

            itab_zycet145

            itab_zycet066[]

            itab_zycet092[]

            itab_zycet118[].

  IF sy-subrc <> 0.

    CALL FUNCTION 'MESSAGES_SHOW'

         EXPORTING

              object             = 'Log de erros da vinculação'

              &

              ' do RC'(146)

              show_linno_text    = 'Anexo'(147)

              i_use_grid         = 'X'

         EXCEPTIONS

              inconsistent_range = 0

              no_messages        = 0

              OTHERS             = 0.

    EXIT.

  ENDIF.

* << Fim da inclusão

  CLEAR: /pws/zycet304.

  LOOP AT itab_zycet304_aux.

    MOVE: itab_zycet304_aux-bukrs      TO /pws/zycet304-bukrs,

          itab_zycet304_aux-nrseqre    TO /pws/zycet304-nrseqre,

          itab_zycet304_aux-codnrseq   TO /pws/zycet304-codnrseq,

          itab_zycet304_aux-nrcontrato TO /pws/zycet304-nrcontrato,

          itab_zycet304_aux-nrseq      TO /pws/zycet304-nrseq,

          itab_zycet304_aux-banco      TO /pws/zycet304-banco,

          itab_zycet304_aux-praca      TO /pws/zycet304-praca,

          itab_zycet304_aux-vlprovi    TO /pws/zycet304-vlprovi,

...

 

...

      IF v_campo = '/PWS/ZYCEE116-NRRV'.

        MOVE wa_rvdados-nrseqrv TO v_nrseqrv.

        EXPORT v_nrseqrv TO MEMORY ID 'E012'.

        CLEAR wa_rvdados.

        AUTHORITY-CHECK OBJECT 'S_TCODE'

          ID 'TCD' FIELD '/PWS/ZYCE104_E'.

        IF sy-subrc = 0.

          CALL TRANSACTION '/PWS/ZYCE104_E' AND SKIP FIRST SCREEN.

        ELSE.

          MESSAGE e261(sf) WITH '/PWS/ZYCE104_E'.

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

        ENDIF.

      ENDIF.

      IF v_campo = '/PWS/ZYCEE116-NRSEQRC'

          AND NOT /pws/zycee116-nrseqrc IS INITIAL.

        EXPORT i_nrchave FROM /pws/zycee116-nrseqrc TO MEMORY ID '2108'.

        AUTHORITY-CHECK OBJECT 'S_TCODE' ID 'TCD'

                                         FIELD '/PWS/ZYCE109_E'.

        IF sy-subrc = 0.

          CALL TRANSACTION '/PWS/ZYCE109_E' AND SKIP FIRST SCREEN.

        ELSE.

          MESSAGE e261(sf) WITH '/PWS/ZYCE109_E'.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    WHEN '0103'.

      GET CURSOR FIELD v_campo VALUE v_valor.

      IF v_campo EQ '/PWS/ZYCEE118-VBELN_VA'.

        v_vbeln_va = v_valor.

        SET PARAMETER ID 'AUN' FIELD v_vbeln_va.

        AUTHORITY-CHECK OBJECT 'S_TCODE'

        ID 'TCD' FIELD 'VA03'.

        IF sy-subrc = 0.

...

 

...

  COMMIT WORK.

  DELETE FROM /pws/zycet092 WHERE nrseqre   = /pws/zycee116-nrseqre.

  COMMIT WORK.

  DELETE FROM /pws/zycet119 WHERE nrseqre   = /pws/zycee116-nrseqre.

  COMMIT WORK.

  DELETE FROM /pws/zycet078 WHERE nrseqre   = /pws/zycee116-nrseqre.

  COMMIT WORK.

  DELETE FROM /pws/zycet003 WHERE nrseqre = /pws/zycee116-nrseqre

                              AND   nrseq = /pws/zycee001-nrseq.

  COMMIT WORK.

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

  PERFORM rc_grava_desvinculacao

          USING

            /pws/zycee116-nrseqre.

* << Fim da inclusão

  SELECT * FROM /pws/zycet183 INTO TABLE itab_183

    WHERE nrchave = /pws/zycee116-nrseqre.

  LOOP AT itab_183.

    DELETE FROM /pws/zycet077 WHERE nrseq = itab_183-nrseq.

  ENDLOOP.

  COMMIT WORK.

  DELETE FROM /pws/zycet183 WHERE nrchave = /pws/zycee116-nrseqre.

  COMMIT WORK.

  CLEAR : itab_zycet116,itab_zycet117,itab_zycet118,itab_zycet119,

          itab_183,itab_zycet066, itab_zycet092, itab_zycet078,

...

 

...

    p_subrc = sy-subrc.

  ELSE.

    SELECT COUNT(*)

      FROM /pws/zycit285

        WHERE cpf IN ( select CPF from /PWS/ZYCET184

            WHERE uname EQ sy-uname )

        AND stasis EQ 'P'.

    p_subrc = sy-subrc.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM rc_busca_vinculaveis

     USING

       p_zycet001   TYPE /pws/zycet001

       p_zycet145   TYPE /pws/zycet145

       p_t_zycet066 LIKE itab_zycet066[]

       p_t_zycet092 LIKE itab_zycet092[]

       p_t_zycet118 LIKE itab_zycet118[]

     CHANGING

       p_t_rc_shlp  TYPE t_zycet235_shlp.

  DATA: it_zycet235 TYPE t_zycet235,

        wa_zycet235 LIKE LINE OF it_zycet235[].

  DATA: it_zycet236 TYPE t_zycet236,

        wa_zycet236 LIKE LINE OF it_zycet236[].

  DATA: it_zycev322 TYPE t_zycev322,

        wa_zycev322 LIKE LINE OF it_zycev322[].

  DATA: v_codpa      TYPE t005-/pws/codpa,

        v_kunnr      TYPE vbpa-kunnr,

        v_waers      TYPE /pws/zycet008-waers,

        wa_rc_shlp   LIKE LINE OF p_t_rc_shlp[],

        v_vinculavel TYPE xfeld.

  FIELD-SYMBOLS: <fs_zycet236> LIKE LINE OF it_zycet236[].

  CLEAR: p_t_rc_shlp[].

  SELECT SINGLE waers

      INTO v_waers

      FROM /pws/zycet008

      WHERE nrseq = p_zycet001-nrseq.

  SELECT SINGLE kunnr

      FROM vbpa

      INTO v_kunnr

      WHERE vbeln = any ( SELECT vbeln_va

                              FROM /pws/zycet002

                              WHERE nrseq = p_zycet001-nrseq

                                AND st_vd IN ('VD', 'DP') )

        AND posnr = '000000'

        AND parvw = p_zycet145-importador.

  IF sy-subrc = 0.

    SELECT SINGLE /pws/codpa

        FROM t005

        INTO v_codpa

        WHERE land1 = ( SELECT land1

                            FROM kna1

                            WHERE kunnr = v_kunnr ).

  ENDIF.

  SELECT nrseqrc

         nrrc

         bukrs

         werks

         dtval

         paisdest

         kunnr

         waers

         vlcond

         vlcondre

      FROM /pws/zycet235

      INTO TABLE it_zycet235[]

      WHERE bukrs    =  p_zycet001-bukrs

        AND werks    =  p_zycet001-werks

        AND dtval    >= p_zycet001-dtprev

        AND paisdest =  v_codpa

        AND kunnr    =  v_kunnr

        AND waers    =  v_waers.

  CHECK sy-subrc = 0.

  SELECT nrseqrc

         codnrseq

         steuc

         fkimg

         vrkme

         vltot

      FROM /pws/zycet236

      INTO TABLE it_zycet236[]

      FOR ALL ENTRIES IN it_zycet235[]

      WHERE nrseqrc = it_zycet235-nrseqrc.

  CHECK sy-subrc = 0.

  SELECT nrseqrc

         codnrseqrc

         nrseqre

         codnrseqre

         vlcond1

         qtdcom

      FROM /pws/zycev322

      INTO TABLE it_zycev322[]

      FOR ALL ENTRIES IN it_zycet235[]

      WHERE nrseqrc = it_zycet235-nrseqrc.

  LOOP AT it_zycet235[] INTO wa_zycet235.

    LOOP AT it_zycev322[] INTO wa_zycev322

                          WHERE nrseqrc = wa_zycet235-nrseqrc.

      READ TABLE it_zycet236[] ASSIGNING <fs_zycet236>

           WITH KEY nrseqrc  = wa_zycev322-nrseqrc

                    codnrseq = wa_zycev322-codnrseqrc.

      IF sy-subrc = 0.

        ADD wa_zycev322-vlcond1 TO <fs_zycet236>-vltot_vinculado.

        ADD wa_zycev322-qtdcom  TO <fs_zycet236>-fkimg_vinculado.

        UNASSIGN <fs_zycet236>.

      ENDIF.

    ENDLOOP.

    PERFORM rc_verifica_vinculabilidade

            USING

              wa_zycet235

              it_zycet236

              p_zycet001

              v_kunnr

              v_codpa

              v_waers

              p_t_zycet066[]

              p_t_zycet092[]

              p_t_zycet118[]

              space

            CHANGING

              v_vinculavel.

    IF v_vinculavel = 'X'.

      wa_rc_shlp-nrrc    = wa_zycet235-nrrc.

      wa_rc_shlp-nrseqrc = wa_zycet235-nrseqrc.

      wa_rc_shlp-vlcond  = wa_zycet235-vlcond.

      wa_rc_shlp-vlsaldo = wa_zycet235-vlcond - wa_zycet235-vlcondre.

      wa_rc_shlp-dtval   = wa_zycet235-dtval.

      APPEND wa_rc_shlp TO p_t_rc_shlp[].

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM rc_vincula_anexos

     USING

       p_zycet235            TYPE s_zycet235

       value(p_t_zycet236)   TYPE t_zycet236

       p_t_zycet066          LIKE itab_zycet066[]

       p_t_zycet092          LIKE itab_zycet092[]

       p_t_zycet118          LIKE itab_zycet118[]

     CHANGING

       p_t_zycet322          TYPE t_zycet322.

  DATA: wa_zycet066 LIKE LINE OF p_t_zycet066[],

        wa_zycet236 LIKE LINE OF p_t_zycet236[],

        wa_zycet322 LIKE LINE OF p_t_zycet322[].

  DATA: v_qtd_saldo TYPE /pws/zycet236-fkimg,

        v_vl_saldo  TYPE /pws/zycet236-vltot,

        v_ncm       TYPE /pws/zycet236-steuc.

  CLEAR: p_t_zycet322[].

  LOOP AT p_t_zycet066[] INTO wa_zycet066.

    PERFORM rc_busca_ncm

            USING

               p_t_zycet092[]

               p_t_zycet118[]

               wa_zycet066-codnrseq

            CHANGING

               v_ncm.

    CHECK sy-subrc = 0.

    TRANSLATE v_ncm USING '- . '.

    CONDENSE v_ncm NO-GAPS.

    LOOP AT p_t_zycet236 INTO wa_zycet236

                         WHERE nrseqrc = p_zycet235-nrseqrc.

      TRANSLATE wa_zycet236-steuc USING '- . '.

      CONDENSE wa_zycet236-steuc NO-GAPS.

      IF wa_zycet236-steuc = v_ncm.

        IF wa_zycet236-vrkme = wa_zycet066-gewei_3.

          v_qtd_saldo = wa_zycet236-fkimg - wa_zycet236-fkimg_vinculado.

          v_vl_saldo  = wa_zycet236-vltot - wa_zycet236-vltot_vinculado.

          IF v_qtd_saldo >= wa_zycet066-qtdcom

              AND v_vl_saldo >= wa_zycet066-vlcond1.

            wa_zycet322-nrseqrc    = wa_zycet236-nrseqrc.

            wa_zycet322-codnrseqrc = wa_zycet236-codnrseq.

            wa_zycet322-nrseqre    = wa_zycet066-nrseqre.

            wa_zycet322-codnrseqre = wa_zycet066-codnrseq.

            APPEND wa_zycet322 TO p_t_zycet322[].

            ADD: wa_zycet066-qtdcom  TO wa_zycet236-fkimg_vinculado,

                 wa_zycet066-vlcond1 TO wa_zycet236-vltot_vinculado.

            MODIFY p_t_zycet236[] FROM wa_zycet236.

          ENDIF.

          EXIT.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

FORM rc_verifica_vinculabilidade

     USING

       p_zycet235          TYPE s_zycet235

       value(p_t_zycet236) TYPE t_zycet236

       p_zycet001          TYPE /pws/zycet001

       p_pagador           TYPE vbpa-kunnr

       p_pais_pagador      TYPE t005-/pws/codpa

       p_waers             TYPE /pws/zycet008-waers

       p_t_zycet066        LIKE itab_zycet066[]

       p_t_zycet092        LIKE itab_zycet092[]

       p_t_zycet118        LIKE itab_zycet118[]

       p_retornar_erros    TYPE xfeld

     CHANGING

       p_vinculavel        TYPE xfeld.

  DATA: wa_zycet066 LIKE LINE OF p_t_zycet066[],

        wa_zycet236 LIKE LINE OF p_t_zycet236[].

  DATA: v_qtd_saldo        TYPE /pws/zycet236-fkimg,

        v_vl_saldo         TYPE /pws/zycet236-vltot,

        v_erros_vinculacao TYPE i,

        v_ncm              TYPE /pws/zycet236-steuc.

  FIELD-SYMBOLS: <fs_zycet236> LIKE LINE OF p_t_zycet236[].

  IF p_retornar_erros = 'X'.

    CALL FUNCTION 'MESSAGES_INITIALIZE'.

  ENDIF.

  IF p_zycet235-dtval < p_zycet001-dtprev.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-dtval

                msgv2                  = p_zycet001-dtprev

                txtnr                  = 141

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  IF p_zycet235-bukrs <> p_zycet001-bukrs.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-bukrs

                msgv2                  = p_zycet001-bukrs

                txtnr                  = 142

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  IF p_zycet235-werks <> p_zycet001-werks.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-werks

                msgv2                  = p_zycet001-werks

                txtnr                  = 143

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  IF p_zycet235-kunnr <> p_pagador.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-kunnr

                msgv2                  = p_pagador

                txtnr                  = 144

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  IF p_zycet235-paisdest <> p_pais_pagador.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-paisdest

                msgv2                  = p_pais_pagador

                txtnr                  = 145

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  IF p_zycet235-waers <> p_waers.

    ADD 1 TO v_erros_vinculacao.

    IF p_retornar_erros = 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb                  = '/PWS/ZYCEM'

                msgty                  = 'E'

                msgv1                  = p_zycet235-waers

                msgv2                  = p_waers

                txtnr                  = 146

           EXCEPTIONS

                message_type_not_valid = 0

                not_active             = 0

                OTHERS                 = 0.

    ENDIF.

  ENDIF.

  LOOP AT p_t_zycet236[] ASSIGNING <fs_zycet236>

                         WHERE nrseqrc = p_zycet235-nrseqrc.

    TRANSLATE <fs_zycet236>-steuc USING '- . '.

    CONDENSE <fs_zycet236>-steuc NO-GAPS.

  ENDLOOP.

  LOOP AT p_t_zycet066[] INTO wa_zycet066.

    PERFORM rc_busca_ncm

            USING

              p_t_zycet092[]

              p_t_zycet118[]

              wa_zycet066-codnrseq

            CHANGING

              v_ncm.

    IF sy-subrc = 0.

      TRANSLATE v_ncm USING '- . '.

      CONDENSE v_ncm NO-GAPS.

      LOOP AT p_t_zycet236 INTO wa_zycet236

                           WHERE nrseqrc = p_zycet235-nrseqrc

                             AND steuc = v_ncm.

        IF wa_zycet236-vrkme <> wa_zycet066-gewei_3.

          ADD 1 TO v_erros_vinculacao.

          IF p_retornar_erros = 'X'.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb                  = '/PWS/ZYCEM'

                      msgty                  = 'E'

                      msgv1                  = wa_zycet236-vrkme

                      msgv2                  = wa_zycet066-gewei_3

                      txtnr                  = 147

                      zeile                  = wa_zycet066-codnrseq

                 EXCEPTIONS

                      message_type_not_valid = 0

                      not_active             = 0

                      OTHERS                 = 0.

          ENDIF.

          CONTINUE.

        ENDIF.

        v_qtd_saldo = wa_zycet236-fkimg - wa_zycet236-fkimg_vinculado.

        v_vl_saldo  = wa_zycet236-vltot - wa_zycet236-vltot_vinculado.

        IF v_qtd_saldo >= wa_zycet066-qtdcom

             AND v_vl_saldo >= wa_zycet066-vlcond1.

          ADD wa_zycet066-qtdcom  TO wa_zycet236-fkimg_vinculado.

          ADD wa_zycet066-vlcond1 TO wa_zycet236-vltot_vinculado.

          MODIFY p_t_zycet236[] FROM wa_zycet236

                                TRANSPORTING fkimg_vinculado

                                             vltot_vinculado.

          CONTINUE.

        ELSE.

          ADD 1 TO v_erros_vinculacao.

          IF p_retornar_erros = 'X'.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb                  = '/PWS/ZYCEM'

                      msgty                  = 'E'

                      msgv1                  = v_vl_saldo

                      msgv2                  = v_qtd_saldo

                      msgv3                  = wa_zycet066-vlcond1

                      msgv4                  = wa_zycet066-qtdcom

                      txtnr                  = 149

                      zeile                  = wa_zycet066-codnrseq

                 EXCEPTIONS

                      message_type_not_valid = 0

                      not_active             = 0

                      OTHERS                 = 0.

          ENDIF.

        ENDIF.

      ENDLOOP.

      IF sy-subrc = 4.

        ADD 1 TO v_erros_vinculacao.

        IF p_retornar_erros = 'X'.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb                  = '/PWS/ZYCEM'

                    msgty                  = 'E'

                    msgv1                  = v_ncm

                    txtnr                  = 148

                    zeile                  = wa_zycet066-codnrseq

               EXCEPTIONS

                    message_type_not_valid = 0

                    not_active             = 0

                    OTHERS                 = 0.

        ENDIF.

      ENDIF.

    ELSE.

      ADD 1 TO v_erros_vinculacao.

      IF p_retornar_erros = 'X'.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb                  = '/PWS/ZYCEM'

                  msgty                  = 'E'

                  msgv1                  = v_ncm

                  txtnr                  = 148

                  zeile                  = wa_zycet066-codnrseq

             EXCEPTIONS

                  message_type_not_valid = 0

                  not_active             = 0

                  OTHERS                 = 0.

      ENDIF.

    ENDIF.

  ENDLOOP.

  IF v_erros_vinculacao = 0.

    p_vinculavel = 'X'.

  ELSE.

    p_vinculavel = space.

  ENDIF.

ENDFORM.

FORM rc_ajuda_pesquisa_vinculaveis

     USING

       p_t_rc_shlp TYPE t_zycet235_shlp.

  DATA: it_dfies TYPE TABLE OF dfies,

        wa_dfies LIKE LINE OF it_dfies,

        v_offset TYPE i,

        v_intlen TYPE i,

        wa_rc_shlp LIKE LINE OF p_t_rc_shlp.                "#EC NEEDED

  CLEAR: v_offset,

         v_intlen.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'

       EXPORTING

            tabname        = '/PWS/ZYCET235'

            lfieldname     = 'NRRC'

            all_types      = 'X'

       IMPORTING

            dfies_wa       = wa_dfies

       EXCEPTIONS

            not_found      = 1

            internal_error = 2

            OTHERS         = 3.

  IF sy-subrc = 0.

    wa_dfies-offset    = v_offset.

    wa_dfies-headlen   = '30'.

    wa_dfies-scrlen1   = '10'.

    wa_dfies-scrlen2   = '15'.

    wa_dfies-scrlen3   = '20'.

    wa_dfies-scrtext_s = 'Núm. RC'(148).

    wa_dfies-scrtext_m = 'Número RC'(149).

    wa_dfies-scrtext_l = 'Número do RC'(150).

    wa_dfies-reptext   = 'Número do RC'(151).

    APPEND wa_dfies TO it_dfies[].

    v_intlen = wa_dfies-intlen.

  ENDIF.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'

       EXPORTING

            tabname        = '/PWS/ZYCET235'

            lfieldname     = 'NRSEQRC'

            all_types      = 'X'

       IMPORTING

            dfies_wa       = wa_dfies

       EXCEPTIONS

            not_found      = 1

            internal_error = 2

            OTHERS         = 3.

  IF sy-subrc = 0.

    v_offset = v_offset + v_intlen.

    wa_dfies-offset    = v_offset.

    wa_dfies-headlen   = '30'.

    wa_dfies-scrlen1   = '10'.

    wa_dfies-scrlen2   = '15'.

    wa_dfies-scrlen3   = '20'.

    wa_dfies-scrtext_s = 'Seq. RC'(152).

    wa_dfies-scrtext_m = 'Seqüenc. RC'(153).

    wa_dfies-scrtext_l = 'Seqüencial do RC'(154).

    wa_dfies-reptext   = 'Seqüencial do RC'(155).

    APPEND wa_dfies TO it_dfies[].

    v_intlen = wa_dfies-intlen.

  ENDIF.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'

       EXPORTING

            tabname        = '/PWS/ZYCET235'

            lfieldname     = 'VLCOND'

            all_types      = 'X'

       IMPORTING

            dfies_wa       = wa_dfies

       EXCEPTIONS

            not_found      = 1

            internal_error = 2

            OTHERS         = 3.

  IF sy-subrc = 0.

    v_offset = v_offset + v_intlen.

    wa_dfies-offset    = v_offset.

    wa_dfies-headlen   = '30'.

    wa_dfies-scrlen1   = '10'.

    wa_dfies-scrlen2   = '15'.

    wa_dfies-scrlen3   = '20'.

    wa_dfies-scrtext_s = 'Vl. Cond.'(156).

    wa_dfies-scrtext_m = 'Vl. Condição'(157).

    wa_dfies-scrtext_l = 'Valor Condição'(158).

    wa_dfies-reptext   = 'Valor Condição'(159).

    APPEND wa_dfies TO it_dfies[].

    v_intlen = wa_dfies-intlen.

  ENDIF.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'

       EXPORTING

            tabname        = '/PWS/ZYCET235'

            lfieldname     = 'VLCONDRE'

            all_types      = 'X'

       IMPORTING

            dfies_wa       = wa_dfies

       EXCEPTIONS

            not_found      = 1

            internal_error = 2

            OTHERS         = 3.

  IF sy-subrc = 0.

    v_offset = v_offset + v_intlen.

    wa_dfies-offset    = v_offset.

    wa_dfies-headlen   = '25'.

    wa_dfies-scrlen1   = '05'.

    wa_dfies-scrlen2   = '10'.

    wa_dfies-scrlen3   = '15'.

    wa_dfies-scrtext_s = 'Saldo'(160).

    wa_dfies-scrtext_m = 'Saldo'(161).

    wa_dfies-scrtext_l = 'Saldo do RC'(162).

    wa_dfies-reptext   = 'Saldo do RC'(163).

    APPEND wa_dfies TO it_dfies[].

    v_intlen = wa_dfies-intlen.

  ENDIF.

  CALL FUNCTION 'DDIF_FIELDINFO_GET'

       EXPORTING

            tabname        = '/PWS/ZYCET235'

            lfieldname     = 'DTVAL'

            all_types      = 'X'

       IMPORTING

            dfies_wa       = wa_dfies

       EXCEPTIONS

            not_found      = 1

            internal_error = 2

            OTHERS         = 3.

  IF sy-subrc = 0.

    v_offset = v_offset + v_intlen.

    wa_dfies-offset    = v_offset.

    wa_dfies-headlen   = '30'.

    wa_dfies-scrlen1   = '10'.

    wa_dfies-scrlen2   = '15'.

    wa_dfies-scrlen3   = '20'.

    wa_dfies-scrtext_s = 'Validade'(164).

    wa_dfies-scrtext_m = 'Dt. Validade'(165).

    wa_dfies-scrtext_l = 'Data de Validade'(166).

    wa_dfies-reptext   = 'Data de Validade'(167).

    APPEND wa_dfies TO it_dfies[].

    v_intlen = wa_dfies-intlen.

  ENDIF.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

       EXPORTING

            retfield        = 'NRSEQRC'

            dynpprog        = 'SAPMZYCE105_RC'

            dynpnr          = '0101'

            dynprofield     = '/PWS/ZYCEE116-NRSEQRC'

            window_title    = 'Registros de Crédito vinculáveis'(168)

            value_org       = 'S'

       TABLES

            value_tab       = p_t_rc_shlp

            field_tab       = it_dfies

       EXCEPTIONS

            parameter_error = 1

            no_values_found = 2

            OTHERS          = 3.

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  ENDIF.

ENDFORM.

FORM rc_seleciona_dados_vinculacao

     USING

       p_nrseqrc      TYPE /pws/zycet116-nrseqrc

       p_nrseqre      TYPE /pws/zycet116-nrseqre

       p_zycet001     TYPE /pws/zycet001

       p_zycet145     LIKE itab_zycet145

     CHANGING

       p_zycet235     TYPE s_zycet235

       p_t_zycet236   TYPE t_zycet236

       p_pagador      TYPE vbpa-kunnr

       p_pais_pagador TYPE t005-/pws/codpa

       p_waers        TYPE /pws/zycet008-waers.

  DATA: it_zycev322 TYPE t_zycev322,

        wa_zycev322 LIKE LINE OF it_zycev322[].

  FIELD-SYMBOLS: <fs_zycet236> LIKE LINE OF p_t_zycet236[].

  CLEAR: p_zycet235,

         p_t_zycet236[],

         p_pagador,

         p_pais_pagador,

         p_waers.

  SELECT SINGLE waers

      INTO p_waers

      FROM /pws/zycet008

      WHERE nrseq = p_zycet001-nrseq.

  SELECT SINGLE kunnr

      FROM vbpa

      INTO p_pagador

      WHERE vbeln = any ( SELECT vbeln_va

                              FROM /pws/zycet002

                              WHERE nrseq = p_zycet001-nrseq

                                AND st_vd IN ('VD', 'DP') )

        AND posnr = '000000'

        AND parvw = p_zycet145-importador.

  IF sy-subrc = 0.

    SELECT SINGLE /pws/codpa

        FROM t005

        INTO p_pais_pagador

        WHERE land1 = ( SELECT land1

                            FROM kna1

                            WHERE kunnr = p_pagador ).

  ENDIF.

  SELECT SINGLE nrseqrc

                nrrc

                bukrs

                werks

                dtval

                paisdest

                kunnr

                waers

                vlcond

                vlcondre

      FROM /pws/zycet235

      INTO p_zycet235

      WHERE nrseqrc = p_nrseqrc.

  CHECK sy-subrc = 0.

  SELECT nrseqrc

         codnrseq

         steuc

         fkimg

         vrkme

         vltot

      FROM /pws/zycet236

      INTO TABLE p_t_zycet236[]

      WHERE nrseqrc = p_nrseqrc.

  SELECT nrseqrc

         codnrseqrc

         nrseqre

         codnrseqre

         vlcond1

         qtdcom

      FROM /pws/zycev322

      INTO TABLE it_zycev322[]

      WHERE nrseqrc = p_nrseqrc.

  LOOP AT it_zycev322[] INTO wa_zycev322

                        WHERE nrseqre <> p_nrseqre.

    READ TABLE p_t_zycet236[] ASSIGNING <fs_zycet236>

         WITH KEY nrseqrc  = wa_zycev322-nrseqrc

                  codnrseq = wa_zycev322-codnrseqrc.

    IF sy-subrc = 0.

      ADD wa_zycev322-vlcond1 TO <fs_zycet236>-vltot_vinculado.

      ADD wa_zycev322-qtdcom  TO <fs_zycet236>-fkimg_vinculado.

      UNASSIGN <fs_zycet236>.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM rc_vincula

     USING

       p_nrseqrc    TYPE /pws/zycet235-nrseqrc

       p_nrseqre    TYPE /pws/zycet116-nrseqre

       p_zycet001   LIKE /pws/zycet001

       p_zycet145   TYPE /pws/zycet145

       p_t_zycet066 LIKE itab_zycet066[]

       p_t_zycet092 LIKE itab_zycet092[]

       p_t_zycet118 LIKE itab_zycet118[]

     CHANGING

       p_nrrc       TYPE /pws/zycet116-nrrc.

  DATA: wa_zycet235    TYPE s_zycet235,

        it_zycet236    TYPE t_zycet236,

        it_zycev322    TYPE t_zycev322,

        v_pagador      TYPE vbpa-kunnr,

        v_pais_pagador TYPE t005-/pws/codpa,

        v_waers        TYPE /pws/zycet008-waers,

        v_vinculavel   TYPE xfeld.

  PERFORM rc_seleciona_dados_vinculacao

          USING

             p_nrseqrc

             p_nrseqre

             p_zycet001

             p_zycet145

          CHANGING

             wa_zycet235

             it_zycet236[]

             v_pagador

             v_pais_pagador

             v_waers.

  PERFORM rc_verifica_vinculabilidade

          USING

            wa_zycet235

            it_zycet236[]

            p_zycet001

            v_pagador

            v_pais_pagador

            v_waers

            p_t_zycet066[]

            p_t_zycet092[]

            p_t_zycet118[]

            'X'

          CHANGING

            v_vinculavel.

  IF v_vinculavel = 'X'.

    p_nrrc = wa_zycet235-nrrc.

    sy-subrc = 0.

  ELSE.

    CLEAR p_nrrc.

    sy-subrc = 4.

  ENDIF.

ENDFORM.

FORM rc_grava_vinculacao

     USING

       p_nrseqrc    LIKE /pws/zycet116-nrseqrc

       p_nrseqre    LIKE /pws/zycet116-nrseqre

       p_zycet001   LIKE /pws/zycet001

       p_zycet145   LIKE itab_zycet145

       p_t_zycet066 LIKE itab_zycet066[]

       p_t_zycet092 LIKE itab_zycet092[]

       p_t_zycet118 LIKE itab_zycet118[].

  DATA: wa_zycet235    TYPE s_zycet235,

        it_zycet236    TYPE t_zycet236,

        v_pagador      TYPE vbpa-kunnr,

        v_pais_pagador TYPE t005-/pws/codpa,

        v_waers        TYPE /pws/zycet008-waers,

        v_vinculavel   TYPE xfeld,

        it_zycet322    TYPE t_zycet322.

  IF NOT p_nrseqrc IS INITIAL.

    CALL FUNCTION 'ENQUEUE_/PWS/EZYCET235'

         EXPORTING

              nrseqrc        = p_nrseqrc

              _wait          = 'X'

         EXCEPTIONS

              foreign_lock   = 1

              system_failure = 2

              OTHERS         = 3.

    IF sy-subrc <> 0.

      MESSAGE e001 WITH text-144.

    ENDIF.

  ENDIF.

  IF NOT p_nrseqrc IS INITIAL.

    PERFORM rc_seleciona_dados_vinculacao

            USING

              p_nrseqrc

              p_nrseqre

              p_zycet001

              p_zycet145

            CHANGING

              wa_zycet235

              it_zycet236[]

              v_pagador

              v_pais_pagador

              v_waers.

    PERFORM rc_verifica_vinculabilidade

            USING

              wa_zycet235

              it_zycet236[]

              p_zycet001

              v_pagador

              v_pais_pagador

              v_waers

              p_t_zycet066[]

              p_t_zycet092[]

              p_t_zycet118[]

              'X'

            CHANGING

              v_vinculavel.

    IF v_vinculavel = 'X'.

      PERFORM rc_vincula_anexos

              USING

                wa_zycet235

                it_zycet236[]

                p_t_zycet066[]

                p_t_zycet092[]

                p_t_zycet118[]

              CHANGING

                it_zycet322[].

      PERFORM rc_grava_desvinculacao

              USING

                 p_nrseqre.

      INSERT /pws/zycet322 FROM TABLE it_zycet322[].

      PERFORM rc_grava_novo_saldo

                  USING

                     p_nrseqrc.

      CALL FUNCTION 'DEQUEUE_/PWS/EZYCET235'

           EXPORTING

                nrseqrc = p_nrseqrc.

      sy-subrc = 0.

    ELSE.

      CALL FUNCTION 'DEQUEUE_/PWS/EZYCET235'

           EXPORTING

                nrseqrc = p_nrseqrc.

      sy-subrc = 4.

    ENDIF.

  ELSE.

    PERFORM rc_grava_desvinculacao

            USING

               p_nrseqre.

    CALL FUNCTION 'DEQUEUE_/PWS/EZYCET235'

         EXPORTING

              nrseqrc = p_nrseqrc.

    sy-subrc = 0.

  ENDIF.

ENDFORM.

FORM rc_grava_desvinculacao

     USING

       p_nrseqre TYPE /pws/zycet116-nrseqre.

  DATA: v_nrseqrc TYPE /pws/zycev322-nrseqrc.

  DATA: it_nrseqrc TYPE STANDARD TABLE OF  /pws/zycet235-nrseqrc.

  SELECT SINGLE nrseqrc

      INTO v_nrseqrc

      FROM /pws/zycet322

      WHERE nrseqre = p_nrseqre.

  DELETE FROM /pws/zycet322 WHERE nrseqre = p_nrseqre.

  COMMIT WORK.

  IF NOT v_nrseqrc IS INITIAL.

    PERFORM rc_grava_novo_saldo

            USING

              v_nrseqrc.

  ENDIF.

ENDFORM.

FORM rc_grava_novo_saldo

     USING

       p_nrseqrc TYPE /pws/zycet235-nrseqrc.

  DATA: v_vlcond1 TYPE /pws/zycev322-vlcond1,

        v_vlemb1  TYPE /pws/zycev322-vlemb1.

  SELECT SUM( vlcond1 )

         SUM( vlemb1 )

      INTO (v_vlcond1, v_vlemb1)

      FROM /pws/zycev322

      WHERE nrseqrc = p_nrseqrc.

  UPDATE /pws/zycet235 SET vlcondre = v_vlcond1

                           vlembre  = v_vlemb1

                       WHERE nrseqrc = p_nrseqrc.

ENDFORM.

FORM rc_busca_ncm

     USING

         p_t_zycet092 LIKE itab_zycet092[]

         p_t_zycet118 LIKE itab_zycet118[]

         p_codnrseq   TYPE /pws/zycet066-codnrseq

     CHANGING

         p_ncm        TYPE /pws/zycet236-steuc.

  DATA: wa_zycet092 LIKE LINE OF p_t_zycet092,

        wa_zycet118 LIKE LINE OF p_t_zycet118.

  READ TABLE p_t_zycet092[] INTO wa_zycet092

       WITH KEY codnrseq = p_codnrseq

       TRANSPORTING ncm.

  IF sy-subrc = 0.

    p_ncm = wa_zycet092-ncm.

    sy-subrc = 0.

  ELSE.

    READ TABLE p_t_zycet118[] INTO wa_zycet118

       WITH KEY codnrseq = p_codnrseq

       TRANSPORTING ncm.

    IF sy-subrc = 0.

      p_ncm = wa_zycet118-ncm.

      sy-subrc = 0.

    ELSE.

      sy-subrc = 4.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE105I01

 

...

      CALL METHOD html_control->go_back.

      CLEAR okcode.

    WHEN 'AVAN'.

      CALL METHOD html_control->go_forward.

      CLEAR okcode.

  ENDCASE.

ENDMODULE.

MODULE atualiza_faturamento INPUT.

  v_atualiza_faturamento = 'X'.

ENDMODULE.

* >> Início da inclusão:

MODULE shlp_nreqrc INPUT.

  PERFORM rc_busca_vinculaveis

          USING

             /pws/zycee001

             itab_zycet145

             itab_zycet066[]

             itab_zycet092[]

             itab_zycet118[]

          CHANGING

             it_shlp_rc_vinculaveis[].

  PERFORM rc_ajuda_pesquisa_vinculaveis

          USING

             it_shlp_rc_vinculaveis[].

ENDMODULE.

MODULE vincular_rc INPUT.

  IF NOT /pws/zycee116-nrseqrc IS INITIAL.

    PERFORM rc_vincula

            USING

              /pws/zycee116-nrseqrc

              /pws/zycee116-nrseqre

              /pws/zycee001

              itab_zycet145

              itab_zycet066[]

              itab_zycet092[]

              itab_zycet118[]

            CHANGING

              /pws/zycee116-nrrc.

    IF sy-subrc <> 0.

      CALL FUNCTION 'MESSAGES_SHOW'

           EXPORTING

                object             = 'Log de erros da vinculação' &

                                     ' do RC'(146)

                show_linno_text    = 'Anexo'(147)

                i_use_grid         = 'X'

           EXCEPTIONS

                inconsistent_range = 0

                no_messages        = 0

                OTHERS             = 0.

    ENDIF.

  ELSE.

    CLEAR /pws/zycee116-nrrc.

  ENDIF.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE105TOP

 

PROGRAM  /pws/sapmzyce105a MESSAGE-ID /pws/zycem.

INCLUDE /pws/zygli100.

INCLUDE /pws/zygli101.

DATA: v_tela_help LIKE sy-dynnr VALUE '0052'.

INCLUDE /pws/mzyce105x01.

TYPES t_thead TYPE thead.

* >> Início da inclusão:

TYPES: BEGIN OF s_zycet235,

         nrseqrc  TYPE /pws/zycet235-nrseqrc,

         nrrc     TYPE /pws/zycet235-nrrc,

         bukrs    TYPE /pws/zycet235-bukrs,

         werks    TYPE /pws/zycet235-werks,

         dtval    TYPE /pws/zycet235-dtval,

         paisdest TYPE /pws/zycet235-paisdest,

         kunnr    TYPE /pws/zycet235-kunnr,

         waers    TYPE /pws/zycet235-waers,

         vlcond   TYPE /pws/zycet235-vlcond,

         vlcondre TYPE /pws/zycet235-vlcondre,

       END OF s_zycet235,

       t_zycet235 TYPE STANDARD TABLE OF s_zycet235.

TYPES: BEGIN OF s_zycet236,

         nrseqrc         TYPE /pws/zycet236-nrseqrc,

         codnrseq        TYPE /pws/zycet236-codnrseq,

         steuc           TYPE /pws/zycet236-steuc,

         fkimg           TYPE /pws/zycet236-fkimg,

         vrkme           TYPE /pws/zycet236-vrkme,

         vltot           TYPE /pws/zycet236-vltot,

         fkimg_vinculado TYPE /pws/zycet236-fkimg,

         vltot_vinculado TYPE /pws/zycet236-vltot,

       END OF s_zycet236,

       t_zycet236 TYPE SORTED TABLE OF s_zycet236

                  WITH UNIQUE KEY nrseqrc

                                  codnrseq.

TYPES: t_zycet322 TYPE STANDARD TABLE OF /pws/zycet322.

TYPES: BEGIN OF s_zycet235_shlp,

         nrrc    TYPE /pws/zycet235-nrrc,

         nrseqrc TYPE /pws/zycet235-nrseqrc,

         vlcond  TYPE /pws/zycet235-vlcond,

         vlsaldo TYPE /pws/zycet235-vlcond,

         dtval   TYPE /pws/zycet235-dtval,

       END OF s_zycet235_shlp,

       t_zycet235_shlp TYPE STANDARD TABLE OF s_zycet235_shlp.

TYPES: BEGIN OF s_zycev322,

         nrseqrc    TYPE /pws/zycev322-nrseqrc,

         codnrseqrc TYPE /pws/zycev322-codnrseqrc,

         nrseqre    TYPE /pws/zycev322-nrseqre,

         codnrseqre TYPE /pws/zycev322-codnrseqre,

         vlcond1    TYPE /pws/zycev322-vlcond1,

         qtdcom     TYPE /pws/zycev322-qtdcom,

       END OF s_zycev322,

       t_zycev322 TYPE SORTED TABLE OF s_zycev322

                       WITH UNIQUE KEY nrseqrc

                                       codnrseqrc

                                       nrseqre

                                       codnrseqre.

* << Fim da inclusão

CONTROLS: ts_exportacao TYPE TABSTRIP,

          tc_merc       TYPE TABLEVIEW USING SCREEN '0103',

          tc_grup       TYPE TABLEVIEW USING SCREEN '0104',

          tc_fabri      TYPE TABLEVIEW USING SCREEN '0113',

          tc_log        TYPE TABLEVIEW USING SCREEN '0114',

          tc_zycet304   TYPE TABLEVIEW USING SCREEN '0118',

          tc_ncm        TYPE TABLEVIEW USING SCREEN '0116'.

DATA: editmens  TYPE REF TO cl_gui_textedit        ,

      container TYPE REF TO cl_gui_custom_container.

TABLES:

...

 

...

DATA: v_tabix     LIKE sy-tabix,

      v_mark      TYPE c,

      v_tabix_aux LIKE sy-tabix,

      v_bukrs     LIKE /pws/zycet304-bukrs,

      v_nrseqre   LIKE /pws/zycet304-nrseqre,

      v_codnrseq  LIKE /pws/zycet304-codnrseq,

      v_ncm       LIKE /pws/zycet081-steuc.

DATA: v_atualiza_faturamento TYPE flag.

DATA: v_kunnr     LIKE vbpa-kunnr.

DATA: i_sytcode   LIKE sy-tcode.

* >> Início da inclusão:

DATA: it_shlp_rc_vinculaveis TYPE t_zycet235_shlp.

* << Fim da inclusão

DATA: d_empdesc   LIKE /pws/zycet154-descricao,

      d_marge2    TYPE p DECIMALS 2,

      d_descemb   LIKE /pws/zycet132-descdesp,

      d_descpais  LIKE t005t-landx,

      d_descpais1 LIKE t005t-landx,

      d_desincot(35),

      d_descre(30),

      d_descforma(25),

      d_descmo    LIKE tcurt-ltext,

      d_steuc LIKE marc-steuc                ,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCE109F01

 

...

      APPEND itab_zycet245.

    ENDDO.

    CLEAR itab_zycet245.

  ENDIF.

  itab_zycet245_ant[] = itab_zycet245[].

  IF sy-tcode EQ v_transacao_a.

    v_status = '1'.

  ELSE.

    v_status = '0'.

  ENDIF.

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

  PERFORM seleciona_vinculacoes

          USING

             /pws/zycee235-nrseqrc

          CHANGING

             itab_zycev322[].

* << Fim da inclusão

  IF sy-tcode EQ v_transacao_a.

    AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'

                                        DUMMY

                                        ID 'ACTVT' FIELD '02'.

    IF sy-subrc NE 0.

      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD

                                          /pws/zycee235-bukrs

                                          ID 'ACTVT' FIELD '02'.

      IF sy-subrc NE 0.

        MESSAGE e083(f5) WITH /pws/zycee235-bukrs.

...

 

...

        MESSAGE e083(f5) WITH /pws/zycee235-bukrs.

      ENDIF.

    ENDIF.

  ENDIF.

  v_tab   = 'TAB_CAB'.

  v_dynnr = '0101'.

ENDFORM.

FORM lock_record.

  CHECK sy-tcode = v_transacao_e OR

        sy-tcode = v_transacao_a.

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

  CALL FUNCTION '/PWS/ZYCE_ENQUEUE_ZYCET235'

* << Fim da exclusão

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

  CALL FUNCTION 'ENQUEUE_/PWS/EZYCET235'

* << Fim da inclusão

       EXPORTING

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

            nrseq          = /pws/zycee235-nrseqrc

* << Fim da exclusão

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

            nrseqrc        = /pws/zycee235-nrseqrc

* << Fim da inclusão

       EXCEPTIONS

            foreign_lock   = 1

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

            system_failure = 2.

* << Fim da exclusão

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

            system_failure = 2

            OTHERS         = 3.

* << Fim da inclusão

  IF sy-subrc NE 0.

    MESSAGE w001 WITH text-008 text-009.

    v_status = '0'.

  ENDIF.

ENDFORM.

FORM seleciona_parametros.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ wa_zycet235-bukrs.

  SELECT SINGLE *

    FROM /pws/zycet037

...

 

...

         FROM /pws/zycet240

         INTO TABLE itab_zycet240.

  SELECT *

         FROM /pws/zycet241

         INTO TABLE itab_zycet241.

  SELECT *

         FROM /pws/zycet242

         INTO TABLE itab_zycet242.

ENDFORM.

FORM unlock_record.

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

  CALL FUNCTION '/PWS/ZYCE_DEQUEUE_ZYCET235'

* << Fim da exclusão

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

  CALL FUNCTION 'DEQUEUE_/PWS/EZYCET235'

* << Fim da inclusão

       EXPORTING

            nrseqrc = /pws/zycee235-nrseqrc.

ENDFORM.

FORM set_pf_status_0100.

  CALL FUNCTION '/PWS/ZYGL_VERIFICA_BOTAO'

       EXPORTING

            grupp   = 'DE'

            program = v_syrepid

            dynnumb = v_sydynnr

            button  = 'SPEC'

...

 

...

    v_new_saldo = v_val_sum + ( /pws/zycee236-vltot -

 itab_zycet236-vltot ).

    IF v_new_saldo GT /pws/zycee235-vlemb.

      MESSAGE e001 WITH text-022.

    ENDIF.

  ENDIF.

ENDFORM.

FORM exclui_registro_credito.

  CHECK sy-tcode NE v_transacao_c.

  CHECK v_status EQ '1'.

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

  PERFORM consiste_exclusao

          USING

            itab_zycev322[].

  CHECK sy-subrc EQ 0.

* << Fim da inclusão

  PERFORM confirma_exclusao.

  CHECK sy-subrc EQ 0.

  DELETE FROM /pws/zycet238 WHERE nrseqrc EQ /pws/zycee235-nrseqrc.

  DELETE FROM /pws/zycet237 WHERE nrseqrc EQ /pws/zycee235-nrseqrc.

  DELETE FROM /pws/zycet236 WHERE nrseqrc EQ /pws/zycee235-nrseqrc.

  DELETE FROM /pws/zycet235 WHERE nrseqrc EQ /pws/zycee235-nrseqrc.

  DELETE FROM /pws/zycet245 WHERE nrseqrc EQ /pws/zycee235-nrseqrc.

  COMMIT WORK.

  LEAVE TO SCREEN '0001'.

ENDFORM.

...

 

...

  v_percent = v_percent2 = text-079.

ENDFORM.

FORM calc_val_cond_equal.

  IF /pws/zycee235-ceq_perc_totrc > 100.

    /pws/zycee235-ceq_perc_totrc = 100.

  ENDIF.

  t_parc_equal = ( /pws/zycee235-ceq_perc_totrc / 100 ) *

                   /pws/zycee235-vltcamb.

  t_prazo = /pws/zycee235-ceq_pmeses * /pws/zycee235-ceq_qtd_prest.

ENDFORM.

* >> Início da inclusão:

FORM seleciona_vinculacoes

     USING

       p_nrseqrc    TYPE /pws/zycet235-nrseqrc

     CHANGING

       p_t_zycev322 LIKE itab_zycev322[].

  SELECT *

      FROM /pws/zycev322

      INTO TABLE p_t_zycev322[]

      WHERE nrseqrc = p_nrseqrc.

ENDFORM.

FORM busca_vinculacoes

     USING

       p_nrseqrc    TYPE /pws/zycet236-nrseqrc

       p_item       TYPE /pws/zycet236-codnrseq

       p_t_zycev322 LIKE itab_zycev322[]

     CHANGING

       p_start_index TYPE i

       p_end_index   TYPE i.

  p_start_index = -1.

  LOOP AT p_t_zycev322[] TRANSPORTING NO FIELDS

       WHERE nrseqrc    = p_nrseqrc

         AND codnrseqrc = p_item.

    IF p_start_index < 0.

      p_start_index = sy-tabix.

    ENDIF.

    p_end_index = sy-tabix.

  ENDLOOP.

ENDFORM.

FORM exibe_vinculacoes

     USING

       p_nrseqrc    TYPE /pws/zycet236-nrseqrc

       p_item       TYPE /pws/zycet236-codnrseq

       p_t_zycev322 LIKE itab_zycev322[]

     CHANGING

       p_start_index TYPE i

       p_end_index   TYPE i.

  PERFORM busca_vinculacoes

          USING

             p_nrseqrc

             p_item

             p_t_zycev322[]

          CHANGING

             p_start_index

             p_end_index.

  IF p_start_index < 0.

    MESSAGE i283.

  ELSE.

    CALL SCREEN 0201 STARTING AT 1 3.

  ENDIF.

ENDFORM.

FORM drill_down_vinculacoes

     USING

       p_t_zycev322  LIKE itab_zycev322[]

       p_start_index TYPE i.

  DATA: field_name(40) TYPE c,

        field_line     TYPE i.

  DATA: wa_zycev322 LIKE LINE OF p_t_zycev322[].

  GET CURSOR FIELD field_name LINE field_line.

  field_line = field_line + p_start_index - 1.

  CASE field_name.

    WHEN '/PWS/ZYCEV322-NRSEQ'.

      READ TABLE p_t_zycev322[]

           INTO wa_zycev322

           INDEX field_line

           TRANSPORTING nrseq.

      IF NOT wa_zycev322-nrseq IS INITIAL.

        SET PARAMETER ID '/PWS/ZYCEP001' FIELD wa_zycev322-nrseq.

        CALL TRANSACTION '/PWS/ZYCE003_E' AND SKIP FIRST SCREEN.

      ENDIF.

    WHEN '/PWS/ZYCEV322-NRSEQRE'.

      READ TABLE p_t_zycev322[]

           INTO wa_zycev322

           INDEX field_line

           TRANSPORTING nrseqre.

      IF NOT wa_zycev322-nrseqre IS INITIAL.

        SET PARAMETER ID '/PWS/ZYCEP013' FIELD wa_zycev322-nrseqre.

        CALL TRANSACTION '/PWS/ZYCE105_E' AND SKIP FIRST SCREEN.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM consiste_quantidade_vinculada

     USING

       p_nrseqrc    TYPE /pws/zycet236-nrseqrc

       p_item       TYPE /pws/zycet236-codnrseq

       p_t_zycev322 LIKE itab_zycev322[]

       p_quantidade TYPE /pws/zycet236-fkimg.

  DATA: wa_zycev322     LIKE LINE OF p_t_zycev322[],

        v_qtd_vinculada TYPE /pws/zycev322-qtdcom.

  LOOP AT p_t_zycev322[] INTO wa_zycev322

                         WHERE nrseqrc    = p_nrseqrc

                           AND codnrseqrc = p_item.

    ADD wa_zycev322-qtdcom TO v_qtd_vinculada.

  ENDLOOP.

  IF p_quantidade < v_qtd_vinculada.

    MESSAGE e000 WITH 'A quantidade não pode ser ' &

                      'menor que a vinculada'.

  ENDIF.

ENDFORM.

FORM consiste_valor_vinculado

     USING

       p_nrseqrc    TYPE /pws/zycet236-nrseqrc

       p_item       TYPE /pws/zycet236-codnrseq

       p_t_zycev322 LIKE itab_zycev322[]

       p_valor      TYPE /pws/zycet236-vltot.

  DATA: wa_zycev322     LIKE LINE OF p_t_zycev322[],

        v_vlr_vinculado TYPE /pws/zycev322-vlcond1.

  LOOP AT p_t_zycev322[] INTO wa_zycev322

                         WHERE nrseqrc    = p_nrseqrc

                           AND codnrseqrc = p_item.

    ADD wa_zycev322-vlcond1 TO v_vlr_vinculado.

  ENDLOOP.

  IF p_valor < v_vlr_vinculado.

    MESSAGE e000 WITH 'O valor não pode ser menor que o vinculado'.

  ENDIF.

ENDFORM.

FORM consiste_valor_condicao

     USING

       p_t_zycev322 LIKE itab_zycev322[]

       p_vlcond     TYPE /pws/zycet235-vlcond.

  DATA: wa_zycev322        LIKE LINE OF p_t_zycev322[],

        v_vlcond_vinculado TYPE /pws/zycev322-vlcond1.

  LOOP AT p_t_zycev322[] INTO wa_zycev322.

    ADD wa_zycev322-vlcond1 TO v_vlcond_vinculado.

  ENDLOOP.

  IF p_vlcond < v_vlcond_vinculado.

    MESSAGE e000 WITH 'O valor não pode ser ' &

                      'menor que o total vinculado'.

  ENDIF.

ENDFORM.

FORM consiste_valor_embarque

     USING

       p_t_zycev322 LIKE itab_zycev322[]

       p_vlemb      TYPE /pws/zycet235-vlemb.

  DATA: wa_zycev322       LIKE LINE OF p_t_zycev322[],

        v_vlemb_vinculado TYPE /pws/zycev322-vlemb1.

  LOOP AT p_t_zycev322[] INTO wa_zycev322.

    ADD wa_zycev322-vlemb1 TO v_vlemb_vinculado.

  ENDLOOP.

  IF p_vlemb < v_vlemb_vinculado.

    MESSAGE e000 WITH 'O valor não pode ser menor que o vinculado'.

  ENDIF.

ENDFORM.

FORM consiste_exclusao

     USING

       p_t_zycev322 LIKE itab_zycev322[].

  READ TABLE p_t_zycev322[] TRANSPORTING NO FIELDS INDEX 1.

  IF sy-subrc = 0.

    MESSAGE i000 WITH 'RC já vinculado. Exclusão não permitida'(080).

    sy-subrc = 4.

  ELSE.

    sy-subrc = 0.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE109I01

 

...

          PERFORM load_record.

          CLEAR v_adding.

        ELSE.

          CLEAR v_adding.

        ENDIF.

      ELSE.

        PERFORM load_record.

      ENDIF.

    WHEN 'RELAT'.

      PERFORM chama_relat.

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

    WHEN 'VINC'.

      PERFORM exibe_vinculacoes

              USING

                /pws/zycee235-nrseqrc

                /pws/zycee236-codnrseq

                itab_zycev322[]

              CHANGING

                item_zycev322_start

                item_zycev322_end.

* << Fim da inclusão

  ENDCASE.

ENDMODULE.

MODULE save_value INPUT.

  IF /pws/zycee236-codnrseq NE 0.

    MOVE /pws/zycee236 TO itab_zycet236.

    MODIFY itab_zycet236 INDEX /pws/zycee236-codnrseq.

    IF sy-subrc NE 0.

      LOOP AT itab_zycet236 WHERE codnrseq <> /pws/zycee236-codnrseq

                              AND steuc     = /pws/zycee236-steuc.

      ENDLOOP.

...

 

...

MODULE user_command_0051 INPUT.

  CASE okcode.

    WHEN 'BC'.

      CALL METHOD html_control->go_back.

      CLEAR okcode.

    WHEN 'AVAN'.

      CALL METHOD html_control->go_forward.

      CLEAR okcode.

  ENDCASE.

ENDMODULE.

* >> Início da inclusão:

MODULE user_command_0201 INPUT.

  CASE okcode.

    WHEN 'BACK'.

      tc_vinculacoes-top_line = 1.

      CLEAR okcode.

      LEAVE TO SCREEN 0.

    WHEN 'SELE'.

      PERFORM drill_down_vinculacoes

              USING

                itab_zycev322[]

                item_zycev322_start.

  ENDCASE.

ENDMODULE.

MODULE consiste_quantidade_item INPUT.

  IF item_zycev322_start > 0 AND /pws/zycee236-fkimg > 0.

    PERFORM consiste_quantidade_vinculada

            USING

              /pws/zycee236-nrseqrc

              /pws/zycee236-codnrseq

              itab_zycev322[]

              /pws/zycee236-fkimg.

  ENDIF.

ENDMODULE.

MODULE consiste_valor_item INPUT.

  IF item_zycev322_start > 0 AND /pws/zycee236-vltot > 0.

    PERFORM consiste_valor_vinculado

            USING

              /pws/zycee236-nrseqrc

              /pws/zycee236-codnrseq

              itab_zycev322[]

              /pws/zycee236-vltot.

  ENDIF.

ENDMODULE.

MODULE consiste_valor_condicao INPUT.

  PERFORM consiste_valor_condicao

          USING

            itab_zycev322[]

            /pws/zycee235-vlcond.

ENDMODULE.

MODULE consiste_valor_embarque INPUT.

  PERFORM consiste_valor_embarque

          USING

            itab_zycev322[]

            /pws/zycee235-vlemb.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE109O01

 

...

  ENDIF.

  IF sy-dynnr EQ '0105'.

    LOOP AT tc_info-cols INTO wa_cols.

      wa_cols-screen-input = '0'.

      IF wa_cols-screen-group1 EQ 'ALT'.

        wa_cols-screen-input = v_status.

      ENDIF.

      MODIFY tc_info-cols FROM wa_cols.

    ENDLOOP.

  ENDIF.

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

  IF sy-dynnr = '0101'.

    PERFORM busca_vinculacoes

            USING

               /pws/zycee235-nrseqrc

               /pws/zycee236-codnrseq

               itab_zycev322[]

            CHANGING

               item_zycev322_start

               item_zycev322_end.

    IF item_zycev322_start > 0.

      LOOP AT SCREEN.

        IF screen-group4 = 'VIN'.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

  IF sy-dynnr = '0102'.

    PERFORM busca_vinculacoes

            USING

               /pws/zycee235-nrseqrc

               /pws/zycee236-codnrseq

               itab_zycev322[]

            CHANGING

               item_zycev322_start

               item_zycev322_end.

    IF item_zycev322_start > 0.

      LOOP AT SCREEN.

        IF screen-name = '/PWS/ZYCEE236-STEUC'

            OR screen-name = '/PWS/ZYCEE236-CODESTQ'

            OR screen-name = '/PWS/ZYCEE236-VRKME'

            OR screen-name = 'BOT_DEL1'.

          screen-input = 0.

          MODIFY SCREEN.

        ENDIF.

      ENDLOOP.

    ENDIF.

  ENDIF.

* << Fim da inclusão

ENDMODULE.

MODULE load_data OUTPUT.

  IF sy-tcode EQ v_transacao_c.

    PERFORM load_data.

  ELSE.

    PERFORM seleciona_registro.

  ENDIF.

  perform carrega_descricoes.

ENDMODULE.

MODULE set_page OUTPUT.

...

 

...

           events = myevent_tab.

    CREATE OBJECT evt_receiver.

    SET HANDLER evt_receiver->on_sapevent

                FOR html_control.

    PERFORM load_home_page.

  ENDIF.

ENDMODULE.

module calc_val_cond_equal output.

    perform calc_val_cond_equal.

endmodule.

* >> Início da inclusão:

MODULE status_0201 OUTPUT.

  SET PF-STATUS '0201'.

  SET TITLEBAR '0201' WITH /pws/zycee236-codnrseq.

  tc_vinculacoes-lines = item_zycev322_end - item_zycev322_start + 1.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCE109TOP

 

PROGRAM  /pws/sapmzyce109 MESSAGE-ID /pws/zycem.

INCLUDE /pws/zygli100.

INCLUDE /pws/zygli101.

DATA: v_tela_help LIKE sy-dynnr VALUE '0052'.

TABLES: /pws/zycee235,

        /pws/zycee236,

        /pws/zycee237,

        /pws/zycee238,

        /pws/zycee245,

        /pws/zycet037,

* >> Início da exclusão:

        /pws/zycbt007.

* << Fim da exclusão

* >> Início da inclusão:

        /pws/zycbt007,

        /pws/zycev322.

* << Fim da inclusão

CONTROLS: ts_registro TYPE TABSTRIP,

          tc_crono    TYPE TABLEVIEW USING SCREEN '0104',

* >> Início da exclusão:

          tc_info     TYPE TABLEVIEW USING SCREEN '0105'.

* << Fim da exclusão

* >> Início da inclusão:

          tc_info     TYPE TABLEVIEW USING SCREEN '0105',

          tc_vinculacoes TYPE TABLEVIEW USING SCREEN '0201'.

* << Fim da inclusão

DATA: wa_zycet235 LIKE /pws/zycet235,

...

 

...

      t_parc_equal   TYPE /pws/zycee235-VLTCAMB,

      t_prazo        TYPE /pws/zycee235-ceq_qtd_prest.

DATA: v_syrepid   LIKE sy-repid,

      v_sydynnr   LIKE sy-dynnr,

      v_visivel    LIKE /pws/zyglt319-visivel,

      v_tcodebotao LIKE /pws/zyglt319-tcode   ,

      i_nrchave(10) TYPE c.

DATA: BEGIN OF itab_status OCCURS 5,

        fcode LIKE rsmpe-func,

      END OF itab_status.

* >> Início da inclusão:

DATA: itab_zycev322 TYPE SORTED TABLE OF /pws/zycev322

                    WITH UNIQUE KEY nrseqrc

                                    codnrseqrc

                                    nrseqre

                                    codnrseqre,

      item_zycev322_start TYPE i,

      item_zycev322_end   TYPE i.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE105

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 144

 

Texto: (37 caracteres)

"O RC vinculado já está sendo alterado"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 145

 

Texto: (44 caracteres)

"A tabela de vinculação já está sendo gravada"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 146

 

Texto: (32 caracteres)

"Log de erros da vinculação do RC"

 

Comprimento máximo: 50

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 147

 

Texto: (5 caracteres)

"Anexo"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 148

 

Texto: (7 caracteres)

"Núm. RC"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 149

 

Texto: (9 caracteres)

"Número RC"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 150

 

Texto: (12 caracteres)

"Número do RC"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 151

 

Texto: (12 caracteres)

"Número do RC"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 152

 

Texto: (7 caracteres)

"Seq. RC"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 153

 

Texto: (11 caracteres)

"Seqüenc. RC"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 154

 

Texto: (16 caracteres)

"Seqüencial do RC"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 155

 

Texto: (16 caracteres)

"Seqüencial do RC"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 156

 

Texto: (9 caracteres)

"Vl. Cond."

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 157

 

Texto: (12 caracteres)

"Vl. Condição"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 158

 

Texto: (14 caracteres)

"Valor Condição"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 159

 

Texto: (14 caracteres)

"Valor Condição"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 160

 

Texto: (5 caracteres)

"Saldo"

 

Comprimento máximo: 5

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 161

 

Texto: (5 caracteres)

"Saldo"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 162

 

Texto: (11 caracteres)

"Saldo do RC"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 163

 

Texto: (11 caracteres)

"Saldo do RC"

 

Comprimento máximo: 25

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 164

 

Texto: (8 caracteres)

"Validade"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 165

 

Texto: (12 caracteres)

"Dt. Validade"

 

Comprimento máximo: 15

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 166

 

Texto: (16 caracteres)

"Data de Validade"

 

Comprimento máximo: 20

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 167

 

Texto: (16 caracteres)

"Data de Validade"

 

Comprimento máximo: 30

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 168

 

Texto: (32 caracteres)

"Registros de Crédito vinculáveis"

 

Comprimento máximo: 40

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCE109

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 080

 

Texto: (40 caracteres)

"RC já vinculado. Exclusão não permitida."

 

Comprimento máximo: 50

 

 

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

Modificações efetuadas em TABD /PWS/ZYCEE116

 

Incluído novo campo, após o campo DT_ALTERACAO.

 

Nome: NRSEQRC

Elemento de dados: /PWS/ZYCEL421

Tabela de verificação: /PWS/ZYCET235

 

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

Modificações efetuadas em TABD /PWS/ZYCET116

 

Incluído novo campo, após o campo DT_ALTERACAO.

 

Nome: NRSEQRC

Elemento de dados: /PWS/ZYCEL421

Tabela de verificação: /PWS/ZYCET235

 

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

Modificações efetuadas em TABL /PWS/ZYCET322

 

Criada nova tabela /PWS/ZYCET322.

 

Descrição (PT): CE - Vinculação de itens do RC X RE

 

Campos:

 

Nome: MANDT

Elemento de dados: MANDT

Chave?: Sim

Tabela de verificação: T000

 

Nome: NRSEQRC

Elemento de dados: /PWS/ZYCEL421

Chave?: Sim

Tabela de verificação: /PWS/ZYCET235

 

Nome: CODNRSEQRC

Elemento de dados: /PWS/ZYCEL117

Chave?: Sim

Tabela de verificação: /PWS/ZYCET236

 

Nome: NRSEQRE

Elemento de dados: /PWS/ZYCEL258

Chave?: Sim

Tabela de verificação: /PWS/ZYCET116

 

Nome: CODNRSEQRE

Elemento de dados: CHAR3

Chave?: Sim

Tabela de verificação: /PWS/ZYCET066

 

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

Modificações efetuadas em VIEW /PWS/ZYCEV322

 

Visão Criada: /PWS/ZYCEV322

 

Decrição (PT): CE - Vinculação dos itens do RC X RE

 

Tabelas da visão:

/PWS/ZYCET322

/PWS/ZYCET066

/PWS/ZYCET116

/PWS/ZYCET003

 

Condições do join:

/PWS/ZYCET066-MANDT = /PWS/ZYCET322-MANDT

/PWS/ZYCET066-NRSEQRE = /PWS/ZYCET322-NRSEQRE

/PWS/ZYCET066-CODNRSEQ = /PWS/ZYCET322-CODNRSEQRE

/PWS/ZYCET116-MANDT = /PWS/ZYCET322-MANDT

/PWS/ZYCET116-NRSEQRE = /PWS/ZYCET322-NRSEQRE

/PWS/ZYCET003-MANDT = /PWS/ZYCET116-MANDT

/PWS/ZYCET003-NRSEQRE = /PWS/ZYCET116-NRSEQRE

/PWS/ZYCET003-NRRE = /PWS/ZYCET116-NRRE

 

Campos da visão:

Campo da visão: MANDT

Origem: /PWS/ZYCET322-MANDT

 

Campo da visão: NRSEQRC

Origem: /PWS/ZYCET322-NRSEQRC

 

Campo da visão: CODNRSEQRC

Origem: /PWS/ZYCET322-CODNRSEQRC

 

Campo da visão: NRSEQRE

Origem: /PWS/ZYCET322-NRSEQRE

 

Campo da visão: CODNRSEQRE

Origem: /PWS/ZYCET322-CODNRSEQRE

 

Campo da visão: NRRE

Origem: /PWS/ZYCET116-NRRE

 

Campo da visão: NRSEQ

Origem: /PWS/ZYCET003-NRSEQ

 

Campo da visão: VLCOND1

Origem: /PWS/ZYCET066-VLCOND1

 

Campo da visão: VLEMB1

Origem: /PWS/ZYCET066-VLEMB1

 

Campo da visão: WAERS

Origem: /PWS/ZYCET066-WAERS

 

Campo da visão: QTDCOM

Origem: /PWS/ZYCET066-QTDCOM

 

Campo da visão: GEWEI_3

Origem: /PWS/ZYCET066-GEWEI_3