Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 25/03/2008 00:00:00
Data/Hora Última Alteração: 03/02/2010 17:01:21
Descrição da Nota: REPLICAÇÃO DE FORNECEDOR/FABRICANTE NO ITEM DA FATURA
Sintoma
Replicação de fornecedor/fabricante no item da fatura
Solução
Nova funcionalidade para replicação de fabricante nos itens da fatura de mercadoria
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06237 Data: 25/03/2008 Hora: 16:24:27
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06237
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00040
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
REPLICAÇÃO DE FORNECEDOR/FABRICANTE NO ITEM DA FATURA
----------------------------------------------------------------------------------------------------
Palavras Chave:
REPLICAÇÃO - FORNECEDOR - FABRICANTE - ITEM DA FATURA
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCI003
DYNP /PWS/SAPMZYCI003 0450
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003O01
REPS /PWS/MZYCI003TOP
REPS /PWS/MZYCI003X01
REPT /PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCI003
*Criado o código de função no detalhe do item na tela 0400
Código de função Tecla F Tecla de função Código de função Texto
000005 21 Shift-F9 REPL Replicação
*Criado um botão na barra de botões - tela 0400
Code de objeto Code Item Tecla de função Código de função Id Exibição
Texto
000005 0001 05 Shift-F9 REPL
*Criado os seguintes textos de informações - tela 0400
Texto informativo Funções ativas CI - Detalhe do Item
Status Código de função
400 REPL
*Criado o pf-status 0450
Texto informativo Teclas de função Replicar Fornecedor
Código de função Tecla F Tecla de função Código de função Texto
000009 00 ENTER ENTE Ok
000009 02 F2 ENTE Ok
000009 06 F6 CHECK Marcar Tudo
000009 07 F7 UNCHECK Desmarcar
000009 27 Ctrl-F3 BACK Voltar
*Criado o Status Gui 0450
Status Tipo Code de objeto Code de objeto Descrição
0450 D 000009 000009 0001 Replicar Fornecedor
*Criado os seguintes textos de informações - tela 0450
Texto informativo Funções ativas Replicar Fornecedor
Status Código de função
0450 BACK
0450 CHECK
0450 ENTE
0450 UNCHECK
*Características dos botões - tela 0450
Código de função Categoria Res. Nome campo p/texto GUI dinâmico
BACK ICON_ARROW_LEFT
CHECK ICON_SELECT_ALL
REPL ICON_WORKFLOW_FORK
UNCHECK ICON_DESELECT_ALL
*Criado o seguinte título - tela 0450
Título
Code título Título
0450 Replicar Fabricante
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI003 0450
INCLUIR TELA 0450
Descrição CI - Replicar Fabricante
Tela seguinte 0450
Altura atual (linhas) 27
Largura atual (colunas) 120
INCLUIR CONTROLE DE TABELA "TC_IREP"
Altura 12
Comprimento Visível 59
Linha 2
Coluna 7
INCLUIR TEXTO "TIT" em tbl.contr./tabstr.
Altura 55
Comprimento Visível 5
Linha 1
Formato CHAR
Texto Itens
INCLUIR TEXTO "TEXT001" em tbl.contr./tabstr.
Altura 13
Comprimento Visível 8
Linha 1
Coluna 1
Formato CHAR
Texto Embarque
INCLUIR TEXTO "TEXT002" em tbl.contr./tabstr.
Altura 12
Comprimento Visível 6
Linha 1
Coluna 2
Formato CHAR
Texto Pedido
INCLUIR TEXTO "TEXT003" em tbl.contr./tabstr.
Altura 8
Comprimento Visível 4
Linha 1
Coluna 3
Formato CHAR
Texto Item
INCLUIR TEXTO "TEXT004" em tbl.contr./tabstr.
Altura 18
Comprimento Visível 8
Linha 1
Coluna 4
Formato CHAR
Texto Material
INCLUIR CAIXA DE VERIFICAÇÃO "WA_REPL-MARK" em tbl.contr./tabstr.
Altura 1
Comprimento Visível 1
Linha 1
Formato CHAR
Texto _
INCLUIR CAMPO TEXTO "WA_REPL-EBELN" em tbl.contr./tabstr.
Altura 13
Comprimento Visível 10
Linha 1
Coluna 1
Formato CHAR
Texto __________
INCLUIR CAMPO TEXTO "WA_REPL-NRSEQ" em tbl.contr./tabstr.
Altura 12
Comprimento Visível 10
Linha 1
Coluna 2
Formato CHAR
Texto __________
INCLUIR CAMPO TEXTO "WA_REPL-EBELP" em tbl.contr./tabstr.
Altura 8
Comprimento Visível 5
Linha 1
Coluna 3
Formato NUMC
Texto _____
INCLUIR CAMPO TEXTO "WA_REPL-MATNR" em tbl.contr./tabstr.
Altura 18
Comprimento Visível 18
Linha 1
Coluna 4
Formato CHAR
Texto __________________
Código função
INCLUIR OKCODE ""
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0450
* >> Início da inclusão:
PROCESS BEFORE OUTPUT.
MODULE : screen_lines,
status_screen.
loop at itab_repl with control tc_irep.
module: carrega_estrutura.
endloop.
PROCESS AFTER INPUT.
loop at itab_repl.
module: carrega_itab.
endloop.
MODULE USER_COMMAND_0450.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
FORM exibe_item.
CLEAR v_consiste.
* >> Início da inclusão: FORM EXIBE_ITEM
CLEAR itab_itens_aux.
REFRESH itab_itens_aux.
move itab_zycit003[] to itab_itens_aux[].
LOOP AT itab_zycit003 ." WHERE marc EQ 'X'.
IF itab_zycit003-marc EQ 'X'.
v_index_det = sy-tabix.
v_consiste = v_consiste + 1.
ENDIF.
MOVE-CORRESPONDING itab_zycit003 TO itab_itens_aux.
APPEND itab_itens_aux.
ENDLOOP.
* << Fim da inclusão
* >> Início da exclusão: FORM EXIBE_ITEM
LOOP AT itab_zycit003 WHERE marc EQ 'X'.
v_index_det = sy-tabix.
v_consiste = v_consiste + 1.
ENDLOOP.
* << Fim da exclusão
IF sy-subrc EQ 0 AND v_consiste = '1'.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.
IF /pws/zycie006-fabricante = '2'.
IF /pws/zycie003-flagfabr = 'S'.
ELSE.
CLEAR /pws/zycie003-lifnrfabr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
* >> Início da inclusão:
FORM carrega_estrutura_0450.
wa_repl-nrseq = itab_repl-nrseq.
wa_repl-ebeln = itab_repl-ebeln.
wa_repl-ebelp = itab_repl-ebelp.
wa_repl-matnr = itab_repl-matnr.
wa_repl-mark = itab_repl-mark .
ENDFORM.
MODULE user_command_0450 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
SET SCREEN 0.
LEAVE SCREEN.
WHEN 'CHECK'.
LOOP AT itab_repl.
itab_repl-mark = 'X'.
MODIFY itab_repl.
ENDLOOP.
WHEN 'UNCHECK'.
LOOP AT itab_repl.
itab_repl-mark = ' '.
MODIFY itab_repl.
ENDLOOP.
WHEN 'ENTE'.
MOVE itab_zycit003 TO wa_zycie003.
LOOP AT itab_repl WHERE mark EQ 'X'.
READ TABLE itab_zycit003 WITH KEY ebeln = itab_repl-ebeln
ebelp = itab_repl-ebelp.
IF sy-subrc EQ 0.
itab_zycit003-fabric = wa_zycie003-fabric .
itab_zycit003-lifnrfabr = /pws/zycie003-lifnrfabr.
itab_zycit003-descfab = /pws/zycie003-descfab .
itab_zycit003-paisfab = /pws/zycie003-paisfab .
itab_zycit003-paquis = /pws/zycie003-paquis .
MODIFY itab_zycit003
TRANSPORTING fabric lifnrfabr descfab paisfab paquis
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
ENDLOOP.
MOVE wa_zycie003 TO itab_zycit003.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
FORM fill_itab_repl.
CLEAR itab_repl.
REFRESH itab_repl.
LOOP AT itab_itens_aux WHERE
( ebeln NE itab_zycit003-ebeln OR
ebelp NE itab_zycit003-ebelp ).
itab_repl-nrseq = itab_itens_aux-nrseq.
itab_repl-ebeln = itab_itens_aux-ebeln.
itab_repl-ebelp = itab_itens_aux-ebelp.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = itab_itens_aux-matnr
IMPORTING
output = itab_repl-matnr
.
IF sy-subrc <> 0.
ENDIF.
APPEND itab_repl .
ENDLOOP.
SORT itab_repl BY ebeln ebelp.
ENDFORM.
FORM comm_repl.
READ TABLE itab_itens_aux WITH KEY ebeln = itab_repl
ebelp = itab_repl.
IF sy-subrc EQ 0.
itab_itens_aux-fabric = itab_zycit003-fabric .
itab_itens_aux-lifnrfabr = itab_zycit003-lifnrfabr .
itab_itens_aux-descfab = itab_zycit003-descfab .
itab_itens_aux-paisfab = itab_zycit003-paisfab .
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
READ TABLE itab_zycit003 INDEX v_index_det.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.
ENDIF.
WHEN 'ULTI'.
DESCRIBE TABLE itab_zycit003 LINES v_index_det.
READ TABLE itab_zycit003 INDEX v_index_det.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycie003.
WHEN 'BACK' OR 'EXIT'.
CLEAR /pws/zycie003.
LEAVE TO SCREEN '0100'.
* >> Início da inclusão: MODULE USER_COMMAND_0400
WHEN 'REPL'.
DESCRIBE TABLE itab_zycit003 LINES v_line.
IF v_line EQ 1.
MESSAGE s015 WITH text-187.
exit.
ELSE.
perform fill_itab_repl.
CALL SCREEN '0450' STARTING AT 5 2.
ENDIF.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
...
...
* >> Início da inclusão:
module carrega_itab input.
case sy-dynnr.
when '0450'.
itab_repl-mark = wa_repl-mark.
MODIFY itab_repl INDEX tc_irep-current_line TRANSPORTING mark.
endcase.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
MODULE status_0400 OUTPUT.
* >> Início da exclusão: MODULE STATUS_0400
SET PF-STATUS '400'.
* << Fim da exclusão
* >> Início da inclusão: MODULE STATUS_0400
IF /pws/zycie006-tpfatura EQ '01' AND
/pws/zycie006-fabricante EQ '2'.
SET PF-STATUS '400' .
ELSE.
SET PF-STATUS '400' EXCLUDING 'REPL'.
ENDIF.
* << Fim da inclusão
ENDMODULE.
...
...
* >> Início da inclusão:
module Screen_lines output.
case sy-dynnr.
when '0450' .
DESCRIBE TABLE itab_zycit003 LINES v_line.
tc_irep-lines = v_line.
endcase.
endmodule.
module status_screen output.
CASE sy-dynnr.
WHEN '0450'.
SET TITLEBAR '0450'.
SET PF-STATUS '0450'.
endcase.
endmodule.
module carrega_estrutura output.
CASE sy-dynnr.
WHEN '0450'.
perform carrega_estrutura_0450.
endcase.
endmodule.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003TOP
...
ts_faturas TYPE TABSTRIP,
tc_faturas TYPE TABLEVIEW USING SCREEN '0001',
tc_ccambio TYPE TABLEVIEW USING SCREEN '0103',
tc_rof TYPE TABLEVIEW USING SCREEN '0104',
tc_itens TYPE TABLEVIEW USING SCREEN '0106',
tc_desp TYPE TABLEVIEW USING SCREEN '0107',
tc_banco TYPE TABLEVIEW USING SCREEN '0108',
tc_ded TYPE TABLEVIEW USING SCREEN '0109',
tc_fat_parc TYPE TABLEVIEW USING SCREEN '0111',
tc_imp TYPE TABLEVIEW USING SCREEN '0113',
* >> Início da exclusão:
tc_cambio TYPE TABLEVIEW USING SCREEN '0350',
tc_pg_ant TYPE TABLEVIEW USING SCREEN '0500'.
* << Fim da exclusão
* >> Início da inclusão:
tc_cambio TYPE TABLEVIEW USING SCREEN '0350',
tc_pg_ant TYPE TABLEVIEW USING SCREEN '0500',
tc_irep TYPE TABLEVIEW USING SCREEN '0450'.
* << Fim da inclusão
DATA:
wa_cols TYPE cxtab_column.
DATA: gv_subscreen_0050 TYPE sy-dynnr VALUE '0051',
gv_subscreen_0100_1 TYPE sy-dynnr,
gv_subscreen_0300_2 TYPE sy-dynnr.
CONSTANTS: BEGIN OF gc_subscreen,
prog TYPE sy-dynnr VALUE '0100',
help TYPE sy-dynnr VALUE '0053',
END OF gc_subscreen.
DATA: gv_html_help TYPE REF TO cl_gui_html_viewer.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
DATA: BEGIN OF itab_zycit003 OCCURS 0.
INCLUDE STRUCTURE /pws/zycie003.
DATA: total LIKE /pws/zycit036-vldif,
livre(1) TYPE c,
invoiced LIKE /pws/zycie263-qtd_iten,
toinv LIKE /pws/zycie263-qtd_iten,
vlfre_aux LIKE /pws/zycit036-vlmov,
vlseg_aux LIKE /pws/zycit036-vlmov,
marc.
DATA: END OF itab_zycit003.
* >> Início da inclusão:
DATA: BEGIN OF itab_itens_aux OCCURS 0 .
INCLUDE STRUCTURE /pws/zycie003.
DATA: total LIKE /pws/zycit036-vldif,
livre(1) TYPE c,
invoiced LIKE /pws/zycie263-qtd_iten,
toinv LIKE /pws/zycie263-qtd_iten,
vlfre_aux LIKE /pws/zycit036-vlmov,
vlseg_aux LIKE /pws/zycit036-vlmov,
marc.
DATA: END OF itab_itens_aux.
DATA: wa_zycie003 like itab_zycit003 .
* << Fim da inclusão
DATA: BEGIN OF itab_zycit047 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit047.
DATA: END OF itab_zycit047.
DATA BEGIN OF itab_zycit132 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit132.
DATA: compensado,
mark TYPE c.
DATA END OF itab_zycit132.
DATA: BEGIN OF itab_zycbt035 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe035.
...
...
DATA: value(132).
DATA: BEGIN OF f_tab OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA: END OF f_tab.
DATA: BEGIN OF v_tab OCCURS 200,
value(40) TYPE c,
END OF v_tab.
DATA: BEGIN OF itab_rateio OCCURS 0.
INCLUDE STRUCTURE /pws/zycit391.
DATA: END OF itab_rateio.
* >> Início da inclusão:
DATA: BEGIN OF itab_repl OCCURS 0,
nrseq LIKE /pws/zycie003-nrseq,
ebeln LIKE /pws/zycie003-ebeln,
ebelp LIKE /pws/zycie003-ebelp,
matnr like /pws/zycie003-matnr,
mark,
END OF itab_repl.
data wa_repl like itab_repl.
* << Fim da inclusão
DATA v_del.
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI003
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 187
Texto: (29 caracteres)
"Fatura possui apenas um item."
Comprimento máximo: 29