CE PLUS - Nota 003292

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Captação

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

Data/Hora Última Alteração: 10/03/2010 14:35:32

Descrição da Nota: CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM

Sintoma

 

Inserir ponto de exit que permita retirar a consistência da ordem de venda, onde a mesma não pode

ser associada a mais de um contrato de DP.

Inserir ponto de exit que permita alterar o batch-input F-29, permitindo inserir novos campos no

mapeamento.

 

Solução

 

Ponto de exit CPT012 referete a consistência da ordem de venda.

IMPORTANTE: ao gerar o programa deste tratamento, não deixar de inserir todas consistências que

existem no standard, retirando apenas as necessárias.

 

Ponto de exit CPT013 referente a alteração no mapeamento da F-29/nova função de contabilização.

Versões Tratadas

6.0

Informações Complementares

 

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

Nota Número 03292 Data: 21/03/2007 Hora: 15:59:39

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

 

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

Nota Número              : 03292

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00156

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

CAPTAÇÃO - DP - PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM

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

Palavras Chave:

CAPTAÇÃO DP PONTO DE EXIT F-29 E CONSITÊNCIA ORDEM

CPT012 CPT013

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

Objetos da nota:

REPS /PWS/MZYCB001F01

REPS /PWS/MZYCB001TOP

REPS /PWS/MZYCB001X01

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F01

 

...

        APPEND wa_zycbt221_aux.

      ENDIF.

    ENDLOOP.

  ENDIF.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[]     IS INITIAL.

    PERFORM executa_exit_cliente USING 'CPT011'.

    IF /pws/zycbe001-tpcontr+0(1) = 'D'.

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

      v_repid = sy-repid.

      CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

           EXPORTING

                i_codmod                = 'E'

                i_func                  = v_repid

           TABLES

                itab_zyglt100           = itab_zyglt100

           EXCEPTIONS

                i_codmod_nao_encontrado = 1

                i_func_nao_encontrado   = 2

                i_zexit_nao_encontrado  = 3

                OTHERS                  = 4.

      READ TABLE itab_zyglt100 WITH KEY zexit = 'CPT013'.

      IF sy-subrc EQ 0.

        PERFORM (itab_zyglt100-formulario)

                IN PROGRAM (itab_zyglt100-programa).

      ELSE.

* << Fim da inclusão

      IF NOT wa_zycbt089-rateio_cl IS INITIAL.

        IF wa_zycbt221_aux IS INITIAL.

          MESSAGE i061 WITH text-414 text-415.

          EXIT.

        ENDIF.

        CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_29R'

             EXPORTING

                  v_modo     = v_modo_bi

             TABLES

                  t_dados     = itab_zycbe033

...

 

...

        CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_29'

             EXPORTING

                  v_modo     = v_modo_bi

             TABLES

                  t_dados    = itab_zycbe033

                  t_campo    = itab_zycbt034

                  t_zycbt032 = itab_zycbt032

             EXCEPTIONS

                  OTHERS     = 2.

      ENDIF.

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

      ENDIF.

* << Fim da inclusão

    ELSE.

      IF /pws/zycbt001-tpcontr(1) = 'P' OR

         /pws/zycbe001-tpcontr(1) = 'S'.

        CASE /pws/zycbe001-fdtlanc.

          WHEN 'O'.

            v_dtinicio = /pws/zycbe001-dtcontr.

          WHEN 'D'.

            v_dtinicio = /pws/zycbe001-dtdesem.

          WHEN OTHERS.

            v_dtinicio = /pws/zycbe001-dtcred.

...

 

...

        v_msg2(25).

  CLEAR:   itab_vbap.

  REFRESH: itab_vbap.

  CLEAR:   v_soma, v_itens, v_sub, v_pagador, v_tipo, v_moeda.

  IF wa_zycbt221[] IS INITIAL.

    LOOP AT itab_zycbt221.

      MOVE-CORRESPONDING itab_zycbt221 TO wa_zycbt221.

      APPEND wa_zycbt221.

    ENDLOOP.

  ENDIF.

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

  v_repid = sy-repid.

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

       EXPORTING

            i_codmod                = 'E'

            i_func                  = v_repid

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

  READ TABLE itab_zyglt100 WITH KEY zexit = 'CPT012'.

  IF sy-subrc EQ 0.

    PERFORM (itab_zyglt100-formulario)

            IN PROGRAM (itab_zyglt100-programa).

  ELSE.

* << Fim da inclusão

  READ TABLE wa_zycbt221 WITH KEY ordem = /pws/zycbe221-ordem.

  IF sy-subrc NE 0.

    CLEAR: wa_zycbt221, itab_zycbt221.

    SELECT vbeln posnr netwr waerk gsber prctr pstyv

           INTO TABLE itab_vbap

           FROM vbap

           WHERE vbeln EQ /pws/zycbe221-ordem.

    IF sy-subrc EQ 0.

      LOOP AT itab_vbap.

        v_idx = sy-tabix.

...

 

...

    MODIFY itab_zycbt221_ant TRANSPORTING vlr_rateio saldo_ov

      WHERE nrseqc EQ wa_zycbt221-nrseqc

        AND ordem  EQ wa_zycbt221-ordem

        AND item   EQ wa_zycbt221-item.

    IF wa_zycbt221-pagador NE /pws/zycbe001-kunnr.

      v_pagador = 1.

      v_ordem = itab_vbap-vbeln.

      DELETE wa_zycbt221.

    ENDIF.

  ENDLOOP.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM save_zycbt221.

  SELECT SINGLE nrseqc INTO /pws/zycbt221-nrseqc

         FROM /pws/zycbt221

         WHERE nrseqc = /pws/zycbe001-nrseqc.

  IF sy-subrc EQ 0.

    DELETE FROM /pws/zycbt221 WHERE nrseqc = /pws/zycbe001-nrseqc.

  ENDIF.

  LOOP AT itab_zycbt221.

    MOVE-CORRESPONDING itab_zycbt221 TO /pws/zycbt221.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001TOP

 

...

DATA: BEGIN OF itab_zyglt209_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt209.

DATA: mark(1),

      check(1).

DATA: END OF itab_zyglt209_aux.

DATA: BEGIN OF itab_excluido OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt209.

DATA: mark(1),

      check(1).

DATA: END OF itab_excluido.

* >> Início da exclusão:

DATA: BEGIN OF itab_zycbt034 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt034.

DATA: END OF itab_zycbt034.

* << Fim da exclusão

DATA: BEGIN OF itab_zycbt002p_ant OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt002.

DATA: mark(1).

DATA: END OF itab_zycbt002p_ant.

DATA: BEGIN OF itab_zycbt002p_exc OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt002.

DATA: mark(1).

DATA: END OF itab_zycbt002p_exc.

TYPES  BEGIN OF t_comissao.

        INCLUDE STRUCTURE /pws/zycbt002.

...

 

...

        WITH HEADER LINE,

      itab_zycbt134_comissao

        TYPE STANDARD TABLE OF t_zycbt134_comissao

        WITH HEADER LINE,

      wa_comissao    TYPE t_comissao,

      v_vltotcomis   LIKE /pws/zycbe001-vltotjur.

DATA: itab_zyglt100

        TYPE STANDARD TABLE OF /pws/zyglt100 WITH HEADER LINE.

DATA:

      itab_zycbt002_aux LIKE /pws/zycbt002 OCCURS 10 WITH HEADER LINE,

* >> Início da exclusão:

      itab_zycbt032  LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,

* << Fim da exclusão

      itab_zycbt013  LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,

      itab_zycbt012  LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE,

      itab_zycbt036      LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE.

DATA: BEGIN OF itab_pf_status OCCURS 10,

        fcode LIKE rsmpe-func,

      END OF itab_pf_status.

DATA: itab_zycbt010 LIKE /pws/zycbt010 OCCURS 5 WITH HEADER LINE.

* >> Início da exclusão:

DATA: wa_zycbt089 LIKE /pws/zycbt089.

* << Fim da exclusão

DATA: BEGIN OF itab_zycbt136_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbe136.

DATA: END OF itab_zycbt136_aux.

DATA: BEGIN OF itab_zycbt004_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt004.

DATA: END OF itab_zycbt004_aux.

DATA: BEGIN OF itab_zycbt154 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt154.

DATA: END OF itab_zycbt154.

DATA: BEGIN OF itab_zycbt035 OCCURS 0.

...

 

...

  v_campo(27),

  v_valor(20),

  i_belnr            LIKE bkpf-belnr,

  i_bukrs            LIKE bkpf-bukrs,

  i_gjahr            LIKE bkpf-gjahr,

  v_tottaxa          LIKE /pws/zycbt001-txcneg,

  v_int              TYPE i,

  v_taxaneg          LIKE /pws/zycbe001-txcneg,

  v_cambio           LIKE /pws/zycbe001-txcneg,

  v_transacao        LIKE shkontext-tcode,

* >> Início da exclusão:

  v_modo_bi,

* << Fim da exclusão

  v_cont             TYPE i,

  v_txc_f51          LIKE tcurr-ukurs,

  v_check(1) TYPE c,

  v_dt_from          LIKE /pws/zycbe001-dtcred,

  v_dt_to            LIKE /pws/zycbe001-dtcred,

  v_pre(3)           VALUE 'NO',

  v_dias             TYPE i,

  v_dias3            TYPE i,

  v_data             LIKE sy-datum,

  v_dia_semana       TYPE p,

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001X01

 

...

DATA: BEGIN OF itab_zycbt221 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt221.

DATA: mark TYPE c,

      END OF itab_zycbt221.

DATA: BEGIN OF wa_zycbt221 OCCURS 0.

        INCLUDE STRUCTURE itab_zycbt221.

DATA: END OF wa_zycbt221.

DATA: wa_zycbt221_aux LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.

DATA: itab_zycbt221_aux LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.

DATA: itab_zycbt221_ant LIKE wa_zycbt221 OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycbt034 OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt034.

DATA: END OF itab_zycbt034.

* << Fim da inclusão

DATA: wa_zycbt001     LIKE /pws/zycbe001,

      wa_zycbe001     LIKE /pws/zycbe001,

      wa_zycbt001_pre LIKE /pws/zycbt001,

      wa_zycbt004     LIKE /pws/zycbt004,

      wa_zycbt091     LIKE /pws/zycbt091,

      wa_zycbt204     LIKE /pws/zycbt204,

      wa_zycbt136     LIKE itab_zycbt136,

* >> Início da exclusão:

      wa_zycbt002     LIKE /pws/zycbt002.

* << Fim da exclusão

* >> Início da inclusão:

      wa_zycbt002     LIKE /pws/zycbt002,

      wa_zycbt089 LIKE /pws/zycbt089.

* << Fim da inclusão

DATA:

  v_contabiliza     TYPE c,

* >> Início da exclusão:

  okcode            LIKE sy-ucomm.

* << Fim da exclusão

* >> Início da inclusão:

  okcode            LIKE sy-ucomm,

  v_modo_bi.

* << Fim da inclusão

 

* >> Início da exclusão:

DATA: itab_zycbe033  LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE.

* << Fim da exclusão

* >> Início da inclusão:

DATA: itab_zycbe033  LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE,

      itab_zycbt032  LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE.

* << Fim da inclusão

DATA: END OF COMMON PART.