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

Reg-smart form reporting.

Former Member
0 Likes
494

Below is my print program. But it's not working. As I am thinking there is some problem in select statement. Plz check my select statment and let me know where I am wrong.

&----


*& 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.

*" take work area belnr

*" select single from bkpf where belnr = pa_ gjahr wa_bkpf

*select single * from bkpf into wa_bkpf where fld = 'XXX'.

*

*select * from bseg into table itab.

*loop at itab.

*if itab-belnr = wa_belnr.

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.

loop at itab where belnr = wa_bkpf-belnr.

endloop.

  • loop at itab into WA_BKPF.

  • compare wa_belnr = itab-belnr

  • endloop.

*

  • select single * belnr from bkpf into corresponding field of table itab.

  • WHERE belnr in p_belnr,

  • and bukrs in b_bukrs,

  • and gjahr in g_gjahr.

*

*

  • SELECT * FROM bseg INTO CORRESPONDING FIELDS OF table itab

  • WHERE belnr = wa__belnr,

  • and bukrs = wa_bukrs,

  • and gjahr = wa_gjahr.

*select * from bseg INTO CORRESPONDING FIELDS OF itab

*WHERE belnr in p_belnr

*and bukrs in b_bukrs

*and gjahr in g_gjahr.

*append itab.

*endselect.

*

*if not itab[] is initial.

*SELECT * FROM bkpf INTO CORRESPONDING FIELDS OF itab

*for all entries in itab

*WHERE belnr = itab-belnr

*and bukrs = itab-bukrs

*and gjahr = itab-gjahr.

*endselect.

*endif.

*append itab.

*

  • SELECT * FROM bseg INTO CORRESPONDING FIELDS OF itab

  • WHERE belnr in p_belnr

  • and bukrs in b_bukrs

  • and gjahr in g_gjahr.

    • MOVE-CORRESPONDING bseg TO itab.

  • append itab.

  • endselect.

*

  • select * from bkpf INTO CORRESPONDING FIELDS OF itab

  • WHERE belnr in p_belnr

  • and bukrs in b_bukrs

  • and gjahr in g_gjahr.

    • MOVE-CORRESPONDING bkpf TO itab.

  • append itab.

  • endselect.

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.

*******************fm_name********************************

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 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
470

hi

are you getting line items into your line item itab? try using all the parameters and sel. options in where condition...make parameter p_belnr as mandatory, as leaving it blank will fetch no value from db..use if itab[] initial before for all entries..

if helpful, reward

Sathish. R

Below is my print program. But it's not working. As I am thinking there is some problem in select statement. Plz check my select statment and let me know where I am wrong.

&----


*& 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.

*" take work area belnr

*" select single from bkpf where belnr = pa_ gjahr wa_bkpf

*select single * from bkpf into wa_bkpf where fld = 'XXX'.

*

*select * from bseg into table itab.

*loop at itab.

*if itab-belnr = wa_belnr.

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.

loop at itab where belnr = wa_bkpf-belnr.

endloop.

  • loop at itab into WA_BKPF.

  • compare wa_belnr = itab-belnr

  • endloop.

*

  • select single * belnr from bkpf into corresponding field of table itab.

  • WHERE belnr in p_belnr,

  • and bukrs in b_bukrs,

  • and gjahr in g_gjahr.

*

*

  • SELECT * FROM bseg INTO CORRESPONDING FIELDS OF table itab

  • WHERE belnr = wa__belnr,

  • and bukrs = wa_bukrs,

  • and gjahr = wa_gjahr.

*select * from bseg INTO CORRESPONDING FIELDS OF itab

*WHERE belnr in p_belnr

*and bukrs in b_bukrs

*and gjahr in g_gjahr.

*append itab.

*endselect.

*

*if not itab[] is initial.

*SELECT * FROM bkpf INTO CORRESPONDING FIELDS OF itab

*for all entries in itab

*WHERE belnr = itab-belnr

*and bukrs = itab-bukrs

*and gjahr = itab-gjahr.

*endselect.

*endif.

*append itab.

*

  • SELECT * FROM bseg INTO CORRESPONDING FIELDS OF itab

  • WHERE belnr in p_belnr

  • and bukrs in b_bukrs

  • and gjahr in g_gjahr.

    • MOVE-CORRESPONDING bseg TO itab.

  • append itab.

  • endselect.

*

  • select * from bkpf INTO CORRESPONDING FIELDS OF itab

  • WHERE belnr in p_belnr

  • and bukrs in b_bukrs

  • and gjahr in g_gjahr.

    • MOVE-CORRESPONDING bkpf TO itab.

  • append itab.

  • endselect.

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.

*******************fm_name********************************

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

2 REPLIES 2
Read only

Former Member
0 Likes
470

Hi,

When u execute the same wat is the output like moving to smartform layout r some error r ......?

Read only

Former Member
0 Likes
471

hi

are you getting line items into your line item itab? try using all the parameters and sel. options in where condition...make parameter p_belnr as mandatory, as leaving it blank will fetch no value from db..use if itab[] initial before for all entries..

if helpful, reward

Sathish. R