11-18-2007 11:58 AM
HI
This is lalitha
in the below program i got an error
please solve .
NO STANDARD PAGE HEADING
LINE-SIZE 250
LINE-COUNT 30(3) .
**********DECLARATION OF USER DEFINED STRUCTURES********
TYPES: BEGIN OF TY_LFA1,
MANDT TYPE LFA1-MANDT,
LIFNR TYPE LFA1-LIFNR,
ADRNR TYPE LFA1-ADRNR,
END OF TY_LFA1,
BEGIN OF TY_ADRC,
ADDRNUMBER TYPE ADRC-ADDRNUMBER,
NAME1 TYPE ADRC-NAME1,
CITY1 TYPE ADRC-CITY1,
POST_CODE1 TYPE ADRC-POST_CODE1,
STREET TYPE ADRC-STREET,
HOUSE_NUM1 TYPE ADRC-HOUSE_NUM1,
COUNTRY TYPE ADRC-COUNTRY,
REGION TYPE ADRC-REGION,
END OF TY_ADRC,
BEGIN OF TY_T005T,
MANDT TYPE T005T-MANDT,
SPRAS TYPE T005T-SPRAS,
LAND1 TYPE T005T-LAND1,
NATIO TYPE T005T-NATIO ,
END OF TY_T005T,
BEGIN OF TY_LFBK,
LIFNR TYPE LFBK-LIFNR,
BANKS TYPE LFBK-BANKS,
BANKN TYPE LFBK-BANKN
,
END OF TY_LFBK,
BEGIN OF TY_FINAL,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE ADRC-NAME1,
NAME2 TYPE ADRC-NAME2,
CITY1 TYPE ADRC-CITY1,
CITY2 TYPE ADRC-CITY2,
POST_CODE1 TYPE ADRC-POST_CODE1,
STREET TYPE ADRC-STREET,
HOUSE_NUM1 TYPE ADRC-HOUSE_NUM1,
COUNTRY TYPE ADRC-COUNTRY,
REGION TYPE ADRC-REGION,
TEL_NUMBER TYPE ADRC-TEL_NUMBER,
BANKS TYPE LFBK-BANKS,
BANKN TYPE LFBK-BANKN,
NATIO TYPE T005T-NATIO,
END OF TY_FINAL.
**DECLARATION OF INTERNAL TABLES*********
DATA: IT_LFA1 TYPE STANDARD TABLE OF TY_LFA1,
IT_ADRC TYPE STANDARD TABLE OF TY_ADRC,
IT_T005 TYPE STANDARD TABLE OF TY_T005T,
IT_LIFNR TYPE STANDARD TABLE OF TY_LFA1,
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL.
************selecion screen**********
SELECT-OPTIONS: S_ACNO FOR it_lfa1-lifnr.
********AT SELECTION-SCREEN*********
AT SELECTION-SCREEN.
IF IT_LFA1 IS NOT INITIAL.
SELECT SINGLE LIFNR
FROM LFA1
INTO LFA1-LIFNR
WHERE LIFNR IN S_VENDORNO.
IF SY-SUBRC <> 0 .
MESSAGE E005(ZLALI_MSG) .
ENDIF.
ENDIF.
****TOP-OF-PAGE********
TOP-OF-PAGE.
ULINE.
WRITE: /5 'VENDOR AC',
10 'NAME1',
25 'CITY',
35 'CITY POSTAL_CODE',
50 'STREET',
65 'HOUSE NO',
80 'COUNTRY',
90 'REGION' ,
100 'BANK AC NO'.
ULINE .
********END-OF-PAGE*********
END-OF-PAGE.
ULINE.
WRITE: /100 'END-OF-PAGE' , SY_PAGNO .
ULINE.
*******START-OF-SELECTION*******
START-OF-SELECTION .
*******DATA EXTRACTION*********
SELECT MANDT
LIFNR
ADRNR
FROM LFA1
INTO CORRESPONDING FIELDS OF TABLE IT_LFA1
WHERE LIFNR IN S_VENDORNO .
IF IT_LFA1 IS NOT INITIAL.
SELECT ADDRNUMBER
NAME1
CITY1
POST CODE1
STREET
HOUSE_NUM1
COUNTRY
REGION
FROM ADRC
INTO TABLE IT_ADRC
FOR ALL ENTRIES IN IT_LFA1
WHERE ADDRNUM = IT_LFA10-ADRNR
ENDIF .
SELECT MANDT
SPRAS
LAND1
LANDX
NATIO
FROM T005T
INTO TABLE IT_T005T FOR ALL ENTRIES IN IT_LFA1
WHERE MANDT = IT_LFA1-MANDT.
SELECT LIFNR
BANKS
BANKN
FROM LFBK
INTO TABLE IT_LFBK FOR ALL ENTRIES IN IT_LFA1
WHERE LIFNR = IT_LFA1-LIFNR .
ENDIF .
LOOP AT IT_LFA1 .
MOVE CORRESPONDING IT_LFA1 TO IT_FINAL .
LOOP AT IT_ADRC WHERE ADDRNUM = IT_LFA1-ADRNR.
MOVE CORRESPONDING IT_ADRC INTO IT_FINAL/
ENDLOOP.
LOOP AT IT_T005T WHERE MANDT = IT_LFA1-MANDT.
MOVE-CORRESPONDING IT_T005T INTO IT_FINAL.
LOOP AT IT_LFBK WHERE LIFNR = IT_LFA1-LIFNR
MOVE CORRESPONDING IT_LFBK INTO IT_FINAL .
APPEND IT_FINAL .
ENDLOOP .
LOOP AT IT_FINAL .
WRITE: /5 LIFNR,
10 NAME1,
25 CITY,
35 POST_CODE1,
50 STREET,
65 HOUSE_NUM1,
80 COUNTRY,
90 REGION',
100 LAND,
110 BANKN .
ENDLOOP .
ULINE .
In selection sceen
i got an error that " The field is unknown but there is a field with the similar name IT_LFA1 .
If i correct it to IT_LFA1
i am getting an error that
"it_lfa1 is a table without headerline and therefore has no component called "LILFNR" .
How can i sove this error?
with regards.
11-18-2007 12:08 PM
Correct the first error to IT_LFA1 .
Declare a Work Area WA_LFA1 Like Line of IT_LFA1.
Then at all the places where you are referring IT_LFA1-Field inside a loop change it to WA_LFA1-Field and replace LOOP AT IT_LFA1 to LOOP AT IT_LFA1 into WA_LFA1.
11-19-2007 9:46 AM
hi,
what is s_vendorno in ur report and where u have declare this?
try like this...
**********DECLARATION OF USER DEFINED STRUCTURES********
TYPES: BEGIN OF ty_lfa1,
mandt TYPE lfa1-mandt,
lifnr TYPE lfa1-lifnr,
adrnr TYPE lfa1-adrnr,
END OF ty_lfa1,
BEGIN OF ty_adrc,
addrnumber TYPE adrc-addrnumber,
name1 TYPE adrc-name1,
city1 TYPE adrc-city1,
post_code1 TYPE adrc-post_code1,
street TYPE adrc-street,
house_num1 TYPE adrc-house_num1,
country TYPE adrc-country,
region TYPE adrc-region,
END OF ty_adrc,
BEGIN OF ty_t005t,
mandt TYPE t005t-mandt,
spras TYPE t005t-spras,
land1 TYPE t005t-land1,
natio TYPE t005t-natio ,
END OF ty_t005t,
BEGIN OF ty_lfbk,
lifnr TYPE lfbk-lifnr,
banks TYPE lfbk-banks,
bankn TYPE lfbk-bankn,
END OF ty_lfbk,
BEGIN OF ty_final,
lifnr TYPE lfa1-lifnr,
land1 TYPE lfa1-land1,
name1 TYPE adrc-name1,
name2 TYPE adrc-name2,
city1 TYPE adrc-city1,
city2 TYPE adrc-city2,
post_code1 TYPE adrc-post_code1,
street TYPE adrc-street,
house_num1 TYPE adrc-house_num1,
country TYPE adrc-country,
region TYPE adrc-region,
tel_number TYPE adrc-tel_number,
banks TYPE lfbk-banks,
bankn TYPE lfbk-bankn,
natio TYPE t005t-natio,
END OF ty_final.
**DECLARATION OF INTERNAL TABLES*********
DATA: it_lfa1 TYPE STANDARD TABLE OF ty_lfa1 WITH HEADER LINE,
it_adrc TYPE STANDARD TABLE OF ty_adrc WITH HEADER LINE,
it_t005 TYPE STANDARD TABLE OF ty_t005t WITH HEADER LINE,
it_lifnr TYPE STANDARD TABLE OF ty_lfa1 WITH HEADER LINE,
it_final TYPE STANDARD TABLE OF ty_final WITH HEADER LINE.
************selecion screen**********
SELECT-OPTIONS: s_acno FOR it_lfa1-lifnr.
********AT SELECTION-SCREEN*********
AT SELECTION-SCREEN.
IF it_lfa1 IS NOT INITIAL.
SELECT SINGLE lifnr
FROM lfa1
INTO it_lfa1-lifnr
WHERE lifnr IN s_acno.
IF sy-subrc <> 0 .
MESSAGE e005(zlali_msg) .
ENDIF.
ENDIF.
***TOP-OF-PAGE********
TOP-OF-PAGE.
ULINE.
WRITE: /5 'VENDOR AC',
10 'NAME1',
25 'CITY',
35 'CITY POSTAL_CODE',
50 'STREET',
65 'HOUSE NO',
80 'COUNTRY',
90 'REGION' ,
100 'BANK AC NO'.
ULINE .
******END-OF-PAGE*********
END-OF-PAGE.
ULINE.
WRITE: /100 'END-OF-PAGE' , sy-pagno .
ULINE.
*******START-OF-SELECTION*******
START-OF-SELECTION .
*******DATA EXTRACTION*********
SELECT mandt lifnr adrnr
FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE it_lfa1
WHERE lifnr IN s_acno .
IF it_lfa1 IS NOT INITIAL.
SELECT addrnumber name1 city1 post_code1 street house_num1 country region
FROM adrc
INTO TABLE it_adrc
FOR ALL ENTRIES IN it_lfa1
WHERE addrnumber = it_lfa1-adrnr.
ENDIF .
SELECT mandt spras land1 natio
FROM t005t CLIENT SPECIFIED
INTO TABLE it_t005 FOR ALL ENTRIES IN it_lfa1
WHERE mandt = it_lfa1-mandt .
SELECT lifnr banks bankn
FROM lfbk
INTO TABLE it_lifnr FOR ALL ENTRIES IN it_lfa1
WHERE lifnr = it_lfa1-lifnr .
LOOP AT it_lfa1 .
MOVE-CORRESPONDING it_lfa1 TO it_final .
LOOP AT it_adrc WHERE addrnumber = it_lfa1-adrnr.
MOVE-CORRESPONDING it_adrc TO it_final.
ENDLOOP.
LOOP AT it_t005 WHERE mandt = it_lfa1-mandt.
MOVE-CORRESPONDING it_t005 TO it_final.
LOOP AT it_lifnr WHERE lifnr = it_lfa1-lifnr.
MOVE-CORRESPONDING it_lifnr TO it_final .
APPEND it_final .
ENDLOOP.
ENDLOOP.
ENDLOOP.
LOOP AT it_final.
WRITE: /5 it_final-lifnr,
10 it_final-name1,
25 it_final-city1,
35 it_final-post_code1,
50 it_final-street,
65 it_final-house_num1,
80 it_final-country,
90 it_final-region,
100 it_final-land1,
110 it_final-bankn .
ENDLOOP .
ULINE .
Message was edited by:
Dhwani shah