Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 09/02/2011 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:24:25
Descrição da Nota: PREENCHER LOTE NA NOTA FISCAL - MATERIAL SUJEITO A LOTE
Sintoma
DA - Desenvolvimento Adicional
Devido a legislação de NFe, para matéria prima farmacêutica, é obrigatório informar o número de
lote, quantidade, data de fabricação e validade na NFe.
Solução
Por exigência legal, as informações sobre o lote da mercadoria deverão aparecer na NFe e XML.
No programa de nota fiscal, favor inserir o ícone de lote. Ao clicar no ícone, fazer a mesma
consistência que já faz no recebimento. Caso o material marcado seja sujeito a lote, deverá aparecer
uma tela para o usuário digitar as informações. Caso o material marcado não seja sujeito a lote, não
aparecerá a tela para preenchimento.
8.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10946 Data: 09/02/2011 Hora: 15:37:19
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10946
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00006
Agrupamento : 00058
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
----------------------------------------------------------------------------------------------------
PREENCHER LOTE NA NOTA FISCAL - MATERIAL SUJEITO A LOTE
----------------------------------------------------------------------------------------------------
Palavras Chave:
LOTE DA MERCADORIA - MATERIAL SUJEIRO A LOTE - LOTE NA NOTA FISCAL
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCI016
DYNP /PWS/SAPMZYCI016 0121
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI016I01
REPS /PWS/MZYCI016O01
REPS /PWS/MZYCI016TOP
REPS /PWS/MZYCI016X01
REPT /PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI016
CRIAR Títulos GUI - títulos da interface /PWS/SAPMZYCI016
Nº título Título
0121 CI - Divisão da Qtde por lote
CRIAR Status GUI -----------------------------------------
Nº status Título
0121 Lote
Este Status GUI não possui botões.
MODIFICAR Status GUI -------------------------------------
Nº status Título
0100 CI - Criar NF Global
Inserir o botão LOTE na última posição:
Código de função LOTE
Texto de função Lote
Nome de ícone ICON_TRANSPORT_POINT
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI016 0121
INCLUIR TELA 0121
Descrição CI - Itens - Divisão de Lotes
Tela seguinte 0121
Altura atual (linhas) 27
Largura atual (colunas) 120
INCLUIR CONTROLE DE TABELA "TC_LOTE"
Altura 13
Comprimento Visível 117
Linha 2
Coluna 4
INCLUIR TEXTO "/PWS/ZYCIE223-LOTE" em tbl.contr./tabstr.
Altura 14
Comprimento Visível 15
Linha 1
Coluna 1
Formato CHAR
Texto Lote
INCLUIR TEXTO "/PWS/ZYCIE223-QTDE" em tbl.contr./tabstr.
Altura 14
Comprimento Visível 15
Linha 1
Coluna 2
Formato CHAR
Texto Qtd.do pedido
INCLUIR TEXTO "/PWS/ZYCIE223-NRVOLUME" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 3
Formato CHAR
Texto Núm.containers
INCLUIR TEXTO "/PWS/ZYCIE223-TPVOLUME" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 4
Formato CHAR
Texto Unidade comerc.
INCLUIR TEXTO "/PWS/ZYCIE223-CERTIFICADO" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 15
Linha 1
Coluna 5
Formato CHAR
Texto Resposta
INCLUIR TEXTO "/PWS/ZYCIE223-LOTE_FORN" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 6
Formato CHAR
Texto Lote fornecedor
INCLUIR TEXTO "/PWS/ZYCIE223-DT_VENCTO" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 7
Formato CHAR
Texto Data vencimento
INCLUIR TEXTO "/PWS/ZYCIE223-DT_PRODUCAO" em tbl.contr./tabstr.
Altura 16
Comprimento Visível 13
Linha 1
Coluna 8
Formato CHAR
Texto Data Produção
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_ZYCIT223-MARK" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 1
Linha 1
Formato CHAR
Texto _
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-LOTE" em tbl.contr./tabstr.
Altura 14
Comprimento Visível 10
Linha 1
Coluna 1
Formato CHAR
Linhas mínimas 10
Texto __________
Código função
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-QTDE" em tbl.contr./tabstr.
Altura 14
Comprimento Visível 17
Linha 1
Coluna 2
Formato QUAN
Campo referência /PWS/ZYCIT042-MEINS
Linhas mínimas 13
Colunas mínimas 3
Texto _.___.___.___,___
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-NRVOLUME" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 7
Linha 1
Coluna 3
Formato QUAN
Campo referência /PWS/ZYCIE223-TPVOLUME
Linhas mínimas 6
Colunas mínimas 3
Texto ___,___
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-TPVOLUME" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 3
Linha 1
Coluna 4
Formato UNIT
Linhas mínimas 3
Texto ___
Código função
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-CERTIFICADO" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 1
Linha 1
Coluna 5
Formato CHAR
Linhas mínimas 1
Texto _
Código função
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-LOTE_FORN" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 15
Linha 1
Coluna 6
Formato CHAR
Linhas mínimas 15
Texto _______________
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-DT_VENCTO" em tbl.contr./tabstr.
Altura 15
Comprimento Visível 10
Linha 1
Coluna 7
Formato DATE
Linhas mínimas 8
Texto __________
Código função
INCLUIR CAMPO TEXTO "/PWS/ZYCIE223-DT_PRODUCAO" em tbl.contr./tabstr.
Altura 16
Comprimento Visível 10
Linha 1
Coluna 8
Formato DATE
Linhas mínimas 8
Texto __________
Código função
INCLUIR BOTÃO "OK"
Altura 2
Comprimento Visível 4
Linha 16
Coluna 4
Formato CHAR
Texto @0V@
Código função SAVE
INCLUIR BOTÃO "CANCEL"
Altura 2
Comprimento Visível 4
Linha 16
Coluna 7
Formato CHAR
Texto @0W@
Código função CANC
INCLUIR BOTÃO "%#AUTOTEXT001"
Altura 2
Comprimento Visível 4
Linha 16
Coluna 10
Formato CHAR
Texto @4B@
Código função MALL
INCLUIR BOTÃO "%#AUTOTEXT002"
Altura 2
Comprimento Visível 6
Linha 16
Coluna 13
Formato CHAR
Texto @4D@
Código função DALL
INCLUIR BOTÃO "DELE"
Altura 2
Comprimento Visível 4
Linha 16
Coluna 16
Formato CHAR
Texto @18@
Código função DELE
INCLUIR OKCODE "OKCODE"
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0121
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE: status_0121,
exit_tela ,
set_screen_0121.
LOOP AT itab_zycit223 WITH CONTROL tc_lote.
MODULE: inibe_linhas,
alimenta_zycie223.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit223.
MODULE: alimenta_zycit223.
ENDLOOP.
MODULE: limpa_linhas,
user_command_0121,
user_command_exit AT EXIT-COMMAND.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM cria_nota_fiscal_r.
* >> Início da inclusão: FORM CRIA_NOTA_FISCAL_R
DATA: lv_erro.
* << Fim da inclusão
READ TABLE itab_zycit044.
IF NOT itab_zycit044-docnum IS INITIAL.
MESSAGE i028 WITH itab_zycit044-docnum.
LEAVE TO SCREEN '0200'.
ENDIF.
READ TABLE itab_zycit044 WITH KEY qtd_item = 0.
IF sy-subrc EQ 0.
MESSAGE i031.
LEAVE TO SCREEN '0200'.
ENDIF.
* >> Início da inclusão: FORM CRIA_NOTA_FISCAL_R
LOOP AT itab_zycit044.
CLEAR: itab_zycit223, itab_zycit223[], v_soma_qtde, lv_erro.
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
WHERE nrseq = itab_zycit044-nrseq AND
nrseqnf = itab_zycit044-nrseqnf AND
nfglobal = itab_zycit044-nfglobal AND
nfremessa = itab_zycit044-nfremessa AND
ebeln = itab_zycit044-ebeln AND
ebelp = itab_zycit044-ebelp.
IF NOT itab_zycit223[] IS INITIAL.
LOOP AT itab_zycit223.
v_soma_qtde = v_soma_qtde + itab_zycit223-qtde.
ENDLOOP.
IF NOT v_soma_qtde = itab_zycit044-qtd_item.
lv_erro = 'X'.
MESSAGE i015 WITH text-121 text-122.
EXIT.
ENDIF.
ENDIF.
ENDLOOP.
IF lv_erro EQ 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
MOVE itab_zycit044[] TO itab_zycit044_aux[].
tc_lista_nfr-lines = tc_lista_nfr-lines + 1.
CLEAR v_sucesso.
PERFORM fill_data_j1b1_r.
IF v_sucesso = 'OK'.
v_status_s_nfr = 0.
LOOP AT itab_zycit044.
MOVE-CORRESPONDING itab_zycit044 TO /pws/zycie045.
MODIFY /pws/zycit045 FROM /pws/zycie045.
ENDLOOP.
ENDIF.
ENDFORM.
FORM nfiscal_remessa.
* >> Início da inclusão: FORM NFISCAL_REMESSA
CLEAR: wa_zycie042.
itab_zycit042-mark = ' '.
MODIFY itab_zycit042 TRANSPORTING mark WHERE mark = 'X'.
* << Fim da inclusão
e_subrc = '0'.
REFRESH itab_zyglt100.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'NFR004'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'NFR004' BINARY SEARCH.
IF sy-subrc EQ 0 AND
NOT itab_zyglt100-zexit_ativa IS INITIAL.
...
...
AND ebelp = itab_zycit042-ebelp
AND tpnf = itab_zycit042-tpnf
AND j_1bbranch = itab_zycit042-j_1bbranch
AND lifnr = itab_zycit042-lifnr
AND docnum = v_valor.
DELETE FROM /pws/zycit223
WHERE ebeln = itab_zycit042-ebeln AND
ebelp = itab_zycit042-ebelp AND
nfglobal = itab_zycit042-nfglobal AND
nrseq = itab_zycit042-nrseq AND
* >> Início da exclusão: FORM FILL_DATA_J1B3
docnum = v_valor. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATA_J1B3
nrseqnf = itab_zycit042-nrseqnf.
* << Fim da inclusão
COMMIT WORK.
ELSEIF v_apaga EQ 'X' AND v_modalidade = '99'.
itab_zycit042-docnum = '9999999999'.
UPDATE /pws/zycit042 SET docnum = itab_zycit042-docnum
series = itab_zycit042-series
nfnum = itab_zycit042-nfnum
WHERE nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp
...
...
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp
AND tpnf = itab_zycit042-tpnf
AND j_1bbranch = itab_zycit042-j_1bbranch
AND lifnr = itab_zycit042-lifnr
AND docnum = v_valor.
DELETE FROM /pws/zycit223
WHERE ebeln = itab_zycit042-ebeln AND
ebelp = itab_zycit042-ebelp AND
nfglobal = itab_zycit042-nfglobal AND
* >> Início da exclusão: FORM FILL_DATA_J1B3
nrseq = itab_zycit042-nrseq AND
docnum = v_valor. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATA_J1B3
nrseq = itab_zycit042-nrseq.
* << Fim da inclusão
IF v_modalidade = '99' OR
( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).
DELETE FROM /pws/zycit045
WHERE nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp. "#EC CI_NOFIRST
ENDIF.
COMMIT WORK.
ENDLOOP.
...
...
AND tpnf = itab_zycit044-tpnf
AND docnum = v_valor. "#EC CI_NOFIRST
DELETE itab_zycit044
WHERE nrseq = itab_zycit044-nrseq
AND nfglobal = itab_zycit044-nfglobal
AND nfremessa = itab_zycit044-nfremessa
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp
AND tpnf = itab_zycit044-tpnf
AND docnum = v_valor.
* >> Início da inclusão: FORM FILL_DATA_J1B3_R
DELETE FROM /pws/zycit223 WHERE nrseq = itab_zycit044-nrseq
AND nrseqnf = itab_zycit044-nrseqnf
AND nfglobal = itab_zycit044-nfglobal
AND nfremessa = itab_zycit044-nfremessa
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
* << Fim da inclusão
FREE itab_zycit043_lista.
CLEAR itab_zycit043_lista.
v_cancel = 'OK'.
COMMIT WORK.
ELSE.
READ TABLE it_zycet005 WITH KEY tcode = text-030
tabela = text-025
cpochv =
/pws/zycie043-nfremessa
tpmsg = 'E'.
...
...
* >> Início da inclusão:
FORM verifica_lote.
DATA: v_mark.
CLEAR: v_suj_lote, v_validade, v_remessa, v_certificado,
itab_zycit223, itab_zycit223[],
wa_zycie042, wa_zycie044, v_mark.
LOOP AT itab_zycit042.
IF itab_zycit042-mark EQ 'X'.
v_mark = v_mark + 1.
ENDIF.
ENDLOOP.
IF v_mark > 1.
EXIT.
ENDIF.
CLEAR: v_mark.
LOOP AT itab_zycit044.
IF itab_zycit044-mark EQ 'X'.
v_mark = v_mark + 1.
ENDIF.
ENDLOOP.
IF v_mark > 1.
EXIT.
ENDIF.
READ TABLE itab_zycit042 WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
wa_zycie042 = itab_zycit042.
ENDIF.
READ TABLE itab_zycit044 WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
wa_zycie044 = itab_zycit044.
ENDIF.
IF NOT wa_zycie042 IS INITIAL.
SELECT SINGLE charg FROM eket INTO itab_zycit223-lote
WHERE ebeln = wa_zycie042-ebeln
AND ebelp = wa_zycie042-ebelp.
IF NOT itab_zycit223-lote IS INITIAL.
MESSAGE i015 WITH text-119.
EXIT.
ENDIF.
SELECT SINGLE mhdhb xchpf FROM mara
INTO (v_validade, v_suj_lote)
WHERE matnr EQ wa_zycie042-matnr.
IF v_suj_lote IS INITIAL.
SELECT SINGLE xchpf FROM marc
INTO v_suj_lote
WHERE matnr EQ wa_zycie042-matnr
AND werks EQ wa_zycie042-werks.
IF v_suj_lote IS INITIAL.
MESSAGE w015 WITH text-120.
EXIT.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
WHERE nrseq = wa_zycie042-nrseq AND
nrseqnf = wa_zycie042-nrseqnf AND
nfglobal = wa_zycie042-nfglobal AND
nfremessa = space AND
ebeln = wa_zycie042-ebeln AND
ebelp = wa_zycie042-ebelp.
ELSEIF NOT wa_zycie044 IS INITIAL.
SELECT SINGLE charg FROM eket INTO itab_zycit223-lote
WHERE ebeln = wa_zycie044-ebeln
AND ebelp = wa_zycie044-ebelp.
IF NOT itab_zycit223-lote IS INITIAL.
MESSAGE i015 WITH text-119.
EXIT.
ENDIF.
SELECT SINGLE mhdhb xchpf FROM mara
INTO (v_validade, v_suj_lote)
WHERE matnr EQ wa_zycie044-matnr.
IF v_suj_lote IS INITIAL.
SELECT SINGLE xchpf FROM marc
INTO v_suj_lote
WHERE matnr EQ wa_zycie044-matnr
AND werks EQ wa_zycie044-werks.
IF v_suj_lote IS INITIAL.
MESSAGE w015 WITH text-120.
EXIT.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
WHERE nrseq = wa_zycie044-nrseq AND
nrseqnf = wa_zycie044-nrseqnf AND
nfglobal = wa_zycie044-nfglobal AND
nfremessa = wa_zycie044-nfremessa AND
ebeln = wa_zycie044-ebeln AND
ebelp = wa_zycie044-ebelp.
ENDIF.
IF sy-dynnr = '0100'.
v_remessa = ' '.
SELECT SINGLE * FROM ekpo WHERE
ebeln = wa_zycie042-ebeln AND
ebelp = wa_zycie042-ebelp.
IF sy-subrc = 0 AND NOT ekpo-zgtyp IS INITIAL.
v_certificado = 'X'.
ENDIF.
ELSEIF sy-dynnr = '0200'.
v_remessa = 'X'.
SELECT SINGLE * FROM ekpo WHERE
ebeln = wa_zycie044-ebeln AND
ebelp = wa_zycie044-ebelp.
IF sy-subrc = 0 AND NOT ekpo-zgtyp IS INITIAL.
v_certificado = 'X'.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
...
UPDATE /pws/zycit043
SET nfnum = itab_zycit044-nfnum
series = itab_zycit044-series
subser = itab_zycit044-subser
WHERE nrseq = itab_zycit044-nrseqnf AND
nfglobal = itab_zycit044-nfglobal AND
nfremessa = itab_zycit044-nfremessa AND
docnum = itab_zycit044-docnum.
ENDIF.
IF okcode = '%EX'.
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
CLEAR: wa_zycie044.
itab_zycit044-mark = ' '.
MODIFY itab_zycit044 TRANSPORTING mark WHERE mark = 'X'.
* << Fim da inclusão
LEAVE PROGRAM.
ELSEIF okcode = 'BACK'.
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
CLEAR: wa_zycie044.
itab_zycit044-mark = ' '.
MODIFY itab_zycit044 TRANSPORTING mark WHERE mark = 'X'.
* << Fim da inclusão
IF itab_zycit043_lista[] IS INITIAL.
LEAVE TO SCREEN 0.
ELSE.
...
...
WHEN '0400'.
IF okcode = '%EX'.
LEAVE PROGRAM.
ELSEIF okcode = 'BACK'.
SET SCREEN '0300'.
ENDIF.
CLEAR okcode.
WHEN '0050'.
PERFORM unlock_nf.
LEAVE PROGRAM.
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
WHEN '0121'.
CLEAR: /pws/zycie223.
LEAVE TO SCREEN 0.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE user_command_0100 INPUT.
DATA: v_nfee TYPE c.
DATA: t_fields3(20) TYPE c VALUE 'J_1BNFDOC-NFE',
t_fields4(20) TYPE c VALUE 'J_1BNFDOC-NFENUM'.
FIELD-SYMBOLS: <nfenum> TYPE ANY,
<nfe> TYPE ANY.
DATA: t_docstat(20) TYPE c VALUE 'J_1BNFDOC-DOCSTAT'.
FIELD-SYMBOLS: <docsta> TYPE ANY.
...
...
itab_zycit044-nfnum = /pws/zycie044-nfnum.
itab_zycit044-series = /pws/zycie044-series.
itab_zycit044-subser = /pws/zycie044-subser.
itab_zycit044-ebeln = /pws/zycie044-ebeln.
itab_zycit044-ebelp = /pws/zycie044-ebelp.
itab_zycit044-qtd_item = /pws/zycie044-qtd_item.
itab_zycit044-menge = /pws/zycie045-menge.
itab_zycit044-saldo = /pws/zycie045-saldo.
itab_zycit044-meins = /pws/zycie045-meins.
itab_zycit044-docnumnfg = /pws/zycie043-docnumnfg.
* >> Início da inclusão: MODULE ALTERA_ITAB_ZYCIT044
itab_zycit044-matnr = /pws/zycie044-matnr.
* << Fim da inclusão
READ TABLE itab_zycit044_aux WITH KEY
ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
REFRESH itab_zyglt100.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
' '.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'DNF017' BINARY SEARCH.
...
...
(itab_zyglt100-programa) IF FOUND.
IF e_subrc NE 0.
EXIT.
ENDIF.
ENDIF.
ENDIF.
IF e_exec_okcode IS INITIAL.
IF sy-tcode EQ '/PWS/ZYCI016_C' OR
sy-tcode EQ '/PWS/ZYCI016_A'.
CASE okcode.
* >> Início da inclusão: MODULE USER_COMMAND_0200
WHEN 'LOTE'.
PERFORM verifica_lote.
IF wa_zycie042 IS INITIAL AND wa_zycie044 IS INITIAL.
MESSAGE s015 WITH text-118.
ELSEIF NOT v_suj_lote IS INITIAL.
CALL SCREEN '0121' STARTING AT 10 2.
ENDIF.
* << Fim da inclusão
WHEN 'ITENSNFR'.
CALL SCREEN '0220' STARTING AT 2 2.
WHEN 'ENTE'.
IF /pws/zycie043-nfexterna NE wa_zycit048-nfext.
v_ok = 'A'.
ENDIF.
itab_zycit044-nfnum = /pws/zycie044-nfnum.
itab_zycit044-series = /pws/zycie044-series.
itab_zycit044-subser = /pws/zycie044-subser.
WHEN 'DELE'.
...
...
PERFORM modo_batch_input.
ELSE.
MESSAGE w013 WITH text-094 text-095.
ENDIF.
WHEN 'CRIARNFR'.
IF /pws/zycie043-transpnac IS INITIAL.
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
AND msgnr EQ '111'.
IF sy-subrc EQ 0 AND NOT /pws/zyglt217-msgtp IS INITIAL.
* >> Início da exclusão: MODULE USER_COMMAND_0200
MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp NUMBER '111'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0200
MESSAGE ID '/PWS/ZYCIM' TYPE /pws/zyglt217-msgtp
NUMBER '111'.
* << Fim da inclusão
ENDIF.
ENDIF.
PERFORM cria_nota_fiscal_r.
WHEN 'CANCR'.
PERFORM efetua_cancelamento_r.
WHEN 'CONT_NFR' .
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCIE044-DOCNUM'
AND NOT v_valor EQ '0000000000'.
IF ( /pws/zycie043-belnr_mr1m IS INITIAL AND
...
...
CALL SCREEN '0140' STARTING AT 5 15.
ELSE.
MESSAGE i015 WITH text-111 text-051.
ENDIF.
ELSE.
MESSAGE s015 WITH text-052.
ENDIF.
ENDCASE.
ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.
CASE okcode.
* >> Início da inclusão: MODULE USER_COMMAND_0200
WHEN 'LOTE'.
PERFORM verifica_lote.
IF wa_zycie042 IS INITIAL AND wa_zycie044 IS INITIAL.
MESSAGE s015 WITH text-118.
ELSEIF NOT v_suj_lote IS INITIAL.
CALL SCREEN '0121' STARTING AT 10 2.
ENDIF.
* << Fim da inclusão
WHEN 'CRIARNFR'.
PERFORM cria_nota_fiscal_r.
WHEN OTHERS.
IF NOT okcode IS INITIAL.
MESSAGE s015 WITH text-006.
ENDIF.
ENDCASE.
ENDIF.
CASE okcode.
WHEN 'DRAFT'.
...
...
ELSEIF NOT /pws/zycie041-transpnac IS INITIAL.
PERFORM cria_nota_fiscal_g.
ENDIF.
WHEN 'VISUA'.
v_visualiza = 'X'.
PERFORM ver_rateio.
WHEN 'FUNDAP' .
IF /pws/zycie001-modalidade EQ '05' AND
/pws/zycie001-tpdecl EQ 'DI'.
PERFORM call_fundap.
* >> Início da inclusão: MODULE USER_COMMAND_0050
ENDIF.
WHEN 'LOTE'.
PERFORM verifica_lote.
IF wa_zycie042 IS INITIAL AND wa_zycie044 IS INITIAL.
MESSAGE w015 WITH text-118.
ELSEIF NOT v_suj_lote IS INITIAL.
CALL SCREEN '0121' STARTING AT 10 2.
* << Fim da inclusão
ENDIF.
ENDCASE.
ELSEIF sy-tcode EQ '/PWS/ZYCI016_E'.
CASE okcode.
* >> Início da inclusão: MODULE USER_COMMAND_0050
WHEN 'LOTE'.
PERFORM verifica_lote.
IF wa_zycie042 IS INITIAL AND wa_zycie044 IS INITIAL.
MESSAGE s015 WITH text-118.
ELSEIF NOT v_suj_lote IS INITIAL.
CALL SCREEN '0121' STARTING AT 10 2.
ENDIF.
* << Fim da inclusão
WHEN 'OBS'.
* >> Início da exclusão: MODULE USER_COMMAND_0050
CALL SCREEN '0110' STARTING AT 5 18.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
CALL SCREEN '0120' STARTING AT 5 18.
* << Fim da inclusão
WHEN 'NFR1'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCIE042-DOCNUM' AND NOT v_valor = 0.
...
...
ENDIF.
LEAVE TO SCREEN 0.
ELSE.
MESSAGE i015 WITH text-111 text-051.
ENDIF.
WHEN 'EXIT'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDCASE.
ENDMODULE.
* >> Início da inclusão:
MODULE alimenta_zycit223 INPUT.
IF NOT wa_zycie042 IS INITIAL.
MOVE: wa_zycie042-ebeln TO itab_zycit223-ebeln,
wa_zycie042-ebelp TO itab_zycit223-ebelp,
wa_zycie042-nrseqnf TO itab_zycit223-nrseqnf,
wa_zycie042-nrseq TO itab_zycit223-nrseq,
wa_zycie042-nfglobal TO itab_zycit223-nfglobal,
space TO itab_zycit223-nfremessa,
wa_zycie042-docnum TO itab_zycit223-docnum,
/pws/zycie223-seq TO itab_zycit223-seq,
/pws/zycie223-lote TO itab_zycit223-lote,
/pws/zycie223-qtde TO itab_zycit223-qtde,
/pws/zycie223-nrvolume TO itab_zycit223-nrvolume,
/pws/zycie223-tpvolume TO itab_zycit223-tpvolume,
/pws/zycie223-certificado TO itab_zycit223-certificado,
/pws/zycie223-lote_forn TO itab_zycit223-lote_forn,
/pws/zycie223-dt_vencto TO itab_zycit223-dt_vencto,
/pws/zycie223-dt_producao TO itab_zycit223-dt_producao.
ELSEIF NOT wa_zycie044 IS INITIAL.
MOVE: wa_zycie044-ebeln TO itab_zycit223-ebeln,
wa_zycie044-ebelp TO itab_zycit223-ebelp,
wa_zycie044-nrseqnf TO itab_zycit223-nrseqnf,
wa_zycie044-nrseq TO itab_zycit223-nrseq,
wa_zycie044-nfglobal TO itab_zycit223-nfglobal,
wa_zycie044-nfremessa TO itab_zycit223-nfremessa,
wa_zycie044-docnum TO itab_zycit223-docnum,
/pws/zycie223-seq TO itab_zycit223-seq,
/pws/zycie223-lote TO itab_zycit223-lote,
/pws/zycie223-qtde TO itab_zycit223-qtde,
/pws/zycie223-nrvolume TO itab_zycit223-nrvolume,
/pws/zycie223-tpvolume TO itab_zycit223-tpvolume,
/pws/zycie223-certificado TO itab_zycit223-certificado,
/pws/zycie223-lote_forn TO itab_zycit223-lote_forn,
/pws/zycie223-dt_vencto TO itab_zycit223-dt_vencto,
/pws/zycie223-dt_producao TO itab_zycit223-dt_producao.
ENDIF.
MODIFY itab_zycit223 INDEX tc_lote-current_line.
IF sy-subrc NE 0.
APPEND itab_zycit223.
ENDIF.
ENDMODULE.
MODULE limpa_linhas INPUT.
CLEAR: v_soma_qtde.
IF NOT wa_zycie042 IS INITIAL.
LOOP AT itab_zycit223 WHERE nrseq = wa_zycie042-nrseq
AND nrseqnf = wa_zycie042-nrseqnf
AND nfglobal = wa_zycie042-nfglobal
AND ebeln = wa_zycie042-ebeln
AND ebelp = wa_zycie042-ebelp.
v_soma_qtde = itab_zycit223-qtde + v_soma_qtde.
ENDLOOP.
ELSEIF NOT wa_zycie044 IS INITIAL.
LOOP AT itab_zycit223 WHERE nrseq = wa_zycie044-nrseq
AND nrseqnf = wa_zycie044-nrseqnf
AND nfglobal = wa_zycie044-nfglobal
AND ebeln = wa_zycie044-ebeln
AND ebelp = wa_zycie044-ebelp.
v_soma_qtde = itab_zycit223-qtde + v_soma_qtde.
ENDLOOP.
ENDIF.
ENDMODULE.
MODULE user_command_0121 INPUT.
DATA: v_seq TYPE i.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'DNF020'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'RCB022' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_exec_okcode IS INITIAL.
CASE okcode.
WHEN 'SAVE'.
DELETE /pws/zycit223 FROM TABLE itab_zycit223_del.
REFRESH itab_zycit223_del. CLEAR itab_zycit223_del.
DELETE itab_zycit223 WHERE qtde IS initial.
IF v_remessa = 'X'.
IF NOT v_soma_qtde = wa_zycie044-qtd_item.
IF itab_zycit223-lote IS INITIAL AND
itab_zycit223-qtde IS INITIAL AND
itab_zycit223-nrvolume IS INITIAL AND
itab_zycit223-tpvolume IS INITIAL AND
itab_zycit223-certificado IS INITIAL AND
itab_zycit223-lote_forn IS INITIAL AND
itab_zycit223-dt_vencto IS INITIAL AND
itab_zycit223-dt_producao IS INITIAL.
ELSE.
MESSAGE i015 WITH text-121 text-122.
EXIT.
ENDIF.
ELSE.
CLEAR v_seq.
LOOP AT itab_zycit223.
v_seq = v_seq + 1.
MOVE: itab_zycit044-ebeln TO itab_zycit223-ebeln,
itab_zycit044-ebelp TO itab_zycit223-ebelp,
itab_zycit044-nrseqnf TO itab_zycit223-nrseqnf,
itab_zycit044-nrseq TO itab_zycit223-nrseq,
itab_zycit044-nfglobal TO itab_zycit223-nfglobal,
itab_zycit044-nfremessa TO itab_zycit223-nfremessa,
itab_zycit044-docnum TO itab_zycit223-docnum,
v_seq TO itab_zycit223-seq.
MODIFY itab_zycit223.
ENDLOOP.
ENDIF.
ELSEIF v_remessa = ' '.
CLEAR v_seq.
IF NOT v_soma_qtde = wa_zycie042-qtd_iten.
IF itab_zycit223-lote IS INITIAL AND
itab_zycit223-qtde IS INITIAL AND
itab_zycit223-nrvolume IS INITIAL AND
itab_zycit223-tpvolume IS INITIAL AND
itab_zycit223-certificado IS INITIAL AND
itab_zycit223-lote_forn IS INITIAL AND
itab_zycit223-dt_vencto IS INITIAL AND
itab_zycit223-dt_producao IS INITIAL.
ELSE.
MESSAGE i015 WITH text-121 text-122.
EXIT.
ENDIF.
ELSE.
LOOP AT itab_zycit223.
v_seq = v_seq + 1.
MOVE: itab_zycit042-ebeln TO itab_zycit223-ebeln,
itab_zycit042-ebelp TO itab_zycit223-ebelp,
itab_zycit042-nrseqnf TO itab_zycit223-nrseqnf,
itab_zycit042-nrseq TO itab_zycit223-nrseq,
itab_zycit042-nfglobal TO itab_zycit223-nfglobal,
space TO itab_zycit223-nfremessa,
itab_zycit042-docnum TO itab_zycit223-docnum,
v_seq TO itab_zycit223-seq.
MODIFY itab_zycit223.
ENDLOOP.
ENDIF.
ENDIF.
IF v_remessa = 'X'.
DELETE FROM /pws/zycit223 WHERE nrseq = wa_zycie044-nrseq
AND nrseqnf = wa_zycie044-nrseqnf
AND nfglobal = wa_zycie044-nfglobal
AND nfremessa = wa_zycie044-nfremessa
AND ebeln = wa_zycie044-ebeln
AND ebelp = wa_zycie044-ebelp.
ELSE.
DELETE FROM /pws/zycit223 WHERE nrseq = wa_zycie042-nrseq
AND nrseqnf = wa_zycie042-nrseqnf
AND nfglobal = wa_zycie042-nfglobal
AND ebeln = wa_zycie042-ebeln
AND ebelp = wa_zycie042-ebelp.
ENDIF.
MODIFY /pws/zycit223 FROM TABLE itab_zycit223.
LEAVE TO SCREEN 0.
WHEN 'CANC'.
LEAVE TO SCREEN 0.
WHEN 'DELE'.
IF v_remessa = 'X' AND NOT wa_zycie044-docnum IS INITIAL.
CLEAR okcode.
MESSAGE i015 WITH text-123.
EXIT.
ELSEIF v_remessa = ' ' AND NOT wa_zycie042-docnum IS INITIAL.
CLEAR okcode.
MESSAGE i015 WITH text-123.
EXIT.
ENDIF.
LOOP AT itab_zycit223 WHERE mark = 'X'.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-l03.
ELSE.
LOOP AT itab_zycit223 WHERE mark = 'X'.
MOVE itab_zycit223 TO itab_zycit223_del.
APPEND itab_zycit223_del.
DELETE itab_zycit223.
ENDLOOP.
ENDIF.
WHEN 'MALL'.
LOOP AT itab_zycit223.
itab_zycit223-mark = 'X'.
MODIFY itab_zycit223.
ENDLOOP.
WHEN 'DALL'.
LOOP AT itab_zycit223.
itab_zycit223-mark = ' '.
MODIFY itab_zycit223.
ENDLOOP.
ENDCASE.
ENDIF.
CLEAR okcode.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016O01
...
MODULE set_screen_nfr OUTPUT.
CASE sy-dynnr.
WHEN '0200' OR '0210' .
LOOP AT SCREEN.
IF v_status_s_nfr = 0 AND screen-group1 NE 'ALT'.
screen-input = '0'.
MODIFY SCREEN.
ELSEIF v_status_s_nfr = 1.
IF screen-group1 NE 'OUT'.
screen-input = '1'.
* >> Início da exclusão: MODULE SET_SCREEN_NFR
ELSEIF screen-group1 EQ 'OUT' AND /pws/zycie043-nfexterna EQ
'X'
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_NFR
ELSEIF screen-group1 EQ 'OUT' AND
/pws/zycie043-nfexterna EQ 'X'
* << Fim da inclusão
AND screen-group2 EQ 'NF'.
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-name = '/PWS/ZYCIE043-NFEXTERNA' OR
screen-name = '/PWS/ZYCIE043-IMPRIMINF'.
LOOP AT itab_zycit044 WHERE docnum NE 0.
ENDLOOP.
IF sy-subrc EQ 0.
screen-input = '0'.
ELSE.
screen-input = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN_NFR
IF screen-name = 'ITAB_ZYCIT044-MARK'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
* << Fim da inclusão
ENDLOOP.
CLEAR wa_cols.
IF v_status_s_nfr = 0.
LOOP AT tc_itens_nfr-cols INTO wa_cols.
wa_cols-screen-input = '0'.
MODIFY tc_itens_nfr-cols FROM wa_cols.
ENDLOOP.
ELSEIF v_status_s_nfr = 1.
LOOP AT tc_itens_nfr-cols INTO wa_cols.
IF wa_cols-screen-group1 NE 'OUT'.
...
...
SET PF-STATUS '0300' EXCLUDING itab_pf_status.
SET TITLEBAR '0300'.
ENDMODULE.
MODULE carrega_zycie042_c OUTPUT.
PERFORM carrega_zycie042_c.
tc_itens_nfc-lines = tc_itens_nfc-lines + 15.
ENDMODULE.
MODULE set_screen_tc_nfg OUTPUT.
LOOP AT SCREEN.
IF sy-tcode = '/PWS/ZYCI016_E'.
* >> Início da inclusão: MODULE SET_SCREEN_TC_NFG
IF screen-name EQ 'ITAB_ZYCIT042-MARK'.
screen-input = '1'.
ELSE.
* << Fim da inclusão
screen-input = 0.
* >> Início da inclusão: MODULE SET_SCREEN_TC_NFG
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: MODULE SET_SCREEN_TC_NFG
IF screen-group1 EQ 'OUT' AND /pws/zycie041-nfexterna EQ 'X'
AND screen-group2 EQ 'NF' AND /pws/zycie042-docnum IS
INITIAL
AND NOT /pws/zycie042-ebeln IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_TC_NFG
IF screen-group1 EQ 'OUT' AND
/pws/zycie041-nfexterna EQ 'X' AND
screen-group2 EQ 'NF' AND
/pws/zycie042-docnum IS INITIAL AND
NOT /pws/zycie042-ebeln IS INITIAL.
* << Fim da inclusão
screen-input = '1'.
* >> Início da exclusão: MODULE SET_SCREEN_TC_NFG
ELSEIF screen-name EQ 'ITAB_ZYCIT042-MARK' AND
( /pws/zycie042-docnum IS INITIAL OR v_modalidade = '99' ).
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_TC_NFG
ELSEIF screen-name EQ 'ITAB_ZYCIT042-MARK'.
* << Fim da inclusão
screen-input = '1'.
* >> Início da exclusão: MODULE SET_SCREEN_TC_NFG
ELSEIF screen-group1 EQ 'ENF' AND /pws/zycie042-docnum IS
INITIAL.
* << Fim da exclusão
* >> Início da inclusão: MODULE SET_SCREEN_TC_NFG
ELSEIF screen-group1 EQ 'ENF' AND
/pws/zycie042-docnum IS INITIAL.
* << Fim da inclusão
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
v_local = 'TBL_CTRL'.
ENDMODULE.
MODULE seta_table OUTPUT.
...
...
ENDMODULE.
MODULE status_0130 OUTPUT.
SET PF-STATUS '0130'.
ENDMODULE.
MODULE status OUTPUT.
CASE sy-dynnr.
WHEN '0140' .
SET PF-STATUS '0140'.
ENDCASE.
ENDMODULE.
* >> Início da inclusão:
MODULE inibe_linhas OUTPUT.
CLEAR: tqss1.
IF v_remessa = 'X'.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCIE223-DT_PRODUCAO'.
IF NOT v_validade IS INITIAL.
screen-invisible = '0'.
MODIFY SCREEN.
ELSE.
screen-input = '0'.
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-CERTIFICADO'.
screen-input = '1'.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-LOTE'.
IF NOT v_suj_lote IS INITIAL.
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ELSE.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCIE223-DT_PRODUCAO'.
IF NOT v_validade IS INITIAL.
screen-invisible = '0'.
ELSE.
screen-input = '0'.
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-CERTIFICADO'.
screen-input = '1'.
MODIFY SCREEN.
ELSEIF screen-name = '/PWS/ZYCIE223-LOTE'.
IF NOT v_suj_lote IS INITIAL.
screen-input = '1'.
ELSE.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ELSE.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF NOT wa_zycie042 IS INITIAL.
IF v_suj_lote NE 'X'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE223-LOTE'.
screen-input = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-QTDE'.
screen-input = 1.
screen-required = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-NRVOLUME'.
screen-input = 1.
screen-required = 0.
ELSEIF screen-name EQ '/PWS/ZYCIE223-TPVOLUME'.
SELECT SINGLE * FROM tqss1
INTO tqss1
WHERE werks EQ wa_zycie042-werks.
IF sy-subrc = 0.
IF tqss1-kzgeb EQ '+'.
screen-input = 1.
screen-required = 1.
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
ELSEIF screen-name EQ '/PWS/ZYCIE223-LOTE_FORN'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
SELECT SINGLE * FROM ekpo WHERE
ebeln = wa_zycie042-ebeln AND
ebelp = wa_zycie042-ebelp.
IF sy-subrc = 0 AND NOT ekpo-zgtyp IS INITIAL.
v_certificado = 'X'.
ENDIF.
ELSEIF NOT wa_zycie044 IS INITIAL.
IF v_suj_lote NE 'X'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name EQ '/PWS/ZYCIE223-LOTE'.
screen-input = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-QTDE'.
screen-input = 1.
screen-required = 1.
ELSEIF screen-name EQ '/PWS/ZYCIE223-NRVOLUME'.
screen-input = 1.
screen-required = 0.
ELSEIF screen-name EQ '/PWS/ZYCIE223-TPVOLUME'.
SELECT SINGLE * FROM tqss1
INTO tqss1
WHERE werks EQ itab_zycit003-werks.
IF sy-subrc = 0.
IF tqss1-kzgeb EQ '+'.
screen-input = 1.
screen-required = 1.
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
ELSE.
screen-input = 1.
screen-required = 0.
ENDIF.
ELSEIF screen-name EQ '/PWS/ZYCIE223-LOTE_FORN'.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
SELECT SINGLE * FROM ekpo WHERE
ebeln = wa_zycie044-ebeln AND
ebelp = wa_zycie044-ebelp.
IF sy-subrc = 0 AND NOT ekpo-zgtyp IS INITIAL.
v_certificado = 'X'.
ENDIF.
ENDIF.
IF NOT wa_zycie042-docnum IS INITIAL.
LOOP AT SCREEN.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF NOT wa_zycie044-docnum IS INITIAL.
LOOP AT SCREEN.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDMODULE.
MODULE alimenta_zycie223 OUTPUT.
MOVE: itab_zycit223-lote TO /pws/zycie223-lote,
itab_zycit223-qtde TO /pws/zycie223-qtde,
itab_zycit223-nrvolume TO /pws/zycie223-nrvolume,
itab_zycit223-tpvolume TO /pws/zycie223-tpvolume,
itab_zycit223-certificado TO /pws/zycie223-certificado,
itab_zycit223-lote_forn TO /pws/zycie223-lote_forn,
itab_zycit223-dt_vencto TO /pws/zycie223-dt_vencto,
itab_zycit223-dt_producao TO /pws/zycie223-dt_producao.
ENDMODULE.
MODULE status_0121 OUTPUT.
SET PF-STATUS '0121'.
SET TITLEBAR '0121'.
ENDMODULE.
MODULE set_screen_0121 OUTPUT.
DESCRIBE TABLE itab_zycit223 LINES v_linhas_110.
tc_lote-lines = v_linhas_110 + 10.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016TOP
...
vltot(16) TYPE c,
advalicms(6) TYPE c,
advalipi(6) TYPE c,
taxval(15) TYPE c.
DATA: END OF itab_itens_txt.
CONTROLS:
tc_itens_nfg TYPE TABLEVIEW USING SCREEN '0100',
tc_itens_nfr TYPE TABLEVIEW USING SCREEN '0200',
tc_lista_nfr TYPE TABLEVIEW USING SCREEN '0002',
tc_itens_nfc TYPE TABLEVIEW USING SCREEN '0300',
* >> Início da exclusão:
tc_resum_nfc TYPE TABLEVIEW USING SCREEN '0400'.
* << Fim da exclusão
* >> Início da inclusão:
tc_resum_nfc TYPE TABLEVIEW USING SCREEN '0400',
tc_lote TYPE TABLEVIEW USING SCREEN '0121'.
* << Fim da inclusão
DATA:
v_despmens LIKE /pws/zycee007-netoth,
v_resposta(1) TYPE c,
v_bukrs LIKE /pws/zycit085-bukrs,
v_status_s,
wa_cols TYPE cxtab_column,
v_campo(25),
v_belnr2(10),
v_year LIKE bkpf-gjahr,
v_line(10) TYPE n,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016X01
TABLES:
* >> Início da inclusão:
/pws/zycie223,
tqss1,
marc,
* << Fim da inclusão
/pws/zycit000,
/pws/zycit062,
/pws/zycit036,
/pws/zycee007,
t001,
adrc,
/pws/zycie041.
TABLES: /pws/zycit478 ,
/pws/zycit480 .
TABLES: dd03l.
...
...
DATA: END OF itab_zycit043_lista.
DATA v_status_s_nfr.
DATA: v_local(10).
DATA wa_j1bnfdoc TYPE j_1bnfdoc.
DATA: v_conting TYPE /pws/zycie042-docnum.
DATA: itab_zycit398 LIKE /pws/zycit398 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit374 TYPE /pws/zycit374 OCCURS 0 WITH HEADER LINE,
itab_zycit100m TYPE /pws/zycit100 OCCURS 0 WITH HEADER LINE,
itab_zycit036m TYPE /pws/zycit036 OCCURS 0,
itab_zycit036_dim TYPE /pws/zycit036 OCCURS 0.
* >> Início da inclusão:
DATA: v_suj_lote LIKE mara-xchpf,
v_validade LIKE mara-mhdhb,
v_remessa,
v_soma_qtde LIKE /pws/zycie042-qtd_iten,
v_certificado,
v_linhas_110 TYPE i,
wa_zycie042 LIKE /pws/zycie042,
wa_zycie044 LIKE /pws/zycie044.
DATA: BEGIN OF itab_zycit223 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit223.
DATA: mark.
DATA: END OF itab_zycit223.
DATA: BEGIN OF itab_zycit223_del OCCURS 0.
INCLUDE STRUCTURE /pws/zycit223.
DATA: mark.
DATA: END OF itab_zycit223_del.
* << Fim da inclusão
DATA: END OF COMMON PART a.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI016
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 118
Texto: (17 caracteres)
"Marcar uma linha."
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 119
Texto: (39 caracteres)
"Lote já preenchido no Pedido de Compra."
Comprimento máximo: 39
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 120
Texto: (28 caracteres)
"Material não sujeito a Lote."
Comprimento máximo: 28
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 121
Texto: (44 caracteres)
"Quantidade nos lotes diferente da quantidade"
Comprimento máximo: 54
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 122
Texto: (8 caracteres)
"do item."
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 123
Texto: (49 caracteres)
"Impossível deletar o lote porque a NF foi criada."
Comprimento máximo: 49
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 124
Texto: (25 caracteres)
"Marcar somente uma linha."
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: L03
Texto: (38 caracteres)
"Selecionar ao menos uma linha na tela."
Comprimento máximo: 38