Skip to Content
avatar image
Former Member

SMARTFORMS and ABAP OO

I have a performance probleme when I activate my Smartforms.

The activation of my smartforms are very very long (Time out).

This is only when I use ABAP object program in my Smartforms.

Exemple in an invoice formular: I use specific object class (create with SE24) to read all the data.

- ZCL_INVOICE_DOC = 1 invoice (attributes : VBRK, VBELN, .... methodes get_customer, get_item, get_adress, ...)

- ZCL_INVOICE_DOC_ITEM = 1 invoice item (attributes : VBRP, POSNR, ... methodes : get_material (object), ...)

- ZCL_ADDRESS = 1 adresse

- ZCL_CUSTOMER = 1 partner

- ...

it is very simple to use this sort of object to get invoice data, the performance of this ZCL_xxx object are good.

but when i use it in a smartforms the activation time increase too much!!!

Do you have notice this sort of probleme with ABAP OO in smartforms?.

Is there a methode to activate smartforms in bacth mode?

Thanks for your answer.

Frederic CASTEL

(sorry for my english)

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Sep 23, 2010 at 10:48 AM

    hi,

    for activating the smartform, you can use this function module. REPT_OBJECT_ACTIVATE. Pass the name of the smartform to this function module parameter OBJECT_NAME.

    This function module can be run in the background to avoid the timeout error.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Sep 23, 2010 at 11:00 AM

    well, ABAP OO is well known to have performance issues, thats why SAP had to introduce the "FRIEND"-concept, which actually works against all capsulating rules of the OO concept.

    Anyway, if your smartform takes that long for activation you got MUCH coding in it.

    a Smartform is beeing called from a driver program, so why dont you do your GET_DATA stuff in the driver program and pass it to the smartform?

    In my personal taste it makes much sense to have as less coding in the form as possible and move anything possible to the driver program.

    much fun further on.

    Add comment
    10|10000 characters needed characters exceeded