CE PLUS - Nota 011123

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Associação Ordem de Pagamento

Data/Hora da Publicação: 27/04/2011 00:00:00

Data/Hora Última Alteração: 28/04/2011 14:14:12

Descrição da Nota: ASSOCIAÇÃO DE ORDENS DE PAGAMENTO, CRIAÇÃO DE EXIT

Sintoma

Criação de 2 Pontos de Exit no Programa /pws/sapmzycb035. Ponto de Exit para Criação da Associação e

para Estorno.

 

 

Solução

Criado os 2 Pontos de Exit no programa /pws/sapmzycb035, ponto de Exit para Criação da Associação e

para Estorno. Criado os Pontos ASOP003 e ASOP004.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ASSOCIAÇÃO DE ORDEM DE PAGAMENTO - PONTO DE EXIT

ASSOCIAÇAO DE ORDENS DE PAGAMENTO - PONTO DE EXIT

Informações Complementares

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

Nota Número 11123 Data: 27/04/2011 Hora: 16:25:28

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

 

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

Nota Número              : 11123

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00007

Agrupamento              : 00068

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

Referência às notas relacionadas:

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

 

10858  - 00001 - 8.0    - 00006  - ASSOCIAÇÃO DE ORDEM DE PAGAMENTO  - PONTO DE EXIT

10887  - 00002 - 8.0    - 00006  - ASSOCIAÇAO DE ORDENS DE PAGAMENTO - PONTO DE EXIT

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

ASSOCIAÇÃO DE ORDENS DE PAGAMENTO, CRIAÇÃO DE EXIT

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

Palavras Chave:

ASSOCIAÇÃO DE ORDENS DE PAGAMENTO, EXIT

 

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

Objetos da nota:

REPS /PWS/MZYCB035F02

REPS /PWS/MZYCB035F03

REPS /PWS/MZYCB035T01

REPS /PWS/MZYCB035TOP

REPS /PWS/MZYCB035X01

 

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

Modificações efetuadas em REPS /PWS/MZYCB035F02

 

...

            inconsistent_range_severity = 2

            OTHERS                      = 3.

  IF sy-subrc <> 0.

    EXIT.

  ENDIF.

ENDFORM.

FORM bloqueia_contas.

  CONSTANTS

    c_conta_cliente TYPE koart VALUE 'D'.

  DATA:

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

    itab_zycbe224 TYPE t_t_zycbe224,

* << Fim da exclusão

    wa_zycbe224   LIKE LINE OF itab_zycbe224,

    v_saldo       LIKE /pws/zycbe227a-vlsltrans.

  FIELD-SYMBOLS:

    <fs_zycbe224>  LIKE LINE OF itab_zycbe224,

    <fs_zycbt209>  LIKE LINE OF itab_zycbt209,

    <fs_zycbt226>  LIKE LINE OF itab_zycbt226,

    <fs_zycbt228a> LIKE LINE OF itab_zycbt228a.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  wa_zycbe224-mandt = sy-mandt.

  wa_zycbe224-modo  = c_modo_bloqueio.

  IF wa_controle-processo = c_flag_embarque.

    v_saldo = /pws/zycbe227a-vlsltrans.

    LOOP AT itab_zycbt209 ASSIGNING <fs_zycbt209>.

      CHECK <fs_zycbt209>-saldo > 0.

      PERFORM verifica_conta_itab_zycbe224

        USING

          <fs_zycbt209>-bukrs

          <fs_zycbt209>-koart

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB035F03

 

...

  using

    value(p_nrseq) type t_s_zycbt228a-nrseq

    value(p_gjahr) type t_s_zycbt228a-gjahr

    value(p_parid) type t_s_zycbt228a-parid

  changing

    p_saldo  type t_s_zycbt227-vlr_associado.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv,

    v_saldo       type t_s_zycbt209-saldo,

    v_zuonr       type /pws/zycbt036-zuonr.

  field-symbols:

    <fs_zycbt209> like line of itab_zycbt209,

    <fs_belnr>    type /pws/zycbe033-belnr,

    <fs_bldat>    type d,

    <fs_budat>    type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  check wa_controle-processo = c_flag_embarque.

  assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

    /pws/zycbe227a-budat to <fs_budat>.

  loop at itab_zycbt209 assigning <fs_zycbt209>.

    check <fs_zycbt209>-saldo > 0.

    if <fs_zycbt209>-saldo > p_saldo.

      v_saldo = p_saldo.

    else.

      v_saldo = <fs_zycbt209>-saldo.

    endif.

...

 

...

form efetua_desmemb_cliente

  using

    value(p_nrseq) type t_s_zycbt228a-nrseq

    value(p_gjahr) type t_s_zycbt228a-gjahr

    value(p_saldo) type t_s_zycbt227-vlr_associado

    value(p_parid) type t_s_zycbt228a-parid.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbt209   like line of itab_zycbt209,

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv,

    v_zuonr       type /pws/zycbt036-zuonr,

    v_data        type d,

    v_mensagem    type /pws/zycbt032-msg.

  field-symbols:

    <fs_belnr>   type /pws/zycbe033-belnr,

    <fs_bldat>   type d,

    <fs_budat>   type d,

    <fs_codmod>  like c_codmod,

    <fs_ktosl>   type /pws/zyglt321-ktosl,

    <fs_codeven> type /pws/zyglt321-codeven.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  if wa_controle-processo = c_flag_embarque.

    concatenate /pws/zycbe227a-nrinvoic /pws/zycbe227a-nrparcf

      /pws/zycbe227a-gsberf into v_cpochv.

    concatenate /pws/zycbe227a-nrinvoic /pws/zycbe227a-nrparcf

      /pws/zycbe227a-gsberf 'A' into v_zuonr.

    assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

      /pws/zycbe227a-budat to <fs_budat>,

      c_codmod             to <fs_codmod>,

      c_ktosl_cliente      to <fs_ktosl>,

      c_codeven_cliente    to <fs_codeven>.

...

 

...

    endloop.

    free wa_mensagem.

  endif.

endform.

form efetua_desmemb_ordem_pagto

  using value(p_wa_zycbt228a) like line of itab_zycbt228a.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbt209   like line of itab_zycbt209,

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv,

    v_zuonr       type /pws/zycbt036-zuonr,

    v_data        type d.

  field-symbols:

    <fs_zycbt226> like line of itab_zycbt226,

    <fs_belnr>    type /pws/zycbe033-belnr,

    <fs_bukrs>    type /pws/zycbe033-bukrs,

    <fs_bldat>    type d,

    <fs_budat>    type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  if wa_controle-processo = c_flag_embarque.

    assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

      /pws/zycbe227a-budat to <fs_budat>,

      /pws/zycbe227a-bukrs to <fs_bukrs>.

  else.

    assign: /pws/zycbe229a-dtassoc to <fs_bldat>,

      /pws/zycbe229a-budat to <fs_budat>,

      /pws/zycbe229a-bukrs to <fs_bukrs>.

  endif.

  v_cpochv = p_wa_zycbt228a-nrseq.

...

 

...

        p_wa_zycbt228a-vlr_associado

        wa_zycbt209

        p_wa_zycbt228a-nrseq

      changing itab_zycbe224.

  endif.

  perform preenche_zycbe036_desmemb

    using

      v_cpochv

      p_wa_zycbt228a-vlr_associado

      v_zuonr.

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

  perform executa_exit using 'ASOP003'.

* << Fim da inclusão

  if itab_zycbt034 is initial.

    perform executa_f30 using 'P' 'X' itab_zycbe224.

    free itab_zycbe224.

    wa_mensagem-bukrs = <fs_bukrs>.

    wa_mensagem-nrseq = p_wa_zycbt228a-nrseq.

    perform verifica_contabilizacao

      using

        c_f30

        c_zycbt228

        v_cpochv

...

 

...

    endloop.

    free wa_mensagem.

  endif.

endform.

form efetua_comp_associacao

  using value(p_wa_zycbt228a) like line of itab_zycbt228a.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbt209   like line of itab_zycbt209,

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv,

    v_data        type d.

  field-symbols:

    <fs_bldat>    type d,

    <fs_budat>    type d,

    <fs_codmod>   like c_codmod,

    <fs_ktosl>    type /pws/zyglt321-ktosl,

    <fs_codeven>  type /pws/zyglt321-codeven.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  if wa_controle-processo = c_flag_embarque.

    concatenate /pws/zycbe227a-nrinvoic /pws/zycbe227a-nrparcf

      /pws/zycbe227a-gsberf into v_cpochv.

    assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

      /pws/zycbe227a-budat to <fs_budat>,

      c_codmod             to <fs_codmod>,

      c_ktosl_associa      to <fs_ktosl>.

    if sy-tcode+13(3) ne 'SML'.

      assign: c_codeven_associa     to <fs_codeven>.

    elseif sy-tcode+13(3) eq 'SML'.

...

 

...

endform.

form efetua_estorno_associacao

  using

    value(p_nrseq) type t_s_zycbt228a-nrseq

    value(p_belnr) type t_s_zycbt228a-belnr.

  constants:

    c_fbra     type /pws/zycbt032-tcode  value 'FBRA',

    c_fb08     type /pws/zycbt032-tcode  value 'FB08',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv.

  field-symbols:

    <fs_bldat> type d,

    <fs_budat> type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  if wa_controle-processo = c_flag_embarque.

...

 

...

    endif.

  endif.

endform.

form efetua_clearing_ordem_pagto

  using value(p_wa_zycbt228a) like line of itab_zycbt228a.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228',

    c_koart    type t_s_zycbe224-koart   value 'D'.

  data:

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

    itab_zycbe224   type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbe224     like line of itab_zycbe224,

    wa_zycbt209     like line of itab_zycbt209,

    wa_mensagem     like line of itab_mensagem,

    v_cpochv        type /pws/zycbe033-cpochv,

    v_zuonr         type /pws/zycbt036-zuonr,

    v_vlr_associado type t_s_zycbt228-vlr_associado.

  field-symbols:

    <fs_zycbt226> like line of itab_zycbt226,

    <fs_zycbt228> like line of itab_zycbt228,

    <fs_zycbt230> like line of itab_zycbt230,

    <fs_bukrs>    type /pws/zycbe227a-bukrs,

    <fs_bldat>    type d,

    <fs_budat>    type d,

    <fs_belnr>    type belnr_d,

    <fs_dtdocto>  type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  check not p_wa_zycbt228a is initial.

  if wa_controle-processo = c_flag_embarque.

    read table itab_zycbt228

      with key

        nrseq    = p_wa_zycbt228a-nrseq

        tp_docto = c_tp_desm_ordem

      assigning <fs_zycbt228>.

    check <fs_zycbt228> is assigned.

    v_vlr_associado = <fs_zycbt228>-vlr_associado.

    assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

...

 

...

        <fs_dtdocto>

        v_vlr_associado.

  endif.

  if itab_zycbt034 is initial.

    wa_zycbe224-mandt = sy-mandt.

    wa_zycbe224-modo  = c_modo_bloqueio.

    wa_zycbe224-bukrs = <fs_bukrs>.

    wa_zycbe224-koart = c_koart.

    wa_zycbe224-saknr = <fs_zycbt226>-kunag.

    append wa_zycbe224 to itab_zycbe224.

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

    perform executa_exit using 'ASOP004'.

* << Fim da inclusão

    perform executa_f30 using 'C' 'X' itab_zycbe224.

    free itab_zycbe224.

    wa_mensagem-bukrs    = <fs_bukrs>.

    wa_mensagem-nrseq    = p_wa_zycbt228a-nrseq.

    perform verifica_contabilizacao

      using

        c_f30

        c_zycbt228

        v_cpochv

        'Clearing do cliente RZE (Ordem de pagamento)'(m44)

...

 

...

    free wa_mensagem.

  endif.

endform.

form efetua_clearing_cliente

  using value(p_wa_zycbt228a) like line of itab_zycbt228a.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228',

    c_koart    type t_s_zycbe224-koart   value 'D'.

  data:

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

    itab_zycbe224   type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbe224     like line of itab_zycbe224,

    wa_zycbt209     like line of itab_zycbt209,

    wa_mensagem     like line of itab_mensagem,

    v_cpochv        type /pws/zycbe033-cpochv,

    v_zuonr         type /pws/zycbt036-zuonr,

    v_vlr_associado type t_s_zycbt228a-vlr_associado,

    v_mensagem      type /pws/zycbt032-msg.

  field-symbols:

    <fs_zycbt228>      like line of itab_zycbt228,

    <fs_zycbt230>      like line of itab_zycbt230,

...

 

...

    <fs_ktosl>         type /pws/zyglt321-ktosl,

    <fs_codeven>       type /pws/zyglt321-codeven,

    <fs_bldat>         type d,

    <fs_budat>         type d,

    <fs_bukrs>         type /pws/zycbe227a-bukrs,

    <fs_kunnr>         type /pws/zycbe227a-kunag,

    <fs_belnr_orig>    type belnr_d,

    <fs_dtdocto_orig>  type d,

    <fs_belnr_proc>    type belnr_d,

    <fs_dtdocto_proc>  type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  check not p_wa_zycbt228a is initial.

  if wa_controle-processo = c_flag_embarque.

    read table itab_zycbt228

      with key

        nrinvoic = /pws/zycbe227a-nrinvoic

        nrparcf  = /pws/zycbe227a-nrparcf

        gsberf   = /pws/zycbe227a-gsberf

        nrseq    = p_wa_zycbt228a-nrseq

        tp_docto = c_tp_desm_cliente

      assigning <fs_zycbt228>.

...

 

...

    endloop.

    free wa_mensagem.

  endif.

endform.

form efetua_clearing_liq_and

  using value(p_wa_zycbt228a) like line of itab_zycbt228a.

  constants:

    c_f30      type /pws/zycbt032-tcode  value 'F-30',

    c_zycbt228 type /pws/zycbt032-tabela value 'ZYCBT228'.

  data:

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

    itab_zycbe224 type t_t_zycbe224,

* << Fim da exclusão

    wa_zycbe224   like line of itab_zycbe224,

    wa_mensagem   like line of itab_mensagem,

    v_cpochv      type /pws/zycbe033-cpochv,

    v_zuonr       type /pws/zycbt036-zuonr.

  field-symbols:

    <fs_zycbt209> like line of itab_zycbt209,

    <fs_zycbt228> like line of itab_zycbt228,

    <fs_bldat>    type d,

    <fs_budat>    type d.

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

  clear:   itab_zycbe224.

  refresh: itab_zycbe224.

* << Fim da inclusão

  check wa_controle-processo = c_flag_embarque.

  check not p_wa_zycbt228a is initial.

  assign: /pws/zycbe227a-dtassoc to <fs_bldat>,

    /pws/zycbe227a-budat to <fs_budat>.

  v_cpochv = p_wa_zycbt228a-nrseq.

  loop at itab_zycbt209 assigning <fs_zycbt209>.

    read table itab_zycbt228

      with key

        nrinvoic = <fs_zycbt209>-nrinvoic

        nrparcf  = <fs_zycbt209>-nrparcf

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB035T01

 

...

DATA:

  itab_kna1       TYPE t_t_kna1,

  itab_j_1bbranch TYPE t_t_j_1bbranch,

  itab_adrc       TYPE t_t_adrc,

  itab_t001w      TYPE t_t_t001w,

  itab_t001       TYPE t_t_t001,

  itab_zycbt007   TYPE t_t_zycbt007,

  itab_zycbt089   TYPE t_t_zycbt089,

  itab_zycbt009   TYPE t_t_zycbt009,

  itab_zycbt011   TYPE t_t_zycbt011,

* >> Início da exclusão:

  itab_zycbt032   TYPE t_t_zycbt032,

  itab_zycbe033   TYPE t_t_zycbe033,

  itab_zycbt034   TYPE t_t_zycbt034,

  itab_zycbt036   TYPE t_t_zycbt036,

  itab_partidas   TYPE t_t_zycbe033,

* << Fim da exclusão

  itab_zycbt039   TYPE t_t_zycbt039,

  itab_zycet048   TYPE t_t_zycet048,

  itab_zycit054   TYPE t_t_zycit054,

  itab_zyglt100   TYPE t_t_zyglt100,

  itab_zyglt321   TYPE t_t_zyglt321.

 

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

Modificações efetuadas em REPS /PWS/MZYCB035TOP

 

program  /pws/sapmzycb035 message-id /pws/zycbm.

type-pools:

  shlp.

include:

  /pws/zygli100,

  /pws/zygli101,

  /pws/mzycb035t01,

* >> Início da exclusão:

  /pws/mzycb035t02.

* << Fim da exclusão

* >> Início da inclusão:

  /pws/mzycb035t02,

  /pws/mzycb035x01.

* << Fim da inclusão

constants:

  c_codmod(1)           type c                      value 'E',

  c_codmod_remessa(1)   type c                      value 'F',

  c_programa            type sy-cprog          value '/PWS/SAPMZYCB035',

  c_embarque            type feld-name              value 'EMBARQUE',

  c_remessa             type feld-name              value 'REMESSA',

  c_flag_embarque(1)    type c                      value 'E',

  c_flag_remessa(1)     type c                      value 'R',

  c_transacao_a         type sy-tcode          value '/PWS/ZYCB035_A',

  c_transacao_c         type sy-tcode          value '/PWS/ZYCB035_C',

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB035X01

 

* >> Início da inclusão:

data: begin of common part c.

data:

  itab_zycbt032   type t_t_zycbt032,

  itab_zycbe033   type t_t_zycbe033,

  itab_zycbt034   type t_t_zycbt034,

  itab_zycbt036   type t_t_zycbt036,

  itab_partidas   type t_t_zycbe033,

  itab_zycbe224   type t_t_zycbe224.

data: end of common part.

* << Fim da inclusão