CE PLUS - Nota 008831

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Vinculação

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

Data/Hora Última Alteração: 11/03/2010 11:11:25

Descrição da Nota: VINCULAÇÃO DE FATURAS EXPORTAÇÃO

Sintoma

 

Incluir no botão selecionar fatura da Vinculação a opção de Referencia da Ordem.

 

Solução

 

Realizado Desenvolvimento.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 08831 Data: 14/08/2009 Hora: 10:04:54

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

 

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

Nota Número              : 08831

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00010

Agrupamento              : 00109

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

VINCULAÇÃO DE FATURAS EXPORTAÇÃO

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

Palavras Chave:

VINCULAÇÃO, FATURAS, EXPORTAÇÃO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCB009                        0200

FUNC /PWS/ZYCBA295

REPS /PWS/LZYCBGF3UXX

REPS /PWS/MZYCB009F05

REPS /PWS/MZYCB009I01

REPS /PWS/MZYCB009O01

REPS /PWS/MZYCB009TOP

REPT /PWS/SAPMZYCB009

SHLP /PWS/ZYCBA295

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB009                        0200

 

**********************************************************

*  PEDIR O ARQUIVO DA TELA 0200 PARA UPLOAD NO PROGRAMA  *

**********************************************************

 

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

Modificações efetuadas em FUNC /PWS/ZYCBA295

 

* >> Início da inclusão:

FUNCTION /PWS/ZYCBA295.

  type-pools:

    shlp.

  types:

    begin of t_s_dados,

      ref_ordem    type /pws/zycbt209-ref_ordem,

    end of t_s_dados,

    t_t_dados type standard table of t_s_dados.

  data:

    itab_dados    type t_t_dados with header line,

    wa_dados      like line of itab_dados,

    v_tabix       type sy-tabix,

    v_fieldname   type dfies-lfieldname.

  data: begin of itab_zycbt209 occurs 0,

        ref_ordem    type /pws/zycbt209-ref_ordem,

  end of itab_zycbt209.

  data: begin of t_konth occurs 0,

        ref_ordem    type /pws/zycbt209-ref_ordem,

  end of t_konth.

  field-symbols:

    <fs_shlp>       like line of shlp_tab,

    <fs_fielddescr> like line of shlp_tab-fielddescr,

    <fs_dados>      like line of itab_dados.

  if  callcontrol-step eq 'DISP'.

    read table shlp_tab index 1 assigning <fs_shlp>.

    check <fs_shlp> is assigned.

    loop at <fs_shlp>-fielddescr assigning <fs_fielddescr>.

      check: <fs_fielddescr>-fieldname = 'REF_ORDEM'.

      v_fieldname = <fs_fielddescr>-fieldname.

      call function 'F4UT_PARAMETER_VALUE_GET'

           exporting

                parameter         = <fs_fielddescr>-fieldname

                fieldname         = v_fieldname

           tables

                shlp_tab          = shlp_tab

                record_tab        = record_tab

                results_tab       = itab_dados

           changing

                shlp              = shlp

                callcontrol       = callcontrol

           exceptions

                parameter_unknown = 1

                others            = 2.

    endloop.

    unassign: <fs_shlp>, <fs_fielddescr>.

    select ref_ordem from /pws/zycbt209

    into table itab_zycbt209

    where ref_ordem ne ' '.

    if sy-subrc = 0.

      sort itab_zycbt209 by ref_ordem.

      delete adjacent duplicates from itab_zycbt209 comparing ref_ordem.

    endif.

    loop at itab_zycbt209.

         t_konth-ref_ordem   =  itab_zycbt209-ref_ordem.

         append t_konth.

    endloop.

    record_tab[] = t_konth[].

  endif.

ENDFUNCTION.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF3UXX

 

...

INCLUDE /PWS/LZYCBGF3U75.

INCLUDE /PWS/LZYCBGF3U76.

INCLUDE /PWS/LZYCBGF3U77.

INCLUDE /PWS/LZYCBGF3U78.

INCLUDE /PWS/LZYCBGF3U79.

INCLUDE /PWS/LZYCBGF3U80.

INCLUDE /PWS/LZYCBGF3U81.

INCLUDE /PWS/LZYCBGF3U82.

INCLUDE /PWS/LZYCBGF3U83.

INCLUDE /PWS/LZYCBGF3U84.

* >> Início da inclusão:

INCLUDE /PWS/LZYCBGF3U85.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB009F05

 

...

      perform move_saldo.

    endif.

  endif.

endform.

form selecionar_zycbt017.

  data: v_nlin type i value is initial.

  if sy-ucomm eq 'CRET'.

    free:   itab_zycbt017_aux, itab_nrinvoic, itab_gsberf  , itab_fkdat,

            itab_kunag       , itab_dtvencto, itab_dtbl    , itab_inco1,

            itab_nrre        , itab_nrsd.

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

    free:   itab_zycbt209_aux.

    if not refe[] is initial.

* << Fim da inclusão

    select *

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

          into table itab_zycbt209_aux

          from /pws/zycbt209

         where ref_ordem in refe.

       if not itab_zycbt209_aux[] is initial.

          select *

* << Fim da inclusão

       into table itab_zycbt017_aux

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

           from /pws/zycbt017

            for all entries in itab_zycbt209_aux

          where nrinvoic = itab_zycbt209_aux-nrinvoic

            and nrparcf  = itab_zycbt209_aux-nrparcf

            and gsberf   = itab_zycbt209_aux-gsberf

            and vlslf    > 0.

       endif.

    endif.

    if not nrin[] is initial  or  not gsbe[] is initial  or

       not fkda[] is initial  or  not kuna[] is initial  or

       not dtve[] is initial  or  not dtbl[] is initial  or

       not inco[] is initial  or  not nrre[] is initial  or

       not nrsd[] is initial.

       select *

       appending table itab_zycbt017_aux

* << Fim da inclusão

       from /pws/zycbt017

        where nrinvoic in nrin

          and gsberf   in gsbe

          and fkdat    in fkda

          and kunag    in kuna

          and dtvencto in dtve

          and dtbl     in dtbl

          and inco1    in inco

          and nrre     in nrre

          and nrsd     in nrsd

          and vlslf    gt 0

          and fvinc    eq space

       and status   eq space.

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

    endif.

    sort itab_zycbt017_aux by nrinvoic nrparcf gsberf.

    delete adjacent duplicates from itab_zycbt017_aux

                    comparing nrinvoic nrparcf gsberf.

* << Fim da inclusão

    describe table itab_zycbt017_aux lines v_nlin.

    loop at itab_zycbt017_aux.

      itab_zycbt017_aux-v_fsaldo = 'X'.

      modify itab_zycbt017_aux index sy-tabix.

     if /pws/zycbt007-waersb eq /pws/zycbe001-waers.

       if itab_zycbt017_aux-waers ne /pws/zycbe001-waers.

         MESSAGE w061 WITH text-503 text-504

                           itab_zycbt017_aux-NRINVOIC text-505 .

       endif.

       if itab_zycbt017_aux-bukrs ne /pws/zycbe001-bukrs.

          MESSAGE w061 WITH text-503 text-504

                           itab_zycbt017_aux-NRINVOIC text-506 .

       endif.

     endif.

    endloop.

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

    clear: refe,

           nrin,

           gsbe,

           fkda,

           kuna,

           dtve,

           dtbl,

           inco,

           nrre,

           nrsd.

    refresh: refe,

             nrin,

             gsbe,

             fkda,

             kuna,

             dtve,

             dtbl,

             inco,

             nrre,

             nrsd.

* << Fim da inclusão

    if v_nlin is initial.

      message w015 with text-058.

    else.

      leave to screen '0100'.

    endif.

  endif.

endform.

form set_screen_0301.

  set pf-status '0300'.

  set titlebar '300'.

...

 

...

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

      if v_re = 'X' and screen-group1 = 'NRE'.

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

      if v_sd = 'X' and screen-group1 = 'NRS'.

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

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

      if v_ref_ordem = 'X' and screen-group1 = 'REF'.

* << Fim da inclusão

        screen-invisible = '0'.

        screen-input = '1'.

        modify screen.

      endif.

    endif.

  endloop.

endform.

form calcula_saldos_2.

  data:

  v_vldif  like /pws/zycbe005-vlslf,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009I01

 

...

endmodule.

module altera_itab_zycbt005 input.

  perform altera_itab_zycbt005.

  perform altera_desvincula.

endmodule.

module user_command_0200 input.

  case ok_code.

    when 'EXEC'.

      if  v_inco1 = ' ' and  v_nrinvoic = ' ' and  v_gsberf = ' ' and

          v_kunag = ' ' and  v_dtvencto = ' ' and  v_fkdat  = ' ' and

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

          v_dtbl  = ' ' and  v_re       = ' ' and  v_sd     = ' '.

* << Fim da exclusão

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

          v_dtbl  = ' ' and  v_re       = ' ' and  v_sd     = ' ' and

          v_ref_ordem = ' '.

* << Fim da inclusão

        message w015 with text-057.

      else.

        perform limpa_selecao.

        call selection-screen 0301.

      endif.

    when 'MARC'.

      v_nrinvoic = 'X'.

      v_gsberf = 'X'.

      v_fkdat = 'X'.

      v_kunag = 'X'.

      v_dtvencto = 'X'.

      v_dtbl = 'X'.

      v_inco1 = 'X'.

      v_re = 'X'.

      v_sd = 'X'.

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

      v_ref_ordem = 'X'.

* << Fim da inclusão

    when 'DESM'.

      v_nrinvoic = ' '.

      v_gsberf = ' '.

      v_fkdat = ' '.

      v_kunag = ' '.

      v_dtvencto  = ' '.

      v_dtbl = ' '.

      v_inco1 = ' '.

      v_re = ' '.

      v_sd = ' '.

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

      v_ref_ordem = ' '.

* << Fim da inclusão

  endcase.

endmodule.

module selecionar_zycbt017 input.

  data: v_nlin type i value is initial.

  if ok_code eq 'EXEC'.

    free:   itab_zycbt017_aux, itab_nrinvoic, itab_gsberf,

            itab_fkdat, itab_kunag, itab_dtvencto,

            itab_dtbl, itab_inco1, itab_nrre, itab_nrsd.

    if not /pws/zycbe017-nrinvoic  is initial and

         /pws/zycbe017a-nrinvoic is initial.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009O01

 

...

  if ok_code <> 'MARC' and ok_code <> 'DESM'.

    v_nrinvoic = ' '.

    v_gsberf = ' '.

    v_fkdat = ' '.

    v_kunag = ' '.

    v_dtvencto  = ' '.

    v_dtbl = ' '.

    v_inco1 = ' '.

    v_re = ' '.

    v_sd = ' '.

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

    v_ref_ordem = ' '.

* << Fim da inclusão

  endif.

endmodule.

module guarda_faturas_tc output.

  move itab_zycbt005[]  to itab_zycbt005_aux[].

  move itab_zycbt005[]  to itab_zycbt005_parid[].

  loop at itab_zycbt005_aux where waers ne /pws/zycbe001-waers.

    if not itab_zycbt005_aux-vlme_p is initial and

           itab_zycbt005_aux-parid  is initial and

           itab_zycbt005_aux-vlvinc is initial and

           itab_zycbt005_aux-waers  ne itab_zycbt005_aux-waers_c.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB009TOP

 

...

   /pws/zycbt209,

   /pws/zyglt364,

   j_1bbranch,

   adrc,

   /pws/zycbt220,

   /pws/zycbe223,

   /pws/zycbe074,

   /pws/zycbt031,

   /pws/zycbt044,

   /pws/zyglt009,

* >> Início da exclusão:

   /pws/zycbt169.

* << Fim da exclusão

* >> Início da inclusão:

   /pws/zycbt169,

   /pws/zycbe209.

* << Fim da inclusão

 tables: /pws/zyglt320.

 tables: /pws/zycbe226,

         /pws/zycbt226.

 data: begin of s_recurso,

        nrinvoic   type /pws/zycbt017-nrinvoic,

        gsberf     type /pws/zycbt017-gsberf,

        nrparcf    type /pws/zycbt017-nrparcf,

        bukrs      type /pws/zycbt017-bukrs,

        kunag      type /pws/zycbt017-kunag,

        waers      type /pws/zycbt017-waers,

...

 

...

          option(2) type c,

          low       like /pws/zycbe017-nrre,

          high      type /pws/zycbe017-nrre,

        end of itab_nrre.

 data:  begin of itab_nrsd occurs 1,

          sign(1)   type c,

          option(2) type c,

          low       like /pws/zycbe017-nrsd,

          high      like /pws/zycbe017a-nrsd,

        end of itab_nrsd.

* >> Início da inclusão:

 data:  begin of itab_ref_ord occurs 1,

          sign(1)   type c,

          option(2) type c,

          low       like /pws/zycbe209-ref_ordem,

          high      like /pws/zycbe209-ref_ordem,

        end of itab_ref_ord.

 data: begin of itab_zycbt209_aux occurs 0.

         include structure /pws/zycbt209.

 data: end of itab_zycbt209_aux.

* << Fim da inclusão

 .

 data: itab_zycbt012  like /pws/zycbt012 occurs 10 with header line.

data: itab_zycbt012_trans like /pws/zycbt012 occurs 10 with header line.

 data: itab_zycbt002j like /pws/zycbt002 occurs 10 with header line.

data: itab_zycbt002p_vinc like /pws/zycbt002 occurs 10 with header line.

 data: begin of itab_acertof30 occurs 0.

 data: nrseqc      type /pws/zycbt002-nrseqc,

       nrparc      type /pws/zycbt002-nrparc,

       tpparc      type /pws/zycbt002-tpparc,

       slvinc      type /pws/zycbt002-slvinc,

...

 

...

   v_nrinvoic      value space,

   v_re            value space,

   v_nrre_ate      like /pws/zycbe017-nrre,

   v_sd            value space,

   v_gsberf        value space,

   v_fkdat         value space,

   v_kunag         value space,

   v_dtvencto      value space,

   v_dtbl          value space,

   v_inco1         value space,

* >> Início da inclusão:

   v_ref_ordem     value space,

* << Fim da inclusão

   v_tpcontrdescr  like /pws/zycbt016-txtdesc,

  v_negdescr      like lfa1-name1,

  v_findescr      like lfa1-name1,

   v_msg(100)      type c,

   v_estornopdd(1) type c,

   v_tstwaers(1)   type c,

   v_msg1(100)     type c,

   v_msg2(100)     type c,

   v_encontrou(1)  type c,

  v_ind_pro       type c,

...

 

...

         nrin for /pws/zycbe017-nrinvoic modif id fat

              matchcode object /pws/zycba068,

         gsbe for /pws/zycbe017-gsberf   modif id div,

         dtbl for /pws/zycbe017-dtbl     modif id dbl,

         fkda for /pws/zycbe017-fkdat    modif id dft,

         kuna for /pws/zycbe017-kunag    modif id cli

                       matchcode object debia,

         dtve for /pws/zycbe017-dtvencto modif id dv,

         inco for /pws/zycbe017-inco1    modif id inc,

         nrre for /pws/zycbe017-nrre     modif id nre,

* >> Início da exclusão:

         nrsd for /pws/zycbe017-nrsd     modif id nrs.

* << Fim da exclusão

* >> Início da inclusão:

         nrsd for /pws/zycbe017-nrsd     modif id nrs,

         refe for /pws/zycbe209-ref_ordem modif id ref

              matchcode object /PWS/ZYCBA295.

* << Fim da inclusão

 selection-screen end of screen 0301  .

 at selection-screen output.

   perform set_screen_0301.

 at selection-screen.

   perform selecionar_zycbt017.

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB009

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): REFE

 

Texto: (17 caracteres)

"Ref Ordem"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em SHLP /PWS/ZYCBA295

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCBA295

DESCRIÇÃO BREVE: CB - Ref. Ordem da Liquidação em Andamento

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: _______________________

 

COMPORTAMENTO DE DIÁLOGO:

TIPO DE DIÁLOGO: Exibição de valores imediata

HOT KEY: ____

 

EXIT AJUD. PESQUISA: /PWS/ZYCBA295

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL ISEL EXAJ ELEM. DADOS     MOD  VALOR PROPOSTO

 

REF_ORDEM  X   X  1    1         /PWS/ZYGLL1147

 

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