Módulo: DOC. IMPORTAÇÃO
Funcionalidade: PLI
Data/Hora da Publicação: 30/08/2010 00:00:00
Data/Hora Última Alteração: 30/08/2010 14:50:24
Descrição da Nota: ARQUIVO DA PLI ESTAVA DISPOSICIONANDO OS CAMPOS DO REGISTRO 03
Sintoma
O registro 03 alguns campos estão sendo disposicionados
Solução
Não utilizar o separador em Branco ao concatenar os textos
8.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10549 Data: 30/08/2010 Hora: 14:21:25
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10549
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00004
Agrupamento : 00037
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ARQUIVO DA PLI ESTAVA DISPOSICIONANDO OS CAMPOS DO REGISTRO 03
----------------------------------------------------------------------------------------------------
Palavras Chave:
PLI - ARQUIVO - TEXTO - TXT - REGISTRO - 03
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCIR041
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCIR041
...
DATA: v_texto TYPE string.
DATA: v_texto3 TYPE string.
DATA: v_texto2 TYPE string.
DATA: v_cont TYPE i.
DATA: v_cont_line TYPE i.
DATA: v_cont_aux TYPE i.
DATA: v_cont_texto TYPE i.
DATA: v_cont_do TYPE i.
DATA: v_spaco.
CONSTANTS: v_max TYPE i VALUE '3723'.
* >> Início da inclusão: FORM MONTA_03
DATA BEGIN OF itab_zycit338 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit338.
DATA END OF itab_zycit338.
* << Fim da inclusão
CLEAR v_txtki.
CLEAR v_matnr.
CLEAR v_codfufra.
v_matnr = it_reg03-part_number.
v_codfufra = it_reg03-produto_zfm.
REPLACE '¤' WITH ' ' INTO v_matnr.
WHILE sy-subrc EQ 0.
REPLACE '¤' WITH ' ' INTO v_matnr.
ENDWHILE.
CONCATENATE sy-mandt
v_matnr
INTO v_txtki.
* >> Início da exclusão: FORM MONTA_03
v_txtki+21 = v_codfufra.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
SELECT SINGLE matnr FROM ekpo INTO v_matnr
WHERE ebeln = it_reg03-ebeln
AND ebelp = it_reg03-ebelp.
SELECT SINGLE * FROM /pws/zycit338 INTO itab_zycit338
WHERE matnr = v_matnr
AND codsufra = v_codfufra.
READ TABLE itab_zycit338 INDEX 1.
CLEAR v_txtki.
itab_zycit338-mandt = sy-mandt.
itab_zycit338-matnr = v_matnr.
v_txtki = itab_zycit338(25).
* << Fim da inclusão
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0338'
language = sy-langu
name = v_txtki
object = '/PWS/ZYCI'
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.
v_cont = 0.
CLEAR v_texto.
* >> Início da exclusão: FORM MONTA_03
LOOP AT itab_tline.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
READ TABLE itab_tline INDEX 1.
* << Fim da inclusão
v_cont_line = strlen( itab_tline ).
v_cont_aux = v_cont + v_cont_line.
* >> Início da inclusão: FORM MONTA_03
LOOP AT itab_tline.
* << Fim da inclusão
IF v_cont_aux < v_max.
IF sy-tabix = 1.
CONCATENATE
v_texto itab_tline-tdline INTO v_texto.
ELSE.
...
...
v_texto itab_tline-tdline INTO v_texto SEPARATED BY space.
ENDIF.
v_cont = v_cont + v_cont_line + 1.
ELSE.
v_cont_line = v_cont_line - ( v_cont_aux - v_max ) - 1.
CONCATENATE
v_texto itab_tline-tdline(v_cont_line) INTO v_texto
SEPARATED BY space.
EXIT.
ENDIF.
* >> Início da inclusão: FORM MONTA_03
v_cont_line = strlen( itab_tline ).
v_cont_aux = v_cont + v_cont_line.
* << Fim da inclusão
ENDLOOP.
v_spaco = ' '.
v_cont_texto = strlen( v_texto ).
v_cont_do = v_cont_texto.
DO.
IF v_cont_do <= 3723 .
CONCATENATE v_texto v_spaco INTO v_texto SEPARATED BY space.
v_cont_do = v_cont_do + 1.
ELSE.
EXIT.
ENDIF.
ENDDO.
* >> Início da inclusão: FORM MONTA_03
MOVE v_texto(3723) TO v_texto.
* << Fim da inclusão
CONCATENATE v_texto
it_reg03-ref_fabric
it_reg03-part_number
it_reg03-mat_prima
* >> Início da exclusão: FORM MONTA_03
INTO v_texto2 SEPARATED BY space
* << Fim da exclusão
* >> Início da inclusão: FORM MONTA_03
INTO v_texto2.
* << Fim da inclusão
.
CONCATENATE it_output_30-filler01 v_texto2
INTO it_output_30-filler01.
REPLACE '¤' WITH ' ' INTO it_output_30-filler01.
WHILE sy-subrc EQ 0.
REPLACE '¤' WITH ' ' INTO it_output_30-filler01.
ENDWHILE.
ELSE.
DATA w_brancoss(3783).
ENDIF.
...