cancel
Showing results for 
Search instead for 
Did you mean: 

smart forms

Former Member
0 Kudos

hi,

in smartforms, at the time of form designing can i have select-options in the form? if yes, how to do please replyme with exact answer.

kaptsrinivasarao@yahoo.co.in

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

i sent u one docu on How to Create SELECT-OPTIONS in SMARTFORMs with Screen Shots, hope usefull to u. Reward Point ,dont forget...

Regards

Fareedas

Former Member
0 Kudos

Hi....

i want to display changed po details in smartforms...

here the sample report prg... se 38.. its working fine..

but i want to display the changed details like qty, date, etc..

Atleast one field i want to display in smartforms...

if possible pls help me........

se 38.... sample code..

REPORT ZPOCHANGE LINE-SIZE 132 NO STANDARD PAGE HEADING

LINE-COUNT 065(001)

MESSAGE-ID VR.

TABLES: DD04T,

CDHDR,

CDPOS,

DD03L,

DD41V,

T685T,

VBPA,

TPART,

KONVC,

EKKO.

SELECT-OPTIONS: XUDATE FOR CDHDR-UDATE,

XNAME FOR CDHDR-USERNAME,

XEBELN FOR EKKO-EBELN,

XLIFNR FOR EKKO-LIFNR.

SELECTION-SCREEN SKIP.

TEXT-001 - Sorting Sequence

SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS: SUDATE RADIOBUTTON GROUP R1,

SNAME RADIOBUTTON GROUP R1,

SOBID RADIOBUTTON GROUP R1.

SELECTION-SCREEN END OF BLOCK BLK1.

DATA: WFLAG,

WCHANGENR LIKE CDHDR-CHANGENR.

DATA: INDTEXT(60) TYPE C.

DATA: BEGIN OF ICDHDR OCCURS 50.

INCLUDE STRUCTURE CDHDR.

DATA: END OF ICDHDR.

DATA: BEGIN OF ICDSHW OCCURS 50.

INCLUDE STRUCTURE CDSHW.

DATA: END OF ICDSHW.

DATA: BEGIN OF EKKEY,

EBELN LIKE EKET-EBELN,

EBELP LIKE EKET-EBELP,

ETENR LIKE EKET-ETENR,

END OF EKKEY.

DATA: BEGIN OF ITAB OCCURS 50,

BEGIN OF EKKEY,

EBELN LIKE EKET-EBELN,

EBELP LIKE EKET-EBELP,

ETENR LIKE EKET-ETENR,

END OF EKKEY,

CHANGENR LIKE CDHDR-CHANGENR,

UDATE LIKE CDHDR-UDATE,

UTIME LIKE CDHDR-UTIME,

USERNAME LIKE CDHDR-USERNAME,

CHNGIND LIKE CDSHW-CHNGIND,

FTEXT LIKE CDSHW-FTEXT,

OUTLEN LIKE CDSHW-OUTLEN,

F_OLD LIKE CDSHW-F_OLD,

F_NEW LIKE CDSHW-F_NEW,

END OF ITAB.

DATA: OLD_OBJECTID LIKE CDHDR-OBJECTID.

FIELD-SYMBOLS: <F_OLD>, <F_NEW>.

SELECT * FROM EKKO WHERE EBELN IN XEBELN AND

LIFNR IN XLIFNR.

CLEAR CDHDR.

CLEAR CDPOS.

CDHDR-OBJECTCLAS = 'EINKBELEG'.

CDHDR-OBJECTID = EKKO-EBELN.

PERFORM GETCHGDOCS.

ENDSELECT.

IF SUDATE = 'X'.

SORT ITAB BY UDATE EKKEY-EBELN CHANGENR EKKEY-EBELP

EKKEY-ETENR.

ELSEIF SNAME = 'X'.

SORT ITAB BY USERNAME EKKEY-EBELN CHANGENR EKKEY-EBELP

EKKEY-ETENR.

ELSE.

SORT ITAB BY EKKEY-EBELN CHANGENR EKKEY-EBELP EKKEY-ETENR.

ENDIF.

LOOP AT ITAB.

CLEAR: INDTEXT, EKKEY.

CASE ITAB-CHNGIND.

WHEN 'U'.

INDTEXT(50) = ITAB-FTEXT.

INDTEXT+51 = TEXT-020.

CONDENSE INDTEXT.

WHEN 'D'.

INDTEXT = TEXT-021.

WHEN 'E'.

INDTEXT(5) = ITAB-FTEXT.

INDTEXT+51 = TEXT-021.

CONDENSE INDTEXT.

WHEN 'I'.

INDTEXT = TEXT-022.

ENDCASE.

RESERVE 4 LINES.

IF WCHANGENR NE ITAB-CHANGENR.

WCHANGENR = ITAB-CHANGENR.

EKKEY = ITAB-EKKEY.

WRITE:/ ITAB-UDATE UNDER 'Change Date',

ITAB-UTIME UNDER 'Time',

ITAB-USERNAME UNDER 'User Name',

ITAB-EKKEY-EBELN UNDER 'PO No',

ITAB-EKKEY-EBELP UNDER 'Item',

ITAB-EKKEY-ETENR UNDER 'Sch No',

INDTEXT UNDER 'Changes'.

ELSEIF ITAB-EKKEY NE EKKEY.

WRITE:/ ITAB-EKKEY-EBELP UNDER 'Item',

ITAB-EKKEY-ETENR UNDER 'Sch No',

INDTEXT UNDER 'Changes'.

ENDIF.

CASE ITAB-CHNGIND.

WHEN 'U'.

ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO <F_OLD>.

ASSIGN ITAB-F_NEW(ITAB-OUTLEN) TO <F_NEW>.

WRITE: / TEXT-023 UNDER 'Changes',

<F_OLD>.

WRITE: / TEXT-024 UNDER 'Changes',

<F_NEW>.

WHEN 'E'.

ASSIGN ITAB-F_OLD(ITAB-OUTLEN) TO <F_OLD>.

WRITE: TEXT-023 UNDER 'Changes',

<F_OLD>.

ENDCASE.

SKIP.

ENDLOOP.

TOP-OF-PAGE.

WRITE:/ SY-DATUM,SY-UZEIT,

50 'P U R C H A S E O R D E R H I S T O R Y',

120 'Page', SY-PAGNO.

WRITE: / SY-REPID,

60 'Purchase Orders Changes'.

SKIP.

ULINE.

IF SUDATE = 'X'.

WRITE:/001 'Change Date',

014 'Time',

024 'User Name',

038 'PO No',

050 'Item',

057 'Sch No',

065 'Changes'.

ELSEIF SOBID = 'X'.

WRITE:/001 'PO No',

013 'Item',

020 'Sch No',

028 'Change Date',

041 'Time',

051 'User Name',

065 'Changes'.

ELSE.

WRITE:/001 'User Name',

015 'Change Date',

028 'Time',

038 'PO No',

050 'Item',

057 'Sch No',

065 'Changes'.

ENDIF.

ULINE.

FORM GETCHGDOCS.

CALL FUNCTION 'CHANGEDOCUMENT_READ_HEADERS'

EXPORTING

DATE_OF_CHANGE = CDHDR-UDATE

OBJECTCLASS = CDHDR-OBJECTCLAS

OBJECTID = CDHDR-OBJECTID

TIME_OF_CHANGE = CDHDR-UTIME

USERNAME = CDHDR-USERNAME

TABLES

I_CDHDR = ICDHDR

EXCEPTIONS

NO_POSITION_FOUND = 1

OTHERS = 2.

CHECK SY-SUBRC EQ 0.

DELETE ICDHDR WHERE CHANGE_IND EQ 'I'.

CHECK NOT ICDHDR[] IS INITIAL.

LOOP AT ICDHDR.

CHECK ICDHDR-UDATE IN XUDATE.

CHECK ICDHDR-USERNAME IN XNAME.

CALL FUNCTION 'CHANGEDOCUMENT_READ_POSITIONS'

EXPORTING CHANGENUMBER = ICDHDR-CHANGENR

IMPORTING HEADER = CDHDR

TABLES EDITPOS = ICDSHW

EXCEPTIONS NO_POSITION_FOUND = 1

OTHERS = 2.

CHECK SY-SUBRC EQ 0.

LOOP AT ICDSHW.

CHECK ICDSHW-TEXT_CASE EQ SPACE.

MOVE-CORRESPONDING ICDSHW TO ITAB.

MOVE-CORRESPONDING ICDHDR TO ITAB.

MOVE ICDSHW-TABKEY+3 TO ITAB-EKKEY.

APPEND ITAB.

ENDLOOP.

ENDLOOP.

ENDFORM.

Answers (4)

Answers (4)

Former Member
0 Kudos

ok i.e. in smartform designing we cant give select options in the form

Former Member
0 Kudos

Hi,

Its not possible to do it.

May be if you say the full requirements, we can suggest you with some ideas.

Thanks,

karthik

Former Member
0 Kudos

You cannot include an select-options in smartform. Instead you can use select-options in the driver program and pass the values of this select-options to smartform using import and export parameters in Form interface...

Reward Points if useful.

Former Member
0 Kudos

I m sorry

but this is not possible in smartform.

since SMARTFORM is a template which is used for designing the form and not for takin input from the user

but u can have the select-option in driver program

Edited by: Abap-fresher on Feb 25, 2008 3:32 PM