Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 07/03/2013 00:00:00
Data/Hora Última Alteração: 16/04/2014 09:07:10
Descrição da Nota: ABRIR CAMPOS FABRICANTE NA FATURA QUANDO É TIPO 0 E 2
Sintoma
Abrir os campos do botão fabricante, na fatura, para que possam ser completados os dados de
fabricantes já cadastrados no SAP
Solução
Novo tratamento para abrir campos da pasta fabricante na fatura e levar dados digitados para DI e
transmissão de Siscomex.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12838 Data: 07/03/2013 Hora: 10:12:57
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12838
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00003
Agrupamento : 00149
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00731 - 00001 - 6.0 - 00022 - PREENCHER O FABRICANTE DE ACORDO COM O INFORMADO NO PEDIDO DE COM
00965 - 00002 - 6.0 - 00022 - FABRICANTE NO PEDIDO DE COMPRAS (EKPO-MFRNR)
03682 - 00003 - 7.0 - 00001 - ERRO AO MUDAR TIPO DE FABRICANTE NA FATURA
03821 - 00004 - 7.0 - 00001 - ERROS COM TIPO DE FABRICANTE NA FATURA, DI E TRANSMISSÃO SISCOMEX
03830 - 00005 - 7.0 - 00001 - AJUSTES PARA TRANSMISSÃO DE DESPESAS DI
04371 - 00006 - 7.0 - 00002 - ERROS AO NAVEGAR NO FORNECEDOR DA FATURA , TIPO 0 E TIPO 2.
04978 - 00007 - 7.0 - 00003 - DESENVOLVIMENTO DE CONTABILIZAÇÃO DE IMPOSTOS ATRAVÉS DA MIRO
05035 - 00008 - 7.0 - 00003 - DUMP AO CRIAR FATURA DE DESPESAS COM CONTABILIZAÇÃO DE IMPOSTOS
05072 - 00009 - 7.0 - 00003 - DUMP AO CRIAR FATURA DE DESPESAS COM CONTABILIZAÇÃO DE IMPOSTOS
05137 - 00010 - 7.0 - 00003 - ERRO NA CONTABILIZAÇÃO DOS IMPOSTOS NA MIRO
05189 - 00011 - 7.0 - 00003 - TRATATIVA PARA MOEDAS SEM CASAS DECIMAIS
05337 - 00012 - 7.0 - 00003 - TRATATIVA PARA MOEDAS QUE NÃO POSSUEM CASAS DECIMAIS
09186 - 00013 - 8.0 - 00001 - NÃO PERMITIR ALTERAR A FATURA DE MERCADORIA APÓS A CRIAÇÃO DA DI
10338 - 00014 - 8.0 - 00004 - AJUSTES CODE INSPECTOR
10840 - 00015 - 8.0 - 00006 - AO TRANSMITIR DI NÃO LEVA DESCRIÇÃO DE PAÍS DO FORNECEDOR/FABRICA
11579 - 00016 - 8.0 - 00009 - TRILHA DE AUDITORIA NA FATURA
12520 - 00017 - 9.0 - 00001 - CRIADO O TRATAMENTO PARA RATEIO POR AGRUPAMENTOS
12795 - 00018 - 9.0 - 00003 - TRATAMENTO PARA FORNECEDOR INTERCOMPANY
----------------------------------------------------------------------------------------------------
ABRIR CAMPOS FABRICANTE NA FATURA QUANDO É TIPO 0 E 2
----------------------------------------------------------------------------------------------------
Palavras Chave:
FABRICANTE - FATURA - PREENCHIMENTO - DADOS CADASTRADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
TABD /PWS/ZYCIE080A
TABD /PWS/ZYCIE080B
TABD /PWS/ZYCIE080C
TABD /PWS/ZYCIT080
TABD /PWS/ZYCIE080
FUNC /PWS/ZYCI_TRANSFER_DI
DYNP /PWS/SAPMZYCI003 0201
REPS /PWS/MZYCI003X01
REPS /PWS/MZYCI023O01
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003O01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE080A
Incluir o campo ao final da estrutura, conforme abaixo.
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
*<<Inicio Inclusão
PROG REPID CHAR 40
*<<Fim Inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE080B
Incluir o campo ao final da estrutura, conforme abaixo.
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
*<<Inicio Inclusão
PROG REPID CHAR 40
*<<Fim Inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE080C
Incluir o campo ao final da estrutura, conforme abaixo.
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
*<<Inicio Inclusão
PROG REPID CHAR 40
*<<Fim Inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT080
Incluir o campo ao final da tabela, conforme abaixo.
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
*<<Inicio Inclusão
PROG REPID CHAR 40
*<<Fim Inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE080
Incluir o campo ao final da estrutura, conforme abaixo.
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
*<<Inicio Inclusão
PROG REPID CHAR 40
*<<Fim Inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSFER_DI
FUNCTION /pws/zyci_transfer_di .
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
DATA: BEGIN OF itab_zycit080 OCCURS 0 .
INCLUDE STRUCTURE /pws/zycit080.
DATA: END OF itab_zycit080.
* << Fim da inclusão
...
...
it_forn-forn_city = wa_adrc-city1.
SELECT SINGLE bezei FROM t005u INTO it_forn-forn_regio
WHERE land1 = wa_lfa1-land1 AND
spras = sy-langu AND
bland = wa_adrc-region.
PERFORM load_pais(/pws/sapmzyci023):
USING wa_adrc-country
CHANGING it_forn-forn_landa v_txtpais.
ENDIF.
CLEAR: wa_lfa1, wa_adrc.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
SELECT * FROM /pws/zycit080
INTO TABLE itab_zycit080
WHERE nrseqli = it_faturas_di-nrseq
AND tipoforn = 'D'
AND ebeln = it_itens_di-ebeln
AND ebelp = it_itens_di-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit080
WITH KEY ebeln = it_itens_di-ebeln
ebelp = it_itens_di-ebelp..
IF sy-subrc EQ 0.
it_forn-fabr_name1 = itab_zycit080-name1.
it_forn-fabr_logradouro =
itab_zycit080-logradouro.
it_forn-fabr_nrlogr = itab_zycit080-nrlogr.
it_forn-fabr_compl = itab_zycit080-compl.
it_forn-fabr_city = itab_zycit080-city.
it_forn-fabr_landa = itab_zycit080-landa.
it_forn-fabr_regio = itab_zycit080-regio.
ENDIF.
ELSE.
* << Fim da inclusão
IF it_det_itens_di-lifnrfabr IS INITIAL.
it_forn-fabr_name1 = it_det_itens_di-descfab.
it_forn-fabr_landa = it_det_itens_di-paisfab.
ELSE.
IF it_det_itens_di-flagfabr = 'N'.
it_forn-fabr_name1 = it_det_itens_di-descfab.
it_forn-fabr_landa = it_faturas_di-paisfab.
ELSEIF it_det_itens_di-flagfabr = 'S'.
SELECT SINGLE lifnr name1 land1 adrnr
stras ort01 ort02 regio FROM lfa1
...
...
it_forn-fabr_nrlogr = wa_adrc-house_num1.
it_forn-fabr_compl = wa_lfa1-ort02.
it_forn-fabr_city = wa_adrc-city1.
SELECT SINGLE bezei FROM t005u INTO it_forn-fabr_regio
WHERE land1 = wa_lfa1-land1 AND
spras = sy-langu AND
bland = wa_adrc-region.
PERFORM load_pais(/pws/sapmzyci023):
USING wa_adrc-country
CHANGING it_forn-fabr_landa v_txtpais.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ELSEIF it_faturas_di-fabricante EQ '3'.
CLEAR: wa_lfa1, wa_adrc, it_forn.
SELECT SINGLE lifnr name1 land1 adrnr
stras ort01 ort02 FROM lfa1
INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE lifnr EQ it_faturas_di-lifnr.
SELECT SINGLE * FROM adrc INTO wa_adrc
...
...
it_forn-forn_city = wa_adrc-city1.
SELECT SINGLE bezei FROM t005u INTO it_forn-forn_regio
WHERE land1 = wa_lfa1-land1 AND
spras = sy-langu AND
bland = wa_adrc-region
.
PERFORM load_pais(/pws/sapmzyci023):
USING wa_adrc-country
CHANGING it_forn-forn_landa v_txtpais.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
SELECT * FROM /pws/zycit080
INTO TABLE itab_zycit080
WHERE nrseqli = it_faturas_di-nrseq
AND tipoforn = 'D'
AND ebeln = it_itens_di-ebeln
AND ebelp = it_itens_di-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit080
WITH KEY ebeln = it_itens_di-ebeln
ebelp = it_itens_di-ebelp..
IF sy-subrc EQ 0.
it_forn-fabr_name1 = itab_zycit080-name1.
it_forn-fabr_logradouro =
itab_zycit080-logradouro.
it_forn-fabr_nrlogr = itab_zycit080-nrlogr.
it_forn-fabr_compl = itab_zycit080-compl.
it_forn-fabr_city = itab_zycit080-city.
it_forn-fabr_landa = itab_zycit080-landa.
it_forn-fabr_regio = itab_zycit080-regio.
ENDIF.
ELSE.
* << Fim da inclusão
CLEAR: wa_lfa1, wa_adrc.
IF it_det_itens_di-lifnrfabr IS INITIAL.
it_forn-fabr_name1 = it_det_itens_di-descfab
.
it_forn-fabr_landa = it_det_itens_di-paisfab
.
ELSE.
IF it_det_itens_di-flagfabr = 'N'.
it_forn-fabr_name1 = it_det_itens_di-descfab
.
...
...
it_forn-fabr_compl = wa_lfa1-ort02.
it_forn-fabr_city = wa_adrc-city1.
SELECT SINGLE bezei FROM t005u INTO it_forn-fabr_regio
WHERE land1 = wa_lfa1-land1 AND
spras = sy-langu AND
bland = wa_adrc-region
.
PERFORM load_pais(/pws/sapmzyci023):
USING wa_adrc-country
CHANGING it_forn-fabr_landa v_txtpais.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
it_forn-vinculo = it_faturas_di-vinculo.
it_forn-nrseqdi = i_nrseqdi.
it_forn-adicao = it_116-adicao.
it_forn-fabric = it_det_itens_di-fabric.
APPEND it_forn.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI003 0201
O Download das telas encontra-se disponível no link abaixo
http://produtos.sondait.com.br/home/PW.CE/Notas/
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit080 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit080.
DATA: END OF itab_zycit080.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023O01
...
MODULE load_adic OUTPUT.
* >> Início da inclusão: MODULE LOAD_ADIC
DATA: BEGIN OF itab_zycit080 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit080.
DATA: END OF itab_zycit080.
* << Fim da inclusão
...
...
SELECT SINGLE lifn2 INTO v_lifnr
FROM ekpa
WHERE ebeln = itab_zycit003-ebeln
AND parvw = v_output.
ENDIF.
IF itab_zycit003-fabric EQ '1'.
PERFORM load_forn USING: v_lifnr '800'.
ELSEIF itab_zycit003-fabric CA '02'.
PERFORM load_forn USING: v_lifnr '800'.
* >> Início da inclusão: MODULE LOAD_ADIC
SELECT * FROM /pws/zycit080
INTO TABLE itab_zycit080
WHERE nrseqli = /pws/zycie006-nrseq
AND tipoforn = 'D'
AND ebeln = itab_it-ebeln
AND ebelp = itab_it-ebelp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit080 WITH KEY ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080a.
ENDIF.
ELSE.
* << Fim da inclusão
/pws/zycie080a-name1 = itab_zycit003-descfab.
/pws/zycie080a-landa = /pws/zycie006-paisfab.
CLEAR: /pws/zycie080a-logradouro, /pws/zycie080a-nrlogr,
/pws/zycie080a-compl,
/pws/zycie080a-city, /pws/zycie080a-regio.
IF NOT itab_zycit003-lifnrfabr IS INITIAL.
PERFORM load_forn USING itab_zycit003-lifnrfabr '80A'.
ELSE.
/pws/zycie080a-name1 = itab_zycit003-descfab.
/pws/zycie080a-landa = itab_zycit003-paisfab.
PERFORM load_pais USING /pws/zycie080a-landa
CHANGING a_spais2 a_pais2.
CLEAR: /pws/zycie080a-logradouro, /pws/zycie080a-nrlogr,
/pws/zycie080a-compl,
/pws/zycie080a-city, /pws/zycie080a-regio.
* >> Início da inclusão: MODULE LOAD_ADIC
ENDIF.
* << Fim da inclusão
ENDIF.
ELSEIF itab_zycit003-fabric EQ '3'.
PERFORM load_forn USING v_lifnr '800'.
ENDIF.
PERFORM load_cambio USING wa_it-ebeln wa_it-ebelp .
PERFORM: load_cncm USING wa_it-j_1bnbm,
load_pais USING wa_it-porigem CHANGING a_spais a_pais,
load_pais USING /pws/zycie080-landa CHANGING a_spais1
a_pais1,
load_inco,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
MODULE user_command_0200 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
* >> Início da inclusão: MODULE USER_COMMAND_0200
IF sy-tcode NE '/PWS/ZYCI003_E' AND
'02' CA /pws/zycie006-fabricante.
READ TABLE itab_zycit080 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 .
v_tabix = sy-tabix.
itab_zycit080 = /pws/zycie080a .
MODIFY itab_zycit080 INDEX v_tabix.
ELSE.
itab_zycit080 = /pws/zycie080a .
itab_zycit080-mandt = sy-mandt.
itab_zycit080-prog = sy-repid.
itab_zycit080-nrseqli = /pws/zycie006-nrseq.
itab_zycit080-ebeln = itab_zycit003-ebeln.
itab_zycit080-ebelp = itab_zycit003-ebelp.
itab_zycit080-tipoforn = 'D' .
APPEND itab_zycit080.
ENDIF.
IF /pws/zycie006-fabricante EQ '0'.
READ TABLE itab_zycit080 INDEX 1 .
/pws/zycie006-descfab = itab_zycit080-name1 .
/pws/zycie006-paisfab = itab_zycit080-landa .
ENDIF.
itab_zycit003-descfab = /pws/zycie080a-name1 .
itab_zycit003-paisfab = /pws/zycie080a-landa.
MODIFY itab_zycit003 TRANSPORTING descfab paisfab
WHERE ebeln = itab_zycit080-ebeln
AND ebelp = itab_zycit080-ebelp.
ENDIF.
* << Fim da inclusão
LEAVE TO SCREEN '0100'.
ENDCASE.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
FORM salvar_dados.
* >> Início da inclusão: FORM SALVAR_DADOS
TABLES /pws/zycit080.
DATA: lt_zycit080 TYPE /pws/zycit080 OCCURS 0 WITH HEADER LINE.
CLEAR v_msg.
* << Fim da inclusão
...
...
LOOP AT itab_zycit003.
v_trunc = itab_zycit003-qtd_iten * 10000 .
v_trunc = trunc( v_trunc ) .
v_qtd_iten = v_trunc / 10000.
IF itab_zycit003-invoiced NE v_qtd_iten AND
itab_zycit003-servico NE 'X'.
MESSAGE e061 WITH text-192 itab_zycit003-ebeln
itab_zycit003-ebelp text-193.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM SALVAR_DADOS
ELSEIF /pws/zycie006-tpfatura EQ '01'.
IF '02' CA /pws/zycie006-fabricante.
if itab_zycit080[] is initial.
v_msg = 'X'.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SALVAR_DADOS
LOOP AT itab_zycit080.
IF ( itab_zycit080-name1 IS INITIAL OR
itab_zycit080-landa IS INITIAL OR
itab_zycit080-logradouro IS INITIAL OR
itab_zycit080-nrlogr IS INITIAL OR
itab_zycit080-city IS INITIAL OR
itab_zycit080-regio IS INITIAL ) .
v_msg = 'X' .
ENDIF.
ENDLOOP.
IF v_msg = 'X' .
MESSAGE i015 WITH text-205.
EXIT.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
CLEAR v_stop.
IF /pws/zycie006-tpfatura NE '11' AND
( /pws/zycie006-tpfatura NE '04' AND /pws/zycie006-vinserv EQ 'X' ).
IF /pws/zycie006-nrseqce IS INITIAL.
MESSAGE i015 WITH text-075.
v_stop = 'X'.
ENDIF.
ENDIF.
...
...
EXIT.
ENDIF.
PERFORM consiste_sequencial.
PERFORM rotina_de_contabilizacao.
PERFORM salvar_bco.
IF sy-binpt EQ 'X'.
EXPORT /pws/zycie006 TO MEMORY ID 'BPFATIMP_01'.
ENDIF.
IF /pws/zycie006-tpfatura EQ '04' AND v_salva_desp EQ 'X'.
PERFORM salva_zycit047.
* >> Início da inclusão: FORM SALVAR_DADOS
ENDIF.
IF '02' CA /pws/zycie006-fabricante.
SELECT * FROM /pws/zycit080 INTO TABLE lt_zycit080
WHERE nrseqli = /pws/zycie006-nrseq
AND tipoforn = 'D'.
LOOP AT lt_zycit080.
READ TABLE itab_zycit080 WITH KEY nrseqli = lt_zycit080-nrseqli
tipoforn = lt_zycit080-tipoforn.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING lt_zycit080 TO /pws/zycit080.
PERFORM carrega_log USING '/PWS/ZYCIT080' 'D'
' ' '/PWS/SAPMZYCI003' /pws/zycie006-nrseq.
ENDIF.
ENDLOOP.
DELETE FROM /pws/zycit080 WHERE nrseqli = /pws/zycie006-nrseq
AND tipoforn = 'D' .
INSERT /pws/zycit080 FROM TABLE itab_zycit080.
LOOP AT itab_zycit080.
MOVE-CORRESPONDING itab_zycit080 TO /pws/zycit080.
READ TABLE lt_zycit080 WITH KEY nrseqli = itab_zycit080-nrseqli
tipoforn = itab_zycit080-tipoforn.
IF sy-subrc EQ 0.
PERFORM carrega_log USING '/PWS/ZYCIT080' 'U'
' ' '/PWS/SAPMZYCI003' /pws/zycie006-nrseq.
ELSE.
PERFORM carrega_log USING '/PWS/ZYCIT080' 'I'
' ' '/PWS/SAPMZYCI003' /pws/zycie006-nrseq.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM SALVAR_DADOS
ENDLOOP.
ENDIF.
* << Fim da inclusão
IF /pws/zycie006-tpfatura EQ '04' AND v_resp EQ 'S'.
itab_zycit483-nrseqfat = /pws/zycie006-nrseq.
MODIFY itab_zycit483 TRANSPORTING nrseqfat
WHERE nrseq EQ /pws/zycit001-nrseq.
itab_zycit483s[] = itab_zycit483[].
...
...
CHECK sy-dynnr = '0100'.
IF ( /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11' ).
LOOP AT itab_zycit003.
READ TABLE itab_zycit003_ini WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
MOVE: itab_zycit003-total TO itab_zycit003_ini-total,
itab_zycit003-livre TO itab_zycit003_ini-livre,
itab_zycit003-marc TO itab_zycit003_ini-marc,
itab_zycit003-vlfre_fat TO itab_zycit003_ini-vlfre_aux,
* >> Início da exclusão: FORM VERIFICA_ALTERACOES
itab_zycit003-vlseg_fat TO itab_zycit003_ini-vlseg_aux.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ALTERACOES
itab_zycit003-vlseg_fat TO itab_zycit003_ini-vlseg_aux,
itab_zycit003-paisfab to itab_zycit003_ini-paisfab.
* << Fim da inclusão
MODIFY itab_zycit003_ini INDEX sy-tabix.
ENDLOOP.
SELECT SINGLE *
FROM /pws/zycit085
WHERE nrbl EQ /pws/zycie006-nrseqce. "#EC CI_NOFIELD
IF sy-subrc = 0.
MESSAGE w039 WITH text-041.
EXIT.
ENDIF.
ELSE.
...
...
/pws/zycie080-compl = wa_lfa1-ort02.
/pws/zycie080-city = wa_lfa1-ort01.
/pws/zycie003-ebeln = itab_zycit003-ebeln.
/pws/zycie003-ebelp = itab_zycit003-ebelp.
SELECT SINGLE landx FROM t005t INTO v_pais_aquis
WHERE spras = sy-langu
AND land1 EQ /pws/zycie080-landa.
SELECT SINGLE landx FROM t005t INTO v_pais_origem
WHERE spras = sy-langu
AND land1 EQ itab_zycit003-porigem.
* >> Início da inclusão: FORM LOAD_FORN
IF itab_zycit080[] IS INITIAL.
SELECT * FROM /pws/zycit080
INTO TABLE itab_zycit080
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND nrseqli = /pws/zycie006-nrseq
AND tipoforn = 'D' .
ENDIF.
READ TABLE itab_zycit080 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING itab_zycit080 TO /pws/zycie080a.
itab_zycit003-descfab = /pws/zycie080a-name1 .
itab_zycit003-paisfab = /pws/zycie080a-landa.
MODIFY itab_zycit003 TRANSPORTING descfab paisfab
WHERE ebeln = itab_zycit080-ebeln
AND ebelp = itab_zycit080-ebelp.
ELSE.
* << Fim da inclusão
IF NOT itab_zycit003-lifnrfabr IS INITIAL.
/pws/zycie003-lifnrfabr = itab_zycit003-lifnrfabr.
IF itab_zycit003-flagfabr = 'N'.
/pws/zycie080a-name1 = itab_zycit003-descfab.
IF NOT itab_zycit003-paisfab IS INITIAL.
/pws/zycie080a-landa = itab_zycit003-paisfab.
ELSE.
/pws/zycie080a-landa = wa_lfa1-land1.
ENDIF.
CLEAR: /pws/zycie080a-logradouro,
...
...
/pws/zycie080a-city = wa_lfa1-ort01.
ENDIF.
ELSE.
/pws/zycie080a-name1 = itab_zycit003-descfab.
/pws/zycie080a-landa = itab_zycit003-paisfab.
CLEAR: /pws/zycie080a-logradouro,
/pws/zycie080a-nrlogr ,
/pws/zycie080a-compl ,
/pws/zycie080a-city ,
/pws/zycie080a-regio.
* >> Início da inclusão: FORM LOAD_FORN
ENDIF.
* << Fim da inclusão
ENDIF.
ELSEIF v_tpfabr EQ '3'.
SELECT SINGLE lifnr name1 land1 adrnr stras ort01 ort02 regio
FROM lfa1
INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE lifnr EQ /pws/zycie006-lifnr.
SELECT SINGLE * FROM adrc INTO wa_adrc
WHERE addrnumber EQ wa_lfa1-adrnr.
SELECT SINGLE bezei FROM t005u INTO /pws/zycie080-regio
WHERE land1 = wa_lfa1-land1 AND
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
ENDIF.
WHEN '0113'.
LOOP AT tc_imp-cols INTO wa_cols.
CHECK wa_cols-screen-group1 NE 'OUT'.
wa_cols-screen-input = v_status_s.
IF NOT /pws/zycie006-belnr_mr1m IS INITIAL.
wa_cols-screen-input = 0.
ENDIF.
MODIFY tc_imp-cols FROM wa_cols.
ENDLOOP.
* >> Início da inclusão: MODULE SET_SCREEN
WHEN '0201'.
LOOP AT SCREEN.
IF ( screen-name EQ '/PWS/ZYCIE080A-NAME1' OR
screen-name EQ '/PWS/ZYCIE080A-LANDA' OR
screen-name EQ '/PWS/ZYCIE080A-LOGRADOURO' OR
screen-name EQ '/PWS/ZYCIE080A-NRLOGR' OR
screen-name EQ '/PWS/ZYCIE080A-COMPL' OR
screen-name EQ '/PWS/ZYCIE080A-CITY' OR
screen-name EQ '/PWS/ZYCIE080A-REGIO' ) AND
( /pws/zycie006-fabricante EQ '0' OR
/pws/zycie006-fabricante EQ '2' ) AND
sy-tcode NE '/PWS/ZYCI003_E'.
screen-input = '1' .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
* << Fim da inclusão
ENDCASE.
LOOP AT SCREEN.
IF /pws/zycie006-tpfatura EQ '02' OR
/pws/zycie006-tpfatura EQ '03' OR
/pws/zycie006-tpfatura EQ '04'.
CASE v_status_s.
WHEN '0'.
IF screen-name = '/PWS/ZYCIE006-DTBASE'.
screen-input = '0'.
MODIFY SCREEN.
...