Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

need help

Former Member
0 Likes
287

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

1 REPLY 1
Read only

Former Member
0 Likes
258

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