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.
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