Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 21/05/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 10:02:45
Descrição da Nota: ALTERAÇÃO PARA UTILIZAR NOVA FUNÇÃO PARA BUSCAR TEXTOS
Sintoma
Ajustado programa de LI para utilizar nova a função /PWS/ZYCI_TEXTO_DETALHE_ITEM para buscar os
textos.
Solução
Ajustado programa de LI para utilizar nova a função /PWS/ZYCI_TEXTO_DETALHE_ITEM para buscar os
textos.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06611 Data: 21/05/2008 Hora: 15:37:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06611
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00048
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02850 - 00002 - 6.0 - 00026 - O SISTEMA NAO RECUPERA TEXTOS DO PEDIDO DE COMPRA
03831 - 00003 - 7.0 - 00001 - NÃO CRIA TEXTOS DA LI ENQUANTO NÃO NAVEGA PELOS ITENS.
06559 - 00004 - 7.0 - 00005 - AO PARAMETRIZAR ORIGEM DE INFORECORD, NAO CARREGA TEXTO LI
06593 - 00001 - 7.0 - 00005 - DESENVOLVIMENTO DE FUNÇÃO PARA TRATAR TEXTOS DESCRITIVOS DI/LI
----------------------------------------------------------------------------------------------------
ALTERAÇÃO PARA UTILIZAR NOVA FUNÇÃO PARA BUSCAR TEXTOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
FUNÇÃO - TEXTOS - LI
/PWS/SAPMZYCI020
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI020F01
REPS /PWS/MZYCI020F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F01
...
v_tcode EQ '/PWS/ZYCI020_I' OR
v_tcode EQ '/PWS/ZYCI020_P'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ /pws/zycie078-nrseqli.
IF sy-subrc NE 0.
LOOP AT it_zycit079.
CLEAR v_txtki.
CONCATENATE it_zycit079-nrseqli it_zycit079-ebeln
it_zycit079-ebelp INTO v_txtki.
IF v_tcode EQ '/PWS/ZYCI020_C' .
* >> Início da exclusão: FORM QUEST_GRAVACAO
IF v_salvo EQ 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM QUEST_GRAVACAO
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'ZTLI'
language = sy-langu
name = v_txtki
object = '/PWS/ITLI'
TABLES
lines = itab_tline
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.
* << Fim da inclusão
CALL FUNCTION 'DELETE_TEXT'
EXPORTING
id = 'ZTLI'
language = sy-langu
name = v_txtki
object = '/PWS/ITLI'.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc = 0.
READ TABLE rtexti INDEX 1.
ENDIF.
IF rtexti IS INITIAL.
CLEAR rtexti.
REFRESH rtexti.
* >> Início da exclusão: FORM FILL_DESC
IF itab_zycit229[] IS INITIAL.
SELECT * FROM /pws/zycit229 INTO TABLE itab_zycit229
WHERE codeven EQ 'LI'.
ENDIF.
SORT itab_zycit229 BY codseq.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
DATA: v_spras LIKE ekko-spras.
LOOP AT itab_zycit229.
CLEAR: v_name, v_texto, itab_makt, itab_stxl, v_spras.
FREE: itab_makt, itab_stxl.
IF itab_zycit229-spras NE space.
v_spras = itab_zycit229-spras.
ELSE.
SELECT SINGLE spras FROM ekko INTO v_spras
WHERE ebeln = /pws/zycie079a-ebeln.
ENDIF.
IF itab_zycit229-txtdesc = '01'.
SELECT SINGLE * FROM makt INTO itab_makt
WHERE matnr = it_ekpo-matnr
AND spras = v_spras.
IF sy-subrc = 0.
rtexti-tdformat = '*'.
rtexti-tdline = itab_makt-maktx.
APPEND rtexti.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '02'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'MATERIAL' AND
tdname = it_ekpo-matnr AND
tdid = 'BEST' AND
tdspras = v_spras.
IF sy-subrc = 0.
v_name = it_ekpo-matnr.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '03'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'MATERIAL' AND
tdname = it_ekpo-matnr AND
tdid = 'GRUN' AND
tdspras = v_spras.
IF sy-subrc = 0.
v_name = it_ekpo-matnr.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '04'.
CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.
IF NOT v_name IS INITIAL AND v_name NE '00000'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'EKPO' AND
tdname = v_name AND
tdid = 'F01' AND
tdspras = v_spras.
IF sy-subrc = 0.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '05'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'MATERIAL' AND
tdname = it_ekpo-matnr AND
tdid = 'BEST' AND
tdspras = v_spras.
IF sy-subrc = 0.
v_name = it_ekpo-matnr.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '06'.
CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.
IF NOT v_name IS INITIAL AND v_name NE '00000'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'EKPO' AND
tdname = v_name AND
tdid = 'F04' AND
tdspras = v_spras AND
srtf2 = 0.
IF sy-subrc = 0.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '07'.
CONCATENATE it_zycit079-ebeln it_zycit079-ebelp INTO v_name.
IF NOT v_name IS INITIAL AND v_name NE '00000'.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'EKPO' AND
tdname = v_name AND
tdid = 'F05' AND
tdspras = v_spras AND
srtf2 = 0.
IF sy-subrc = 0.
PERFORM read_text_especif CHANGING v_texto.
ELSE.
v_name = it_ekpo-infnr.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'EINA' AND
tdname = v_name AND
tdid = 'AT' AND
tdspras = v_spras AND
srtf2 = 0.
IF sy-subrc IS INITIAL.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '09'.
SELECT SINGLE werks FROM ekpo INTO v_werks WHERE
ebeln = it_zycit079-ebeln AND
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ 0.
SELECT SINGLE name1 FROM t001w INTO v_name WHERE
werks = v_werks.
IF sy-subrc EQ 0.
rtexti-tdformat = '*'.
CONCATENATE text-169 v_name
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '10'.
SELECT SINGLE werks FROM ekpo INTO v_werks WHERE
ebeln = it_zycit079-ebeln AND
ebelp = it_zycit079-ebelp.
IF sy-subrc EQ 0.
SELECT SINGLE stras ort01 regio FROM t001w INTO wa_ender
WHERE werks = v_werks.
IF sy-subrc EQ 0.
rtexti-tdformat = '*'.
CONCATENATE text-170 wa_ender-stras wa_ender-ort01
wa_ender-regio
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ENDIF.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '11'.
rtexti-tdformat = '*'.
CONCATENATE text-172 it_zycit079-ebeln
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ELSEIF itab_zycit229-txtdesc = '12'.
rtexti-tdformat = '*'.
CONCATENATE text-171 it_zycit079-ebelp
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ELSEIF itab_zycit229-txtdesc = '13'.
v_name = it_ekpo-infnr.
SELECT SINGLE * FROM stxl INTO itab_stxl
WHERE relid = 'TX' AND
tdobject = 'EINA' AND
tdname = v_name AND
tdid = 'AT' AND
tdspras = v_spras AND
srtf2 = 0.
IF sy-subrc IS INITIAL.
PERFORM read_text_especif CHANGING v_texto.
ENDIF.
ELSEIF itab_zycit229-txtdesc = '14'.
SELECT SINGLE matnr FROM ekpo INTO v_matnr
WHERE ebeln = /PWS/ZYCIE079A-ebeln
AND ebelp = /PWS/ZYCIE079A-ebelp.
SELECT SINGLE * FROM makt INTO itab_makt
WHERE matnr = v_matnr
AND spras = v_spras.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
CALL FUNCTION '/PWS/ZYCI_TEXTO_DETALHE_ITEM'
* << Fim da inclusão
EXPORTING
* >> Início da exclusão: FORM FILL_DESC
input = itab_makt-matnr
IMPORTING
output = v_mat.
IF sy-subrc = 0.
rtexti-tdformat = '*'.
CONCATENATE 'P/N:' v_mat
INTO rtexti-tdline SEPARATED BY space.
APPEND rtexti.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DESC
ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp
codeven = 'LI'
TABLES
rtext = rtexti
.
IF sy-subrc <> 0.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM FILL_DESC
ENDLOOP.
* << Fim da exclusão
IF NOT /pws/zycie078-nrseqd IS INITIAL.
PERFORM verifica_generico.
ENDIF.
READ TABLE rtexti INDEX 1.
CLEAR rtexti-tdformat.
v_esp = rtexti-tdline.
...