Application Development and Automation 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: 
Read only

hI

Former Member
0 Likes
932

Hi,

Iam getting the error at the bold letters.

First error is it is asking KNA1 is Unknown.

Second error is it is asking "KUNNR LAND1 NAME1 ORT01 TELF1" is not expected.

TYPES:

BEGIN OF TY_KNA1,

KUNNR TYPE KNA1-KUNNR,

LAND1 TYPE KNA1-LAND1,

NAME1 TYPE KNA1-NAME1,

ORT01 TYPE KNA1-ORT01,

TELF1 TYPE KNA1-TELF1,

END OF TY_KNA1.

DATA:

ST_KNA1 TYPE TY_KNA1.

&----


*& Module USER_COMMAND_9001 INPUT

&----


  • text

----


MODULE USER_COMMAND_9001 INPUT.

CASE SY-UCOMM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'INSERT'.

<b>MOVE-CORRESPONDING ST_KNA1 TO KNA1.</b>

INSERT KNA1.

IF SY-SUBRC EQ 0.

MESSAGE S000(0) WITH 'CUSTOMER RECORD INSERTED'.

ELSE.

MESSAGE E000(0) WITH 'CUSTOMER RECORD NOT INSERTED'.

ENDIF.

CLEAR ST_KNA1.

WHEN 'DISPLAY'.

<b>SELECT SINGLE * KUNNR LAND1 NAME1 ORT01 TELF1 FROM KNA1 INTO ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

IF SY-SUBRC NE 0.</b>MESSAGE I000(0) WITH ' INVALID CUSTOMER NUMBER'.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_9001 INPUT

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
889

hi,

or u can even change code to

<b>remove *</b>

SELECT SINGLE KUNNR LAND1 NAME1 ORT01 TELF1 FROM KNA1 INTO ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

regards,

Navneeth K.

Hi,

Iam getting the error at the bold letters.

First error is it is asking KNA1 is Unknown.

Second error is it is asking "KUNNR LAND1 NAME1 ORT01 TELF1" is not expected.

TYPES:

BEGIN OF TY_KNA1,

KUNNR TYPE KNA1-KUNNR,

LAND1 TYPE KNA1-LAND1,

NAME1 TYPE KNA1-NAME1,

ORT01 TYPE KNA1-ORT01,

TELF1 TYPE KNA1-TELF1,

END OF TY_KNA1.

DATA:

ST_KNA1 TYPE TY_KNA1.

&----


*& Module USER_COMMAND_9001 INPUT

&----


  • text

----


MODULE USER_COMMAND_9001 INPUT.

CASE SY-UCOMM.

WHEN 'EXIT'.

LEAVE PROGRAM.

WHEN 'INSERT'.

<b>MOVE-CORRESPONDING ST_KNA1 TO KNA1.</b>

INSERT KNA1.

IF SY-SUBRC EQ 0.

MESSAGE S000(0) WITH 'CUSTOMER RECORD INSERTED'.

ELSE.

MESSAGE E000(0) WITH 'CUSTOMER RECORD NOT INSERTED'.

ENDIF.

CLEAR ST_KNA1.

WHEN 'DISPLAY'.

<b>SELECT SINGLE * KUNNR LAND1 NAME1 ORT01 TELF1 FROM KNA1 INTO ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

IF SY-SUBRC NE 0.</b>MESSAGE I000(0) WITH ' INVALID CUSTOMER NUMBER'.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_9001 INPUT

9 REPLIES 9
Read only

Former Member
0 Likes
889

Hi,

You need to declare the KNA1 table in the TOP Include

TABLES: KNA1.

Regards

Sudheer

Read only

Former Member
0 Likes
889

hi,

U have to declare KNA1 in tables.

Tables:KNA1.

Read only

Former Member
0 Likes
889

hi,

change ur code as follows:

SELECT SINGLE * FROM KNA1 INTO corresponding fields of ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

regards,

Navneeth K.

Read only

Former Member
0 Likes
889

if you are using select single *, u should not specify the field names.

Reward for helpful answers.

-Satish

Read only

Former Member
0 Likes
889

Tables:KNA1.

Define the above part of the code Globally. That is, define it in the original program.

Regards,

Pavan

Read only

Former Member
0 Likes
890

hi,

or u can even change code to

<b>remove *</b>

SELECT SINGLE KUNNR LAND1 NAME1 ORT01 TELF1 FROM KNA1 INTO ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

regards,

Navneeth K.

Read only

Former Member
0 Likes
889

MOVE-CORRESPONDING ST_KNA1 TO KNA1.

st_knal 6 fields

but kna1 mor than 6. error show.

Read only

Former Member
0 Likes
889

Hi,

I want to only these fields to retrieve or add.

KUNNR LAND1 NAME1 ORT01 TELF1

ram

Read only

0 Likes
889

change select statement as

SELECT SINGLE KUNNR LAND1 NAME1 ORT01 TELF1 FROM KNA1 INTO ST_KNA1

WHERE KUNNR EQ ST_KNA1-KUNNR.

regards,

Navneeth K.