Skip to Content
0
Former Member
Apr 23, 2007 at 09:14 AM

Structure

16 Views

HI Friendz,

i am trying to create a structure using abap program,

but after executing the program, Structure is created, but the first field(FIELD1) is missing, pls any one help me... this is my code

<b>points for sure</b>

Thanks and Regards,

Vijaya

DATA: my_row(500) TYPE c,

my_file_1 LIKE my_row OCCURS 0 WITH HEADER LINE.

DATA: dd02v TYPE dd02v.

DATA: my_file_tab1 LIKE dd03p OCCURS 0 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text

NO INTERVALS.

PARAMETERS:

name TYPE ddobjname,

testo TYPE text40,

file_1 LIKE rlgrap-filename.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN END OF BLOCK blk.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR file_1.

PERFORM file_selection USING file_1.

INITIALIZATION.

text = text-001.

START-OF-SELECTION.

IF file_1 IS INITIAL.

MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 001.

EXIT.

ENDIF.

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

filename = file_1

filetype = 'ASC'

TABLES

data_tab = my_file_1.

IF sy-subrc <> 0.

MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 002.

EXIT.

ENDIF.

LOOP AT my_file_1.

IF sy-tabix Gt 1.

CLEAR my_file_tab1.

SPLIT my_file_1 AT ';' INTO

my_file_tab1-fieldname

my_file_tab1-datatype

my_file_tab1-leng

my_file_tab1-decimals

my_file_tab1-ddtext

.

my_file_tab1-inttype = 'C'.

my_file_tab1-intlen = my_file_tab1-leng.

my_file_tab1-tabname = name.

my_file_tab1-position = sy-tabix - 1.

my_file_tab1-ddlanguage = sy-langu.

my_file_tab1-outputlen = my_file_tab1-leng.

APPEND my_file_tab1.

ENDIF.

ENDLOOP.

dd02v-tabname = name.

dd02v-ddlanguage = sy-langu.

dd02v-tabclass = 'INTTAB'.

dd02v-ddtext = testo.

dd02v-masterlang = sy-langu.

IF NOT my_file_tab1[] IS INITIAL.

CALL FUNCTION 'DDIF_TABL_PUT'

EXPORTING

name = name

dd02v_wa = dd02v

TABLES

dd03p_tab = my_file_tab1

EXCEPTIONS

tabl_not_found = 1

name_inconsistent = 2

tabl_inconsistent = 3

put_failure = 4

put_refused = 5

OTHERS = 6.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ELSE.

*MESSAGE ID 'Z0017_BDI' TYPE 'I' NUMBER 003.

MESSAGE s100 WITH 'Structure created succesfully'.

EXIT.

ENDIF.

&----


*& Form file_selection

&----


  • -->P_FILE_1 text

----


FORM file_selection USING p_file.

CALL FUNCTION 'WS_FILENAME_GET'

EXPORTING

def_filename = ''

def_path = 'c:\'

mask = ',.,..'

mode = '0'

title = 'Selezione file'

IMPORTING

filename = p_file

  • RC = RCODE

EXCEPTIONS

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

OTHERS = 5.

ENDFORM. " file_selection

*And here is the file...

*

*Fieldname;Data Type;Lentgh;Dec.;Descr.

*FIELD1;CHAR;000020;000000;my field 1

*FIELD2;CHAR;000008;000000;my field 2

*FIELD3;CHAR;000007;000000;my field 3

*FIELD4;CHAR;000006;000000;my field 4