Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 22/01/2010 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:52:36
Descrição da Nota: PREEENCHER O NÚMERO DE SÉRIE DOS ITENS AO FAZER A MIGO
Sintoma
Necessário peeencher o número de série dos itens ao fazer a MIGO
Solução
Criar tela para o preenchimento de série e mapear o batch input da MIGO para preenchimento.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09714 Data: 22/01/2010 Hora: 09:02:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09714
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00002
Agrupamento : 00005
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07402 - 00001 - 7.0 - 00007 - INCLUSÃO DE BOTÃO PARA REPLICAR DEPÓSITO PARA TODOS OS ITENS DA N
09294 - 00002 - 8.0 - 00001 - AJUSTADO TRATAMENTO PARA ABERTURA OU FECHAMENTO DO CAMPO DEPÓSITO
----------------------------------------------------------------------------------------------------
PREEENCHER O NÚMERO DE SÉRIE DOS ITENS AO FAZER A MIGO
----------------------------------------------------------------------------------------------------
Palavras Chave:
SÉRIE - MIGO - BATCH INPUT
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCI017
DYNP /PWS/SAPMZYCI017 0100
DYNP /PWS/SAPMZYCI017 0112
DYNP /PWS/SAPMZYCI017 0200
FUNC /PWS/ZYCI_TRANSACAO_MIGO
REPS /PWS/MZYCI017F01
REPS /PWS/MZYCI017F02
REPS /PWS/MZYCI017I01
REPS /PWS/MZYCI017O01
REPS /PWS/MZYCI017TOP
REPS /PWS/MZYCI017X01
REPT /PWS/SAPMZYCI017
TABL /PWS/ZYCIE504
TABL /PWS/ZYCIT504
TABL /PWS/ZYCIT505
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCIE504
*Criada estrutura
MODIFICAR ESTRUTURA: /PWS/ZYCIE504
DESCRIÇÃO BREVE: CI - Séries para Batch Input
COMPONENTES NOVOS
COMPONENTE: TP. COMP: TAB.REF.: CATEG. CMPR. CASA DEC.
MANDT MANDT T000 CLNT 3 0
EBELN EBELN EKKO CHAR 10 0
EBELP EBELP EKPO NUMC 5 0
MATNR MATNR MARA CHAR 18 0
SERIE GERNR CHAR 18 0
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCIT504
*Criada tabela
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT504
DESCRIÇÃO BREVE: CI - Séries de material
CARACTERÍSTICAS
CATEGORIA DA TABELA: Tabela transparente
CLASSE DE ENTREGA: A Tabela de aplicação (dados mestre e de movimento)
(A) - ATUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
MANDT MANDT x x T000
NRSEQN /PWS/ZYCIL001 x x
NRSEQ /PWS/ZYCIL001 x x
NFGLOBAL /PWS/ZYCIL105 x x
NFREMESSA /PWS/ZYCIL107 x x
EBELN EBELN CHAR x x
EBELP EBELP NUMC x x
MATNR MATNR CHAR x x
SERIE GERNR CHAR x x
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0 Dados mestre, tabelas transparentes
CATEGOR. TAMANHO: 0 Registros dados esperados: 0 Até 7.100
(x) - AR. BUFFER NÃO PERMITIDO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABL /PWS/ZYCIT505
*Criada tabela
MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCIT505
DESCRIÇÃO BREVE: CI - Séries para Batch Input
CARACTERÍSTICAS
CATEGORIA DA TABELA: Tabela transparente
CLASSE DE ENTREGA: A Tabela de aplicação (dados mestre e de movimento)
(A) - ATUALIZAÇÃO DE TABELAS PERMITIDA
CAMPOS NOVOS
CAMPOS: TP. CAMPO CH: INI: TAB.VERIF.: TAB.REF.: CPO.RE
MANDT MANDT x x T000
EBELN EBELN CHAR x x
EBELP EBELP NUMC x x
MATNR MATNR CHAR x x
SERIE GERNR CHAR x x
OPÇÕES TÉCNICAS
TIPO DE DADOS: APPL0 Dados mestre, tabelas transparentes
CATEGOR. TAMANHO: 0 Registros dados esperados: 0 Até 7.100
(x) - AR. BUFFER NÃO PERMITIDO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI017 Status-Gui 0100
Criar tecla de função
Código de função Tecla F Tecla de função Código de função Texto
000005 30 Ctrl-F6 SERIE Série
Texto informativo Botões CI - Criar NF Global
Code de objeto Code Item Tecla de função Código de função Id
000005 0001 07 Ctrl-F6 SERIE ICON_ANNOTATION
*Inserir o botão na sétima posição da barra de botões.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI017 Status-Gui 0200
*Criado texto informativo de teclas de função NF Remessa
Texto informativo Teclas de função CI - Criar NF Remessa
Código de função Tecla F Tecla de função Código de função Texto
000004 30 Ctrl-F6 SERIE Série
Texto informativo Botões CI - Criar NF Remessa
Code de objeto Code Item Tecla de função Código de função Id
000005 0001 07 Ctrl-F6 SERIE ICON_ANNOTATION
*Inserir o botão na sétima posição da barra de botões.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI017 Status-Gui 0112
*Criado Status de tela 0112
Status 0112
Categoria de Status Status diálogo
Texto breve: Série de Material
*Botões:
*Criado texto informativo de teclas de função Tela Série
Texto informativo Teclas de função Série de Material
Código de função Tecla F Tecla de função Código de função Texto
000012 00 ENTER ENTER Avançar
000012 12 F12 CANCEL Cancelar
000012 25 Ctrl-F1 MARCSR Marcar Todos
000012 26 Ctrl-F2 DESMSR Desmarcar Todos
000012 27 Ctrl-F3 DELSR Eliminar Série
*Criado botões em tela Série
Texto informativo Botões Série de Material
Code de objeto Code Item Tecla de função Código de função Id
000012 0001 01 ENTER ENTER ICON_OKAY
000012 0001 02 F12 CANCEL ICON_CANCEL
000012 0001 03 Ctrl-F1 MARCSR ICON_SELECT_ALL
000012 0001 04 Ctrl-F2 DESMSR ICON_DESELECT_ALL
000012 0001 05 Ctrl-F3 DELSR ICON_DELETE_ROW
*Inserir os botões na barra de botões na ordem listada.
*Criado funções ativas tela Série de material
Texto informativo Funções ativas Série de Material
Status Código de função
0112 CANCEL
0112 DELSR
0112 DESMSR
0112 ENTE
0112 ENTER
0112 MARCSR
*Funções com textos estáticos
Código de função Categoria Res. Nome campo p/texto GUI dinâmico
DELSR ICON_DELETE_ROW
DESMSR ICON_DESELECT_ALL
MARCSR ICON_SELECT_ALL
SERIE ICON_ANNOTATION
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI017 0100
*Inserir um checkbox e nomeá-lo como ITAB_ZYCIT042-SERIE com texto MARC-SERNP entre os campos
*/PWS/ZYCIE042-LGORT e /PWS/ZYCIE042-LIFNR
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_ZYCIT042-SERIE" em tbl.contr./tabstr.
Altura 8
Comprimento Visível 1
Linha 1
Coluna 9
Formato CHAR
Texto _
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI017 0112
*Criada tela 0112
INCLUIR TELA 0112
Descrição CI - Número de Série
Tela seguinte 0112
Altura atual (linhas) 18
Largura atual (colunas) 32
INCLUIR TEXTO "V_PEDIDO"
Comprimento Visível 6
Linha 2
Coluna 4
Formato CHAR
Texto Pedido
Código função
INCLUIR CAMPO TEXTO "V_EBELN"
Comprimento Visível 10
Linha 2
Coluna 14
Formato CHAR
Texto __________
INCLUIR TEXTO "V_ITEM"
Comprimento Visível 4
Linha 3
Coluna 4
Formato CHAR
Texto Item
Código função
INCLUIR CAMPO TEXTO "V_EBELP"
Comprimento Visível 5
Linha 3
Coluna 14
Formato NUMC
Texto _____
INCLUIR TEXTO "V_MATERIAL"
Comprimento Visível 8
Linha 4
Coluna 4
Formato CHAR
Texto Material
Código função
INCLUIR CAMPO TEXTO "V_MATNR"
Comprimento Visível 18
Linha 4
Coluna 14
Formato CHAR
Texto __________________
INCLUIR CONTROLE DE TABELA "TC_SERIE"
Altura 12
Comprimento Visível 27
Linha 6
Coluna 4
INCLUIR TEXTO "ITAB_ZYCIT504-SERIE" em tbl.contr./tabstr.
Altura 18
Comprimento Visível 5
Linha 1
Coluna 1
Formato CHAR
Texto Série
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_ZYCIT504-MARC" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 1
Linha 1
Formato CHAR
Texto _
INCLUIR CAMPO TEXTO "ITAB_ZYCIT504-SERIE" em tbl.contr./tabstr.
Altura 20
Comprimento Visível 18
Linha 1
Coluna 1
Formato CHAR
Texto __________________
INCLUIR OKCODE ""
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0112
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
module : status.
LOOP AT itab_zycit504 WITH CONTROL tc_serie.
module: screen_lines.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit504.
module carrega_itab.
ENDLOOP.
module user_command.
* << Fim da inclusão
*Segue download de tela 0112
****************************************************************
* THIS FILE IS GENERATED BY THE SCREEN PAINTER. *
* NEVER CHANGE IT MANUALLY, PLEASE ! *
****************************************************************
%_DYNPRO
/PWS/SAPMZYCI017
0112
46C
40
%_HEADER
/PWS/SAPMZYCI017 0112 0112 17 30192 35 0 0 18 32 0G P
20100121151800
%_DESCRIPTION
CI - Número de Série
%_FIELDS
V_PEDIDO
0CHAR 60000003000 2 4 0 0 0 0 0 0
Pedido
X
V_EBELN
CCHAR 108000803000 2 14 0 0 0 0 0 0
__________
V_ITEM
0CHAR 40000003000 3 4 0 0 0 0 0 0
Item
X
V_EBELP
NNUMC 58000803000 3 14 0 0 0 0 0 0
_____
V_MATERIAL
0CHAR 80000003000 4 4 0 0 0 0 0 0
Material
X
V_MATNR
CCHAR 188000803000 4 14 0 0 0 0 0 0
__________________
TC_SERIE
27F6C8000000 6 4E101 1 1 12T 0 0
ITAB_ZYCIT504-SERIE
0CHAR 50000003080 1 1T101 1 1 18 0 0
Série
ITAB_ZYCIT504-MARC
CCHAR 18000800020 1 0T101 1 1 1C 0 0102
_
ITAB_ZYCIT504-SERIE
CCHAR 188000800000 1 1T101 1 1 20 0 0
__________________
CHAR 208010000000255 1O 0 0 0 0 0 0
____________________
%_FLOWLOGIC
PROCESS BEFORE OUTPUT.
module : status.
LOOP AT itab_zycit504 WITH CONTROL tc_serie.
module: screen_lines.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP AT itab_zycit504.
module carrega_itab.
ENDLOOP.
module user_command.
%_PARAMS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI017 0200
*Inserir um checkbox e nomeá-lo como ITAB_ZYCIT044-SERIE com texto V_SERIER entre os campos
*/PWS/ZYCIE044-LGORT e /PWS/ZYCIE044-LIFNR
INCLUIR CAIXA DE VERIFICAÇÃO "ITAB_ZYCIT044-SERIE" em tbl.contr./tabstr.
Altura 7
Comprimento Visível 1
Linha 1
Coluna 10
Formato CHAR
Texto _
INCLUIR TEXTO "V_SERIER" em tbl.contr./tabstr.
Altura 7
Comprimento Visível 5
Linha 1
Coluna 10
Formato CHAR
Texto Série
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_MIGO
*Incluído em tables
T_ZYCIT505 STRUCTURE /PWS/ZYCIT505 OPTIONAL
...
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_msgno LIKE t100-msgnr,
v_mode TYPE c,
v_nline TYPE i,
v_ntela TYPE i,
v_nreg TYPE i,
v_srows TYPE i,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO
v_campo(18),
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO
v_campo(25),
* << Fim da inclusão
v_indice(3) TYPE n,
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO
v_indice2(3) TYPE n,
* << Fim da inclusão
v_menge(17) TYPE c,
v_data_doc_char(10) TYPE c,
v_data_lanc_char(10) TYPE c,
v_time(8) TYPE c,
v_anzgeb(7) TYPE c,
v_gebeh(03) TYPE c,
...
...
AND cpochv = t_dados-cpochv.
ADD 1 TO v_nreg.
ADD 1 TO v_indice.
PERFORM bdc_screen USING 'SAPLMIGO' '0001'.
PERFORM bdc_field USING: 'BDC_CURSOR' 'GODYNPRO-PO_NUMBER',
'BDC_OKCODE' '=OK_GO'.
PERFORM bdc_screen USING 'SAPLMIGO' '0001'.
PERFORM bdc_field USING: 'BDC_CURSOR' 'GODYNPRO-DETAIL_ZEILE',
'GODYNPRO-DETAIL_ZEILE' v_indice,
'BDC_OKCODE' '=OK_GO'.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_MIGO
LOOP AT t_zycit505 WHERE ebeln EQ t_zycit031-ebeln
AND ebelp EQ t_zycit031-ebelp.
ENDLOOP.
IF sy-subrc EQ 0.
CLEAR v_indice2.
PERFORM bdc_screen USING 'SAPLMIGO' '0001'.
LOOP AT t_zycit505 WHERE ebeln EQ t_zycit031-ebeln
AND ebelp EQ t_zycit031-ebelp.
ADD 1 TO v_indice2.
CLEAR v_campo.
CONCATENATE 'GOSERIAL-SERIALNO(' v_indice2 ')' INTO v_campo.
PERFORM bdc_field USING:
v_campo t_zycit505-serie.
ENDLOOP.
PERFORM bdc_field USING: 'BDC_OKCODE' '=OK_GO'.
ENDIF.
* << Fim da inclusão
IF NOT t_zycit031-answer IS INITIAL.
CLEAR v_campo.
PERFORM bdc_screen USING 'SAPLMIGO' '0001'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'QCERT_MIGO-ANSWER',
'BDC_OKCODE' '=OK_GO'.
PERFORM bdc_screen USING 'SAPLMIGO' '0001'.
PERFORM bdc_field USING:
'BDC_CURSOR' 'QCERT_MIGO-ANSWER',
'QCERT_MIGO-ANSWER' t_zycit031-answer,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
FORM chamar_nfremessa.
GET CURSOR FIELD v_campo VALUE v_valor .
IF v_campo EQ '/PWS/ZYCIE043A-NFREMESSA'.
READ TABLE itab_nf WITH KEY nfremessa = v_valor.
MOVE-CORRESPONDING itab_nf TO /pws/zycie043.
SELECT a~nrseqnf a~nrseq a~embarca a~nfglobal a~nfremessa a~tpnf
a~ebeln a~ebelp a~qtd_item a~docnum a~nfnum a~series
* >> Início da exclusão: FORM CHAMAR_NFREMESSA
a~werks a~j_1bbranch a~lifnr a~lgort
* << Fim da exclusão
* >> Início da inclusão: FORM CHAMAR_NFREMESSA
a~werks a~j_1bbranch a~lifnr a~lgort a~matnr
* << Fim da inclusão
b~menge b~saldo b~meins
FROM /pws/zycit044 AS a LEFT OUTER JOIN /pws/zycit045 AS b
ON a~nrseqnf = b~nrseqnf
AND a~nrseq = b~nrseq
AND a~nfglobal = b~nfglobal
AND a~ebeln = b~ebeln
AND a~ebelp = b~ebelp
INTO CORRESPONDING FIELDS OF TABLE itab_zycit044
WHERE a~nrseqnf = /pws/zycie043-nrseq
AND a~nfglobal = /pws/zycie043-nfglobal
...
...
AND a~docnum = /pws/zycie043-docnum.
IF NOT itab_zycit044[] IS INITIAL.
PERFORM lock_pedido .
SELECT ebeln ebelp matnr lgort knttp
werks sobkz
FROM ekpo INTO TABLE itab_deposito
FOR ALL ENTRIES IN itab_zycit044
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
PERFORM verif_lote.
* >> Início da inclusão: FORM CHAMAR_NFREMESSA
SELECT a~ebeln a~ebelp a~matnr b~sernp
FROM ( ekpo AS a INNER JOIN marc AS b
ON a~matnr EQ b~matnr AND
a~werks EQ b~werks )
INTO TABLE itab_serie
FOR ALL ENTRIES IN itab_zycit044
WHERE ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
LOOP AT itab_zycit044.
READ TABLE itab_serie WITH KEY
ebeln = itab_zycit044-ebeln
ebelp = itab_zycit044-ebelp.
IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.
itab_zycit044-serie = 'X'.
MODIFY itab_zycit044 TRANSPORTING serie WHERE
ebeln = itab_zycit044-ebeln AND
ebelp = itab_zycit044-ebelp.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
CLEAR: v_tabix.
CLEAR itab_deposito.
LOOP AT itab_deposito.
IF NOT itab_deposito-xlort IS INITIAL.
CLEAR itab_zycit044.
READ TABLE itab_zycit044 WITH KEY ebeln = itab_deposito-ebeln
ebelp = itab_deposito-ebelp.
IF sy-subrc = 0.
v_tabix = sy-tabix.
...
...
AND nfglobal = /pws/zycie041-nfglobal
AND docnum = /pws/zycie041-docnum .
IF NOT itab_zycit042[] IS INITIAL.
SELECT ebeln ebelp matnr lgort knttp
werks sobkz
FROM ekpo INTO TABLE itab_deposito
FOR ALL ENTRIES IN itab_zycit042
WHERE ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
PERFORM verif_lote.
* >> Início da inclusão: FORM CHAMAR_NFGLOBAL
SELECT a~ebeln a~ebelp a~matnr b~sernp
FROM ( ekpo AS a INNER JOIN marc AS b
ON a~matnr EQ b~matnr AND
a~werks EQ b~werks )
INTO TABLE itab_serie
FOR ALL ENTRIES IN itab_zycit042
WHERE ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
LOOP AT itab_zycit042.
READ TABLE itab_serie WITH KEY
ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc EQ 0 AND NOT itab_serie-sernp IS INITIAL.
itab_zycit042-serie = 'X'.
MODIFY itab_zycit042 TRANSPORTING serie WHERE
ebeln = itab_zycit042-ebeln AND
ebelp = itab_zycit042-ebelp.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDIF.
CLEAR: v_tabix.
CLEAR itab_deposito.
LOOP AT itab_deposito.
IF NOT itab_deposito-xlort IS INITIAL.
CLEAR itab_zycit042.
READ TABLE itab_zycit042 WITH KEY ebeln = itab_deposito-ebeln
ebelp = itab_deposito-ebelp.
IF sy-subrc = 0.
v_tabix = sy-tabix.
...
...
* >> Início da inclusão: FORM EXECUTAR_EVENTO
WHEN 'SERIE' .
PERFORM trata_serie.
* << Fim da inclusão
ENDCASE.
CLEAR okcode.
ENDFORM.
...
...
FORM clear_date_batch.
FREE: itab_zycit034, itab_zycbt034, itab_zycet004,
itab_zycie033, itab_zycbe033, itab_zycee005,
itab_zycit032, itab_zycbt032, itab_zycet005,
* >> Início da exclusão: FORM CLEAR_DATE_BATCH
itab_zycit031, itab_contas, itab_zycbt036.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEAR_DATE_BATCH
itab_zycit031, itab_contas, itab_zycbt036,
itab_zycit505.
* << Fim da inclusão
CLEAR: itab_zycit031, itab_zycit032, itab_zycie033, itab_zycit034,
itab_zycbt032, itab_zycbe033, itab_zycbt034, itab_zycet005,
* >> Início da exclusão: FORM CLEAR_DATE_BATCH
itab_zycee005, itab_zycet004, itab_contas, itab_zycbt036.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEAR_DATE_BATCH
itab_zycee005, itab_zycet004, itab_contas, itab_zycbt036 ,
itab_zycit505.
* << Fim da inclusão
CLEAR v_matuse.
...
...
IF NOT itab_itens_nf[] IS INITIAL.
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseq = itab_itens_nf-nrseq AND
nrseqnf = itab_itens_nf-nrseqnf AND
nfglobal = itab_itens_nf-nfglobal AND
ebelp = itab_itens_nf-ebelp AND
ebeln = itab_itens_nf-ebeln AND
docnum = itab_itens_nf-docnum AND
nfremessa = space.
* >> Início da inclusão: FORM FILL_DATE_MB01
SELECT * FROM /pws/zycit504 INTO TABLE itab_zycit504
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseqnf = itab_itens_nf-nrseqnf
AND nrseq = itab_itens_nf-nrseq
AND nfglobal = itab_itens_nf-nfglobal
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp
AND nfremessa = space.
* << Fim da inclusão
ENDIF.
ELSE.
IF NOT itab_itens_nf[] IS INITIAL.
SELECT * FROM /pws/zycit223 INTO TABLE itab_zycit223
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseq = itab_itens_nf-nrseq AND
nrseqnf = itab_itens_nf-nrseqnf AND
nfglobal = itab_itens_nf-nfglobal AND
ebelp = itab_itens_nf-ebelp AND
ebeln = itab_itens_nf-ebeln AND
docnum = itab_itens_nf-docnum AND
nfremessa = itab_itens_nf-nfremessa.
* >> Início da inclusão: FORM FILL_DATE_MB01
SELECT * FROM /pws/zycit504 INTO TABLE itab_zycit504
FOR ALL ENTRIES IN itab_itens_nf
WHERE nrseqnf = itab_itens_nf-nrseqnf
AND nrseq = itab_itens_nf-nrseq
AND nfglobal = itab_itens_nf-nfglobal
AND ebeln = itab_itens_nf-ebeln
AND ebelp = itab_itens_nf-ebelp
AND nfremessa = itab_itens_nf-nfremessa.
* << Fim da inclusão
ENDIF.
ENDIF.
IF NOT itab_zycit223[] IS INITIAL.
LOOP AT itab_zycit031.
READ TABLE itab_zycit223 WITH KEY ebeln = itab_zycit031-ebeln
ebelp = itab_zycit031-ebelp.
IF sy-subrc = 0.
DELETE itab_zycit031.
ENDIF.
LOOP AT itab_zycit223 WHERE ebeln = itab_zycit031-ebeln AND
...
...
APPEND itab_zycit031.
ENDLOOP.
ENDIF.
v_merc = 'X'.
SET PARAMETER ID '/PWS/ZYCIP005' FIELD v_merc.
CALL CUSTOMER-FUNCTION '003'
EXPORTING
nrseq = itab_itens_nf-nrseq
TABLES
itab = itab_zycit031.
* >> Início da inclusão: FORM FILL_DATE_MB01
LOOP AT itab_zycit504.
itab_zycit505-matnr = itab_zycit504-matnr.
itab_zycit505-ebeln = itab_zycit504-ebeln.
itab_zycit505-ebelp = itab_zycit504-ebelp.
itab_zycit505-serie = itab_zycit504-serie.
append itab_zycit505.
ENDLOOP.
* << Fim da inclusão
...
...
ENDIF.
IF e_subrc = 0.
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_MIGO'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycie033
t_campo = itab_zycit034
t_zycit032 = itab_zycit032
t_zycit031 = itab_zycit031
* >> Início da inclusão: FORM FILL_DATE_MB01
t_zycit505 = itab_zycit505
* << Fim da inclusão
EXCEPTIONS
campo_em_branco = 1
OTHERS = 3.
ENDIF.
IF sy-subrc = 0 OR e_subrc = 4.
PERFORM atualiza_dados_migo.
ELSE.
LOOP AT itab_zycit034.
MESSAGE i016 WITH itab_zycit034-descricao.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F02
...
* >> Início da inclusão:
FORM trata_serie.
CLEAR: v_cont, v_ebeln, v_ebelp, v_matnr.
IF gc_subscreen-prog EQ '0100'.
LOOP AT itab_zycit042 WHERE mark = 'X'.
v_cont = v_cont + 1.
ENDLOOP.
IF v_cont NE 1.
MESSAGE i015 WITH text-266.
EXIT .
ELSEIF v_cont EQ 0.
MESSAGE i015 WITH text-l03.
EXIT .
ELSE.
READ TABLE itab_zycit042 WITH KEY mark = 'X'.
IF sy-subrc EQ 0 AND NOT itab_zycit042-serie IS INITIAL.
SELECT * FROM /pws/zycit504 INTO TABLE itab_zycit504
WHERE nrseqnf = itab_zycit042-nrseqnf
AND nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp .
MOVE:
itab_zycit042-ebeln TO v_ebeln,
itab_zycit042-ebelp TO v_ebelp,
itab_zycit042-matnr TO v_matnr.
CALL SCREEN 0112 STARTING AT 10 2.
ELSEIF itab_zycit042-serie IS INITIAL.
MESSAGE i015 WITH text-268.
ENDIF.
ENDIF.
ELSE.
LOOP AT itab_zycit044 WHERE mark = 'X'.
v_cont = v_cont + 1.
ENDLOOP.
IF v_cont NE 1.
MESSAGE i015 WITH text-266.
EXIT .
ELSEIF v_cont EQ 0.
MESSAGE i015 WITH text-l03.
EXIT .
ENDIF.
READ TABLE itab_zycit044 WITH KEY mark = 'X'.
IF sy-subrc EQ 0 AND NOT itab_zycit044-serie IS INITIAL.
SELECT * FROM /pws/zycit504 INTO TABLE itab_zycit504
WHERE nrseqnf = itab_zycit044-nrseqnf
AND nrseq = itab_zycit044-nrseq
AND nfglobal = itab_zycit044-nfglobal
AND nfremessa = itab_zycit044-nfremessa
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp .
MOVE:
itab_zycit044-ebeln TO v_ebeln,
itab_zycit044-ebelp TO v_ebelp,
itab_zycit044-matnr TO v_matnr.
CALL SCREEN 0112 STARTING AT 10 2.
ELSE.
IF itab_zycit042-serie IS INITIAL.
MESSAGE i015 WITH text-268.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM user_command_0112.
DATA itab_mtserie LIKE itab_zycit504 OCCURS 0 WITH HEADER LINE.
DATA v_linhasr LIKE /pws/zycie042-qtd_iten.
CLEAR v_msg.
CASE sy-ucomm.
WHEN 'ENTER'.
CLEAR itab_mtserie[].
REFRESH itab_mtserie[].
MOVE itab_zycit504[] TO itab_mtserie[].
LOOP AT itab_zycit504.
v_tabix = sy-tabix.
READ TABLE itab_mtserie WITH KEY
ebeln = itab_zycit504-ebeln
ebelp = itab_zycit504-ebelp
matnr = itab_zycit504-matnr
serie = itab_zycit504-serie.
IF sy-subrc EQ 0 AND
v_tabix NE sy-tabix.
v_msg = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF v_msg = 'X' .
MESSAGE i015 WITH text-269.
ELSE.
DESCRIBE TABLE itab_zycit504 LINES v_linhasr.
IF v_existe_nfr NE 'S'.
IF v_linhasr EQ itab_zycit042-qtd_iten
AND NOT v_linhasr EQ 0.
DELETE FROM /pws/zycit504
WHERE nrseqnf = itab_zycit042-nrseqnf
AND nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp
AND matnr = itab_zycit042-matnr .
MODIFY /pws/zycit504 FROM TABLE itab_zycit504.
LEAVE TO SCREEN 0.
ELSE.
IF NOT itab_zycit504[] IS INITIAL.
MESSAGE i015 WITH text-267.
EXIT.
ELSE.
DELETE FROM /pws/zycit504
WHERE nrseqnf = itab_zycit042-nrseqnf
AND nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp
AND matnr = itab_zycit042-matnr .
LEAVE TO SCREEN 0 .
ENDIF.
ENDIF.
ELSE.
IF v_linhasr EQ itab_zycit044-qtd_item
AND NOT v_linhasr EQ 0.
DELETE FROM /pws/zycit504
WHERE nrseqnf = itab_zycit044-nrseqnf
AND 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 matnr = itab_zycit044-matnr .
MODIFY /pws/zycit504 FROM TABLE itab_zycit504.
LEAVE TO SCREEN 0.
ELSE .
IF NOT itab_zycit504[] IS INITIAL.
MESSAGE i015 WITH text-267.
EXIT.
ELSE.
DELETE FROM /pws/zycit504
WHERE nrseqnf = itab_zycit044-nrseqnf
AND 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 matnr = itab_zycit044-matnr .
LEAVE TO SCREEN 0.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN 'CANCEL'.
LEAVE TO SCREEN 0.
WHEN 'DESMSR'.
LOOP AT itab_zycit504 .
itab_zycit504-marc = ' '.
MODIFY itab_zycit504 .
ENDLOOP.
WHEN 'MARCSR'.
LOOP AT itab_zycit504 .
itab_zycit504-marc = 'X'.
MODIFY itab_zycit504 .
ENDLOOP.
WHEN 'DELSR'.
LOOP AT itab_zycit504 WHERE marc = 'X'.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE i015 WITH text-l03.
ELSE.
LOOP AT itab_zycit504 WHERE marc = 'X'.
DELETE itab_zycit504 .
ENDLOOP.
ENDIF.
ENDCASE.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017I01
...
* >> Início da inclusão:
MODULE user_command INPUT.
IF sy-dynnr EQ '0112' .
PERFORM user_command_0112.
ENDIF.
ENDMODULE.
MODULE carrega_itab INPUT.
IF sy-dynnr EQ '0112'.
IF v_existe_nfr NE 'S'.
itab_zycit504-mandt = sy-mandt.
itab_zycit504-nrseqnf = itab_zycit042-nrseqnf .
itab_zycit504-nrseq = itab_zycit042-nrseq .
itab_zycit504-nfglobal = itab_zycit042-nfglobal .
itab_zycit504-ebeln = itab_zycit042-ebeln .
itab_zycit504-ebelp = itab_zycit042-ebelp .
itab_zycit504-matnr = itab_zycit042-matnr .
ELSE.
itab_zycit504-mandt = sy-mandt.
itab_zycit504-nrseqnf = itab_zycit044-nrseqnf .
itab_zycit504-nrseq = itab_zycit044-nrseq .
itab_zycit504-nfglobal = itab_zycit044-nfglobal .
itab_zycit504-nfremessa = itab_zycit044-nfremessa.
itab_zycit504-ebeln = itab_zycit044-ebeln .
itab_zycit504-ebelp = itab_zycit044-ebelp .
itab_zycit504-matnr = itab_zycit044-matnr .
ENDIF.
MODIFY itab_zycit504 INDEX tc_serie-current_line.
IF sy-subrc NE 0.
APPEND itab_zycit504.
ENDIF.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017O01
...
MODULE status_0050 OUTPUT.
CASE gc_subscreen-prog.
WHEN '0200'.
IF sy-tcode EQ '/PWS/ZYCI017_E'
OR v_tcode = '/PWS/ZYCI017_E'.
* >> Início da inclusão: MODULE STATUS_0050
READ TABLE itab_zycit044 WITH KEY serie = 'X'.
IF sy-subrc NE 0.
it_code-fcode = 'SERIE'. APPEND it_code.
ENDIF.
* << Fim da inclusão
it_code-fcode = 'REPL'. APPEND it_code.
it_code-fcode = 'LOTE'. APPEND it_code.
it_code-fcode = 'ESTOR'. APPEND it_code.
it_code-fcode = 'RECEB'. APPEND it_code.
SET PF-STATUS '0200' EXCLUDING it_code.
SET TITLEBAR '0200'.
ELSE.
* >> Início da exclusão: MODULE STATUS_0050
SET PF-STATUS '0200'.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0050
READ TABLE itab_zycit044 WITH KEY serie = 'X'.
IF sy-subrc NE 0.
itab_pf_status-fcode = 'SERIE'. APPEND itab_pf_status.
ENDIF.
SET PF-STATUS '0200' EXCLUDING itab_pf_status .
* << Fim da inclusão
SET TITLEBAR '0200_A'.
ENDIF.
gv_subscreen_0050 = '0200'.
WHEN '0100'.
* >> Início da inclusão: MODULE STATUS_0050
READ TABLE itab_zycit042 WITH KEY serie = 'X'.
IF sy-subrc NE 0.
itab_pf_status-fcode = 'SERIE'. APPEND itab_pf_status.
ENDIF.
* << Fim da inclusão
IF sy-tcode = '/PWS/ZYCI017_E' OR v_tcode = '/PWS/ZYCI017_E'.
it_code-fcode = 'REPL'. APPEND it_code.
itab_pf_status-fcode = 'ESTOR'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'RECEB'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'LOTE'.
APPEND itab_pf_status.
SET PF-STATUS '0100' EXCLUDING itab_pf_status .
ELSE.
* >> Início da exclusão: MODULE STATUS_0050
SET PF-STATUS '0100'.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0050
SET PF-STATUS '0100' EXCLUDING itab_pf_status .
* << Fim da inclusão
ENDIF.
IF sy-tcode = '/PWS/ZYCI017_E' OR v_tcode = '/PWS/ZYCI017_E'.
SET TITLEBAR '0100'.
ELSEIF sy-tcode = '/PWS/ZYCI017_A'.
SET TITLEBAR '0100A'.
ELSEIF sy-tcode = '/PWS/ZYCI017_C'.
SET TITLEBAR '0100C'.
ENDIF.
gv_subscreen_0050 = '0100'.
ENDCASE.
...
...
* >> Início da inclusão:
MODULE status OUTPUT.
SET PF-STATUS '0112'.
ENDMODULE.
MODULE screen_lines OUTPUT.
CASE sy-dynnr.
WHEN '0112'.
IF v_existe_nfr NE 'S' .
tc_serie-lines = itab_zycit042-qtd_iten .
ELSE.
tc_serie-lines = itab_zycit044-qtd_item .
ENDIF.
ENDCASE.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017TOP
...
CONTROLS:
tc_lista_nf TYPE TABLEVIEW USING SCREEN '0010',
tc_itens_nfg TYPE TABLEVIEW USING SCREEN '0100',
tc_itens_nfr TYPE TABLEVIEW USING SCREEN '0200',
tc_estorno TYPE TABLEVIEW USING SCREEN '0020',
tc_lote TYPE TABLEVIEW USING SCREEN '0110',
* >> Início da exclusão:
tcontrol_log TYPE TABLEVIEW USING SCREEN '0111'.
* << Fim da exclusão
* >> Início da inclusão:
tcontrol_log TYPE TABLEVIEW USING SCREEN '0111',
tc_serie TYPE TABLEVIEW USING SCREEN '0112'.
* << Fim da inclusão
DATA wa_cols TYPE cxtab_column.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017X01
...
* >> Início da inclusão:
TABLES /pws/zycit504.
* << Fim da inclusão
DATA: BEGIN OF COMMON PART a.
DATA: BEGIN OF itab_zycit042 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit042.
* >> Início da exclusão:
DATA: mark.
* << Fim da exclusão
* >> Início da inclusão:
DATA: serie.
mark.
* << Fim da inclusão
DATA: END OF itab_zycit042.
...
...
DATA: BEGIN OF itab_zycit044 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit044.
DATA:
saldo LIKE /pws/zycie045-saldo,
* >> Início da inclusão:
serie,
* << Fim da inclusão
mark.
...
...
DATA: BEGIN OF itab_nf OCCURS 0.
INCLUDE STRUCTURE /pws/zycit043.
DATA: remessa,
* >> Início da inclusão:
serie,
* << Fim da inclusão
marc,
lgort LIKE /pws/zycit042-lgort.
DATA: END OF itab_nf.
...
...
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit504 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit504.
DATA: marc.
DATA: END OF itab_zycit504.
DATA: BEGIN OF itab_zycit505 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit505.
DATA: END OF itab_zycit505.
DATA: v_ebeln TYPE /pws/zycit042-ebeln,
v_ebelp TYPE /pws/zycit042-ebelp,
v_matnr TYPE /pws/zycit042-matnr.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI017
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 090
Texto: (0 caracteres)
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 266
Texto: (31 caracteres)
"Choose only one line on screen."
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 266
Texto: (29 caracteres)
"Selecionar uma linha na tela."
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 266
Texto: (32 caracteres)
"Seleccionar solamente una línea."
Comprimento máximo: 36
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 267
Texto: (25 caracteres)
"Fill serie for all units."
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 267
Texto: (48 caracteres)
"Preencher série para todas unidades do material."
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 267
Texto: (47 caracteres)
"Leenar serie de todas las unidades de material."
Comprimento máximo: 48
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 268
Texto: (28 caracteres)
"Material doesn't have serie."
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 268
Texto: (26 caracteres)
"Material não possui série."
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 268
Texto: (24 caracteres)
"Material no pouse serie."
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 269
Texto: (32 caracteres)
"Serial Number can't be repeated."
Comprimento máximo: 38
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 269
Texto: (38 caracteres)
"Número de série não pode ser repetido."
Comprimento máximo: 38