Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

concatenate object with space

Former Member
0 Kudos

I am using function read_text to retrieve the material sales order text, but I got some problem while I pass the parameter, Actually, the parameter name is material + sales org + division, and the material should be 18 characters, but when I retrieve the data from mara, the material will be trim. So, how to formatting the parameter. Thanks!

The correct parameter: 'MAT0001 CO0100'

My parameter: 'MAT0001CO0100'

CALL FUNCTION 'READ_TEXT'

EXPORTING

  • CLIENT = SY-MANDT

ID = '0001'

LANGUAGE = 'E'

NAME = TNAME

OBJECT = 'MVKE'

  • ARCHIVE_HANDLE = 0

IMPORTING

HEADER = HTEXT

TABLES

LINES = LTEXT

EXCEPTIONS

ID = 1

LANGUAGE = 2

NAME = 3

NOT_FOUND = 4

OBJECT = 5

REFERENCE_CHECK = 6

WRONG_ACCESS_TO_ARCHIVE = 7

OTHERS = 8.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

try like this

concatenate matnr0(18) vkorg19(4) spart+24(4) into v_text

Regards

Shiva

11 REPLIES 11

Former Member
0 Kudos

Hi

try like this

concatenate matnr0(18) vkorg19(4) spart+24(4) into v_text

Regards

Shiva

former_member208856
Active Contributor
0 Kudos

use concatenate :

concatenate material salseorg separated by SPACE.

Sandeep

Former Member
0 Kudos

Hi,

check this code, this program extracts material master sales text (MM03 ).

check the logic in bold letters.

TABLES:MVKE.

DATA:BEGIN OF GI_MVKE OCCURS 0,

MATNR LIKE MARA-MATNR,

VKORG LIKE MVKE-VKORG,

VTWEG LIKE MVKE-VTWEG,

END OF GI_MVKE.

DATA:BEGIN OF GI_FINAL OCCURS 0,

MATNR LIKE MARA-MATNR,

VKORG LIKE MVKE-VKORG,

VTWEG LIKE MVKE-VTWEG,

SO_TEXT(2500),

END OF GI_FINAL.

DATA : NAME1 LIKE THEAD-TDNAME,

ID LIKE THEAD-TDID VALUE '0001',

LANGUAGE LIKE THEAD-TDSPRAS VALUE 'E',

OBJECT LIKE THEAD-TDOBJECT VALUE 'MVKE'.

DATA LI_LINE LIKE TLINE OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF FIELDNAMES OCCURS 0,

FIELD(32),

END OF FIELDNAMES.

DATA FILE TYPE STRING.

************************SELECTION SCREEN**************************

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN: SKIP.

SELECT-OPTIONS : P_MATNR FOR MVKE-MATNR .

SELECT-OPTIONS : P_VKORG FOR MVKE-VKORG .

SELECT-OPTIONS : P_VTWEG FOR MVKE-VTWEG .

SELECTION-SCREEN: SKIP.

PARAMETER : PFNAME LIKE RLGRAP-FILENAME OBLIGATORY .

SELECTION-SCREEN: SKIP.

SELECTION-SCREEN : END OF BLOCK B1.

*********************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR PFNAME.

PERFORM SEARCH USING PFNAME.

START-OF-SELECTION.

PERFORM FETCH_DATA.

PERFORM DOWNLOAD TABLES GI_FINAL FIELDNAMES USING PFNAME.

----


  • FORM fetch_data *

----


  • ........ *

----


FORM FETCH_DATA.

SELECT MATNR

VKORG

VTWEG

FROM MVKE

INTO TABLE GI_MVKE

WHERE MATNR IN P_MATNR

AND VKORG IN P_VKORG

AND VTWEG IN P_VTWEG

AND LVORM NE 'X'.

DATA : NAME1 TYPE RSTXT-TDNAME.

DATA : NAME TYPE RSTXT-TDNAME.

DATA : CNT TYPE I.

DATA CHAR(23).

SORT GI_MVKE BY MATNR VKORG VTWEG.

DELETE ADJACENT DUPLICATES FROM GI_MVKE COMPARING MATNR VKORG VTWEG.

CNT = 0.

****Process the Data

LOOP AT GI_MVKE.

CNT = CNT + 1.

IF CNT = 100.

CALL FUNCTION 'PROGRESS_INDICATOR'

EXPORTING

I_TEXT = 'PROCESSING THE LOOP'.

CLEAR CNT.

ENDIF.

PERFORM CONVERSION USING GI_MVKE-MATNR

CHANGING GI_MVKE-MATNR.

PERFORM CONVERSION USING GI_MVKE-VKORG

CHANGING GI_MVKE-VKORG.

PERFORM CONVERSION USING GI_MVKE-VTWEG

CHANGING GI_MVKE-VTWEG.

NAME1 = GI_MVKE-MATNR.

NAME1+18 = GI_MVKE-VKORG.

CONCATENATE NAME1 GI_MVKE-VTWEG INTO NAME1.

TRANSLATE NAME1 TO UPPER CASE.

CALL FUNCTION 'READ_TEXT'

EXPORTING

ID = ID

LANGUAGE = LANGUAGE

NAME = NAME1

OBJECT = OBJECT

TABLES

LINES = LI_LINE

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 = 0.

LOOP AT LI_LINE.

GI_FINAL-SO_TEXT = LI_LINE-TDLINE.

MOVE:GI_MVKE-MATNR TO GI_FINAL-MATNR,

GI_MVKE-VKORG TO GI_FINAL-VKORG,

GI_MVKE-VTWEG TO GI_FINAL-VTWEG.

APPEND GI_FINAL.

CLEAR GI_FINAL.

ENDLOOP.

ENDIF.

ENDLOOP.

****Download the File

************************************************************************

********************END OF COMPLETE EXTRACTION************************

************************************************************************

ENDFORM. " col_header

----


  • FORM CONVERSION *

----


  • ........ *

----


  • --> P_INPUT *

  • --> P_OUTPUT *

----


FORM CONVERSION USING P_INPUT

CHANGING P_OUTPUT.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = P_INPUT

IMPORTING

OUTPUT = P_OUTPUT.

ENDFORM. "CONVERSION

----


  • FORM HEADER *

----


  • ........ *

----


FORM HEADER.

FIELDNAMES-FIELD = 'Material Number'.

APPEND FIELDNAMES.

CLEAR FIELDNAMES.

FIELDNAMES-FIELD = 'Sales Org'.

APPEND FIELDNAMES.

CLEAR FIELDNAMES.

FIELDNAMES-FIELD = 'Dist CHN'.

APPEND FIELDNAMES.

CLEAR FIELDNAMES.

FIELDNAMES-FIELD = 'SO Text'.

APPEND FIELDNAMES.

CLEAR FIELDNAMES.

ENDFORM. "HEADER

----


  • FORM DOWNLOAD *

----


  • ........ *

----


  • --> T_TABLE *

  • --> FIELDNAMES *

  • --> FNAME *

----


FORM DOWNLOAD TABLES T_TABLE FIELDNAMES USING FNAME .

IF NOT GI_FINAL[] IS INITIAL.

SORT GI_FINAL BY MATNR VKORG VTWEG.

PERFORM HEADER.

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

  • BIN_FILESIZE = ' '

  • CODEPAGE = ' '

FILENAME = FNAME

FILETYPE = 'DAT'

  • MODE = ' '

  • WK1_N_FORMAT = ' '

  • WK1_N_SIZE = ' '

  • WK1_T_FORMAT = ' '

  • WK1_T_SIZE = ' '

  • COL_SELECT = ' '

  • COL_SELECTMASK = ' '

  • NO_AUTH_CHECK = ' '

  • IMPORTING

  • FILELENGTH =

TABLES

DATA_TAB = T_TABLE[]

FIELDNAMES = FIELDNAMES[]

  • EXCEPTIONS

  • FILE_OPEN_ERROR = 1

  • FILE_WRITE_ERROR = 2

  • INVALID_FILESIZE = 3

  • INVALID_TYPE = 4

  • NO_BATCH = 5

  • UNKNOWN_ERROR = 6

  • INVALID_TABLE_WIDTH = 7

  • GUI_REFUSE_FILETRANSFER = 8

  • CUSTOMER_ERROR = 9

  • OTHERS = 10

.

IF SY-SUBRC = 0.

WRITE:/10 'DATA DOWNLOADED SUCCESSFULLY'.

ENDIF.

ENDIF.

ENDFORM. " DOWNLOAD

----


  • FORM SEARCH *

----


  • ........ *

----


  • --> V_FILE *

----


FORM SEARCH USING V_FILE.

CALL FUNCTION 'KD_GET_FILENAME_ON_F4'

EXPORTING

STATIC = 'X'

CHANGING

FILE_NAME = V_FILE.

ENDFORM. "SEARCH

Regards

Siva Prasad

Former Member
0 Kudos

hi,

check the sample code,

declare a internal table with actual field length & tname.

it-matnr = 'MAT0001'

it_n1 = 'CO0100'.

tname = it.

CALL FUNCTION 'READ_TEXT'

EXPORTING

CLIENT = SY-MANDT

ID = '0001'

LANGUAGE = 'E'

NAME = TNAME

OBJECT = 'MVKE'

it may work.

regards,

sathis

Former Member
0 Kudos

Hi,

You want the 18 characters of your material number you have to use FM 'conversion_exit_alpha_input' and use concatenate for which you donot want space and concatenate the others with space as shown below.

concatenate 'MAT' '0001' into a.

concatenate 'CO' '0100' into b.

concatenate 'a' 'b' into x with space.

Former Member
0 Kudos

Hi,

You want the 18 characters of your material number you have to use FM 'conversion_exit_alpha_input' and use concatenate for which you donot want space and concatenate the others with space as shown below.

concatenate 'MAT' '0001' into a.

concatenate 'CO' '0100' into b.

concatenate 'a' 'b' into x with space.

jayanthi_jayaraman
Active Contributor
0 Kudos

Hi,

Use translate.

Example:

data: str(20) type c.

str = 'abc-xyz'.

TRANSLATE STR USING '- '.

write str.

Former Member
0 Kudos

Hi,

Use

CONCATENATE <A> <B> into <C> with space.

Regards

Akshay

Former Member
0 Kudos

Hi,

Use FM conversion_exit_matn1_input to get 18 chars length for Material Number.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'

EXPORTING

input = v_matnr

IMPORTING

output = v_matnr.

concatenate v_matnr salesorg distchn into x with space.

regards,

Siva.

Former Member
0 Kudos

Hi try any one of these

Concatenate matnr vkorg spart into v_total separated by space.

OR

concatenate matnr0(18) vkorg19(4) spart+24(4) into v_total.

thanks

KAZA

Former Member
0 Kudos

hi

just see this sample code: you can understand..

data: lv_name like thead-tdname,

lv_line2 like tline occurs 0 with header line.

loop at lt_mvke.

concatenate

lt_mvke-matnr

lt_mvke-vkorg

lt_mvke-vtweg

into lv_name.

call function 'READ_TEXT'

exporting

client = sy-mandt

id = '0001'

language = sy-langu

name = lv_name

object = 'MVKE'

tables

lines = lv_line2

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.

delete lv_line2 where tdline eq space.

read table lv_line2 index 1.

if sy-subrc = 0.

move lv_line2-tdline to lt_mvke-tdline.

endif.

endif.

modify lt_mvke.

endloop.

ThankQ,

GSANA