‎2007 Apr 24 10:57 AM
Hi All,
please help me in resolving issues with this code:
TYPES: BEGIN OF outtab,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
fldate LIKE sflight-fldate,
cityfrom LIKE spfli-cityfrom,
cityto LIKE spfli-cityto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF outtab.
TYPES:BEGIN OF st_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
CITYFROM LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO,
DEPTIME LIKE SPFLI-DEPTIME,
ARRTIME LIKE SPFLI-ARRTIME,
END OF st_spfli.
TYPES: BEGIN OF st_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF st_sflight.
TYPES: BEGIN OF ST_SBOOK,
CARRID LIKE SBOOK-CARRID,
CONNID LIKE SBOOK-CONNID,
FLDATE LIKE SBOOK-FLDATE,
BOOKID LIKE SBOOK-BOOKID,
ORDER_DATE LIKE SBOOK-ORDER_DATE,
PASSNAME LIKE SBOOK-PASSNAME,
LOCCURAM LIKE SBOOK-LOCCURAM,
FORCURKEY LIKE SBOOK-FORCURKEY,
END OF ST_SBOOK.
DATA: it_outtab TYPE TABLE OF outtab,
it_spfli TYPE TABLE OF st_spfli,
it_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_outtab TYPE outtab,
wa_spfli TYPE st_spfli,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
**************SELECTION SCREEN****************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. " first block
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_from TYPE spfli-cityfrom,
p_to TYPE spfli-cityto,
p_date TYPE sflight-fldate.
SELECTION-SCREEN: END OF BLOCK b1.
SELECT carrid
connid
CITYFROM
CITYTO
DEPTIME
ARRTIME
FROM spfli
INTO TABLE it_spfli
WHERE cityfrom EQ p_from
AND cityto EQ p_to.
if it_spfli[] is not initial.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
for all entries in it_spfli
WHERE carrid EQ it_spfli-carrid
AND connid EQ it_spfli-connid
and fldate eq p_date.
else.
message 'NO FLIGHT AVAILABLE' type 'I'.
endif.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
ENDLOOP.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SPFLI INTO WA_SPFLI.
MOVE-CORRESPONDING WA_SPFLI TO WA_OUTTAB.
LOOP AT it_sflight INTO wa_sflight WHERE CARRID EQ WA_SPFLI-CARRID AND CONNID EQ WA_SPFLI-CONNID.
MOVE-CORRESPONDING WA_SFLIGHT TO WA_OUTTAB.
APPEND WA_OUTTAB TO IT_OUTTAB.
ENDLOOP.
ENDLOOP.
LOOP AT IT_OUTTAB INTO WA_OUTTAB.
WRITE:/ WA_OUTTAB-carrid,
WA_OUTTAB-connid,
WA_OUTTAB-fldate,
WA_OUTTAB-cityfrom,
WA_OUTTAB-cityto,
WA_OUTTAB-deptime,
WA_OUTTAB-arrtime,
wa_outtab-seatsmax,
wa_outtab-seatsocc,
WA_OUTTAB-price,
WA_OUTTAB-CURRENCY.
ENDLOOP.
ENDIF.
IF SY-LSIND = 2.
write:/ 'the passenger details are:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
WHERE CARRID EQ WA_SFLIGHT-CARRID
AND CONNID EQ WA_SFLIGHT-CONNID
AND FLDATE EQ WA_SFLIGHT-FLDATE.
LOOP AT IT_SBOOK INTO WA_SBOOK.
WRITE:/ WA_SBOOK-CARRID,
WA_SBOOK-CONNID,
WA_SBOOK-FLDATE,
WA_SBOOK-BOOKID,
WA_SBOOK-ORDER_DATE,
WA_SBOOK-PASSNAME,
WA_SBOOK-LOCCURAM,
WA_SBOOK-FORCURKEY.
ENDLOOP.
ENDLOOP.
ENDIF.
when i double-click on --'THE FLIGHT DETAILS ARE:'.
the next list appears which i dont want. i want the next list to be displayed only when i click on some records.
regards
vivek
‎2007 Apr 24 12:05 PM
Hi,
tyr this
TYPES: BEGIN OF outtab,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
fldate LIKE sflight-fldate,
cityfrom LIKE spfli-cityfrom,
cityto LIKE spfli-cityto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF outtab.
TYPES:BEGIN OF st_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
CITYFROM LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO,
DEPTIME LIKE SPFLI-DEPTIME,
ARRTIME LIKE SPFLI-ARRTIME,
END OF st_spfli.
TYPES: BEGIN OF st_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF st_sflight.
TYPES: BEGIN OF ST_SBOOK,
CARRID LIKE SBOOK-CARRID,
CONNID LIKE SBOOK-CONNID,
FLDATE LIKE SBOOK-FLDATE,
BOOKID LIKE SBOOK-BOOKID,
ORDER_DATE LIKE SBOOK-ORDER_DATE,
PASSNAME LIKE SBOOK-PASSNAME,
LOCCURAM LIKE SBOOK-LOCCURAM,
FORCURKEY LIKE SBOOK-FORCURKEY,
END OF ST_SBOOK.
DATA: it_outtab TYPE TABLE OF outtab,
it_spfli TYPE TABLE OF st_spfli,
it_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_outtab TYPE outtab,
wa_spfli TYPE st_spfli,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
**************SELECTION SCREEN****************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. " first block
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_from TYPE spfli-cityfrom,
p_to TYPE spfli-cityto,
p_date TYPE sflight-fldate.
SELECTION-SCREEN: END OF BLOCK b1.
SELECT carrid
connid
CITYFROM
CITYTO
DEPTIME
ARRTIME
FROM spfli
INTO TABLE it_spfli
WHERE cityfrom EQ p_from
AND cityto EQ p_to.
if it_spfli[] is not initial.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
for all entries in it_spfli
WHERE carrid EQ it_spfli-carrid
AND connid EQ it_spfli-connid
and fldate eq p_date.
else.
message 'NO FLIGHT AVAILABLE' type 'I'.
endif.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
ENDLOOP.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SPFLI INTO WA_SPFLI.
MOVE-CORRESPONDING WA_SPFLI TO WA_OUTTAB.
LOOP AT it_sflight INTO wa_sflight WHERE CARRID EQ WA_SPFLI-CARRID AND CONNID EQ WA_SPFLI-CONNID.
MOVE-CORRESPONDING WA_SFLIGHT TO WA_OUTTAB.
APPEND WA_OUTTAB TO IT_OUTTAB.
ENDLOOP.
ENDLOOP.
LOOP AT IT_OUTTAB INTO WA_OUTTAB.
WRITE:/ WA_OUTTAB-carrid,
WA_OUTTAB-connid,
WA_OUTTAB-fldate,
WA_OUTTAB-cityfrom,
WA_OUTTAB-cityto,
WA_OUTTAB-deptime,
WA_OUTTAB-arrtime,
wa_outtab-seatsmax,
wa_outtab-seatsocc,
WA_OUTTAB-price,
WA_OUTTAB-CURRENCY.
ENDLOOP.
ENDIF.
IF SY-LSIND = 2 <b>and sy-lilli gt 1</b>.
write:/ 'the passenger details are:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
WHERE CARRID EQ WA_SFLIGHT-CARRID
AND CONNID EQ WA_SFLIGHT-CONNID
AND FLDATE EQ WA_SFLIGHT-FLDATE.
LOOP AT IT_SBOOK INTO WA_SBOOK.
WRITE:/ WA_SBOOK-CARRID,
WA_SBOOK-CONNID,
WA_SBOOK-FLDATE,
WA_SBOOK-BOOKID,
WA_SBOOK-ORDER_DATE,
WA_SBOOK-PASSNAME,
WA_SBOOK-LOCCURAM,
WA_SBOOK-FORCURKEY.
ENDLOOP.
ENDLOOP.
ENDIF.
regards,
ananth
‎2007 Apr 24 11:04 AM
use hide statement in the sencond select statement
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
for all entries in it_spfli
WHERE carrid EQ it_spfli-carrid
AND connid EQ it_spfli-connid
and fldate eq p_date.
<b>hide : it_spfli-carrid,
it_spfli-connid.</b>
<b>problem is</b>
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
this is a problem where every list index it get trigger(when u double click in the 'THE FLIGHT DETAILS ARE:'. the next list appear so remove this one
reward if it helps u
Vijay Pawar
‎2007 Apr 24 11:14 AM
HI Vivek
Just change your code like this
Report ZFlight.
TYPES: BEGIN OF outtab,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
fldate LIKE sflight-fldate,
cityfrom LIKE spfli-cityfrom,
cityto LIKE spfli-cityto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF outtab.
TYPES:BEGIN OF st_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
CITYFROM LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO,
DEPTIME LIKE SPFLI-DEPTIME,
ARRTIME LIKE SPFLI-ARRTIME,
END OF st_spfli.
TYPES: BEGIN OF st_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF st_sflight.
TYPES: BEGIN OF ST_SBOOK,
CARRID LIKE SBOOK-CARRID,
CONNID LIKE SBOOK-CONNID,
FLDATE LIKE SBOOK-FLDATE,
BOOKID LIKE SBOOK-BOOKID,
ORDER_DATE LIKE SBOOK-ORDER_DATE,
PASSNAME LIKE SBOOK-PASSNAME,
LOCCURAM LIKE SBOOK-LOCCURAM,
FORCURKEY LIKE SBOOK-FORCURKEY,
END OF ST_SBOOK.
DATA: it_outtab TYPE TABLE OF outtab,
it_spfli TYPE TABLE OF st_spfli,
it_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_outtab TYPE outtab,
wa_spfli TYPE st_spfli,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
***************SELECTION SCREEN*****************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. " first block
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_from TYPE spfli-cityfrom,
p_to TYPE spfli-cityto,
p_date TYPE sflight-fldate.
SELECTION-SCREEN: END OF BLOCK b1.
SELECT carrid
connid
CITYFROM
CITYTO
DEPTIME
ARRTIME
FROM spfli
INTO TABLE it_spfli
WHERE cityfrom EQ p_from
AND cityto EQ p_to.
if sy-subrc ne 0.
message 'NO FLIGHT AVAILABLE' type 'I'.
endif.
loop at it_spfli into wa_spfli.
write: / wa_spfli-carrid,
wa_spfli-connid,
wa_spfli-CITYFROM,
wa_spfli-CITYTO,
wa_spfli-DEPTIME,
wa_spfli-ARRTIME.
hide:wa_spfli-carrid,
wa_spfli-connid,
endloop.
**********AT LINE SELECTION********************
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
WHERE carrid EQ wa_spfli-carrid
AND connid EQ wa_spfli-connid.
if sy-subrc ne 0.
message 'NO FLIGHT details are AVAILABLE' type 'I'.
endif.
endif.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
hide: wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
ENDLOOP.
IF SY-LSIND = 2.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
WHERE CARRID EQ WA_SFLIGHT-CARRID
AND CONNID EQ WA_SFLIGHT-CONNID
AND FLDATE EQ WA_SFLIGHT-FLDATE
if sy-subrc ne 0.
message 'NO FLIGHT bookings are AVAILABLE' type 'I'.
endif.
LOOP AT IT_SBOOK INTO WA_SBOOK.
WRITE:/ WA_SBOOK-carrid,
WA_SBOOK-connid,
WA_SBOOK-fldate,
WA_SBOOK-cityfrom,
WA_SBOOK-cityto,
WA_SBOOK-deptime,
WA_SBOOK-arrtime,
wa_SBOOK-seatsmax,
wa_SBOOK-seatsocc,
WA_SBOOK-price,
WA_SBOOK-CURRENCY.
ENDLOOP.
endif.
Regards Rk
‎2007 Apr 24 11:40 AM
Hi
Put Hide statements in the loop statement if u want to retrieve any data based on the previous data.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
<b>HIDE: wa_sflight-carrid, wa_sflight-connid.</b>
ENDLOOP.
LOOP AT IT_OUTTAB INTO WA_OUTTAB.
WRITE:/ WA_OUTTAB-carrid,
WA_OUTTAB-connid,
WA_OUTTAB-fldate,
WA_OUTTAB-cityfrom,
WA_OUTTAB-cityto,
WA_OUTTAB-deptime,
WA_OUTTAB-arrtime,
wa_outtab-seatsmax,
wa_outtab-seatsocc,
WA_OUTTAB-price,
WA_OUTTAB-CURRENCY.
<b>HIDE: WA_OUTTAB-carrid, WA_OUTTAB-connid, WA_OUTTAB-fldate.</b>
ENDLOOP.
Regards
Haritha.
‎2007 Apr 24 11:55 AM
Hi vivek.
You Can use <b>hotspot for the fields</b> which you want to click.
Or check the line which you are displaying the heading
X - Line in which the heading is written.
if sy-lilli ne X.
Write the list.
endif.
‎2007 Apr 24 12:05 PM
Hi,
tyr this
TYPES: BEGIN OF outtab,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
fldate LIKE sflight-fldate,
cityfrom LIKE spfli-cityfrom,
cityto LIKE spfli-cityto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF outtab.
TYPES:BEGIN OF st_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
CITYFROM LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO,
DEPTIME LIKE SPFLI-DEPTIME,
ARRTIME LIKE SPFLI-ARRTIME,
END OF st_spfli.
TYPES: BEGIN OF st_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF st_sflight.
TYPES: BEGIN OF ST_SBOOK,
CARRID LIKE SBOOK-CARRID,
CONNID LIKE SBOOK-CONNID,
FLDATE LIKE SBOOK-FLDATE,
BOOKID LIKE SBOOK-BOOKID,
ORDER_DATE LIKE SBOOK-ORDER_DATE,
PASSNAME LIKE SBOOK-PASSNAME,
LOCCURAM LIKE SBOOK-LOCCURAM,
FORCURKEY LIKE SBOOK-FORCURKEY,
END OF ST_SBOOK.
DATA: it_outtab TYPE TABLE OF outtab,
it_spfli TYPE TABLE OF st_spfli,
it_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_outtab TYPE outtab,
wa_spfli TYPE st_spfli,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
**************SELECTION SCREEN****************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. " first block
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_from TYPE spfli-cityfrom,
p_to TYPE spfli-cityto,
p_date TYPE sflight-fldate.
SELECTION-SCREEN: END OF BLOCK b1.
SELECT carrid
connid
CITYFROM
CITYTO
DEPTIME
ARRTIME
FROM spfli
INTO TABLE it_spfli
WHERE cityfrom EQ p_from
AND cityto EQ p_to.
if it_spfli[] is not initial.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
for all entries in it_spfli
WHERE carrid EQ it_spfli-carrid
AND connid EQ it_spfli-connid
and fldate eq p_date.
else.
message 'NO FLIGHT AVAILABLE' type 'I'.
endif.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
ENDLOOP.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SPFLI INTO WA_SPFLI.
MOVE-CORRESPONDING WA_SPFLI TO WA_OUTTAB.
LOOP AT it_sflight INTO wa_sflight WHERE CARRID EQ WA_SPFLI-CARRID AND CONNID EQ WA_SPFLI-CONNID.
MOVE-CORRESPONDING WA_SFLIGHT TO WA_OUTTAB.
APPEND WA_OUTTAB TO IT_OUTTAB.
ENDLOOP.
ENDLOOP.
LOOP AT IT_OUTTAB INTO WA_OUTTAB.
WRITE:/ WA_OUTTAB-carrid,
WA_OUTTAB-connid,
WA_OUTTAB-fldate,
WA_OUTTAB-cityfrom,
WA_OUTTAB-cityto,
WA_OUTTAB-deptime,
WA_OUTTAB-arrtime,
wa_outtab-seatsmax,
wa_outtab-seatsocc,
WA_OUTTAB-price,
WA_OUTTAB-CURRENCY.
ENDLOOP.
ENDIF.
IF SY-LSIND = 2 <b>and sy-lilli gt 1</b>.
write:/ 'the passenger details are:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
WHERE CARRID EQ WA_SFLIGHT-CARRID
AND CONNID EQ WA_SFLIGHT-CONNID
AND FLDATE EQ WA_SFLIGHT-FLDATE.
LOOP AT IT_SBOOK INTO WA_SBOOK.
WRITE:/ WA_SBOOK-CARRID,
WA_SBOOK-CONNID,
WA_SBOOK-FLDATE,
WA_SBOOK-BOOKID,
WA_SBOOK-ORDER_DATE,
WA_SBOOK-PASSNAME,
WA_SBOOK-LOCCURAM,
WA_SBOOK-FORCURKEY.
ENDLOOP.
ENDLOOP.
ENDIF.
regards,
ananth
‎2007 Apr 24 12:41 PM
Hi ,
Try replacing this code.
TYPES: BEGIN OF outtab,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
fldate LIKE sflight-fldate,
cityfrom LIKE spfli-cityfrom,
cityto LIKE spfli-cityto,
deptime LIKE spfli-deptime,
arrtime LIKE spfli-arrtime,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF outtab.
TYPES:BEGIN OF st_spfli,
carrid LIKE spfli-carrid,
connid LIKE spfli-connid,
CITYFROM LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO,
DEPTIME LIKE SPFLI-DEPTIME,
ARRTIME LIKE SPFLI-ARRTIME,
END OF st_spfli.
TYPES: BEGIN OF st_sflight,
carrid LIKE sflight-carrid,
connid LIKE sflight-connid,
fldate LIKE sflight-fldate,
price LIKE sflight-price,
CURRENCY LIKE SFLIGHT-CURRENCY,
SEATSMAX LIKE SFLIGHT-SEATSMAX,
SEATSOCC LIKE SFLIGHT-SEATSOCC,
END OF st_sflight.
TYPES: BEGIN OF ST_SBOOK,
CARRID LIKE SBOOK-CARRID,
CONNID LIKE SBOOK-CONNID,
FLDATE LIKE SBOOK-FLDATE,
BOOKID LIKE SBOOK-BOOKID,
ORDER_DATE LIKE SBOOK-ORDER_DATE,
PASSNAME LIKE SBOOK-PASSNAME,
LOCCURAM LIKE SBOOK-LOCCURAM,
FORCURKEY LIKE SBOOK-FORCURKEY,
END OF ST_SBOOK.
DATA: it_outtab TYPE TABLE OF outtab,
it_spfli TYPE TABLE OF st_spfli,
it_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_outtab TYPE outtab,
wa_spfli TYPE st_spfli,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
Data : fldname(30),fldval(30).
**************SELECTION SCREEN****************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME. " first block
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_from TYPE spfli-cityfrom,
p_to TYPE spfli-cityto,
p_date TYPE sflight-fldate.
SELECTION-SCREEN: END OF BLOCK b1.
SELECT carrid
connid
CITYFROM
CITYTO
DEPTIME
ARRTIME
FROM spfli
INTO TABLE it_spfli
WHERE cityfrom EQ p_from
AND cityto EQ p_to.
if it_spfli[] is not initial.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
for all entries in it_spfli
WHERE carrid EQ it_spfli-carrid
AND connid EQ it_spfli-connid
and fldate eq p_date.
else.
message 'NO FLIGHT AVAILABLE' type 'I'.
endif.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY.
*hide:wa_spfli-carrid,
wa_spfli-connid.
ENDLOOP.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
IF SY-LSIND = 1.
WRITE 'THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SPFLI INTO WA_SPFLI.
MOVE-CORRESPONDING WA_SPFLI TO WA_OUTTAB.
LOOP AT it_sflight INTO wa_sflight WHERE CARRID EQ WA_SPFLI-CARRID AND
CONNID EQ WA_SPFLI-CONNID.
MOVE-CORRESPONDING WA_SFLIGHT TO WA_OUTTAB.
APPEND WA_OUTTAB TO IT_OUTTAB.
ENDLOOP.
ENDLOOP.
LOOP AT IT_OUTTAB INTO WA_OUTTAB.
WRITE:/ WA_OUTTAB-carrid hotspot,
WA_OUTTAB-connid,
WA_OUTTAB-fldate,
WA_OUTTAB-cityfrom,
WA_OUTTAB-cityto,
WA_OUTTAB-deptime,
WA_OUTTAB-arrtime,
wa_outtab-seatsmax,
wa_outtab-seatsocc,
WA_OUTTAB-price,
WA_OUTTAB-CURRENCY.
ENDLOOP.
ENDIF.
GET CURSOR FIELD fldname VALUE fldval.
If fldname = 'WA_OUTTAB-CARRID'.
write:/ 'the passenger details are:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
WHERE CARRID EQ WA_SFLIGHT-CARRID
AND CONNID EQ WA_SFLIGHT-CONNID
AND FLDATE EQ WA_SFLIGHT-FLDATE.
LOOP AT IT_SBOOK INTO WA_SBOOK.
WRITE:/ WA_SBOOK-CARRID,
WA_SBOOK-CONNID,
WA_SBOOK-FLDATE,
WA_SBOOK-BOOKID,
WA_SBOOK-ORDER_DATE,
WA_SBOOK-PASSNAME,
WA_SBOOK-LOCCURAM,
WA_SBOOK-FORCURKEY.
ENDLOOP.
ENDLOOP.
ENDIF.