CE PLUS - Nota 006627

Módulo: DRAWBACK

Funcionalidade: Vinculação de Importação

Data/Hora da Publicação: 27/05/2008 00:00:00

Data/Hora Última Alteração: 01/03/2010 18:11:02

Descrição da Nota: ABERTURA DAS EXIT'S VIN001 E VIN002

Sintoma

 

Abertura de exit na vinculação (VIN001) e desvinculação (VIN002) de pedidos.

 

Solução

 

Abertura de exit na vinculação (VIN001) e desvinculação (VIN002) de pedidos.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 06627 Data: 27/05/2008 Hora: 14:29:59

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

 

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

Nota Número              : 06627

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00049

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ABERTURA DAS EXIT'S VIN001 E VIN002

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

Palavras Chave:

VINCULAÇÃO IMPORTAÇÃO VIN001 VIN002 DRAWBACK

 

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

Objetos da nota:

REPS /PWS/MZYCI068F01

REPS /PWS/MZYCI068TOP

REPS /PWS/MZYCI068X01

REPS /PWS/SAPMZYCI068

 

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

Modificações efetuadas em REPS /PWS/MZYCI068F01

 

...

                                 AND modalidade EQ 'S'.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ELSE.

      DELETE itab_atos_t WHERE j_1bnbm NE itab_zycit376_t-j_1bnbm.

    ENDIF.

  ENDIF.

ENDFORM.

FORM vincula_ato.

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

  PERFORM verifica_exit USING 'D'

                             '/PWS/SAPMZYCI068'

                             'VIN001'.

  e_subrc = 0.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY zexit = 'VIN001'  BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa)

                       CHANGING e_subrc

                                        IF FOUND     .

      IF e_subrc NE '0'.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  READ TABLE itab_atos_t WITH KEY marc = 'X'.

  IF sy-subrc EQ 0.

    READ TABLE itab_zycit245 WITH KEY nrseqd = itab_atos_t-nrseqd

                                      nritem = itab_atos_t-nritem.

    itab_zycit245-vinculado = itab_zycit245-vinculado +

                              /pws/zycie376-qtd_iten.

    itab_zycit245-vlvinc    = itab_zycit245-vlvinc +

                              /pws/zycie376-vlfob.

    MODIFY itab_zycit245 TRANSPORTING vinculado vlvinc

                         WHERE nrseqd = itab_atos_t-nrseqd

...

 

...

    itab_zycit376_t = itab_zycit376.

    APPEND itab_zycit376_t.

  ENDLOOP.

  IF NOT itab_zycit376_t[] IS INITIAL.

    CALL SCREEN 0300.

  ELSE.

    MESSAGE i015 WITH text-005.

  ENDIF.

ENDFORM.

FORM desvincula_pedido.

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

  PERFORM verifica_exit USING 'D'

                             '/PWS/SAPMZYCI068'

                             'VIN002'.

  e_subrc = 0.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY zexit = 'VIN002'  BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa)

                       CHANGING e_subrc

                                        IF FOUND     .

      IF e_subrc NE '0'.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zycit376_t WHERE marc EQ 'X'.

    IF NOT itab_zycit376_t-nrseqd IS INITIAL.

      READ TABLE itab_zycit245 WITH KEY

                               nrseqd = itab_zycit376_t-nrseqd

                               nritem = itab_zycit376_t-nritem.

      itab_zycit245-vinculado = itab_zycit245-vinculado -

                                itab_zycit376_t-qtd_apro.

      IF itab_zycit245-vinculado < 0 .

        itab_zycit245-vinculado = 0.

      ENDIF.

...

 

...

  IF sy-subrc NE 0.

    SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.

    IF sy-subrc <> 0.

      tcurx-currdec = 2.

    ENDIF.

    tcurx-currkey = p_moeda.

    APPEND tcurx TO itab_tcurx .

  ENDIF.

  p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).

ENDFORM.

* >> Início da inclusão:

FORM verifica_exit USING   p_modulo

                           p_func

                           p_exit.

  CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

       EXPORTING

            i_codmod                = p_modulo

            i_func                  = p_func

            i_zexit                 = p_exit

       TABLES

            itab_zyglt100           = itab_zyglt100

       EXCEPTIONS

            i_codmod_nao_encontrado = 1

            i_func_nao_encontrado   = 2

            i_zexit_nao_encontrado  = 3

            OTHERS                  = 4.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI068TOP

 

PROGRAM  /pws/sapmzyci068  MESSAGE-ID /pws/zycim  .

* >> Início da exclusão:

TABLES: ekko         ,

        ekpo         ,

        lfa1         ,

        t001         ,

        tcurx        ,

        /pws/zycit244,

        /pws/zycie244,

        /pws/zycit245,

        /pws/zycie245,

        /pws/zycit100,

        /pws/zycie376,

        /pws/zycit321,

        /pws/zycie100.

CONTROLS: tc_ped1     TYPE TABLEVIEW USING SCREEN '0100',

          tc_atos     TYPE TABLEVIEW USING SCREEN '0200',

          tc_des      TYPE TABLEVIEW USING SCREEN '0300'.

DATA: BEGIN OF itab_zycit376_t OCCURS 0 .

        INCLUDE STRUCTURE /pws/zycit376 .

DATA: marc.

DATA: END OF itab_zycit376_t.

DATA: BEGIN OF itab_atos OCCURS 0 .

DATA: nrseqd     LIKE /pws/zycit244-nrseqd,

      nritem     LIKE /pws/zycit245-nritem,

      nratoc     LIKE /pws/zycit244-nratoc ,

      matnr      LIKE /pws/zycit245-codcomp ,

      grupo      LIKE /pws/zycit245-grupo ,

      j_1bnbm    LIKE /pws/zycit245-j_1bnbm ,

      data       LIKE /pws/zycit244-dtatoc,

      modalidade LIKE /pws/zycit244-modalidade,

      tipo       LIKE /pws/zycit244-tipo,

      qtd_tot    LIKE /pws/zycit245-qtd_tot,

      vlfob      LIKE /pws/zycit245-netpr,

      marc.

DATA: END OF itab_atos.

DATA: itab_zycit244 LIKE /pws/zycit244 OCCURS 0 WITH HEADER LINE,

      itab_zycit376 LIKE itab_zycit376_t OCCURS 0 WITH HEADER LINE,

      itab_ekko     LIKE ekko OCCURS 0 WITH HEADER LINE,

      itab_eket     LIKE eket OCCURS 0 WITH HEADER LINE,

      itab_ekpo     LIKE ekpo OCCURS 0 WITH HEADER LINE,

      itab_lfa1     LIKE lfa1 OCCURS 0 WITH HEADER LINE,

      itab_zycit245 LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE,

      itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE,

      itab_zycit079 LIKE /pws/zycit079 OCCURS 0 WITH HEADER LINE,

      itab_zycit078 LIKE /pws/zycit078 OCCURS 0 WITH HEADER LINE,

      itab_zycit433 LIKE /pws/zycit433 OCCURS 0 WITH HEADER LINE,

      itab_zycit433a LIKE /pws/zycit433 OCCURS 0 WITH HEADER LINE,

      itab_atos_t   LIKE itab_atos OCCURS 0 WITH HEADER LINE.

DATA: wa_komk type komk.

DATA: BEGIN OF itab_komv OCCURS 0.

        INCLUDE STRUCTURE komv.

DATA: ebeln LIKE ekko-ebeln.

DATA: END OF itab_komv.

DATA: BEGIN OF itab_zycit030 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit030.

DATA: END OF itab_zycit030.

DATA: itab_tcurx TYPE tcurx OCCURS 0 WITH HEADER LINE .

DATA: v_marc                                                    ,

      ok_code         LIKE sy-ucomm                             ,

      v_qtd_tot       LIKE /pws/zycit245-qtd_tot                ,

      v_icon          LIKE icon-id                              ,

      v_resp                                                    ,

      v_tipo(35)                                                ,

      v_modalidade(35)                                          ,

      wa_cols         TYPE cxtab_column                         ,

      v_lines  TYPE i                                           ,

      v_vlfob         LIKE /pws/zycit245-netpr                  ,

      v_campo(25)     TYPE c                                    ,

      v_valor(25)     TYPE c                                    .

* << Fim da exclusão

* >> Início da inclusão:

INCLUDE /PWS/MZYCI068X01.

* << Fim da inclusão

SELECTION-SCREEN BEGIN OF SCREEN 0001 AS WINDOW TITLE text-000.

SELECT-OPTIONS: s_ebeln  FOR ekko-ebeln         ,

                s_werks  FOR /pws/zycit244-werks,

                s_data   FOR sy-datum           .

SELECTION-SCREEN END OF SCREEN 0001.

AT SELECTION-SCREEN.

  CASE sy-ucomm.

    WHEN 'CRET'.

      PERFORM user_command_001.

  ENDCASE.

 

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

Modificações efetuadas em REPS /PWS/MZYCI068X01

 

* >> Início da inclusão:

TABLES: ekko         ,

        ekpo         ,

        lfa1         ,

        t001         ,

        tcurx        ,

        /pws/zycit244,

        /pws/zycie244,

        /pws/zycit245,

        /pws/zycie245,

        /pws/zycit100,

        /pws/zycie376,

        /pws/zycit321,

        /pws/zycie100.

CONTROLS: tc_ped1     TYPE TABLEVIEW USING SCREEN '0100',

          tc_atos     TYPE TABLEVIEW USING SCREEN '0200',

          tc_des      TYPE TABLEVIEW USING SCREEN '0300'.

DATA: BEGIN OF COMMON PART a.

DATA: BEGIN OF itab_zycit376_t OCCURS 0 .

        INCLUDE STRUCTURE /pws/zycit376 .

DATA: marc.

DATA: END OF itab_zycit376_t.

DATA: BEGIN OF itab_atos OCCURS 0 .

DATA: nrseqd     LIKE /pws/zycit244-nrseqd,

      nritem     LIKE /pws/zycit245-nritem,

      nratoc     LIKE /pws/zycit244-nratoc ,

      matnr      LIKE /pws/zycit245-codcomp ,

      grupo      LIKE /pws/zycit245-grupo ,

      j_1bnbm    LIKE /pws/zycit245-j_1bnbm ,

      data       LIKE /pws/zycit244-dtatoc,

      modalidade LIKE /pws/zycit244-modalidade,

      tipo       LIKE /pws/zycit244-tipo,

      qtd_tot    LIKE /pws/zycit245-qtd_tot,

      vlfob      LIKE /pws/zycit245-netpr,

      marc.

DATA: END OF itab_atos.

DATA: itab_zycit244 LIKE /pws/zycit244 OCCURS 0 WITH HEADER LINE,

      itab_zycit376 LIKE itab_zycit376_t OCCURS 0 WITH HEADER LINE,

      itab_ekko     LIKE ekko OCCURS 0 WITH HEADER LINE,

      itab_eket     LIKE eket OCCURS 0 WITH HEADER LINE,

      itab_ekpo     LIKE ekpo OCCURS 0 WITH HEADER LINE,

      itab_lfa1     LIKE lfa1 OCCURS 0 WITH HEADER LINE,

      itab_zycit245 LIKE /pws/zycit245 OCCURS 0 WITH HEADER LINE,

      itab_zycit100 LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE,

      itab_zycit079 LIKE /pws/zycit079 OCCURS 0 WITH HEADER LINE,

      itab_zycit078 LIKE /pws/zycit078 OCCURS 0 WITH HEADER LINE,

      itab_zycit433 LIKE /pws/zycit433 OCCURS 0 WITH HEADER LINE,

      itab_zycit433a LIKE /pws/zycit433 OCCURS 0 WITH HEADER LINE,

      itab_atos_t   LIKE itab_atos OCCURS 0 WITH HEADER LINE.

DATA: wa_komk type komk.

DATA: BEGIN OF itab_komv OCCURS 0.

        INCLUDE STRUCTURE komv.

DATA: ebeln LIKE ekko-ebeln.

DATA: END OF itab_komv.

DATA: BEGIN OF itab_zycit030 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit030.

DATA: END OF itab_zycit030.

DATA: itab_tcurx TYPE tcurx OCCURS 0 WITH HEADER LINE .

DATA: BEGIN OF itab_zyglt100 OCCURS 10.

        INCLUDE STRUCTURE /pws/zyglt100.

DATA: END OF itab_zyglt100.

DATA:   e_subrc  VALUE '0'.

DATA: v_marc                                                    ,

      ok_code         LIKE sy-ucomm                             ,

      v_qtd_tot       LIKE /pws/zycit245-qtd_tot                ,

      v_icon          LIKE icon-id                              ,

      v_resp                                                    ,

      v_tipo(35)                                                ,

      v_modalidade(35)                                          ,

      wa_cols         TYPE cxtab_column                         ,

      v_lines  TYPE i                                           ,

      v_vlfob         LIKE /pws/zycit245-netpr                  ,

      v_campo(25)     TYPE c                                    ,

      v_valor(25)     TYPE c                                    .

DATA: END OF COMMON PART.

* << Fim da inclusão