Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Despesas
Data/Hora da Publicação: 27/03/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:50:49
Descrição da Nota: SELEÇÃO DE CONTAS PARA ITENS SEM MATUSE
Sintoma
Não está contabilizando a fatura de despesa para itens sem matuse.
Solução
Ajustado programa para buscar a conta utilizando a classe de avaliação de acordo com o grupo de
mercadoria informado no pedido.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08250 Data: 27/03/2009 Hora: 11:37:23
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08250
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00009
Agrupamento : 00091
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03893 - 00001 - 7.0 - 00001 - AJUSTE DE PERFORMANCE NA CRIAÇÃO DA FATURA
05776 - 00002 - 7.0 - 00004 - RATEIO DAS DESPESAS
08116 - 00003 - 7.0 - 00008 - IMPLEMENTAÇÃO DA FATURA DE SERVIÇO COM PEDIDO DE SERVIÇO
----------------------------------------------------------------------------------------------------
SELEÇÃO DE CONTAS PARA ITENS SEM MATUSE
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - ITENS - MATUSE - UTILIZAÇÃO - CONTAS - SELEÇÃO
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003O01
REPS /PWS/MZYCI003TOP
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
/pws/zycie006-tpfatura EQ '11'.
IF NOT itab_zycit003[] IS INITIAL.
CLEAR: itab_ekkn. FREE itab_ekkn.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
CLEAR: itab_matuse. FREE itab_matuse.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
matkl
* << Fim da inclusão
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT werks bwkey FROM t001w INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_matuse WHERE
...
...
itab_matuse-bwkey = itab_t001w-bwkey.
MODIFY itab_matuse.
ENDIF.
ENDLOOP.
SELECT matnr bwkey bwtar bklas
FROM mbew INTO TABLE itab_classe_aval
FOR ALL ENTRIES IN itab_matuse
WHERE matnr EQ itab_matuse-matnr
AND bwkey EQ itab_matuse-bwkey
AND bwtar EQ itab_matuse-bwtar.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
IF /pws/zycie006-tpfatura EQ '11' AND
itab_classe_aval[] IS INITIAL.
SELECT matnr bwkey bwtar bklas
FROM mbew INTO TABLE itab_classe_aval
FOR ALL ENTRIES IN itab_matuse
WHERE bwkey EQ itab_matuse-bwkey
AND mtuse EQ space. "#EC CI_NOFIRST
READ TABLE itab_classe_aval INDEX 1.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF.
* << Fim da exclusão
IF NOT itab_classe_aval[] IS INITIAL.
SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe
FOR ALL ENTRIES IN itab_classe_aval
WHERE bklas EQ itab_classe_aval-bklas.
ENDIF.
CLEAR: itab_zycbt035_aux. FREE itab_zycbt035_aux.
...
...
bwkey = itab_zycit003-werks
bwtar = itab_matuse-bwtar.
IF sy-subrc EQ 0.
MOVE:
itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
ELSE.
IF /pws/zycie006-tpfatura EQ '11'.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp ,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
* << Fim da exclusão
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp ,
space TO itab_zycbt035_aux-bklas .
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
* << Fim da inclusão
ENDIF.
ENDIF.
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_parcela = 'X' AND /pws/zycit477 IS INITIAL.
IF v_line = v_index.
itab_zycbt035_aux-wrbtr = itab_zycit132-vlparc - v_tot_parc.
ELSE.
itab_zycbt035_aux-wrbtr = itab_zycit132-vlparc *
( itab_zycit003-total / /pws/zycie006-vltotal ).
PERFORM trata_decimais USING /pws/zycie006-waers
...
...
ENDLOOP.
CLEAR: itab_ekkn. FREE itab_ekkn.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
CLEAR: itab_matuse. FREE itab_matuse.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
matkl
* << Fim da inclusão
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT werks bwkey FROM t001w INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_matuse WHERE
...
...
itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp ,
space TO itab_zycbt035_aux-bklas .
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF.
* << Fim da inclusão
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_index = v_line.
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_frete.
...
...
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_matuse. FREE itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
matkl
* << Fim da inclusão
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT werks bwkey FROM t001w INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_matuse WHERE
...
...
ebelp = itab_zycit003-ebelp.
CLEAR itab_ekkn.
READ TABLE itab_ekkn WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
CLEAR itab_matuse.
READ TABLE itab_matuse WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp,
space TO itab_zycbt035_aux-bklas .
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
ENDIF.
* << Fim da inclusão
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_index = v_line.
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_seg.
ELSE.
IF /pws/zycit031-inco1_ci = 'FOB'.
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal *
( itab_frete-total +
( itab_zycit003-vlreal * itab_zycit003-qtd_iten ) ) /
( v_tfrete + v_tvlreal ).
ELSEIF /pws/zycit031-inco1_ci = 'CIF' OR
...
...
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_matuse. FREE itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
matkl
* << Fim da inclusão
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT werks bwkey FROM t001w INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_matuse WHERE
...
...
itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp,
space TO itab_zycbt035_aux-bklas .
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF.
* << Fim da inclusão
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_index = v_line.
itab_zycbt035_aux-wrbtr = itab_zycit047-vldp - v_valor_desp.
...
...
CLEAR: itab_ekkn. FREE itab_ekkn.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_matuse. FREE itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks matkl
* << Fim da inclusão
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
SELECT werks bwkey FROM t001w INTO TABLE itab_t001w
FOR ALL ENTRIES IN itab_matuse WHERE
...
...
itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp,
space TO itab_zycbt035_aux-bklas .
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF.
* << Fim da inclusão
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_index = v_line.
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_desp.
...
...
CLEAR: itab_zycbt035 ,
itab_zycbt035_aux2.
REFRESH: itab_zycbt035,
itab_zycbt035_aux2.
FREE : itab_zycbt035 ,
itab_zycbt035_aux2.
CLEAR v_tot_valor.
IF itab_zycit003[] IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
WHERE nrfat = /pws/zycie006-nrfat
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF /pws/zycit006-tpfatura = '01'.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat."#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat. "#EC CI_NOFIELD
* << Fim da inclusão
ELSE.
IF NOT itab_zycit094[] IS INITIAL.
...
...
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn
INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
FREE itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
knttp werks umrez umren lmein
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
knttp werks umrez umren lmein matkl
* << Fim da inclusão
FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval ,
itab_param_classe.
REFRESH: itab_classe_aval ,
itab_param_classe.
IF NOT itab_matuse[] IS INITIAL.
...
...
IF sy-subrc EQ 0.
itab_matuse-bwkey = itab_t001w-bwkey.
MODIFY itab_matuse.
ENDIF.
ENDLOOP.
SELECT matnr bwkey bwtar bklas FROM mbew INTO TABLE itab_classe_aval
FOR ALL ENTRIES IN itab_matuse
WHERE matnr EQ itab_matuse-matnr
AND bwkey EQ itab_matuse-bwkey
AND bwtar EQ itab_matuse-bwtar.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
IF /pws/zycie006-tpfatura EQ '11' AND
itab_classe_aval IS INITIAL.
SELECT matnr bwkey bwtar bklas
FROM mbew INTO TABLE itab_classe_aval
FOR ALL ENTRIES IN itab_matuse
WHERE bwkey EQ itab_matuse-bwkey
AND mtuse EQ space. "#EC CI_NOFIRST
READ TABLE itab_classe_aval INDEX 1.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
ENDIF.
* << Fim da exclusão
IF NOT itab_classe_aval[] IS INITIAL.
SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe
FOR ALL ENTRIES IN itab_classe_aval
WHERE bklas EQ itab_classe_aval-bklas.
ENDIF.
FREE itab_zycbt035_aux.
...
...
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
IF /pws/zycie006-tpfatura EQ '11'.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
IF itab_matuse-j_1bmatuse IS INITIAL.
CLEAR: itab_t023.
READ TABLE itab_t023 WITH KEY matkl = itab_matuse-matkl.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t023 INTO itab_t023
WHERE matkl EQ itab_matuse-matkl.
APPEND itab_t023.
ENDIF.
MOVE: itab_t023-bklas TO itab_zycbt035_aux-bklas.
* << Fim da inclusão
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ENDIF.
itab_zycbt035_aux-wrbtr = itab_zycit003-total.
itab_zycbt035_aux-werks = itab_zycit003-werks.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
ebelp = itab_zycit003-ebelp.
IF sy-subrc NE 0.
DELETE itab_zycit003.
ENDIF.
ENDLOOP.
MOVE itab_zycit003[] TO itab_zycit003_ini[].
CLEAR v_importou.
ENDIF.
IF NOT itab_zycit003[] IS INITIAL AND itab_matuse[] IS INITIAL.
FREE itab_matuse.
* >> Início da exclusão: MODULE LOAD_DATA
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp FROM ekpo
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp matkl FROM ekpo
* << Fim da inclusão
INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
IF NOT itab_matuse[] IS INITIAL.
SELECT matnr mfrpn FROM mara
INTO TABLE itab_mara
FOR ALL ENTRIES IN itab_matuse
WHERE matnr EQ itab_matuse-matnr.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003TOP
...
DATA: BEGIN OF itab_matuse OCCURS 0.
DATA: ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
bwtar LIKE ekpo-bwtar,
j_1bmatuse LIKE ekpo-j_1bmatuse,
knttp LIKE ekpo-knttp,
werks LIKE t001w-werks,
* >> Início da inclusão:
matkl LIKE ekpo-matkl,
* << Fim da inclusão
bwkey LIKE mbew-bwkey.
DATA: END OF itab_matuse .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
* >> Início da inclusão:
DATA: itab_t023 TYPE t023 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA: END OF COMMON PART.