Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DA
Data/Hora da Publicação: 20/10/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:52:40
Descrição da Nota: AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES
Sintoma
Ajustes feitos na DA para tratamento de Centros diferentes e controle de lote por pedido e item.
Solução
Desenvolvimento adicional
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02291 Data: 20/10/2006 Hora: 21:47:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02291
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00136
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01282 - 00001 - 6.0 - 00023 - DESEMVOLVIMENTO DA DECLARAÇÃO DE ADMISSÃO (DA)
01323 - 00003 - 6.0 - 00023 - DECLARAÇÃO DE ADMISSÃO PARA ENTREPOSTO ADUANEIRO
01350 - 00002 - 6.0 - 00023 - AJUSTES DE CAMPOS E CONSISTÊNCIAS NO EMBARQUE DE NACIONALIZAÇÃO.
01450 - 00004 - 6.0 - 00023 - INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.
01806 - 00005 - 6.0 - 00024 - DA: Nº DO BL
02122 - 00006 - 6.0 - 00024 - AJUSTES CONSISTÊNCIAS ITENS NA DA, FECHAMENTO DE PASTAS
02153 - 00007 - 6.0 - 00025 - A PASTA DE LOTE DO FORNECEDOR TEM PEDIDO/ITEM NA DA QUANDO FOR RE
----------------------------------------------------------------------------------------------------
AJUSTES FEITOS NA DA PARA TRATAMENTO DE CENTROS DIFERENTES
----------------------------------------------------------------------------------------------------
Palavras Chave:
DA - CENTROS DIFERENTES - PEDIDO E ITEM - ALTERAÇÃO DE CENTROS
EMBARQUE - LOTES
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCI070
DYNP /PWS/SAPMZYCI070 0160
DYNP /PWS/SAPMZYCI070 0220
MERG F6DK937887 20061018 164956 PWSCI
MERG F6DK937887 20061020 214652 PWSCI
MERG F6DK937975 20061018 165003 PWSCI
MERG F6DK938031 20061018 165011 PWSCI
MERG F6DK938031 20061020 214702 PWSCI
MERG F6DK938284 20061018 165018 PWSCI
MERG F6DK938284 20061020 214709 PWSCI
REPS /PWS/MZYCI070F01
REPS /PWS/MZYCI070F03
REPS /PWS/MZYCI070F05
REPS /PWS/MZYCI070I01
REPS /PWS/MZYCI070O01
REPS /PWS/MZYCI070X01
REPT /PWS/SAPMZYCI070
TABD /PWS/ZYCIT467
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI070
Status Tipo Code de objeto Code de objeto Descrição
0151 D 000014 000014 0001 Botoes
0152 D 000016 000016 0001 CI - Transferência de Saldo
Code de objeto Code Item Tecla de função Código de função Id Exibição
Texto de ícones
000014 0001 01 F8 EXEC
informativo Botões CI - Transferência de Saldo
Code de objeto Code Item Tecla de função Código de função Id Exibição
Texto de ícones
000016 0001 01 F8 EXEC
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0160
*Diferenças na lista de elementos
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
*de:
+ TC_DESP
Tabel 1 2 106 106 12
Seleção linha=Simples, Seleção coluna=Simples
TabEntr., Com título, LSep.horiz., LnhSep.vert.
*para:
+ TC_DESP
Tabel 1 2 106 106 12
Seleção linha=Simples, Seleção coluna=Simples
TabEntr., Com título, LSep.horiz., LnhSep.vert.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0150
*OS SEGUINTES CAMPOS FORAM INSERIDOS
Nome
Ctg. Linha Coluna CmprDf CmVis Altura Format Dict Modif At.Des.Só At
Gr1 Gr2 Gr3 Gr4 SPA GPA ID parâm Cód.F TCmp TpoLoopExbLoop
Outros atributos
BTNT0150_06
Push 1 16 30 2 1 CHAR
CRIA
Ícn.=ICON_CREATE
BTNT0150_07
Push 1 19 22 2 1 CHAR
TRAN
Ícn.=ICON_SYSTEM_UNDO
- /PWS/ZYCIE443A-WERKS
Texto 1 5 15 4 1 CHAR X 2
WRK
Título de coluna TC
- /PWS/ZYCIE443A-WERKS
I/O 1 5 4 4 1 CHAR X Off
WRK
Botão EntrsPoss.stand., Elem.TC, Col.fixa TC
*OS SEGUINTES CAMPOS FORAM MODIFICADOS
*DE:
+ TC_ITEM
Tabel 2 1 120 120 17
Seleção linha=Múltipla, Seleção coluna=Múltipla
TabEntr., Com título, Coluna marc., LSep.horiz., LnhSep.vert.
- /PWS/ZYCIE443A-NRSEQ
Texto 1 1 8 10 1 CHAR X F
/PWS/ZYCIP001
Título de coluna TC, Col.fixa TC
- /PWS/ZYCIE443A-QTD_ITEN
Texto 1 5 10 14 1 CHAR X F
Título de coluna TC, Col.fixa TC
- TXT02
Texto 1 6 7 13 1 CHAR
Título de coluna TC
- TXT01
Texto 1 7 11 12 1 CHAR
Título de coluna TC
- /PWS/ZYCIE443A-J_1BNBM
Texto 1 8 3 11 1 CHAR X F
Título de coluna TC, Col.fixa TC
- TXT03
Texto 1 9 10 17 1 CHAR
Título de coluna TC
- /PWS/ZYCIE443A-LIFNR
Texto 1 10 15 10 1 CHAR X F
LIF
Título de coluna TC, Col.fixa TC
- /PWS/ZYCIE443A-NRSEQ
I/O 1 1 10 10 1 CHAR X Off
SPA GPA /PWS/ZYCIP001
Dest, Elem.TC, Col.fixa TC
- /PWS/ZYCIE443A-QTD_ITEN
I/O 1 5 19 14 1 DEC X Off S.Sd
Alinh.à dir., Elem.TC, Col.fixa TC
- V_QTD_DA
I/O 1 6 19 13 1 DEC Off
AC
Alinh.à dir., Elem.TC, Col.fixa TC
- V_SALDO_DA
I/O 1 7 19 12 1 DEC Off S.Sd
Alinh.à dir., PossRol, Elem.TC, Col.fixa TC
- /PWS/ZYCIE443A-J_1BNBM
I/O 1 8 16 11 1 CHAR X Off S.Sd
PossRol, Elem.TC, Col.fixa TC
- V_VLREAL
I/O 1 9 26 17 1 DEC Off
AC
Alinh.à dir., Elem.TC, Col.fixa TC
- /PWS/ZYCIE443A-LIFNR
I/O 1 10 10 10 1 CHAR X Off S.Sd
SPA GPA LIF
Botão EntrsPoss.stand., Elem.TC, Col.fixa TC
Saída de conversão=ALPHA
*PARA:
+ TC_ITEM
Tabel 2 1 117 117 17
Seleção linha=Múltipla, Seleção coluna=Múltipla
TabEntr., Com título, Coluna marc., LSep.horiz., LnhSep.vert.
- /PWS/ZYCIE443A-NRSEQ
Texto 1 1 8 4 1 CHAR X F
Título de coluna TC, Col.fixa TC
- /PWS/ZYCIE443A-QTD_ITEN
Texto 1 6 10 14 1 CHAR X F
Título de coluna TC, Col.fixa TC
- TXT02
Texto 1 7 7 13 1 CHAR
Título de coluna TC
- TXT01
Texto 1 8 11 12 1 CHAR
Título de coluna TC
- /PWS/ZYCIE443A-J_1BNBM
Texto 1 9 3 11 1 CHAR X F
Título de coluna TC, Col.fixa TC
- TXT03
Texto 1 10 10 17 1 CHAR
Título de coluna TC
- /PWS/ZYCIE443A-LIFNR
Texto 1 11 15 10 1 CHAR X F
Título de coluna TC, Col.fixa TC
- /PWS/ZYCIE443A-NRSEQ
I/O 1 1 10 4 1 CHAR X Off
SPA GPA /PWS/ZYCIP001
Dest, PossRol, Elem.TC, Col.fixa TC
- /PWS/ZYCIE443A-EBELN
I/O 1 2 10 10 1 CHAR X Off
SPA GPA BES
Dest, Botão EntrsPoss.stand., Elem.TC, Col.fixa TC
Saída de conversão=ALPHA
- V_QTD_DA
I/O 1 7 19 13 1 DEC Off
AC
Alinh.à dir., Elem.TC
- V_SALDO_DA
I/O 1 8 19 12 1 DEC Off S.Sd
Alinh.à dir., PossRol, Elem.TC
- /PWS/ZYCIE443A-J_1BNBM
I/O 1 9 16 11 1 CHAR X Off S.Sd
PossRol, Elem.TC
- V_VLREAL
I/O 1 10 26 17 1 DEC Off
AC
Alinh.à dir., Elem.TC
- /PWS/ZYCIE443A-LIFNR
I/O 1 11 10 10 1 CHAR X Off S.Sd
SPA GPA LIF
Botão EntrsPoss.stand., Elem.TC
Saída de conversão=ALPHA
OK
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0151
*download de tela 151
*<<Inicio Download
****************************************************************
* THIS FILE IS GENERATED BY THE SCREEN PAINTER. *
* NEVER CHANGE IT MANUALLY, PLEASE ! *
****************************************************************
%_DYNPRO
/PWS/SAPMZYCI070
0151
46C
40
%_HEADER
/PWS/SAPMZYCI070 0151 0151 18 77192 35 0 0 27120 0G P
20061021154248
%_DESCRIPTION
Criar Item de Pedido
%_FIELDS
V_CENTRO_
0CHAR 140000003000 3 4 0 0 0 0 0 0
Centro_do_Item
X
V_CENTRO
CCHAR 48000800000 3 24 0 0 0 0 0 0
____
TC_LOTE_AUX
75F5C0000000 5 4E101 1 1 14T 0 0
PED
0CHAR 60000003080 1 1T101 1 1 10 0 0
Pedido
ITEM
0CHAR 40000003080 1 2T101 1 1 5 0 0
Item
LOTE
0CHAR 40000003080 1 3T101 1 1 15 0 0
Lote
SALDO
0CHAR 50000003080 1 4T101 1 1 18 0 0
Saldo
QTD
0CHAR 100000003080 1 5T101 1 1 18 0 0
Quantidade
ITAB_LOTE_AUX-EBELN
CCHAR 108100803000 1 1T101 1 1 10 0 0
__________
ITAB_LOTE_AUX-EBELP
NNUMC 58100803000 1 2T101 1 1 5 0 0
_____
ITAB_LOTE_AUX-LOTE_FORN
CCHAR 158100803000 1 3T101 1 1 15 0 0
_______________
ITAB_LOTE_AUX-QTD_LOTE
PDEC 188000803000 1 4T101 1 1 18 0 0
__________________
ITAB_LOTE_AUX-QTD_LOTE_DIF
PDEC 188000800000 1 5T101 1 1 18 0 0
__________________
OKCODE
CHAR 208010000000255 1O 0 0 0 0 0 0
____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
MODULE STATUS_0151.
LOOP AT itab_lote_aux with control tc_lote_aux
CURSOR tc_lote-current_line.
endloop.
*
PROCESS AFTER INPUT.
LOOP AT itab_lote_aux.
module altera_itab_lote_aux.
endloop.
MODULE USER_COMMAND_0151.
%_PARAMS
*<<Fim download
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0152
*download de tela 152
*<<Inicio download
****************************************************************
* THIS FILE IS GENERATED BY THE SCREEN PAINTER. *
* NEVER CHANGE IT MANUALLY, PLEASE ! *
****************************************************************
%_DYNPRO
/PWS/SAPMZYCI070
0152
46C
40
%_HEADER
/PWS/SAPMZYCI070 0152 0152 16 75192 35 0 0 27120 0G P
20061021154334
%_DESCRIPTION
Criar Item de Pedido
%_FIELDS
TC_LOTE_AUX2
73F5C0000000 3 4E101 1 1 14T 0 0
PED
0CHAR 60000003080 1 1T101 1 1 10 0 0
Pedido
ITEM
0CHAR 40000003080 1 2T101 1 1 5 0 0
Item
LOTE
0CHAR 40000003080 1 3T101 1 1 15 0 0
Lote
SALDO
0CHAR 50000003080 1 4T101 1 1 18 0 0
Saldo
QTD
0CHAR 100000003080 1 5T101 1 1 18 0 0
Quantidade
ITAB_LOTE_AUX-EBELN
CCHAR 108100803000 1 1T101 1 1 10 0 0
__________
ITAB_LOTE_AUX-EBELP
NNUMC 58100803000 1 2T101 1 1 5 0 0
_____
ITAB_LOTE_AUX-LOTE_FORN
CCHAR 158100803000 1 3T101 1 1 15 0 0
_______________
ITAB_LOTE_AUX-QTD_LOTE
PDEC 188000803000 1 4T101 1 1 18 0 0
__________________
ITAB_LOTE_AUX-QTD_LOTE_DIF
PDEC 188000800000 1 5T101 1 1 18 0 0
__________________
OKCODE
CHAR 208010000000255 1O 0 0 0 0 0 0
____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
MODULE STATUS_0152.
LOOP AT itab_lote_aux with control tc_lote_aux2
CURSOR tc_lote_aux2-current_line.
endloop.
*
PROCESS AFTER INPUT.
LOOP AT itab_lote_aux.
module altera_itab_lote_aux2.
endloop.
MODULE USER_COMMAND_0152.
%_PARAMS
*<<Fim download
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI070 0220
*download de tela 220
*<<Inicio Download
****************************************************************
* THIS FILE IS GENERATED BY THE SCREEN PAINTER. *
* NEVER CHANGE IT MANUALLY, PLEASE ! *
****************************************************************
%_DYNPRO
/PWS/SAPMZYCI070
0220
46C
40
%_HEADER
/PWS/SAPMZYCI070 0220I0220 13115192 35 0 0 27120 0G P
20061020162937
%_DESCRIPTION
CI - Informações de Lotes
%_FIELDS
BTNT220_01
CHAR 210000003000 1 4 0 0 0 2P 0 0102
@18\QElimina_itens@__
DELP
BTNT220_02
CHAR 40000003000 1 7 0 0 0 2P 0 0103
@4B@
MARC
BTNT220_03
CHAR 60000003000 1 10 0 0 0 2P 0 0104
@4D@__
DESM
TC_LOTE
113F9F8000000 2 4E101 1 1 12T 0 0
/PWS/ZYCIE463-EBELN
0CHAR 63000003080 1 1T101 1 1 10 0 0
Pedido
/PWS/ZYCIE463-EBELP
0CHAR 43000003080 1 2T101 1 1 6 0 0
Item
/PWS/ZYCIE463-LOTE_FORN
2CHAR 153000003080 1 3T101 1 1 15 0 0
Lote_fornecedor
/PWS/ZYCIE463-NUMFATURA
2CHAR 123000003080 1 4T101 1 1 17 0 0
Nº_da_Fatura
/PWS/ZYCIE463-MATNR
2CHAR 153000003080 1 5T101 1 1 18 0 0
Material_______
/PWS/ZYCIE463-QTD_LOTE
0CHAR 183000003080 1 6T101 1 1 18 0 0
Quantidade_do_lote
/PWS/ZYCIE463-DT_FABRICACAO
2CHAR 183000003080 1 7T101 1 1 11 0 0
Data_da_Fabricação
/PWS/ZYCIE463-DT_VALIDADE
2CHAR 163000003080 1 8T101 1 1 10 0 0
Data_de_Validade
V_PRAZO
0CHAR 210000003080 1 9T101 1 1 4 0 0
Prazo_para_vencimento
/PWS/ZYCIE463-QTD_NAC
0CHAR 243000003080 1 10T101 1 1 18 0 0
Quantidade_Nacionalizada
V_MARK
CHAR 18000800020 1 0T101 1 1 1C 0 0105
_
/PWS/ZYCIE463-EBELN
CCHAR 10A000807008 1 1T101 1 1 10 BES ALPHA 10 0
AC __________
X
/PWS/ZYCIE463-EBELP
NNUMC 5A000807008 1 2T101 1 1 6 BSP 5 0
AC _____
/PWS/ZYCIE463-LOTE_FORN
CCHAR 15A000807000 1 3T101 1 1 15 15 0
AC _______________
/PWS/ZYCIE463-NUMFATURA
CCHAR 20A100807000 1 4T101 1 1 17 20 0
AC ____________________
/PWS/ZYCIE463-MATNR
CCHAR 18A100807000 1 5T101 1 1 18 MAT MATN1 18 0
AC __________________
X
/PWS/ZYCIE463-QTD_LOTE
PQUAN 18A020907000 1 6T101 1 1 18 13 3 /PWS/ZYCIT443-MEINS
AC _.___.___.___,___V
/PWS/ZYCIE463-DT_FABRICACAO
DDATS 10A000807008 1 7T101 1 1 11 8 0
AC __________
X
/PWS/ZYCIE463-DT_VALIDADE
DDATS 10A000807008 1 8T101 1 1 10 8 0
AC __________
X
V_PRAZO
NNUMC 48020803000 1 9T101 1 1 6 0 0
____
/PWS/ZYCIE463-QTD_NAC
PQUAN 18B020907000 1 10T101 1 1 18 13 3 /PWS/ZYCIT443-MEINS
_.___.___.___,___V
CHAR 208010080000255 1O 0 0 0 0 0 0
____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
MODULE: set_screen.
MODULE: define_linhas_lote.
MODULE SET_STATUS_ITEM.
LOOP AT itab_lote with control tc_lote CURSOR tc_lote-current_line.
MODULE: set_status_lote.
MODULE: carrega_estrutura_lote.
module set_screen_lines.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_lote.
CHAIN.
FIELD: /pws/zycie463-ebeln,
/pws/zycie463-ebelp
MODULE valida_pedido ON INPUT.
ENDCHAIN.
FIELD /pws/zycie463-numfatura
MODULE valida_fatura ON INPUT.
CHAIN.
FIELD /pws/zycie463-matnr
MODULE valida_material.
ENDCHAIN.
FIELD /pws/zycie463-dt_fabricacao
MODULE valida_data_fabricacao ON INPUT.
FIELD /pws/zycie463-dt_validade
MODULE valida_data_validade ON INPUT.
field /PWS/ZYCIE463-LOTE_FORN
module valida_lote on CHAIN-REQUEST.
MODULE carrega_tabela_lote.
ENDLOOP.
MODULE valida_quantidade.
MODULE user_command_0220.
PROCESS ON VALUE-REQUEST.
FIELD /pws/zycie463-ebeln
MODULE matchcode_pedido.
FIELD /pws/zycie463-ebelp
MODULE matchcode_item.
%_PARAMS
*<<Fim download
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F01
...
ENDFORM.
FORM save_data.
DATA v_itseqda TYPE /pws/zycie455-itseqda.
DATA v_nrseqlote TYPE /pws/zycie463-nrseqlote.
DATA vl_erro.
* >> Início da inclusão: FORM SAVE_DATA
DATA v_matnr TYPE ekpo-matnr.
* << Fim da inclusão
LOOP AT itab_it WHERE qtd_da IS initial.
EXIT.
ENDLOOP.
IF sy-subrc EQ 0.
MESSAGE i104 WITH text-492 text-493.
...
...
IF NOT vl_erro IS INITIAL.
MESSAGE e013 WITH text-455.
ENDIF.
ENDIF.
PERFORM verifica_nrdi.
* >> Início da inclusão: FORM SAVE_DATA
CLEAR v_erro_lote.
* << Fim da inclusão
LOOP AT itab_zycit463.
* >> Início da exclusão: FORM SAVE_DATA
CLEAR v_erro_lote.
* << Fim da exclusão
CLEAR itab_it.
...
...
MESSAGE i015 WITH text-489
itab_zycit463-ebeln
itab_zycit463-ebelp
text-490.
v_erro_lote = 'S'.
* >> Início da inclusão: FORM SAVE_DATA
EXIT.
ENDIF.
IF itab_zycit463-lote_forn IS INITIAL.
v_erro_lote = 'X'.
* << Fim da inclusão
ENDIF.
ENDLOOP.
IF v_erro_lote = 'S'.
EXIT.
* >> Início da inclusão: FORM SAVE_DATA
ELSEIF v_erro_lote = 'X'.
MESSAGE i015 WITH text-506.
EXIT.
* << Fim da inclusão
ENDIF.
CLEAR: v_qtd_lote.
LOOP AT itab_it.
ON CHANGE OF itab_it-ebeln
OR itab_it-ebelp.
...
...
LOOP AT itab_lote WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
v_qtd_lote = v_qtd_lote + itab_lote-qtd_lote.
ENDLOOP.
IF v_qtd_lote GT itab_it-qtd_da.
* >> Início da exclusão: FORM SAVE_DATA
MESSAGE s039 WITH text-498.
* << Fim da exclusão
v_erro_lote = 'S'.
ENDIF.
ENDLOOP.
IF v_erro_lote = 'S'.
* >> Início da inclusão: FORM SAVE_DATA
MESSAGE i039 WITH text-498.
EXIT.
ENDIF.
IF /pws/zycie442-codreg EQ '02'.
READ TABLE itab_it INDEX 1.
v_matnr = itab_it-matnr.
LOOP AT itab_it WHERE matnr NE v_matnr.
ENDLOOP.
IF sy-subrc EQ 0.
MESSAGE i039 WITH text-524.
* << Fim da inclusão
EXIT.
ENDIF.
* >> Início da inclusão: FORM SAVE_DATA
ENDIF.
* << Fim da inclusão
IF v_dit = 'N'.
IF NOT /pws/zycie442-waersfob IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersfob
/pws/zycie442-dttax
...
...
MODIFY /pws/zycit453 FROM TABLE itab_zycit453.
DELETE FROM /pws/zycit454 WHERE nrseqda = /pws/zycie442-nrseqda.
MODIFY /pws/zycit454 FROM TABLE itab_zycit454.
DELETE FROM /pws/zycit460 WHERE nrseqda = /pws/zycie442-nrseqda.
MODIFY /pws/zycit460 FROM TABLE itab_zycit460.
* >> Início da exclusão: FORM SAVE_DATA
LOOP AT itab_zycit463.
CLEAR /pws/zycit463.
/pws/zycit463-mandt = sy-mandt.
/pws/zycit463-nrseqda = itab_zycit463-nrseqda.
/pws/zycit463-nrseqlote = itab_zycit463-nrseqlote.
/pws/zycit463-ebeln = itab_zycit463-ebeln.
/pws/zycit463-ebelp = itab_zycit463-ebelp.
/pws/zycit463-lote_forn = itab_zycit463-lote_forn.
/pws/zycit463-numfatura = itab_zycit463-numfatura.
/pws/zycit463-matnr = itab_zycit463-matnr.
/pws/zycit463-qtd_lote = itab_zycit463-qtd_lote.
/pws/zycit463-dt_validade = itab_zycit463-dt_validade.
/pws/zycit463-dt_fabricacao = itab_zycit463-dt_fabricacao.
SELECT SINGLE qtd_nac
INTO /pws/zycit463-qtd_nac
FROM /pws/zycit463
WHERE nrseqda EQ itab_zycit463-nrseqda
AND nrseqlote EQ itab_zycit463-nrseqlote.
MODIFY /pws/zycit463.
ENDLOOP.
* << Fim da exclusão
LOOP AT itab_del.
* >> Início da exclusão: FORM SAVE_DATA
DELETE FROM /pws/zycit463 WHERE nrseqda EQ itab_del-nrseqda
AND ebeln EQ itab_del-ebeln
AND ebelp EQ itab_del-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
DELETE itab_zycit463 WHERE nrseqda = itab_del-nrseqda
AND ebeln = itab_del-ebeln
AND ebelp = itab_del-ebelp.
* << Fim da inclusão
ENDLOOP.
LOOP AT itab_lote_del.
* >> Início da exclusão: FORM SAVE_DATA
DELETE FROM /pws/zycit463 WHERE nrseqda EQ itab_lote_del-nrseqda
AND ebeln EQ itab_lote_del-ebeln
AND ebelp EQ itab_lote_del-ebelp.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
DELETE itab_zycit463 WHERE nrseqda = itab_lote_del-nrseqda
AND ebeln = itab_lote_del-ebeln
AND ebelp = itab_lote_del-ebelp
AND nrseqlote = itab_lote_del-nrseqlote.
* << Fim da inclusão
ENDLOOP.
DELETE FROM /pws/zycit464 WHERE nrseqda = /pws/zycie442-nrseqda.
MODIFY /pws/zycit464 FROM TABLE itab_zycit464.
REFRESH: itab_zycit049di2, itab_zycit049di.
LOOP AT itab_zycit049.
...
...
REFRESH: itab_zycit443.
IF v_embimp IS INITIAL.
DELETE FROM /pws/zycit014 WHERE nrseq = /pws/zycie442-nrseqda.
MODIFY /pws/zycit014 FROM TABLE itab_zycit014.
ENDIF.
* >> Início da exclusão: FORM SAVE_DATA
CLEAR: itab_zycit463.
REFRESH: itab_zycit463.
LOOP AT itab_lote.
v_tabix = sy-tabix.
CLEAR itab_zycit463.
itab_zycit463-mandt = sy-mandt.
itab_zycit463-nrseqda = itab_lote-nrseqda.
itab_zycit463-nrseqlote = itab_lote-nrseqlote.
itab_zycit463-ebeln = itab_lote-ebeln.
itab_zycit463-ebelp = itab_lote-ebelp.
itab_zycit463-lote_forn = itab_lote-lote_forn.
itab_zycit463-numfatura = itab_lote-numfatura.
itab_zycit463-matnr = itab_lote-matnr.
itab_zycit463-qtd_lote = itab_lote-qtd_lote.
itab_zycit463-dt_validade = itab_lote-dt_validade.
itab_zycit463-dt_fabricacao = itab_lote-dt_fabricacao.
IF itab_zycit463-nrseqlote IS INITIAL.
LOOP AT itab_zycit463 INTO itab_zycit463a
WHERE NOT nrseqlote IS initial.
IF v_nrseqlote LT itab_zycit463a-nrseqlote.
v_nrseqlote = itab_zycit463a-nrseqlote.
ENDIF.
ENDLOOP.
itab_zycit463-nrseqlote = v_nrseqlote + 1.
ENDIF.
SELECT SINGLE qtd_nac
INTO itab_zycit463-qtd_nac
FROM /pws/zycit463
WHERE nrseqda EQ itab_lote-nrseqda
AND nrseqlote EQ itab_zycit463-nrseqlote.
itab_lote-qtd_nac = itab_zycit463-qtd_nac.
MODIFY itab_lote INDEX v_tabix.
APPEND itab_zycit463.
ENDLOOP.
LOOP AT itab_zycit463.
DELETE FROM /pws/zycit463 WHERE nrseqda EQ itab_zycit463-nrseqda
AND ebeln EQ itab_zycit463-ebeln
AND ebelp EQ itab_zycit463-ebelp.
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
DELETE FROM /pws/zycit463 WHERE nrseqda = /pws/zycie442-nrseqda.
* << Fim da inclusão
MODIFY /pws/zycit463 FROM TABLE itab_zycit463.
LOOP AT itab_it.
MOVE-CORRESPONDING itab_it TO itab_zycit003.
APPEND itab_zycit003.
MOVE-CORRESPONDING itab_it TO itab_zycit455.
...
...
itab_zycit455-itseqda = v_itseqda + 1.
ENDIF.
APPEND itab_zycit455.
MOVE-CORRESPONDING itab_it TO itab_zycit443.
APPEND itab_zycit443.
* >> Início da inclusão: FORM SAVE_DATA
ENDLOOP.
MODIFY /pws/zycit443 FROM TABLE itab_zycit443.
CLEAR itab_zycit455a.
REFRESH itab_zycit455a.
SELECT *
INTO TABLE itab_zycit455a
FROM /pws/zycit455
FOR ALL ENTRIES IN itab_it
WHERE nrseqda EQ itab_it-nrseqda
AND ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
LOOP AT itab_zycit455a.
IF NOT itab_zycit455a-nrseq IS INITIAL.
itab_zycit455-nrseq = itab_zycit455a-nrseq.
MODIFY itab_zycit455 TRANSPORTING nrseq
WHERE nrseqda = itab_zycit455a-nrseqda
AND ebeln = itab_zycit455a-ebeln
AND ebelp = itab_zycit455a-ebelp.
ENDIF.
* << Fim da inclusão
ENDLOOP.
* >> Início da exclusão: FORM SAVE_DATA
MODIFY /pws/zycit443 FROM TABLE itab_zycit443.
* << Fim da exclusão
MODIFY /pws/zycit455 FROM TABLE itab_zycit455.
...
...
itab_zycit453a,
itab_zycit454a,
itab_zycit460a,
itab_zycit463a,
itab_zycit464a,
* >> Início da exclusão: FORM SAVE_DATA
itab_zycit200a.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
itab_zycit200a,
itab_lote_del.
* << Fim da inclusão
REFRESH: itab_zycit444a,
itab_zycit445a,
itab_zycit447a,
itab_zycit448a,
itab_zycit443a,
...
...
itab_zycit453a,
itab_zycit454a,
itab_zycit460a,
itab_zycit463a,
itab_zycit464a,
* >> Início da exclusão: FORM SAVE_DATA
itab_zycit200a.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_DATA
itab_zycit200a,
itab_lote_del.
* << Fim da inclusão
MOVE: itab_zycit444[] TO itab_zycit444a[],
itab_zycit445[] TO itab_zycit445a[],
itab_zycit447[] TO itab_zycit447a[],
itab_zycit448[] TO itab_zycit448a[],
itab_zycit443[] TO itab_zycit443a[],
...
...
/pws/zycie442 TO wa_zycit442.
PERFORM save_especificacao.
IF /pws/zycie442-codreg EQ '04'.
PERFORM reclassificacao_ia.
ENDIF.
* >> Início da inclusão: FORM SAVE_DATA
COMMIT WORK.
* << Fim da inclusão
ENDFORM.
FORM verify_changes.
DATA v_itseqda TYPE /pws/zycie455-itseqda.
DATA v_nrseqlote TYPE /pws/zycie463-nrseqlote.
CLEAR v_changed.
...
...
CLEAR: itab_zycit455, itab_zycit463.
REFRESH: itab_zycit455, itab_zycit463.
DELETE itab_lote WHERE lote_forn IS initial AND
numfatura IS initial AND
matnr IS initial.
* >> Início da inclusão: FORM VERIFY_CHANGES
SORT itab_zycit463a BY nrseqlote DESCENDING.
READ TABLE itab_zycit463a INDEX 1.
v_nrseqlote = itab_zycit463a-nrseqlote.
* << Fim da inclusão
LOOP AT itab_lote.
* >> Início da inclusão: FORM VERIFY_CHANGES
CLEAR itab_zycit463.
* << Fim da inclusão
MOVE-CORRESPONDING itab_lote TO itab_zycit463.
IF itab_zycit463-nrseqlote IS INITIAL.
* >> Início da exclusão: FORM VERIFY_CHANGES
LOOP AT itab_zycit463 INTO itab_zycit463a
WHERE NOT nrseqlote IS initial.
IF v_nrseqlote LT itab_zycit463a-nrseqlote.
v_nrseqlote = itab_zycit463a-nrseqlote.
ENDIF.
ENDLOOP.
* << Fim da exclusão
itab_zycit463-nrseqlote = v_nrseqlote + 1.
* >> Início da inclusão: FORM VERIFY_CHANGES
v_nrseqlote = itab_zycit463-nrseqlote.
* << Fim da inclusão
ENDIF.
...
...
itab_it-ipi_devido = a_ipidevi.
itab_it-ipi_recolher = t_ipirec .
ENDFORM.
FORM loading_all.
DATA: vl_erro TYPE c.
* >> Início da inclusão: FORM LOADING_ALL
DATA v_nrseqlote TYPE /pws/zycit463-nrseqlote.
v_tcode = sy-tcode.
* << Fim da inclusão
REFRESH itab_it.
CASE /pws/zycie442-codreg.
WHEN '02'.
CLEAR v_embimp.
WHEN '04'.
...
...
SELECT * FROM /pws/zycit455 INTO TABLE itab_zycit455
WHERE nrseqda = /pws/zycie442-nrseqda.
MOVE: itab_zycit455[] TO itab_zycit455a[].
SELECT * FROM /pws/zycit463 INTO TABLE itab_zycit463
WHERE nrseqda = /pws/zycie442-nrseqda.
* >> Início da inclusão: FORM LOADING_ALL
REFRESH itab_lote.
LOOP AT itab_zycit463 WHERE nrseqlote IS initial.
ENDLOOP.
IF sy-subrc EQ 0.
SELECT MAX( nrseqlote )
INTO (v_nrseqlote)
FROM /pws/zycit463
WHERE nrseqda LIKE /pws/zycie442-nrseqda .
LOOP AT itab_zycit463 WHERE nrseqlote IS initial.
itab_zycit463-nrseqlote = v_nrseqlote + 1.
MODIFY itab_zycit463.
v_nrseqlote = itab_zycit463-nrseqlote.
ENDLOOP.
ENDIF.
DELETE FROM /pws/zycit463 WHERE nrseqda = /pws/zycie442-nrseqda.
MODIFY /pws/zycit463 FROM TABLE itab_zycit463.
* << Fim da inclusão
MOVE: itab_zycit463[] TO itab_zycit463a[].
* >> Início da exclusão: FORM LOADING_ALL
REFRESH itab_lote.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
IF NOT itab_zycit463[] IS INITIAL.
SELECT * FROM /pws/zycit467 INTO TABLE itab_zycit467
FOR ALL ENTRIES IN itab_zycit463
WHERE nrseqda EQ itab_zycit463-nrseqda
AND nrseqlote EQ itab_zycit463-nrseqlote
AND ebeln EQ itab_zycit463-ebeln
AND ebelp EQ itab_zycit463-ebelp.
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycit463.
* >> Início da inclusão: FORM LOADING_ALL
CLEAR itab_zycit463-qtd_nac.
LOOP AT itab_zycit467 WHERE nrseqda = itab_zycit463-nrseqda
AND nrseqlote EQ itab_zycit463-nrseqlote
AND ebeln EQ itab_zycit463-ebeln
AND ebelp EQ itab_zycit463-ebelp.
itab_zycit463-qtd_nac = itab_zycit463-qtd_nac +
itab_zycit467-qtd_nac.
ENDLOOP.
* << Fim da inclusão
MOVE-CORRESPONDING itab_zycit463 TO itab_lote.
IF itab_lote-mandt IS INITIAL.
itab_lote-mandt = sy-mandt.
ENDIF.
APPEND itab_lote.
...
...
WHERE nrseq EQ itab_zycit443-nrseq
AND ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
v_calci = 'S'.
LOOP AT itab_zycit443.
* >> Início da inclusão: FORM LOADING_ALL
IF NOT v_tcode EQ '/PWS/ZYCI070_E' .
CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT013'
EXPORTING
mandt = sy-mandt
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp
EXCEPTIONS
foreign_lock = 1
system_failure = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE w015 WITH text-504 text-168.
v_tcode = '/PWS/ZYCI070_E' .
WHEN 2.
MESSAGE a015 WITH text-505.
ENDCASE.
ENDIF.
* << Fim da inclusão
MOVE-CORRESPONDING itab_zycit443 TO itab_it.
IF itab_it-inco1 IS INITIAL AND
NOT /pws/zycie442-inco1 IS INITIAL.
itab_it-inco1 = /pws/zycie442-inco1.
ENDIF.
...
...
MOVE itab_it[] TO itab_ita[].
PERFORM atualiza_doccmp.
v_acto = 'A'.
v_txtdisplay = space.
v_txtsave = 'X'.
* >> Início da exclusão: FORM LOADING_ALL
IF sy-tcode EQ '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
IF v_tcode EQ '/PWS/ZYCI070_E'.
* << Fim da inclusão
v_acto = 'E'.
v_txtdisplay = 'X'.
v_txtsave = space.
ENDIF.
IF v_dit = 'N'.
* >> Início da exclusão: FORM LOADING_ALL
IF sy-tcode EQ '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
IF v_tcode EQ '/PWS/ZYCI070_C'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
ELSEIF sy-tcode EQ '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
ELSEIF v_tcode EQ '/PWS/ZYCI070_A'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
ELSEIF sy-tcode EQ '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
ELSEIF v_tcode EQ '/PWS/ZYCI070_E'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
IF NOT vl_erro IS INITIAL.
MESSAGE e013 WITH text-226.
ENDIF.
CALL SCREEN '0050'.
ELSE.
* >> Início da exclusão: FORM LOADING_ALL
IF sy-tcode EQ '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
IF v_tcode EQ '/PWS/ZYCI070_C'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
ELSEIF sy-tcode EQ '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
ELSEIF v_tcode EQ '/PWS/ZYCI070_A'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
ELSEIF sy-tcode EQ '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOADING_ALL
ELSEIF v_tcode EQ '/PWS/ZYCI070_E'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ENDIF.
ENDFORM.
FORM calc_itab USING value(p_recalc) TYPE char1.
DATA: v_tipodesp LIKE /pws/zycit019-tipo,
v_ternacion LIKE /pws/zycie442-ternacion.
* >> Início da inclusão: FORM CALC_ITAB
IF wa_zycbt007 IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007
WHERE bukrs EQ /pws/zycie442-bukrs.
ENDIF.
* << Fim da inclusão
IF NOT ( v_dit = 'S' AND
( /pws/zycie442-meiotransp = 'PS' OR
/pws/zycie093-meiotransp = 'PS' ) ).
CLEAR: /pws/zycie442-vlii,
/pws/zycie442-vlipi, /pws/zycie442-vlicms.
...
...
IF v_sub NE 0.
MOVE-CORRESPONDING itab_zycit003 TO itab_it.
ENDIF.
itab_it-meinscom = itab_zycit003-meins.
itab_it-basred = itab_zycit003-basred.
* >> Início da exclusão: FORM FILL_ITABIT
itab_it-qtd_iten = itab_zycit003-qtd_iten.
* << Fim da exclusão
itab_it-vlreal = itab_zycit003-vlreal.
itab_it-nrseqda = /pws/zycie442-nrseqda.
itab_it-waersreal = wa_zycbt007-waersb.
itab_it-waersbem = itab_zycit003-waers_real.
IF itab_it-advalii IS INITIAL.
...
...
itab_it-advalicms = itab_zycit003-advalicms.
ELSE.
itab_itb-advalicms = itab_it-advalicms.
ENDIF.
IF v_dit = 'N'.
* >> Início da exclusão: FORM FILL_ITABIT
IF NOT itab_zycit003-qtd_itend IS INITIAL.
itab_it-qtd_iten = itab_zycit003-qtd_itend.
ENDIF.
* << Fim da exclusão
IF itab_it-advalii IS INITIAL.
itab_it-advalii = itab_zycit003-aliqii.
ENDIF.
IF itab_it-advalipi IS INITIAL.
itab_it-advalipi = itab_zycit003-aliqipi.
...
...
itab_it-agente = itab_zycit001-agente.
ELSE.
itab_it-inco1 = /pws/zycie442-inco1.
itab_it-agente = /pws/zycie442-agente.
ENDIF.
* >> Início da exclusão: FORM FILL_ITABIT
IF NOT itab_it-qtd_itencacl IS INITIAL.
IF itab_it-qtd_itencacl > itab_it-qtd_iten.
itab_it-qtd_iten = itab_it-qtd_itencacl - itab_it-qtd_iten.
itab_it-qtd_itencacl = 0.
itab_it-cacl = 'X'.
ENDIF.
ENDIF.
* << Fim da exclusão
READ TABLE itab_zycit263 WITH KEY
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc EQ 0.
...
...
LOOP AT itab_it.
itab_it-dttaxbem = /pws/zycie442-ukursfob.
itab_it-waersbem = /pws/zycie442-waersfob.
MODIFY itab_it INDEX sy-tabix TRANSPORTING dttaxbem waersbem.
ENDLOOP.
* >> Início da exclusão: FORM FILL_ITABIT
IF /pws/zycie442-vlseg IS INITIAL AND sy-tcode = '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
IF /pws/zycie442-vlseg IS INITIAL AND v_tcode = '/PWS/ZYCI070_C'.
* << Fim da inclusão
/pws/zycie442-vlseg = v_tsegfat.
READ TABLE itab_zycit006 WITH KEY tpfatura = '01'.
IF sy-subrc EQ 0.
/pws/zycie442-waersseg = itab_zycit006-waers.
ENDIF.
...
...
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = v_icms_regio.
ENDIF.
PERFORM carrega_incoterm.
* >> Início da inclusão: FORM FILL_ITABIT
PERFORM atualiza_qtd_po.
* << Fim da inclusão
MOVE itab_it[] TO itab_ita[].
IF /pws/zycie442-ntgew IS INITIAL.
/pws/zycie442-ntgew = v_tntgew.
ENDIF.
IF /pws/zycie442-gewei_l IS INITIAL.
...
...
ENDLOOP.
SORT itab_it BY nrseq ebeln ebelp.
PERFORM calc_itab USING p_recalc.
ENDIF.
PERFORM propoe_banco.
* >> Início da inclusão: FORM REFRESH_ALL
PERFORM atualiza_qtd_po.
* << Fim da inclusão
ENDFORM.
FORM update_item.
IF NOT /pws/zycie001-nrseq IS INITIAL.
CLEAR: itab_zycit003.
REFRESH: itab_zycit003.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F03
...
itab_it-qtd_da IS INITIAL AND
v_dit EQ 'N' AND v_embimp EQ 'X'.
itab_it-qtd_da = itab_it-qtd_iten.
ENDIF.
CLEAR: v_tvaln, v_qtd_iten.
* >> Início da exclusão: FORM CALC_INIT
IF itab_it-qtd_itend NE '' AND v_dit = 'N'.
v_qtd_iten = itab_it-qtd_itend.
ELSE.
v_qtd_iten = itab_it-qtd_da.
ENDIF.
* << Fim da exclusão
v_tntgew = v_tntgew + itab_it-ntgew.
v_tot_plan = v_tot_plan + ( v_qtd_iten * itab_it-netpr ).
v_tmle = v_tmle + ( ( v_qtd_iten * itab_it-vlreal ) *
itab_it-dttaxbem ).
IF /pws/zycie442-waersfob NE itab_it-waersbem.
...
...
v_txtdisplay = space.
v_txtsave = 'X'.
ENDIF.
ENDFORM.
FORM comm_dele.
* >> Início da inclusão: FORM COMM_DELE
SELECT SINGLE *
INTO itab_zycit459
FROM /pws/zycit459
WHERE nrseqda EQ /pws/zycie442-nrseqda
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-212 text-499.
EXIT.
ENDIF.
SELECT SINGLE *
INTO itab_zycit465
FROM /pws/zycit465
WHERE nrseq EQ /pws/zycie442-nrseqda
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-212 text-500.
EXIT.
ENDIF.
IF NOT /pws/zycie442-statusfin IS INITIAL.
MESSAGE i015 WITH text-212 text-501.
EXIT.
ENDIF.
LOOP AT itab_zycit455 WHERE
nrseqda EQ /pws/zycie442-nrseqda AND
NOT nrseq IS initial.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-212 text-502.
EXIT.
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycie442-dtuserc IS INITIAL.
IF NOT /pws/zycie442-nrdi IS INITIAL.
MESSAGE i015 WITH text-029.
ELSE.
SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycit041 WHERE
...
...
/pws/zycie442-waersfob
CHANGING p_val.
ENDIF.
ENDFORM.
FORM lock_record.
* >> Início da exclusão: FORM LOCK_RECORD
CHECK sy-tcode = '/PWS/ZYCI070_A' AND
* << Fim da exclusão
* >> Início da inclusão: FORM LOCK_RECORD
CHECK v_tcode = '/PWS/ZYCI070_A' AND
* << Fim da inclusão
NOT /pws/zycie442-nrseqda IS INITIAL.
CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT442'
EXPORTING
nrseqda = /pws/zycie442-nrseqda
EXCEPTIONS
...
...
CASE sy-subrc.
WHEN 1.
MESSAGE w015 WITH text-229 text-230.
v_status_s = '0'.
IF v_dit = 'N'.
* >> Início da exclusão: FORM LOCK_RECORD
sy-tcode = '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOCK_RECORD
v_tcode = '/PWS/ZYCI070_E'.
* << Fim da inclusão
v_acto = 'E'.
ENDIF.
WHEN 2.
MESSAGE a015 WITH text-118.
v_status_s = '0'.
IF v_dit = 'N'.
* >> Início da exclusão: FORM LOCK_RECORD
sy-tcode = '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOCK_RECORD
v_tcode = '/PWS/ZYCI070_E'.
* << Fim da inclusão
v_acto = 'E'.
ENDIF.
ENDCASE.
ENDFORM.
FORM unlock_record.
* >> Início da exclusão: FORM UNLOCK_RECORD
IF sy-tcode = '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: FORM UNLOCK_RECORD
IF v_tcode = '/PWS/ZYCI070_A'.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT442'
EXPORTING
nrseqda = /pws/zycie442-nrseqda.
ENDIF.
* >> Início da inclusão: FORM UNLOCK_RECORD
LOOP AT itab_zycit443.
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT013'
EXPORTING
mandt = sy-mandt
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
ENDLOOP.
* << Fim da inclusão
ENDFORM.
FORM find_region.
DATA: local_adrn LIKE j_1bbranch-adrnr.
SELECT SINGLE adrnr FROM j_1bbranch INTO local_adrn
WHERE bukrs = /pws/zycie442-bukrs AND
branch = /pws/zycie442-j_1bbranch.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM FIND_REGION
IF sy-tcode EQ '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: FORM FIND_REGION
IF v_tcode EQ '/PWS/ZYCI070_C'.
* << Fim da inclusão
PERFORM load_para.
ENDIF.
SELECT SINGLE region FROM adrc INTO v_region WHERE
addrnumber = local_adrn.
IF sy-subrc NE 0.
...
...
ENDIF.
ENDFORM.
FORM propoe_banco.
IF /pws/zycie442-tpdi EQ 'S'.
ELSEIF /pws/zycie442-tpdi EQ 'N'.
* >> Início da exclusão: FORM PROPOE_BANCO
IF sy-tcode = '/PWS/ZYCI070_C' AND /pws/zycie447a-lifnr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM PROPOE_BANCO
IF v_tcode = '/PWS/ZYCI070_C' AND /pws/zycie447a-lifnr IS INITIAL.
* << Fim da inclusão
READ TABLE itab_zycit001 INDEX 1.
IF sy-subrc = 0.
SELECT SINGLE * FROM /pws/zycit256 INTO /pws/zycit256
WHERE nrdespadu EQ itab_zycit001-nrdespadu.
IF sy-subrc = 0.
...
...
s_pgage = /pws/zycit256-bankl+4(11).
ENDIF.
s_pgnom = /pws/zycit256-descdesp.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM PROPOE_BANCO
ELSEIF sy-tcode = '/PWS/ZYCI070_A' AND sy-ucomm = 'REFR'.
* << Fim da exclusão
* >> Início da inclusão: FORM PROPOE_BANCO
ELSEIF v_tcode = '/PWS/ZYCI070_A' AND sy-ucomm = 'REFR'.
* << Fim da inclusão
READ TABLE itab_zycit001 INDEX 1.
IF sy-subrc = 0.
SELECT SINGLE * FROM /pws/zycit256 INTO /pws/zycit256
WHERE nrdespadu EQ itab_zycit001-nrdespadu.
IF sy-subrc = 0.
...
...
',' sy-sysid ','
wa_zycet050-logonbsrv ','
wa_zycet050-grpname ','
wa_zycet050-tplogonb
INTO v_param.
* >> Início da exclusão: FORM SEND
IF sy-tcode(5) EQ '/PWS/'.
* << Fim da exclusão
* >> Início da inclusão: FORM SEND
IF v_tcode(5) EQ '/PWS/'.
* << Fim da inclusão
CONCATENATE v_param
',' 'NS'
INTO v_param.
ENDIF.
IF v_string_ex IS INITIAL.
...
...
it_zycit270-programa = sy-repid.
it_zycit270-nrseq = /pws/zycie443a-nrseqda.
it_zycit270-embarca = v_embarca.
it_zycit270-compl = v_text.
it_zycit270-nrseqemb = /pws/zycie443a-nrseq.
* >> Início da exclusão: FORM PREENCHE_HIST_CONTABIL
it_zycit270-tcode = sy-tcode.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_HIST_CONTABIL
it_zycit270-tcode = v_tcode.
* << Fim da inclusão
it_zycit270-dtestorno = sy-datum.
APPEND it_zycit270.
ENDFORM.
FORM executa_fbra USING p_belnr
p_budat.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F05
...
v_diff = 'X'.
ENDLOOP.
ENDIF.
CLEAR v_test.
MOVE itab_zycit003[] TO itab_werks[].
* >> Início da exclusão: FORM SELECIONAR_ITENS
CALL FUNCTION 'CHECK_BUKRS_ML_PRODUCTIVE'
EXPORTING
i_bukrs = /pws/zycie442-bukrs
IMPORTING
e_all_productive = v_test.
IF v_test IS INITIAL.
MOVE: itab_itens-werks TO v_werks.
LOOP AT itab_itens
WHERE werks NE v_werks.
ENDLOOP.
IF sy-subrc EQ 0.
MESSAGE e104 WITH text-398 text-399.
ENDIF.
IF NOT itab_werks[] IS INITIAL.
LOOP AT itab_zycit003
WHERE werks NE v_werks.
ENDLOOP.
IF sy-subrc EQ 0.
MESSAGE e104 WITH text-398 text-399.
ENDIF.
ENDIF.
ENDIF.
* << Fim da exclusão
IF NOT t001-land1 EQ 'CL' AND NOT t001-land1 EQ 'AR'.
IF NOT itab_itens[] IS INITIAL.
SELECT *
INTO TABLE itab_t001w
FROM t001w
...
...
ENDIF.
ENDFORM.
FORM set_status_item.
DATA w_zycit001 TYPE /pws/zycie001.
CLEAR v_embnac.
* >> Início da exclusão: FORM SET_STATUS_ITEM
LOOP AT itab_zycit455
WHERE nrseqda EQ itab_it-nrseqda
AND nrseq NE ''
AND ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp
AND adicao EQ itab_it-adicao.
SELECT SINGLE *
INTO w_zycit001
FROM /pws/zycit001
WHERE nrseq EQ itab_zycit455-nrseq
AND regime EQ '14'.
IF sy-subrc EQ 0.
v_embnac = 'X'.
EXIT.
* << Fim da exclusão
* >> Início da inclusão: FORM SET_STATUS_ITEM
IF SY-DYNNR EQ '0220'.
if not itab_zycit463[] is initial.
select * from /pws/zycit467 into table itab_zycit467_NAC
for all entries in itab_zycit463
where NRSEQDA eq itab_zycit463-nrseqda
and NRSEQLOTE eq itab_zycit463-nrseqlote
and EBELN eq itab_zycit463-ebeln
and EBELp eq itab_zycit463-ebelp.
endif.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM SET_STATUS_ITEM
ENDLOOP.
* << Fim da exclusão
ENDFORM.
...
...
IF v_embnac EQ 'X'.
EXIT.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
form copiar_item_DA.
data v_cont1(2) type N.
clear v_cont1.
loop at itab_it where mark = 'X'.
v_cont1 = v_cont1 + 1.
endloop.
if sy-subrc ne 0.
message i015 with text-507.
elseif v_cont1 > 1.
message i015 with text-508.
else.
clear itab_lote_aux.
refresh itab_lote_aux.
loop at itab_lote
where ebeln = itab_it-ebeln and
ebelp = itab_it-ebelp.
move-corresponding itab_lote to itab_lote_aux.
itab_lote_aux-qtd_lote = itab_Lote-qtd_lote - itab_lote-qtd_nac.
clear itab_lote_aux-qtd_lote_dif.
if itab_lote-qtd_lote > itab_lote-qtd_nac and
not itab_lote-lote_forn is initial.
append itab_lote_aux.
endif.
endloop.
if itab_lote_aux[] is initial.
message i015 with text-509 text-510.
else.
call screen '0151'.
endif.
endif.
endform.
form call_BAPI.
data: v_item LIKE bapimepoitem-po_item,
v_ebelp_maior LIKE /pws/zycit003-ebelp.
PERFORM limpa_bapi.
CLEAR itab_ekpo.
REFRESH itab_ekpo.
SELECT ebeln
ebelp
loekz
matnr
werks
lgort
menge
meins
elikz
knttp
txjcd
INTO TABLE itab_ekpo2
FROM ekpo
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_eket.
REFRESH itab_eket.
SELECT ebeln
ebelp
eindt
INTO TABLE itab_eket
FROM eket
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_ekkn.
REFRESH itab_ekkn.
SELECT ebeln
ebelp
kostl
INTO TABLE itab_ekkn
FROM ekkn
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_ekpo2.
READ TABLE itab_ekpo2 WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
bapimepoheader-po_number = itab_it-ebeln.
bapimepoheaderx-po_number = 'X'.
itab_bapimepoitem-po_item = itab_it-ebelp.
IF itab_ekpo2-menge IS INITIAL.
MESSAGE i013 WITH text-514.
EXIT.
ENDIF.
itab_bapimepoitem-quantity = itab_ekpo2-menge -
v_qtd_it.
APPEND itab_bapimepoitem.
CLEAR itab_bapimepoitem.
itab_bapimepoitemx-po_item = itab_it-ebelp.
itab_bapimepoitemx-po_itemx = 'X'.
itab_bapimepoitemx-quantity = 'X'.
APPEND itab_bapimepoitemx.
CLEAR itab_bapimepoitemx.
CLEAR v_ebelp_maior.
SELECT MAX( ebelp )
INTO v_ebelp_maior
FROM ekpo
WHERE ebeln EQ itab_it-ebeln.
v_item = v_ebelp_maior + 10.
itab_bapimepoitem-po_item = v_item.
itab_bapimepoitem-material = itab_it-matnr.
itab_bapimepoitem-ematerial = itab_it-matnr.
itab_bapimepoitem-plant = v_centro.
itab_bapimepoitem-stge_loc = itab_ekpo2-lgort.
itab_bapimepoitem-quantity = v_qtd_it.
itab_bapimepoitem-po_unit = itab_ekpo2-meins.
itab_bapimepoitem-po_unit_iso = itab_ekpo2-meins.
itab_bapimepoitem-acctasscat = itab_ekpo2-knttp.
itab_bapimepoitem-taxjurcode = itab_ekpo2-txjcd.
APPEND itab_bapimepoitem.
CLEAR itab_bapimepoitem.
itab_bapimepoitemx-po_item = v_item.
itab_bapimepoitemx-po_itemx = 'X'.
itab_bapimepoitemx-material = 'X'.
itab_bapimepoitemx-ematerial = 'X'.
itab_bapimepoitemx-plant = 'X'.
itab_bapimepoitemx-quantity = 'X'.
itab_bapimepoitemx-stge_loc = 'X'.
itab_bapimepoitemx-po_unit = 'X'.
itab_bapimepoitemx-po_unit_iso = 'X'.
itab_bapimepoitemx-acctasscat = 'X'.
itab_bapimepoitemx-taxjurcode = 'X'.
APPEND itab_bapimepoitemx.
CLEAR itab_bapimepoitemx.
CLEAR itab_eket.
READ TABLE itab_eket WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
itab_bapimeposchedule-po_item = v_item.
itab_bapimeposchedule-sched_line = 1.
itab_bapimeposchedule-del_datcat_ext = 'D'.
WRITE itab_eket-eindt TO itab_bapimeposchedule-delivery_date.
itab_bapimeposchedule-stat_date =
itab_bapimeposchedule-delivery_date.
APPEND itab_bapimeposchedule.
CLEAR itab_bapimeposchedule.
itab_bapimeposchedulx-po_item = v_item.
itab_bapimeposchedulx-po_itemx = 'X'.
itab_bapimeposchedulx-sched_linex = 'X'.
itab_bapimeposchedulx-del_datcat_ext = 'X'.
itab_bapimeposchedulx-delivery_date = 'X'.
itab_bapimeposchedulx-stat_date = 'X'.
APPEND itab_bapimeposchedulx.
CLEAR itab_bapimeposchedulx.
CLEAR itab_ekkn.
READ TABLE itab_ekkn WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
itab_bapimepoaccount-po_item = v_item.
itab_bapimepoaccount-costcenter = itab_ekkn-kostl.
APPEND itab_bapimepoaccount.
CLEAR itab_bapimepoaccount.
itab_bapimepoaccountx-po_item = v_item.
itab_bapimepoaccountx-po_itemx = 'X'.
itab_bapimepoaccountx-costcenter = 'X'.
APPEND itab_bapimepoaccountx.
CLEAR itab_bapimepoaccountx.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = bapimepoheader-po_number
poheader = bapimepoheader
poheaderx = bapimepoheaderx
TABLES
return = itab_bapiret2
poitem = itab_bapimepoitem
poitemx = itab_bapimepoitemx
poschedule = itab_bapimeposchedule
poschedulex = itab_bapimeposchedulx
poaccount = itab_bapimepoaccount
poaccountx = itab_bapimepoaccountx.
CLEAR itab_bapiret2.
DELETE ADJACENT DUPLICATES FROM itab_bapiret2
COMPARING type
id
number.
READ TABLE itab_bapiret2 WITH KEY
type = 'E'.
IF sy-subrc IS INITIAL.
LOOP AT itab_bapiret2 WHERE type EQ 'E'.
IF itab_bapiret2-id EQ 'ME' AND
itab_bapiret2-number EQ '006'.
MESSAGE i015 WITH text-327
itab_bapiret2-message_v1
text-328
itab_bapiret2-message_v3.
ELSE.
MESSAGE i013 WITH itab_bapiret2-message+0(50)
itab_bapiret2-message+50(50).
ENDIF.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
itab_it-QTD_DA = itab_it-QTD_DA - v_qtd_it.
modify itab_it transporting QTD_DA where mark = 'X'.
loop at itab_lote.
read table itab_lote_aux with key
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
nrseqlote = itab_lote-nrseqlote.
if sy-subrc = 0.
itab_lote-qtd_lote
= itab_lote_aux-qtd_lote - itab_lote_aux-qtd_lote_dif +
itab_lote-qtd_nac.
modify itab_lote.
read table itab_zycit463 with key
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
nrseqlote = itab_lote-nrseqlote.
if sy-subrc = 0.
v_tabix = sy-tabix.
itab_zycit463-qtd_lote = itab_lote-qtd_lote.
modify itab_zycit463 index v_tabix.
else.
move itab_lote to itab_zycit463.
append itab_zycit463.
endif.
endif.
endloop.
clear itab_it-mark.
itab_it-ebelp_ori = itab_it-ebelp.
itab_it-ebelp = v_item.
itab_it-qtd_da = v_qtd_it.
itab_it-werks = v_centro.
append itab_it.
loop at itab_lote_aux where qtd_lote_dif > 0.
move itab_lote_aux to itab_lote.
itab_lote-qtd_lote = itab_lote_aux-qtd_lote_dif.
clear itab_lote-qtd_nac.
itab_lote-ebelp = v_item.
append itab_lote.
move itab_lote to itab_zycit463.
append itab_zycit463.
endloop.
perform save_data.
MESSAGE i086 WITH itab_it-ebeln.
leave to screen 0.
ENDIF.
endform.
form limpa_bapi.
CLEAR: bapimepoheader,
bapimepoheaderx,
itab_bapimepoitem,
itab_bapimepoitemx,
itab_bapimeposchedule,
itab_bapimeposchedulx,
itab_bapimepoaccount,
itab_bapimepoaccountx,
itab_bapiret2.
FREE: itab_bapimepoitem,
itab_bapimepoitemx,
itab_bapimeposchedule,
itab_bapimeposchedulx,
itab_bapimepoaccount,
itab_bapimepoaccountx,
itab_bapiret2.
endform.
form retorna_saldo.
data v_cont1(2) type N.
clear v_cont1.
loop at itab_it where mark = 'X'.
v_cont1 = v_cont1 + 1.
endloop.
if sy-subrc ne 0.
message i015 with text-507.
elseif v_cont1 > 1.
message i015 with text-508.
elseif itab_it-ebelp_ori is initial.
message i015 with text-516 text-517.
else.
clear itab_lote_aux.
refresh itab_lote_aux.
loop at itab_lote
where ebeln = itab_it-ebeln and
ebelp = itab_it-ebelp.
move-corresponding itab_lote to itab_lote_aux.
itab_lote_aux-qtd_lote = itab_Lote-qtd_lote - itab_lote-qtd_nac.
clear itab_lote_aux-qtd_lote_dif.
if itab_lote-qtd_lote > itab_lote-qtd_nac.
append itab_lote_aux.
endif.
endloop.
if itab_lote_aux[] is initial.
message i015 with text-518 text-510.
else.
call screen '0152'.
endif.
endif.
endform.
form call_bapi_saldo.
data: v_item LIKE bapimepoitem-po_item,
v_ebelp_maior LIKE /pws/zycit003-ebelp.
PERFORM limpa_bapi.
CLEAR itab_ekpo.
REFRESH itab_ekpo.
SELECT ebeln
ebelp
loekz
matnr
werks
lgort
menge
meins
elikz
knttp
txjcd
INTO TABLE itab_ekpo2
FROM ekpo
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_eket.
REFRESH itab_eket.
SELECT ebeln
ebelp
eindt
INTO TABLE itab_eket
FROM eket
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_ekkn.
REFRESH itab_ekkn.
SELECT ebeln
ebelp
kostl
INTO TABLE itab_ekkn
FROM ekkn
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
CLEAR itab_ekpo2.
READ TABLE itab_ekpo2 WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
bapimepoheader-po_number = itab_it-ebeln.
bapimepoheaderx-po_number = 'X'.
itab_bapimepoitem-po_item = itab_it-ebelp.
IF itab_ekpo2-menge IS INITIAL.
MESSAGE i013 WITH text-514.
EXIT.
ENDIF.
itab_bapimepoitem-quantity = itab_ekpo2-menge -
v_qtd_it.
if itab_bapimepoitem-quantity is initial.
itab_bapimepoitem-quantity = v_qtd_it.
itab_bapimepoitemx-delete_ind = 'X'.
endif.
APPEND itab_bapimepoitem.
itab_bapimepoitemx-po_item = itab_it-ebelp.
itab_bapimepoitemx-po_itemx = 'X'.
itab_bapimepoitemx-quantity = 'X'.
APPEND itab_bapimepoitemx.
CLEAR itab_ekpo.
REFRESH itab_ekpo.
SELECT ebeln
ebelp
loekz
matnr
werks
lgort
menge
meins
elikz
knttp
txjcd
INTO TABLE itab_ekpo2
FROM ekpo
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp_ori.
CLEAR itab_ekpo2.
READ TABLE itab_ekpo2 WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp_ori.
itab_bapimepoitem-po_item = itab_it-ebelp_ori.
itab_bapimepoitem-quantity = itab_ekpo2-menge +
v_qtd_it.
APPEND itab_bapimepoitem.
CLEAR itab_bapimepoitem.
itab_bapimepoitemx-po_item = itab_it-ebelp_ori.
APPEND itab_bapimepoitemx.
CLEAR itab_bapimepoitemx.
CLEAR itab_ekkn.
READ TABLE itab_ekkn WITH KEY
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = bapimepoheader-po_number
poheader = bapimepoheader
poheaderx = bapimepoheaderx
TABLES
return = itab_bapiret2
poitem = itab_bapimepoitem
poitemx = itab_bapimepoitemx
poschedule = itab_bapimeposchedule
poschedulex = itab_bapimeposchedulx
poaccount = itab_bapimepoaccount
poaccountx = itab_bapimepoaccountx.
CLEAR itab_bapiret2.
DELETE ADJACENT DUPLICATES FROM itab_bapiret2
COMPARING type
id
number.
READ TABLE itab_bapiret2 WITH KEY
type = 'E'.
IF sy-subrc IS INITIAL.
LOOP AT itab_bapiret2 WHERE type EQ 'E'.
IF itab_bapiret2-id EQ 'ME' AND
itab_bapiret2-number EQ '006'.
MESSAGE i015 WITH text-327
itab_bapiret2-message_v1
text-328
itab_bapiret2-message_v3.
ELSE.
MESSAGE i013 WITH itab_bapiret2-message+0(50)
itab_bapiret2-message+50(50).
ENDIF.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
itab_it-QTD_DA = itab_it-QTD_DA - v_qtd_it.
modify itab_it transporting QTD_DA where mark = 'X'.
if itab_it-qtd_da is initial.
delete itab_it where mark = 'X'.
endif.
loop at itab_lote.
v_tabix = sy-tabix.
read table itab_lote_aux with key
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
LOTE_FORN = itab_lote-LOTE_FORN.
if sy-subrc = 0.
itab_lote-qtd_lote
= itab_lote_aux-qtd_lote - itab_lote_aux-qtd_lote_dif.
modify itab_lote.
if itab_lote-qtd_lote is initial.
delete itab_lote index v_tabix.
endif.
read table itab_zycit463 with key
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
nrseqlote = itab_lote-nrseqlote.
if sy-subrc = 0.
v_tabix = sy-tabix.
itab_zycit463-qtd_lote = itab_lote-qtd_lote.
modify itab_zycit463 index v_tabix.
if itab_lote-qtd_lote is initial.
delete itab_zycit463 index v_tabix.
endif.
else.
move itab_lote to itab_zycit463.
append itab_zycit463.
endif.
endif.
endloop.
loop at itab_lote_aux where qtd_lote_dif > 0.
read table itab_lote with key
ebeln = itab_lote_aux-ebeln
ebelp = itab_it-ebelp_ori
LOTE_FORN = itab_lote_aux-LOTE_FORN.
itab_lote-qtd_lote = itab_lote-qtd_lote
+ itab_lote_aux-qtd_lote_dif.
modify itab_lote index sy-tabix.
read table itab_zycit463 with key
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
nrseqlote = itab_lote-nrseqlote.
if sy-subrc = 0.
v_tabix = sy-tabix.
itab_zycit463-qtd_lote = itab_lote-qtd_lote.
modify itab_zycit463 index v_tabix.
endif.
endloop.
read table itab_it with key ebelp = itab_it-ebelp_ori.
itab_it-qtd_da = itab_it-QTD_DA + v_qtd_it.
modify itab_it index sy-tabix.
perform save_data.
MESSAGE i086 WITH itab_it-ebeln.
leave to screen 0.
ENDIF.
endform.
form ATUALIZA_QTD_PO.
loop at itab_it.
select single menge from ekpo into itab_it-qtd_iten
where ebeln eq itab_it-ebeln
and ebelp eq itab_it-ebelp.
modify itab_it.
endloop.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070I01
...
MODULE load_cpnj INPUT.
PERFORM load_cnpj
USING /pws/zycie442-j_1bbranch
/pws/zycie442-bukrs
CHANGING s_cnpj.
* >> Início da exclusão: MODULE LOAD_CPNJ
IF sy-tcode EQ '/PWS/ZYCI070_C' AND NOT /pws/zycie442-nrbl IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_CPNJ
IF v_tcode EQ '/PWS/ZYCI070_C' AND NOT /pws/zycie442-nrbl IS INITIAL.
* << Fim da inclusão
CLEAR: wa_zycit094, wa_zycit001.
SELECT SINGLE *
FROM /pws/zycit094
INTO wa_zycit094
WHERE nrseqce EQ /pws/zycie442-nrbl.
...
...
ENDMODULE.
MODULE user_command_0050 INPUT.
DATA: vl_erro TYPE c.
DATA: v_seqdi LIKE /pws/zycie442-nrseqda.
DATA: e_exec_okcode.
* >> Início da exclusão: MODULE USER_COMMAND_0050
IF sy-tcode EQ '/PWS/ZYCI070_C' OR
sy-tcode EQ '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
data v_matnr like /pws/zycit003-matnr.
IF v_tcode EQ '/PWS/ZYCI070_C' OR
v_tcode EQ '/PWS/ZYCI070_A'.
* << Fim da inclusão
PERFORM check USING vl_erro.
IF NOT vl_erro IS INITIAL.
MESSAGE e013 WITH text-226.
ENDIF.
ENDIF.
...
...
v_seqdi = /pws/zycie442-nrseqda.
SET PARAMETER ID '/PWS/ZYCIP442' FIELD v_seqdi.
EXPORT v_seqdi TO MEMORY ID 'V_REL'.
SUBMIT /pws/zycir332 AND RETURN.
WHEN 'PED'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
loop at itab_lote where qtd_nac > 0.
endloop.
if sy-subrc = 0.
message i015 with text-520 text-521.
else.
* << Fim da inclusão
CALL SELECTION-SCREEN '0299'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
endif.
* << Fim da inclusão
WHEN 'DELP'.
CASE ts_des-activetab.
WHEN 'FC_ITEM'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
SELECT SINGLE *
INTO itab_zycit459
FROM /pws/zycit459
WHERE nrseqda EQ /pws/zycie442-nrseqda
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-503 text-499.
EXIT.
ENDIF.
SELECT SINGLE *
INTO itab_zycit465
FROM /pws/zycit465
WHERE nrseq EQ /pws/zycie442-nrseqda
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-503 text-500.
EXIT.
ENDIF.
IF NOT /pws/zycie442-statusfin IS INITIAL.
MESSAGE i015 WITH text-503 text-501.
EXIT.
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycie442-nrdi IS INITIAL.
MESSAGE i015 WITH text-029.
ELSE.
LOOP AT itab_it WHERE mark = 'X'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
LOOP AT itab_zycit455 WHERE
nrseqda EQ /pws/zycie442-nrseqda AND
NOT nrseq IS initial AND
ebeln EQ itab_it-ebeln AND
ebelp EQ itab_it-ebelp.
ENDLOOP.
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-503 text-502.
EXIT.
ENDIF.
* << Fim da inclusão
IF itab_it-nrseq IS INITIAL.
CLEAR v_tabix.
v_tabix = sy-tabix.
READ TABLE itab_zycit094 WITH KEY
nrseq = itab_it-nrseq.
...
...
WHEN 'CUSTO'.
PERFORM: solicita_custo.
WHEN 'COMPEN'.
PERFORM compensa_conta_ia.
PERFORM atualiza_doccmp.
* >> Início da inclusão: MODULE USER_COMMAND_0050
when 'CRIA'.
if /PWS/ZYCIE442-CODREG ne '02'.
message i015 with text-519.
elseif sy-tcode = '/PWS/ZYCI070_C' and
v_salvo is initial.
message i015 with text-515.
else.
v_matnr = itab_it-matnr.
loop at itab_it where matnr ne v_matnr.
endloop.
if sy-subrc = 0.
message i015 with text-522 text-523.
else.
perform copiar_item_DA.
endif.
endif.
when 'TRAN'.
if /PWS/ZYCIE442-CODREG ne '02'.
message i015 with text-519.
elseif sy-tcode = '/PWS/ZYCI070_C' and
v_salvo is initial.
message i015 with text-515.
else.
v_matnr = itab_it-matnr.
loop at itab_it where matnr ne v_matnr.
endloop.
if sy-subrc = 0.
message i015 with text-522 text-523.
else.
perform retorna_saldo.
endif.
endif.
* << Fim da inclusão
ENDCASE.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
perform ATUALIZA_QTD_PO.
* << Fim da inclusão
CLEAR: sy-ucomm, r_okcode.
ENDMODULE.
MODULE load_urf INPUT.
IF /pws/zycie442-urfdesp IS INITIAL.
CLEAR: s_urf, /pws/zycie442-recalf, s_recalf, /pws/zycie442-setor,
...
...
ENDCASE.
WHEN '0050'.
CASE sy-ucomm.
WHEN 'BACK' OR 'LEAV'.
v_comm = sy-ucomm.
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
IF sy-tcode EQ '/PWS/ZYCI070_C' OR
sy-tcode EQ '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
IF v_tcode EQ '/PWS/ZYCI070_C' OR
v_tcode EQ '/PWS/ZYCI070_A'.
* << Fim da inclusão
PERFORM check USING vl_erro.
IF vl_erro IS INITIAL.
PERFORM verify_changes.
IF v_changed EQ '1' AND sy-binpt IS INITIAL.
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
...
...
IMPORTING
answer = v_resposta.
IF v_resposta EQ 'J'.
PERFORM save_data.
ELSEIF v_resposta EQ 'N' .
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
IF sy-tcode EQ '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
IF v_tcode EQ '/PWS/ZYCI070_C'.
* << Fim da inclusão
PERFORM delete_text.
ENDIF.
LEAVE TO SCREEN 0.
ELSEIF v_resposta EQ 'A'.
EXIT.
...
...
PERFORM unlock_record.
PERFORM clear_workareas.
IF v_comm = 'LEAV'.
LEAVE PROGRAM.
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
IF sy-tcode NE '/PWS/ZYCI070_C' AND
sy-tcode NE '/PWS/ZYCI070_I' AND
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
IF v_tcode NE '/PWS/ZYCI070_C' AND
v_tcode NE '/PWS/ZYCI070_I' AND
* << Fim da inclusão
v_nrseqda IS INITIAL.
LEAVE TO SCREEN '0010'.
ELSE.
LEAVE PROGRAM.
ENDIF.
...
...
MODIFY itab_zycit104 INDEX tc_text-current_line TRANSPORTING flag.
ENDMODULE.
MODULE authority_empresa INPUT.
IF sy-dynnr EQ '0100' OR
sy-dynnr EQ '0200'.
* >> Início da exclusão: MODULE AUTHORITY_EMPRESA
IF sy-tcode EQ '/PWS/ZYCI070_C'.
* << Fim da exclusão
* >> Início da inclusão: MODULE AUTHORITY_EMPRESA
IF v_tcode EQ '/PWS/ZYCI070_C'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE AUTHORITY_EMPRESA
ELSEIF sy-tcode EQ '/PWS/ZYCI070_A'.
* << Fim da exclusão
* >> Início da inclusão: MODULE AUTHORITY_EMPRESA
ELSEIF v_tcode EQ '/PWS/ZYCI070_A'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE AUTHORITY_EMPRESA
ELSEIF sy-tcode EQ '/PWS/ZYCI070_E'.
* << Fim da exclusão
* >> Início da inclusão: MODULE AUTHORITY_EMPRESA
ELSEIF v_tcode EQ '/PWS/ZYCI070_E'.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
...
...
MODIFY itab_itb TRANSPORTING item_adi_sisc
WHERE ebeln EQ wa_itb-ebeln
AND ebelp EQ wa_itb-ebelp.
ENDMODULE.
MODULE verifica_dados INPUT.
* >> Início da exclusão: MODULE VERIFICA_DADOS
IF sy-tcode EQ '/PWS/ZYCI070_C' AND
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_DADOS
IF v_tcode EQ '/PWS/ZYCI070_C' AND
* << Fim da inclusão
NOT /pws/zycie442-nrbl IS INITIAL.
SELECT SINGLE *
FROM /pws/zycit094
INTO wa_zycit094
WHERE nrseqce EQ /pws/zycie442-nrbl.
...
...
MESSAGE e039
WITH 'Data de validade não pode estar no passado'(459).
ENDIF.
ENDMODULE.
MODULE carrega_tabela_lote INPUT.
* >> Início da exclusão: MODULE CARREGA_TABELA_LOTE
MOVE: /pws/zycie463 TO itab_lote,
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_TABELA_LOTE
MOVE:
/pws/zycie463-ebeln TO itab_lote-ebeln ,
/pws/zycie463-ebelp TO itab_lote-ebelp ,
/pws/zycie463-lote_forn TO itab_lote-lote_forn ,
/pws/zycie463-numfatura TO itab_lote-numfatura ,
/pws/zycie463-matnr TO itab_lote-matnr ,
/pws/zycie463-qtd_lote TO itab_lote-qtd_lote ,
/pws/zycie463-dt_validade TO itab_lote-dt_validade ,
/pws/zycie463-dt_fabricacao TO itab_lote-dt_fabricacao,
/pws/zycie463-qtd_nac TO itab_lote-qtd_nac ,
* << Fim da inclusão
/pws/zycie442-nrseqda TO itab_lote-nrseqda,
v_mark TO itab_lote-mark,
v_prazo TO itab_lote-prazo.
MODIFY itab_lote INDEX tc_lote-current_line.
IF sy-subrc NE 0.
APPEND itab_lote.
ENDIF.
ENDMODULE.
MODULE user_command_0220 INPUT.
* >> Início da inclusão: MODULE USER_COMMAND_0220
DATA: V_NRSEQLOTE TYPE /PWS/ZYCIT463-NRSEQLOTE.
CLEAR V_NRSEQLOTE.
MOVE ITAB_LOTE[] TO ITAB_LOTE_AUX[].
SORT ITAB_LOTE_AUX BY NRSEQLOTE DESCENDING .
READ TABLE ITAB_LOTE_AUX INDEX 1.
V_NRSEQLOTE = ITAB_LOTE_AUX-NRSEQLOTE + 1.
LOOP AT ITAB_lOTE WHERE NRSEQLOTE IS INITIAL.
ITAB_LOTE-NRSEQLOTE = V_NRSEQLOTE.
V_NRSEQLOTE = ITAB_LOTE-NRSEQLOTE + 1 .
MODIFY ITAB_LOTE.
ENDLOOP.
CLEAR ITAB_LOTE_AUX[].
REFRESH ITAB_LOTE_AUX[].
* << Fim da inclusão
SORT itab_lote BY ebeln ebelp lote_forn matnr.
CASE okcode.
WHEN 'DELP'.
CLEAR itab_lote_del.
REFRESH itab_lote_del.
...
...
WHEN 'DESM'.
LOOP AT itab_lote.
itab_lote-mark = ' '.
MODIFY itab_lote.
ENDLOOP.
* >> Início da inclusão: MODULE USER_COMMAND_0220
WHEN 'P-'.
tc_lote-top_line = tc_lote-top_line - 10.
WHEN 'P--'.
tc_lote-top_line = tc_lote-top_line - tc_lote-lines.
WHEN 'P+'.
tc_lote-top_line = tc_lote-top_line + 10.
WHEN 'P++'.
tc_lote-top_line = tc_lote-top_line + tc_lote-lines.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE show_mod INPUT.
progname = sy-repid.
dynnum = sy-dynnr.
...
...
no_values_found = 2
OTHERS = 3.
CLEAR itab_pedidos.
FREE itab_pedidos.
ENDMODULE.
* >> Início da inclusão:
module valida_lote input.
data: itab_forn like itab_zycit463 occurs 0 with header line.
move itab_zycit463[] to itab_forn[].
DATA: v_dif.
LOOP AT ITAB_FORN WHERE NOT LOTE_FORN IS INITIAL and
ebeln eq /pws/zycie463-ebeln and
ebelp eq /pws/zycie463-ebelp.
if itab_forn-lote_forn eq /PWS/ZYCIe463-LOTE_FORN .
v_dif = 'X'.
exit.
ENDIF.
ENDLOOP.
IF v_dif = 'X'.
MESSAGE i015 WITH text-254.
CLEAR /PWS/ZYCIE463-LOTE_FORN.
CLEAR v_dif.
CLEAR : itab_forn.
REFRESH : itab_forn.
ENDIF.
endmodule.
module USER_COMMAND_0151 input.
data v_sai.
case okcode.
when 'EXEC'.
clear v_qtd_it.
clear v_sai.
loop at itab_lote_aux
where ebeln = itab_it-ebeln and
ebelp = itab_it-ebelp.
if itab_lote_aux-qtd_lote < itab_lote_aux-qtd_lote_dif .
v_sai = 'X'.
endif.
v_qtd_it = v_qtd_it + itab_lote_aux-qtd_lote_dif.
endloop.
if v_sai = 'X'.
message i015 with text-511.
endif.
If v_centro is initial or
v_qtd_it is initial.
if v_centro is initial.
message i015 with text-512.
elseif v_qtd_it is initial.
message i015 with text-513.
endif.
else.
if v_sai ne 'X'.
perform call_bapi.
endif.
endif.
when 'BACK' or 'CANCEL'.
leave to screen 0.
endcase.
clear okcode.
endmodule.
module altera_itab_lote_aux input.
modify itab_lote_aux index tc_lote_aux-current_line.
endmodule.
module USER_COMMAND_0152 input.
data v_sai2.
case okcode.
when 'EXEC'.
clear v_qtd_it.
clear v_sai2.
loop at itab_lote_aux
where ebeln = itab_it-ebeln and
ebelp = itab_it-ebelp.
if itab_lote_aux-qtd_lote < itab_lote_aux-qtd_lote_dif .
v_sai2 = 'X'.
endif.
v_qtd_it = v_qtd_it + itab_lote_aux-qtd_lote_dif.
endloop.
if v_sai2 = 'X'.
message i015 with text-511.
endif.
If v_qtd_it is initial.
if v_qtd_it is initial.
message i015 with text-513.
endif.
else.
if v_sai2 ne 'X'.
perform call_bapi_saldo.
endif.
endif.
when 'BACK' or 'CANCEL'.
leave to screen 0.
endcase.
clear okcode.
endmodule.
module altera_itab_lote_aux2 input.
modify itab_lote_aux index tc_lote_aux2-current_line.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070O01
...
screen-name EQ '/PWS/ZYCIE049-WAERS' OR
sy-dynnr EQ '0160'.
screen-input = '1'.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN_LINES
IF sy-dynnr EQ '0220' AND
( v_embnac EQ 'X' OR v_doccmp EQ 'X' OR
NOT /pws/zycie463-qtd_nac IS INITIAL ).
screen-input = '0'.
* << Fim da exclusão
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN_LINES
MODIFY SCREEN.
ENDLOOP.
IF sy-dynnr EQ '0220'.
READ TABLE itab_zycit467_nac WITH KEY
nrseqda = /pws/zycie463-nrseqda
ebeln = /pws/zycie463-ebeln
ebelp = /pws/zycie463-ebelp
nrseqlote = /pws/zycie463-nrseqlote.
IF sy-subrc EQ 0.
LOOP AT SCREEN.
screen-input = 0.
* << Fim da inclusão
MODIFY SCREEN.
* >> Início da inclusão: MODULE SET_SCREEN_LINES
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: MODULE SET_SCREEN_LINES
ENDLOOP.
* << Fim da exclusão
ENDMODULE.
...
...
screen-input = '0'.
screen-invisible = '1'.
ENDIF.
WHEN 'V_QTD_DA' OR 'V_VLREAL'.
IF /pws/zycie442-codreg NE '04'.
* >> Início da inclusão: MODULE SET_SCREEN_TABLE
LOOP AT itab_lote WHERE ebeln = itab_it-ebeln AND
ebelp = itab_it-ebelp AND
qtd_nac > 0.
ENDLOOP.
IF itab_it-ebelp_ori IS INITIAL AND sy-subrc NE 0.
* << Fim da inclusão
screen-input = '1'.
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN_TABLE
ENDIF.
* << Fim da inclusão
IF v_doccmp EQ 'X' OR v_embnac EQ 'X' OR
NOT /pws/zycie463-qtd_nac IS INITIAL.
screen-input = '0'.
ENDIF.
ENDCASE.
ENDIF.
MODIFY SCREEN.
* >> Início da inclusão: MODULE SET_SCREEN_TABLE
ENDLOOP.
LOOP AT tc_item-cols INTO v_cols.
IF v_cols-screen-name EQ '/PWS/ZYCIE443A-NRSEQ'.
v_cols-screen-input = 0.
v_cols-invisible = '1'.
MODIFY tc_item-cols FROM v_cols.
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDCASE.
ENDMODULE.
MODULE saldo_online_da OUTPUT.
PERFORM saldo_online_da.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070OO
...
ENDMETHOD.
ENDCLASS.
module verifica_nacional output.
perform verifica_nacional.
endmodule.
* >> Início da inclusão:
module STATUS_0151 output.
SET PF-STATUS '0151'.
SET TITLEBAR '151'.
endmodule.
module STATUS_0152 output.
SET PF-STATUS '0152'.
SET TITLEBAR '152'.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070TOP
...
tc_adic TYPE TABLEVIEW USING SCREEN 0170,
tc_text TYPE TABLEVIEW USING SCREEN 0181,
t269 TYPE TABLEVIEW USING SCREEN 0190,
tc_fornec TYPE TABLEVIEW USING SCREEN 0210,
* >> Início da inclusão:
tc_lote TYPE TABLEVIEW USING SCREEN 0220,
tc_lote_aux TYPE TABLEVIEW USING SCREEN 0151,
tc_lote_aux2 TYPE TABLEVIEW USING SCREEN 0152,
* << Fim da inclusão
tc_ades TYPE TABLEVIEW USING SCREEN 0321,
tc_adoc TYPE TABLEVIEW USING SCREEN 0321,
tc_aite TYPE TABLEVIEW USING SCREEN 0322,
tc_anom TYPE TABLEVIEW USING SCREEN 0323,
tc_aacr TYPE TABLEVIEW USING SCREEN 0331,
...
...
DATA BEGIN OF itab_lote OCCURS 0.
INCLUDE STRUCTURE /pws/zycie463.
DATA: prazo TYPE numc3,
mark TYPE char1.
DATA END OF itab_lote.
* >> Início da inclusão:
DATA BEGIN OF itab_lote_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycie463.
DATA: prazo TYPE numc3,
mark TYPE char1,
qtd_lote_dif like /pws/zycie463-qtd_lote.
DATA END OF itab_lote_aux.
* << Fim da inclusão
DATA: BEGIN OF itab_lote_del OCCURS 0.
INCLUDE STRUCTURE itab_lote.
DATA: END OF itab_lote_del.
DATA: BEGIN OF itab_pedidos OCCURS 0,
ebeln LIKE /pws/zycie463-ebeln,
...
...
v_blart LIKE /pws/zycbt011-blart,
v_desp_acr LIKE /pws/zycit049-vldp,
v_desp_brl LIKE /pws/zycit049-vldp,
v_evento LIKE /pws/zyglt321-codeven,
v_required,
* >> Início da inclusão:
v_qtd_it like /pws/zycit443-QTD_ITEN,
v_centro like /pws/zycit003-werks,
* << Fim da inclusão
v_salvo.
DATA:
v_cpochv(80),
v_descricao(50),
v_qtd_nac LIKE /pws/zycit467-qtd_nac,
...
...
loekz TYPE ekpo-loekz,
END OF itab_itens.
DATA: BEGIN OF itab_imposto OCCURS 0.
INCLUDE STRUCTURE /pws/zycie110.
DATA: END OF itab_imposto.
* >> Início da inclusão:
DATA: BEGIN OF itab_ekpo2 OCCURS 0,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
loekz LIKE ekpo-loekz,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
lgort LIKE ekpo-lgort,
menge LIKE ekpo-menge,
meins LIKE ekpo-meins,
elikz LIKE ekpo-elikz,
knttp LIKE ekpo-knttp,
txjcd LIKE ekpo-txjcd,
END OF itab_ekpo2.
DATA: BEGIN OF itab_eket OCCURS 0,
ebeln LIKE eket-ebeln,
ebelp LIKE eket-ebelp,
eindt LIKE eket-eindt,
END OF itab_eket.
DATA: BEGIN OF itab_ekkn OCCURS 0,
ebeln LIKE ekkn-ebeln,
ebelp LIKE ekkn-ebelp,
kostl LIKE ekkn-kostl,
END OF itab_ekkn.
TABLES:
bapimepoheader,
bapimepoheaderx,
bapimepoaccount,
bapimepoaccountx.
DATA: BEGIN OF itab_bapimepoitem OCCURS 0.
INCLUDE STRUCTURE bapimepoitem.
DATA: END OF itab_bapimepoitem.
DATA: BEGIN OF itab_bapimepoitemx OCCURS 0.
INCLUDE STRUCTURE bapimepoitemx.
DATA: END OF itab_bapimepoitemx.
DATA: BEGIN OF itab_bapimeposchedule OCCURS 0.
INCLUDE STRUCTURE bapimeposchedule.
DATA: END OF itab_bapimeposchedule.
DATA: BEGIN OF itab_bapimeposchedulx OCCURS 0.
INCLUDE STRUCTURE bapimeposchedulx.
DATA: END OF itab_bapimeposchedulx.
DATA: BEGIN OF itab_bapimepoaccount OCCURS 0.
INCLUDE STRUCTURE bapimepoaccount.
DATA: END OF itab_bapimepoaccount.
DATA: BEGIN OF itab_bapimepoaccountx OCCURS 0.
INCLUDE STRUCTURE bapimepoaccountx.
DATA: END OF itab_bapimepoaccountx.
DATA: BEGIN OF itab_bapiret1 OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF itab_bapiret1.
DATA: BEGIN OF itab_bapiret2 OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF itab_bapiret2.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF SCREEN 0299.
SELECT-OPTIONS:
so_inco1 FOR /pws/zycie001-inco1
NO-EXTENSION NO INTERVALS,
so_waers FOR /pws/zycie001-waers
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070X01
...
v_faty TYPE p DECIMALS 8,
v_tot_real LIKE /pws/zycie003-vlreal,
v_fatpc LIKE t_icms,
v_nova,
v_nac.
* >> Início da inclusão:
DATA: v_tcode LIKE sy-tcode.
DATA : itab_zycit467_nac TYPE /pws/zycit467 OCCURS 0 WITH HEADER LINE
.
* << Fim da inclusão
DATA: wa_it000 LIKE /pws/zycit000,
wa_zycit078 LIKE /pws/zycit078.
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI070
------------------------------------------------------------------------
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 254
Texto: (18 caracteres)
"Lote já informado."
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 499
Texto: (49 caracteres)
"Existe documento contabilizado-Prest.de Contas DA"
Comprimento máximo: 49
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 500
Texto: (54 caracteres)
"Existe documento contabilizado - Déb. Cta. ou Adto. DA"
Comprimento máximo: 54
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 501
Texto: (32 caracteres)
"Status de Finalização preenchido"
Comprimento máximo: 32
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 502
Texto: (16 caracteres)
"DA nacionalizada"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 503
Texto: (27 caracteres)
"Item não pode ser excluído!"
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 504
Texto: (42 caracteres)
"Pedido está sendo usado em outro Processo,"
Comprimento máximo: 42
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 505
Texto: (55 caracteres)
"Problemas de bloqueio. Avisar administrador do sistema."
Comprimento máximo: 55
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 506
Texto: (48 caracteres)
"Favor informar Lote do Fornecedor na Pasta Lote."
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 507
Texto: (21 caracteres)
"Marcar item de pedido"
Comprimento máximo: 24
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 508
Texto: (30 caracteres)
"Marcar apenas 1 item de pedido"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 509
Texto: (48 caracteres)
"Ao criar item novo, é necessário existirem lotes"
Comprimento máximo: 96
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 510
Texto: (42 caracteres)
"com saldo à nacionalizar no item original!"
Comprimento máximo: 47
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 511
Texto: (50 caracteres)
"Quantidade do não pode ser maior que saldo de lote"
Comprimento máximo: 52
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 512
Texto: (16 caracteres)
"Informe o Centro"
Comprimento máximo: 16
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 513
Texto: (28 caracteres)
"Informe a Quantidade do Lote"
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 514
Texto: (34 caracteres)
"Pedido não possui saldo suficiente"
Comprimento máximo: 34
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 515
Texto: (45 caracteres)
"É necessário salvar a DA para criar novo item"
Comprimento máximo: 45
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 516
Texto: (47 caracteres)
"Item não foi criado pelo Pw. CE, não é possível"
Comprimento máximo: 47
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 517
Texto: (14 caracteres)
"retornar saldo"
Comprimento máximo: 14
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 518
Texto: (49 caracteres)
"Para retornar saldo, é necessário existirem lotes"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 519
Texto: (50 caracteres)
"Alteração no Pedido, só permitido para regime '02'"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 520
Texto: (42 caracteres)
"Já ocorreram Nacionalizações para essa DA,"
Comprimento máximo: 42
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 521
Texto: (38 caracteres)
"não será permitido vircular mais itens"
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 522
Texto: (44 caracteres)
"Existem itens com materiais diferente, não é"
Comprimento máximo: 54
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 523
Texto: (36 caracteres)
"permitido alterar o pedido de compra"
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 524
Texto: (52 caracteres)
"Materiais diferentes não permitido para regime '02'."
Comprimento máximo: 52
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT443
Nome de campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
...
MANDT MANDT CLNT 3
NRSEQDA /PWS/ZYCIL831 /PWS/ZYCIT442 CHAR 10
NRSEQ /PWS/ZYCIL001 CHAR 10
EBELN EBELN CHAR 10
EBELP EBELP NUMC 5
ADICAO /PWS/ZYCIL267 NUMC 3
NRSEQLI /PWS/ZYCIL229 CHAR 10
...
NALADINCCA /PWS/ZYGLL667 NUMC 7
QTDEUMEST /PWS/ZYCIL347 QUAN 13
APLICACAO /PWS/ZYCIL269 CHAR 1
CONDMERC /PWS/ZYCIL202 CHAR 1
WERKS WERKS_D CHAR 4
MATNR MATNR CHAR 18
* >> Início da inclusão:
EBELP_ORI EBELP NUMC 5
* << Fim da inclusão