cancel
Showing results for 
Search instead for 
Did you mean: 

SMART FORM FOR PURCHASE ORDER

Former Member
0 Kudos

Hii Experts,

I am developing a smart form for purchase order. I am customizing the existing PO smart form according to the clients requirements. The customer needs fields Discount percentage, Excise duty and VAT/CST%... all these fields when i explored in transaction me23n come from a structure so the values come only at run time.. can anyone tell me the exact table and fields from where these comes so that i can retrieve it from there and display it in my smart form. The fields i need are discount percentage, excise duty and VAT/CST%. its urgent.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

If you are using ECC 6.0 version,you have to make the changes in form routine 'entry_neu'.

Create a copy of routine 'entry_neu'

and comment function module 'ME_PRINT_PO' from this routine.

Call your smartform from new z perform routine.

Former Member
0 Kudos

Hi Ganesh,

driver program is SAPFM06P and form is MEDRUCK. But u r creating smartform (ZPO_FORM) , so goto nace transaction and assign u r form to NEU output type.

Regards,

Vishvesh. K

Former Member
0 Kudos

Hi,

Can u give Smart form name for Purchase order

and Driver program name also plz. give me.

Thanks and Regards

Ganesh

Former Member
0 Kudos

The smart form name is /SMB40/MMPO_L. The driver program name is sapfm06p. but this program will call only the script. so u have make changes to the code and assign the prog name and smart form name in nace transaction and u can get the print output from me42 or me9a. if u are not able 2 make changes to the driver program then give me your mail id i ll mail you.

Thanks & Regards,

Venkatraman G.

Former Member
0 Kudos

The smart form name is /SMB40/MMPO_L. The driver program name is sapfm06p. but this program will call only the script. so u have make changes to the code and assign the prog name and smart form name in nace transaction and u can get the print output from me42 or me9a. if u are not able 2 make changes to the driver program then give me your mail id i ll mail you.

I need this code . I need to change code of standard driver prog.but I dont how to do it. Plz help me out. in my requirment i have one zform and its program. but I dont how and where i should be attach in standard print program. (RVADOR01)

pLZ HELP ME OUT

Thanks & Regards,

Venkatraman G.

Thanks & Regards,

Venkatraman G.

sachin_soni
Active Participant
0 Kudos

Hi venkat,

Even i need the changes to be done in the driver program so as to include my ZSmartform.

please do let me know either here or at ntl.sachin.soni@prismcement.com

thanks

sachin soni

Former Member
0 Kudos

REPORT ZMR_PURCHASE_ORDER.

types: BEGIN OF ty_lfa1,

LIFNR TYPE lfa1-LIFNR,

MCOD1 TYPE lfa1-MCOD1,

STRAS TYPE lfa1-STRAS,

MCOD3 TYPE lfa1-mcod3,

END OF ty_lfa1.

TYPES: BEGIN OF ty_ekpo,

ebeln TYPE ekpo-ebeln,

ebelp TYPE ekpo-ebelp,

txz01 TYPE ekpo-txz01,

menge TYPE ekpo-menge,

peinh TYPE ekpo-peinh,

brtwr TYPE ekpo-brtwr,

END OF ty_ekpo.

TYPES: BEGIN OF ty_ekko,

ebeln TYPE ekko-ebeln, "purchase doc

LIFNR TYPE ekko-LIFNR, "vendor

MCOD1 TYPE lfa1-MCOD1, "vendor name

STRAS TYPE lfa1-STRAS, "vendor add

MCOD3 TYPE lfa1-MCOD3, "vendor city

bedat TYPE ekko-bedat, "doc date

unsez TYPE ekko-unsez, "contact person

verkf TYPE ekko-verkf, "attn

telf1 TYPE ekko-telf1, "tele

ihrez TYPE ekko-ihrez, "ref

KNUMV TYPE ekko-KNUMV, "doc condition

  • ebelp TYPE ekpo-ebelp, "item

  • txz01 TYPE ekpo-txz01, "message desc

  • menge TYPE ekpo-menge, "qty

  • peinh TYPE ekpo-peinh, "rate

  • brtwr TYPE ekpo-brtwr, "gross

END OF ty_ekko.

TYPES: BEGIN OF ty_t685t,

kschl TYPE t685t-KSCHL,

vtext TYPE t685t-vtext,

END OF ty_t685t.

TYPES: BEGIN OF ty_line_item,

KNUMV TYPE konv-KNUMV, "condition number

STUNR TYPE konv-STUNR, "step

kposn TYPE konv-kposn, "item

KSCHL TYPE konv-KSCHL, "condition type

vtext TYPE t685t-vtext, "condition name

KAWRT TYPE konv-KAWRT, "base amt

KRECH TYPE konv-KSCHL, "calculation type

qty(13) TYPE n, "qty

kbetr TYPE konv-kbetr, "condition rate

kwert TYPE konv-kwert, "condition value

END OF ty_line_item.

data: wa_ekko TYPE zms_ekko,

wa_item TYPE zms_konv,

wa_lfa1 TYPE ty_lfa1,

wa_t685t TYPE ty_t685t,

wa_ekpo TYPE ty_ekpo.

data: it_ekko TYPE TABLE OF zms_ekko,

it_item TYPE TABLE OF zms_konv,

it_lfa1 type TABLE OF ty_lfa1,

it_t685t TYPE TABLE OF ty_t685t,

it_ekpo TYPE TABLE OF ty_ekpo.

SELECTION-SCREEN : BEGIN OF BLOCK ss_block WITH FRAME TITLE text-001.

  • PARAMETERS: pa_ver(2) TYPE c DEFAULT '0'.

SELECT-OPTIONS: pa_pord FOR wa_ekko-ebeln,

pa_date for wa_ekko-bedat.

SELECTION-SCREEN : END OF BLOCK ss_block.

SELECT EBELN LIFNR bedat unsez verkf telf1 ihrez knumv from ekko

into CORRESPONDING FIELDS OF TABLE it_ekko.

if pa_pord is not INITIAL.

DELETE it_ekko WHERE ebeln not in pa_pord.

endif.

if pa_date is not INITIAL.

DELETE it_ekko WHERE bedat not IN pa_date.

endif.

if it_ekko is not INITIAL.

SELECT lifnr MCOD1 STRAS MCOD3 from lfa1

INTO CORRESPONDING FIELDS OF TABLE it_lfa1

FOR ALL ENTRIES IN it_ekko

WHERE LIFNR = it_ekko-LIFNR.

SELECT ebeln ebelp txz01 menge peinh brtwr from ekpo

INTO CORRESPONDING FIELDS OF TABLE it_ekpo

FOR ALL ENTRIES IN it_ekko

WHERE EBELN = it_ekko-ebeln.

loop at it_ekko into wa_ekko.

READ TABLE it_lfa1 into wa_lfa1 WITH KEY lifnr = wa_ekko-LIFNR.

wa_ekko-MCOD1 = wa_lfa1-MCOD1.

wa_ekko-stras = wa_lfa1-stras.

wa_ekko-MCOD3 = wa_lfa1-MCOD3.

MODIFY it_ekko FROM wa_ekko TRANSPORTING MCOD1 STRAS MCOD3 WHERE ebeln = wa_ekko-ebeln.

ENDLOOP.

SELECT KNUMV STUNR KPOSN KSCHL KRECH kbetr kwert KAWRT from konv

into CORRESPONDING FIELDS OF TABLE it_item

FOR ALL ENTRIES IN it_ekko

WHERE KNUMV = it_ekko-KNUMV.

SELECT kschl vtext from t685t

INTO CORRESPONDING FIELDS OF TABLE it_t685t

FOR ALL ENTRIES IN it_item

WHERE spras = 'EN' and KSCHL = it_item-KSCHL.

LOOP AT it_item into wa_item.

READ TABLE it_t685t into wa_t685t with key KSCHL = wa_item-KSCHL.

wa_item-vtext = wa_t685t-vtext.

if wa_item-kschl = 'ZBP1'.

wa_item-qty = wa_item-KAWRT / wa_item-kbetr.

endif.

if wa_item-KRECH = 'A'.

wa_item-kbetr = wa_item-kbetr / 10.

endif.

if wa_item-kschl = 'NAVS'.

wa_item-vtext = 'Sales Tax'.

endif.

MODIFY it_item from wa_item TRANSPORTING vtext kbetr kschl qty

WHERE stunr = wa_item-STUNR and

kposn = wa_item-kposn.

ENDLOOP.

DELETE it_item WHERE kposn = '000000'.

DELETE it_item WHERE kschl <> 'ZBP1' and kschl <> 'ZD01' and kschl <> 'ZE01'

and kschl <> 'NAVS' and kschl <> 'ZSRV'.

sort it_item by kposn STUNR.

CALL FUNCTION '/1BCDWB/SF00000025'

  • 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

it_ekko = it_ekko

it_item = it_item

  • 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.

endif.

Former Member
0 Kudos

Hi Venkatraman ,

Can you please send me code for changes to driver program sapfm06p on vaibhaowayzode@rediffmail.com otherwise u can post on site also..

Thanks a lot in advance...you should definately get credit for the same...thanks again...

Former Member
0 Kudos

Hi Ganesh,

1>Go to NACE Transaction and select the Application of your choice and then Click on "OUTPUT TYPES" button on top.

2>Then select Output type by selecting on the button besides the output type.

3>Then double click on the "PROCESSING ROUTINES".

4>This shows the standard form or script along with the print program.

Reward points.

Thanks,

Tej..

Former Member
0 Kudos

HI

Check with A053, T685T ... corresponding EBELN and EBELP the values stored in those tables. Check and retrieve