Módulo: DRAWBACK
Funcionalidade: Ato Concessório
Data/Hora da Publicação: 27/07/2009 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:38:32
Descrição da Nota: INCLUI NUMERO DO ITEM NA TABELA /PWS/ZYCIT279
Sintoma
Incluido numero do item na tabela /pws/zycit279 e ajustado os programas do ato concessório,
recebimento e entrada de nota fiscal para tratamento do novo campo.
Solução
Incluido numero do item na tabela /pws/zycit279 e ajustado os programas do ato concessório,
recebimento e entrada de nota fiscal para tratamento do novo campo.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08735 Data: 27/07/2009 Hora: 11:27:11
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08735
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00107
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07616 - 00001 - 7.0 - 00007 - VINCULAÇÃO DE ATO CONCESSÓRIO NA LI
08666 - 00002 - 7.0 - 00010 - DRAWBACK INTERMEDIÁRIO EXPORTAÇÃO EM USD
08721 - 00003 - 7.0 - 00010 - PERMITIR TRANSFERENCIA DE ITENS APENAS SE POSSUIR SALDO TOTAL.
----------------------------------------------------------------------------------------------------
INCLUI NUMERO DO ITEM NA TABELA /PWS/ZYCIT279
----------------------------------------------------------------------------------------------------
Palavras Chave:
NRITEM - NUMERO - ITEM - ATO - CONCESSÓRIO - TABELA - RECEBIMENTO -
/PWS/ZYCIT279 - /PWS/SAPMZYCI040 - /PWS/SAPMZYCI017 - /PWS/SAPMZYCI052
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI040F02
REPS /PWS/MZYCI052F01
REPS /PWS/ZYCIR279
TABD /PWS/ZYCIT279
TRAN /PWS/ZYCIR279
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
itab_ekpo2-aedat
CHANGING itab_zycit376-vlfob .
ENDIF.
CLEAR: v_variacfob.
IF NOT itab_zycit279-menge IS INITIAL
AND NOT itab_zycit376-qtd_apro IS INITIAL.
v_variacfob = itab_zycit279-menge *
( ( itab_zycit376-vlfob / itab_zycit376-qtd_apro ) -
( itab_zycit279-vltot / itab_zycit279-menge ) ).
ENDIF.
* >> Início da inclusão: FORM ADICIONA_SALDO_ATO
itab_zycit279-nritem = itab_zycit245-nritem.
* << Fim da inclusão
itab_zycit245-vlvinc = itab_zycit245-vlvinc - v_variacfob.
MODIFY itab_zycit245 TRANSPORTING vlvinc WHERE
nrseqd EQ itab_zycit245-nrseqd AND
nritem EQ itab_zycit245-nritem.
UPDATE /pws/zycit245 SET vlvinc = itab_zycit245-vlvinc
WHERE nrseqd EQ itab_zycit245-nrseqd
AND nritem EQ itab_zycit245-nritem.
ENDIF.
PERFORM taxa_converte USING /pws/zycit001-waers
/pws/zycit085-dttax
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI040F02
...
ENDIF.
FREE itab_zycit279_ap_aux.
SELECT * FROM /pws/zycit282 INTO TABLE itab_zycit282_ap
WHERE nrseqd EQ /pws/zycie244-nrseqd. "#EC CI_NOFIRST
LOOP AT itab_zycit279_ap.
IF itab_zycit279_ap-dtdi IS INITIAL.
MOVE itab_zycit279_ap-dtnf TO itab_data_di-data.
ELSE.
MOVE itab_zycit279_ap-dtdi TO itab_data_di-data.
ENDIF.
* >> Início da inclusão: FORM CARREGA_TABELA279
IF NOT itab_data_di-data IS INITIAL.
* << Fim da inclusão
APPEND itab_data_di.
* >> Início da inclusão: FORM CARREGA_TABELA279
ENDIF.
* << Fim da inclusão
CLEAR: itab_zycit279_ap-qtd_perda, itab_zycit279_ap-qtd_perda_e.
LOOP AT itab_zycit282_ap
WHERE nrseqimp EQ itab_zycit279_ap-nrseq
AND ebeln EQ itab_zycit279_ap-ebeln
AND ebelp EQ itab_zycit279_ap-ebelp.
itab_zycit279_ap-qtd_perda = itab_zycit279_ap-qtd_perda +
...
...
MODIFY itab_zycit245_s TRANSPORTING vinculado vlvinc
WHERE nrseqd = itab_zycit245_s-nrseqd
AND nritem = itab_zycit245_s-nritem.
IF sy-subrc NE 0 .
APPEND itab_zycit245_s.
ENDIF.
itab_zycit279_ap_s = itab_zycit279_ap.
itab_zycit279_ap_s-menge =
itab_zycit279_ap_s-slqtde = itab_zycit279_ap-qtd_transf .
itab_zycit279_ap_s-nrseqd = itab_zycit279_ap-nrseqd_d .
* >> Início da inclusão: FORM SALVA_APONT
itab_zycit279_ap_s-nritem = itab_zycit245_s-nritem.
* << Fim da inclusão
CLEAR:
itab_zycit279_ap_s-nrseqd_d, itab_zycit279_ap_s-perda,
itab_zycit279_ap_s-qtd_perda, itab_zycit279_ap_s-qtd_transf,
itab_zycit279_ap_s-transf, itab_zycit279_ap_s-vlpis,
itab_zycit279_ap_s-multapis, itab_zycit279_ap_s-vmultapis,
itab_zycit279_ap_s-jurospis, itab_zycit279_ap_s-vjurospis,
itab_zycit279_ap_s-vlcof, itab_zycit279_ap_s-multacof,
itab_zycit279_ap_s-vmultacof, itab_zycit279_ap_s-juroscof,
itab_zycit279_ap_s-vjuroscof, itab_zycit279_ap_s-vafrmm,
itab_zycit279_ap_s-multaafrmm, itab_zycit279_ap_s-vmultaafrmm,
...
...
ENDIF.
LOOP AT itab_zycit279_ap.
MOVE-CORRESPONDING itab_zycit279_ap TO itab_zycit246_final.
MOVE: itab_zycit279_ap-um_base TO itab_zycit246_final-meins.
itab_zycit246_final-um_ncm = itab_zycit279_ap-meins.
itab_zycit246_final-qtd_nacion = itab_zycit279_ap-slqtde -
itab_zycit279_ap-qtd_transf.
itab_zycit246_final-qtd_ncm = itab_zycit279_ap-menge.
itab_zycit246_final-qtd_compv = itab_zycit279_ap-menge -
itab_zycit279_ap-slqtde.
* >> Início da inclusão: FORM MOVE_REALIZ
IF NOT itab_zycit279_ap-nritem IS INITIAL.
APPEND itab_zycit246_final.
CONTINUE.
ENDIF.
* << Fim da inclusão
IF /pws/zycie244-tipo EQ 'F' OR
( ( /pws/zycie244-tipo EQ 'C' OR
/pws/zycie244-tipo EQ 'N' ) AND
/pws/zycit321-c_comum EQ 'X' AND
/pws/zycie244-modalidade NE 'I' ) OR
( /pws/zycie244-modalidade EQ 'I' AND
/pws/zycit321-it_ge EQ 'X' ).
IF /pws/zycie244-modalidade EQ 'S' AND
/pws/zycie244-tipo NE 'F'.
IF itab_zycit246_final-nrseqdi IS INITIAL.
...
...
ENDIF.
ELSE.
READ TABLE itab_zycit245 WITH KEY
codcomp = itab_zycit433-matnr.
ENDIF.
ENDIF.
ENDIF.
itab_zycit246_final-nritem = itab_zycit245-nritem.
itab_zycit246_final-codcomp = itab_zycit279_ap-matnr.
ENDIF.
* >> Início da inclusão: FORM MOVE_REALIZ
itab_zycit279_ap-nritem = itab_zycit246_final-nritem.
MODIFY itab_zycit279_ap.
* << Fim da inclusão
APPEND itab_zycit246_final.
ENDLOOP.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI052F01
...
/pws/zycit279-vltot = itab_zycit330-vltot.
ELSE.
/pws/zycit279-vlfrete = j_1bnflin-netfre.
/pws/zycit279-vlseg = j_1bnflin-netins.
/pws/zycit279-vltot = itab_zycit330-netwr.
ENDIF.
MOVE: itab_zycit330-ebeln TO /pws/zycit279-ebeln ,
itab_zycit330-ebelp TO /pws/zycit279-ebelp ,
itab_zycit330-docnum TO /pws/zycit279-docnum ,
itab_zycit330-nrseqd TO /pws/zycit279-nrseqd ,
* >> Início da inclusão: FORM SALVAR_DADOS
itab_zycit330-nritem TO /pws/zycit279-nritem ,
* << Fim da inclusão
itab_zycit330-menge TO /pws/zycit279-menge ,
itab_zycit330-menge TO /pws/zycit279-slqtde ,
itab_zycit330-meins TO /pws/zycit279-meins ,
itab_j_1bnflin-werks TO /pws/zycit279-werks ,
itab_zycit330-buzei TO /pws/zycit279-buzei ,
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_zycit245-waers TO /pws/zycit279-waers ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR279
* >> Início da inclusão:
REPORT /pws/zycir279 .
TABLES: /pws/zycit279,
/pws/zycit321.
DATA: itab_zycit279 TYPE /pws/zycit279 OCCURS 0 WITH HEADER LINE,
itab_zycit244 TYPE /pws/zycit244 OCCURS 0 WITH HEADER LINE,
itab_zycit245 TYPE /pws/zycit245 OCCURS 0 WITH HEADER LINE,
itab_zycit433 TYPE /pws/zycit433 OCCURS 0 WITH HEADER LINE,
v_grupo TYPE /pws/zycit433-grupo.
SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244. "#EC CI_NOWHERE
SELECT * FROM /pws/zycit245 INTO TABLE itab_zycit245. "#EC CI_NOWHERE
SELECT * FROM /pws/zycit279 INTO TABLE itab_zycit279. "#EC CI_NOWHERE
SELECT * FROM /pws/zycit433 INTO TABLE itab_zycit433. "#EC CI_NOWHERE
SELECT SINGLE * FROM /pws/zycit321. "#EC CI_NOWHERE
LOOP AT itab_zycit279 WHERE nritem EQ space.
CLEAR: v_grupo.
IF itab_zycit244-nrseqd NE itab_zycit279-nrseqd.
READ TABLE itab_zycit244 WITH KEY nrseqd = itab_zycit279-nrseqd.
ENDIF.
IF itab_zycit244-tipo EQ 'G'.
itab_zycit279-nritem = '90001'.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi EQ space.
itab_zycit279-nritem = '00001'.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi NE space.
CONTINUE.
ENDIF.
IF itab_zycit244-tipo EQ 'F' OR
( ( itab_zycit244-tipo EQ 'C' OR
itab_zycit244-tipo EQ 'N' ) AND
/pws/zycit321-c_comum EQ 'X' AND
itab_zycit244-modalidade NE 'I' ) OR
( itab_zycit244-modalidade EQ 'I' AND
/pws/zycit321-it_ge EQ 'X' ).
IF itab_zycit244-modalidade EQ 'S' AND
itab_zycit244-tipo NE 'F'.
IF itab_zycit279-nrseqdi IS INITIAL.
LOOP AT itab_zycit245
WHERE j_1bnbm = itab_zycit279-j_1bnbm
AND nrseqd = itab_zycit279-nrseqd
AND nritem > 90000. "#EC PORTABLE
EXIT.
ENDLOOP.
ELSE.
LOOP AT itab_zycit245
WHERE j_1bnbm = itab_zycit279-j_1bnbm
AND nrseqd = itab_zycit279-nrseqd
AND nritem < 90000. "#EC PORTABLE
EXIT.
ENDLOOP.
ENDIF.
ELSE.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit279-nrseqd
j_1bnbm = itab_zycit279-j_1bnbm.
ENDIF.
itab_zycit279-nritem = itab_zycit245-nritem.
ELSE.
IF /pws/zycit321-it_ge EQ 'X' AND
itab_zycit244-modalidade EQ 'I'.
CLEAR:itab_zycit433.
READ TABLE itab_zycit433 WITH KEY matnr = itab_zycit279-matnr.
v_grupo = itab_zycit433-grupo.
IF v_grupo IS INITIAL.
CONTINUE.
ENDIF.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit279-nrseqd
grupo = itab_zycit433-grupo.
ELSE.
IF itab_zycit244-modalidade EQ 'S' AND
itab_zycit244-tipo NE 'F'.
IF itab_zycit279-nrseqdi IS INITIAL.
LOOP AT itab_zycit245
WHERE codcomp = itab_zycit279-matnr
AND nrseqd = itab_zycit279-nrseqd
AND nritem > 90000. "#EC PORTABLE
EXIT.
ENDLOOP.
ELSE.
LOOP AT itab_zycit245
WHERE codcomp = itab_zycit279-matnr
AND nrseqd = itab_zycit279-nrseqd
AND nritem < 90000. "#EC PORTABLE
EXIT.
ENDLOOP.
ENDIF.
ELSE.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit279-nrseqd
codcomp = itab_zycit279-matnr.
ENDIF.
IF sy-subrc NE 0.
CLEAR:itab_zycit433.
READ TABLE itab_zycit433 WITH KEY matnr = itab_zycit279-matnr.
v_grupo = itab_zycit433-grupo.
IF v_grupo IS INITIAL.
CONTINUE.
ENDIF.
CLEAR: itab_zycit245.
LOOP AT itab_zycit433 WHERE grupo EQ v_grupo.
IF itab_zycit244-modalidade EQ 'S' AND
itab_zycit244-tipo NE 'F'.
IF itab_zycit279-nrseqdi IS INITIAL.
LOOP AT itab_zycit245
WHERE codcomp = itab_zycit433-matnr
AND nrseqd = itab_zycit279-nrseqd
AND nritem > '90000'. "#EC PORTABLE
EXIT.
ENDLOOP.
ELSE.
LOOP AT itab_zycit245
WHERE codcomp = itab_zycit433-matnr
AND nrseqd = itab_zycit279-nrseqd
AND nritem < '90000'. "#EC PORTABLE
EXIT.
ENDLOOP.
ENDIF.
ELSE.
READ TABLE itab_zycit245 WITH KEY
nrseqd = itab_zycit279-nrseqd
codcomp = itab_zycit433-matnr.
ENDIF.
IF itab_zycit245-nritem IS INITIAL.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
itab_zycit279-nritem = itab_zycit245-nritem.
ENDIF.
IF v_grupo IS INITIAL.
IF itab_zycit279-nrseqdi IS INITIAL.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi EQ space
AND matnr EQ itab_zycit279-matnr.
ELSE.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi NE space
AND matnr EQ itab_zycit279-matnr.
ENDIF.
ELSE.
LOOP AT itab_zycit433 WHERE grupo EQ v_grupo.
IF itab_zycit279-nrseqdi IS INITIAL.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi EQ space
AND matnr EQ itab_zycit433-matnr.
ELSE.
MODIFY itab_zycit279 TRANSPORTING nritem
WHERE nrseqd EQ itab_zycit279-nrseqd
AND nrseqdi NE space
AND matnr EQ itab_zycit433-matnr.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
MODIFY /pws/zycit279 FROM TABLE itab_zycit279.
MESSAGE s015(/pws/zycim) WITH text-001.
.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI040
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 001
Texto: (11 caracteres)
"Atualizada tabela /pws/zycit279 com sucesso!"
Comprimento máximo: 50
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT279
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
...
ATOCONCES CHAR13 CHAR 13
WERKS WERKS_D CHAR 4
COB_CAMB /PWS/ZYCIL841 CHAR 1
* >> Início da inclusão:
NRITEM CHAR05 CHAR 5
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TRAN /PWS/ZYCIR279
*Criar transação: /PWS/ZYCIR279
*Tipo de transação: Programa e tela de seleção (transação de report)
*Código de transação: /PWS/ZYCIR279
*Cl.desenvolvimento: /PWS/ZYCI
*Texto da transação: Preenche nritem da tab /pws/zycit
*Programa: /PWS/ZYCIR279
*Tela de seleção: 1000