Módulo: DRAWBACK
Funcionalidade: Entrada de NF Mercado Interno
Data/Hora da Publicação: 22/07/2008 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:25:46
Descrição da Nota: ENTRADA DE NOTAS NOS ATOS CONCESSÓRIOS DO TIPO SUSPENSÃO
Sintoma
Nova funcionalidade no programa de entrada de NF's no mercado interno, ato concessório tipo
suspensão.
Solução
Nova funcionalidade no programa de entrada de NF's no mercado interno, ato concessório tipo
suspensão.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07001 Data: 22/07/2008 Hora: 08:46:24
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07001
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00057
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02798 - 00001 - 6.0 - 00026 - AJUSTE NO TRATAMENTO DE ENTRADA DE NOTA FISCAL COM E SEM ICMS.
06056 - 00002 - 7.0 - 00004 - ATUALIZAÇÃO DO PROGRAMA PARA TRATATIVA DE GRUPOS COM DIFERENTES N
----------------------------------------------------------------------------------------------------
ENTRADA DE NOTAS NOS ATOS CONCESSÓRIOS DO TIPO SUSPENSÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ENTRADA DE NOTAS ATO CONCESSÓRIO SUSPENSÃO VERDE AMARELO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI052 0001
DYNP /PWS/SAPMZYCI052 0100
DYNP /PWS/SAPMZYCI052 0200
REPS /PWS/MZYCI052F01
REPS /PWS/MZYCI052I01
REPS /PWS/MZYCI052O01
REPS /PWS/MZYCI052TOP
TABD /PWS/ZYCIE329
TABD /PWS/ZYCIE330
TABD /PWS/ZYCIT329
TABD /PWS/ZYCIT330
MENU /PWS/ZYCID
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI052 0001
MODIFICAR CARACTERÍSTICAS DA TELA 0001
Tela seguinte 0001
MODIFICAR FRAME "%#AUTOTEXT001"
Altura 6
MODIFICAR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE329-CICMS"
Linha 5
MODIFICAR CHTXT "/PWS/ZYCIE329-CICMS"
Linha 5
INCLUIR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE329-TIPO"
Comprimento Visível 1
Linha 4
Coluna 4
Formato CHAR
Texto _
Código função TIPO
INCLUIR CHTXT "/PWS/ZYCIE329-TIPO"
Comprimento Visível 24
Linha 4
Coluna 6
Formato CHAR
Texto Intermediario-Exportação
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001
process before output.
module status_0001.
* >> Início da inclusão:
MODULE set_screen_0001.
* << Fim da inclusão
process after input.
module user_command_0001.
process on value-request.
field /pws/zycie329-docnum module trata_docnum.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI052 0100
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE329-NFNUM"
Altura 6
Comprimento Visível 9
Linhas mínimas 9
Texto _________
INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.
Altura 18
Comprimento Visível 18
Linha 1
Coluna 18
Formato CHAR
Linhas mínimas 18
Texto __________________
Código função
INCLUIR TEXTO "/PWS/ZYCIE330-CODCOMP" em tbl.contr./tabstr.
Altura 18
Comprimento Visível 15
Linha 1
Coluna 18
Formato CHAR
Texto Material
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.
Coluna 17
MODIFICAR TEXTO "/PWS/ZYCIE330-DTREG" em tbl.contr./tabstr.
Coluna 17
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.
Coluna 10
MODIFICAR TEXTO "/PWS/ZYCIE330-GEWEI" em tbl.contr./tabstr.
Coluna 10
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.
Coluna 19
MODIFICAR TEXTO "/PWS/ZYCIE330-NCM" em tbl.contr./tabstr.
Coluna 19
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NETPR" em tbl.contr./tabstr.
Altura 21
MODIFICAR TEXTO "/PWS/ZYCIE330-NETPR" em tbl.contr./tabstr.
Altura 21
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.
Coluna 13
MODIFICAR TEXTO "/PWS/ZYCIE330-NRATOC" em tbl.contr./tabstr.
Coluna 13
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.
Coluna 15
MODIFICAR TEXTO "/PWS/ZYCIE330-NRDI" em tbl.contr./tabstr.
Coluna 15
INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 15
Linha 1
Coluna 14
Formato CHAR
Linhas mínimas 5
Texto _______________
INCLUIR TEXTO "/PWS/ZYCIE330-NRITEM" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 14
Formato CHAR
Texto Item
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NRSEQD" em tbl.contr./tabstr.
Coluna 12
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.
Coluna 11
MODIFICAR TEXTO "/PWS/ZYCIE330-NTGEW" em tbl.contr./tabstr.
Coluna 11
MODIFICAR CAMPO TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.
Coluna 16
MODIFICAR TEXTO "/PWS/ZYCIE330-TPDI" em tbl.contr./tabstr.
Coluna 16
INCLUIR CAMPO TEXTO "/PWS/ZYCIE330-WAERK" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 9
Formato CUKY
Linhas mínimas 5
Texto _____
INCLUIR TEXTO "/PWS/ZYCIE330-WAERK" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 15
Linha 1
Coluna 9
Formato CHAR
Texto Moeda documento
MODIFICAR TEXTO "V_TXTNRSEQ" em tbl.contr./tabstr.
Coluna 12
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI052 0200
MODIFICAR CAIXA DE VERIFICAÇÃO "MARK" em tbl.contr./tabstr.
Texto _
MODIFICAR CONTROLE DE TABELA "TC_ATO"
Altura 22
Comprimento Visível 100
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052F01
...
/pws/zycie329-vltot_me = itab_zycit329-vltot_me.
/pws/zycie329-vluni_me = itab_zycit329-vluni_me.
ENDIF.
IF sy-subrc EQ 0 AND NOT v_tcode = '/PWS/ZYCI052_C'.
SELECT * FROM /pws/zycit330 INTO TABLE itab_zycit330
WHERE docnum = /pws/zycie329-docnum.
MOVE /pws/zycie329 TO wa_zycie329.
MOVE itab_zycit330[] TO itab_zycit330_aux[].
IF NOT itab_zycit330[] IS INITIAL.
SELECT * FROM /pws/zycit279 INTO
* >> Início da exclusão: FORM SELECIONA_DADOS
TABLE itab_zycit279 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
TABLE itab_zycit279 "#EC CI_NOFIRST
* << Fim da inclusão
FOR ALL ENTRIES IN itab_zycit330
WHERE ebeln = itab_zycit330-ebeln
AND ebelp = itab_zycit330-ebelp
AND docnum = itab_zycit330-docnum
AND buzei = itab_zycit330-buzei.
ENDIF.
ELSEIF sy-subrc EQ 0 AND v_tcode = '/PWS/ZYCI052_C'.
MESSAGE i017 WITH text-013.
LEAVE TO SCREEN 0001.
ELSEIF sy-subrc NE 0 AND v_tcode = '/PWS/ZYCI052_C'.
...
...
FOR ALL ENTRIES IN itab_zycit330
WHERE ebeln = itab_zycit330-ebeln AND
ebelp = itab_zycit330-ebelp.
SELECT * FROM j_1bnflin INTO TABLE itab_j_1bnflin
WHERE docnum EQ /pws/zycie329-docnum.
REFRESH itab_zycit245.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
FOR ALL ENTRIES IN itab_zycit330
WHERE nrseqd EQ itab_zycit330-nrseqd.
ENDIF.
* >> Início da inclusão: FORM SALVAR_DADOS
IF v_tcode EQ '/PWS/ZYCI052_C'.
* << Fim da inclusão
REFRESH: itab_zycit279.
LOOP AT itab_zycit330.
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit330-ebeln
ebelp = itab_zycit330-ebelp.
IF sy-subrc EQ 0.
MOVE itab_ekpo-matnr TO /pws/zycit279-matnr.
ENDIF.
READ TABLE itab_j_1bnflin WITH KEY
itmnum = itab_zycit330-buzei.
/pws/zycit279-vltot =
...
...
itab_zycit330-lote TO /pws/zycit279-lote ,
itab_zycit330-ncm TO /pws/zycit279-j_1bnbm,
itab_zycit330-menge TO /pws/zycit279-qtd_iten,
itab_zycit330-gewei TO /pws/zycit279-gewei ,
itab_zycit330-waerk TO /pws/zycit279-waers ,
itab_zycit330-netpr TO /pws/zycit279-netpr ,
itab_zycit329-nfnum TO /pws/zycit279-nfnum ,
itab_zycit329-series TO /pws/zycit279-serie ,
itab_zycit329-docdat TO /pws/zycit279-dtnf ,
itab_zycit330-buzei TO /pws/zycit279-itmnum .
* >> Início da inclusão: FORM SALVAR_DADOS
MOVE: j_1bnfdoc-waerk TO /pws/zycit279-i_waerscifmi .
/pws/zycit279-i_txmoeda = itab_j_1bnflin-netwr /
/pws/zycit279-vltot.
/pws/zycit279-valor = itab_j_1bnflin-netwr /
/pws/zycit279-menge.
* << Fim da inclusão
/pws/zycit279-um_base = /pws/zycit279-meins.
PERFORM converte_um_base USING /pws/zycit279-matnr
CHANGING /pws/zycit279-um_base
/pws/zycit279-qtd_iten.
DELETE FROM /pws/zycit279 WHERE docnum EQ itab_zycit330-docnum
AND buzei EQ itab_zycit330-buzei."#EC CI_NOFIRST
MODIFY /pws/zycit279 FROM /pws/zycit279.
APPEND /pws/zycit279 TO itab_zycit279.
CLEAR: itab_zycit330_des.
READ TABLE itab_zycit330_des WITH KEY
docnum = itab_zycit330-docnum
buzei = itab_zycit330-buzei .
IF sy-subrc EQ 0 AND
itab_zycit330_des-nrseqd EQ itab_zycit330-nrseqd.
CONTINUE.
ELSE.
CLEAR: itab_zycit245_des.
READ TABLE itab_zycit245_des WITH KEY
nrseqd = itab_zycit330-nrseqd
* >> Início da exclusão: FORM SALVAR_DADOS
j_1bnbm = itab_zycit330-ncm.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
nritem = itab_zycit330-nritem.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycit245_des-vlvinc = itab_zycit245_des-vlvinc -
/pws/zycit279-vltot.
itab_zycit245_des-vinculado = itab_zycit245_des-vinculado -
itab_zycit330-menge.
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245_des-vlvinc
vinculado = itab_zycit245_des-vinculado
WHERE nrseqd EQ itab_zycit245_des-nrseqd
AND nritem EQ itab_zycit245_des-nritem.
...
...
AND nritem EQ itab_zycit245_des-nritem.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit245_des-nrseqd
nritem = itab_zycit245_des-nritem.
IF sy-subrc EQ 0.
itab_zycit245-vlvinc = itab_zycit245_des-vlvinc.
itab_zycit245-vinculado = itab_zycit245_des-vinculado.
MODIFY itab_zycit245 TRANSPORTING vlvinc vinculado
WHERE nrseqd EQ itab_zycit245_des-nrseqd
AND nritem EQ itab_zycit245_des-nritem.
* >> Início da inclusão: FORM SALVAR_DADOS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
CLEAR: itab_zycit245.
* >> Início da inclusão: FORM SALVAR_DADOS
IF /pws/zycit321-apr_imp IS INITIAL.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit330-nrseqd
nritem = itab_zycit330-nritem.
ELSE.
* << Fim da inclusão
READ TABLE itab_zycit245 WITH KEY
* >> Início da exclusão: FORM SALVAR_DADOS
nrseqd = itab_zycit330-nrseqd
j_1bnbm = itab_zycit330-ncm.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS
nrseqd = itab_zycit330-nrseqd.
ENDIF.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycit245-vlvinc = itab_zycit245-vlvinc +
/pws/zycit279-vltot.
* >> Início da inclusão: FORM SALVAR_DADOS
IF /pws/zycit321-apr_imp IS INITIAL.
* << Fim da inclusão
itab_zycit245-vinculado = itab_zycit245-vinculado +
itab_zycit330-menge.
* >> Início da inclusão: FORM SALVAR_DADOS
ENDIF.
* << Fim da inclusão
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245-vlvinc
vinculado = itab_zycit245-vinculado
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
MODIFY itab_zycit245 TRANSPORTING vlvinc vinculado
* >> Início da inclusão: FORM SALVAR_DADOS
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
ENDIF.
ENDLOOP.
IF NOT itab_zycit279_d[] IS INITIAL.
LOOP AT itab_zycit279_d.
READ TABLE itab_zycit330_d WITH KEY docnum = itab_zycit279_d-docnum
buzei = itab_zycit279_d-buzei.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit330_d-nrseqd
nritem = itab_zycit330_d-nritem.
itab_zycit245-vlvinc = itab_zycit245-vlvinc - itab_zycit279_d-vltot.
IF /pws/zycit321-apr_imp IS INITIAL.
itab_zycit245-vinculado =
itab_zycit245-vinculado - itab_zycit279_d-menge.
ENDIF.
IF itab_zycit245-vinculado <= 0.
itab_zycit245-vinculado = 0.
ENDIF.
IF itab_zycit245-vlvinc <= 0.
itab_zycit245-vlvinc = 0.
ENDIF.
MODIFY itab_zycit245 TRANSPORTING vinculado vlvinc
WHERE nrseqd EQ itab_zycit330_d-nrseqd
AND nritem EQ itab_zycit330_d-nritem.
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245-vlvinc
vinculado = itab_zycit245-vinculado
* << Fim da inclusão
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
* >> Início da inclusão: FORM SALVAR_DADOS
ENDLOOP.
DELETE /pws/zycit279 FROM TABLE itab_zycit279_d.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SALVAR_DADOS
ELSEIF v_tcode EQ '/PWS/ZYCI052_A'.
IF NOT itab_zycit279_d[] IS INITIAL.
LOOP AT itab_zycit279_d.
READ TABLE itab_zycit330_d WITH KEY docnum = itab_zycit279_d-docnum
buzei = itab_zycit279_d-buzei.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit330_d-nrseqd
nritem = itab_zycit330_d-nritem.
itab_zycit245-vlvinc = itab_zycit245-vlvinc - itab_zycit279_d-vltot.
IF /pws/zycit321-apr_imp IS INITIAL.
itab_zycit245-vinculado =
itab_zycit245-vinculado - itab_zycit279_d-menge.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SALVAR_DADOS
IF itab_zycit245-vinculado <= 0.
itab_zycit245-vinculado = 0.
ENDIF.
IF itab_zycit245-vlvinc <= 0.
itab_zycit245-vlvinc = 0.
ENDIF.
MODIFY itab_zycit245 TRANSPORTING vinculado vlvinc
WHERE nrseqd EQ itab_zycit330_d-nrseqd
AND nritem EQ itab_zycit330_d-nritem.
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245-vlvinc
vinculado = itab_zycit245-vinculado
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SALVAR_DADOS
DELETE /pws/zycit279 FROM TABLE itab_zycit279_d.
ENDIF.
ENDIF.
* << Fim da inclusão
COMMIT WORK AND WAIT.
MESSAGE i017 WITH /pws/zycie329-docnum.
MOVE /pws/zycie329 TO wa_zycie329.
MOVE itab_zycit330[] TO itab_zycit330_aux[].
...
...
text_button_1 = text-010
icon_button_1 = 'ICON_OKAY'
text_button_2 = text-011
icon_button_2 = 'ICON_CANCEL'
default_button = '1'
display_cancel_button = ' '
IMPORTING
answer = v_answer.
IF v_answer = '1'.
IF NOT itab_zycit279[] IS INITIAL.
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
LOOP AT itab_zycit279.
IF itab_zycit279-menge <> itab_zycit279-slqtde.
MESSAGE i013 WITH text-014 space text-015.
LEAVE SCREEN.
ENDIF.
ENDLOOP.
* << Fim da inclusão
CLEAR itab_zycit245_des. REFRESH itab_zycit245_des.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245_des
* >> Início da exclusão: FORM EXCLUIR_REGISTRO
FOR ALL ENTRIES IN itab_zycit279
WHERE nrseqd = itab_zycit279-nrseqd
AND j_1bnbm = itab_zycit279-j_1bnbm.
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
FOR ALL ENTRIES IN itab_zycit330
WHERE nrseqd = itab_zycit330-nrseqd
AND nritem = itab_zycit330-nritem.
* << Fim da inclusão
CLEAR itab_zycit282. REFRESH itab_zycit282.
SELECT * FROM /pws/zycit282 INTO
* >> Início da exclusão: FORM EXCLUIR_REGISTRO
TABLE itab_zycit282 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
TABLE itab_zycit282 "#EC CI_NOFIRST
* << Fim da inclusão
FOR ALL ENTRIES IN itab_zycit279
WHERE nrseqimp = itab_zycit279-nrseq
AND ebeln = itab_zycit279-ebeln
AND ebelp = itab_zycit279-ebelp
AND docnumimp = itab_zycit279-docnum.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit330 WHERE docnum = /pws/zycie329-docnum.
LOOP AT itab_zycit279.
DELETE FROM /pws/zycit279 WHERE
ebeln = itab_zycit279-ebeln AND
ebelp = itab_zycit279-ebelp AND
* >> Início da exclusão: FORM EXCLUIR_REGISTRO
docnum = itab_zycit279-docnum. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
docnum = itab_zycit279-docnum."#EC CI_NOFIRST
READ TABLE itab_zycit330 WITH KEY ebeln = itab_zycit279-ebeln
ebelp = itab_zycit279-ebelp.
IF /pws/zycit321-apr_imp IS INITIAL.
READ TABLE itab_zycit245_des WITH KEY
nrseqd = itab_zycit330-nrseqd
nritem = itab_zycit330-nritem.
ELSE.
* << Fim da inclusão
READ TABLE itab_zycit245_des WITH KEY
* >> Início da exclusão: FORM EXCLUIR_REGISTRO
nrseqd = itab_zycit279-nrseqd
j_1bnbm = itab_zycit279-j_1bnbm.
* << Fim da exclusão
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
nrseqd = itab_zycit330-nrseqd.
ENDIF.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycit245_des-vlvinc = itab_zycit245_des-vlvinc -
itab_zycit279-vltot.
itab_zycit245_des-vinculado = itab_zycit245_des-vinculado -
itab_zycit279-menge.
* >> Início da inclusão: FORM EXCLUIR_REGISTRO
IF itab_zycit245_des-vlvinc <= 0.
itab_zycit245_des-vlvinc = 0.
ENDIF.
IF itab_zycit245_des-vinculado <= 0.
itab_zycit245_des-vinculado = 0.
ENDIF.
* << Fim da inclusão
UPDATE /pws/zycit245
SET vlvinc = itab_zycit245_des-vlvinc
vinculado = itab_zycit245_des-vinculado
WHERE nrseqd EQ itab_zycit245_des-nrseqd
AND nritem EQ itab_zycit245_des-nritem.
MODIFY itab_zycit245_des TRANSPORTING vlvinc vinculado
WHERE nrseqd EQ itab_zycit245_des-nrseqd
AND nritem EQ itab_zycit245_des-nritem.
ENDIF.
ENDLOOP.
...
...
v_tabix = sy-tabix.
READ TABLE itab_zycit279 WITH KEY ebeln = itab_zycit330-ebeln
ebelp = itab_zycit330-ebelp
docnum = itab_zycit330-docnum.
IF sy-subrc NE 0.
DELETE itab_zycit330 INDEX v_tabix.
ELSE.
IF itab_zycit279-menge <> itab_zycit279-slqtde.
MESSAGE i013 WITH text-014 space text-015.
ELSE.
* >> Início da inclusão: FORM EXCLUIR_LINHA
MOVE itab_zycit279 TO itab_zycit279_d.
APPEND itab_zycit279_d.
MOVE itab_zycit330 TO itab_zycit330_d.
APPEND itab_zycit330_d.
* << Fim da inclusão
DELETE itab_zycit330 INDEX v_tabix.
ENDIF.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE i085.
ENDIF.
ENDFORM.
FORM carrega_dados.
DATA: BEGIN OF itab_mseg OCCURS 0.
...
...
SELECT SINGLE * FROM mara WHERE matnr = itab_rseg-matnr.
SELECT SINGLE * FROM ekpo WHERE ebeln = itab_rseg-ebeln AND
ebelp = itab_rseg-ebelp.
MOVE: ekpo-j_1bnbm TO itab_zycit330-ncm ,
ekpo-gewei TO itab_zycit330-gewei,
ekpo-ntgew TO itab_zycit330-ntgew,
/pws/zycie329-waerk TO itab_zycit330-waerk.
MOVE: itab_rseg-buzei TO itab_zycit330-buzei,
itab_rseg-ebeln TO itab_zycit330-ebeln,
itab_rseg-ebelp TO itab_zycit330-ebelp.
* >> Início da inclusão: FORM CARREGA_DADOS
MOVE itab_rseg-matnr TO itab_zycit330-codcomp.
* << Fim da inclusão
IF /pws/zycit321-lote NE space.
REFRESH: itab_mseg.
CLEAR: itab_mseg.
SELECT mblnr mjahr zeile charg FROM mseg
* >> Início da exclusão: FORM CARREGA_DADOS
INTO TABLE itab_mseg "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_DADOS
INTO TABLE itab_mseg "#EC CI_NOFIELD
* << Fim da inclusão
WHERE ebeln = itab_rseg-ebeln
AND ebelp = itab_rseg-ebelp.
SORT itab_mseg DESCENDING BY mblnr.
READ TABLE itab_mseg INDEX 1.
IF /pws/zycit321-lote EQ '1'.
itab_zycit330-lote = itab_mseg-charg.
ELSE.
SELECT SINGLE licha FROM chvw INTO itab_zycit330-lote
WHERE mblnr = itab_mseg-mblnr
AND mjahr = itab_mseg-mjahr
...
...
AND refitm EQ itab_zycit330-buzei.
itab_zycit330-buzei = j_1bnflin-itmnum.
AUTHORITY-CHECK OBJECT 'C_PPBD'
ID 'AKTTYP' FIELD 'V'
ID 'WERKS' FIELD j_1bnflin-werks.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-289 j_1bnflin-werks.
LEAVE TO TRANSACTION sy-tcode.
ENDIF.
itab_zycit330-netwr = j_1bnflin-netwr.
* >> Início da inclusão: FORM CARREGA_DADOS
IF /pws/zycie329-tipo EQ space.
PERFORM converter_moeda USING itab_zycit330-netwr
itab_zycit330-waerk
'USD'
itab_zycit329-docdat
CHANGING itab_zycit330-netwr.
itab_zycit330-waerk = 'USD'.
ENDIF.
* << Fim da inclusão
IF /pws/zycie329-cicms IS INITIAL.
itab_zycit330-netpr = itab_zycit330-netwr / j_1bnflin-menge.
ELSE.
SELECT SINGLE j_1bnfstx~taxval
FROM ( j_1bnfstx INNER JOIN j_1baj
ON j_1bnfstx~taxtyp = j_1baj~taxtyp )
* >> Início da exclusão: FORM CARREGA_DADOS
INTO v_othbas "#EC CI_BUFFJOIN
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_DADOS
INTO v_othbas "#EC CI_BUFFJOIN
* << Fim da inclusão
WHERE j_1bnfstx~docnum EQ j_1bnflin-docnum
AND j_1bnfstx~itmnum EQ j_1bnflin-itmnum
AND j_1baj~taxgrp EQ 'ICMS'.
itab_zycit330-netwr = itab_zycit330-netwr + v_othbas.
itab_zycit330-netpr = itab_zycit330-netwr / j_1bnflin-menge.
ENDIF.
APPEND itab_zycit330.
ENDLOOP.
ENDIF.
ENDIF.
...
...
MOVE: v_vluni_me TO itab_zycit329-vluni_me ,
/pws/zycie329-vltot_me TO itab_zycit329-vltot_me.
MODIFY itab_zycit329 INDEX sy-tabix.
ENDIF.
ENDIF.
ENDFORM.
FORM vincula_ato.
DATA: v_vltot LIKE /pws/zycit245-netpr_t,
v_qtdtot LIKE /pws/zycit245-qtd_tot.
DATA: v_icon(4) TYPE c VALUE '@5C@' .
* >> Início da inclusão: FORM VINCULA_ATO
DATA: v_vinculado TYPE /pws/zycit245-vinculado,
v_vlvinc TYPE /pws/zycit245-vlvinc.
* << Fim da inclusão
CLEAR: ekko, j_1bnflin.
REFRESH: itab_zycit245, itab_zycit279_aux, itab_zycit244, itab_vinc.
SELECT SINGLE * FROM ekko
WHERE ebeln EQ itab_zycit330-ebeln.
SELECT SINGLE * FROM j_1bnflin
WHERE docnum EQ itab_zycit330-docnum
AND itmnum EQ itab_zycit330-buzei .
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
* >> Início da exclusão: FORM VINCULA_ATO
WHERE tipo EQ 'F' "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_ATO
WHERE tipo EQ 'F' "#EC CI_NOFIELD
* << Fim da inclusão
AND j_1bnbm EQ itab_zycit330-ncm.
IF NOT itab_zycit245[] IS INITIAL.
SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244
FOR ALL ENTRIES IN itab_zycit245
WHERE nrseqd EQ itab_zycit245-nrseqd
AND status EQ 'D'
AND tipo EQ 'F'
AND cicms EQ /pws/zycie329-cicms
AND vcto_fn >= sy-datum
AND lifnr EQ ekko-lifnr.
IF NOT itab_zycit244[] IS INITIAL.
SELECT * FROM /pws/zycit279 INTO
* >> Início da exclusão: FORM VINCULA_ATO
TABLE itab_zycit279_aux "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_ATO
TABLE itab_zycit279_aux "#EC CI_NOFIRST
* << Fim da inclusão
FOR ALL ENTRIES IN itab_zycit244
WHERE nrseqd EQ itab_zycit244-nrseqd
AND matnr EQ j_1bnflin-matnr.
ENDIF.
ENDIF.
PERFORM converte_um_ncm USING j_1bnflin-matnr
CHANGING itab_zycit330-meins
j_1bnflin-werks
itab_zycit330-menge.
ENDIF.
DELETE itab_zycit279_aux WHERE docnum EQ /pws/zycie329-docnum.
LOOP AT itab_zycit244.
CLEAR itab_vinc.
itab_vinc-nrseqd = itab_zycit244-nrseqd.
itab_vinc-nratoc = itab_zycit244-nratoc.
CLEAR: v_qtdtot, v_vltot.
CLEAR itab_zycit245.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244-nrseqd.
* >> Início da exclusão: FORM VINCULA_ATO
LOOP AT itab_zycit279_aux WHERE nrseqd EQ itab_zycit244-nrseqd.
v_qtdtot = v_qtdtot + itab_zycit279_aux-menge.
v_vltot = v_vltot + ( itab_zycit279_aux-menge *
itab_zycit279_aux-valor ).
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_ATO
itab_zycit330_aux[] = itab_zycit330[].
LOOP AT itab_zycit330_aux WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
PERFORM converte_um_ncm USING itab_zycit330_aux-codcomp
CHANGING itab_zycit330_aux-meins
j_1bnflin-werks
itab_zycit330_aux-menge.
v_vinculado = v_vinculado + itab_zycit330_aux-menge.
v_vlvinc = v_vlvinc + itab_zycit330_aux-netwr.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM VINCULA_ATO
itab_vinc-qtd = itab_zycit245-qtd_ncm - v_qtdtot.
itab_vinc-valor = itab_zycit245-netpr_t - v_vltot.
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_ATO
CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.
itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -
v_vinculado.
itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -
v_vlvinc.
itab_vinc-nritem = itab_zycit245-nritem.
* << Fim da inclusão
IF itab_vinc-qtd <= 0.
itab_vinc-qtd = 0.
ENDIF.
IF itab_vinc-valor <= 0.
itab_vinc-valor = 0.
ENDIF.
IF itab_vinc-qtd < itab_zycit330-menge
OR itab_vinc-valor < itab_zycit330-netwr.
itab_vinc-icon = '@5C@'.
ELSE.
...
...
CLEAR: v_um_rez, v_um_ren, v_codpais, v_cod_umncm, v_umncm.
IF p_werks IS INITIAL.
CLEAR p_qtd.
EXIT.
ENDIF.
CLEAR v_cod_umncm.
SELECT SINGLE steuc FROM marc INTO v_j_1bnbm
WHERE matnr EQ p_matnr
AND werks EQ p_werks.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM CONVERTE_UM_NCM
SELECT SINGLE land1 /pws/zum "#EC CI_GENBUFF
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_UM_NCM
SELECT SINGLE land1 /pws/zum "#EC CI_GENBUFF
* << Fim da inclusão
FROM t604f INTO (v_codpais, v_cod_umncm)
WHERE steuc = v_j_1bnbm.
ENDIF.
IF NOT v_cod_umncm IS INITIAL.
* >> Início da exclusão: FORM CONVERTE_UM_NCM
SELECT SINGLE msehi "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_UM_NCM
SELECT SINGLE msehi "#EC CI_NOFIELD
* << Fim da inclusão
FROM /pws/zyglt204 INTO (v_umncm)
WHERE zum = v_cod_umncm.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-027 text-028 v_j_1bnbm.
CLEAR p_qtd.
EXIT.
ENDIF.
v_conv1 = 1.
CALL FUNCTION 'UNIT_CONVERSION_SIMPLE_OLD'
EXPORTING
...
...
v_um_ren = v_um_ren1.
ENDIF.
ENDIF.
IF v_um_rez IS INITIAL
OR v_um_ren IS INITIAL.
EXIT.
ENDIF.
p_qtd = ( p_qtd / v_um_ren ) * v_um_rez.
p_meins = v_meinsb.
ENDFORM.
* >> Início da inclusão:
FORM vincula_ato_susp.
DATA: v_icon(4) TYPE c VALUE '@5C@' .
DATA: v_vinculado TYPE /pws/zycit245-vinculado,
v_vlvinc TYPE /pws/zycit245-vlvinc.
CLEAR: ekko, j_1bnflin.
REFRESH: itab_zycit245, itab_zycit279_aux, itab_zycit244, itab_vinc.
SELECT SINGLE * FROM ekko
WHERE ebeln EQ itab_zycit330-ebeln.
SELECT SINGLE * FROM j_1bnflin
WHERE docnum EQ itab_zycit330-docnum
AND itmnum EQ itab_zycit330-buzei .
IF sy-subrc EQ 0.
IF /pws/zycit321-apr_imp EQ 'X'.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
WHERE tipo EQ 'G'. "#EC CI_NOFIELD
ELSE.
IF /pws/zycit321-c_comum EQ 'X'.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
WHERE tipo NE 'F' "#EC CI_NOFIELD
AND j_1bnbm EQ itab_zycit330-ncm.
ELSE.
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245
WHERE tipo NE 'F' "#EC CI_NOFIELD
AND codcomp EQ itab_zycit330-codcomp.
SELECT SINGLE * FROM /pws/zycit433
WHERE matnr EQ itab_zycit330-codcomp
AND dtde =< sy-datum
AND dtate => sy-datum.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433
WHERE grupo EQ /pws/zycit433-grupo
AND nritem EQ /pws/zycit433-nritem.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit245
APPENDING TABLE itab_zycit245
FOR ALL ENTRIES IN itab_zycit433
WHERE codcomp EQ itab_zycit433-matnr.
SORT itab_zycit245 BY nrseqd nritem.
DELETE ADJACENT DUPLICATES FROM itab_zycit245 COMPARING
nrseqd nritem.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
IF NOT itab_zycit245[] IS INITIAL.
SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244
FOR ALL ENTRIES IN itab_zycit245
WHERE nrseqd EQ itab_zycit245-nrseqd
AND status EQ 'D'
AND tipo NE 'F'
AND modalidade EQ 'S'
AND vcto_vg >= sy-datum.
ENDIF.
PERFORM converte_um_ncm USING j_1bnflin-matnr
CHANGING itab_zycit330-meins
j_1bnflin-werks
itab_zycit330-menge.
ENDIF.
LOOP AT itab_zycit244.
CLEAR: itab_vinc, v_vinculado, v_vlvinc.
itab_vinc-nrseqd = itab_zycit244-nrseqd.
itab_vinc-nratoc = itab_zycit244-nratoc.
CLEAR itab_zycit245.
READ TABLE itab_zycit245 WITH KEY nrseqd = itab_zycit244-nrseqd.
itab_zycit330_aux[] = itab_zycit330[].
LOOP AT itab_zycit330_aux WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
PERFORM converte_um_ncm USING itab_zycit330_aux-codcomp
CHANGING itab_zycit330_aux-meins
j_1bnflin-werks
itab_zycit330_aux-menge.
v_vinculado = v_vinculado + itab_zycit330_aux-menge.
v_vlvinc = v_vlvinc + itab_zycit330_aux-netwr.
ENDLOOP.
CLEAR itab_zycit330_aux. REFRESH itab_zycit330_aux.
itab_vinc-nritem = itab_zycit245-nritem.
itab_vinc-qtd = itab_zycit245-qtd_ncm - itab_zycit245-vinculado -
v_vinculado.
itab_vinc-valor = itab_zycit245-netpr_t - itab_zycit245-vlvinc -
v_vlvinc.
IF itab_vinc-qtd <= 0.
itab_vinc-qtd = 0.
ENDIF.
IF itab_vinc-valor <= 0.
itab_vinc-valor = 0.
ENDIF.
IF /pws/zycit321-apr_imp IS INITIAL.
IF itab_vinc-qtd < itab_zycit330-menge
OR itab_vinc-valor < itab_zycit330-netwr.
itab_vinc-icon = '@5C@'.
ELSE.
itab_vinc-icon = '@5B@'.
ENDIF.
ELSE.
IF itab_vinc-valor < itab_zycit330-netwr.
itab_vinc-icon = '@5C@'.
ELSE.
itab_vinc-icon = '@5B@'.
ENDIF.
ENDIF.
APPEND itab_vinc.
ENDLOOP.
IF itab_vinc[] IS INITIAL.
MESSAGE i015 WITH text-021.
EXIT.
ENDIF.
SORT itab_vinc BY nrseqd.
CALL SCREEN '0200'.
ENDFORM.
FORM converter_moeda USING p_devlme
p_deme
p_parame
p_data
CHANGING p_paravlme.
DATA: v_ctmoeda LIKE tcurr-kurst VALUE 'G',
v_devlme LIKE bsak-wrbtr,
v_paravlme LIKE bsak-wrbtr.
v_devlme = p_devlme .
IF p_devlme NE 0.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = v_devlme
i_demoeda = p_deme
i_paramoeda = p_parame
i_ctmoeda = v_ctmoeda
i_dtbase = p_data
IMPORTING
e_montante = v_paravlme
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
fator_nao_encontrado = 3
i_ctmoeda_nao_encontrado = 4
i_dtbase_nao_encontrada = 5
taxa_nao_encontrada = 6
i_montante_nao_encontrado = 7.
p_paravlme = v_paravlme.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052I01
MODULE user_command_0001 INPUT.
CASE okcode.
* >> Início da inclusão: MODULE USER_COMMAND_0001
WHEN 'TIPO'.
* << Fim da inclusão
WHEN 'ENTE'.
PERFORM lock_record.
PERFORM seleciona_dados.
PERFORM busca_descricao.
* >> Início da inclusão: MODULE USER_COMMAND_0001
CALL SCREEN '0100'.
* << Fim da inclusão
WHEN 'CANCE'.
LEAVE PROGRAM.
WHEN 'BACK'.
...
...
WHEN 'VINC'.
READ TABLE itab_zycit330 WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-022.
EXIT.
ENDIF.
IF NOT itab_zycit330-nrseqd IS INITIAL.
MESSAGE i015 WITH text-023.
EXIT.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0100
IF /pws/zycie329-tipo EQ 'X'.
* << Fim da inclusão
PERFORM vincula_ato.
* >> Início da inclusão: MODULE USER_COMMAND_0100
ELSE.
PERFORM vincula_ato_susp.
ENDIF.
* << Fim da inclusão
WHEN 'DESV'.
READ TABLE itab_zycit330 WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-022.
EXIT.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0100
SELECT SINGLE * FROM /pws/zycit282 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
SELECT SINGLE * FROM /pws/zycit282 "#EC CI_NOFIRST
* << Fim da inclusão
WHERE docnumimp EQ itab_zycit330-docnum.
IF sy-subrc EQ 0.
MESSAGE i015 WITH text-024.
EXIT.
ENDIF.
CLEAR itab_zycit330.
MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc
WHERE mark EQ 'X'.
WHEN 'CLI'.
CLEAR: v_campo, v_valor, v_index.
...
...
ID 'TCD' FIELD 'ME23N'.
IF sy-subrc = 0.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN."#EC CI_CALLTA
ELSE.
MESSAGE e261(sf) WITH 'ME23N'.
ENDIF.
ELSEIF v_campo = '/PWS/ZYCIE330-NRSEQD' AND NOT v_valor IS
INITIAL.
SET PARAMETER ID '/PWS/ZYCIP435' FIELD v_valor.
CALL TRANSACTION '/PWS/ZYCI040_E'
* >> Início da exclusão: MODULE USER_COMMAND_0100
AND SKIP FIRST SCREEN."#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da inclusão
ELSEIF v_campo = '/PWS/ZYCIE329-DOCNUM' AND NOT v_valor IS
INITIAL.
MOVE v_valor TO v_docnum.
SET PARAMETER ID 'JEF' FIELD v_docnum.
AUTHORITY-CHECK OBJECT 'S_TCODE' ID 'TCD' FIELD 'J1B3'.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0100
CALL TRANSACTION 'J1B3' AND SKIP FIRST SCREEN."#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
CALL TRANSACTION 'J1B3' AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da inclusão
ELSE.
MESSAGE e261(sf) WITH 'J1B3'.
ENDIF.
ENDIF.
WHEN 'P-'.
CLEAR nextline.
DESCRIBE TABLE itab_zycit330 LINES v_ilinhas.
PERFORM blaettern
USING tc_itens-current_line 9 v_ilinhas okcode
CHANGING nextline.
...
...
/pws/zycie330-netpr TO itab_zycit330-netpr ,
/pws/zycie330-waerk TO itab_zycit330-waerk ,
/pws/zycie330-netwr TO itab_zycit330-netwr ,
/pws/zycie330-gewei TO itab_zycit330-gewei ,
/pws/zycie330-ntgew TO itab_zycit330-ntgew ,
/pws/zycie330-nrseqd TO itab_zycit330-nrseqd,
/pws/zycie330-nratoc TO itab_zycit330-nratoc,
/pws/zycie330-nrdi TO itab_zycit330-nrdi ,
/pws/zycie330-tpdi TO itab_zycit330-tpdi ,
/pws/zycie330-dtreg TO itab_zycit330-dtreg ,
* >> Início da inclusão: MODULE ATUALIZA_ZYCIT330
/pws/zycie330-codcomp TO itab_zycit330-codcomp,
/pws/zycie330-nritem TO itab_zycit330-nritem ,
* << Fim da inclusão
/pws/zycie330-ncm TO itab_zycit330-ncm ,
mark TO itab_zycit330-mark .
IF itab_zycit330-nrseqd IS INITIAL.
CLEAR itab_zycit330-nratoc.
ENDIF.
IF NOT /pws/zycie330-ebeln IS INITIAL AND NOT /pws/zycie330-ebelp IS
INITIAL.
MODIFY itab_zycit330 INDEX tc_itens-current_line.
ENDIF.
IF sy-subrc NE 0.
...
...
AND matnr = ekpo-matnr.
IF sy-subrc EQ 0.
MOVE: j_1bnflin-itmnum TO /pws/zycie330-buzei,
ekpo-meins TO /pws/zycie330-meins,
ekpo-j_1bnbm TO /pws/zycie330-ncm ,
/pws/zycie329-waerk TO /pws/zycie330-waerk.
MOVE: ekpo-netpr TO /pws/zycie330-netpr,
ekpo-netwr TO /pws/zycie330-netwr,
ekpo-gewei TO /pws/zycie330-gewei,
ekpo-ntgew TO /pws/zycie330-ntgew.
* >> Início da inclusão: MODULE CARREGA_PEDIDO
MOVE ekpo-matnr TO /pws/zycie330-codcomp.
* << Fim da inclusão
IF ekpo-umrez NE 0 AND ekpo-umren NE 0.
/pws/zycie330-meins = ekpo-lmein.
/pws/zycie330-menge = ( ( ekpo-menge * ekpo-umrez ) / ekpo-umren
).
ELSE.
/pws/zycie330-meins = ekpo-meins.
/pws/zycie330-menge = ekpo-menge.
ENDIF.
ELSE.
MESSAGE i013 WITH text-017.
...
...
MODULE user_command_0200 INPUT.
CASE okcode .
WHEN 'EXIT'.
LEAVE TO SCREEN 100.
WHEN 'VINC'.
READ TABLE itab_vinc WITH KEY mark = 'X'.
IF sy-subrc EQ 0
AND itab_vinc-icon EQ '@5B@'.
itab_zycit330-nrseqd = itab_vinc-nrseqd.
itab_zycit330-nratoc = itab_vinc-nratoc.
* >> Início da exclusão: MODULE USER_COMMAND_0200
MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0200
itab_zycit330-nritem = itab_vinc-nritem.
MODIFY itab_zycit330 TRANSPORTING nrseqd nratoc nritem
* << Fim da inclusão
WHERE docnum EQ itab_zycit330-docnum
AND buzei EQ itab_zycit330-buzei.
delete from /pws/zycit279 where docnum eq itab_zycit330-docnum
* >> Início da exclusão: MODULE USER_COMMAND_0200
and buzei eq itab_zycit330-buzei."#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0200
AND buzei EQ itab_zycit330-buzei. "#EC CI_NOFIRST
* << Fim da inclusão
LEAVE TO SCREEN 100.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052O01
...
itab_zycit330-netpr TO /pws/zycie330-netpr ,
itab_zycit330-waerk TO /pws/zycie330-waerk ,
itab_zycit330-netwr TO /pws/zycie330-netwr ,
itab_zycit330-gewei TO /pws/zycie330-gewei ,
itab_zycit330-ntgew TO /pws/zycie330-ntgew ,
itab_zycit330-nrseqd TO /pws/zycie330-nrseqd,
itab_zycit330-nratoc TO /pws/zycie330-nratoc,
itab_zycit330-nrdi TO /pws/zycie330-nrdi ,
itab_zycit330-tpdi TO /pws/zycie330-tpdi ,
itab_zycit330-dtreg TO /pws/zycie330-dtreg ,
* >> Início da inclusão: MODULE ATUALIZA_ZYCIE330
itab_zycit330-codcomp TO /pws/zycie330-codcomp,
itab_zycit330-nritem TO /pws/zycie330-nritem ,
* << Fim da inclusão
itab_zycit330-ncm TO /pws/zycie330-ncm ,
itab_zycit330-mark TO mark .
DESCRIBE TABLE itab_zycit330 LINES v_line.
tc_itens-lines = v_line + 11.
ENDMODULE.
MODULE set_screen OUTPUT.
IF v_tcode = '/PWS/ZYCI052_E'.
LOOP AT SCREEN.
IF screen-group1 EQ 'OPE'.
screen-input = 0.
...
...
ENDMODULE.
MODULE preenche_tela_200 OUTPUT.
mark = itab_vinc-mark.
ENDMODULE.
MODULE status_0200 OUTPUT.
SET PF-STATUS 'ST0200'.
SET TITLEBAR 'T0200'.
DESCRIBE TABLE itab_vinc LINES v_line.
tc_ato-lines = v_line.
ENDMODULE.
* >> Início da inclusão:
MODULE set_screen_0001 OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE329-TIPO'.
IF v_tcode EQ '/PWS/ZYCI052_A' OR v_tcode EQ '/PWS/ZYCI052_E'.
screen-invisible = 1.
ENDIF.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE329-CICMS'.
IF v_tcode EQ '/PWS/ZYCI052_A' OR v_tcode EQ '/PWS/ZYCI052_E'.
screen-invisible = 1.
ELSEIF v_tcode EQ '/PWS/ZYCI052_C' AND /pws/zycie329-tipo EQ ''.
CLEAR /pws/zycie329-cicms.
screen-invisible = 1.
ENDIF.
ENDIF.
IF screen-name EQ '/PWS/ZYCIE329-CICMS'.
IF /pws/zycie329-tipo EQ 'X'.
screen-invisible = 0.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052TOP
PROGRAM /pws/sapmzyci052 MESSAGE-ID /pws/zycim.
TABLES: /pws/zycit330, /pws/zycit329, /pws/zycie329, /pws/zycie330,
j_1bnfdoc , ekpo , /pws/zycie245, /pws/zycit245,
ekko , /pws/zycit321, /pws/zycit279, /pws/zycit282,
j_1bnflin , mara , rbkp , rseg ,
* >> Início da exclusão:
mseg , chvw ,
j_1bnfstx.
* << Fim da exclusão
* >> Início da inclusão:
mseg , chvw , j_1bnfstx , /pws/zycit433.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit330 OCCURS 10.
INCLUDE STRUCTURE /pws/zycit330.
DATA: mark TYPE c.
DATA: END OF itab_zycit330.
DATA: BEGIN OF itab_zycit330_aux OCCURS 10.
INCLUDE STRUCTURE /pws/zycit330.
DATA: mark TYPE c.
DATA: END OF itab_zycit330_aux.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit330_d OCCURS 10.
INCLUDE STRUCTURE /pws/zycit330.
DATA: mark TYPE c.
DATA: END OF itab_zycit330_d.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit279 OCCURS 10.
INCLUDE STRUCTURE /pws/zycit279.
DATA: END OF itab_zycit279.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit279_d OCCURS 10.
INCLUDE STRUCTURE /pws/zycit279.
DATA: END OF itab_zycit279_d.
DATA: BEGIN OF itab_zycit433 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit433.
DATA: END OF itab_zycit433.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit282 OCCURS 10.
INCLUDE STRUCTURE /pws/zycit282.
DATA: END OF itab_zycit282.
DATA: BEGIN OF itab_rseg OCCURS 10.
INCLUDE STRUCTURE rseg.
DATA: END OF itab_rseg.
DATA: BEGIN OF itab_zycit329 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit329.
DATA: END OF itab_zycit329.
DATA: BEGIN OF itab_ekpo OCCURS 10,
...
...
DATA: END OF itab_j_1bnflin.
DATA: BEGIN OF itab_zycit279_aux OCCURS 10.
INCLUDE STRUCTURE /pws/zycit279.
DATA: END OF itab_zycit279_aux.
DATA: BEGIN OF itab_vinc OCCURS 10.
DATA: icon(4) ,
nrseqd LIKE /pws/zycit244-nrseqd ,
nratoc LIKE /pws/zycit244-nratoc ,
qtd LIKE /pws/zycit245-qtd_tot,
valor LIKE /pws/zycit245-netpr_t,
* >> Início da inclusão:
nritem like /pws/zycit245-nritem ,
* << Fim da inclusão
mark .
DATA: END OF itab_vinc.
DATA wa_zycie329 LIKE /pws/zycie329.
DATA: tdynpread LIKE dynpread OCCURS 0 WITH HEADER LINE.
CONTROLS: tc_itens TYPE TABLEVIEW USING SCREEN 0100,
tc_ato TYPE TABLEVIEW USING SCREEN 0200.
DATA: v_name1 LIKE lfa1-name1 ,
v_waers LIKE /pws/zycit001-waers ,
v_tcode LIKE sy-tcode ,
okcode LIKE sy-ucomm ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE329
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
DOCNUM J_1BDOCNUM J_1BNFDOC NUMC 10
NFNUM /PWS/ZYCIL864 NUMC 9
VLTOT_ME WRBTV_FPM CURR 23
VLUNI_ME /PWS/ZYCIL128 DEC 20
SERIES J_1BSERIES CHAR 3
SUBSER J_1BSUBSER CHAR 2
BUKRS BUKRS T001 CHAR 4
WAERK WAERK TCURC CUKY 5
J_1BBRANCH J_1BBRANC_ J_1BBRANCH CHAR 4
DOCDAT J_1BDOCDAT DATS 8
DATSYS SYDATUM DATS 8
CICMS CHAR1 CHAR 1
* >> Início da inclusão:
TIPO CHAR1 CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE330
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
DOCNUM J_1BDOCNUM NUMC 10
BUZEI RBLGP NUMC 6
EBELN /PWS/ZYCIL600 CHAR 10
EBELP /PWS/ZYCIL548 NUMC 5
LOTE LICHN CHAR 15
MEINS BSTME T006 UNIT 3
MENGE BSTMG QUAN 13
NETPR J_1BNETPRI DEC 16
WAERK WAERK CUKY 5
NETWR J_1BNETVAL CURR 15
GEWEI EGEWE T006 UNIT 3
NTGEW NTGEW_15 QUAN 15
NRATOC CHAR13 CHAR 13
NRSEQD /PWS/ZYCIL601 /PWS/ZYCIT244 CHAR 10
NRDI /PWS/ZYCIL230 /PWS/ZYCIT085 CHAR 10
TPDI /PWS/ZYCIL231 CHAR 1
DTREG DATUM DATS 8
NCM STEUC T604F CHAR 16
* >> Início da inclusão:
CODCOMP MATNR CHAR 18
NRITEM CHAR05 CHAR 5
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT329
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
DOCNUM J_1BDOCNUM J_1BNFDOC NUMC 10
NFNUM /PWS/ZYCIL864 NUMC 9
VLTOT_ME WRBTV_FPM CURR 23
VLUNI_ME /PWS/ZYCIL128 DEC 20
SERIES J_1BSERIES CHAR 3
SUBSER J_1BSUBSER CHAR 2
BUKRS BUKRS T001 CHAR 4
WAERK WAERK TCURC CUKY 5
J_1BBRANCH J_1BBRANC_ J_1BBRANCH CHAR 4
DOCDAT J_1BDOCDAT DATS 8
DATSYS SYDATUM DATS 8
CICMS CHAR1 CHAR 1
* >> Início da inclusão:
TIPO CHAR1 CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT330
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
DOCNUM J_1BDOCNUM NUMC 10
BUZEI RBLGP NUMC 6
EBELN /PWS/ZYCIL600 CHAR 10
EBELP /PWS/ZYCIL548 NUMC 5
LOTE LICHN CHAR 15
MEINS BSTME T006 UNIT 3
MENGE BSTMG QUAN 13
NETPR J_1BNETPRI DEC 16
WAERK WAERK CUKY 5
NETWR J_1BNETVAL CURR 15
GEWEI EGEWE T006 UNIT 3
NTGEW NTGEW_15 QUAN 15
NRATOC CHAR13 CHAR 13
NRSEQD /PWS/ZYCIL601 /PWS/ZYCIT244 CHAR 10
NRDI /PWS/ZYCIL230 /PWS/ZYCIT085 CHAR 10
TPDI /PWS/ZYCIL231 CHAR 1
DTREG DATUM DATS 8
NCM STEUC T604F CHAR 16
* >> Início da inclusão:
CODCOMP MATNR CHAR 18
NRITEM CHAR05 CHAR 5
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MENU /PWS/ZYCID
Forecast ( Planejamento de vendas )
Composição de Drawback Isenção
Ato Concessório
Apropriação de Exportação
Vinculação de Importação
Siscomex
* >> Início da exclusão:
Entrada de Notas Fiscais ( Intermediário-Exportação )
* << Fim da exclusão
* >> Início da inclusão:
Entrada de Notas Fiscais (Mercado Interno)
* << Fim da inclusão
Relatórios
Comprovação Drawback Intermediário-Importação / Comercial Exportadora
Parâmetros