cancel
Showing results for 
Search instead for 
Did you mean: 

working with loop via smartforms

Former Member
0 Kudos

hi....

Im new to smartforms... and i need help regarding this matter.

currently im modifying a program via smartforms... in my drivers program i pass all the data that i need

in a data field. I have created a form and pass all the data inorder for me display it. My problem is it only display 1 entry but when u debug the drives program it contains multiply entry... how can i loop all the data in my smartforms so i can display all the data?

details:

I transfer all the data in Internal table LT_OUTTAB2 like this.

S_RMNTH = LT_OUTTAB2-RMNTH.

S_RYEAR = LT_OUTTAB2-RYEAR.

S_ISSDATE = LT_OUTTAB2-ISSDATE.

S_REC = LT_OUTTAB2-RECEIPT.

S_EECTB = LT_OUTTAB2-EECTB.

S_ERCTB = LT_OUTTAB2-ERCTB.

S_ECCTB = LT_OUTTAB2-ECCTB.

S_TOT = LT_OUTTAB2-TOTAL.

S_GTOT3 = S_TOT + S_GTOT3.

S_GTOT2 = S_ERCTB + S_GTOT2.

S_GTOT1 = S_EECTB + S_GTOT1.

then call the function name:

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = 'ZHRPYHPHRSBR0_V2'

IMPORTING

FM_NAME = FNAME.

IF SY-SUBRC EQ 0.

ENDIF.

CALL FUNCTION FNAME

EXPORTING

OUTPUT_OPTIONS = GS_SSFCOMPOP

S_TEXT1 = S_TEXT1

S_TXT = S_TXT

S_NAME = S_NAME

S_SSS = S_SSS

S_RYEAR = S_RYEAR

S_RMNTH = S_RMNTH

S_ISSDATE = S_ISSDATE

S_REC = S_REC

S_EECTB = S_EECTB

S_ERCTB = S_ERCTB

S_TOT = S_TOT

S_GTOT3 = S_GTOT3

S_GTOT2 = S_GTOT2

S_GTOT1 = S_GTOT1

S_ECCTB = S_ECCTB.

IF SY-SUBRC EQ 0.

ENDIF.

In my form I add LOOP in the Main Area of my Table... But i dont know what will be the next step...

please help

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

solved

Former Member
0 Kudos

are you calling the SF in the loop???? it will ofcourse create new form for each line,

you want all the table data in form then pass the entire table at a time to the SF.

and in main window

cretea a table

in the DATA tab of that table give the internal table name and work area name and procedd further, please let us know if you get any doubt

Former Member
0 Kudos

HI,

Edited by: Smita Gupta on Aug 27, 2009 2:27 PM

Former Member
0 Kudos

HI,

U can put the loop by using

loop at LT_OUTTAB2 into wa.

S_RMNTH = wa-RMNTH.

S_RYEAR = wa-RYEAR.

S_ISSDATE = wa-ISSDATE.

S_REC = wa-RECEIPT.

S_EECTB = wa-EECTB.

S_ERCTB = wa-ERCTB.

S_ECCTB = wa-ECCTB.

S_TOT = wa-TOTAL.

S_GTOT3 = S_TOT + S_GTOT3.

S_GTOT2 = S_ERCTB + S_GTOT2.

S_GTOT1 = S_EECTB + S_GTOT1.

then call the function name:

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = 'ZHRPYHPHRSBR0_V2'

IMPORTING

FM_NAME = FNAME.

IF SY-SUBRC EQ 0.

ENDIF.

CALL FUNCTION FNAME

EXPORTING

OUTPUT_OPTIONS = GS_SSFCOMPOP

S_TEXT1 = S_TEXT1

S_TXT = S_TXT

S_NAME = S_NAME

S_SSS = S_SSS

S_RYEAR = S_RYEAR

S_RMNTH = S_RMNTH

S_ISSDATE = S_ISSDATE

S_REC = S_REC

S_EECTB = S_EECTB

S_ERCTB = S_ERCTB

S_TOT = S_TOT

S_GTOT3 = S_GTOT3

S_GTOT2 = S_GTOT2

S_GTOT1 = S_GTOT1

S_ECCTB = S_ECCTB.

IF SY-SUBRC EQ 0.

ENDIF.

endloop.

Former Member
0 Kudos

HI,

U can put the loop by using

loop at LT_OUTTAB2 into wa.

S_RMNTH = wa-RMNTH.

S_RYEAR = wa-RYEAR.

S_ISSDATE = wa-ISSDATE.

S_REC = wa-RECEIPT.

S_EECTB = wa-EECTB.

S_ERCTB = wa-ERCTB.

S_ECCTB = wa-ECCTB.

S_TOT = wa-TOTAL.

S_GTOT3 = S_TOT + S_GTOT3.

S_GTOT2 = S_ERCTB + S_GTOT2.

S_GTOT1 = S_EECTB + S_GTOT1.

endloop.

then call the function name:

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

EXPORTING

FORMNAME = 'ZHRPYHPHRSBR0_V2'

IMPORTING

FM_NAME = FNAME.

IF SY-SUBRC EQ 0.

ENDIF.

CALL FUNCTION FNAME

EXPORTING

OUTPUT_OPTIONS = GS_SSFCOMPOP

S_TEXT1 = S_TEXT1

S_TXT = S_TXT

S_NAME = S_NAME

S_SSS = S_SSS

S_RYEAR = S_RYEAR

S_RMNTH = S_RMNTH

S_ISSDATE = S_ISSDATE

S_REC = S_REC

S_EECTB = S_EECTB

S_ERCTB = S_ERCTB

S_TOT = S_TOT

S_GTOT3 = S_GTOT3

S_GTOT2 = S_GTOT2

S_GTOT1 = S_GTOT1

S_ECCTB = S_ECCTB.

IF SY-SUBRC EQ 0.

ENDIF.

An other way is

pass this table as a paramter to smart form ,create a loop on this table and based on the loop diaplay rowns and column in the table

Edited by: Smita Gupta on Aug 27, 2009 2:30 PM

Former Member
0 Kudos

Hi,

Try this..

Loop at LT_OUTTAB2 into wa.

S_RMNTH = wa-RMNTH.

S_RYEAR = wa-RYEAR.

S_ISSDATE = wa-ISSDATE.

S_REC = wa-RECEIPT.

S_EECTB = wa-EECTB.

S_ERCTB = wa-ERCTB.

S_ECCTB = wa-ECCTB.

S_TOT = wa-TOTAL.

S_GTOT3 = S_TOT + S_GTOT3.

S_GTOT2 = S_ERCTB + S_GTOT2.

S_GTOT1 = S_EECTB + S_GTOT1.

endloop.

Regards,

Raghu