on 07-03-2008 1:55 PM
Hi
can anyone give me the code that u have developed inthe past for looping the write_form F.M. please...
Hi,
TABLES :
scarr,
spfli,
sflight.
*PARAMETERS :
* p_carrid LIKE sflight-carrid,
* p_connid LIKE sflight-connid.
DATA :
BEGIN OF fs_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 fs_sflight.
DATA :
t_scarr LIKE
STANDARD TABLE
OF scarr.
DATA :
t_spfli LIKE
STANDARD TABLE
OF spfli.
DATA :
t_sflight LIKE
STANDARD TABLE
OF fs_sflight.
DATA :
fs_options TYPE itcpo.
START-OF-SELECTION.
PERFORM selection.
PERFORM open_form.
LOOP AT t_sflight INTO fs_sflight.
AT NEW connid.
PERFORM start_form.
READ TABLE t_spfli INTO spfli WITH KEY carrid = fs_sflight-carrid
connid = fs_sflight-connid.
READ TABLE t_scarr INTO scarr WITH KEY carrid = fs_sflight-carrid.
ENDAT.
PERFORM write_form.
AT END OF carrid.
PERFORM end_form.
ENDAT.
ENDLOOP.
PERFORM close_form.
*&---------------------------------------------------------------------*
*& Form selection
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM selection .
SELECT *
FROM scarr
INTO TABLE t_scarr.
* WHERE carrid = p_carrid.
SELECT *
FROM spfli
INTO TABLE t_spfli.
* WHERE carrid = p_carrid
* AND connid = p_connid.
SELECT carrid
connid
fldate
price
currency
seatsmax
seatsocc
FROM sflight
INTO TABLE t_sflight.
* WHERE carrid = p_carrid
* and connid = p_connid.
ENDFORM. " selection
*&---------------------------------------------------------------------*
*& Form open_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM open_form .
fs_options-tdcopies = 2.
fs_options-tddest = 'LP01'.
fs_options-tdpreview = 'X'.
fs_options-tdnoprint = 'X'.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION = 'TX'
* ARCHIVE_INDEX =
* ARCHIVE_PARAMS =
* DEVICE = 'PRINTER'
dialog = ' '
* form = 'FORM1'
* LANGUAGE = SY-LANGU
options = fs_options
* MAIL_SENDER =
* MAIL_RECIPIENT =
* MAIL_APPL_OBJECT =
* RAW_DATA_INTERFACE = '*'
* IMPORTING
* LANGUAGE =
* NEW_ARCHIVE_PARAMS =
* RESULT =
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
mail_options = 6
archive_error = 7
invalid_fax_number = 8
more_params_needed_in_batch = 9
spool_error = 10
codepage = 11
OTHERS = 12
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " open_form
*&---------------------------------------------------------------------*
*& Form write_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM write_form .
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'FLIGHTINFO'
* FUNCTION = 'SET'
* TYPE = 'BODY'
* WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
EXCEPTIONS
element = 1
function = 2
type = 3
unopened = 4
unstarted = 5
window = 6
bad_pageformat_for_print = 7
spool_error = 8
codepage = 9
OTHERS = 10
.
IF sy-subrc <> 0.
WRITE 'Write_Error'.
ENDIF.
ENDFORM. " write_form
*&---------------------------------------------------------------------*
*& Form close_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM close_form .
CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
* RESULT =
* RDI_RESULT =
* TABLES
* OTFDATA =
* EXCEPTIONS
* UNOPENED = 1
* BAD_PAGEFORMAT_FOR_PRINT = 2
* SEND_ERROR = 3
* SPOOL_ERROR = 4
* CODEPAGE = 5
* OTHERS = 6
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " close_form
*&---------------------------------------------------------------------*
*& Form start_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM start_form .
CALL FUNCTION 'START_FORM'
EXPORTING
* ARCHIVE_INDEX =
form = 'FORM1'
* LANGUAGE = ' '
* STARTPAGE = ' '
* PROGRAM = ' '
* MAIL_APPL_OBJECT =
* IMPORTING
* LANGUAGE =
EXCEPTIONS
form = 1
format = 2
unended = 3
unopened = 4
unused = 5
spool_error = 6
codepage = 7
OTHERS = 8
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " start_form
*&---------------------------------------------------------------------*
*& Form end_form
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM end_form .
CALL FUNCTION 'END_FORM'
* IMPORTING
* RESULT =
EXCEPTIONS
unopened = 1
bad_pageformat_for_print = 2
spool_error = 3
codepage = 4
OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " end_form
Regards,
Swapna.
Edited by: NagaSwapna Thota on Jul 4, 2008 9:14 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ravi,
LOOP AT i_eban.
eban = i_eban.
AT NEW banfn.
CALL FUNCTION 'OPEN_FORM'
EXPORTING
form = p_form
language = eban-spras
options = itcpo
device = xdevice
dialog = xdialog
EXCEPTIONS
canceled = 01
device = 02
OTHERS = 03.
CLEAR zzscript-total.
ENDAT.
SELECT SINGLE * FROM ebkn WHERE banfn = eban-banfn
AND bnfpo = eban-bnfpo.
SELECT SINGLE * FROM t024 WHERE ekgrp = eban-ekgrp.
SELECT SINGLE * FROM lfa1 WHERE lifnr = eban-lifnr.
SET LANGUAGE eban-spras.
WRITE eban-preis TO w_work1.
WRITE eban-peinh TO w_work2.
CONCATENATE w_work1 w_work2 INTO w_work3 SEPARATED BY '/'.
CONDENSE w_work3 NO-GAPS.
zzscript-unitcostper = w_work3.
zzscript-cost = eban-menge * eban-preis / eban-peinh.
ADD zzscript-cost TO zzscript-total.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'DETAIL'
EXCEPTIONS
OTHERS = 01.
CONCATENATE eban-banfn eban-bnfpo INTO w_name.
MOVE eban-banfn TO w_nameh.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'B01'
language = sy-langu
name = w_name
object = 'EBAN'
TABLES
lines = i_text
EXCEPTIONS
OTHERS = 1.
IF sy-subrc IS INITIAL.
LOOP AT i_text INTO tline.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'ITEM_TEXT'
EXCEPTIONS
OTHERS = 01.
ENDLOOP.
CLEAR i_text.
REFRESH i_text.
CLEAR tline.
ENDIF.
CLEAR i_text.
REFRESH i_text.
CLEAR tline.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'B01'
language = sy-langu
name = w_nameh
object = 'EBANH'
TABLES
lines = i_htext
EXCEPTIONS
OTHERS = 1.
IF sy-subrc IS INITIAL.
LOOP AT i_htext. " INTO tline.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
element = 'HEADER_NOTE'
* window = 'FOOTER' "CG2006/01/17
EXCEPTIONS
OTHERS = 01.
EXIT.
ENDLOOP.
Amit.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Check the sample example program:
RSTXEXP2
Regards,
Ravi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.