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