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

Error in program of join two tables

Former Member
0 Likes
1,306

I have written following code:

TABLES: lfa1, lfbk.

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

name1 LIKE lfbk-bankn,

stras LIKE lfbk-banks,

adrnr LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

DATA: wa1_lfa1_lfbk TYPE str1_lfa1_lfbk,

it1_lfa1_lfbk TYPE STANDARD TABLE OF str1_lfa1_lfbk.

SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr DEFAULT 1.

SELECT a~lifnr

a~sortl

a~pstlz

a~ort01

b~bankn

b~banks

b~bankl

INTO wa1_lfa1_lfbk

FROM lfa1 AS a INNER JOIN lfbk AS b

ON alifnr = blifnr

WHERE a~lifnr IN s_lifnr.

APPEND wa1_lfa1_lfbk TO it1_lfa1_lfbk.

ENDSELECT.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

WRITE: /5 text-001 wa1_lfa1_lfbk-bankn,

/5 text-002 wa1_lfa1_lfbk-banks,

/5 text-003 wa1_lfa1_lfbk-bankl.

ENDLOOP.

and getting following error:

Unable to interpret "WA1_LFA1_LFBK-BANKN". Possible causes of error:

Incorrect spelling or comma error.

plz help me i m new in ABAP

14 REPLIES 14
Read only

Former Member
0 Likes
1,269

BANKN is not defined in you're structure so therefor unknown

kind regards

arthur

Read only

Former Member
0 Likes
1,269

Because your declaration is this

name1 LIKE lfbk-bankn,

and you write the result using this

WRITE: /5 text-001 wa1_lfa1_lfbk-bankn,

try changing your write code to this

WRITE: /5 text-001 wa1_lfa1_lfbk-name1,

Read only

0 Likes
1,269

Now i have done my structure as follows... but even then i am getting the same error

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

bankn LIKE lfbk-bankn,

banks LIKE lfbk-banks,

bankl LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

Read only

0 Likes
1,269

hi,

try this.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

<b>WRITE: /5 text-001, wa1_lfa1_lfbk-bankn,

/5 text-002, wa1_lfa1_lfbk-banks,

/5 text-003, wa1_lfa1_lfbk-bankl.</b>

ENDLOOP.

Read only

0 Likes
1,269

thanks...

I got the solution.

Read only

0 Likes
1,269

Hi,

change the write statement...like this

WRITE: /5 text-001,wa1_lfa1_lfbk-name1,

/5 text-002 ,wa1_lfa1_lfbk-stras,

/5 text-003 ,wa1_lfa1_lfbk-bankl.

Regards,

Nagaraj

Read only

0 Likes
1,269

hi,

if u got answer by code provided here than please reward point.

Read only

Former Member
0 Likes
1,269

hi rakesh,

use bankn instead of name1 in the declaration of str1_lfa1_lfbk.

its better prog technique to put the same name as SAP defined.

use internal table in select stmt after into clause.

remove Endselect, coz performance wise it is not good.

and then loop athe int table to print the output.

<b>Reward points if useful</b>

Read only

former_member404244
Active Contributor
0 Likes
1,269

Hi,

u have to define BANKN field in ur structure.Deifne it and chek it will work..

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

name1 LIKE lfbk-bankn,

stras LIKE lfbk-banks,

adrnr LIKE lfbk-bankl,

banfn like........<specify the type>

END OF str1_lfa1_lfbk.

Regards,

Nagaraj

Read only

Former Member
0 Likes
1,269

hi,

change ur code like this.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

<b> WRITE: /5 text-001,wa1_lfa1_lfbk-name1,

/5 text-002, wa1_lfa1_lfbk-stras,

/5 text-003, wa1_lfa1_lfbk-adrnr.</b>

ENDLOOP.

Hope it will b useful.

Read only

former_member402443
Contributor
0 Likes
1,269

TABLES: lfa1, lfbk.

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

name1 LIKE lfbk-bankn,

stras LIKE lfbk-banks,

adrnr LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

DATA: wa1_lfa1_lfbk TYPE str1_lfa1_lfbk,

it1_lfa1_lfbk TYPE STANDARD TABLE OF str1_lfa1_lfbk.

SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr DEFAULT 1.

SELECT a~lifnr

a~sortl

a~pstlz

a~ort01

b~bankn

b~banks

b~bankl

INTO wa1_lfa1_lfbk

FROM lfa1 AS a INNER JOIN lfbk AS b

ON alifnr = blifnr

WHERE a~lifnr IN s_lifnr.

APPEND wa1_lfa1_lfbk TO it1_lfa1_lfbk.

ENDSELECT.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

//************Changes made here********

WRITE: /5 text-001,wa1_lfa1_lfbk-name1,

/5 text-002 ,wa1_lfa1_lfbk-stras,

/5 text-003 ,wa1_lfa1_lfbk-adrnr.

Read only

Former Member
0 Likes
1,269

Hi,

use code as below :

TABLES: lfa1, lfbk.

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

bankn LIKE lfbk-bankn,

banks LIKE lfbk-banks,

bankl LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

DATA: wa1_lfa1_lfbk TYPE str1_lfa1_lfbk,

it1_lfa1_lfbk TYPE STANDARD TABLE OF str1_lfa1_lfbk.

SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr DEFAULT 1.

SELECT a~lifnr

a~sortl

a~pstlz

a~ort01

b~bankn

b~banks

b~bankl

INTO wa1_lfa1_lfbk

FROM lfa1 AS a INNER JOIN lfbk AS b

ON alifnr = blifnr

WHERE a~lifnr IN s_lifnr.

APPEND wa1_lfa1_lfbk TO it1_lfa1_lfbk.

ENDSELECT.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

WRITE: /5 text-001, wa1_lfa1_lfbk-bankn,

/5 text-002, wa1_lfa1_lfbk-banks,

/5 text-003, wa1_lfa1_lfbk-bankl.

ENDLOOP.

Reward points, if helpful,

Sandeep Kaushik

Read only

Former Member
0 Likes
1,269

try this.<b> PROBLEM RESOLVED</b>

TABLES: lfa1, lfbk.

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

name1 LIKE lfbk-bankn,

stras LIKE lfbk-banks,

adrnr LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

DATA: wa1_lfa1_lfbk TYPE str1_lfa1_lfbk,

it1_lfa1_lfbk TYPE STANDARD TABLE OF str1_lfa1_lfbk.

SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr DEFAULT 1.

SELECT a~lifnr

a~sortl

a~pstlz

a~ort01

b~bankn

b~banks

b~bankl

INTO wa1_lfa1_lfbk

FROM lfa1 AS a INNER JOIN lfbk AS b

ON alifnr = blifnr

WHERE a~lifnr IN s_lifnr.

APPEND wa1_lfa1_lfbk TO it1_lfa1_lfbk.

ENDSELECT.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

WRITE: /5 text-001, wa1_lfa1_lfbk-name1,

/5 text-002, wa1_lfa1_lfbk-stras,

/5 text-003, wa1_lfa1_lfbk-adrnr.

ENDLOOP.

reward if useful.

Amit Singla

Read only

Former Member
0 Likes
1,269

hi rakesh,

go through this code , it will surely works.

TABLES: lfa1, lfbk.

TYPES: BEGIN OF str1_lfa1_lfbk,

lifnr LIKE lfa1-lifnr,

sortl LIKE lfa1-sortl,

pstlz LIKE lfa1-pstlz,

ort01 LIKE lfa1-ort01,

name1 LIKE lfbk-bankn,

stras LIKE lfbk-banks,

adrnr LIKE lfbk-bankl,

END OF str1_lfa1_lfbk.

DATA: wa1_lfa1_lfbk TYPE str1_lfa1_lfbk,

it1_lfa1_lfbk TYPE STANDARD TABLE OF str1_lfa1_lfbk.

SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr DEFAULT 1.

SELECT a~lifnr

a~sortl

a~pstlz

a~ort01

b~bankn

b~banks

b~bankl

INTO wa1_lfa1_lfbk

FROM lfa1 AS a INNER JOIN lfbk AS b

ON alifnr = blifnr

WHERE a~lifnr IN s_lifnr.

APPEND wa1_lfa1_lfbk TO it1_lfa1_lfbk.

ENDSELECT.

LOOP AT it1_lfa1_lfbk INTO wa1_lfa1_lfbk.

ULINE.

WRITE: /5 wa1_lfa1_lfbk-lifnr,

20 wa1_lfa1_lfbk-sortl,

35 wa1_lfa1_lfbk-pstlz,

50 wa1_lfa1_lfbk-ort01.

SKIP.

WRITE: /5 text-001, wa1_lfa1_lfbk-name1,

/5 text-002, wa1_lfa1_lfbk-stras,

/5 text-003, wa1_lfa1_lfbk-adrnr.

ENDLOOP.

<b>rewards points if helpfull.</b>

with regards,

radhika kolluru.