Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DA
Data/Hora da Publicação: 04/08/2011 00:00:00
Data/Hora Última Alteração: 05/08/2011 10:40:19
Descrição da Nota: TRATAMENTO DA FUNÇÃO DE TRANSMISSÃO PARA DA
Sintoma
Fazer tratamento da função de transmissão para enviar dados da DA.
Solução
Feito tratamento da função de transmissão para enviar dados da DA.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11371 Data: 04/08/2011 Hora: 08:45:39
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11371
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00008
Agrupamento : 00080
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08575 - 00001 - 7.0 - 00010 - AJUSTES PARA PREENCHIMENTO DAS INFORMAÇÕES DE FABRICANTE.
10915 - 00002 - 8.0 - 00006 - NÃO CONVERTE O VALOR DA DESPESAS PARA SOMAR AO VALOR FOB
----------------------------------------------------------------------------------------------------
TRATAMENTO DA FUNÇÃO DE TRANSMISSÃO PARA DA
----------------------------------------------------------------------------------------------------
Palavras Chave:
FUNÇÃO - TRANSMISSÃO - ORIENTADOR - SISCOMEX - DA
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSFER_DI
REPS /PWS/LZYCIGF5X01
REPS /PWS/MZYCI070F01
REPS /PWS/MZYCI070F02
REPS /PWS/MZYCI070F03
REPS /PWS/MZYCI070F05
REPS /PWS/MZYCI070I01
REPS /PWS/MZYCI070O01
----------------------------------------------------------------------------------------------------
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_zycit451 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit451.
DATA: END OF itab_zycit451.
DATA: BEGIN OF it_itens_da OCCURS 0.
INCLUDE STRUCTURE /pws/zycit443.
DATA: END OF it_itens_da.
DATA: BEGIN OF itab_zycit500 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit500.
DATA: END OF itab_zycit500.
* << Fim da inclusão
...
...
PERFORM carrega_exits
CHANGING
itab_zyglt100[].
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
IF v_nrseqdi+7(1) EQ 'P'.
SELECT * UP TO 1 ROWS FROM /pws/zycit442
INTO CORRESPONDING FIELDS OF TABLE it_cabecalho_di
WHERE nrseqda EQ i_nrseqdi
AND tpdi EQ i_tpdi.
SELECT SINGLE * FROM /pws/zycit442
INTO wa_442
WHERE nrseqda EQ i_nrseqdi
AND tpdi EQ i_tpdi.
MOVE wa_442-inco1 TO s_inco1.
IF sy-subrc EQ 0.
READ TABLE it_cabecalho_di INDEX 1.
MOVE i_nrseqdi TO it_cabecalho_di-nrseqdi.
SELECT SINGLE * FROM t001 WHERE bukrs EQ it_cabecalho_di-bukrs.
SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000
WHERE land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycbt007 INTO /pws/zycbt007
WHERE bukrs EQ it_cabecalho_di-bukrs.
SELECT * FROM t005 INTO TABLE it_t005_di
WHERE land1 EQ it_cabecalho_di-land.
IF NOT it_cabecalho_di-vlseg IS INITIAL.
p_moeda = it_cabecalho_di-waersseg.
p_valor = it_cabecalho_di-vlseg.
PERFORM trata_decimais_di USING p_moeda
p_valor.
it_cabecalho_di-vlseg = p_valor.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING nrseqdi vlseg.
ENDIF.
MOVE-CORRESPONDING it_cabecalho_di TO wa_442.
PERFORM load_pais(/pws/sapmzyci023) USING wa_442-land
CHANGING it_cabecalho_di-land v_txtpais.
PERFORM load_waers(/pws/sapmzyci023):
USING wa_442-waersseg
CHANGING it_cabecalho_di-waersseg v_txtw,
USING wa_442-waersfre
CHANGING it_cabecalho_di-waersfre v_txtw,
USING wa_442-waers
CHANGING it_cabecalho_di-waers v_txtw.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING
land waersseg waersfre waers.
IF NOT it_cabecalho_di[] IS INITIAL.
SELECT * FROM /pws/zycit443
INTO TABLE it_itens_da
WHERE nrseqda EQ it_cabecalho_di-nrseqdi.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit500
INTO TABLE itab_zycit500
for all entries in it_itens_da
WHERE fabrinr EQ it_itens_da-fabrinr
and nrseqda eq i_nrseqdi.
ENDIF.
LOOP AT it_itens_da.
MOVE-CORRESPONDING it_itens_da TO it_itens_di.
MOVE it_itens_da-nrseqda TO it_itens_di-nrseqdi.
APPEND it_itens_di.
MOVE-CORRESPONDING it_itens_da TO it_det_itens_di.
MOVE wa_442-inco1 TO it_det_itens_di-inco1.
APPEND it_det_itens_di.
ENDLOOP.
ENDIF.
IF NOT it_itens_di[] IS INITIAL.
READ TABLE it_itens_di INDEX 1.
IF it_031[] IS INITIAL.
SELECT * FROM /pws/zycit031 INTO TABLE it_031."#EC CI_NOWHERE
ENDIF.
READ TABLE it_031 WITH KEY inco1 = s_inco1.
IF sy-subrc EQ 0.
s_inco1_ci = it_031-inco1_ci.
ELSE.
s_inco1_ci = s_inco1.
ENDIF.
SORT it_itens_di BY adicao ASCENDING.
v_tot_peso = 0.
IF NOT it_itens_di[] IS INITIAL.
SELECT * FROM /pws/zycit450
INTO CORRESPONDING FIELDS OF TABLE it_doc_vinc_di
FOR ALL ENTRIES IN it_itens_di
WHERE nrseqda EQ it_itens_di-nrseqdi
AND ebeln EQ it_itens_di-ebeln
AND ebelp EQ it_itens_di-ebelp.
ENDIF.
LOOP AT it_doc_vinc_di.
READ TABLE it_itens_di WITH KEY
nrseqdi = it_doc_vinc_di-nrseqdi
ebeln = it_doc_vinc_di-ebeln
ebelp = it_doc_vinc_di-ebelp.
IF sy-subrc EQ 0.
IF NOT it_itens_di-adicao IS INITIAL .
MOVE it_itens_di-adicao TO it_doc_vinc_di-adicao.
MODIFY it_doc_vinc_di.
ELSE.
DELETE it_doc_vinc_di.
ENDIF.
ELSE.
DELETE it_doc_vinc_di.
ENDIF.
ENDLOOP.
LOOP AT it_itens_di.
PERFORM load_waers(/pws/sapmzyci023):
USING it_itens_di-waersbem
CHANGING it_itens_di-waersbem v_txtw.
PERFORM load_pais(/pws/sapmzyci023) USING it_itens_di-pproc
CHANGING it_itens_di-pproc v_txtpais.
MODIFY it_itens_di.
ENDLOOP.
SELECT * FROM /pws/zycit451
INTO TABLE itab_zycit451
WHERE nrseqda EQ i_nrseqdi.
IF NOT itab_zycit451[] IS INITIAL.
LOOP AT itab_zycit451.
v_tabix = sy-tabix.
itab_zycit451-nrseqda = i_nrseqdi .
CLEAR: it_adicao_di.
READ TABLE it_itens_da WITH KEY
adicao = itab_zycit451-adicao.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING itab_zycit451 TO it_116 .
MOVE-CORRESPONDING it_itens_da TO it_116 .
MOVE-CORRESPONDING it_itens_da TO it_adicao_di.
ENDIF.
MOVE-CORRESPONDING itab_zycit451 TO it_adicao_di.
MOVE wa_442-inco1 TO it_adicao_di-inco1.
IF itab_zycit451-parcvar EQ 'X'.
it_adicao_di-parcvar2 = 'S'.
ELSE.
it_adicao_di-parcvar2 = 'N'.
ENDIF.
PERFORM load_waers(/pws/sapmzyci023)
USING itab_zycit451-waersreal
CHANGING it_adicao_di-waersreal v_txtw.
MOVE itab_zycit451-adicao TO it_adicao_di-adicao.
CLEAR: it_adicao_di-baseii,
it_adicao_di-baseipi,
it_adicao_di-basecofi,
it_adicao_di-basepis,
it_adicao_di-vlfre,
it_adicao_di-vlseg,
it_adicao_di-qtdeantid .
CLEAR: it_adicao_di-qtd_iten,
it_adicao_di-ntgew,
it_adicao_di-qtdeumest,
it_adicao_di-vlmle,
it_adicao_di-vlmler.
LOOP AT it_itens_da WHERE adicao = itab_zycit451-adicao.
it_adicao_di-baseii = it_adicao_di-baseii +
it_itens_da-baseii.
it_adicao_di-baseipi = it_adicao_di-baseipi +
it_itens_da-baseipi.
it_adicao_di-vlfre = it_adicao_di-vlfre +
it_itens_da-vlfre.
it_adicao_di-vlseg = it_adicao_di-vlseg +
it_itens_da-vlseg.
it_adicao_di-basepis = it_adicao_di-basepis +
it_itens_da-basepis.
it_adicao_di-basecofi = it_adicao_di-basecofi +
it_itens_da-basecofins.
it_adicao_di-qtdeantid = it_adicao_di-qtdeantid +
it_itens_da-qtdeantid.
it_adicao_di-qtd_iten =
it_adicao_di-qtd_iten + it_itens_da-qtd_iten.
it_adicao_di-ntgew =
it_adicao_di-ntgew + it_itens_da-ntgew.
it_adicao_di-qtdeumest =
it_adicao_di-qtdeumest + it_itens_da-qtdeumest.
CASE s_inco1_ci.
WHEN 'C&F'.
v_di_vlmle = ( it_itens_da-qtd_da *
it_itens_da-vlreal )
+ it_itens_da-vlfre_fat.
WHEN 'FOB'.
v_di_vlmle = ( it_itens_da-qtd_da *
it_itens_da-vlreal ).
ENDCASE.
it_adicao_di-vlmle = v_di_vlmle + it_adicao_di-vlmle.
it_adicao_di-vlmler = it_adicao_di-vlmler +
( v_di_vlmle * it_itens_da-dttaxbem ).
ENDLOOP.
READ TABLE it_ag_faturas WITH KEY
nrseq = it_faturas_di-nrseq.
IF sy-subrc EQ 0.
MOVE:
it_ag_faturas-tpagente TO it_adicao_di-tpagente,
it_ag_faturas-perccomis TO it_adicao_di-perccomis,
it_ag_faturas-chave TO it_adicao_di-chave,
it_ag_faturas-conta TO it_adicao_di-conta.
ENDIF.
CONCATENATE i_nrseqdi it_adicao_di-adicao INTO v_txtki.
SELECT * FROM /pws/zycit200 INTO TABLE it_200 WHERE
id LIKE i_nrseqdi.
CLEAR: v_add, v_obs1.
LOOP AT it_200.
v_obs1+v_add = it_200-linha(74).
v_add = v_add + 75.
IF sy-tabix >= 3.
EXIT.
ENDIF.
ENDLOOP.
it_adicao_di-complementares = v_obs1.
APPEND it_adicao_di.
ENDLOOP.
ENDIF.
LOOP AT it_adicao_di.
CLEAR: wa_lfa1, wa_adrc, it_forn.
READ TABLE itab_zycit451 WITH KEY adicao = it_adicao_di.
READ TABLE it_itens_da WITH KEY adicao = it_adicao_di.
it_forn-fabric = itab_zycit451-fabricante.
it_forn-nrseqdi = i_nrseqdi.
it_forn-adicao = it_adicao_di-adicao.
IF itab_zycit451-fabricante = '1'.
SELECT SINGLE lifnr name1 land1 adrnr
stras ort01 ort02 FROM lfa1
INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE lifnr EQ it_itens_da-lifnr.
SELECT SINGLE * FROM adrc INTO wa_adrc
WHERE addrnumber EQ wa_lfa1-adrnr.
IF sy-subrc EQ 0.
it_forn-forn_name1 = wa_lfa1-name1.
it_forn-forn_logradouro = wa_adrc-street.
it_forn-forn_nrlogr = wa_adrc-house_num1.
it_forn-forn_compl = wa_lfa1-ort02.
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_lfa1-land1
CHANGING it_forn-forn_landa v_txtpais.
COLLECT it_forn.
ENDIF.
ELSEIF itab_zycit451-fabricante = '2'.
SELECT SINGLE lifnr name1 land1 adrnr
stras ort01 ort02 FROM lfa1
INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE lifnr EQ it_itens_da-lifnr.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM adrc INTO wa_adrc
WHERE addrnumber EQ wa_lfa1-adrnr.
IF sy-subrc EQ 0.
it_forn-forn_name1 = wa_lfa1-name1.
it_forn-forn_logradouro = wa_adrc-street.
it_forn-forn_nrlogr = wa_adrc-house_num1.
it_forn-forn_compl = wa_lfa1-ort02.
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_lfa1-land1
CHANGING it_forn-forn_landa v_txtpais.
ENDIF.
ENDIF.
CLEAR: wa_lfa1, wa_adrc.
SELECT SINGLE lifnr name1 land1 adrnr
stras ort01 ort02 regio FROM lfa1
INTO CORRESPONDING FIELDS OF wa_lfa1
WHERE lifnr EQ it_itens_da-lifnrfabr.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM adrc INTO wa_adrc
WHERE addrnumber EQ wa_lfa1-adrnr.
IF sy-subrc EQ 0.
it_forn-fabr_name1 = wa_lfa1-name1.
it_forn-fabr_logradouro = wa_adrc-street.
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_lfa1-land1
CHANGING it_forn-fabr_landa v_txtpais.
COLLECT it_forn.
ENDIF.
ENDIF.
ELSEIF itab_zycit451-fabricante = '3'.
READ TABLE itab_zycit500
WITH KEY fabrinr = it_itens_da-fabrinr.
IF sy-subrc EQ 0.
it_forn-forn_name1 = itab_zycit500-name1.
it_forn-forn_logradouro = itab_zycit500-logradouro.
it_forn-forn_nrlogr = itab_zycit500-nrlogr.
it_forn-forn_compl = itab_zycit500-compl.
it_forn-forn_city = itab_zycit500-city.
it_forn-forn_regio = itab_zycit500-regio.
it_adicao_di-porigem = it_forn-fabr_landa =
itab_zycit500-lando.
COLLECT it_forn.
modify it_adicao_di transporting porigem where
adicao = it_ADICAO_DI-adicao.
ENDIF.
ENDIF.
ENDLOOP.
IF NOT it_adicao_di[] IS INITIAL.
SELECT * FROM /pws/zycit452
INTO CORRESPONDING FIELDS OF TABLE it_nomencl_di
FOR ALL ENTRIES IN it_itens_da
WHERE nrseqda EQ it_itens_da-nrseqda
AND adicao EQ it_itens_da-adicao.
LOOP AT it_nomencl_di.
it_nomencl_di-nrseqdi = i_nrseqdi.
MODIFY it_nomencl_di.
ENDLOOP.
SELECT * FROM /pws/zycit453
INTO CORRESPONDING FIELDS OF TABLE it_pagtos_di
FOR ALL ENTRIES IN it_adicao_di
WHERE nrseqda EQ it_adicao_di-nrseqdi
AND adicao EQ it_adicao_di-adicao.
LOOP AT it_pagtos_di.
it_pagtos_di-nrseqdi = i_nrseqdi.
CLEAR: v_comp.
DO 18 TIMES.
v_id = sy-index - 1.
IF '0123456789' CA it_pagtos_di-comprador+v_id(1).
CONCATENATE v_comp
it_pagtos_di-comprador+v_id(1)
INTO v_comp.
ENDIF.
ENDDO.
it_pagtos_di-comprador = v_comp.
MODIFY it_pagtos_di INDEX sy-tabix
TRANSPORTING nrseqdi comprador.
ENDLOOP.
SELECT * FROM /pws/zycit454
INTO CORRESPONDING FIELDS OF TABLE it_parc_var_di
FOR ALL ENTRIES IN it_adicao_di
WHERE nrseqda EQ it_adicao_di-nrseqdi
AND adicao EQ it_adicao_di-adicao.
LOOP AT it_parc_var_di.
it_parc_var_di-nrseqdi = i_nrseqdi.
MODIFY it_parc_var_di.
ENDLOOP.
ENDIF.
ENDIF.
IF NOT it_cabecalho_di[] IS INITIAL.
SELECT * FROM /pws/zycit444
INTO CORRESPONDING FIELDS OF TABLE it_inst_desp_di
WHERE nrseqda EQ i_nrseqdi.
LOOP AT it_inst_desp_di.
it_inst_desp_di-nrseqdi = i_nrseqdi.
MODIFY it_inst_desp_di.
ENDLOOP.
SELECT * FROM /pws/zycit445
INTO CORRESPONDING FIELDS OF TABLE it_proc_vinc_di
WHERE nrseqda EQ i_nrseqdi.
LOOP AT it_proc_vinc_di.
it_proc_vinc_di-nrseqdi = i_nrseqdi.
MODIFY it_proc_vinc_di.
ENDLOOP.
SELECT * FROM /pws/zycit014 INTO TABLE it_volumes_di
WHERE nrseq EQ i_nrseqdi.
SELECT * FROM /pws/zycit448
INTO CORRESPONDING FIELDS OF TABLE it_armazens_di
WHERE nrseqda EQ i_nrseqdi.
LOOP AT it_armazens_di.
it_armazens_di-nrseqdi = i_nrseqdi.
MODIFY it_armazens_di .
ENDLOOP.
SELECT * FROM /pws/zycit447
INTO CORRESPONDING FIELDS OF TABLE it_deb_cta_di
WHERE nrseqda EQ i_nrseqdi.
LOOP AT it_deb_cta_di.
it_deb_cta_di-nrseqdi = i_nrseqdi.
MODIFY it_deb_cta_di .
ENDLOOP.
READ TABLE it_deb_cta_di.
SELECT SINGLE * FROM lfbk INTO lfbk
WHERE lifnr EQ it_deb_cta_di-lifnr
AND bvtyp EQ it_cabecalho_di-bukrs.
IF sy-subrc NE 0.
SELECT SINGLE * FROM lfbk INTO lfbk
WHERE lifnr EQ it_deb_cta_di-lifnr.
ENDIF.
v_banco = lfbk-bankn.
REPLACE '-' WITH ' ' INTO v_banco.
CONDENSE v_banco NO-GAPS.
IF NOT lfbk-bkont+1(1) IS INITIAL.
CONCATENATE v_banco
lfbk-bkont+1(1)
INTO v_banco.
ENDIF.
IF /pws/zycit000-digito IS INITIAL AND NOT v_banco IS INITIAL.
v_compr = strlen( v_banco ) - 1.
CLEAR: v_banco+v_compr(01).
ENDIF.
LOOP AT it_deb_cta_di WHERE lifnr EQ lfbk-lifnr AND
nrseqdi EQ it_cabecalho_di-nrseqdi.
MOVE v_banco TO it_deb_cta_di-bankn.
IF /pws/zycit000-nbanco IS INITIAL.
/pws/zycit000-nbanco = 3.
ENDIF.
CONCATENATE lfbk-bankl(3)
lfbk-bankl+/pws/zycit000-nbanco
INTO it_deb_cta_di-bankl.
MODIFY it_deb_cta_di.
ENDLOOP.
ENDIF.
IF sy-subrc EQ 0.
p_moeda = it_bl_di-waersfre = wa_442-waersfre.
p_valor = it_bl_di-prepaid = wa_442-prepaid.
PERFORM trata_decimais_di USING p_moeda
p_valor.
it_bl_di-prepaid = p_valor.
READ TABLE it_bl_di INDEX 1.
p_valor = it_bl_di-collect = wa_442-collect.
PERFORM trata_decimais_di USING p_moeda
p_valor.
it_bl_di-collect = p_valor.
p_valor = it_bl_di-ternacion = wa_442-ternacion.
PERFORM trata_decimais_di USING p_moeda
p_valor.
it_bl_di-ternacion = p_valor.
it_bl_di-vlfre = ( it_bl_di-prepaid + it_bl_di-collect ) -
it_bl_di-ternacion.
MOVE it_bl_di TO wa_093.
PERFORM load_waers(/pws/sapmzyci023):
USING wa_093-waersfre
CHANGING it_bl_di-waersfre v_txtw.
PERFORM load_pais(/pws/sapmzyci023):
USING wa_093-bandtransp
CHANGING it_bl_di-bandtransp v_txtpais.
it_bl_di-meiotransp = wa_442-meiotransp.
IF it_bl_di-meiotransp EQ 'MA'.
it_bl_di-meiotransp = '01'.
ELSEIF it_bl_di-meiotransp EQ 'FL'.
it_bl_di-meiotransp = '02'.
ELSEIF it_bl_di-meiotransp EQ 'LC'.
it_bl_di-meiotransp = '03'.
ELSEIF it_bl_di-meiotransp EQ 'TA'.
it_bl_di-meiotransp = '04'.
ELSEIF it_bl_di-meiotransp EQ 'PS'.
it_bl_di-meiotransp = '05'.
ELSEIF it_bl_di-meiotransp EQ 'FR'.
it_bl_di-meiotransp = '06'.
ELSEIF it_bl_di-meiotransp EQ 'RD'.
it_bl_di-meiotransp = '07'.
ELSEIF it_bl_di-meiotransp EQ 'DT'.
it_bl_di-meiotransp = '08'.
ELSEIF it_bl_di-meiotransp EQ 'PP'.
it_bl_di-meiotransp = '09'.
ELSEIF it_bl_di-meiotransp EQ 'EN'.
it_bl_di-meiotransp = '10'.
ENDIF.
it_bl_di-tpconh = wa_442-tpconh.
it_bl_di-tpdoccheg = wa_442-tpdoccheg.
it_bl_di-utilizacao = wa_442-utilizacao.
it_bl_di-dtcheg = wa_442-dtcheg.
it_bl_di-multimod = wa_442-multimod.
it_bl_di-descrtransp = wa_442-descrtransp.
it_bl_di-embarca = wa_442-embarca.
it_bl_di-identconh = wa_442-identconh.
it_bl_di-identmaster = wa_442-identmaster.
it_bl_di-localemb = wa_442-localemb.
it_bl_di-placa = wa_442-placa.
it_bl_di-brgew = wa_442-brgew.
it_bl_di-flagtransp = wa_442-flagtransp.
it_bl_di-embarca = wa_442-embarca.
it_bl_di-dtemb = wa_442-dtemb.
it_bl_di-identdcheg = wa_442-identdcheg.
SELECT name1 land1 UP TO 1 ROWS FROM lfa1
INTO (it_bl_di-descrtransp,
it_bl_di-bandtransp)
WHERE lifnr EQ wa_442-transp.
ENDSELECT.
PERFORM load_pais(/pws/sapmzyci023):
USING it_bl_di-bandtransp
CHANGING it_bl_di-bandtransp v_txtpais.
APPEND it_bl_di.
ENDIF.
CLEAR: it_200. REFRESH: it_200.
SELECT * FROM /pws/zycit200 INTO TABLE it_200 WHERE
id = i_nrseqdi.
CLEAR: v_add, v_obs.
it_compl_di-mandt = sy-mandt.
it_compl_di-nrseqdi = i_nrseqdi.
it_compl_di-tpdi = i_tpdi.
SELECT SINGLE stcd1 FROM lfa1 INTO it_compl_di-cgcagente
WHERE lifnr = wa_093-agente.
it_compl_di-r_vlfre = ( wa_093-prepaid + wa_093-collect -
wa_093-ternacion ) * it_cabecalho_di-ukursfre.
it_compl_di-r_vlseg = it_cabecalho_di-vlseg *
it_cabecalho_di-ukursseg.
READ TABLE it_200 INDEX 1.
IF sy-subrc EQ 0.
LOOP AT it_200.
it_compl_di-complementares = it_200-linha(65).
APPEND it_compl_di.
ENDLOOP.
ELSE.
APPEND it_compl_di.
ENDIF.
LOOP AT it_itens_di.
CLEAR: it_resumoit_di.
MOVE-CORRESPONDING it_itens_di TO it_resumoit_di.
READ TABLE it_det_itens_di WITH KEY
nrseq = it_itens_di-nrseq
ebeln = it_itens_di-ebeln
ebelp = it_itens_di-ebelp.
IF sy-subrc EQ 0.
MOVE-CORRESPONDING
it_det_itens_di TO it_resumoit_di.
ENDIF.
MOVE it_itens_di-adicao TO it_resumoit_di-adicao.
MOVE it_det_itens_di-qtdeumest TO it_resumoit_di-qtd_iten.
CONCATENATE wa_442-nrseqda
it_itens_di-nrseq
it_itens_di-ebeln
it_itens_di-ebelp INTO v_txtki.
CLEAR: rtexti.
REFRESH: rtexti.
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'ZDSI'
language = sy-langu
name = v_txtki
object = '/PWS/CIDDI'
TABLES
lines = rtexti
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc EQ 0.
CLEAR: v_obs, v_i1.
LOOP AT rtexti.
CONDENSE rtexti-tdline.
CONCATENATE v_obs
rtexti-tdline
INTO v_obs SEPARATED BY space.
ENDLOOP.
it_resumoit_di-txtespec = v_obs(8000).
ENDIF.
SELECT SINGLE descr FROM /pws/zyglt204 INTO
it_resumoit_di-umdesc
WHERE msehi = it_resumoit_di-meins.
CASE s_inco1_ci.
WHEN 'C&F'.
it_resumoit_di-vlreal =
( it_resumoit_di-vlreal + ( it_resumoit_di-vlfre_fat /
it_resumoit_di-qtd_iten ) ).
WHEN 'CIF'.
it_resumoit_di-vlreal =
( it_resumoit_di-vlreal + ( it_resumoit_di-vlseg_fat /
it_resumoit_di-qtd_iten )
+ ( it_resumoit_di-vlfre_fat / it_resumoit_di-qtd_iten ) ).
ENDCASE.
APPEND it_resumoit_di.
ENDLOOP.
SORT it_resumoit_di BY adicao ASCENDING.
SELECT SINGLE nrseqda nrseq FROM /pws/zycit443 INTO
(/pws/zycit443-nrseqda, /pws/zycit443-nrseq)
WHERE nrseqda = i_nrseqdi.
SELECT SINGLE nrseq FROM /pws/zycit094 INTO /pws/zycit094-nrseq
WHERE nrseq = /pws/zycit443-nrseq. "#EC CI_NOFIRST
SELECT SINGLE nrseq bukrs FROM /pws/zycit001 INTO
(/pws/zycit001-nrseq, /pws/zycit001-bukrs)
WHERE nrseq = /pws/zycit094-nrseq.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycit001-bukrs.
SELECT SINGLE adrnr FROM j_1bbranch INTO local_adrn
WHERE bukrs = it_cabecalho_di-bukrs AND
branch = it_cabecalho_di-j_1bbranch.
IF sy-subrc EQ 0.
SELECT SINGLE region FROM adrc INTO v_region WHERE
addrnumber = local_adrn.
IF sy-subrc NE 0.
CLEAR v_region.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit020
INTO TABLE itab_zycit020
WHERE regio = v_region AND
( baseicms EQ 'X' OR baseii EQ 'X' ) AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit020 INTO TABLE itab_zycit020 WHERE
regio = space AND ( baseicms EQ 'X' OR baseii EQ 'X' ) AND
land1 EQ t001-land1.
ENDIF.
IF NOT itab_zycit020[] IS INITIAL.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycie085-bukrs.
SELECT * FROM /pws/zycit019 INTO TABLE it_019
FOR ALL ENTRIES IN itab_zycit020
WHERE codigo EQ itab_zycit020-codigo AND
regio EQ v_region AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
IF NOT itab_zycit020[] IS INITIAL.
SELECT * FROM /pws/zycit019 INTO TABLE it_019
FOR ALL ENTRIES IN itab_zycit020 WHERE
codigo EQ itab_zycit020-codigo AND
regio = space AND
land1 EQ t001-land1..
ENDIF.
ENDIF.
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit019
INTO TABLE it_019
WHERE land1 EQ t001-land1. "#EC CI_NOFIRST
ENDIF.
SELECT SINGLE nrseq nrseqda FROM /pws/zycit443 INTO
(/pws/zycit443-nrseq, /pws/zycit443-nrseqda)
WHERE nrseqda = i_nrseqdi.
SELECT SINGLE nrseq FROM /pws/zycit094 INTO /pws/zycit094-nrseq
WHERE nrseq = /pws/zycit443-nrseq."#EC CI_NOFIRST
SELECT SINGLE nrseq bukrs FROM /pws/zycit001 INTO
(/pws/zycit001-nrseq, /pws/zycit001-bukrs)
WHERE nrseq = /pws/zycit094-nrseq.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycit001-bukrs.
IF NOT it_019[] IS INITIAL.
SELECT * FROM /pws/zycit039 INTO TABLE it_039
FOR ALL ENTRIES IN it_019
WHERE codigo = it_019-codigo AND
land1 EQ t001-land1. "#EC CI_NOFIRST
ENDIF.
SELECT * FROM /pws/zycit049 INTO TABLE it_049
WHERE nrseq EQ i_nrseqdi AND
vldp NE 0.
IF NOT it_049[] IS INITIAL.
READ TABLE it_itens_di INDEX 1.
MOVE: it_itens_di-nrseq TO itab_desp_funcao-nrseq,
it_itens_di-ebeln TO itab_desp_funcao-ebeln,
it_itens_di-ebelp TO itab_desp_funcao-ebelp.
LOOP AT it_049 .
MOVE: it_049-tpdesp TO itab_desp_funcao-tpdesp,
it_049-vlreal TO itab_desp_funcao-netpr,
/pws/zycbt007-waersb TO itab_desp_funcao-waers.
APPEND itab_desp_funcao.
ENDLOOP.
LOOP AT it_049.
v_idx = sy-tabix.
READ TABLE it_019 WITH KEY
tpdesp = it_049-tpdesp.
IF sy-subrc EQ 0.
READ TABLE it_039 WITH KEY
codigo = it_019-codigo.
IF sy-subrc EQ 0.
IF it_039-peso = 'X'.
it_049-peso = it_039-peso.
ELSEIF it_039-proporplan = 'X'.
it_049-proporplan = it_039-proporplan.
ELSEIF it_039-vlreal = 'X'.
it_049-vlreal_rat = it_039-vlreal.
ELSE.
it_049-divabs = it_039-divabs.
ENDIF.
ENDIF.
ENDIF.
it_049-codigo = it_019-codigo.
it_049-tipo = it_019-tipo.
it_049-tpdesp = it_019-tpdesp.
it_049-coddesp = it_019-coddesp.
IF it_049-tipo EQ 'A'.
IF it_049-tpdesp NE /pws/zycit000-flagfreten.
IF it_049-waers NE it_cabecalho_di-waersfob.
IF it_049-waers EQ /pws/zycbt007-waersb.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_cabecalho_di-waersfob
wa_442-dttax
CHANGING s_tax.
IF NOT s_tax IS INITIAL .
it_cabecalho_di-vlfob = it_cabecalho_di-vlfob +
( it_049-vldp / s_tax ) .
ENDIF.
ELSE.
v_valor = it_049-vldp.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_049-waers
wa_442-dttax
CHANGING s_tax.
v_valor = v_valor * s_tax.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_cabecalho_di-waersfob
wa_442-dttax
CHANGING s_tax.
IF NOT s_tax IS INITIAL.
v_valor = v_valor / s_tax.
ENDIF.
it_cabecalho_di-vlfob = it_cabecalho_di-vlfob +
v_valor .
ENDIF.
ELSE.
it_cabecalho_di-vlfob =
it_cabecalho_di-vlfob + it_049-vldp.
ENDIF.
ENDIF.
ENDIF.
IF it_049-waers NE /pws/zycbt007-waersb.
PERFORM taxa_converte(/pws/sapmzyci023)
USING it_049-waers wa_442-dttax
CHANGING s_tax.
it_049-vlreal = it_049-vldp * s_tax.
ELSE.
it_049-vlreal = it_049-vldp.
ENDIF.
v_moeda = it_049-waers.
PERFORM load_waers(/pws/sapmzyci023):
USING v_moeda
CHANGING it_049-waers v_txtw.
MODIFY it_049 INDEX v_idx.
ENDLOOP.
CLEAR: v_tmle.
LOOP AT it_resumoit_di.
v_tmle = v_tmle + ( ( it_resumoit_di-qtd_iten *
it_resumoit_di-vlreal ) *
it_resumoit_di-dttaxbem ).
v_tot_peso = v_tot_peso + it_resumoit_di-ntgew.
ENDLOOP.
DESCRIBE TABLE it_resumoit_di LINES v_line.
LOOP AT it_049.
LOOP AT it_adicao_di.
CLEAR: v_vldp, v_vldpr.
LOOP AT it_resumoit_di WHERE adicao = it_adicao_di-adicao.
v_mler = ( ( it_resumoit_di-qtd_iten *
it_resumoit_di-vlreal ) *
it_resumoit_di-dttaxbem ).
IF it_049-peso = 'X'.
t_ivdes2 = ( it_resumoit_di-ntgew / v_tot_peso ) *
it_049-vlreal.
t_ivdes3 = ( it_resumoit_di-ntgew / v_tot_peso ) *
it_049-vldp.
ELSEIF it_049-proporplan = 'X'.
t_ivdes2 = ( v_mler / v_tmle ) * it_049-vlreal.
t_ivdes3 = ( v_mler / v_tmle ) * it_049-vldp.
ELSEIF it_049-vlreal_rat = 'X'.
t_ivdes2 = ( v_mler / v_tmle ) * it_049-vlreal.
t_ivdes3 = ( v_mler / v_tmle ) * it_049-vldp.
ELSE.
t_ivdes2 = ( 1 / v_line ) * it_049-vlreal.
t_ivdes3 = ( 1 / v_line ) * it_049-vldp.
ENDIF.
v_vldp = v_vldp + t_ivdes3.
v_vldpr = v_vldpr + t_ivdes2.
ENDLOOP.
IF it_049-tipo = 'A'.
READ TABLE it_acresc_sisco WITH KEY
adicao = it_adicao_di-adicao
codigo = it_049-coddesp.
IF sy-subrc EQ 0.
it_acresc_sisco-vldp = it_acresc_sisco-vldp + v_vldp.
it_acresc_sisco-vldpr = it_acresc_sisco-vldpr + v_vldpr.
MODIFY it_acresc_sisco INDEX sy-tabix TRANSPORTING
vldp vldpr.
ELSE.
it_acresc_sisco-nrseqdi = i_nrseqdi.
it_acresc_sisco-adicao = it_adicao_di-adicao.
it_acresc_sisco-codigo = it_049-coddesp.
it_acresc_sisco-waers = it_049-waers.
it_acresc_sisco-vldp = v_vldp.
it_acresc_sisco-vldpr = v_vldpr.
APPEND it_acresc_sisco.
ENDIF.
ELSEIF it_049-tipo = 'D'.
READ TABLE it_deduc_sisco WITH KEY
adicao = it_adicao_di-adicao
codigo = it_049-coddesp.
IF sy-subrc EQ 0.
it_deduc_sisco-vldp = it_deduc_sisco-vldp + v_vldp.
it_deduc_sisco-vldpr = it_deduc_sisco-vldpr + v_vldpr
.
MODIFY it_deduc_sisco INDEX sy-tabix TRANSPORTING
vldp vldpr.
ELSE.
it_deduc_sisco-nrseqdi = i_nrseqdi.
it_deduc_sisco-adicao = it_adicao_di-adicao.
it_deduc_sisco-codigo = it_049-coddesp.
it_deduc_sisco-waers = it_049-waers.
it_deduc_sisco-vldp = v_vldp.
it_deduc_sisco-vldpr = v_vldpr.
APPEND it_deduc_sisco.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
SORT it_acresc_sisco BY adicao codigo.
SORT it_deduc_sisco BY adicao codigo.
ENDIF.
ENDIF.
PERFORM load_waers(/pws/sapmzyci023):
USING wa_442-waersfob
CHANGING it_cabecalho_di-waersfob v_txtw.
MODIFY it_cabecalho_di INDEX 1 TRANSPORTING
vlfob vlfobr waersfob .
LOOP AT it_itens_di.
READ TABLE it_det_itens_di WITH KEY
nrseq = it_itens_di-nrseq
ebeln = it_itens_di-ebeln
ebelp = it_itens_di-ebelp.
IF sy-subrc EQ 0.
MOVE it_det_itens_di TO it_det_itens_di_aux.
APPEND it_det_itens_di_aux.
ENDIF.
READ TABLE it_resumoit_di WITH KEY
nrseq = it_itens_di-nrseq
ebeln = it_itens_di-ebeln
ebelp = it_itens_di-ebelp
adicao = it_itens_di-adicao.
IF sy-subrc EQ 0.
MOVE it_resumoit_di TO it_resumoit_di_aux.
APPEND it_resumoit_di_aux.
ENDIF.
ENDLOOP.
CLEAR : it_det_itens_di[], it_resumoit_di[].
REFRESH : it_det_itens_di[], it_resumoit_di[].
MOVE: it_det_itens_di_aux[] TO it_det_itens_di[],
it_resumoit_di_aux[] TO it_resumoit_di[].
LOOP AT it_adicao_di .
IF it_adicao_di-codregtriipi EQ '2'.
it_adicao_di-codregtriipi = '0'.
ENDIF.
IF it_adicao_di-codregtriipi EQ '4'.
it_adicao_di-codregtriipi = '2'.
ENDIF.
IF it_adicao_di-codregtriipi EQ '3'.
it_adicao_di-codregtriipi = '4'.
ENDIF.
MODIFY it_adicao_di.
ENDLOOP.
ENDIF.
ELSE.
* << Fim da inclusão
SELECT * UP TO 1 ROWS FROM /pws/zycit085 INTO TABLE it_cabecalho_di
WHERE nrseqdi EQ i_nrseqdi
AND tpdi EQ i_tpdi.
IF sy-subrc EQ 0.
READ TABLE it_cabecalho_di INDEX 1.
SELECT SINGLE * FROM t001 WHERE bukrs EQ it_cabecalho_di-bukrs.
SELECT SINGLE * FROM /pws/zycit000 INTO /pws/zycit000
WHERE land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycbt007 INTO /pws/zycbt007
WHERE bukrs EQ it_cabecalho_di-bukrs.
...
...
SELECT * FROM /pws/zycit014 INTO TABLE it_volumes_di
FOR ALL ENTRIES IN it_cabecalho_di
WHERE nrseq EQ it_cabecalho_di-nrbl.
SELECT * FROM /pws/zycit096 INTO TABLE it_armazens_di
FOR ALL ENTRIES IN it_cabecalho_di
WHERE nrseqdi EQ it_cabecalho_di-nrseqdi.
SELECT * FROM /pws/zycit095 INTO TABLE it_deb_cta_di
FOR ALL ENTRIES IN it_cabecalho_di
WHERE nrseqdi EQ it_cabecalho_di-nrseqdi.
READ TABLE it_deb_cta_di.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
SELECT SINGLE * FROM lfbk INTO lfbk
WHERE lifnr EQ it_deb_cta_di-lifnr
AND bvtyp EQ it_cabecalho_di-bukrs.
IF sy-subrc NE 0.
* << Fim da inclusão
SELECT SINGLE * FROM lfbk INTO lfbk
WHERE lifnr EQ it_deb_cta_di-lifnr.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
ENDIF.
* << Fim da inclusão
v_banco = lfbk-bankn.
REPLACE '-' WITH ' ' INTO v_banco.
CONDENSE v_banco NO-GAPS.
IF NOT lfbk-bkont+1(1) IS INITIAL.
CONCATENATE v_banco
...
...
ENDIF.
IF it_adicao_di-codregtriipi EQ '3'.
it_adicao_di-codregtriipi = '4'.
ENDIF.
MODIFY it_adicao_di.
ENDLOOP.
SELECT * FROM /pws/zycit486 INTO TABLE
it_merc_cab WHERE nrseqdi EQ i_nrseqdi.
SELECT * FROM /pws/zycit485 INTO TABLE
it_merc_ad WHERE nrseqdi EQ i_nrseqdi.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSFER_DI
ENDIF.
* << Fim da inclusão
READ TABLE itab_zyglt100 WITH KEY zexit = 'TDI001' BINARY SEARCH.
IF sy-subrc = 0
AND NOT itab_zyglt100-programa IS INITIAL
AND NOT itab_zyglt100-formulario IS INITIAL.
it_cabecalho_di2[] = it_cabecalho_di[].
it_itens_di2[] = it_itens_di[].
it_det_itens_di2[] = it_det_itens_di[].
it_inst_desp_di2[] = it_inst_desp_di[].
it_proc_vinc_di2[] = it_proc_vinc_di[].
it_volumes_di2[] = it_volumes_di[].
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF5X01
...
* >> Início da inclusão:
tables : /pws/zycit443.
* << Fim da inclusão
DATA BEGIN OF COMMON PART k.
...
...
* >> Início da inclusão:
data:
wa_442 LIKE /pws/zycie442.
* << Fim da inclusão
DATA END OF COMMON PART k.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F01
...
IF v_erro_lote = 'S'.
MESSAGE i039 WITH text-498.
EXIT.
ENDIF.
* >> Início da exclusão: FORM SAVE_DATA
IF v_dit = 'N'.
* << Fim da exclusão
IF NOT /pws/zycie442-waersfob IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersfob
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursfob.
ENDIF.
IF NOT /pws/zycie442-waersfre IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersfre
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursfre.
ENDIF.
IF NOT /pws/zycie442-waersseg IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersseg
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursseg.
ENDIF.
* >> Início da exclusão: FORM SAVE_DATA
ENDIF.
* << Fim da exclusão
PERFORM visualiza_rateio.
...
...
DELETE FROM /pws/zycit447 WHERE nrseqda = /pws/zycie442-nrseqda.
MODIFY /pws/zycit447 FROM TABLE itab_zycit447.
* >> Início da exclusão: FORM SAVE_DATA
IF v_dit = 'N'.
* << Fim da exclusão
IF NOT /pws/zycie442-nrbl IS INITIAL.
v_calci = 'S'.
ENDIF.
...
...
LOOP AT itab_zycit049.
MOVE-CORRESPONDING itab_zycit049 TO itab_zycit049di2.
APPEND itab_zycit049di2.
ENDLOOP.
DELETE FROM /pws/zycit049 WHERE nrseq = /pws/zycie442-nrseqda.
MODIFY /pws/zycit049 FROM TABLE itab_zycit049di2.
* >> Início da exclusão: FORM SAVE_DATA
ENDIF.
* << Fim da exclusão
DELETE FROM /pws/zycit200 WHERE id = /pws/zycie442-nrseqda.
MODIFY /pws/zycit200 FROM TABLE itab_zycit200.
DELETE FROM /pws/zycit443 WHERE nrseqda = /pws/zycie442-nrseqda.
CLEAR: itab_zycit443.
REFRESH: itab_zycit443.
...
...
DELETE itab_zycit442 WHERE nrseqda = /pws/zycie442-nrseqda.
APPEND /pws/zycie442 TO itab_zycit442.
SORT itab_zycit442 BY nrseqda.
COMMIT WORK.
* >> Início da exclusão: FORM SAVE_DATA
IF v_dit = 'N'.
* << Fim da exclusão
MESSAGE i017 WITH text-060.
* >> Início da exclusão: FORM SAVE_DATA
ELSE.
MESSAGE i017 WITH text-061.
ENDIF.
* << Fim da exclusão
...
...
ENDLOOP.
* >> Início da exclusão: FORM VERIFY_CHANGES
IF v_dit = 'N'.
* << Fim da exclusão
IF /pws/zycie442 NE wa_zycit442.
v_changed = '1'.
ENDIF.
...
...
v_changed = '1'.
* >> Início da exclusão: FORM VERIFY_CHANGES
ENDIF.
* << Fim da exclusão
ENDIF.
ENDFORM.
...
...
FORM save_data_item.
DATA : v_waersdif LIKE /pws/zycie443a-waersbem.
CLEAR: v_waersdif.
DATA wa_itab_aux LIKE itab_it.
* >> Início da exclusão: FORM SAVE_DATA_ITEM
IF v_dit = 'S' AND
( /pws/zycie442-meiotransp = 'PS' OR
/pws/zycie093-meiotransp = 'PS' )
AND /pws/zycie442-tpdi = 'S'.
/pws/zycie443a-vlii = t_iirec.
/pws/zycie443a-vlipi = t_ipirec.
ENDIF.
* << Fim da exclusão
...
...
ENDIF.
ELSE.
IF /pws/zycie442-meiotransp = 'PS'
AND /pws/zycie442-tpdi EQ 'S'
AND /pws/zycie443a-advalii IS INITIAL.
/pws/zycie443a-advalii = '60'.
ENDIF.
ENDIF.
t_iibas = t_ivadu.
a_iicalc = ( ( /pws/zycie443a-advalii / 100 ) * t_iibas ).
* >> Início da exclusão: FORM LOAD_III
IF v_dit = 'N'.
* << Fim da exclusão
IF NOT /pws/zycie443a-reduzida IS INITIAL.
a_iiredu = ( ( /pws/zycie443a-reduzida / 100 ) * t_iibas ).
ELSE.
CLEAR: a_iiredu.
ENDIF.
a_iiacor = ( ( /pws/zycie443a-acordorate / 100 ) * t_iibas ).
* >> Início da exclusão: FORM LOAD_III
ENDIF.
* << Fim da exclusão
CLEAR: t_iirec.
CASE /pws/zycie443a-codregtri.
WHEN '1' OR '3' OR '4' OR '5' OR '7' OR '8'.
IF /pws/zycie442-ntimp NE '09' AND /pws/zycie442-ntimp NE '11'.
* >> Início da exclusão: FORM LOAD_III
IF v_dit = 'S' AND NOT /pws/zycie443a-codregtri = '5'.
t_iirec = a_iicalc.
itab_it-vlii = t_iirec.
ELSE.
* << Fim da exclusão
IF NOT a_iiredu IS INITIAL.
t_iirec = a_iiredu.
ELSE.
IF /pws/zycie443a-acordo EQ '2'.
t_iirec = a_iiredu = a_iiacor.
ELSE.
IF NOT /pws/zycie442-meiotransp EQ 'PS' OR
( NOT /pws/zycie001-meioemba = 'PS' AND
v_embimp EQ 'X' ).
t_iirec = a_iicalc.
...
...
ENDIF.
itab_it-vlii = t_iirec.
IF /pws/zycie443a-codregtri CA '35'.
CLEAR: t_iirec.
ENDIF.
s_wiireco = s_wiireco + t_iirec.
s_wiicalc = s_wiicalc + a_iicalc.
s_wiiredu = s_wiiredu + a_iiredu.
s_wiidevi = s_wiidevi + a_iidevi.
ENDIF.
* >> Início da exclusão: FORM LOAD_III
ENDIF.
* << Fim da exclusão
ENDCASE.
itab_it-baseii = t_iibas.
itab_it-ii_calculado = a_iicalc.
itab_it-ii_reduzido = a_iiredu.
itab_it-ii_devido = a_iidevi.
itab_it-ii_recolher = t_iirec .
ENDFORM.
FORM load_iipi USING p_tipo.
IF itab_it-codregtri EQ '5' .
t_ipibas = ( t_ivadu + itab_it-ii_calculado ).
ELSE.
t_ipibas = ( t_ivadu + t_iirec ).
ENDIF.
a_ipidevi = ( ( /pws/zycie443a-advalipi / 100 ) * t_ipibas ).
* >> Início da exclusão: FORM LOAD_IIPI
IF v_dit = 'N'.
* << Fim da exclusão
IF /pws/zycie443a-codregtriipi EQ '4' AND
( ( /pws/zycie003-advalipi IS INITIAL AND
v_embimp EQ 'X' ) OR
/pws/zycie443a-advalipi IS INITIAL ).
a_ipidevi =
( /pws/zycie443a-unit_valor * /pws/zycie443a-unit_qtde ).
ENDIF.
IF /pws/zycie443a-codregtriipi EQ '2'.
a_ipidevi = ( ( /pws/zycie443a-reduzidaipi / 100 ) * t_ipibas ).
* >> Início da exclusão: FORM LOAD_IIPI
ENDIF.
* << Fim da exclusão
ENDIF.
itab_it-vlipi = a_ipidevi.
CLEAR t_ipirec.
* >> Início da exclusão: FORM LOAD_IIPI
IF v_dit = 'N'.
* << Fim da exclusão
IF
'26' NA /pws/zycie443a-codregtri.
t_ipirec = a_ipidevi.
IF p_tipo = 'A'.
...
...
ENDIF.
ELSE.
IF ' 15' NA /pws/zycie443a-codregtriipi .
s_wipireco = s_wipireco + t_ipirec.
ELSE.
CLEAR t_ipirec.
ENDIF.
s_wipidevi = s_wipidevi + a_ipidevi.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOAD_IIPI
ELSE.
IF ' 35' NA /pws/zycie443a-codregtri AND
/pws/zycie442-ntimp NE '09' AND
/pws/zycie442-ntimp NE '11'.
t_ipirec = a_ipidevi.
ENDIF.
ENDIF.
* << Fim da exclusão
itab_it-baseipi = t_ipibas.
itab_it-ipi_devido = a_ipidevi.
itab_it-ipi_recolher = t_ipirec .
ENDFORM.
...
...
MOVE itab_it[] TO itab_ita[].
PERFORM atualiza_doccmp.
v_acto = 'A'.
v_txtdisplay = space.
v_txtsave = 'X'.
IF v_tcode EQ '/PWS/ZYCI070_E'.
v_acto = 'E'.
v_txtdisplay = 'X'.
v_txtsave = space.
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
IF v_dit = 'N'.
* << Fim da exclusão
IF v_tcode EQ '/PWS/ZYCI070_C'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
...
...
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
ENDIF.
PERFORM check USING vl_erro.
IF NOT vl_erro IS INITIAL.
MESSAGE e013 WITH text-226.
* >> Início da exclusão: FORM LOADING_ALL
ENDIF.
CALL SCREEN '0050'.
ELSE.
IF v_tcode EQ '/PWS/ZYCI070_C'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '01'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
ELSEIF v_tcode EQ '/PWS/ZYCI070_A'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '02'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ENDIF.
ELSEIF v_tcode EQ '/PWS/ZYCI070_E'.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS'
DUMMY
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
/pws/zycie442-bukrs
ID 'ACTVT' FIELD '03'.
IF sy-subrc NE 0.
MESSAGE e083(f5) WITH /pws/zycie442-bukrs.
ENDIF.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM LOADING_ALL
ENDIF.
gc_subscreen-prog = '0200'.
* << Fim da exclusão
CALL SCREEN '0050'.
* >> Início da exclusão: FORM LOADING_ALL
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
reco.
PERFORM calc_init USING 'I' p_recalc.
* >> Início da exclusão: FORM CALC_ITAB
IF v_dit = 'N'.
* << Fim da exclusão
IF v_embimp EQ 'X'.
v_bltofat = /pws/zycie093-prepaid +
/pws/zycie093-collect.
ELSE.
v_bltofat = /pws/zycie442-prepaid +
/pws/zycie442-collect.
ENDIF.
v_sgtofat = /pws/zycie442-vlseg.
IF NOT v_sgtofat IS INITIAL .
PERFORM retorna_decimais
...
...
/pws/zycie442-vlfobr = s_fbvr = v_tmle.
IF v_tval2 LT '0'.
IF v_msgfre NE 'N'.
MESSAGE i015 WITH text-454 text-488.
CLEAR v_tval2.
EXIT.
ELSE.
MESSAGE i015 WITH text-454 text-488.
CLEAR v_tval2.
EXIT.
* >> Início da exclusão: FORM CALC_ITAB
ENDIF.
ENDIF.
ELSE.
IF /pws/zycie442-vlfob IS INITIAL.
/pws/zycie442-vlfob = v_tval2.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM CALC_ITAB
/pws/zycie442-vlfobr = s_fbvr = v_tmle.
* << Fim da exclusão
ENDIF.
ENDIF.
PERFORM load_fbvl.
CLEAR: v_desp_acr, v_desp_brl.
PERFORM load_sevl.
* >> Início da inclusão: FORM CALC_ITAB
PERFORM soma_despesa_acr.
* << Fim da inclusão
IF NOT itab_it[] IS INITIAL.
CLEAR:
/pws/zycie442-vlpis,
/pws/zycie442-vlcofins.
ENDIF.
LOOP AT itab_it.
v_idx = sy-tabix.
IF itab_it-qtdeumest IS INITIAL.
PERFORM qtd_estatic USING itab_it-matnr
itab_it-j_1bnbm
...
...
itab_it TO /pws/zycie003.
IF /pws/zycie442-mdadicao = 'N'.
IF /pws/zycie442-vlfob IS INITIAL.
/pws/zycie442-vlfob = v_tval.
ENDIF.
ENDIF.
IF s_fbvr IS INITIAL.
PERFORM load_fbvl.
ENDIF.
PERFORM calc_itab_vals USING 'I'.
* >> Início da exclusão: FORM CALC_ITAB
IF v_dit = 'S'.
/pws/zycie442-vlii = /pws/zycie442-vlii + t_iirec.
/pws/zycie442-vlipi = /pws/zycie442-vlipi + t_ipirec.
/pws/zycie442-vlicms = /pws/zycie442-vlicms + t_icms.
ELSE.
s_wadreco = s_waddevi = s_waddevi + ( itab_it-baseantid *
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_ITAB
s_waddevi = s_waddevi + ( itab_it-baseantid *
* << Fim da inclusão
( itab_it-antidrate / 100 ) ) + ( itab_it-vlantid *
itab_it-qtdeantid ).
* >> Início da exclusão: FORM CALC_ITAB
ENDIF.
* << Fim da exclusão
itab_it-vlfre_me = v_tot_fre.
itab_it-vlseg_me = v_tot_seg.
itab_it-vlfre = t_ivfre.
itab_it-vlseg = t_ivseg.
itab_it-vldiffob = t_vldif.
...
...
/pws/zycie442-vlfre = /pws/zycie093-prepaid +
/pws/zycie093-collect - /pws/zycie093-ternacion.
/pws/zycie093-waersfre = /pws/zycie442-waersfre.
ELSE.
/pws/zycie442-vlfre = /pws/zycie442-prepaid +
/pws/zycie442-collect - /pws/zycie442-ternacion.
ENDIF.
PERFORM trata_decimais
USING /pws/zycie442-waersfre
CHANGING /pws/zycie442-vlfre.
* >> Início da exclusão: FORM CALC_ITAB
IF v_dit = 'S' AND
( /pws/zycie442-meiotransp NE 'PS' OR
/pws/zycie093-meiotransp NE 'PS' ).
t_vlii = /pws/zycie442-vlii.
t_vlipi = /pws/zycie442-vlipi.
t_vlicms = /pws/zycie442-vlicms.
ENDIF.
LOOP AT itab_zycit049 WHERE tipo = 'A'.
IF NOT itab_zycit049-waers IS INITIAL.
IF itab_zycit049-waers NE /pws/zycie442-waersfob.
PERFORM: calc_ret_moeda:
USING itab_zycit049-waers
/pws/zycie442-waersfob
CHANGING itab_zycit049-vldp.
v_tval2 = v_tval2 + itab_zycit049-vldp.
ELSE.
v_tval2 = v_tval2 + itab_zycit049-vldp.
ENDIF.
ENDIF.
ENDLOOP.
PERFORM load_fbvl.
LOOP AT itab_zycit049 WHERE tipo = 'A'.
IF itab_zycit049-waers = wa_zycbt007-waersb.
s_fbvr = s_fbvr + itab_zycit049-vldp.
ELSE.
PERFORM calc_ret_moeda
USING itab_zycit049-waers
wa_zycbt007-waersb
CHANGING itab_zycit049-vldp.
s_fbvr = s_fbvr + itab_zycit049-vldp.
ENDIF.
ENDLOOP.
/pws/zycie442-vlfobr = s_fbvr.
* << Fim da exclusão
ENDFORM.
...
...
ENDIF.
ENDLOOP.
MOVE: it_adi[] TO it_alist[],
it_adi[] TO it_adia[].
DELETE ADJACENT DUPLICATES FROM it_alist COMPARING adicao.
DATA: local_adia LIKE it_adia.
SORT it_adia BY adicao valor.
DESCRIBE TABLE it_alist LINES v_line.
DESCRIBE TABLE itab_zycit451 LINES v_linha.
IF v_line NE v_linha.
* >> Início da exclusão: FORM ADIC_LIST
IF v_dit EQ 'N'.
* << Fim da exclusão
IF NOT /pws/zycie442-dttax IS INITIAL.
MESSAGE s015 WITH text-010.
* >> Início da exclusão: FORM ADIC_LIST
ENDIF.
* << Fim da exclusão
ENDIF.
CLEAR: itab_zycit449, itab_zycit450, itab_zycit451,
itab_zycit453, itab_zycit452, itab_zycit454.
REFRESH: itab_zycit449, itab_zycit450, itab_zycit451,
itab_zycit452, itab_zycit453, itab_zycit454.
...
...
itab_itb-advalicms = itab_it-advalicms.
ENDIF.
IF sy-tcode = '/PWS/ZYCI070_C'.
IF itab_it-codregtriicms IS INITIAL.
itab_it-codregtriicms = '1'.
ENDIF.
IF itab_it-codregtripiscofi IS INITIAL.
itab_it-codregtripiscofi = '5'.
ENDIF.
ENDIF .
* >> Início da exclusão: FORM FILL_ITABIT
IF v_dit = 'N'.
* << Fim da exclusão
IF itab_it-advalii IS INITIAL.
itab_it-advalii = itab_zycit003-aliqii.
ENDIF.
IF itab_it-advalipi IS INITIAL.
itab_it-advalipi = itab_zycit003-aliqipi.
ENDIF.
IF itab_it-advalicms IS INITIAL.
itab_it-advalicms = itab_zycit003-aliqicms.
ENDIF.
IF itab_it-codmat IS INITIAL.
...
...
v_waers = itab_it-waersbem.
ELSE.
IF v_waers NE itab_it-waersbem.
/pws/zycie442-mdadicao = 'N'.
ENDIF.
ENDIF.
IF itab_it-entrega IS INITIAL.
PERFORM fill_entrega.
ENDIF.
PERFORM set_codregtri.
* >> Início da exclusão: FORM FILL_ITABIT
ELSE.
IF itab_it-pproc IS INITIAL.
itab_it-pproc = itab_it-porigem.
ENDIF.
ENDIF.
* << Fim da exclusão
IF sy-tcode EQ '/PWS/ZYCI070_C'.
SELECT SINGLE matnr FROM ekpo INTO v_matnr
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
IF itab_it-basredpis IS INITIAL.
SELECT SINGLE * FROM /pws/zycit406 INTO wa_zycit406
WHERE pais EQ 'BR'
AND matnr EQ v_matnr
AND tributos EQ 'PIS'.
IF sy-subrc EQ 0.
...
...
v_tmle = v_tmle + ( ( itab_it-qtd_da * itab_it-vlreal )
* itab_it-dttaxbem ).
ELSE.
v_tval = v_tval + ( itab_it-qtd_itencacl * itab_it-vlreal ).
v_tmle = v_tmle + ( ( itab_it-qtd_itencacl * itab_it-vlreal )
* itab_it-dttaxbem ).
ENDIF.
ENDLOOP.
v_tmle_d2 = v_tmle.
PERFORM data_sort.
* >> Início da exclusão: FORM FILL_ITABIT
IF v_dit = 'N'.
* << Fim da exclusão
IF /pws/zycie442-mdadicao = 'S'.
IF /pws/zycie442-waersfob IS INITIAL.
/pws/zycie442-waersfob = v_waers.
ENDIF.
LOOP AT itab_it.
itab_it-dttaxbem = /pws/zycie442-ukursfob.
itab_it-waersbem = /pws/zycie442-waersfob.
MODIFY itab_it INDEX sy-tabix TRANSPORTING dttaxbem waersbem.
ENDLOOP.
IF /pws/zycie442-vlseg IS INITIAL AND sy-tcode = '/PWS/ZYCI070_C'.
...
...
IF sy-subrc EQ 0.
/pws/zycie442-waersseg = itab_zycit006-waers.
ENDIF.
PERFORM retorna_decimais USING /pws/zycie442-waersseg
CHANGING /pws/zycie442-vlseg.
ENDIF.
ELSE.
CLEAR: /pws/zycie442-waersfob, /pws/zycie442-vlfob,
/pws/zycie442-ukursfob.
/pws/zycie442-waersfob = 'USD'.
* >> Início da exclusão: FORM FILL_ITABIT
ENDIF.
* << Fim da exclusão
ENDIF.
READ TABLE itab_zycit001 INDEX 1.
IF sy-subrc EQ 0.
s_inco1 = itab_zycit001-inco1.
/pws/zycie442-codreg = itab_zycit001-regime.
* >> Início da exclusão: FORM FILL_ITABIT
IF v_dit = 'S'.
/pws/zycie442-ntimp = itab_zycit001-regime.
ENDIF.
* << Fim da exclusão
IF /pws/zycie442-j_1bbranch IS INITIAL.
/pws/zycie442-j_1bbranch = itab_zycit001-j_1bbranch.
ENDIF.
ELSE.
s_inco1 = /pws/zycie442-inco1.
ENDIF.
CLEAR /pws/zycit062.
SELECT SINGLE * FROM j_1bbranch
WHERE bukrs = /pws/zycie442-bukrs
AND branch = /pws/zycie442-j_1bbranch.
...
...
/pws/zycie451-baseii, v_tot_plan,
a_basepc.
LOOP AT itab_it.
v_tntgew = v_tntgew + itab_it-ntgew.
ENDLOOP.
LOOP AT itab_itb.
v_idx = itab_itb-seq.
MOVE itab_itb TO wa_it.
MOVE-CORRESPONDING: itab_itb TO /pws/zycie443a,
itab_itb TO /pws/zycie003.
* >> Início da exclusão: FORM CALC_ITAB_ADIC
a_adreco = a_addevi = a_addevi + ( itab_itb-baseantid * (
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_ITAB_ADIC
a_addevi = a_addevi + ( itab_itb-baseantid * (
* << Fim da inclusão
itab_itb-antidrate / 100 ) ) + ( itab_itb-vlantid *
itab_itb-qtdeantid ).
a_baseii = a_baseii + itab_itb-baseii.
a_baseipi = a_baseipi + itab_itb-baseipi .
a_iitcalc = a_iitcalc + itab_itb-ii_calculado.
a_iitredu = a_iitredu + itab_itb-ii_reduzido .
a_iitdevi = a_iitdevi + itab_itb-ii_devido .
a_iitreco = a_iitreco + itab_itb-ii_recolher .
a_ipitdevi = a_ipitdevi + itab_itb-ipi_devido .
a_ipitreco = a_ipitreco + itab_itb-ipi_recolher.
a_addevi = a_addevi + itab_itb-ad_devido .
* >> Início da exclusão: FORM CALC_ITAB_ADIC
a_adreco = a_adreco + itab_itb-ad_recolher .
* << Fim da exclusão
a_itseg = a_itseg + itab_itb-vlseg .
a_itfre = a_itfre + itab_itb-vlfre .
a_pistcalc = a_pistcalc + itab_itb-pis_calculado.
a_pistredu = a_pistredu + itab_itb-pis_reduzido .
a_pistdevi = a_pistdevi + itab_itb-pis_devido .
a_pistreco = a_pistreco + itab_itb-pis_recolher .
a_coftcalc = a_coftcalc + itab_itb-cof_calculado.
a_coftredu = a_coftredu + itab_itb-cof_reduzido .
a_coftdevi = a_coftdevi + itab_itb-cof_devido .
a_coftreco = a_coftreco + itab_itb-cof_recolher .
...
...
FORM refresh_all USING p_recalc TYPE char1.
* >> Início da exclusão: FORM REFRESH_ALL
IF v_dit = 'N'.
* << Fim da exclusão
IF /pws/zycie442-mdadicao EQ 'S'.
PERFORM: taxa_converte
USING /pws/zycie442-waersfob
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursfob.
PERFORM:
load_fbvl,
fill_mdadicao.
ELSE.
LOOP AT itab_it
...
...
PERFORM calc_itab USING p_recalc.
IF NOT itab_it[] IS INITIAL.
PERFORM adic_list.
CLEAR v_pos.
LOOP AT it_alist.
v_pos = v_pos + 1.
PERFORM: adic_change,
adic_load,
calc_itab_adic,
save_adic.
* >> Início da exclusão: FORM REFRESH_ALL
ENDLOOP.
ENDIF.
ELSE.
IF NOT /pws/zycie442-waersfre IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersfre
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursfre,
load_frvl.
ENDIF.
IF NOT /pws/zycie442-waersseg IS INITIAL.
PERFORM: taxa_converte
USING /pws/zycie442-waersseg
/pws/zycie442-dttax
CHANGING /pws/zycie442-ukursseg,
load_sgvl.
ENDIF.
LOOP AT itab_it
WHERE NOT waersbem IS initial
AND waersbem NE wa_zycbt007-waersb.
PERFORM: taxa_converte
USING itab_it-waersbem
/pws/zycie442-dttax
CHANGING itab_it-dttaxbem.
MODIFY itab_it INDEX sy-tabix TRANSPORTING dttaxbem.
* << Fim da exclusão
ENDLOOP.
* >> Início da exclusão: FORM REFRESH_ALL
SORT itab_it BY nrseq ebeln ebelp.
PERFORM calc_itab USING p_recalc.
* << Fim da exclusão
ENDIF.
PERFORM propoe_banco.
PERFORM atualiza_qtd_po.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F02
...
load_sewa,
load_pais USING /pws/zycie442-land CHANGING s_ppais s_pdesc,
load_urf,
load_tra,
load_reca,
load_seto,
load_tdo,
load_uti,
load_con,
load_para.
* >> Início da exclusão: FORM LOAD_INIT
IF v_dit = 'N'.
* << Fim da exclusão
SORT itab_it BY nrseq ebeln ebelp.
PERFORM: load_typeview,
load_cana,
load_reg,
load_lfa,
load_blag,
load_ban,
load_fbwa,
load_fbvl,
load_coll,
...
...
load_blag,
load_blitens,
load_reg,
calc_itab USING 'X'.
PERFORM: load_cnpj
USING /pws/zycie442-j_1bbranch
/pws/zycie442-bukrs
CHANGING s_cnpj.
PERFORM concatena_empresa.
PERFORM atualiza_peso_desemb.
* >> Início da exclusão: FORM LOAD_BL
IF v_dit = 'N'.
* << Fim da exclusão
PERFORM: adic_list,
adic_li_data.
* >> Início da exclusão: FORM LOAD_BL
ENDIF.
* << Fim da exclusão
MOVE /pws/zycie442 TO wa_zycit442.
ELSE.
IF NOT /pws/zycie442-codreg IS INITIAL
AND /pws/zycie442-codreg NE '02'
AND /pws/zycie442-codreg NE '04'.
...
...
IF sy-subrc = 0.
CLEAR: /pws/zycie093-gewei_b.
t_blid = /pws/zycie093-identify.
* >> Início da exclusão: FORM LOAD_BLID
IF v_dit = 'S'.
/pws/zycie093-prepaid = /pws/zycie093-vlfre.
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
...
...
FORM load_frvl.
* >> Início da exclusão: FORM LOAD_FRVL
IF v_dit = 'N'.
IF v_embimp EQ 'X'.
v_fretc = /pws/zycie093-prepaid + /pws/zycie093-collect -
/pws/zycie093-ternacion.
ELSE.
v_fretc = /pws/zycie442-prepaid + /pws/zycie442-collect -
/pws/zycie442-ternacion.
ENDIF.
ELSE.
* << Fim da exclusão
IF v_embimp EQ 'X'.
v_fretc = /pws/zycie093-prepaid + /pws/zycie093-collect -
/pws/zycie093-ternacion.
ELSE.
v_fretc = /pws/zycie442-prepaid + /pws/zycie442-collect -
/pws/zycie442-ternacion.
ENDIF.
* >> Início da exclusão: FORM LOAD_FRVL
ENDIF.
* << Fim da exclusão
PERFORM trata_decimais
USING /pws/zycie442-waersfre
CHANGING v_fretc.
s_frvr_d2 = s_frvr = v_fretc * /pws/zycie442-ukursfre.
ENDFORM.
...
...
/pws/zycie080-lifnr = wa_lfa1-lifnr.
/pws/zycie080-name1 = wa_lfa1-name1.
/pws/zycie080-landa = wa_adrc-country.
/pws/zycie080-logradouro = wa_adrc-street.
/pws/zycie080-nrlogr = wa_adrc-house_num1.
/pws/zycie080-compl = wa_lfa1-ort02.
/pws/zycie080-city = wa_adrc-city1.
IF /pws/zycie451-fabricante EQ 3.
* >> Início da exclusão: FORM LOAD_FORN
PERFORM load_pais USING /pws/zycie451-paisfab
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_FORN
PERFORM load_pais USING /PWS/ZYCIE080A-LANDA
* << Fim da inclusão
CHANGING a_spais1 a_pais1.
ELSE.
PERFORM load_pais USING /pws/zycie080-landa
CHANGING a_spais1 a_pais1.
ENDIF.
ELSE.
SELECT SINGLE bezei FROM t005u INTO /pws/zycie080a-regio
WHERE land1 = wa_lfa1-land1 AND
spras = sy-langu AND
bland = wa_adrc-region.
...
...
FORM load_banco
USING p_lifnr
p_tipo
p_bankl
p_bankn
p_banks.
* >> Início da exclusão: FORM LOAD_BANCO
IF v_dit = 'S'.
CLEAR: s_pgnom.
IF p_tipo IS INITIAL AND NOT sy-tcode EQ '/PWS/ZYCI070_C'.
CLEAR: s_pgbks, s_pgbkl, s_pgbkn, s_pgage, s_pgcc, s_pgban.
ENDIF.
IF p_bankl IS INITIAL.
* << Fim da exclusão
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bvtyp = /pws/zycie442-bukrs.
IF sy-subrc NE 0.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr.
ENDIF.
* >> Início da exclusão: FORM LOAD_BANCO
IF sy-subrc = 0.
s_pgbks = /pws/zycie447a-banks = lfbk-banks.
s_pgbkl = /pws/zycie447a-bankl = lfbk-bankl.
s_pgbkn = /pws/zycie447a-bankn = lfbk-bankn.
s_pgnom = lfbk-koinh.
s_pgcc = lfbk-bankn.
CONCATENATE s_pgcc '-' lfbk-bkont+1(1) INTO s_pgcc.
ENDIF.
ELSEIF p_banks IS INITIAL.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bankl = p_bankl AND
bankn = p_bankn AND
bvtyp = /pws/zycie442-bukrs.
IF sy-subrc NE 0.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bankl = p_bankl AND
bankn = p_bankn.
ENDIF.
IF sy-subrc = 0.
s_pgbks = /pws/zycie447a-banks = lfbk-banks.
s_pgbkl = /pws/zycie447a-bankl = lfbk-bankl.
s_pgbkn = /pws/zycie447a-bankn = lfbk-bankn.
s_pgnom = lfbk-koinh.
s_pgcc = lfbk-bankn.
CONCATENATE s_pgcc '-' lfbk-bkont+1(1) INTO s_pgcc.
ENDIF.
ELSE.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bankl = p_bankl AND
bankn = p_bankn AND
banks = p_banks AND
bvtyp = /pws/zycie442-bukrs.
IF sy-subrc NE 0.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bankl = p_bankl AND
bankn = p_bankn AND
banks = p_banks.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_BANCO
IF sy-subrc EQ 0.
s_pgban = lfbk-bankl+0(03).
IF /pws/zycit000-nbanco IS INITIAL.
/pws/zycit000-nbanco = 3.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM LOAD_BANCO
IF sy-subrc = 0.
s_pgbks = /pws/zycie447a-banks = lfbk-banks.
s_pgbkl = /pws/zycie447a-bankl = lfbk-bankl.
s_pgbkn = /pws/zycie447a-bankn = lfbk-bankn.
s_pgnom = lfbk-koinh.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_BANCO
s_pgage = lfbk-bankl+/pws/zycit000-nbanco.
* << Fim da inclusão
s_pgcc = lfbk-bankn.
* >> Início da inclusão: FORM LOAD_BANCO
IF NOT lfbk-bkont+1(1) IS INITIAL.
* << Fim da inclusão
CONCATENATE s_pgcc '-' lfbk-bkont+1(1) INTO s_pgcc.
* >> Início da exclusão: FORM LOAD_BANCO
ENDIF.
ENDIF.
ELSEIF v_dit = 'N'.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr AND
bvtyp = /pws/zycie442-bukrs.
IF sy-subrc NE 0.
SELECT SINGLE * FROM lfbk WHERE lifnr = p_lifnr.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM LOAD_BANCO
IF sy-subrc = 0.
s_pgban = lfbk-bankl+0(03).
s_pgage = lfbk-bankl+4(11).
s_pgcc = lfbk-bankn.
CONCATENATE s_pgcc '-' lfbk-bkont+1(1) INTO s_pgcc.
* << Fim da exclusão
s_pgnom = lfbk-koinh.
* >> Início da exclusão: FORM LOAD_BANCO
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_BANCO
s_pgbks = s_pgban.
s_pgbkl = lfbk-bankl.
s_pgbkn = lfbk-bankn.
* << Fim da inclusão
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F03
...
IF itab_it[] IS INITIAL.
v_tfrefat = /pws/zycie442-vlfre.
ENDIF.
* >> Início da exclusão: FORM CALC_INIT
IF v_dit = 'N'.
* << Fim da exclusão
v_bltofat = /pws/zycie442-prepaid +
/pws/zycie442-collect.
v_sgtofat = /pws/zycie442-vlseg.
IF NOT v_sgtofat IS INITIAL .
PERFORM retorna_decimais
USING /pws/zycie442-waersseg
CHANGING v_sgtofat.
ENDIF.
CASE s_inco1_ci.
WHEN 'C&F'.
...
...
IF NOT v_sgtofat IS INITIAL .
PERFORM trata_decimais
USING /pws/zycie442-waersseg
CHANGING v_sgtofat.
ENDIF.
v_tdif = v_tfrefat - v_bltofat .
v_bltofat = /pws/zycie442-prepaid +
/pws/zycie442-collect - /pws/zycie442-ternacion.
PERFORM calc_conv_frete CHANGING v_bltofat.
ENDCASE.
* >> Início da exclusão: FORM CALC_INIT
ENDIF.
* << Fim da exclusão
CLEAR v_ntgew.
IF NOT itab_it[] IS INITIAL.
CLEAR v_tfrefat.
ENDIF.
...
...
CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT442'
EXPORTING
nrseqda = /pws/zycie442-nrseqda
EXCEPTIONS
foreign_lock = 1
system_failure = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE w015 WITH text-229 text-230.
v_status_s = '0'.
* >> Início da exclusão: FORM LOCK_RECORD
IF v_dit = 'N'.
* << Fim da exclusão
v_tcode = '/PWS/ZYCI070_E'.
v_acto = 'E'.
* >> Início da exclusão: FORM LOCK_RECORD
ENDIF.
* << Fim da exclusão
WHEN 2.
MESSAGE a015 WITH text-118.
v_status_s = '0'.
* >> Início da exclusão: FORM LOCK_RECORD
IF v_dit = 'N'.
* << Fim da exclusão
v_tcode = '/PWS/ZYCI070_E'.
v_acto = 'E'.
* >> Início da exclusão: FORM LOCK_RECORD
ENDIF.
* << Fim da exclusão
ENDCASE.
ENDFORM.
...
...
FORM load_compl.
* >> Início da exclusão: FORM LOAD_COMPL
IF v_dit = 'N'.
* << Fim da exclusão
IF v_embimp EQ 'X'.
SELECT * FROM /pws/zycit257 INTO TABLE itab_zycit257
WHERE meiotransp EQ /pws/zycie093-meiotransp
AND codint EQ '023'
AND tdspras EQ sy-langu.
ELSE.
SELECT * FROM /pws/zycit257 INTO TABLE itab_zycit257
WHERE meiotransp EQ /pws/zycie442-meiotransp
AND codint EQ '023'
* >> Início da exclusão: FORM LOAD_COMPL
AND tdspras EQ sy-langu.
ENDIF.
ELSE.
IF v_embimp EQ 'X'.
SELECT * FROM /pws/zycit257 INTO TABLE itab_zycit257
WHERE meiotransp EQ /pws/zycie093-meiotransp
AND codint EQ '025'
AND tdspras EQ sy-langu.
ELSE.
SELECT * FROM /pws/zycit257 INTO TABLE itab_zycit257
WHERE meiotransp EQ /pws/zycie442-meiotransp
AND codint EQ '025'
* << Fim da exclusão
AND tdspras EQ sy-langu.
* >> Início da exclusão: FORM LOAD_COMPL
ENDIF.
* << Fim da exclusão
ENDIF.
IF sy-subrc EQ 0.
LOOP AT itab_zycit257.
MOVE: 'X' TO itab_zycit104-flag,
'I' TO itab_zycit104-codmod,
itab_zycit257-codint TO itab_zycit104-codint,
...
...
INTO /pws/zycit094
FROM /pws/zycit094
WHERE nrseqce = /pws/zycie093-nrseqce.
SELECT SINGLE *
INTO /pws/zycit001
FROM /pws/zycit001
WHERE nrseq = /pws/zycit094-nrseq.
IF NOT /pws/zycit001-inco1 IS INITIAL.
/pws/zycie442-inco1 = /pws/zycit001-inco1.
ENDIF.
* >> Início da exclusão: FORM CONCATENA_EMPRESA
IF v_dit = 'N'.
* << Fim da exclusão
SELECT SINGLE *
INTO /pws/zycit274
FROM /pws/zycit274
WHERE nomeacao = '05'.
* >> Início da exclusão: FORM CONCATENA_EMPRESA
IF sy-subrc = 0 AND NOT /pws/zycit274-autonome IS INITIAL
AND NOT /pws/zycie442-bukrs IS INITIAL
AND NOT /pws/zycie442-identify IS INITIAL.
CONCATENATE /pws/zycit001-bukrs '-' /pws/zycit001-nrseq
INTO /pws/zycie442-identify.
ENDIF.
ELSEIF v_dit = 'S'.
SELECT SINGLE *
INTO /pws/zycit274
FROM /pws/zycit274
WHERE nomeacao = '06'.
* << Fim da exclusão
IF sy-subrc = 0 AND NOT /pws/zycit274-autonome IS INITIAL
AND NOT /pws/zycie442-bukrs IS INITIAL
AND NOT /pws/zycie442-identify IS INITIAL.
CONCATENATE /pws/zycit001-bukrs '-' /pws/zycit001-nrseq
INTO /pws/zycie442-identify.
* >> Início da exclusão: FORM CONCATENA_EMPRESA
ENDIF.
* << Fim da exclusão
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F05
...
* >> Início da inclusão:
form soma_despesa_acr.
DATA: v_vldp LIKE itab_zycit049-vldp.
LOOP AT itab_zycit049 WHERE tipo = 'A' AND
vldp > 0.
IF itab_zycit049-tpdesp NE /pws/zycit000-flagfreten.
IF itab_zycit049-waers NE wa_zycbt007-waersb.
PERFORM trata_decimais USING itab_zycit049-waers
CHANGING itab_zycit049-vldp.
ENDIF.
IF itab_zycit049-waers NE /pws/zycie442-waersfob.
PERFORM taxa_converte USING /pws/zycie442-waersfob
/pws/zycie442-dttax
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_tval2 = v_tval2 + ( itab_zycit049-vldp / v_taxa ).
ENDIF.
ELSE.
v_tval2 = v_tval2 + itab_zycit049-vldp.
ENDIF.
v_desp_acr = v_desp_acr + itab_zycit049-vldp.
IF itab_zycit049-waers = wa_zycbt007-waersb.
s_fbvr = s_fbvr + itab_zycit049-vldp.
v_desp_brl = v_desp_brl + itab_zycit049-vldp.
ELSE.
v_vldp = itab_zycit049-vldp.
PERFORM calc_conv_moeda
USING itab_zycit049-waers
wa_zycbt007-waersb
CHANGING v_vldp.
s_fbvr = s_fbvr + v_vldp.
ENDIF.
IF itab_zycit049-waers EQ 'USD'.
PERFORM load_sevl.
ENDIF.
ENDIF.
ENDLOOP.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070I01
...
MODULE modi_datait INPUT.
itab_it-mark = wa_it-mark.
MOVE: v_saldo_da TO itab_it-v_saldo_da,
v_qtd_da TO itab_it-qtd_da,
v_vlreal TO itab_it-vlreal.
IF itab_it-mandt IS INITIAL.
itab_it-mandt = sy-mandt.
ENDIF.
* >> Início da exclusão: MODULE MODI_DATAIT
IF v_dit = 'S'.
ELSE.
* << Fim da exclusão
itab_it-lifnrfabr = /pws/zycie443a-lifnrfabr.
MODIFY itab_it TRANSPORTING mark v_saldo_da qtd_da vlreal ntgew
lifnrfabr
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
* >> Início da exclusão: MODULE MODI_DATAIT
ENDIF.
* << Fim da exclusão
ENDMODULE.
...
...
CHANGING t_regdes.
ELSEIF sy-dynnr = '0232'.
itab_it-codregtri = /pws/zycie443a-codregtri.
PERFORM load_regt
USING /pws/zycie443a-codregtri
w_ntimp
'1'
CHANGING t_regdes.
PERFORM fill_clas.
ELSE.
* >> Início da exclusão: MODULE LOAD_REGT
IF v_dit = 'N'.
* << Fim da exclusão
CLEAR w_ntimp.
PERFORM load_regt
USING /pws/zycie443a-codregtriipi
* >> Início da exclusão: MODULE LOAD_REGT
w_ntimp
'2'
CHANGING t_regde2.
ELSEIF v_dit = 'S'.
PERFORM load_regt
USING /pws/zycie443a-codregtriipi
* << Fim da exclusão
w_ntimp
'2'
CHANGING t_regde2.
* >> Início da exclusão: MODULE LOAD_REGT
ENDIF.
* << Fim da exclusão
ENDIF.
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070O01
...
itab_fabric-logradouro = /pws/zycie080-logradouro.
itab_fabric-nrlogr = /pws/zycie080-nrlogr.
itab_fabric-compl = /pws/zycie080-compl.
itab_fabric-regio = /pws/zycie080-regio.
itab_fabric-city = /pws/zycie080-city.
IF NOT /pws/zycie080-lifnr IS INITIAL.
APPEND itab_fabric.
ENDIF.
ENDIF.
/pws/zycit500-name1 = itab_fabric-name1.
* >> Início da inclusão: MODULE FILL_STRUCTIT
IF /pws/zycie443a-lifnrfabr NE /pws/zycie443a-lifnr.
itab_zycit451-fabricante = 2.
ELSE.
itab_zycit451-fabricante = 1.
ENDIF.
MODIFY itab_zycit451 TRANSPORTING fabricante
WHERE adicao = /pws/zycie443a-adicao.
* << Fim da inclusão
ELSEIF NOT itab_it-fabrinr IS INITIAL.
READ TABLE itab_zycit500 WITH KEY fabrinr = itab_it-fabrinr.
* >> Início da inclusão: MODULE FILL_STRUCTIT
IF itab_zycit500-name1 IS INITIAL AND
itab_zycit500-logradouro IS INITIAL AND
itab_zycit500-nrlogr IS INITIAL AND
itab_zycit500-compl IS INITIAL AND
itab_zycit500-regio IS INITIAL AND
itab_zycit500-city IS INITIAL.
itab_zycit451-fabricante = 3.
ELSE.
itab_zycit451-fabricante = 2.
ENDIF.
* << Fim da inclusão
/pws/zycit500-name1 = itab_zycit500-name1.
* >> Início da inclusão: MODULE FILL_STRUCTIT
MODIFY itab_zycit451 TRANSPORTING fabricante
WHERE adicao = /pws/zycie443a-adicao.
* << Fim da inclusão
ENDIF.
ENDMODULE.
...
...
/pws/zycie451-taxarate.
a_1parcnum = a_2parcnum = a_3parcnum =
/pws/zycie451-parcnum.
a_1periodic = a_2periodic = a_3periodic =
/pws/zycie451-periodic.
a_1indice = a_2indice = a_3indice =
/pws/zycie451-indice.
a_1valtot = a_2valtot = a_3valtot =
/pws/zycie451-valtot.
CLEAR: /pws/zycie080, /pws/zycie080a.
* >> Início da exclusão: MODULE LOAD_ADIC
v_fabric = 3.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_ADIC
/pws/zycie451-fabricante = v_fabric = 3.
* << Fim da inclusão
READ TABLE itab_it WITH KEY adicao = wa_it-adicao.
PERFORM load_forn USING: itab_it-lifnr '800'.
IF NOT itab_it-lifnrfabr IS INITIAL.
IF itab_it-lifnrfabr NE itab_it-lifnr.
* >> Início da exclusão: MODULE LOAD_ADIC
v_fabric = 2.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_ADIC
/pws/zycie451-fabricante = v_fabric = 2.
* << Fim da inclusão
PERFORM load_forn USING itab_it-lifnrfabr '80A'.
ELSE.
* >> Início da exclusão: MODULE LOAD_ADIC
v_fabric = 1.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_ADIC
/pws/zycie451-fabricante = v_fabric = 1.
* << Fim da inclusão
ENDIF.
ELSEIF NOT itab_it-fabrinr IS INITIAL.
...
...
/pws/zycie080a-compl = itab_zycit500-compl.
/pws/zycie080a-city = itab_zycit500-city.
PERFORM load_pais USING /pws/zycie080a-landa
CHANGING a_spais2 a_pais2.
IF /pws/zycie080a-name1 IS INITIAL AND
/pws/zycie080a-logradouro IS INITIAL AND
/pws/zycie080a-nrlogr IS INITIAL AND
/pws/zycie080a-compl IS INITIAL AND
/pws/zycie080a-regio IS INITIAL AND
/pws/zycie080a-city IS INITIAL.
* >> Início da exclusão: MODULE LOAD_ADIC
v_fabric = 3.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_ADIC
/pws/zycie451-fabricante = v_fabric = 3.
* << Fim da inclusão
wa_it-porigem = /pws/zycie080a-landa.
a_spais = a_spais2.
a_pais = a_pais2.
ELSE.
* >> Início da exclusão: MODULE LOAD_ADIC
v_fabric = 2.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_ADIC
/pws/zycie451-fabricante = v_fabric = 2.
* << Fim da inclusão
ENDIF.
ENDIF.
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 USING /pws/zycie442-inco1,
...