SDюк написал:
Добрый день.
Вот так вроде работает.
theader - ид текста
lines - собственно сам текст
тестил в поставке, в бади LE_SHP_TAB_CUST_HEAD
Code:
CONSTANTS MEMORY_CAT(8) VALUE 'SAPLSTXD'.
DATA:
theader TYPE THEAD
, lines TYPE STANDARD TABLE OF tline
, t_catalog TYPE STANDARD TABLE OF TCATALOG
, l_catalog LIKE LINE OF t_catalog
, MEMORY_TXT(30)
.
IMPORT CATALOG TO t_catalog FROM MEMORY ID MEMORY_CAT.
IF t_catalog IS NOT INITIAL.
LOOP AT t_catalog INTO l_catalog.
CLEAR MEMORY_TXT.
CONCATENATE MEMORY_CAT l_catalog-id INTO MEMORY_TXT.
IMPORT THEAD TO THEADER
TLINE TO LINES
FROM MEMORY ID MEMORY_TXT.
ENDLOOP.
ENDIF.
люди у меня не работает не тот ни другой способ может бади не тот ? таблица t_catalog не заполняется
method IF_EX_LE_SHP_DELIVERY_PROC~SAVE_AND_PUBLISH_DOCUMENT.
BREAK-POINT.
CONSTANTS MEMORY_CAT(8) VALUE 'SAPLSTXD'.
DATA:
theader TYPE THEAD
, lines TYPE STANDARD TABLE OF tline
, t_catalog TYPE STANDARD TABLE OF TCATALOG
, l_catalog LIKE LINE OF t_catalog
, MEMORY_TXT(30)
.
IMPORT CATALOG TO t_catalog FROM MEMORY ID MEMORY_CAT.
IF t_catalog IS NOT INITIAL.
LOOP AT t_catalog INTO l_catalog.
CLEAR MEMORY_TXT.
CONCATENATE MEMORY_CAT l_catalog-id INTO MEMORY_TXT.
IMPORT THEAD TO THEADER
TLINE TO LINES
FROM MEMORY ID MEMORY_TXT.
ENDLOOP.
ENDIF.
* DATA: WA_XLIKP TYPE LINE OF SHP_LIKP_T.
* DATA: L_DELNUMB TYPE VBELN_VL.
* DATA: L_NAME TYPE THEAD-TDNAME.
* DATA: LT_LINE1 TYPE TABLE OF TLINE. " OCCURS 0.
* DATA: G_TRANSPORT TYPE string.
*
*
* BREAK-POINT.
*
*
* LOOP AT IT_XLIKP INTO WA_XLIKP.
* "IF WA_XLIKP-LFART = 'LO'. "and SY-TCODE = 'VL01N'.
*
*
* CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
* EXPORTING
* INPUT = WA_XLIKP-VBELN
* IMPORTING
* OUTPUT = L_DELNUMB.
* L_NAME = L_DELNUMB.
* CALL FUNCTION 'READ_TEXT'
* EXPORTING
* CLIENT = SY-MANDT
* ID = '0002'
* LANGUAGE = 'E'
* NAME = 'XXXXXXXXXX' "L_NAME
* OBJECT = 'VBBK'
* TABLES
* LINES = LT_LINE1
* EXCEPTIONS
* ID = 1
* LANGUAGE = 2
* NAME = 3
* NOT_FOUND = 4
* OBJECT = 5
* REFERENCE_CHECK = 6
* WRONG_ACCESS_TO_ARCHIVE = 7
* OTHERS = 8.
* CLEAR G_TRANSPORT.
* IF SY-SUBRC = 0.
* READ TABLE LT_LINE1 INDEX 1 INTO G_TRANSPORT.
* IF G_TRANSPORT(1) = '*'.
* SHIFT G_TRANSPORT LEFT DELETING LEADING '*'.
* ENDIF.
* ENDIF.
*
*
*
* MESSAGE 'Sending SMS!' TYPE 'I' .
*
* "ENDIF.
*
*
* ENDLOOP.
endmethod.