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

Driver Program?????????

Former Member
0 Likes
712

tell me formname and driver program for purchase order in smartforms. how to give subroutines in smartforms? ...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
690

Hi,

PUCHASE ORDER

Output type : NEU

ScriptForm Name : MEDRUCK

Driver Program Name : SAPMF06P

smartform name : /SMB40/MMPO_L

smartform driver program: /SMB40/FM06P

2.In Global data Definitions there is tab Form routines.....

5 REPLIES 5
Read only

Former Member
0 Likes
691

Hi,

PUCHASE ORDER

Output type : NEU

ScriptForm Name : MEDRUCK

Driver Program Name : SAPMF06P

smartform name : /SMB40/MMPO_L

smartform driver program: /SMB40/FM06P

2.In Global data Definitions there is tab Form routines.....

Read only

0 Likes
690

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.

Read only

Former Member
0 Likes
690

Hi,

if you goto transaction code: NACE. you will get all the details pertaining to the Puchase order. Follow the below procedure.

t.code: NACE

choose Purchase order and press on output types.

choose 'NEU' in the right pan and press on 'processing routine' in the left pan.

Now u can see the desired things there in the right pan.

Read only

Former Member
0 Likes
690

Hi

program name:SAPFM06P

form routine :ENTRY_NEU

smartform: /SMB40/MMPO_L

Edited by: Jyothsna M on Feb 26, 2008 7:05 AM

Read only

RemiKaimal
Active Contributor
0 Likes
690

Hi,

ScriptForm : MEDRUCK

Driver Pgm : SAPMF06P

Smartform : /SMB40/MMPO_L

Driver Pgm : /SMB40/FM06P

Cheers,

Remi