CE PLUS - Nota 010673

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 20/10/2010 00:00:00

Data/Hora Última Alteração: 21/10/2010 10:22:19

Descrição da Nota: AO CRIAR AS ADIÇÕES DA DI,NÃO LEVA DADOS DA PASTA CÂMBIO AUTOMATICAMENTE

Sintoma

Ao criar as adições da DI,não leva dados da pasta câmbio automaticamente

 

 

Solução

Fazer tratamento para carregar dados na DI ao criar e quebrar as adições

 

Versões Tratadas

8.0

Informações Complementares

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

Nota Número 10673 Data: 20/10/2010 Hora: 15:52:35

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

 

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

Nota Número              : 10673

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00005

Agrupamento              : 00044

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

AO CRIAR AS ADIÇÕES DA DI,NÃO LEVA DADOS DA PASTA CÂMBIO AUTOMATICAMENTE

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

Palavras Chave:

DI - ADIÇÕES - PASTA CÂMBIO - DADOS AUTOMÁTICO

 

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

Objetos da nota:

REPS /PWS/MZYCI023F05

REPS /PWS/MZYCI023O01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F05

 

...

 

* >> Início da inclusão:

FORM load_cambio USING p_ebeln p_ebelp.

  TABLES : /pws/zycbt117,

   /pws/zycbt119,

   /pws/zycbt031,

   /pws/zycbt048,

   /pws/zycbt064,

   /pws/zycbt115.

  LOOP AT itab_zycit263 WHERE ebeln = p_ebeln

                        AND   ebelp = p_ebelp .

    LOOP AT itab_zycit006

    WHERE nrseq_pgfat = itab_zycit263-nrseq_pgfat

      AND   belnr_p    <> space.

      SELECT SINGLE * FROM /pws/zycbt117

           WHERE ebeln = p_ebeln

            AND status NE 'E'.                          "#EC CI_NOFIELD

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM /pws/zycbt119

          WHERE nrseq = itab_zycit006-nrseq_pgfat.

        IF sy-subrc EQ 0.

          SELECT SINGLE * FROM /pws/zycbt031

                 WHERE     bukrs = /pws/zycbt119-bukrs

                   AND mdcorresp = 'IP'

                   AND nrcorresp = /pws/zycbt119-nrseq

                   AND tabela    = '/PWS/ZYCBT119'.

          SELECT SINGLE * FROM /pws/zycbt048

                 WHERE bukrs = /pws/zycbt119-bukrs

                   AND mdcorresp = 'IP'

                   AND nrcorresp = /pws/zycbt119-nrseq.

          SELECT SINGLE * FROM /pws/zycbt115

                 WHERE nrcorrep = /pws/zycbt119-nrseq

                   AND tpdoc    = 'P'.

        ENDIF.

        IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

          itab_zycit121-moedanac = 'N'.

        ELSE.

          itab_zycit121-moedanac = 'S'.

        ENDIF.

        itab_zycit121-mandt         = sy-mandt.

        itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

        itab_zycit121-adicao        = wa_it-adicao.

        itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

        itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

        itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

        itab_zycit121-valor         = /pws/zycbt031-vlme.

        itab_zycit121-waers         = /pws/zycbt117-waers.

        itab_zycit121-tipo          = 'V'.

        IF NOT itab_zycit121-moedanac IS INITIAL OR

           itab_zycit121-contrato IS INITIAL OR

           itab_zycit121-banco    IS INITIAL OR

           itab_zycit121-praca    IS INITIAL.

          MODIFY itab_zycit121 TRANSPORTING mandt nrseqdi

                   adicao banco praca contrato valor waers tipo

                               WHERE nrseqdi  = /pws/zycie085-nrseqdi

                               AND   adicao   = wa_it-adicao

                               AND   tipo     = itab_zycit121-tipo

                               AND   moedanac = itab_zycit121-moedanac

                               AND   contrato = itab_zycit121-contrato

                               AND   banco    = itab_zycit121-banco

                               AND   praca    = itab_zycit121-praca .

          IF sy-subrc NE 0.

            APPEND itab_zycit121.

          ENDIF.

        ENDIF.

      ELSE.

        SELECT *

          FROM /pws/zycbt064

            UP TO 1 ROWS

         WHERE nrchave   = /pws/zycbt117-nrseq

           AND mdcorresp = 'IA'.

        ENDSELECT.

        IF sy-subrc EQ 0.

          SELECT *

            FROM /pws/zycbt048

              UP TO 1 ROWS

           WHERE nrseq = /pws/zycbt064-nrboleto

         AND mdcorresp = 'IA'

         AND nrcorresp = /pws/zycbt117-nrseq.

          ENDSELECT.

          SELECT *

            FROM  /pws/zycbt031

              UP TO 1 ROWS

            WHERE nrcorresp = /pws/zycbt117-nrseq

              AND mdcorresp = 'IA'.

          ENDSELECT.

          SELECT * FROM /pws/zycbt115

          UP TO 1 ROWS

          WHERE nrcorrep = /pws/zycbt117-nrfinanc.

          ENDSELECT.

        ENDIF.

        IF /pws/zycbt117-waers NE wa_zycbt007-waersb.

          itab_zycit121-moedanac = 'N'.

        ELSE.

          itab_zycit121-moedanac = 'S'.

        ENDIF.

        itab_zycit121-mandt         = sy-mandt.

        itab_zycit121-nrseqdi       = /pws/zycie085-nrseqdi.

        itab_zycit121-adicao        = wa_it-adicao.

        itab_zycit121-banco         = /pws/zycbt031-bcooper+5(5).

        itab_zycit121-praca         = /pws/zycbt048-praca+1(4).

        itab_zycit121-contrato      = /pws/zycbt048-nrcontr .

        itab_zycit121-valor         = /pws/zycbt031-vlme.

        itab_zycit121-waers         = /pws/zycbt117-waers.

        itab_zycit121-tipo           = 'A'.

        IF NOT itab_zycit121-moedanac IS INITIAL OR

           itab_zycit121-contrato IS INITIAL OR

           itab_zycit121-banco    IS INITIAL OR

           itab_zycit121-praca    IS INITIAL.

          MODIFY itab_zycit121 TRANSPORTING mandt nrseqdi

                   adicao banco praca contrato valor waers tipo

                   WHERE nrseqdi  = /pws/zycie085-nrseqdi

                               AND   adicao   = wa_it-adicao

                               AND   tipo     = itab_zycit121-tipo

                               AND   moedanac = itab_zycit121-moedanac

                               AND   contrato = itab_zycit121-contrato

                               AND   banco    = itab_zycit121-banco

                               AND   praca    = itab_zycit121-praca .

          IF sy-subrc NE 0.

            APPEND itab_zycit121.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

 

    ELSEIF itab_zycit003-fabric EQ '3'.

      PERFORM load_forn USING /pws/zycie006-lifnr '800'.

    ENDIF.

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

    PERFORM load_cambio USING wa_it-ebeln wa_it-ebelp .

* << Fim da inclusão

    PERFORM: load_cncm USING wa_it-j_1bnbm,

             load_pais USING wa_it-porigem CHANGING a_spais a_pais,

             load_pais USING /pws/zycie080-landa CHANGING a_spais1

 

...