Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 17/04/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:29:24
Descrição da Nota: DESENVOLVIMENTO NACIONALIZAÇÃO DE ADMISSÃO TEMPORÁRIA
Sintoma
Desenvolvimento nacionalização de admissão temporaria
Solução
Desenvolvimento nacionalização de admissão temporaria
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08318 Data: 17/04/2009 Hora: 10:28:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08318
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00009
Agrupamento : 00094
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01580 - 00001 - 6.0 - 00023 - ERRO NO SEGURO DA NF EM JPY.
03820 - 00002 - 7.0 - 00001 - LI - QUANTIDADE UM ESTATÍSTICA
03862 - 00003 - 7.0 - 00001 - EMBARQUE - ADMISSÃO TEMPORÁRIA
03958 - 00004 - 7.0 - 00001 - ERRO AO EXCLUIR O BL, MESMO SENDO FATURAS DO TIPO SEVIÇO
04218 - 00005 - 7.0 - 00002 - AJUSTE NO PROGRAMA EMBARQUE CAMPO CENTRO
04422 - 00006 - 7.0 - 00002 - AJUSTES PARA TRATAR AMRICA LATINA
04608 - 00007 - 7.0 - 00002 - NACIONALIZAÇÃO DE RECOF RECUPERAÇÃO DE IMPOSTOS
04882 - 00008 - 7.0 - 00003 - AJUSTE PARA TRATAR A QUANTIDADE EXCEDIDA DE ACORDO COM A TOLERANC
05136 - 00009 - 7.0 - 00003 - TRATAMENTO PARA EMBARQUE DE RECOF COM UTILIZAÇÃO DE MATERIAL
06755 - 00010 - 7.0 - 00005 - NACIONALIZAÇÃO DE RECOF (SEGURO DESTACADO NA FATURA)
07279 - 00011 - 7.0 - 00006 - QUANDO FATURA DE SERVIÇO LIVRE DE DÉBITO RECLAMA DE QUE NÃO POSSU
07544 - 00012 - 7.0 - 00007 - MELHORIAS DE NAVEGABILIDADE NO EMBARQUE
07565 - 00013 - 7.0 - 00007 - AO ELIMINAR ITEM DO PEDIDO, NÃO ELIMINA ITEM DE ADMISSÃO TEMPORÁR
07601 - 00014 - 7.0 - 00007 - IMPLEMENTAÇÃO DA NAVEGABILIDADE NA LI, LSI E PLI
07704 - 00015 - 7.0 - 00007 - TRATA EXCLUSÃO DO NUMERO DA LI E DATA DE REGISTRO
08189 - 00016 - 7.0 - 00008 - EMBARQUE DE SERVIÇO NÃO ESTA PERMITINDO ENCERRAR CUSTO E CONTABIL
----------------------------------------------------------------------------------------------------
DESENVOLVIMENTO NACIONALIZAÇÃO DE ADMISSÃO TEMPORÁRIA
----------------------------------------------------------------------------------------------------
Palavras Chave:
NACIONALIZAÇÃO - ADMISSÃO - TEMPORÁRIA - EMBARQUE
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCI001
CUAD /PWS/SAPMZYCI020
DYNP /PWS/SAPMZYCI001 0115
DYNP /PWS/SAPMZYCI020 0101
DYNP /PWS/SAPMZYCI020 0116
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001F02
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI001I01
REPS /PWS/MZYCI001O01
REPS /PWS/MZYCI001TOP
REPS /PWS/MZYCI001X01
REPS /PWS/MZYCI010F02
REPS /PWS/MZYCI010F03
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020F02
REPS /PWS/MZYCI020I01
REPS /PWS/MZYCI020O01
REPS /PWS/MZYCI020TOP
REPS /PWS/MZYCI020X01
REPS /PWS/ZYCIR006
REPT /PWS/SAPMZYCI001
REPT /PWS/SAPMZYCI017
REPT /PWS/SAPMZYCI020
TABD /PWS/ZYCIE078
TABD /PWS/ZYCIE078C
TABD /PWS/ZYCIT003
TABD /PWS/ZYCIT078
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI001
Criar status GUI ST0115
Texto breve: status tela 0115
Categoria de status: Status diálogo
Botões:
Tecla de função Código de função Texto
ENTER ENTE Selecionar
F3 EXIT Voltar
F8 OK Vincular
Shift-F3 EXIT Encerrar
Código de função: OK
Categoria de função: Função de aplicação
Modificação: Original
Texto de função Vincular
Nome de ícone ICON_OKAY
Modificação Original
Barra de botões:
Itens 1- 7 : OK
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI020
Criar status GUI ST0116
Texto breve: status tela 0116
Categoria de status: Status diálogo
Botões:
Tecla de função Código de função Texto
ENTER ENTE Selecionar
F3 EXIT Voltar
F8 OK Vincular
Shift-F3 EXIT Encerrar
Código de função: OK
Categoria de função: Função de aplicação
Modificação: Original
Texto de função Vincular
Nome de ícone ICON_OKAY
Modificação Original
Barra de botões:
Itens 1- 7 : OK
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI001 0115
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-EBELN" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 10
Linha 1
Coluna 2
Formato CHAR
Linhas mínimas 10
Texto __________
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-EBELN" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 15
Linha 1
Coluna 2
Formato CHAR
Texto Doc.compra
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-EBELP" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 3
Formato NUMC
Linhas mínimas 5
Texto _____
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-EBELP" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 15
Linha 1
Coluna 3
Formato CHAR
Texto Item
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-MEINS" em tbl.contr./tabstr.
Altura 3
Comprimento Visível 3
Linha 1
Coluna 5
Formato UNIT
Linhas mínimas 3
Texto ___
INCLUIR TEXTO "/PWS/ZYCIE003-MEINS" em tbl.contr./tabstr.
Altura 3
Comprimento Visível 15
Linha 1
Coluna 5
Formato CHAR
Texto UM pedido
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-NRSEQ" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 10
Linha 1
Coluna 1
Formato CHAR
Linhas mínimas 10
Texto __________
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-NRSEQ" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 17
Linha 1
Coluna 1
Formato CHAR
Texto Nº Seq.do Embarqu
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-QTD_ITEN" em tbl.contr./tabstr.
Altura 19
Comprimento Visível 19
Linha 1
Coluna 4
Formato DEC
Linhas mínimas 15
Colunas mínimas 5
Texto _.___.___.___,_____
INCLUIR TEXTO "/PWS/ZYCIE003-QTD_ITEN" em tbl.contr./tabstr.
Altura 19
Comprimento Visível 16
Linha 1
Coluna 4
Formato CHAR
Texto Qtd. Estatística
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_TEMPO-MARK" em tbl.contr./tabstr.
Altura 2
Comprimento Visível 1
Linha 1
Coluna 6
Formato CHAR
Texto _
INCLUIR CONTROLE DE TABELA "TC_NACION"
Altura 25
Comprimento Visível 64
Linha 1
Coluna 2
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0115
PROCESS BEFORE OUTPUT.
* >> Início da inclusão:
MODULE STATUS_0115.
LOOP AT itab_tempo CURSOR tc_nacion-current_line.
MODULE preenche_0115.
ENDLOOP.
* << Fim da inclusão
PROCESS AFTER INPUT.
* >> Início da inclusão:
LOOP AT itab_tempo.
MODULE modific_0115.
ENDLOOP.
MODULE USER_COMMAND_0115.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0101
INCLUIR CAIXA DE VERIFICAÇÃO "/PWS/ZYCIE078-NACION"
Comprimento Visível 1
Linha 3
Coluna 45
Formato CHAR
Linhas mínimas 1
Texto _
Código função
INCLUIR CHTXT "/PWS/ZYCIE078-NACION"
Comprimento Visível 14
Linha 3
Coluna 47
Formato CHAR
Texto Nacionalização
Código função
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0116
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-EBELN" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 10
Linha 1
Coluna 2
Formato CHAR
Linhas mínimas 10
Texto __________
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-EBELN" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 15
Linha 1
Coluna 2
Formato CHAR
Texto Doc.compra
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-EBELP" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 5
Linha 1
Coluna 3
Formato NUMC
Linhas mínimas 5
Texto _____
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-EBELP" em tbl.contr./tabstr.
Altura 5
Comprimento Visível 15
Linha 1
Coluna 3
Formato CHAR
Texto Item
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-MEINS" em tbl.contr./tabstr.
Altura 3
Comprimento Visível 3
Linha 1
Coluna 5
Formato UNIT
Linhas mínimas 3
Texto ___
INCLUIR TEXTO "/PWS/ZYCIE003-MEINS" em tbl.contr./tabstr.
Altura 3
Comprimento Visível 15
Linha 1
Coluna 5
Formato CHAR
Texto UM pedido
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-NRSEQ" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 10
Linha 1
Coluna 1
Formato CHAR
Linhas mínimas 10
Texto __________
Código função
INCLUIR TEXTO "/PWS/ZYCIE003-NRSEQ" em tbl.contr./tabstr.
Altura 10
Comprimento Visível 17
Linha 1
Coluna 1
Formato CHAR
Texto Nº Seq.do Embarqu
INCLUIR CAMPO TEXTO "/PWS/ZYCIE003-QTD_ITEN" em tbl.contr./tabstr.
Altura 19
Comprimento Visível 19
Linha 1
Coluna 4
Formato DEC
Linhas mínimas 15
Colunas mínimas 5
Texto _.___.___.___,_____
INCLUIR TEXTO "/PWS/ZYCIE003-QTD_ITEN" em tbl.contr./tabstr.
Altura 19
Comprimento Visível 16
Linha 1
Coluna 4
Formato CHAR
Texto Qtd. Estatística
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_TEMPO-MARK" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 1
Linha 1
Coluna 6
Formato CHAR
Texto _
INCLUIR CONTROLE DE TABELA "TC_NACION"
Altura 25
Comprimento Visível 64
Linha 1
Coluna 2
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0116
PROCESS BEFORE OUTPUT.
* >> Início da inclusão:
MODULE status_0116.
LOOP AT itab_tempo CURSOR tc_nacion-current_line.
MODULE preenche_0116.
ENDLOOP.
* << Fim da inclusão
PROCESS AFTER INPUT.
* >> Início da inclusão:
LOOP AT itab_tempo.
MODULE modific_0116.
ENDLOOP.
MODULE user_command_0116.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
/pws/zycie013-slqtde TO itab_zycit003-slqtde ,
/pws/zycie003-qtd_itend TO itab_zycit003-qtd_itend ,
/pws/zycie003-dtremessa TO itab_zycit003-dtremessa ,
/pws/zycie003-dtalocprod TO itab_zycit003-dtalocprod ,
/pws/zycie003-dtprovent TO itab_zycit003-dtprovent ,
/pws/zycie003-ntgewd TO itab_zycit003-ntgewd .
MOVE ekpo-idnlf TO itab_zycit003-idnlf.
MODIFY itab_zycit003 INDEX tc_ped-current_line.
MOVE: itab_zycit003-werks TO /pws/zycie001-werks.
IF sy-subrc NE 0.
* >> Início da exclusão: FORM ALTERA_ITAB_ZYCIT003
IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'.
* << Fim da exclusão
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCIT003
IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'
AND /pws/zycie001-regime NE '13'.
* << Fim da inclusão
READ TABLE itab_zycit003_aux WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc NE 0.
CLEAR itab_zycit013.
READ TABLE itab_zycit013 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
MOVE: itab_zycit013-slqtde TO itab_zycit003-qtd_iten,
...
...
LOOP AT itab_zycit003_aux2.
DELETE FROM /pws/zycit374
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
DELETE FROM /pws/zycit396
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
ENDLOOP.
* >> Início da inclusão: FORM GRAVA_TABELAS
IF /pws/zycie001-regime EQ '13'.
LOOP AT itab_zycit003_del.
READ TABLE itab_zycit003
WITH KEY ebeln = itab_zycit003_del-ebeln
ebelp = itab_zycit003_del-ebelp.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit003
WHERE nrseq = /pws/zycie001-nrseq
AND ebeln = itab_zycit003_del-ebeln
AND ebelp = itab_zycit003_del-ebelp.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit003 WHERE qtd_iten EQ 0.
ENDLOOP.
IF sy-subrc EQ 0.
v_msg = 'X' .
ENDIF.
IF v_msg EQ 'X'.
SELECT SINGLE * FROM /PWS/ZYCIT026
WHERE NRSEQ = /PWS/ZYCIE001-NRSEQ.
IF SY-SUBRC = 0.
MESSAGE i015 WITH text-489 text-490 text-491.
EXIT.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /PWS/ZYCIT008 "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da inclusão
WHERE NRSEQ = /PWS/ZYCIE001-NRSEQ
AND TPGTO = 'D'.
IF SY-SUBRC EQ 0.
MESSAGE i015 WITH text-489 text-490 text-492.
EXIT.
ENDIF.
MESSAGE i015 WITH text-261 text-260.
DELETE itab_zycit003 WHERE qtd_iten EQ '0'.
ENDIF.
LOOP AT itab_zycit003.
itab_zycit003-nrseq = /pws/zycie001-nrseq.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF /pws/zycie001-regime NE '16'.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.
* << Fim da inclusão
CLEAR /pws/zycit013.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit013.
MODIFY /pws/zycit013.
ENDIF.
ENDLOOP.
IF v_sair NE 'X'.
LOOP AT itab_zycit003.
itab_zycit003-nrseq = /pws/zycie001-nrseq.
MODIFY itab_zycit003 INDEX sy-tabix.
ENDLOOP.
...
...
AND nrseq = itab_zycit467_del-nrseq
AND ebeln = itab_zycit467_del-ebeln
AND ebelp = itab_zycit467_del-ebelp.
ENDLOOP.
IF ( /pws/zycie001-regime EQ '14' OR
/pws/zycie001-regime EQ '16' ) AND
/pws/zycie001-tpdecl EQ 'DI'.
IF itab_zycit467[] IS INITIAL AND
NOT itab_zycit003[] IS INITIAL .
SELECT * FROM /pws/zycit467
* >> Início da exclusão: FORM GRAVA_TABELAS
INTO TABLE itab_zycit467 "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
INTO TABLE itab_zycit467 "#EC CI_NOFIRST
* << Fim da inclusão
WHERE nrseq EQ /pws/zycie001-nrseq.
ENDIF.
LOOP AT itab_zycit467.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_zycit467-nrseq
ebeln = itab_zycit467-ebeln
itseqda = itab_zycit467-ebelp.
IF sy-subrc EQ 0.
itab_zycit467-ebelp_emb = itab_zycit003-ebelp.
MODIFY itab_zycit467 .
...
...
itab_zycit467 = itab_zycit467_aux1.
APPEND itab_zycit467.
CLEAR itab_zycit467.
ENDIF.
ENDLOOP.
SORT itab_zycit467 BY nrseqda nrseqlote nrseq ebeln ebelp.
DELETE ADJACENT DUPLICATES FROM itab_zycit467
COMPARING nrseqda nrseqlote nrseq ebeln ebelp.
ENDIF.
DELETE FROM /pws/zycit467
* >> Início da exclusão: FORM GRAVA_TABELAS
WHERE nrseq EQ /pws/zycie001-nrseq. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
WHERE nrseq EQ /pws/zycie001-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
MODIFY /pws/zycit467 FROM TABLE itab_zycit467.
ENDIF.
IF /pws/zycie001-regime NE '16' OR
/pws/zycie001-tpdecl NE 'DI'.
CLEAR: itab_zycit467, itab_zycit467_del[].
REFRESH: itab_zycit467, itab_zycit467_del[].
ENDIF.
IF NOT v_sair IS INITIAL.
EXIT.
ENDIF.
LOOP AT itab_zycit003_aux2.
CLEAR itab_zycit003.
READ TABLE itab_zycit003
WITH KEY ebeln = itab_zycit003_aux2-ebeln
ebelp = itab_zycit003_aux2-ebelp.
IF sy-subrc NE 0.
itab_zycit003_aux2-slqtde = itab_zycit003_aux2-slqtde
+ itab_zycit003_aux2-qtd_iten.
itab_zycit003_aux2-qtd_iten = 0.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF /pws/zycie001-regime NE '16'.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.
* << Fim da inclusão
CLEAR /pws/zycit013.
MOVE-CORRESPONDING itab_zycit003_aux2 TO /pws/zycit013.
MODIFY /pws/zycit013.
CLEAR itab_zycit013.
MOVE /pws/zycit013 TO itab_zycit013.
MODIFY itab_zycit013 TRANSPORTING slqtde menge
WHERE ebeln = itab_zycit003_aux2-ebeln
AND ebelp = itab_zycit003_aux2-ebelp.
ENDIF.
DELETE FROM /pws/zycit003
...
...
ENDIF.
ELSE.
IF ( sy-tcode EQ '/PWS/ZYCI001_A'
OR sy-tcode EQ '/PWS/ZYCI001_C' ).
PERFORM valida_trans USING '/PWS/ZYCI023_A' 'skip'.
ELSE.
PERFORM valida_trans USING '/PWS/ZYCI023_E' 'skip'.
ENDIF.
ENDIF.
ELSE.
* >> Início da inclusão: FORM CALL_DI
IF /pws/zycie001-regime EQ '13'.
PERFORM ajust_bl_nac.
ELSE.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
* >> Início da inclusão: FORM CALL_DI
ENDIF.
* << Fim da inclusão
IF sy-subrc EQ 0.
MOVE-CORRESPONDING /pws/zycit093 TO wa_zycie085.
MOVE: /pws/zycit093-nrseqce TO wa_zycie085-nrbl,
/pws/zycie001-embarca TO wa_zycie085-identify.
EXPORT wa_zycie085 TO MEMORY ID rimc4.
...
...
EXPORT itab_sele[]
TO MEMORY ID 'IP003B'.
IF v_status_s = 1.
IF NOT /pws/zycie001-modalidade EQ '02'.
IF ( /pws/zycie001-modalidade EQ '03' AND
itab_zycit003-servico EQ 'X' ) .
ELSE.
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc NE 0.
* >> Início da inclusão: FORM CALL_FATURA
IF /pws/zycie001-regime EQ '13'.
PERFORM gera_bl_nac.
ELSE.
* << Fim da inclusão
MESSAGE s061 WITH text-026 text-027.
EXIT.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CALL_FATURA
ENDIF.
* << Fim da inclusão
PERFORM valida_trans USING '/PWS/ZYCI003_C' ''.
ELSE.
...
...
ENDIF.
ELSE.
CLEAR v_subrc.
IF /pws/zycie001-modalidade EQ '02'
OR /pws/zycie001-modalidade EQ '03'.
v_subrc = 'X'.
ELSE.
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM CALL_FATURA
v_subrc = 'X'.
ELSEIF /pws/zycie001-regime EQ '13'.
PERFORM gera_bl_nac.
* << Fim da inclusão
v_subrc = 'X'.
ENDIF.
ENDIF.
IF v_subrc EQ 'X'.
LOOP AT itab_zycit263.
v_nrseq_pgfat = itab_zycit263-nrseq_pgfat.
ENDLOOP.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit006 "#EC CI_NOFIELD
INTO /pws/zycit006
...
...
FORM recuperando_itens.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
DATA: itab_zycit003_init TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE.
CLEAR: /pws/zycit094, /pws/zycit093.
* << Fim da inclusão
...
...
AND ebelp = itab_zycit263-ebelp
AND nrseq_pgfat = itab_zycit263-nrseq_pgfat.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycit013
INTO TABLE itab_zycit013
FOR ALL ENTRIES IN itab_zycit003 WHERE
ebeln = itab_zycit003-ebeln AND
* >> Início da inclusão: FORM RECUPERANDO_ITENS
ebelp = itab_zycit003-ebelp.
IF /pws/zycie001-regime = '13'.
IF NOT itab_zycit003[] IS INITIAL.
REFRESH itab_zycit003_init.
READ TABLE itab_zycit003 INDEX 1.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003_init
WHERE nrseq EQ itab_zycit003-nrseq_origem.
ENDIF.
LOOP AT itab_zycit003.
CLEAR: itab_zycit003_init.
READ TABLE itab_zycit003_init
WITH KEY ebeln = itab_zycit003-ebeln
* << Fim da inclusão
ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
IF NOT itab_zycit003_init-qtd_itend IS INITIAL.
itab_zycit003-slqtde = itab_zycit003_init-qtd_itend -
itab_zycit003-qtd_iten.
ELSE.
itab_zycit003-slqtde = itab_zycit003_init-qtd_iten -
itab_zycit003-qtd_iten.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
EXIT.
CLEAR: v_rec.
ENDIF.
* << Fim da inclusão
PERFORM carrega_saldo.
PERFORM lock_pedido.
ENDIF.
LOOP AT itab_zycit003.
* >> Início da exclusão: FORM RECUPERANDO_ITENS
IF /pws/zycie001-regime NE '16' .
* << Fim da exclusão
* >> Início da inclusão: FORM RECUPERANDO_ITENS
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.
* << Fim da inclusão
READ TABLE itab_zycit013 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
MOVE: itab_zycit013-slqtde TO itab_zycit003-slqtde,
itab_zycit013-menge TO itab_zycit003-menge,
itab_zycit013-uebto TO itab_zycit003-uebto,
itab_zycit013-uebtk TO itab_zycit003-uebtk,
'X' TO itab_zycit003-noinitial.
ENDIF.
PERFORM calc_saldo.
MODIFY itab_zycit003.
...
...
FORM vinculacao_li.
* >> Início da inclusão: FORM VINCULACAO_LI
DATA: v_nacion TYPE c.
* << Fim da inclusão
...
...
WHERE nrseqli EQ itab_zycit079-nrseqli
AND nrseq NE space.
IF sy-subrc EQ 0.
DELETE itab_zycit079
WHERE nrseqli EQ /pws/zycit079-nrseqli.
ENDIF.
ENDLOOP.
ENDIF.
IF NOT itab_zycit079[] IS INITIAL.
IF /pws/zycie001-tpdecl EQ 'DI'.
* >> Início da inclusão: FORM VINCULACAO_LI
IF /pws/zycie001-regime EQ '13'.
v_nacion = 'X'.
ELSE.
CLEAR: v_nacion.
ENDIF.
* << Fim da inclusão
SELECT * FROM /pws/zycit078
INTO TABLE itab_zycit078
FOR ALL ENTRIES IN itab_zycit079
WHERE nrseqli EQ itab_zycit079-nrseqli
AND nrli NE space
* >> Início da inclusão: FORM VINCULACAO_LI
AND nacion EQ v_nacion
* << Fim da inclusão
AND nrseqlisub EQ space
AND tpli EQ 'N'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F02
...
FORM verifica_taxa.
IF ( sy-tcode = '/PWS/ZYCI001_E' OR sy-tcode = '/PWS/ZYCI001_A' )
* >> Início da inclusão: FORM VERIFICA_TAXA
AND sy-dynnr NE '0115'
* << Fim da inclusão
AND okcode NE 'PED'.
ELSE.
CHECK itab_zycit003-aliqii IS INITIAL
AND itab_zycit003-aliqipi IS INITIAL
AND itab_zycit003-aliqicms IS INITIAL.
REFRESH itab_imposto.
CLEAR itab_imposto.
itab_imposto-nrseq = itab_zycit003-nrseq.
itab_imposto-ebeln = itab_zycit003-ebeln.
itab_imposto-ebelp = itab_zycit003-ebelp.
...
...
FORM vincula_li.
LOOP AT itab_zycit003 WHERE nrseqli IS initial.
* >> Início da inclusão: FORM VINCULA_LI
IF /pws/zycie001-regime EQ '13'.
SELECT SINGLE a~nrseqli
FROM /pws/zycit078 AS a INNER JOIN
/pws/zycit079 AS b ON a~nrseqli EQ b~nrseqli
INTO /pws/zycit078-nrseqli
WHERE
b~ebeln EQ itab_zycit003-ebeln AND "#EC CI_NOFIRST
b~ebelp EQ itab_zycit003-ebelp AND
b~nrseq EQ space AND
a~nacion EQ 'X'.
IF sy-subrc EQ 0.
MESSAGE w013 WITH text-075 text-076 text-077.
EXIT.
ENDIF.
ELSE.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit079 WHERE
* >> Início da exclusão: FORM VINCULA_LI
ebeln EQ itab_zycit003-ebeln AND "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM VINCULA_LI
ebeln EQ itab_zycit003-ebeln AND "#EC CI_NOFIRST
* << Fim da inclusão
ebelp EQ itab_zycit003-ebelp AND
nrseq EQ space.
IF sy-subrc EQ 0.
...
...
ENDIF.
ELSEIF /pws/zycie001-tpdecl EQ 'DSI'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ /pws/zycit079-nrseqli
AND nrli NE space
AND tpli EQ 'S'
AND status EQ 'VAL'.
IF sy-subrc EQ 0.
MESSAGE w013 WITH text-187 text-188 text-189.
EXIT.
* >> Início da inclusão: FORM VINCULA_LI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
IF sy-subrc = 0.
DELETE itab_zycit396 WHERE
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
ENDIF.
ENDIF.
DELETE itab_zycit003 INDEX v_tabix.
IF itab_zycit003[] IS INITIAL.
/pws/zycie001-werks = ''.
ENDIF.
* >> Início da exclusão: FORM TRATA_DELP
CLEAR itab_zycit003.
* << Fim da exclusão
ELSE.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space .
IF sy-subrc EQ 0 .
MESSAGE w015 WITH text-043.
EXIT.
ELSE.
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT013'
EXPORTING
...
...
DELETE itab_zycit374 .
ENDIF.
READ TABLE itab_zycit396 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc = 0.
DELETE itab_zycit396.
ENDIF.
ENDIF.
DELETE itab_zycit003 INDEX v_tabix.
* >> Início da exclusão: FORM TRATA_DELP
CLEAR itab_zycit003.
* << Fim da exclusão
DELETE FROM /pws/zycit263
WHERE nrseq EQ itab_zycit263-nrseq
AND ebeln EQ itab_zycit263-ebeln
AND ebelp EQ itab_zycit263-ebelp
AND eliminado EQ space.
CLEAR itab_zycit263 . REFRESH itab_zycit263.
ENDIF.
ENDIF.
LOOP AT itab_zycit036_del1
WHERE ebeln EQ itab_zycit003-ebeln
...
...
INTO TABLE itab_zycit001_saldo
FOR ALL ENTRIES IN itab_zycit003_util
WHERE nrseq EQ itab_zycit003_util-nrseq.
LOOP AT itab_zycit001_saldo WHERE regime EQ '16' .
DELETE itab_zycit003_util
WHERE nrseq EQ itab_zycit001_saldo-nrseq.
ENDLOOP .
ENDIF .
ENDIF.
ENDIF.
* >> Início da inclusão: FORM CARREGA_SALDO
LOOP AT itab_zycit001_saldo WHERE regime EQ '13' .
DELETE itab_zycit003_util
WHERE nrseq EQ itab_zycit001_saldo-nrseq.
ENDLOOP .
* << Fim da inclusão
LOOP AT itab_zycit013.
CLEAR: itab_pedido, itab_zycit003_util, v_qtdemb.
READ TABLE itab_pedido WITH KEY ebeln = itab_zycit013-ebeln
ebelp = itab_zycit013-ebelp.
IF sy-subrc EQ 0.
CLEAR v_qtdemb.
LOOP AT itab_zycit003_util WHERE ebeln EQ itab_zycit013-ebeln
AND ebelp EQ itab_zycit013-ebelp.
v_qtdemb = v_qtdemb + itab_zycit003_util-qtd_iten.
ENDLOOP.
ENDIF.
v_slqtde = itab_pedido-menge - v_qtdemb.
v_slqtde = itab_pedido-menge - v_qtdemb.
IF v_slqtde LT 0 AND okcode EQ 'PED'.
DELETE itab_zycit003 WHERE ebelp EQ itab_zycit013-ebelp
AND ebeln EQ itab_zycit013-ebeln.
MESSAGE w061 WITH text-004 itab_zycit013-ebelp
text-005 itab_zycit013-ebeln.
ENDIF.
IF v_slqtde NE itab_zycit013-slqtde.
* >> Início da exclusão: FORM CARREGA_SALDO
IF /pws/zycie001-regime NE '16'.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_SALDO
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.
* << Fim da inclusão
itab_zycit013-slqtde = v_slqtde.
UPDATE /pws/zycit013 SET slqtde = itab_zycit013-slqtde
menge = itab_pedido-menge
WHERE ebeln = itab_zycit013-ebeln
AND ebelp = itab_zycit013-ebelp .
ENDIF.
itab_zycit013-menge = itab_pedido-menge.
MODIFY itab_zycit013.
ENDIF.
ENDLOOP.
...
...
* >> Início da inclusão:
FORM selecionar_tempo.
DATA: itab_zycit042t TYPE /pws/zycit042 OCCURS 0 WITH HEADER LINE,
itab_zycit042t2 TYPE /pws/zycit042 OCCURS 0 WITH HEADER LINE,
itab_zycit041t TYPE /pws/zycit041 OCCURS 0 WITH HEADER LINE,
itab_zycit043t TYPE /pws/zycit043 OCCURS 0 WITH HEADER LINE,
itab_tempot LIKE itab_tempo OCCURS 0 WITH HEADER LINE.
REFRESH itab_tempo.
CLEAR itab_tempo.
SELECT b~nrseq b~nrseq_origem a~regime a~embarca a~inco1
b~ebeln b~ebelp b~qtd_iten b~meins
FROM /pws/zycit001 AS a INNER JOIN /pws/zycit003 AS b
ON a~nrseq EQ b~nrseq
INTO TABLE itab_tempo
WHERE a~bukrs EQ /pws/zycie001-bukrs
AND a~j_1bbranch EQ /pws/zycie001-j_1bbranch
AND ( b~nrseq IN s_nrseq OR
( b~nrseq_origem IN s_nrseq AND a~regime EQ '13' ) )
AND b~ebeln IN s_ebeln
AND b~ebelp IN s_ebelp
AND ( ( a~regime EQ '05' AND a~tpdecl EQ 'DI' ) OR
( a~regime EQ '09' AND a~tpdecl EQ 'DSI' ) OR
( a~regime EQ '13' ) ).
LOOP AT itab_tempo WHERE nrseq NE /pws/zycie001-nrseq
AND regime EQ '13'.
DELETE itab_tempo WHERE nrseq EQ itab_tempo-nrseq_origem
OR nrseq EQ itab_tempo-nrseq.
ENDLOOP.
LOOP AT itab_zycit003.
DELETE itab_tempo WHERE nrseq EQ itab_zycit003-nrseq_origem
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
ENDLOOP.
IF NOT itab_tempo[] IS INITIAL.
SORT itab_tempo BY nrseq ebeln ebelp.
itab_tempot[] = itab_tempo[].
DELETE ADJACENT DUPLICATES FROM itab_tempot COMPARING nrseq.
SELECT * FROM /pws/zycit042 INTO TABLE itab_zycit042t
FOR ALL ENTRIES IN itab_tempot
WHERE nrseq EQ itab_tempot-nrseq. "#EC CI_NOFIRST
itab_zycit042t2[] = itab_zycit042t[].
SORT itab_zycit042t2 BY nrseqnf.
DELETE ADJACENT DUPLICATES FROM itab_zycit042t2 COMPARING nrseqnf.
IF NOT itab_zycit042t[] IS INITIAL.
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041t
FOR ALL ENTRIES IN itab_zycit042t2
WHERE nrseq EQ itab_zycit042t2-nrseqnf.
SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043t
FOR ALL ENTRIES IN itab_zycit042t2
WHERE nrseq EQ itab_zycit042t2-nrseqnf.
ENDIF.
LOOP AT itab_tempo.
CLEAR: itab_zycit042t.
READ TABLE itab_zycit042t WITH KEY nrseq = itab_tempo-nrseq
ebeln = itab_tempo-ebeln
ebelp = itab_tempo-ebelp.
IF sy-subrc NE 0.
DELETE itab_tempo WHERE nrseq = itab_tempo-nrseq.
CONTINUE.
ENDIF.
CLEAR: itab_zycit043t, itab_zycit041t.
READ TABLE itab_zycit041t WITH KEY
nrseq = itab_zycit042t-nrseqnf
docnum = itab_zycit042t-docnum.
LOOP AT itab_zycit043t
WHERE nfglobal EQ itab_zycit041t-nfglobal
AND docnumnfg EQ itab_zycit041t-docnum.
IF itab_zycit043t-belnr_mr1m IS INITIAL.
EXIT.
ENDIF.
ENDLOOP.
IF itab_zycit043t-belnr_mr1m IS INITIAL AND
itab_zycit041t-belnr_mr1m IS INITIAL .
DELETE itab_tempo WHERE nrseq = itab_tempo-nrseq.
ENDIF.
ENDLOOP.
ENDIF.
IF itab_tempo[] IS INITIAL.
MESSAGE e015 WITH text-006.
EXIT.
ENDIF.
CALL SCREEN 0115.
ENDFORM.
FORM move_itens_nacion.
DATA: itab_itens_temp TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE.
DELETE itab_tempo WHERE mark NE 'X'.
LOOP AT itab_zycit003.
DELETE itab_tempo WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
ENDLOOP.
SELECT * FROM /pws/zycit003
INTO TABLE itab_itens_temp
FOR ALL ENTRIES IN itab_tempo
WHERE nrseq EQ itab_tempo-nrseq
AND ebeln EQ itab_tempo-ebeln
AND ebelp EQ itab_tempo-ebelp.
CLEAR: itab_tempo.
READ TABLE itab_tempo INDEX 1.
/pws/zycie001-inco1 = itab_tempo-inco1.
CLEAR: itab_zycit003.
LOOP AT itab_itens_temp.
itab_zycit003-nrseq_origem = itab_itens_temp-nrseq .
itab_zycit003-nrseq = /pws/zycie001-nrseq .
itab_zycit003-ebeln = itab_itens_temp-ebeln .
itab_zycit003-ebelp = itab_itens_temp-ebelp.
itab_zycit003-descr = itab_itens_temp-descr.
itab_zycit003-menge = itab_itens_temp-menge.
itab_zycit003-netpr = itab_itens_temp-netpr.
itab_zycit003-meins = itab_itens_temp-meins.
itab_zycit003-gewei = itab_itens_temp-gewei.
itab_zycit003-gsber = itab_itens_temp-gsber.
itab_zycit003-bednr = itab_itens_temp-bednr.
itab_zycit003-aedat = itab_itens_temp-aedat.
itab_zycit003-prctr = itab_itens_temp-prctr.
itab_zycit003-waers = itab_itens_temp-waers.
itab_zycit003-descfab = itab_itens_temp-descfab.
itab_zycit003-paisfab = itab_itens_temp-paisfab.
itab_zycit003-mtart = itab_itens_temp-mtart.
itab_zycit003-werks = itab_itens_temp-werks.
itab_zycit003-lifnr = itab_itens_temp-lifnr.
itab_zycit003-j_1bnbm = itab_itens_temp-j_1bnbm.
itab_zycit003-fabric = itab_itens_temp-fabric.
itab_zycit003-indic_obrig = itab_itens_temp-indic_obrig.
itab_zycit003-porigem = itab_itens_temp-porigem.
itab_zycit003-paquis = itab_itens_temp-paquis.
itab_zycit003-mfrpn = itab_itens_temp-mfrpn.
itab_zycit003-nrcarga = itab_itens_temp-nrcarga.
itab_zycit003-lifnrfabr = itab_itens_temp-lifnrfabr.
itab_zycit003-flagfabr = itab_itens_temp-flagfabr.
itab_zycit003-liobrig = itab_itens_temp-liobrig.
itab_zycit003-corigobrig = itab_itens_temp-corigobrig.
itab_zycit003-naladi = itab_itens_temp-naladi.
itab_zycit003-extarif_al = itab_itens_temp-extarif_al.
itab_zycit003-tipo_al = itab_itens_temp-tipo_al.
itab_zycit003-orgemiss_al = itab_itens_temp-orgemiss_al.
itab_zycit003-numero_al = itab_itens_temp-numero_al.
itab_zycit003-anoemiss_al = itab_itens_temp-anoemiss_al.
itab_zycit003-agente = itab_itens_temp-agente.
itab_zycit003-aplicacao = itab_itens_temp-aplicacao.
itab_zycit003-condmerc = itab_itens_temp-condmerc.
itab_zycit003-naladincca = itab_itens_temp-naladincca.
itab_zycit003-matnr = itab_itens_temp-matnr.
itab_zycit003-servico = itab_itens_temp-servico.
itab_zycit003-agrupamento = itab_itens_temp-agrupamento.
itab_zycit003-dt_trans = itab_itens_temp-dt_trans.
itab_zycit003-dt_receb = itab_itens_temp-dt_receb.
itab_zycit003-dtremessa = itab_itens_temp-dtremessa.
itab_zycit003-dtprovent = itab_itens_temp-dtprovent.
itab_zycit003-dtalocprod = itab_itens_temp-dtalocprod.
itab_zycit003-nrpedforn = itab_itens_temp-nrpedforn.
itab_zycit003-contatoforn = itab_itens_temp-contatoforn.
itab_zycit003-nrregprod = itab_itens_temp-nrregprod.
itab_zycit003-dtregprod = itab_itens_temp-dtregprod.
itab_zycit003-fumigacao = itab_itens_temp-fumigacao.
itab_zycit003-dtrecanalise = itab_itens_temp-dtrecanalise.
itab_zycit003-utilizacao = itab_itens_temp-utilizacao.
IF NOT itab_itens_temp-qtd_itend IS INITIAL.
itab_zycit003-slqtde = itab_itens_temp-qtd_itend.
ELSE.
itab_zycit003-slqtde = itab_itens_temp-qtd_iten.
ENDIF.
PERFORM verifica_taxa.
APPEND itab_zycit003.
ENDLOOP.
LEAVE TO SCREEN 0.
ENDFORM.
FORM gera_bl_nac.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseq = itab_zycit003-nrseq_origem. "#EC CI_NOFIRST
SELECT SINGLE * FROM
/pws/zycit093 INTO /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
DO.
PERFORM busca_sequencial_bl.
/pws/zycit093-nrseqce = /pws/zycie093-nrseqce.
INSERT /pws/zycit093.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
ENDDO.
/pws/zycit094-nrseq = /pws/zycie001-nrseq.
/pws/zycit094-nrseqce = /pws/zycit093-nrseqce.
INSERT /pws/zycit094.
ENDFORM.
FORM ajust_bl_nac.
DATA: itab_zycit003_nac TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE,
v_peso_nac TYPE /pws/zycit003-qtd_iten,
v_peso_ori TYPE /pws/zycit003-qtd_iten.
REFRESH itab_zycit003_nac.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_nac
WHERE nrseq EQ itab_zycit003-nrseq_origem.
SELECT SINGLE nrseqce FROM /pws/zycit094
INTO /pws/zycit093-nrseqce
WHERE nrseq = itab_zycit003-nrseq_origem. "#EC CI_NOFIRST
SELECT SINGLE * FROM
/pws/zycit093 INTO /pws/zycit093
WHERE nrseqce = /pws/zycit093-nrseqce.
CLEAR: v_peso_nac, v_peso_ori.
LOOP AT itab_zycit003_nac.
v_peso_nac = v_peso_nac + itab_zycit003_nac-ntgew.
ENDLOOP.
LOOP AT itab_zycit003.
v_peso_ori = v_peso_ori + itab_zycit003-ntgew.
ENDLOOP.
/pws/zycit093-collect = /pws/zycit093-collect *
( v_peso_ori / v_peso_nac ).
/pws/zycit093-prepaid = /pws/zycit093-prepaid *
( v_peso_ori / v_peso_nac ).
/pws/zycit093-ternacion = /pws/zycit093-ternacion *
( v_peso_ori / v_peso_nac ).
/pws/zycit093-vlfre = /pws/zycit093-vlfre *
( v_peso_ori / v_peso_nac ).
/pws/zycit093-nrseqce = /pws/zycit094-nrseqce.
MODIFY /pws/zycit093 .
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
WHERE modalidade EQ /pws/zycie001-modalidade.
IF NOT /pws/zycit120-checkdi IS INITIAL.
SELECT * FROM /pws/zycit100 "#EC CI_NOFIRST
INTO TABLE it_100_temp
WHERE nrseq EQ /pws/zycie001-nrseq.
IF sy-subrc EQ 0.
MESSAGE s015 WITH text-181 text-182.
EXIT.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
CASE /pws/zycie001-regime.
WHEN '13'.
CALL SELECTION-SCREEN '0703'.
WHEN OTHERS.
* << Fim da inclusão
CALL SELECTION-SCREEN '0300'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
ENDCASE.
* << Fim da inclusão
WHEN 'DELP'.
PERFORM trata_delp.
WHEN 'MARC'.
CASE ts_embar-activetab .
WHEN 'FC_PED' .
LOOP AT itab_zycit003.
...
...
* >> Início da inclusão:
MODULE modific_0115 INPUT.
MODIFY itab_tempo INDEX tc_nacion-current_line.
ENDMODULE.
MODULE user_command_0115 INPUT.
DATA: v_retorna TYPE c.
CASE sy-ucomm .
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'OK'.
READ TABLE itab_tempo WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-112.
EXIT.
ENDIF.
CLEAR: v_retorna .
LOOP AT itab_tempo WHERE nrseq NE itab_tempo-nrseq
AND mark EQ 'X'.
MESSAGE i015 WITH text-493 text-494.
v_retorna = 'X'.
ENDLOOP.
IF v_retorna EQ 'X'.
EXIT.
ENDIF.
PERFORM move_itens_nacion.
ENDCASE.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001O01
...
it_code-fcode = 'DI'. APPEND it_code.
SET PF-STATUS '0100' EXCLUDING 'DI'.
ENDIF.
IF /pws/zycie001-tpdecl EQ 'DSI' .
it_code-fcode = 'DA'. APPEND it_code.
ENDIF.
IF /pws/zycie001-regime EQ '16' .
it_code-fcode = 'BL'. APPEND it_code.
it_code-fcode = 'FAT'. APPEND it_code.
ENDIF.
* >> Início da inclusão: MODULE STATUS_0050
IF /pws/zycie001-regime EQ '13' .
it_code-fcode = 'BL'. APPEND it_code.
ENDIF.
* << Fim da inclusão
SELECT SINGLE land1 INTO v_land1 FROM t001
WHERE bukrs = /pws/zycie001-bukrs.
IF itab_zycit477[] IS INITIAL.
SELECT * FROM /pws/zycit477
INTO TABLE itab_zycit477
WHERE land EQ v_land1.
ENDIF.
READ TABLE itab_zycit477 WITH KEY land = v_land1.
IF sy-subrc EQ 0 .
it_code-fcode = 'NF'.
...
...
* >> Início da inclusão:
MODULE preenche_0115 OUTPUT.
/pws/zycie003-nrseq = itab_tempo-nrseq.
/pws/zycie003-ebeln = itab_tempo-ebeln.
/pws/zycie003-ebelp = itab_tempo-ebelp.
/pws/zycie003-qtd_iten = itab_tempo-qtd_iten.
/pws/zycie003-meins = itab_tempo-meins.
ENDMODULE.
MODULE status_0115 OUTPUT.
SET PF-STATUS 'ST0115'.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001TOP
...
* >> Início da inclusão:
CONTROLS tc_nacion TYPE TABLEVIEW USING SCREEN 0115.
* << Fim da inclusão
...
...
NO INTERVALS NO-EXTENSION,
so_fabr FOR /pws/zycie003-lifnrfabr
NO INTERVALS NO-EXTENSION,
so_nrli FOR /pws/zycie003-nrseqli
NO INTERVALS NO-EXTENSION,
so_nrlsi FOR /pws/zycie003-nrseqlsi
NO INTERVALS NO-EXTENSION,
so_tpnf FOR /pws/zycie003-tpnf
NO INTERVALS NO-EXTENSION.
SELECTION-SCREEN END OF SCREEN 0702.
* >> Início da inclusão:
SELECTION-SCREEN BEGIN OF SCREEN 0703.
SELECT-OPTIONS:
s_nrseq FOR /pws/zycit003-nrseq,
s_ebeln FOR ekko-ebeln,
s_ebelp FOR ekpo-ebelp.
SELECTION-SCREEN END OF SCREEN 0703.
* << Fim da inclusão
AT SELECTION-SCREEN OUTPUT.
IF sy-dynnr EQ '0300'.
LOOP AT SCREEN.
IF ( screen-name EQ 'SO_INCO1-LOW' AND
NOT /pws/zycie001-inco1 IS INITIAL ) OR
( screen-name EQ 'PA_BUKRS' ).
screen-input = '0'.
MODIFY SCREEN.
ELSE.
screen-input = '1'.
...
...
ENDLOOP.
IF NOT so_matri-low IS INITIAL.
so_matri-sign = 'I'.
so_matri-option = 'EQ'.
APPEND so_matri.
ENDIF.
IF NOT so_filia-low IS INITIAL.
so_filia-sign = 'I'.
so_filia-option = 'EQ'.
APPEND so_filia.
* >> Início da inclusão:
ENDIF.
ENDIF.
IF sy-dynnr EQ '0703'.
CLEAR: itab_zycit003.
READ TABLE itab_zycit003 INDEX 1.
IF NOT itab_zycit003-nrseq_origem IS INITIAL.
REFRESH s_nrseq.
s_nrseq-low = itab_zycit003-nrseq_origem.
s_nrseq-sign = 'I'.
s_nrseq-option = 'EQ'.
APPEND s_nrseq.
LOOP AT SCREEN.
IF screen-name EQ 'S_NRSEQ-LOW' OR
screen-name EQ 'S_NRSEQ-HIGH' .
screen-input = '0'.
MODIFY SCREEN.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão:
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDIF.
AT SELECTION-SCREEN.
CASE sy-dynnr .
WHEN '0300'.
CASE sy-ucomm.
...
...
WHEN '0700'.
IF sy-ucomm EQ 'CRET'.
PERFORM selecionar_da.
ENDIF.
WHEN '0701'.
IF sy-ucomm EQ 'CRET'.
PERFORM selecionar_rc.
ENDIF.
WHEN '0702'.
PERFORM trata_posicao.
* >> Início da inclusão:
WHEN '0703'.
CASE sy-ucomm.
WHEN 'CRET'.
PERFORM selecionar_tempo.
ENDCASE.
* << Fim da inclusão
ENDCASE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_tempo OCCURS 0.
DATA: nrseq TYPE /pws/zycit001-nrseq ,
nrseq_origem TYPE /pws/zycit003-nrseq_origem ,
regime TYPE /pws/zycit001-regime ,
embarca TYPE /pws/zycit001-embarca ,
inco1 TYPE /pws/zycit001-inco1 ,
ebeln TYPE /pws/zycit003-ebeln ,
ebelp TYPE /pws/zycit003-ebelp ,
qtd_iten TYPE /pws/zycit003-qtd_iten,
meins TYPE /pws/zycit003-meins ,
mark TYPE c.
DATA: END OF itab_tempo.
DATA: v_rec TYPE c.
* << Fim da inclusão
DATA: END OF COMMON PART a.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F02
...
v_nota = 'X'.
EXIT.
ENDIF.
ENDLOOP.
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041
WHERE nrseq = itab_zycit042-nrseqnf AND
cancel = space.
IF sy-subrc NE 0 AND /pws/zycie001-modalidade NE '02'.
v_nota = 'X'.
MESSAGE i015 WITH text-072.
* >> Início da inclusão: FORM ENCERRAMENTO
ELSEIF /pws/zycie001-regime EQ '13'.
LOOP AT itab_zycit041 WHERE belnr_f_02 IS initial .
EXIT.
ENDLOOP.
IF sy-subrc = 0.
v_nota = 'X'.
ENDIF.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial
OR belnr_f_51 IS initial .
ENDLOOP.
IF sy-subrc = 0 AND /pws/zycie001-regime NE '14' .
SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043
WHERE nrseq = itab_zycit042-nrseqnf AND
cancel = space.
IF sy-subrc = 0.
LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
FORM fill_diferencas.
LOOP AT itab_zycit036_aux.
itab_zycit036_aux-vlmov = itab_zycit036_aux-vlmov +
itab_zycit036_aux-vldif.
* >> Início da inclusão: FORM FILL_DIFERENCAS
IF itab_zycit036_aux-waers_mov IS INITIAL.
itab_zycit036_aux-waers_mov = itab_zycit036_aux-waers_dif.
ENDIF.
* << Fim da inclusão
CLEAR itab_zycit036_aux-vldif.
itab_zycit036_aux-congelamov = 'X'.
MODIFY itab_zycit036_aux INDEX sy-tabix.
ENDLOOP.
LOOP AT itab_zycit036_aux.
UPDATE /pws/zycit036 SET
vlmov = itab_zycit036_aux-vlmov
* >> Início da inclusão: FORM FILL_DIFERENCAS
waers_mov = itab_zycit036_aux-waers_mov
* << Fim da inclusão
congelamov = itab_zycit036_aux-congelamov
WHERE
nrseq = itab_zycit036_aux-nrseq AND
ebeln = itab_zycit036_aux-ebeln AND
ebelp = itab_zycit036_aux-ebelp AND
codigo = itab_zycit036_aux-codigo AND
nrseqori = itab_zycit036_aux-nrseqori AND
origem = itab_zycit036_aux-origem.
ENDLOOP.
COMMIT WORK.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
CLEAR: v_vldp_042, v_impostos.
CLEAR v_despesas.
LOOP AT itab_zycit036
WHERE nrseq = itab_zycit042-nrseq
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
READ TABLE itab_zycit036_di WITH KEY nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo.
* >> Início da inclusão: FORM VALORES
IF /pws/zycit001-regime EQ '13'.
itab_zycit036_di-vlmov = itab_zycit036_di-vldif.
ENDIF.
* << Fim da inclusão
IF itab_zycit036-codigo = 'FRETEI'.
it_zycee007-netfre = itab_zycit036_di-vlmov.
ELSEIF itab_zycit036-codigo = 'SEGURO'.
CLEAR: v_vlseg.
v_vlseg = itab_zycit036_di-vlmov.
PERFORM trata_decimais USING itab_zycit036_di-waers_mov
CHANGING v_vlseg.
it_zycee007-netins = v_vlseg.
ELSEIF itab_zycit036-codigo = 'II'.
v_despesas = itab_zycit036-vlreal.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
ENDLOOP.
ELSE.
LOOP AT itab_zycit042 WHERE lgort IS initial.
READ TABLE itab_deposito WITH KEY ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF itab_deposito-knttp IS INITIAL.
v_receb = 'X'.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da exclusão: FORM EXECUTA_BATCH_INPUT
IF v_receb = 'X' AND /pws/zycie001-regime NE '16' .
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_BATCH_INPUT
IF v_receb = 'X' AND /pws/zycie001-regime NE '16'
AND /pws/zycie001-regime NE '13' .
* << Fim da inclusão
MESSAGE w015 WITH text-044.
ELSEIF /pws/zycie001-regime EQ '16' AND /pws/zycie001-tpdecl = 'DI'.
* >> Início da exclusão: FORM EXECUTA_BATCH_INPUT
MESSAGE i015 WITH text-108 text-109 text-110.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_BATCH_INPUT
MESSAGE i015 WITH text-108 text-113 text-109 text-110.
ELSEIF /pws/zycie001-regime EQ '13'
AND /pws/zycie001-tpdecl = 'DI'.
MESSAGE i015 WITH text-108 text-113 text-109 text-114.
* << Fim da inclusão
ELSE.
PERFORM executa_recebimento.
IF e_subrc EQ '8'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF NOT wa_nf-belnr_mr1m IS INITIAL AND
NOT wa_nf-mblnr_mb01 IS INITIAL AND
NOT wa_nf-belnr_f_51 IS INITIAL.
...
...
ELSE.
IF wa_nf-belnrf02fre IS INITIAL.
IF /pws/zycie001-regime NE '04' OR
/pws/zycie001-tpdecl EQ 'DSI'.
PERFORM fill_date_f_02fre.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
PERFORM fill_date_j1b3_saida.
* >> Início da exclusão: FORM EXECUTA_BATCH_INPUT
ELSEIF /pws/zycie001-regime EQ '16' AND /pws/zycie001-tpdecl = 'DI'.
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_BATCH_INPUT
ELSEIF ( /pws/zycie001-regime EQ '16' OR
/pws/zycie001-regime EQ '13' )
AND /pws/zycie001-tpdecl = 'DI'.
* << Fim da inclusão
IF e_f_02 EQ 'S'.
IF wa_nf-belnr_f_02 IS INITIAL.
wa_nf-belnr_f_02 = wa_nf_aux-belnr_f_02 .
wa_global-belnr_f_02 = wa_nf_aux-belnr_f_02.
wa_nf-statusp_f_02 = wa_nf_aux-statusp_f_02 .
wa_global-statusp_f_02 = wa_nf_aux-statusp_f_02 .
wa_nf-dt_f_02 = wa_nf_aux-dt_f_02.
wa_global-dt_f_02 = wa_nf_aux-dt_f_02.
MESSAGE i057 WITH wa_nf-belnr_f_02.
IF v_existe_nfr NE 'S'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
CLEAR: v_cont ,
v_incentivo,
it_zycit092.
REFRESH it_zycit092.
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF /pws/zycie078-nacion NE 'X'.
* << Fim da inclusão
IF so_bednr+3(1) EQ ' '.
v_cont = v_cont + 1.
ENDIF.
IF so_ebeln+3(1) EQ ' '.
v_cont = v_cont + 1.
ENDIF.
IF so_nrseq+3(1) EQ ' '.
v_cont = v_cont + 1.
ENDIF.
IF v_cont EQ 3.
MESSAGE e015 WITH text-020.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_ITENS
ENDIF.
* << Fim da inclusão
itab_bstyp-sign = 'I'.
itab_bstyp-option = 'EQ'.
itab_bstyp-low = 'F'.
APPEND itab_bstyp.
itab_bstyp-sign = 'I'.
itab_bstyp-option = 'EQ'.
itab_bstyp-low = 'L'.
APPEND itab_bstyp.
* >> Início da exclusão: FORM SELECIONAR_ITENS
IF NOT /pws/zycie078-nrseq IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF /pws/zycie078-nacion EQ 'X'.
PERFORM sel_nacion.
ELSEIF NOT /pws/zycie078-nrseq IS INITIAL.
* << Fim da inclusão
SELECT * FROM /pws/zycit003
INTO TABLE it_zycit003
WHERE nrseq IN so_nrseq
AND nrseqli EQ space.
IF NOT it_zycit003[] IS INITIAL.
SELECT ekko~bukrs ekko~waers ekko~lifnr ekko~aedat
ekko~inco1 ekko~ebeln ekpo~ebelp
ekpo~matnr ekpo~werks ekpo~bednr ekpo~menge
ekpo~ktmng ekpo~bstyp
ekpo~meins ekpo~ntgew ekpo~gewei ekpo~netpr ekpo~txz01
...
...
AND ekpo~loekz NE 'L'.
ENDIF.
CLEAR v_novo_item.
LOOP AT itab_itens.
IF NOT it_zycit079[] IS INITIAL.
CLEAR it_zycit079.
READ TABLE it_zycit079 WITH KEY ebeln = itab_itens-ebeln
ebelp = itab_itens-ebelp.
IF NOT sy-subrc IS INITIAL.
v_novo_item = 'X'.
* >> Início da inclusão: FORM SELECIONAR_ITENS
ENDIF.
ENDIF.
IF /pws/zycie078-nacion EQ 'X'.
READ TABLE it_zycit003
WITH KEY ebeln = itab_itens-ebeln
ebelp = itab_itens-ebelp.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
IF NOT it_zycit003-qtd_itend IS INITIAL.
itab_itens-menge = it_zycit003-qtd_itend.
ELSE.
itab_itens-menge = it_zycit003-qtd_iten.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_ITENS
MODIFY itab_itens.
* << Fim da inclusão
ENDIF.
ENDLOOP.
IF NOT itab_itens[] IS INITIAL.
SELECT *
FROM /pws/zycit092
INTO TABLE it_zycit092
...
...
MESSAGE e015 WITH text-021.
ENDLOOP.
LOOP AT itab_itens WHERE inco1 NE v_inco1.
MESSAGE e015 WITH text-022.
ENDLOOP.
LOOP AT itab_itens WHERE lifnr NE v_lifnr.
MESSAGE e015 WITH text-023.
ENDLOOP.
DESCRIBE TABLE itab_itens LINES v_nolin.
IF v_nolin IS INITIAL.
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF /pws/zycie078-nacion IS INITIAL.
* << Fim da inclusão
MESSAGE e015 WITH text-033.
* >> Início da inclusão: FORM SELECIONAR_ITENS
ENDIF.
* << Fim da inclusão
ELSE.
MOVE: v_waers TO /pws/zycie078-waers,
v_lifnr TO /pws/zycie001-lifnr,
v_inco1 TO /pws/zycie078-inco1.
IF NOT v_waers IS INITIAL AND so_waers+3(1) EQ ' '.
FREE so_waers.
...
...
itab_itens-waers TO it_zycit079-waers ,
itab_itens-meins TO it_zycit079-meins ,
itab_itens-gewei TO it_zycit079-gewei ,
itab_itens-bednr TO it_zycit079-bednr ,
itab_itens-j_1bnbm TO it_zycit079-steuc1 ,
/pws/zycie078-nrseqli TO it_zycit079-nrseqli.
MOVE: itab_itens-lifnr TO v_forn.
CLEAR it_zycit092.
READ TABLE it_zycit092 WITH KEY ebeln = itab_itens-ebeln
ebelp = itab_itens-ebelp.
* >> Início da exclusão: FORM SELECIONAR_ITENS
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS
IF sy-subrc EQ 0 AND /pws/zycie078-nacion NE 'X'.
* << Fim da inclusão
IF it_zycit092-menge NE itab_itens-menge.
it_zycit079-slqtde = it_zycit092-slqtde +
( itab_itens-menge - it_zycit092-menge ).
ELSE.
MOVE: it_zycit092-slqtde TO it_zycit079-slqtde.
ENDIF.
IF it_zycit079-slqtde < 0.
v_erro_saldo = 'X'.
ENDIF.
READ TABLE it_zycit079_del WITH KEY ebeln = itab_itens-ebeln
...
...
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ 0.
PERFORM load_pttext USING itab_itens_aux-matnr
itab_itens_aux-spras.
MOVE: itab_itens_aux-txz01 TO it_zycit079-descr,
itab_itens_aux-netpr TO it_zycit079-netpr,
itab_itens_aux-bednr TO it_zycit079-bednr,
itab_itens_aux-uebto TO it_zycit079-uebto,
itab_itens_aux-meins TO it_zycit079-meins,
itab_itens_aux-uebtk TO it_zycit079-uebtk.
* >> Início da exclusão: FORM VERIFICA_ITENS
IF it_zycit079-menge NE itab_itens_aux-menge.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
IF it_zycit079-menge NE itab_itens_aux-menge AND
/pws/zycie078-nacion NE 'X'.
* << Fim da inclusão
it_zycit079-slqtde = it_zycit079-slqtde +
( itab_itens_aux-menge - it_zycit079-menge ).
MOVE itab_itens_aux-menge TO it_zycit079-menge.
ENDIF.
IF itab_itens_aux-loekz EQ 'L'.
MESSAGE w061 WITH text-014
itab_itens_aux-ebeln itab_itens_aux-ebelp
text-015.
ENDIF.
LOOP AT itab_zycit030.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
DELETE it_zycit003_aux INDEX sy-tabix.
ENDLOOP.
IF v_contador EQ v_linha2.
MESSAGE s015 WITH text-109.
EXIT.
ENDIF.
PERFORM procura_adicao.
ENDIF.
IF v_flag3 IS INITIAL.
PERFORM atualiza_variaveis.
* >> Início da inclusão: FORM COMM_SELECITEM
IF /pws/zycie078-nacion EQ 'X'.
CALL SELECTION-SCREEN '0117'.
ELSE.
* << Fim da inclusão
CALL SELECTION-SCREEN '0300'.
* >> Início da inclusão: FORM COMM_SELECITEM
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFORM.
...
...
IF NOT it_zycit079[] IS INITIAL.
SELECT *
FROM /pws/zycit092
INTO TABLE it_zycit092
FOR ALL ENTRIES IN it_zycit079
WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
PERFORM carrega_saldo.
PERFORM lock_pedido.
ENDIF.
* >> Início da inclusão: FORM CARREGA_DADOS
IF /pws/zycie078-nacion IS INITIAL.
* << Fim da inclusão
LOOP AT it_zycit079.
READ TABLE it_zycit092 WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ 0.
MOVE: it_zycit092-slqtde TO it_zycit079-slqtde,
it_zycit092-menge TO it_zycit079-menge.
MODIFY it_zycit079.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CARREGA_DADOS
ENDIF.
* << Fim da inclusão
MOVE it_zycit079[] TO it_zycit079_aux2[].
IF NOT /pws/zycie078-nrseqd IS INITIAL.
MOVE it_zycit079[] TO it_zycit079_aux4[].
ENDIF.
LOOP AT it_zycit079.
MOVE-CORRESPONDING it_zycit079 TO /pws/zycie079.
ENDLOOP.
IF /pws/zycie078-fabric EQ '1'.
SELECT SINGLE * FROM /pws/zycit080
INTO /pws/zycie080
...
...
FORM carrega_saldo.
DATA: wa_zycie078 TYPE /pws/zycit078.
* >> Início da inclusão: FORM CARREGA_SALDO
IF /pws/zycie078-nacion EQ 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
CLEAR : itab_ekpo.
REFRESH : itab_ekpo.
IF NOT it_zycit092[] IS INITIAL.
DATA: v_qtdemb TYPE /pws/zycit079-qtd_iten,
v_slqtde TYPE /pws/zycit092-slqtde .
DATA: BEGIN OF itab_zycit079_util OCCURS 0.
INCLUDE STRUCTURE /pws/zycit079.
DATA: END OF itab_zycit079_util.
SELECT ebeln ebelp menge bstyp FROM ekpo
INTO TABLE itab_ekpo
...
...
CLEAR: itab_ekpo, itab_zycit079_util.
READ TABLE itab_ekpo WITH KEY ebeln = it_zycit092-ebeln
ebelp = it_zycit092-ebelp.
IF sy-subrc EQ 0.
CLEAR v_qtdemb.
LOOP AT itab_zycit079_util WHERE ebeln EQ it_zycit092-ebeln
AND ebelp EQ it_zycit092-ebelp.
SELECT SINGLE * FROM /pws/zycit078
INTO wa_zycie078
WHERE nrseqli EQ itab_zycit079_util-nrseqli.
* >> Início da exclusão: FORM CARREGA_SALDO
IF wa_zycit078-nrseqlisub IS INITIAL AND
wa_zycit078-flagpli EQ /pws/zycie078-flagpli
AND wa_zycit078-status NE 'CAN'
AND wa_zycit078-status NE 'INA' .
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_SALDO
IF wa_zycie078-nrseqlisub IS INITIAL AND
wa_zycie078-flagpli EQ /pws/zycie078-flagpli
AND wa_zycie078-nacion NE 'X'
AND wa_zycie078-status NE 'CAN'
AND wa_zycie078-status NE 'INA' .
* << Fim da inclusão
v_qtdemb = v_qtdemb + itab_zycit079_util-qtd_iten.
ENDIF.
ENDLOOP.
ENDIF.
v_slqtde = itab_ekpo-menge - v_qtdemb.
it_zycit092-slqtde = v_slqtde.
it_zycit092-menge = itab_ekpo-menge.
UPDATE /pws/zycit092 SET slqtde = it_zycit092-slqtde
menge = itab_ekpo-menge
WHERE ebeln = it_zycit092-ebeln
...
...
* >> Início da inclusão:
FORM sel_nacion.
DATA: BEGIN OF itab_li_nac OCCURS 0.
DATA: nrseq_origem TYPE /pws/zycit078-nrseq_origem,
ebeln TYPE /pws/zycit079-ebeln,
ebelp TYPE /pws/zycit079-ebelp.
DATA: END OF itab_li_nac.
REFRESH itab_tempo.
CLEAR itab_tempo.
IF NOT /pws/zycie078-nrseq_origem IS INITIAL.
SELECT b~nrseq a~regime b~ebeln b~ebelp b~qtd_iten b~meins
FROM /pws/zycit001 AS a INNER JOIN /pws/zycit003 AS b
ON a~nrseq EQ b~nrseq
INTO TABLE itab_tempo
WHERE a~bukrs EQ /pws/zycie078-bukrs
AND a~j_1bbranch EQ /pws/zycie078-j_1bbranch
AND b~nrseq IN s_nrseq
AND b~nrseq EQ /pws/zycie078-nrseq_origem
AND b~ebeln IN s_ebeln
AND b~ebelp IN s_ebelp
AND ( ( a~regime EQ '05' AND a~tpdecl EQ 'DI' ) OR
( a~regime EQ '09' AND a~tpdecl EQ 'DSI' ) ).
ELSE.
SELECT b~nrseq a~regime b~ebeln b~ebelp b~qtd_iten b~meins
FROM /pws/zycit001 AS a INNER JOIN /pws/zycit003 AS b
ON a~nrseq EQ b~nrseq
INTO TABLE itab_tempo
WHERE a~bukrs EQ /pws/zycie078-bukrs
AND a~j_1bbranch EQ /pws/zycie078-j_1bbranch
AND b~nrseq IN s_nrseq
AND b~ebeln IN s_ebeln
AND b~ebelp IN s_ebelp
AND ( ( a~regime EQ '05' AND a~tpdecl EQ 'DI' ) OR
( a~regime EQ '09' AND a~tpdecl EQ 'DSI' ) ).
ENDIF.
LOOP AT it_zycit079.
DELETE itab_tempo WHERE ebeln EQ it_zycit079-ebeln
AND ebelp EQ it_zycit079-ebelp.
ENDLOOP.
SELECT a~nrseq_origem b~ebeln b~ebelp
FROM /pws/zycit078 AS a INNER JOIN /pws/zycit079 AS b
ON a~nrseqli EQ b~nrseqli
INTO TABLE itab_li_nac
FOR ALL ENTRIES IN itab_tempo
WHERE a~nrseq_origem EQ itab_tempo-nrseq
AND b~ebeln EQ itab_tempo-ebeln
AND b~ebelp EQ itab_tempo-ebelp
AND a~nacion EQ 'X'
AND a~nrseqli NE /pws/zycie078-nrseqli.
LOOP AT itab_li_nac.
DELETE itab_tempo WHERE nrseq EQ itab_li_nac-nrseq_origem
AND ebeln EQ itab_li_nac-ebeln
AND ebelp EQ itab_li_nac-ebelp.
ENDLOOP.
SORT itab_tempo BY nrseq ebeln ebelp.
IF itab_tempo[] IS INITIAL.
MESSAGE e015 WITH text-033.
EXIT.
ENDIF.
CALL SCREEN 116.
IF NOT it_zycit003[] IS INITIAL.
SELECT ekko~bukrs ekko~waers ekko~lifnr ekko~aedat
ekko~inco1 ekko~ebeln ekpo~ebelp
ekpo~matnr ekpo~werks ekpo~bednr ekpo~menge
ekpo~ktmng ekpo~bstyp
ekpo~meins ekpo~ntgew ekpo~gewei ekpo~netpr ekpo~txz01
ekpo~uebto ekpo~uebtk ekpo~j_1bnbm
FROM ( ekpo INNER JOIN ekko ON ekpo~ebeln = ekko~ebeln )
INTO TABLE itab_itens
FOR ALL ENTRIES IN it_zycit003
WHERE
ekko~ebeln EQ it_zycit003-ebeln
AND ekpo~ebelp EQ it_zycit003-ebelp
AND ekpo~j_1bnbm IN so_ncm
AND ekko~waers IN so_waers
AND ekko~inco1 IN so_inco1
AND ekpo~loekz NE 'L'.
ENDIF.
ENDFORM.
FORM move_itens_nacion.
DELETE itab_tempo WHERE mark NE 'X'.
SELECT * FROM /pws/zycit003
INTO TABLE it_zycit003
FOR ALL ENTRIES IN itab_tempo
WHERE nrseq EQ itab_tempo-nrseq
AND ebeln EQ itab_tempo-ebeln
AND ebelp EQ itab_tempo-ebelp.
READ TABLE itab_tempo INDEX 1.
/pws/zycie078-nrseq_origem = itab_tempo-nrseq.
LEAVE TO SCREEN 0.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020I01
...
* >> Início da inclusão:
MODULE modific_0116 INPUT.
MODIFY itab_tempo INDEX tc_nacion-current_line.
ENDMODULE.
MODULE user_command_0116 INPUT.
DATA: v_retorna TYPE c.
CASE sy-ucomm .
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
WHEN 'OK'.
READ TABLE itab_tempo WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-461.
EXIT.
ENDIF.
CLEAR: v_retorna .
LOOP AT itab_tempo WHERE nrseq NE itab_tempo-nrseq
AND mark EQ 'X'.
MESSAGE i015 WITH text-461.
v_retorna = 'X'.
ENDLOOP.
IF v_retorna EQ 'X'.
EXIT.
ENDIF.
PERFORM move_itens_nacion.
ENDCASE.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020O01
...
* >> Início da inclusão:
MODULE status_0116 OUTPUT.
SET PF-STATUS 'ST0116'.
ENDMODULE.
MODULE preenche_0116 OUTPUT.
/pws/zycie003-nrseq = itab_tempo-nrseq.
/pws/zycie003-ebeln = itab_tempo-ebeln.
/pws/zycie003-ebelp = itab_tempo-ebelp.
/pws/zycie003-qtd_iten = itab_tempo-qtd_iten.
/pws/zycie003-meins = itab_tempo-meins.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020TOP
...
* >> Início da inclusão:
CONTROLS tc_nacion TYPE TABLEVIEW USING SCREEN 0116.
* << Fim da inclusão
...
...
NO INTERVALS NO-EXTENSION,
si_fator FOR /pws/zycie079-fator
NO INTERVALS NO-EXTENSION,
si_qtdes FOR /pws/zycie079-qtdest
NO INTERVALS NO-EXTENSION,
si_zum FOR /pws/zycie079-zum
NO INTERVALS NO-EXTENSION,
si_codsu FOR /pws/zycie079-codsufra
NO INTERVALS NO-EXTENSION.
SELECTION-SCREEN END OF SCREEN 0702.
* >> Início da inclusão:
SELECTION-SCREEN BEGIN OF SCREEN 0117.
SELECT-OPTIONS:
s_nrseq FOR /pws/zycit003-nrseq,
s_ebeln FOR ekko-ebeln,
s_ebelp FOR ekpo-ebelp.
SELECTION-SCREEN END OF SCREEN 0117.
* << Fim da inclusão
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name EQ 'SO_NRSEQ-LOW'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF screen-name EQ 'SO_EBELN-LOW'.
IF NOT wa_impress IS INITIAL.
screen-input = '0'.
MODIFY SCREEN.
...
...
MOVE 'EQ' TO so_ebeln-option.
APPEND so_ebeln.
READ TABLE so_ebeln INDEX 1.
ENDIF.
ENDIF.
IF ( screen-name EQ 'SO_WAERS-LOW' AND
NOT /pws/zycie078-waers IS INITIAL ) OR
( screen-name EQ 'SO_INCO1-LOW' AND
NOT /pws/zycie078-inco1 IS INITIAL ) OR
( screen-name EQ 'PA_BUKRS' ).
* >> Início da inclusão:
screen-input = '0'.
MODIFY SCREEN.
ELSE.
screen-input = '1'.
ENDIF.
IF screen-name EQ 'S_NRSEQ-LOW' or
screen-name EQ 'S_NRSEQ-HIGH' .
IF NOT /pws/zycie078-nrseq_origem IS INITIAL.
refresh: s_nrseq .
s_nrseq-low = /pws/zycie078-nrseq_origem.
s_nrseq-sign = 'I'.
s_nrseq-OPTION = 'EQ'.
append s_nrseq.
* << Fim da inclusão
screen-input = '0'.
MODIFY SCREEN.
ELSE.
* >> Início da inclusão:
refresh: s_nrseq .
* << Fim da inclusão
screen-input = '1'.
* >> Início da inclusão:
MODIFY SCREEN.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN.
CASE sy-dynnr .
WHEN '0701'.
PERFORM trata_posicao
USING v_prog.
WHEN '0702'.
PERFORM trata_posicao
USING v_prog.
* >> Início da inclusão:
WHEN '0117'.
CASE sy-ucomm.
WHEN 'CRET'.
PERFORM selecionar_itens.
* << Fim da inclusão
ENDCASE.
* >> Início da inclusão:
WHEN OTHERS.
* << Fim da inclusão
CASE sy-ucomm.
WHEN 'CRET'.
PERFORM: selecionar_itens,
verifica_itens.
LEAVE TO SCREEN 0.
* >> Início da inclusão:
ENDCASE.
* << Fim da inclusão
ENDCASE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_tempo OCCURS 0.
DATA: nrseq TYPE /pws/zycit001-nrseq ,
regime TYPE /pws/zycit001-regime ,
ebeln TYPE /pws/zycit003-ebeln ,
ebelp TYPE /pws/zycit003-ebelp ,
qtd_iten TYPE /pws/zycit003-qtd_iten,
meins TYPE /pws/zycit003-meins ,
mark TYPE c.
DATA: END OF itab_tempo.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR006
...
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycit001-bukrs.
PERFORM verifica_moeda.
PERFORM desconsidera_desp_est CHANGING itab_zycit036-nrseq.
LOOP AT itab_zycit036.
IF itab_zycit036-origem = 'PED'.
MOVE itab_zycit036 TO itab_zycit036_plan.
APPEND itab_zycit036_plan.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS
IF /pws/zycit001-regime = '13'.
itab_zycit036-congelamov = 'X'.
MODIFY itab_zycit036 TRANSPORTING congelamov
WHERE congelamov NE 'X'.
ENDIF.
* << Fim da inclusão
MOVE itab_zycit036[] TO itab_zycit036_auxl[].
LOOP AT itab_zycit036 WHERE NOT vlmov IS initial AND
origem NE 'PED'.
READ TABLE itab_zycit036_auxl
WITH KEY nrseq = itab_zycit036-nrseq
ebeln = itab_zycit036-ebeln
ebelp = itab_zycit036-ebelp
codigo = itab_zycit036-codigo
origem = 'PED'.
v_index = sy-tabix.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI001
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 493
Texto: (48 caracteres)
"Permitido a vinculação de apenas um embarque por"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 494
Texto: (14 caracteres)
"nacionalização"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_EBELN
Texto: (14 caracteres)
"Pedido"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_EBELP
Texto: (12 caracteres)
"Item"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_NRSEQ
Texto: (16 caracteres)
"Embarque"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI017
------------------------------------------------------------------------
Modificado símbolo de texto:
Idioma: PT
Símbolo: 108
Texto: (42 caracteres)
"Será executado somente a classificação dos"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 113
Texto: (9 caracteres)
"impostos."
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 114
Texto: (35 caracteres)
"por se tratar de uma nacionalização"
Comprimento máximo: 50
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI020
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 461
Texto: (35 caracteres)
"Marcar itens de apenas um embarque!"
Comprimento máximo: 50
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_EBELN
Texto: (14 caracteres)
"Pedido"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_EBELP
Texto: (12 caracteres)
"Item"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_NRSEQ
Texto: (16 caracteres)
"Embarque"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE078
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
...
PAISFAB /PWS/ZYCIL042 CHAR 3
TRANSM /PWS/ZYCIL237 CHAR 1
ITEM NUM4 NUMC 4
* >> Início da inclusão:
NRSEQ_ORIGEM /PWS/ZYCIL001 CHAR 10
NACION XFLAG CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE078C
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
...
PAISFAB /PWS/ZYCIL042 CHAR 3
TRANSM /PWS/ZYCIL237 CHAR 1
ITEM NUM4 NUMC 4
* >> Início da inclusão:
NRSEQ_ORIGEM /PWS/ZYCIL001 CHAR 10
NACION XFLAG CHAR 1
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT003
Nome de campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
...
ADICAO /PWS/ZYCIL267 NUMC 3
ID_REG_ANO_NAC /PWS/ZYGLL1360 NUMC 4
ID_REG_NUM_NAC /PWS/ZYGLL1361 NUMC 9
ID_REG_ITM_NAC /PWS/ZYGLL1362 NUMC 5
UTILIZACAO /PWS/ZYCIL857 CHAR 1
* >> Início da inclusão:
NRSEQ_ORIGEM /PWS/ZYCIL001 CHAR 10
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT078
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Grupo
...
DESCFAB /PWS/ZYCIL084 CHAR 35
PAISFAB /PWS/ZYCIL042 CHAR 3
TRANSM /PWS/ZYCIL237 CHAR 1
ITEM NUM4 NUMC 4
* >> Início da inclusão:
NRSEQ_ORIGEM /PWS/ZYCIL001 CHAR 10
NACION XFLAG CHAR 1
* << Fim da inclusão