Skip to Content
0
Former Member
Jul 15, 2008 at 09:33 AM

Perfformance tuning of code

54 Views

Hi all,

Can anybody optimize the below code, it is just part of the code.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ZSDGUI'.

SET TITLEBAR 'ZSDDR'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module get_data OUTPUT

&----


  • text

----


MODULE get_data OUTPUT.

PERFORM initialize.

ENDMODULE. " get_data OUTPUT

&----


*& Form initialize

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM initialize .

IF gr_alvgrid IS INITIAL .

*----Creating custom container instance

CREATE OBJECT gr_ccontainer

EXPORTING

container_name = gc_custom_control_name

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6.

  • IF sy-subrc <> 0.

**--Exception handling

  • ENDIF.

*----Creating ALV Grid instance

CREATE OBJECT gr_alvgrid

EXPORTING

i_parent = gr_ccontainer

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5.

  • IF sy-subrc <> 0.

**--Exception handling

  • ENDIF.

*--- GET DATA

PERFORM get_data.

*----Preparing field catalog.

PERFORM prepare_field_catalog .

*---- Layout

PERFORM layout.

*---- Display

PERFORM display.

ENDIF.

ENDFORM. " initialize

&----


*& Form get_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_data .

*---- Billing Data - Billing View

SELECT vbeln

posnr

fkart

vtext

fkdat

pstyv

kunag

kunrg

bukrs

butxt

vkorg

vtext_vkorg

vtweg

vtext_vtweg

spart

vtext_spart

vkbur

vkgrp

werks

name1_plant

lgort

matkl

wgbez_matgp

matnr

maktx

charg

fkimg

zterm

waerk

inco1

inco2

aubel

aupos

vgbel

brgew

ntgew

regio

FROM zsdv_bill

CLIENT SPECIFIED

INTO CORRESPONDING FIELDS OF TABLE it_bill

WHERE vbeln IN s_vbeln

AND fkart IN s_fkart

AND fkdat IN s_fkdat

AND kunag IN s_kunag

AND vkorg IN s_vkorg

AND vtweg IN s_vtweg

AND spart IN s_spart

AND spras EQ 'E'

AND spras_sorg EQ 'E'

AND spras_distchl EQ 'E'

AND spras_div EQ 'E'

AND spras_matgp EQ 'E'

AND spras_matdes EQ 'E'.

IF it_bill[] IS NOT INITIAL.

*--- Customer Master - Name

SELECT kunnr

name1

FROM kna1

CLIENT SPECIFIED

INTO TABLE it_kna1

FOR ALL ENTRIES IN it_bill

WHERE kunnr EQ it_bill-kunag

AND kunnr EQ it_bill-kunrg.

*--- Payment Terms - Text

SELECT zterm

spras

vtext

FROM tvzbt

CLIENT SPECIFIED

INTO TABLE it_tvzbt

FOR ALL ENTRIES IN it_bill

WHERE zterm EQ it_bill-zterm

AND spras EQ 'E'.

*---- Sales data - Sales View

SELECT vbeln

posnr

erdat

bstnk

bstdk

kdgrp

FROM zsdv_sales

CLIENT SPECIFIED

INTO CORRESPONDING FIELDS OF TABLE it_sales

FOR ALL ENTRIES IN it_bill

WHERE vbeln EQ it_bill-aubel

AND posnr EQ it_bill-aupos.

IF it_sales[] IS NOT INITIAL.

*--- Customer Group

SELECT kdgrp

spras

ktext

FROM t151t

CLIENT SPECIFIED

INTO TABLE it_t151t

FOR ALL ENTRIES IN it_sales

WHERE kdgrp EQ it_sales-kdgrp

AND spras EQ 'EN'.

*--- Partner Functions

SELECT vbeln

parvw

kunnr

adrnr

FROM vbpa

CLIENT SPECIFIED

INTO TABLE it_vbpa

FOR ALL ENTRIES IN it_sales

WHERE vbeln EQ it_sales-vbeln

AND parvw EQ 'WE'

OR parvw EQ 'FA'.

*--- Addresses

IF it_vbpa[] IS NOT INITIAL.

SELECT addrnumber

name1

city1

FROM adrc

CLIENT SPECIFIED

INTO TABLE it_adrc

FOR ALL ENTRIES IN it_vbpa

WHERE addrnumber EQ it_vbpa-adrnr.

ENDIF.

*--- Sales Office - Text

SELECT vkbur

spras

bezei

FROM tvkbt

CLIENT SPECIFIED

INTO TABLE it_tvkbt

FOR ALL ENTRIES IN it_sales

WHERE vkbur EQ it_sales-vkbur

AND spras EQ 'E'.

*--- Sales Group - Text

SELECT vkgrp

spras

bezei

FROM tvgrt

CLIENT SPECIFIED

INTO TABLE it_tvgrt

FOR ALL ENTRIES IN it_sales

WHERE vkgrp EQ it_sales-vkgrp

AND spras EQ 'E'.

*--- Storage Location - Text

SELECT werks

lgort

lgobe

FROM t001l

CLIENT SPECIFIED

INTO TABLE it_t001l

FOR ALL ENTRIES IN it_sales

WHERE werks EQ it_sales-werks

AND lgort EQ it_sales-lgort.

ENDIF.

*---- Delivery data - Delivery View

SELECT vbeln

posnr

vsart

traid

route

FROM zsdv_delivery

CLIENT SPECIFIED

INTO CORRESPONDING FIELDS OF TABLE it_delivery

FOR ALL ENTRIES IN it_bill

WHERE vbeln EQ it_bill-vgbel.

*--- Route - Text

IF it_delivery IS NOT INITIAL.

SELECT route

spras

bezei

FROM tvrot

CLIENT SPECIFIED

INTO TABLE it_tvrot

FOR ALL ENTRIES IN it_delivery

WHERE route EQ it_delivery-route

AND spras EQ 'EN'.

ENDIF.

ENDIF.

SORT it_bill BY vbeln posnr.

SORT it_sales BY vbeln posnr.

SORT it_delivery BY vbeln posnr.

LOOP AT it_bill ASSIGNING <wa_bill>.

**---

wa_final-vbeln = <wa_bill>-vbeln.

wa_final-posnr = <wa_bill>-posnr.

wa_final-fkart = <wa_bill>-fkart.

wa_final-fkart_text = <wa_bill>-vtext.

wa_final-fkdat = <wa_bill>-fkdat.

wa_final-pstyv = <wa_bill>-pstyv.

wa_final-kunrg = <wa_bill>-kunrg.

wa_final-kunag = <wa_bill>-kunag.

wa_final-bukrs = <wa_bill>-bukrs.

wa_final-bukrs_text = <wa_bill>-butxt.

wa_final-vkorg_text = <wa_bill>-vtext_vkorg.

wa_final-vkorg = <wa_bill>-vkorg.

wa_final-vtweg = <wa_bill>-vtweg.

wa_final-vtweg_text = <wa_bill>-vtext_vtweg.

wa_final-spart = <wa_bill>-spart.

wa_final-spart_text = <wa_bill>-vtext_spart.

wa_final-vkbur = <wa_bill>-vkbur.

wa_final-vkgrp = <wa_bill>-vkgrp.

wa_final-werks = <wa_bill>-werks.

wa_final-werks_text = <wa_bill>-name1_plant.

wa_final-lgort = <wa_bill>-lgort.

wa_final-matkl = <wa_bill>-matkl.

wa_final-matkl_text = <wa_bill>-wgbez_matgp .

wa_final-matnr = <wa_bill>-matnr.

wa_final-matnr_text = <wa_bill>-maktx.

wa_final-charg = <wa_bill>-charg.

wa_final-fkimg = <wa_bill>-fkimg.

wa_final-zterm = <wa_bill>-zterm.

wa_final-waerk = <wa_bill>-waerk.

wa_final-inco1 = <wa_bill>-inco1.

wa_final-inco2 = <wa_bill>-inco2.

wa_final-aubel = <wa_bill>-aubel.

wa_final-aupos = <wa_bill>-aupos.

wa_final-vgbel = <wa_bill>-vgbel.

wa_final-brgew = <wa_bill>-brgew.

wa_final-ntgew = <wa_bill>-ntgew.

wa_final-regio = <wa_bill>-regio. " 37

*--- Payment Terms - Text

IF <wa_bill>-zterm IS NOT INITIAL.

READ TABLE it_tvzbt ASSIGNING <wa_tvzbt> WITH KEY zterm = <wa_bill>-zterm

BINARY SEARCH.

IF sy-subrc EQ 0.

wa_final-zterm_text = <wa_tvzbt>-vtext. " 38

ENDIF.

ENDIF.

*--- Sales Office

IF <wa_bill>-vkbur IS NOT INITIAL.

READ TABLE it_tvkbt ASSIGNING <wa_tvkbt> WITH KEY vkbur = <wa_bill>-vkbur

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-vkbur_text = <wa_tvkbt>-bezei. " 39

ENDIF.

ENDIF.

*--- Sales Group

IF <wa_bill>-vkgrp IS NOT INITIAL.

READ TABLE it_tvgrt ASSIGNING <wa_tvgrt> WITH KEY vkgrp = <wa_bill>-vkgrp

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-vkgrp_text = <wa_tvgrt>-bezei. " 40

ENDIF.

ENDIF.

*--- Storage Location

IF <wa_bill>-lgort IS NOT INITIAL AND <wa_bill>-werks IS NOT INITIAL.

READ TABLE it_t001l ASSIGNING <wa_t001l> WITH KEY werks = <wa_bill>-werks

lgort = <wa_bill>-lgort

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-lgort_text = <wa_t001l>-lgobe. " 41

ENDIF.

ENDIF.

*--- Sold to Party

IF <wa_bill>-kunag IS NOT INITIAL.

READ TABLE it_kna1 ASSIGNING <wa_kna1> WITH KEY kunnr = <wa_bill>-kunag

BINARY SEARCH.

IF sy-subrc EQ 0.

wa_final-kunag_name = <wa_kna1>-name1. " 42

ENDIF.

ENDIF.

*--- Payer

IF <wa_bill>-kunrg IS NOT INITIAL.

READ TABLE it_kna1 ASSIGNING <wa_kna1> WITH KEY kunnr = <wa_bill>-kunrg

BINARY SEARCH.

IF sy-subrc EQ 0.

wa_final-kunrg_name = <wa_kna1>-name1. " 43

ENDIF.

ENDIF.

*--- Delivery data

READ TABLE it_delivery ASSIGNING <wa_delivery> WITH KEY vbeln = <wa_bill>-vgbel

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-traid = <wa_delivery>-traid. " 44

wa_final-vsart = <wa_delivery>-vsart. " 45

wa_final-route = <wa_delivery>-route. " 46

*--- Route - Text

IF <wa_delivery>-route IS NOT INITIAL.

READ TABLE it_tvrot ASSIGNING <wa_tvrot> WITH KEY route = <wa_delivery>-route

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-route_text = <wa_tvrot>-bezei.

ENDIF.

ENDIF.

ENDIF.

*--- Sales data

READ TABLE it_sales ASSIGNING <wa_sales> WITH KEY vbeln = <wa_bill>-aubel

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-erdat = <wa_sales>-erdat. " 47

wa_final-bstnk = <wa_sales>-bstnk. " 48

wa_final-bstdk = <wa_sales>-bstdk. " 49

wa_final-kdgrp = <wa_sales>-kdgrp. " 50

IF <wa_sales>-kdgrp IS NOT INITIAL.

READ TABLE it_t151t ASSIGNING <wa_t151t> WITH KEY kdgrp = <wa_t151t>-kdgrp

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-kdgrp_text = <wa_t151t>-ktext.

ENDIF.

ENDIF.

ENDIF.

*--- Ship to party Name

READ TABLE it_vbpa ASSIGNING <wa_vbpa> WITH KEY vbeln = <wa_bill>-aubel

parvw = 'WE'

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-kunnr_ship = <wa_vbpa>-kunnr. " 51

IF <wa_vbpa>-adrnr IS NOT INITIAL.

READ TABLE it_adrc ASSIGNING <wa_adrc> WITH KEY addrnumber = <wa_vbpa>-adrnr

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-ship_name = <wa_adrc>-name1. " 52

wa_final-ship_city = <wa_adrc>-city1. " 53

ENDIF.

ENDIF.

ENDIF.

*--- Transporter's Name

READ TABLE it_vbpa ASSIGNING <wa_vbpa> WITH KEY vbeln = <wa_bill>-aubel

parvw = 'FA'

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-kunnr_trans = <wa_vbpa>-kunnr.

IF <wa_vbpa>-adrnr IS NOT INITIAL.

READ TABLE it_adrc ASSIGNING <wa_adrc> WITH KEY addrnumber = <wa_vbpa>-adrnr

BINARY SEARCH.

IF sy-subrc = 0.

wa_final-trans_name = <wa_adrc>-name1. " 54

ENDIF.

ENDIF.

ENDIF.

*--- Configuration

SELECT SINGLE cuobj

FROM vbap

INTO cuobj

WHERE vbeln EQ <wa_bill>-aubel

AND posnr EQ <wa_bill>-aupos.

IF cuobj IS NOT INITIAL AND <wa_bill>-matnr IS NOT INITIAL.

*--- Sales order Characteristics

CALL FUNCTION 'ME_VAR_GET_CLASSIFICATION'

EXPORTING

i_matnr = <wa_bill>-matnr

  • I_SPRAS =

  • I_EBELP =

i_cuobj = cuobj

  • I_DATE =

  • I_UPTYP =

  • I_LIFNR =

  • I_WERKS =

TABLES

t_conf_out = it_ochar.

*----

LOOP AT it_ochar ASSIGNING <wa_ochar> WHERE atnam = 'V_GRADE'

OR atnam = 'V_LENGTH'.

IF <wa_ochar>-atnam = 'V_GRADE'.

wa_final-egrade = <wa_ochar>-atwrt.

ENDIF.

IF <wa_ochar>-atnam = 'V_LENGTH'.

wa_final-s_length = <wa_ochar>-atwrt.

SPLIT wa_final-s_length AT '.' INTO res1 res2.

SPLIT res1 AT ',' INTO res1 res2.

SPLIT res2 AT ' ' INTO res2 wa_final-s_length.

CONCATENATE res1 res2 INTO wa_final-s_length.

CLEAR : res1,res2.

ENDIF.

ENDLOOP.

ENDIF.

  • READ TABLE it_ochar ASSIGNING <wa_ochar> WITH KEY atnam = 'V_LENGTH'.

  • IF sy-subrc = 0.

  • wa_final-s_length = <wa_ochar>-atwrt.

  • SPLIT wa_final-s_length AT '.' INTO res1 res2.

  • SPLIT res1 AT ',' INTO res1 res2.

  • SPLIT res2 AT ' ' INTO res2 wa_final-s_length.

  • CONCATENATE res1 res2 INTO wa_final-s_length. " 56

  • CLEAR : res1,res2.

  • ENDIF.

**----

  • READ TABLE it_ochar ASSIGNING <wa_ochar> WITH KEY atnam = 'V_GRADE'.

*

  • IF sy-subrc = 0.

  • wa_final-egrade = <wa_ochar>-atwrt.

  • ENDIF.

  • ENDIF.

*---

SELECT SINGLE cuobj_bm

FROM mch1

INTO cuobj_bm

WHERE matnr EQ <wa_bill>-matnr

AND charg EQ <wa_bill>-charg.

*---

IF cuobj_bm IS NOT INITIAL.

SELECT SINGLE klart

objek

obtab

FROM inob

INTO CORRESPONDING FIELDS OF wa_inob

WHERE cuobj EQ cuobj_bm.

ENDIF.

IF wa_inob-klart IS NOT INITIAL AND wa_inob-objek IS NOT INITIAL AND wa_inob-obtab IS NOT INITIAL.

*--- Batch Characteristics

CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'

EXPORTING

  • CLASS = ' '

  • CLASSTEXT = 'X'

classtype = wa_inob-klart

  • CLINT = 0

  • FEATURES = 'X'

language = sy-langu

object = wa_inob-objek

objecttable = wa_inob-obtab

key_date = sy-datum

  • INITIAL_CHARACT = 'X'

  • NO_VALUE_DESCRIPT =

  • CHANGE_SERVICE_CLF = 'X'

  • INHERITED_CHAR = ' '

  • CHANGE_NUMBER = ' '

TABLES

t_class = it_class

t_objectdata = it_clobjdat

  • I_SEL_CHARACTERISTIC =

  • T_NO_AUTH_CHARACT =

EXCEPTIONS

NO_CLASSIFICATION = 1

NO_CLASSTYPES = 2

INVALID_CLASS_TYPE = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

LOOP AT it_clobjdat ASSIGNING <wa_clobjdat> WHERE atnam = 'B_LENGTH'

OR atnam = 'B_QUALITY'

OR atnam = 'B_UTNO'.

IF <wa_clobjdat>-atnam = 'B_LENGTH'.

wa_final-length = <wa_clobjdat>-ausp1 .

SPLIT wa_final-length AT '.' INTO res1 res2.

SPLIT res1 AT ',' INTO res1 res2.

CONCATENATE res1 res2 INTO wa_final-length.

ENDIF.

IF <wa_clobjdat>-atnam = 'B_QUALITY'.

wa_final-quality = <wa_clobjdat>-ausp1 .

ENDIF.

  • IF it_clobjdat-atnam = 'B_UTNO'.

*

  • ENDIF.

ENDLOOP.

ENDIF.

*----

  • READ TABLE it_clobjdat ASSIGNING <wa_clobjdat> WITH KEY atnam = 'B_LENGTH'.

*

  • IF sy-subrc = 0.

  • wa_final-length = <wa_clobjdat>-ausp1.

  • SPLIT wa_final-s_length AT '.' INTO res1 res2.

  • SPLIT res1 AT ',' INTO res1 res2.

  • SPLIT res2 AT ' ' INTO res2 wa_final-s_length.

  • CONCATENATE res1 res2 INTO wa_final-s_length. " 56

  • CLEAR : res1,res2.

  • ENDIF.

**----

  • READ TABLE it_clobjdat ASSIGNING <wa_clobjdat> WITH KEY atnam = 'B_QUALITY'.

*

  • IF sy-subrc = 0.

  • wa_final-quality = <wa_clobjdat>-ausp1 .

  • IF wa_final-quality = '?'.

  • wa_final-quality = ' '.

  • ENDIF.

  • ENDIF.

  • ENDIF.

APPEND wa_final TO it_final.

CLEAR : wa_final,wa_inob,cuobj,cuobj_bm.

ENDLOOP.

SORT it_final BY vbeln posnr.

ENDFORM. " get_data

&----


*& Form prepare_field_catalog

&----


  • text

----


  • <--P_GT_FIELDCAT text

----


FORM prepare_field_catalog.

DATA : v_col TYPE i VALUE 1.

*---

PERFORM append_fcat USING 'VBELN' 'Bill No.' 'VBELN'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'POSNR' 'Item No.' 'POSNR'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'PSTYV' 'Item Category' 'PSTYV'

CHANGING gt_fieldcat

v_col.

  • PERFORM append_fcat USING 'DOCNO' 'Excise IV No.'

  • CHANGING gt_fieldcat

  • v_col.

PERFORM append_fcat USING 'FKART' 'Bill Typ' 'FKART'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'FKART_TEXT' 'Bill Typ Desc' 'VTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'FKDAT' 'Bill Date' 'FKDAT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNAG' 'Ship To Party' 'KUNAG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNAG_NAME' 'Ship To Party Name' 'NAME1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNRG' 'Payer' 'KUNRG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNRG_NAME' 'Payer Name' 'NAME1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'BSTNK' 'PO No.' 'BSTNK'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'BSTDK' 'PO Date' 'BSTDK'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'BUKRS' 'Company Code' 'BUKRS'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'BUKRS_TEXT' 'Company Code Desc' 'BUTXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VKORG' 'Sales Organisation' 'VKORG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VKORG_TEXT' 'Sales Org Desc' 'VTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VTWEG' 'Distribution Chl' 'VTWEG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VTWEG_TEXT' 'Dist Chl Desc' 'VTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'SPART' 'Division' 'SPART'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'SPART_TEXT' 'Division Desc' 'VTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VKBUR' 'Sales Office' 'VKBUR'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'VKBUR_TEXT' 'Sales Off Desc' 'BEZEI'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VKGRP' 'Sales Gp' 'VKGRP'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'VKGRP_TEXT' 'Sales Gp Desc' 'BEZEI'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'WERKS' 'Plant Desc' 'WERKS'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'WERKS_TEXT' 'Plant Desc' 'NAME1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'LGORT' 'Storage Loca' 'LGORT'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'LGORT_TEXT' 'Storage Loca Desc' 'LGOBE'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'MATKL' 'Material Grp' 'MATKL'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'MATKL_TEXT' 'Material Grp Desc' 'WGBEZ'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'MATNR' 'Material' 'MATNR'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'MATNR_TEXT' 'Material Desc' 'MAKTX'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'EGRADE' 'External Grade' 'ATWRT'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'LENGTH' 'Batch Length' 'AUSP1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'S_LENGTH' 'SO Length' 'ATWRT'

CHANGING gt_fieldcat

v_col.

PERFORM append_fcat USING 'QUALITY' 'QUALITY' 'AUSP1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'CHARG' 'Batch' 'CHARG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'FKIMG' 'Quantity' 'FKIMG'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'ZTERM' 'Payment Term' 'ZTERM'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'ZTERM_TEXT' 'Payment Term Desc' 'VTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'WAERK' 'Currency' 'WAERK'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'INCO1' 'Inco Term1' 'INCO1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'INCO2' 'Inco Term2' 'INCO2'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'AUBEL' 'Sales Order No.' 'AUBEL'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'AUPOS' 'Sales Item' 'AUPOS'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'ERDAT' 'SO Date' 'ERDAT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VGBEL' 'DO No.' 'VGBEL'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNNR_SHIP' 'Ship To Party' 'KUNNR'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'SHIP_NAME' 'Ship To Pty Name' 'NAME1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'SHIP_CITY' 'Ship To Pty City' 'CITY1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KUNNR_TRANS' 'Transporter No.' 'KUNNR'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'TRANS_NAME' 'Transporter Name' 'NAME1'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'TRAID' 'Means Of Transport' 'TRAID'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VSART' 'Shipment Type' 'VSART'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'NTGEW' 'Net Wt' 'NTGEW'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'BRGEW' 'TOT Wt' 'BRGEW'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'ROUTE' 'ROUTE' 'ROUTE'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'ROUTE_TEXT' 'ROUTE DESC' 'BEZEI'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KDGRP' 'Customer Grp' 'KDGRP'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'KDGRP_TEXT' 'Customer Grp Desc' 'KTEXT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'REGIO' 'Region' 'REGIO'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'NET_PRICE' 'Net Price' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'LIST_PRICE' 'List Price' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'DISCOUNT' 'Discount' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'EXCISE_DUTY' 'Excise Duty' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'EDU_CESS' 'EDU Cess' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'SALES_TAX' 'Sales Tax' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'VAT' 'VAT' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'SERVICE_TAX' 'Service Tax' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'TOTAL' 'Total' 'KWERT'

CHANGING gt_fieldcat

v_col .

PERFORM append_fcat USING 'FREIGHT' 'FREIGHT' 'KWERT'

CHANGING gt_fieldcat

v_col .

ENDFORM. " prepare_field_catalog

&----


*& Form append_fcat

&----


  • text

----


  • -->P_V_COL text

  • -->P_2121 text

  • -->P_2122 text

  • <--P_GT_FIELDCAT text

----


FORM append_fcat USING p_fieldname TYPE lvc_s_fcat-fieldname

p_text TYPE lvc_s_fcat-scrtext_m

p_ref_field TYPE lvc_s_fcat-ref_field

CHANGING p_gt_fieldcat TYPE lvc_t_fcat

p_v_col TYPE lvc_s_fcat-col_pos.

DATA : ls_fieldcat TYPE lvc_s_fcat.

********

ls_fieldcat-col_pos = p_v_col.

ls_fieldcat-fieldname = p_fieldname.

ls_fieldcat-ref_field = p_ref_field.

ls_fieldcat-scrtext_m = p_text.

APPEND ls_fieldcat TO p_gt_fieldcat.

CLEAR ls_fieldcat.

p_v_col = p_v_col + 1 .

ENDFORM. " append_fcat

&----


*& Form DISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM display .

CALL METHOD gr_alvgrid->set_table_for_first_display

  • EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

it_outtab = it_final[]

it_fieldcatalog = gt_fieldcat[]

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

ENDFORM. " DISPLAY

&----


*& Form LAYOUT

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM layout .

CLEAR gs_layout.

gs_layout-cwidth_opt = 'X'.

ENDFORM. " LAYOUT