‎2007 Apr 25 11:34 AM
Hi all,
when i am double clicking the any row in first list, it gives booking details of some different date and different connid. i want to get the booking details of the flight of select row.
the code is:
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_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_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
****************SELECTION SCREEN******************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) TEXT-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_CARRID LIKE SFLIGHT-CARRID.
SELECTION-SCREEN END OF BLOCK B1.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
WHERE carrid EQ P_CARRID.
.
IF IT_SFLIGHT[] IS NOT INITIAL.
WRITE ' THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY,
WA_SFLIGHT-SEATSMAX,
WA_SFLIGHT-SEATSOCC.
ENDLOOP.
ELSE.
WRITE ' NO FLIGHT IS AVAILABLE ON THIS DATE'.
ENDIF.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
IF SY-LSIND = 1 and sy-lilli gt 1.
WRITE 'THE BOOKING DETAILS AREE:'.
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.
endloop.
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.
clear it_sbook.
ENDIF.
please help me in resolving this issue.
thanks and regards
vivek
‎2007 Apr 25 11:50 AM
Hi Vivek,
Check this code. It works fine.
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_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_sflight TYPE TABLE OF st_sflight,
it_sbook TYPE TABLE OF st_sbook,
wa_sflight TYPE st_sflight,
wa_sbook TYPE st_sbook.
****************SELECTION SCREEN******************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_carrid LIKE sflight-carrid.
SELECTION-SCREEN END OF BLOCK b1.
SELECT carrid
connid
fldate
price
currency
seatsmax
seatsocc
FROM sflight
INTO TABLE it_sflight
WHERE carrid EQ p_carrid.
.
IF it_sflight[] IS NOT INITIAL.
WRITE ' THE FLIGHT DETAILS ARE:'.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
wa_sflight-currency,
wa_sflight-seatsmax,
wa_sflight-seatsocc.
hide: wa_sflight-carrid,wa_sflight-connid, wa_sflight-fldate. " Line added
ENDLOOP.
ELSE.
WRITE ' NO FLIGHT IS AVAILABLE ON THIS DATE'.
ENDIF.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
*IF sy-lsind = 1 AND sy-lilli GT 1. "Commented
WRITE 'THE BOOKING DETAILS AREE:'.
*LOOP AT it_sflight INTO wa_sflight. "Commented
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.
*ENDLOOP. "Commented
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.
CLEAR it_sbook.
*ENDIF. "Commented
Regards,
Suresh
Message was edited by:
SureshKumar Ramamoorthy
‎2007 Apr 25 11:37 AM
hi,
use HIDE
HIDE <field name> .
so that for this particular field value it diplay details in the next screen. if u dont use HIDE it will display value for last record which u added to ur internal table
reward if helpful
ravi
‎2007 Apr 25 11:38 AM
Hi
You are not HIDING the fields in the loop.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY,
WA_SFLIGHT-SEATSMAX,
WA_SFLIGHT-SEATSOCC.
<b>HIDE:wa_sflight-carrid,
wa_sflight-connid.</b>
ENDLOOP.
reward points
regards,
Anji
‎2007 Apr 25 11:46 AM
Hi,
thankyou for your quick reply. the code which you have given is not working fine.its still showing different output. can you please give the entire code.
regards
vivek
‎2007 Apr 25 11:38 AM
Check the chnages in bold in below code
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY,
WA_SFLIGHT-SEATSMAX,
WA_SFLIGHT-SEATSOCC.
<b>hide :wa_sfight, wa_sflight-fldate.</b>
ENDLOOP.
AT LINE-SELECTION.
IF SY-LSIND = 1 and sy-lilli gt 1.
WRITE 'THE BOOKING DETAILS AREE:'.
<b>*loop at it_sflight into wa_sflight</b>.
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.
<b>*endloop.</b>
‎2007 Apr 25 11:38 AM
Use Hide statement like below
IF IT_SFLIGHT[] IS NOT INITIAL.
WRITE ' THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY,
WA_SFLIGHT-SEATSMAX,
WA_SFLIGHT-SEATSOCC.
hide : wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate.
ENDLOOP.
ELSE.
WRITE ' NO FLIGHT IS AVAILABLE ON THIS DATE'.
ENDIF.
‎2007 Apr 25 11:49 AM
Hi,
its not working fine. can you please help me out by giving the entire code.
regards
vivek
‎2007 Apr 25 11:38 AM
You have to use 'HIDE' command to transport the carrid, connid, fldate from first list to 2nd list.
‎2007 Apr 25 11:50 AM
Hi Vivek,
Check this code. It works fine.
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_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_sflight TYPE TABLE OF st_sflight,
it_sbook TYPE TABLE OF st_sbook,
wa_sflight TYPE st_sflight,
wa_sbook TYPE st_sbook.
****************SELECTION SCREEN******************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) text-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: p_carrid LIKE sflight-carrid.
SELECTION-SCREEN END OF BLOCK b1.
SELECT carrid
connid
fldate
price
currency
seatsmax
seatsocc
FROM sflight
INTO TABLE it_sflight
WHERE carrid EQ p_carrid.
.
IF it_sflight[] IS NOT INITIAL.
WRITE ' THE FLIGHT DETAILS ARE:'.
LOOP AT it_sflight INTO wa_sflight.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
wa_sflight-currency,
wa_sflight-seatsmax,
wa_sflight-seatsocc.
hide: wa_sflight-carrid,wa_sflight-connid, wa_sflight-fldate. " Line added
ENDLOOP.
ELSE.
WRITE ' NO FLIGHT IS AVAILABLE ON THIS DATE'.
ENDIF.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
*IF sy-lsind = 1 AND sy-lilli GT 1. "Commented
WRITE 'THE BOOKING DETAILS AREE:'.
*LOOP AT it_sflight INTO wa_sflight. "Commented
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.
*ENDLOOP. "Commented
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.
CLEAR it_sbook.
*ENDIF. "Commented
Regards,
Suresh
Message was edited by:
SureshKumar Ramamoorthy
‎2007 Apr 25 11:57 AM
try the program now....some small changes..to ur prgm..are made
hope this helps
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_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_sflight TYPE TABLE OF st_sflight,
IT_SBOOK TYPE TABLE OF ST_SBOOK,
wa_sflight TYPE st_sflight,
WA_SBOOK TYPE ST_SBOOK.
****************SELECTION SCREEN******************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(40) TEXT-001.
SELECTION-SCREEN END OF LINE.
PARAMETERS: P_CARRID LIKE SFLIGHT-CARRID.
SELECTION-SCREEN END OF BLOCK B1.
SELECT carrid
connid
fldate
price
CURRENCY
SEATSMAX
SEATSOCC
FROM sflight
INTO table it_sflight
WHERE carrid EQ P_CARRID.
.
IF IT_SFLIGHT[] IS NOT INITIAL.
WRITE ' THE FLIGHT DETAILS ARE:'.
LOOP AT IT_SFLIGHT INTO WA_SFLIGHT.
WRITE:/ wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate,
wa_sflight-price,
WA_SFLIGHT-CURRENCY,
WA_SFLIGHT-SEATSMAX,
WA_SFLIGHT-SEATSOCC.
hide : wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate.
ENDLOOP.
ELSE.
WRITE ' NO FLIGHT IS AVAILABLE ON THIS DATE'.
ENDIF.
*********AT LINE SELECTION*******************
AT LINE-SELECTION.
write : wa_sflight-carrid,
wa_sflight-connid,
wa_sflight-fldate.
*IF SY-LSIND = 1 and sy-lilli gt 1.
WRITE 'THE BOOKING DETAILS AREE:'.
*loop at it_sflight into wa_sflight.
SELECT CARRID
CONNID
FLDATE
BOOKID
ORDER_DATE
PASSNAME
LOCCURAM
FORCURKEY
FROM SBOOK
INTO TABLE IT_SBOOK
for all entries in it_sflight
where carrid eq it_sflight-carrid
and connid eq it_sflight-connid
and fldate eq it_sflight-fldate.
*endloop.
LOOP AT IT_SBOOK INTO WA_SBOOK.
*WRITE:/ WA_SBOOK-CARRID,
*WA_SBOOK-CONNID,
*WA_SBOOK-FLDATE,
write : / WA_SBOOK-BOOKID.
*WA_SBOOK-ORDER_DATE,
*WA_SBOOK-PASSNAME,
*WA_SBOOK-LOCCURAM,
*WA_SBOOK-FORCURKEY.
ENDLOOP.
*clear it_sbook.
*ENDIF.