‎2007 May 09 2:25 PM
Below is my program. In my program there is a select statement. Now how I will pass the itab and wa_bkpf. Plz check the start of selection carefully. And add the required code.
&----
*& Report ZFI_FORM_REPORT
*&
&----
*&
*&
&----
REPORT ZFI_FORM_REPORT.
*Tables: bseg, bkpf.
DATA: itab LIKE ZFI_FORM_PRINTING_STRUCTURE OCCURS 0 WITH HEADER LINE.
DATA: fm_name TYPE rs38l_fnam.
**************************************************************************
Selection Screen
**************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
parameter : p_belnr like bseg-belnr,
b_bukrs like bseg-bukrs OBLIGATORY DEFAULT '1000',
G_gjahr like bseg-gjahr.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: Customer RADIOBUTTON GROUP g1,
vendor RADIOBUTTON GROUP g1.
SELECTION-SCREEN END OF BLOCK b2.
*******************************************************************
F4 Help
******************************************************************
at selection-screen on value-request for p_belnr.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'FIELD'
dynprofield = 'p_belnr'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
TABLES
value_tab = itab.
******************************************************************
Start-of-selection
******************************************************************
START-OF-SELECTION.
data: wa_bkpf like bkpf.
select single * from bkpf into wa_bkpf where belnr = p_belnr.
select * from bseg into corresponding fields of table itab
where belnr = wa_bkpf-belnr.
PERFORM display_smartform.
&----
*& Form display_smartform
&----
text
----
--> p1 text
<-- p2 text
----
FORM display_smartform.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZFI_FORM_PRINTING'
VARIANT = ' '
DIRECT_CALL = ' '
IMPORTING
FM_NAME = fm_name
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
WRITE:/ 'ERROR 1'.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
TABLES
ITAB = itab
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 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. "display_SMARTFORM
‎2007 May 09 2:33 PM
Hi Abhay,
Declare the ytable itab & wa_bkpf in smartform also having same structure as in ur driving program.
when u will call the SF FM .the table itab & wa_bkpf will automatically come in parameters. Here u can pass itab & wa_bkpf.
suppose u have declare those in SF as
<b>sf_bkpf type bkpf : in form interface--> import parameter
sf_itab type bseg : in Form interface--> tables parameter</b>
CALL FUNCTION fm_name
EXPORTING
ARCHIVE_INDEX =
ARCHIVE_INDEX_TAB =
ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS =
MAIL_APPL_OBJ =
MAIL_RECIPIENT =
MAIL_SENDER =
OUTPUT_OPTIONS =
USER_SETTINGS = 'X'
IMPORTING
DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO =
JOB_OUTPUT_OPTIONS =
<b>sf_bkpf = wa_bkpf</b>TABLES
<b>sf_ITAB = itab</b>
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5
Reward points if helpful.
Regards,
Hemant